namespace SVSim.Database.Services;
///
/// Read-only access to game-domain configuration. Resolves each section atomically through the
/// tier chain: DB row in GameConfigs → appsettings.json section
/// "GameConfig:<SectionName>" → T.ShippedDefaults() → new T().
///
/// "Atomic" means: the first tier that has the section wins entirely; tiers are not merged
/// per-property. This is deliberate — see 2026-05-24 config refactor discussion. Caching is
/// not implemented today (scoped lifetime; one DB read per request); the interface is shaped
/// to allow it to be added later without changing call sites.
///
///
public interface IGameConfigService
{
///
/// Resolves the section identified by 's
/// ConfigSectionAttribute. Throws if the type is not annotated.
///
T Get() where T : class, new();
}