using SVSim.BattleNode.Protocol; namespace SVSim.BattleNode.Sessions.Dispatch; /// One routing decision: deliver to . /// Named form of the tuple ComputeFrames historically returned. /// true for control frames (BattleFinish, ack) — bypasses playSeq assignment + archive. internal readonly record struct DispatchRoute(IBattleParticipant Target, MsgEnvelope Frame, bool NoStock);