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,
}
///
/// Result of (NEO-61).
/// is populated when is .
/// is the authoritative snapshot after apply, or the current snapshot on depletion deny; null for unknown node.
///
public readonly record struct ResourceNodeInstanceMutationOutcome(
ResourceNodeInstanceMutationKind Kind,
string? ReasonCode,
ResourceNodeInstanceSnapshot? Snapshot);