Lore & Authoring
How long-form writing is stored so that revealing part of a page to a player never means the server has to read the prose.
Lore is the long-form writing: the history of a kingdom, the biography of a villain, the notes a game master keeps. The hard requirement hiding in it is reveals. A game master wants to show players the first two paragraphs of a character's history and hold the third back. If lore were one opaque blob of rich text, the only way to do that would be for the server to parse the prose and decide what to hide, which is fragile and a security risk the moment the parser is wrong.
Break the page into rows
Chronicler avoids that entirely. Lore is normalised into ordered lore segments, and each segment is a first-class row with its own opaque rich-text body. The author still writes in one editor, which decomposes the document into segment rows when it saves. Because a segment is a row, revealing part of a page is selecting rows, not reading text. A segment sits alongside attributes and relationships as just another revealable aspect, so the server enforces visibility by picking rows and never by understanding what they say.
Notes and threads
Notes and threads are the other side of authoring, and they share the same editor over a rich body that can carry mentions. A note is a sticky filed about things in the graph, a place to jot something down against the resources it concerns. A thread is a named through-line with an ordered spine of beats, and it works out its associated resources from the mentions in its text rather than making the author wire them up. Both are faceted along the same two axes as resources, scope and ownership, so a private note and a shared one are the same kind of thing at different settings.
Where this connects
Lore is filtered by Play, reveals and campaigns, and its mentions point into The graph.
Read the record for the detail
This page is the guide. The full records under docs/adrs carry the segment model, the thread structure, and the alternatives that were weighed and rejected.