namespace NeonSprawl.Server.Game.Crafting; /// /// Server-internal craft resolution envelope (NEO-69); promoted to wire JSON via (NEO-70). /// NEO-71 telemetry hook sites live in (success path + centralized Deny helper). /// public readonly record struct CraftResult( bool Success, string? ReasonCode, /// Scaled inputs removed on success; empty when denied. IReadOnlyList InputsConsumed, /// Scaled outputs added on success; empty when denied. IReadOnlyList OutputsGranted, /// Refine skill XP applied on success; null when denied. CraftXpGrantSummary? XpGrantSummary);