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,
}
/// 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);