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).
/// is populated when is .
/// is the authoritative snapshot after apply, or unchanged snapshot on deny; null when store missing.
///
public readonly record struct PlayerInventoryMutationOutcome(
PlayerInventoryMutationKind Kind,
string? ReasonCode,
PlayerInventorySnapshot? Snapshot);