A table's options and its size are read one way, in spec.ts, by the server, the tally and the replay; a game may seat fewer for some options

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
Eric Wagoner
2026-09-29 12:13:54 -04:00
co-authored by Claude Opus 5.5
parent faa2845e70
commit 6133a2469a
7 changed files with 64 additions and 23 deletions
+5 -1
View File
@@ -99,7 +99,11 @@ README.
- **Table options** are the host's choices when opening a table (a
variant, a side, a length): the game declares them in `GameSpec.options`,
the hall renders them as selects, the room line records them, and
`create` receives them. A game with one way to play declares none.
`create` receives them. A game with one way to play declares none. An
option that changes how many can sit (a smaller map) says so through
`GameSpec.seatsFor`. The server, the tally and the ledger replay all read
a room line through `cleanOptions` and size a table with `tableSize`,
both in `spec.ts`, so each creates the same game from the same ledger.
## The engine