A game may take drafts: an input it does not call settled can be replaced, and the round waits for settled ones
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
6133a2469a
commit
927e49cf79
@@ -123,6 +123,20 @@ README.
|
||||
round resolves; keep the old path behind `state.rules < N` and pin both
|
||||
with tests. A fix that diverges from no ledger ships without a bump.
|
||||
|
||||
## Optional hooks
|
||||
|
||||
A game implements only the hooks it needs; without one, the kit behaves as
|
||||
if it were never there.
|
||||
|
||||
- `validate(state, seat, input)`: a reason to refuse a move, shown to the player.
|
||||
- `seatsFor(options)`: fewer seats for some table options.
|
||||
- `settled(input)`: whether an input is final. A game with drafts answers
|
||||
false until the player says it is done; a draft may be replaced, and the
|
||||
round waits for every seat's settled input.
|
||||
- `tally(state)`: the game's own lines for the tally, from a finished game.
|
||||
- `preferences`, `options`: the preferences panel's settings and the
|
||||
host's table choices (above).
|
||||
|
||||
## The server
|
||||
|
||||
One Node process per game, on its own port, run from source with `tsx` as
|
||||
|
||||
Reference in New Issue
Block a user