gamer147
3c8a00c928
feat(battle-node): TurnEndHandler emits {turnState:0} to opponent only in PvP
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 18:07:44 -04:00
gamer147
6e85a6b2db
feat(battle-node): TurnStartHandler emits {spin:0} to opponent in PvP
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 18:05:15 -04:00
gamer147
6b580c622d
feat(battle-node): EchoHandler consumes Echo instead of relaying
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 18:03:19 -04:00
gamer147
506d286529
feat(battle-node): PlayActionsHandler synthesizes knownList (vanilla deck-card slice)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 17:59:54 -04:00
gamer147
030d3b8057
feat(battle-node): KnownListBuilder pure transforms (knownList synth, target rename)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 17:56:12 -04:00
gamer147
b295fd8f09
feat(battle-node): per-side idx->cardId map on BattleSessionState
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 17:53:32 -04:00
gamer147
503c382646
refactor(battle-node): extract ForwardWhenBothReadyHandler; share handler instances via BuildHandlers
2026-06-03 14:33:26 -04:00
gamer147
db2f711894
refactor(battle-node): extract JudgeHandler
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 14:30:40 -04:00
gamer147
aacd7b56ad
refactor(battle-node): extract TurnStartHandler
...
Unions the two legacy TurnStart arms (IsRealForwardableFromScripted case 11 +
BothAfterReady case 12) into TurnStartHandler. Both arms produce (Other, Env, false)
with no extra guards or state mutations — union is behavior-equivalent.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 14:27:17 -04:00
gamer147
c03fb3c139
refactor(battle-node): extract RetireKillHandler
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 14:24:35 -04:00
gamer147
d35818360f
refactor(battle-node): extract TurnEndFinalHandler
2026-06-03 14:21:54 -04:00
gamer147
538099ff4b
refactor(battle-node): extract TurnEndHandler
2026-06-03 14:20:25 -04:00
gamer147
477faf3df3
refactor(battle-node): extract SwapHandler (mulligan barrier)
2026-06-03 14:13:26 -04:00
gamer147
3e2931b085
refactor(battle-node): extract LoadedHandler
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-03 14:10:33 -04:00
gamer147
e5ec8a0de1
refactor(battle-node): extract InitBattleHandler
2026-06-03 14:07:49 -04:00
gamer147
7c36933c06
refactor(battle-node): extract InitNetworkHandler
2026-06-03 14:04:58 -04:00
gamer147
73d2c4e1b8
refactor(battle-node): add frame-handler contract, context, and empty registry shim
2026-06-03 14:03:11 -04:00
gamer147
4f89463f9c
refactor(battle-node): extract frame factories into BattleFrames
2026-06-03 13:56:41 -04:00
gamer147
85c43a9a72
refactor(battle-node): move session phase + post-swap hands into BattleSessionState
2026-06-03 13:47:35 -04:00
gamer147
95554cee04
refactor(battle-node): name ComputeFrames routes as DispatchRoute
2026-06-03 13:43:39 -04:00