What the GM Makes
Gravebind splits the work in two, and the split is the whole design. Get it wrong and you will try to solve a build-time problem at runtime, which does not work.
What the GM does, at runtime
The Game Master runs the crawl. It reads a floor file, moves a pointer, resolves rooms, rolls for monsters, writes to the character sheet, and moves one token across a map it did not draw.
It makes exactly one structural decision per run: which three floors are played, and in what order. That choice is derived arithmetically from a seed word the player supplies, so it is different almost every run and it is not a matter of taste — [ID: RUN]. Everything else about the descent was settled before the session opened.
What the GM does not do
It does not build floors. That used to be its job; the chapter on floors explains why it stopped being one. It does not author a room template, generate an image, invent an item, or write map data. If a run needs a rusted sword, one must already exist as a file — an improvised item cannot be equipped, cannot be computed against, and does not survive the session.
What you make, at build time
Everything it draws on:
- Room templates, each with ten tiles
- Monsters and their numbers
- Items, what they do, and what they are worth
- Room events — traps, water, merchants, and whatever you add next
- Floors — a described place and an authored layout
- Characters, each with its own starting kit
- GM instructions, which are the rules it follows
What neither of you touches
The map. Map data is app-managed metadata reached only through craft map set. The GM has no tool for it and cannot draw a room. Maps are projected from floor data by the CLI, out of band — see the chapter on projecting the map.
Because floors are authored rather than generated, a pushed map is a permanent and correct picture of that floor, not a snapshot of one example layout. That is a change from how this project started, and it is why projection is worth doing carefully now.
The single exception is the delver's token, which the GM moves and nothing else — [ID: TOKN].
Adding content is two steps, not one
Anything you push is available immediately, but nothing appears on its own.
A new room template shows up in play only once some floor's rooms array names it. A new floor enters the pool only once it is listed in the dungeon's floors array. A new monster is only ever met if a room places it.
Forgetting the second step is the most common way to add something no player will ever see. When you finish a piece of content, ask where it is placed, not just whether it exists.
The one rule that keeps this working
Model state, never prose. If a rule needs the GM to remember or update a value, that value belongs in a schema-backed field, not in a sentence. The GM reads files reliably and remembers conversations poorly.
The corollary: never store what can be computed. A character's defense is not written anywhere — it is an expression over their agility and their armour. Change the armour reference and defense follows. Any field beginning with _ is computed, and a write to one is discarded in silence.