mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-23 00:45:53 -05:00
Improves text, removes reference loop
This commit is contained in:
parent
83df1e6b40
commit
d7be8afa24
21
63.md
21
63.md
|
@ -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`.
|
Loading…
Reference in New Issue
Block a user