Files
Eric WagonerandClaude Fable 5.1 8366c9d7ff 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>
2026-09-22 16:54:29 -04:00

36 lines
941 B
JSON

{
"name": "waving-hands",
"private": true,
"version": "0.0.1",
"type": "module",
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"prepare": "svelte-kit sync || echo ''",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"test": "vitest run",
"test:watch": "vitest",
"server": "tsx watch server/src/index.ts",
"server:start": "tsx server/src/index.ts",
"check:server": "tsc --noEmit -p server"
},
"devDependencies": {
"@sveltejs/adapter-static": "^3.0.10",
"@sveltejs/kit": "^2.63.0",
"@sveltejs/vite-plugin-svelte": "^7.1.2",
"@types/node": "^26.6.2",
"@types/ws": "^8.18.1",
"svelte": "^5.56.1",
"svelte-check": "^4.6.0",
"tsx": "^4.23.15",
"typescript": "^6.0.3",
"vite": "^8.0.16",
"vitest": "^5.0.1"
},
"dependencies": {
"ws": "^8.21.3"
}
}