namespace MiGu.Server.Configs; public record AvoidanceRule(string Id, string ZoneId, string Rule); public record ZoneSpeedLimit(string ZoneId, double MaxSpeedMps); public record RoutingPolicy( string Algorithm, Dictionary Weights, List Avoidance, List ZoneSpeedLimits) { public static RoutingPolicy Default() => new( Algorithm: "astar", Weights: new Dictionary { ["distance"] = 1.0, ["congestion"] = 0.5, ["turnPenalty"] = 0.2 }, Avoidance: new List { new("AV1", "Z-NORTH", "no-entry-while-loading") }, ZoneSpeedLimits: new List { new("Z-NARROW", 0.5) }); }