-
d95ab2abf1
docs: refresh handoff — promotion fix shipped, both fixes deployed
main
claude (blind_chess)
2026-05-18 21:53:23 -04:00
-
c01244c850
fix: promotion dialog only fires for genuine pawn promotions
claude (blind_chess)
2026-05-18 21:45:42 -04:00
-
5d995eb428
docs: update handoff — deployed, test pass underway, contrast fix pending deploy
claude (blind_chess)
2026-05-18 21:33:46 -04:00
-
d10e581243
fix(client): light outline on dark phantom glyphs for panel contrast
claude (blind_chess)
2026-05-18 21:22:50 -04:00
-
077330054b
docs: table-fidelity batch deployed to both instances
claude (blind_chess)
2026-05-18 21:09:02 -04:00
-
0c0e739bd3
docs: session handoff — table-fidelity batch code-complete
claude (blind_chess)
2026-05-18 21:00:20 -04:00
-
2e808008b1
docs: record table-fidelity feature batch as code-complete
claude (blind_chess)
2026-05-18 20:57:02 -04:00
-
59717b3b5b
docs: amend plan to reflect code-review fixes
claude (blind_chess)
2026-05-18 20:51:37 -04:00
-
82a69d8812
fix(client): key phantom-load effect on gameId, gate the drag ghost
claude (blind_chess)
2026-05-18 20:50:13 -04:00
-
313837eb21
feat(client): wire the phantom opponent-model layer into the game view
claude (blind_chess)
2026-05-18 20:45:40 -04:00
-
816f89be36
feat(client): phantom-piece palette component
claude (blind_chess)
2026-05-18 20:41:43 -04:00
-
c65db03cfa
chore(client): suppress phantom-span a11y warning with documented svelte-ignore
claude (blind_chess)
2026-05-18 20:39:37 -04:00
-
599dc17f44
feat(client): render and drag phantom pieces on the board
claude (blind_chess)
2026-05-18 20:35:58 -04:00
-
4b3e587f6c
fix(client): handle pointercancel and make drag-start idempotent
claude (blind_chess)
2026-05-18 20:32:20 -04:00
-
f52f7dbb8f
feat(client): pointer-event drag controller for the phantom layer
claude (blind_chess)
2026-05-18 20:28:37 -04:00
-
bd98315fe3
fix(client): guard phantom-store mutations against unset game and no-op move
claude (blind_chess)
2026-05-18 20:27:25 -04:00
-
0583984723
feat(client): local-only phantom-layer store
claude (blind_chess)
2026-05-18 20:24:13 -04:00
-
2ae2c8013c
test(shared): cover null-valued entry in deserializePhantoms
claude (blind_chess)
2026-05-18 20:23:17 -04:00
-
a574100e25
feat(shared): pure phantom-model helpers (seed positions, deserialize)
claude (blind_chess)
2026-05-18 20:20:46 -04:00
-
783d85a40c
feat(client): capture-tally panel
claude (blind_chess)
2026-05-18 20:16:18 -04:00
-
3169995d7f
refactor(server): type captureTally accumulators as PieceTally
claude (blind_chess)
2026-05-18 20:14:26 -04:00
-
ce36755a89
feat(server): per-viewer capture tally on joined and update messages
claude (blind_chess)
2026-05-18 20:09:26 -04:00
-
0498f1de43
feat(client): label attempted-move announcements by player
claude (blind_chess)
2026-05-18 20:04:49 -04:00
-
5282237027
refactor(bot): hoist the rejection announcement to a single local
claude (blind_chess)
2026-05-18 20:03:37 -04:00
-
558891ed37
feat(bot): suppress bot retry-search churn from the moderator log
claude (blind_chess)
2026-05-18 20:00:25 -04:00
-
76717cf52e
docs(server): correct translateMove audience docs after the 'both' change
claude (blind_chess)
2026-05-18 19:58:48 -04:00
-
41b3ab93bb
feat(server): moderator announces every move and attempt to both players
claude (blind_chess)
2026-05-18 19:54:34 -04:00
-
be8ecd96b6
docs: implementation plan for table-fidelity feature batch
claude (blind_chess)
2026-05-18 19:17:23 -04:00
-
f8faa11b6d
docs: design spec for table-fidelity feature batch
claude (blind_chess)
2026-05-18 18:52:00 -04:00
-
b01f324c3b
feat(deploy): local chess.local instance for VDJ-RIG
claude (blind_chess)
2026-05-18 18:40:02 -04:00
-
e75f5fff7b
docs: CLAUDE.md current state reflects blind-Casual check fix
claude (blind_chess)
2026-04-29 15:41:42 -04:00
-
04494fcdee
docs: handoff for blind Casual check-resolution fix
claude (blind_chess)
2026-04-29 06:05:21 -04:00
-
f00164ebbb
chore: gitignore tmp/ for self-play transcripts
claude (blind_chess)
2026-04-29 05:56:14 -04:00
-
dc7f8adcdf
fix(bot): blind Casual no longer resigns prematurely under check
claude (blind_chess)
2026-04-29 05:56:02 -04:00
-
1213ec8fb1
docs: handoff reflects final merged state
claude (blind_chess)
2026-04-28 15:25:03 -04:00
-
1674695eef
docs: AI Phase 1 shipped — context, decisions, handoff
feat/ai-player-phase-1-casual
claude (blind_chess)
2026-04-28 15:20:24 -04:00
-
7c18725586
feat(bot): vanilla CasualBrain delegates to js-chess-engine
claude (blind_chess)
2026-04-28 15:14:12 -04:00
-
dc5e6678b9
feat(bot): self-play harness with Casual and random baselines
claude (blind_chess)
2026-04-28 14:52:10 -04:00
-
06bd144f7c
feat(client): AI badge and bot-moving turn indicator
claude (blind_chess)
2026-04-28 14:26:25 -04:00
-
31f68db654
feat(client): two-section landing — friend vs Casual bot
claude (blind_chess)
2026-04-28 14:24:06 -04:00
-
cb8e017792
fix(bot): wire aiOpponent into joined and update server messages
claude (blind_chess)
2026-04-28 14:22:41 -04:00
-
73d5d0cb93
test(bot): integration tests for Casual vs human
claude (blind_chess)
2026-04-28 14:21:27 -04:00
-
88bc23b0d0
fix(bot): harden ws.ts integration seam
claude (blind_chess)
2026-04-28 14:17:46 -04:00
-
a9660c0694
feat(bot): pokeBot + broadcastSinceLast hooks into ws.ts handlers
claude (blind_chess)
2026-04-28 14:13:24 -04:00
-
58e1fc5bd8
feat(bot): POST /api/games instantiates CasualBrain + BotDriver
claude (blind_chess)
2026-04-28 14:10:19 -04:00
-
9a837ec319
feat(bot): vsAi/aiOpponent protocol fields and bot-driver registry
claude (blind_chess)
2026-04-28 14:07:01 -04:00
-
4407110147
fix(bot): finalize game on bot checkmate; harden driver dispatch
claude (blind_chess)
2026-04-28 14:04:22 -04:00
-
3798b9c00d
feat(bot): BotDriver with mutex, retry cap, and dispatch
claude (blind_chess)
2026-04-28 13:56:28 -04:00
-
ebd1463b0a
docs(bot): clarify when scoreMove early-return fires
claude (blind_chess)
2026-04-28 13:52:22 -04:00
-
aa7bc30ee1
feat(bot): CasualBrain with capture/development/center heuristics
claude (blind_chess)
2026-04-28 13:48:34 -04:00
-
f48e0a9cdf
feat(bot): legalCandidates for vanilla and blind modes
claude (blind_chess)
2026-04-28 13:42:37 -04:00
-
bc954f4748
feat(bot): scaffold Brain interface and types
claude (blind_chess)
2026-04-28 13:38:16 -04:00
-
6d457a2321
docs(plan): defer in-game chat, add Phase 1 (Casual) implementation plan
claude (blind_chess)
2026-04-28 13:31:12 -04:00
-
729199097e
docs: log AI-player spec approval, update context, add handoff
claude (blind_chess)
2026-04-28 13:12:04 -04:00
-
288693fcd6
docs(spec): add AI/computer player design spec
claude (blind_chess)
2026-04-28 12:37:48 -04:00
-
a878dee0d9
fix(client): wrap connect/disconnect in untrack() to break effect loop
claude (blind_chess)
2026-04-28 11:32:29 -04:00
-
80c4b8fc50
fix(client): rename stores/game.ts → game.svelte.ts so Svelte 5 runes compile
claude (blind_chess)
2026-04-28 11:22:28 -04:00
-
a6de43edc1
feat: implement and deploy blind_chess MVP
claude (blind_chess)
2026-04-28 11:20:18 -04:00
-
9a5ad55f30
chore: initial scaffold — spec, decisions, gitignore
claude (blind_chess)
2026-04-28 10:53:26 -04:00