Adds SessionBattleEngine.PlayedCardSpellboost + PeekPlayedCardSpellboost (pre-resolve read of the acting seat's hand card by Index==playIdx) and a CaptureReplay.InterleavedSends helper. The non-circular capture oracle (engine-derived spellboost vs prod's independent emission to cl2: idx2->1, idx14->2) is added but [Ignore]'d: the headless receive path does not apply the wire's authoritative orderList (Deal/Swap don't seat the mulligan hand, draws follow the seeded deck top instead of the wire move ops, plays never remove the card, alter spellboost never accumulates), so the engine cannot yet DERIVE the count. Closing this needs an Engine/*.cs + VfxMgr-execution logic change (escalation per the N2 playbook), not a mechanical no-op fill. Read surface, node + engine builds, drift, and the rest of the SessionEngine suite are green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.4 KiB
5.4 KiB