namespace NeonSprawl.Server.Game.Skills;
/// Result of (NEO-38 / NEO-41 shared path).
public enum SkillProgressionGrantApplyKind
{
/// Structured deny — is populated.
Denied,
/// returned false (e.g. player missing from progression store).
ProgressionStoreMissing,
/// XP applied — is success envelope.
Granted,
}
///
/// Outcome of apply step (NEO-38 / NEO-41 shared path).
/// is deny or success JSON envelope; null only when is .
///
public readonly record struct SkillProgressionGrantApplyOutcome(
SkillProgressionGrantApplyKind Kind,
SkillProgressionGrantResponse? Response);