A duel server: rooms, seat tokens, ledgers, and resolution when all have moved

Plain HTTP for actions and a websocket that only says "fetch again". A
room is its append-only ledger replayed from the top; the engine is
deterministic given the seed and the recorded inputs. Each seat sees a
view filtered to what the rules let it know. Bot seats are filled at
resolution time.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Eric WagonerandClaude Fable 5.1 committed 2026-09-22 16:54:29 -04:00
1 parent 95a1915cae
commit 8366c9d7ff
11 files changed
+1024 -4

No files matched your search

+3
View File
@@ -20,3 +20,6 @@ vite.config.ts.timestamp-*
# Playwright MCP output
.playwright-mcp
# Duel ledgers written by the server
/data