public class SimulationOptions { public const string Section = "Simulation"; /// Master switch. When false, no simulation endpoints or services are registered. public bool Enabled { get; set; } = false; /// Directory containing scenario JSON files. public string ScenarioDirectory { get; set; } = "Scenarios"; /// Base address the runner posts to (the API's own address). public string LoopbackBaseUrl { get; set; } = "http://localhost:5270"; /// Service account the runner authenticates as. public string RunnerUsername { get; set; } = "simulation.runner"; public string RunnerPassword { get; set; } = null!; /// Concurrent scenario runs allowed (Phase 38 ward population needs > 1). public int MaxConcurrentRuns { get; set; } = 8; /// Upper bound on replay speed multiplier requested by a client. public double MaxSpeed { get; set; } = 600; /// Completed runs retained in the in-memory registry. public int RunHistoryLimit { get; set; } = 50; }