using Unity.NetCode; namespace ProjectM.Simulation { /// /// Client → server: pick the player's class at base. Server honors it ONLY in RunInfo.Lifecycle==Staging /// and applies the FULL swap via (class seeds + permanent-meta re-sync + AbilityRef + /// cooldown reset + heal/clamp) — a partial swap would mis-set the meta record + Max HP (DR-046 review). The class /// is server-authoritative + re-validated, so a forged/stale request is simply dropped. UNCONDITIONAL wire type. /// public struct ClassSelectRequest : IRpcCommand { /// Requested class id (0/unknown → Bathynaut via ClassTraits.Normalize). public byte ClassId; } }