namespace NeonSprawl.Server.Game.Gathering;
/// Result of (NEO-61).
public enum ResourceNodeInstanceMutationKind
{
/// Validation or depletion deny — capacity unchanged when already depleted.
Denied,
/// Decrement applied and persisted.
Applied,
}
/// Populated when is .
/// Authoritative snapshot after apply, or current snapshot on depletion deny; null for unknown node.
public readonly record struct ResourceNodeInstanceMutationOutcome(
ResourceNodeInstanceMutationKind Kind,
string? ReasonCode,
ResourceNodeInstanceSnapshot? Snapshot);