Improves text, removes reference loop

This commit is contained in:
Vitor Pamplona 2024-11-25 15:57:56 -05:00
parent 83df1e6b40
commit d7be8afa24

21
63.md
View File

@ -1,18 +1,20 @@
NIP-63 NIP-63
====== ======
Build Your Own Story Build Your Own Adventure
-------------------- ------------------------
`draft` `optional` `draft` `optional`
This NIP defines `kind:296` and `kind:297` as text notes with options to navigate to the next text notes and continue reading. Kind `296` serves as the root story and `297` for the sections of that story. This NIP introduces `kind:296` and `kind:297` as text-based notes designed to create interactive stories. These notes include options for navigating to subsequent notes, allowing readers to continue exploring the story. `Kind:296` serves as the root event for the story, while `kind:297` represents individual scenes within the narrative.
The idea is to replicate the dynamism of build your own adventure books, where each reader takes their own journey in the story. The idea is to emulate "choose your own adventure" books, where each reader's journey through the story is unique.
Story Section events contain an optional `title` tag and `option` tags for the next sections. Story events can include an optional `title` tag and multiple `option` tags that point to the next possible scenes.
Clients SHOULD render options in a way that users can select and move to that post. Clients SHOULD render the options in a way that allows users to select and seamlessly navigate to the corresponding posts.
### Example for kind:296 (Root Scene)
```jsonc ```jsonc
{ {
@ -28,6 +30,8 @@ Clients SHOULD render options in a way that users can select and move to that po
} }
``` ```
### Example for kind:297 (Scene)
```jsonc ```jsonc
{ {
"kind": 297, "kind": 297,
@ -35,7 +39,6 @@ Clients SHOULD render options in a way that users can select and move to that po
"tags": [ "tags": [
["title", "<short title for this part of the story>"], ["title", "<short title for this part of the story>"],
["e", "<event_id>", "<relay_hint>" ] // root event.
["option", "<description>", "<event_id>", "<relay_hint>"], ["option", "<description>", "<event_id>", "<relay_hint>"],
["option", "<description>", "<event_id>", "<relay_hint>"], ["option", "<description>", "<event_id>", "<relay_hint>"],
// ... // ...
@ -43,6 +46,6 @@ Clients SHOULD render options in a way that users can select and move to that po
} }
``` ```
The story ends when there are no `option`s available. The story concludes when no `option` tags are present.
`.content` SHOULD use the same formatting rules as `kind:1` The `.content` field SHOULD follow the same formatting rules as `kind:1`.