using SVSim.BattleNode.Protocol; namespace SVSim.BattleNode.Sessions.Dispatch; /// One generated-token identity mined from a sender's orderList add op: /// the token's in a side's index space, its resolved /// , and — whose map it belongs to (the /// sender's own token vs a cross-side gift living in the opponent's index space; routed by /// ). Replaces the transpose-prone /// (int Idx, long CardId, CardOwner IsSelf) tuple the Mine* methods returned: /// Idx and CardId are both numeric, so (cardId, idx, …) silently compiled /// and corrupted the reveal map. As a positional record struct it keeps the named members and /// positional deconstruct (call sites stay foreach (var (idx, cardId, isSelf) in …)) /// while the compiler rejects a transposed construction. internal readonly record struct MinedToken(int Idx, long CardId, CardOwner IsSelf);