namespace NeonSprawl.Server.Game.AbilityInput; /// Persistence abstraction for per-player hotbar bindings (NEO-29). public interface IPlayerHotbarLoadoutStore { bool TryGetBindings(string playerId, out IReadOnlyDictionary bindings); bool TryUpsertBindings(string playerId, IReadOnlyList updates, out IReadOnlyDictionary bindings); } public readonly record struct HotbarSlotBinding(int SlotIndex, string AbilityId);