namespace NeonSprawl.Server.Game.Items; /// Result of or (NEO-54). public enum PlayerInventoryMutationKind { /// Validation or rules deny — inventory unchanged. Denied, /// could not read or write the player bucket. StoreMissing, /// Mutation applied and persisted. Applied, } /// Result of or (NEO-54). /// Applied, denied, or store missing. /// Populated when is . /// Authoritative snapshot after apply, or unchanged snapshot on deny; null when store missing. public readonly record struct PlayerInventoryMutationOutcome( PlayerInventoryMutationKind Kind, string? ReasonCode, PlayerInventorySnapshot? Snapshot);