using Unity.NetCode;
namespace ProjectM.Simulation
{
///
/// Client → server permanent meta-upgrade purchase: keys the baked meta catalog. The
/// TIER is SERVER-COMPUTED (a purchase always buys owned+1) — putting a tier on the wire would invite
/// desync/cheat. Server-validated (RunInfo.Lifecycle==Staging phase gate, class mask, prereq, MaxTier,
/// Aether affordability) with DR-014 in-loop ledger atomicity so two same-tick purchases on barely-enough Aether
/// cannot both pass. UNCONDITIONAL wire type. Declared at Step 3 (wire front-load); consumed by
/// MetaSpendSystem from Step 13.
///
public struct MetaSpendRequest : IRpcCommand
{
/// Meta-catalog upgrade id (append-only key).
public byte UpgradeId;
}
}