Spaces:
Runtime error
Runtime error
| { | |
| "id": "circuit_alpha", | |
| "name": "Circuit Alpha", | |
| "subtitle": "Fictional Grand Prix venue · controlled stress test", | |
| "kind": "fictional", | |
| "description": "A fictional but realistically proportioned Grand Prix venue used to prove the FlowTwin engine end to end. Four perimeter exits, six spectator zones, a full concourse ring, three concession clusters and two transport interfaces.", | |
| "warning_density": 1.8, | |
| "critical_density": 2.8, | |
| "nodes": [ | |
| { | |
| "id": "GS_MAIN", | |
| "name": "Main Grandstand", | |
| "type": "grandstand", | |
| "x": 512, | |
| "y": 222, | |
| "area_m2": 9200, | |
| "holding_capacity": 13000, | |
| "short_label": "MAIN" | |
| }, | |
| { | |
| "id": "GS_NORTH", | |
| "name": "North Grandstand", | |
| "type": "grandstand", | |
| "x": 262, | |
| "y": 250, | |
| "area_m2": 5200, | |
| "holding_capacity": 6500, | |
| "short_label": "NORTH" | |
| }, | |
| { | |
| "id": "GS_TURN1", | |
| "name": "Turn 1 Grandstand", | |
| "type": "grandstand", | |
| "x": 862, | |
| "y": 262, | |
| "area_m2": 5600, | |
| "holding_capacity": 7000, | |
| "short_label": "TURN 1" | |
| }, | |
| { | |
| "id": "GS_EAST", | |
| "name": "East Grandstand", | |
| "type": "grandstand", | |
| "x": 968, | |
| "y": 468, | |
| "area_m2": 6100, | |
| "holding_capacity": 7500, | |
| "short_label": "EAST" | |
| }, | |
| { | |
| "id": "GS_SOUTH", | |
| "name": "South Grandstand", | |
| "type": "grandstand", | |
| "x": 612, | |
| "y": 686, | |
| "area_m2": 5800, | |
| "holding_capacity": 7000, | |
| "short_label": "SOUTH" | |
| }, | |
| { | |
| "id": "GA_WEST", | |
| "name": "West General Admission", | |
| "type": "general_admission", | |
| "x": 160, | |
| "y": 470, | |
| "area_m2": 7400, | |
| "holding_capacity": 8000, | |
| "short_label": "GA WEST" | |
| }, | |
| { | |
| "id": "CON_NORTH", | |
| "name": "North Concourse", | |
| "type": "concourse", | |
| "x": 380, | |
| "y": 150, | |
| "area_m2": 3400, | |
| "short_label": "N CONCOURSE" | |
| }, | |
| { | |
| "id": "PLAZA_MAIN", | |
| "name": "Main Plaza", | |
| "type": "concourse", | |
| "x": 616, | |
| "y": 128, | |
| "area_m2": 5200, | |
| "short_label": "MAIN PLAZA" | |
| }, | |
| { | |
| "id": "CON_NE", | |
| "name": "North-East Concourse", | |
| "type": "concourse", | |
| "x": 866, | |
| "y": 156, | |
| "area_m2": 2900, | |
| "short_label": "NE CONCOURSE" | |
| }, | |
| { | |
| "id": "CON_EAST", | |
| "name": "East Concourse", | |
| "type": "concourse", | |
| "x": 1074, | |
| "y": 386, | |
| "area_m2": 3100, | |
| "short_label": "E CONCOURSE" | |
| }, | |
| { | |
| "id": "CON_SE", | |
| "name": "South-East Concourse", | |
| "type": "concourse", | |
| "x": 856, | |
| "y": 748, | |
| "area_m2": 2800, | |
| "short_label": "SE CONCOURSE" | |
| }, | |
| { | |
| "id": "CON_SOUTH", | |
| "name": "South Concourse", | |
| "type": "concourse", | |
| "x": 470, | |
| "y": 800, | |
| "area_m2": 3000, | |
| "short_label": "S CONCOURSE" | |
| }, | |
| { | |
| "id": "CON_WEST", | |
| "name": "West Concourse", | |
| "type": "concourse", | |
| "x": 120, | |
| "y": 640, | |
| "area_m2": 2700, | |
| "short_label": "W CONCOURSE" | |
| }, | |
| { | |
| "id": "CON_NW", | |
| "name": "North-West Concourse", | |
| "type": "concourse", | |
| "x": 106, | |
| "y": 268, | |
| "area_m2": 2600, | |
| "short_label": "NW CONCOURSE" | |
| }, | |
| { | |
| "id": "CONC_NORTH", | |
| "name": "North Fan Zone", | |
| "type": "concession", | |
| "x": 742, | |
| "y": 82, | |
| "area_m2": 1900, | |
| "short_label": "FAN ZONE N" | |
| }, | |
| { | |
| "id": "CONC_EAST", | |
| "name": "East Concessions", | |
| "type": "concession", | |
| "x": 1136, | |
| "y": 244, | |
| "area_m2": 1500, | |
| "short_label": "CONC E" | |
| }, | |
| { | |
| "id": "CONC_SOUTH", | |
| "name": "South Concessions", | |
| "type": "concession", | |
| "x": 646, | |
| "y": 856, | |
| "area_m2": 1600, | |
| "short_label": "CONC S" | |
| }, | |
| { | |
| "id": "GATE_A", | |
| "name": "Gate A", | |
| "type": "gate", | |
| "x": 236, | |
| "y": 64, | |
| "service_rate_ppm": 1400, | |
| "short_label": "GATE A" | |
| }, | |
| { | |
| "id": "GATE_B", | |
| "name": "Gate B", | |
| "type": "gate", | |
| "x": 1150, | |
| "y": 118, | |
| "service_rate_ppm": 1200, | |
| "short_label": "GATE B" | |
| }, | |
| { | |
| "id": "GATE_C", | |
| "name": "Gate C", | |
| "type": "gate", | |
| "x": 1054, | |
| "y": 830, | |
| "service_rate_ppm": 1100, | |
| "short_label": "GATE C" | |
| }, | |
| { | |
| "id": "GATE_D", | |
| "name": "Gate D", | |
| "type": "gate", | |
| "x": 122, | |
| "y": 838, | |
| "service_rate_ppm": 1000, | |
| "short_label": "GATE D" | |
| }, | |
| { | |
| "id": "EXIT_A", | |
| "name": "Exit A · North", | |
| "type": "exit", | |
| "x": 352, | |
| "y": 60, | |
| "area_m2": 900, | |
| "service_rate_ppm": 1800, | |
| "short_label": "EXIT A" | |
| }, | |
| { | |
| "id": "EXIT_B", | |
| "name": "Exit B · East", | |
| "type": "exit", | |
| "x": 1188, | |
| "y": 396, | |
| "area_m2": 760, | |
| "service_rate_ppm": 760, | |
| "short_label": "EXIT B", | |
| "note": "Primary route to the coach and shuttle interchange." | |
| }, | |
| { | |
| "id": "EXIT_C", | |
| "name": "Exit C · South", | |
| "type": "exit", | |
| "x": 900, | |
| "y": 856, | |
| "area_m2": 820, | |
| "service_rate_ppm": 1400, | |
| "short_label": "EXIT C" | |
| }, | |
| { | |
| "id": "EXIT_D", | |
| "name": "Exit D · West", | |
| "type": "exit", | |
| "x": 58, | |
| "y": 726, | |
| "area_m2": 700, | |
| "service_rate_ppm": 700, | |
| "short_label": "EXIT D" | |
| }, | |
| { | |
| "id": "TRANSPORT_RAIL", | |
| "name": "Rail Interchange", | |
| "type": "transport", | |
| "x": 470, | |
| "y": 20, | |
| "service_rate_ppm": 1500, | |
| "short_label": "RAIL", | |
| "area_m2": 4200 | |
| }, | |
| { | |
| "id": "TRANSPORT_BUS", | |
| "name": "Coach & Shuttle Interchange", | |
| "type": "transport", | |
| "x": 1320, | |
| "y": 470, | |
| "service_rate_ppm": 1700, | |
| "short_label": "COACH", | |
| "area_m2": 3800 | |
| }, | |
| { | |
| "id": "PARK_NORTH", | |
| "name": "North Car Park", | |
| "type": "parking", | |
| "x": 118, | |
| "y": 44, | |
| "service_rate_ppm": 1100, | |
| "short_label": "P NORTH", | |
| "area_m2": 5000 | |
| }, | |
| { | |
| "id": "PARK_SOUTH", | |
| "name": "South Car Park", | |
| "type": "parking", | |
| "x": 700, | |
| "y": 900, | |
| "service_rate_ppm": 1100, | |
| "short_label": "P SOUTH", | |
| "area_m2": 5200 | |
| } | |
| ], | |
| "edges": [ | |
| { | |
| "id": "C1_NW_N", | |
| "source": "CON_NW", | |
| "target": "CON_NORTH", | |
| "length_m": 354.5, | |
| "width_m": 11.0, | |
| "capacity_ppm": 770.0, | |
| "kind": "concourse", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 190, | |
| 128 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "C2_N_PLAZA", | |
| "source": "CON_NORTH", | |
| "target": "PLAZA_MAIN", | |
| "length_m": 237.0, | |
| "width_m": 13.0, | |
| "capacity_ppm": 910.0, | |
| "kind": "concourse", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "C3_PLAZA_NE", | |
| "source": "PLAZA_MAIN", | |
| "target": "CON_NE", | |
| "length_m": 251.6, | |
| "width_m": 11.0, | |
| "capacity_ppm": 770.0, | |
| "kind": "concourse", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "C4_NE_E", | |
| "source": "CON_NE", | |
| "target": "CON_EAST", | |
| "length_m": 365.2, | |
| "width_m": 12.0, | |
| "capacity_ppm": 840.0, | |
| "kind": "concourse", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 1050, | |
| 216 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "C5_E_SE", | |
| "source": "CON_EAST", | |
| "target": "CON_SE", | |
| "length_m": 470.6, | |
| "width_m": 11.0, | |
| "capacity_ppm": 770.0, | |
| "kind": "concourse", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 1044, | |
| 636 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "C6_SE_S", | |
| "source": "CON_SE", | |
| "target": "CON_SOUTH", | |
| "length_m": 397.2, | |
| "width_m": 10.0, | |
| "capacity_ppm": 700.0, | |
| "kind": "concourse", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 672, | |
| 812 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "C7_S_W", | |
| "source": "CON_SOUTH", | |
| "target": "CON_WEST", | |
| "length_m": 406.7, | |
| "width_m": 9.0, | |
| "capacity_ppm": 630.0, | |
| "kind": "concourse", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 268, | |
| 780 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "C8_W_NW", | |
| "source": "CON_WEST", | |
| "target": "CON_NW", | |
| "length_m": 382.0, | |
| "width_m": 9.0, | |
| "capacity_ppm": 630.0, | |
| "kind": "concourse", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 70, | |
| 448 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "A_MAIN_PLAZA", | |
| "source": "GS_MAIN", | |
| "target": "PLAZA_MAIN", | |
| "length_m": 140.2, | |
| "width_m": 16.0, | |
| "capacity_ppm": 1120.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "A_MAIN_NORTH", | |
| "source": "GS_MAIN", | |
| "target": "CON_NORTH", | |
| "length_m": 150.4, | |
| "width_m": 12.0, | |
| "capacity_ppm": 840.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "A_NORTH_CON", | |
| "source": "GS_NORTH", | |
| "target": "CON_NORTH", | |
| "length_m": 154.7, | |
| "width_m": 11.0, | |
| "capacity_ppm": 770.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "A_NORTH_NW", | |
| "source": "GS_NORTH", | |
| "target": "CON_NW", | |
| "length_m": 157.0, | |
| "width_m": 10.0, | |
| "capacity_ppm": 700.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "A_TURN1_NE", | |
| "source": "GS_TURN1", | |
| "target": "CON_NE", | |
| "length_m": 106.1, | |
| "width_m": 11.0, | |
| "capacity_ppm": 770.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "A_TURN1_PLAZA", | |
| "source": "GS_TURN1", | |
| "target": "PLAZA_MAIN", | |
| "length_m": 282.4, | |
| "width_m": 9.0, | |
| "capacity_ppm": 630.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 760, | |
| 186 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "A_EAST_CON", | |
| "source": "GS_EAST", | |
| "target": "CON_EAST", | |
| "length_m": 134.0, | |
| "width_m": 12.0, | |
| "capacity_ppm": 840.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "A_EAST_NE", | |
| "source": "GS_EAST", | |
| "target": "CON_NE", | |
| "length_m": 350.7, | |
| "width_m": 8.0, | |
| "capacity_ppm": 560.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 978, | |
| 300 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "A_EAST_SE", | |
| "source": "GS_EAST", | |
| "target": "CON_SE", | |
| "length_m": 309.2, | |
| "width_m": 7.0, | |
| "capacity_ppm": 490.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 944, | |
| 620 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "A_SOUTH_SE", | |
| "source": "GS_SOUTH", | |
| "target": "CON_SE", | |
| "length_m": 251.8, | |
| "width_m": 11.0, | |
| "capacity_ppm": 770.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "A_SOUTH_S", | |
| "source": "GS_SOUTH", | |
| "target": "CON_SOUTH", | |
| "length_m": 182.1, | |
| "width_m": 9.0, | |
| "capacity_ppm": 630.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "A_GAWEST_W", | |
| "source": "GA_WEST", | |
| "target": "CON_WEST", | |
| "length_m": 174.6, | |
| "width_m": 12.0, | |
| "capacity_ppm": 840.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "A_GAWEST_NW", | |
| "source": "GA_WEST", | |
| "target": "CON_NW", | |
| "length_m": 209.1, | |
| "width_m": 10.0, | |
| "capacity_ppm": 700.0, | |
| "kind": "ramp", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "S_CONC_N", | |
| "source": "PLAZA_MAIN", | |
| "target": "CONC_NORTH", | |
| "length_m": 134.1, | |
| "width_m": 6.0, | |
| "capacity_ppm": 420.0, | |
| "kind": "access", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "S_CONC_N2", | |
| "source": "CONC_NORTH", | |
| "target": "CON_NE", | |
| "length_m": 144.4, | |
| "width_m": 6.0, | |
| "capacity_ppm": 420.0, | |
| "kind": "access", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "S_CONC_E", | |
| "source": "CON_EAST", | |
| "target": "CONC_EAST", | |
| "length_m": 154.9, | |
| "width_m": 5.5, | |
| "capacity_ppm": 385.0, | |
| "kind": "access", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "S_CONC_E2", | |
| "source": "CONC_EAST", | |
| "target": "CON_NE", | |
| "length_m": 284.0, | |
| "width_m": 5.5, | |
| "capacity_ppm": 385.0, | |
| "kind": "access", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "S_CONC_S", | |
| "source": "CON_SOUTH", | |
| "target": "CONC_SOUTH", | |
| "length_m": 184.7, | |
| "width_m": 5.5, | |
| "capacity_ppm": 385.0, | |
| "kind": "access", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "S_CONC_S2", | |
| "source": "CONC_SOUTH", | |
| "target": "CON_SE", | |
| "length_m": 236.1, | |
| "width_m": 5.5, | |
| "capacity_ppm": 385.0, | |
| "kind": "access", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "X_N_EXITA", | |
| "source": "CON_NORTH", | |
| "target": "EXIT_A", | |
| "length_m": 94.3, | |
| "width_m": 26.0, | |
| "capacity_ppm": 1820.0, | |
| "kind": "gate_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "X_E_EXITB", | |
| "source": "CON_EAST", | |
| "target": "EXIT_B", | |
| "length_m": 114.4, | |
| "width_m": 11.0, | |
| "capacity_ppm": 770.0, | |
| "kind": "gate_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "X_SE_EXITC", | |
| "source": "CON_SE", | |
| "target": "EXIT_C", | |
| "length_m": 116.6, | |
| "width_m": 21.0, | |
| "capacity_ppm": 1470.0, | |
| "kind": "gate_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "X_W_EXITD", | |
| "source": "CON_WEST", | |
| "target": "EXIT_D", | |
| "length_m": 106.0, | |
| "width_m": 11.0, | |
| "capacity_ppm": 770.0, | |
| "kind": "gate_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "G_GATEA", | |
| "source": "GATE_A", | |
| "target": "CON_NORTH", | |
| "length_m": 167.7, | |
| "width_m": 9.0, | |
| "capacity_ppm": 630.0, | |
| "kind": "gate_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "G_GATEB", | |
| "source": "GATE_B", | |
| "target": "CON_NE", | |
| "length_m": 286.5, | |
| "width_m": 8.0, | |
| "capacity_ppm": 560.0, | |
| "kind": "gate_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "G_GATEC", | |
| "source": "GATE_C", | |
| "target": "CON_SE", | |
| "length_m": 214.3, | |
| "width_m": 8.0, | |
| "capacity_ppm": 560.0, | |
| "kind": "gate_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "G_GATED", | |
| "source": "GATE_D", | |
| "target": "CON_WEST", | |
| "length_m": 198.0, | |
| "width_m": 8.0, | |
| "capacity_ppm": 560.0, | |
| "kind": "gate_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "T_EXITA_RAIL", | |
| "source": "EXIT_A", | |
| "target": "TRANSPORT_RAIL", | |
| "length_m": 124.6, | |
| "width_m": 21.0, | |
| "capacity_ppm": 1470.0, | |
| "kind": "transport_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "T_EXITA_PARKN", | |
| "source": "EXIT_A", | |
| "target": "PARK_NORTH", | |
| "length_m": 234.5, | |
| "width_m": 12.0, | |
| "capacity_ppm": 840.0, | |
| "kind": "transport_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "T_EXITB_BUS", | |
| "source": "EXIT_B", | |
| "target": "TRANSPORT_BUS", | |
| "length_m": 151.3, | |
| "width_m": 16.0, | |
| "capacity_ppm": 1120.0, | |
| "kind": "transport_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "T_EXITC_BUS", | |
| "source": "EXIT_C", | |
| "target": "TRANSPORT_BUS", | |
| "length_m": 621.5, | |
| "width_m": 12.0, | |
| "capacity_ppm": 840.0, | |
| "kind": "transport_link", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 1130, | |
| 780 | |
| ], | |
| [ | |
| 1290, | |
| 620 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "T_EXITC_PARKS", | |
| "source": "EXIT_C", | |
| "target": "PARK_SOUTH", | |
| "length_m": 204.8, | |
| "width_m": 12.0, | |
| "capacity_ppm": 840.0, | |
| "kind": "transport_link", | |
| "bidirectional": true, | |
| "via": [] | |
| }, | |
| { | |
| "id": "T_EXITD_PARKN", | |
| "source": "EXIT_D", | |
| "target": "PARK_NORTH", | |
| "length_m": 707.6, | |
| "width_m": 9.0, | |
| "capacity_ppm": 630.0, | |
| "kind": "transport_link", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 30, | |
| 380 | |
| ], | |
| [ | |
| 54, | |
| 120 | |
| ] | |
| ] | |
| }, | |
| { | |
| "id": "T_EXITD_PARKS", | |
| "source": "EXIT_D", | |
| "target": "PARK_SOUTH", | |
| "length_m": 726.2, | |
| "width_m": 9.0, | |
| "capacity_ppm": 630.0, | |
| "kind": "transport_link", | |
| "bidirectional": true, | |
| "via": [ | |
| [ | |
| 180, | |
| 890 | |
| ], | |
| [ | |
| 430, | |
| 916 | |
| ] | |
| ] | |
| } | |
| ], | |
| "landmarks": [ | |
| { | |
| "id": "track_outer", | |
| "kind": "track", | |
| "points": [ | |
| [ | |
| 300, | |
| 320 | |
| ], | |
| [ | |
| 770, | |
| 318 | |
| ], | |
| [ | |
| 868, | |
| 352 | |
| ], | |
| [ | |
| 908, | |
| 428 | |
| ], | |
| [ | |
| 886, | |
| 508 | |
| ], | |
| [ | |
| 804, | |
| 552 | |
| ], | |
| [ | |
| 648, | |
| 566 | |
| ], | |
| [ | |
| 568, | |
| 606 | |
| ], | |
| [ | |
| 528, | |
| 664 | |
| ], | |
| [ | |
| 446, | |
| 686 | |
| ], | |
| [ | |
| 362, | |
| 654 | |
| ], | |
| [ | |
| 302, | |
| 584 | |
| ], | |
| [ | |
| 262, | |
| 486 | |
| ], | |
| [ | |
| 246, | |
| 396 | |
| ], | |
| [ | |
| 300, | |
| 320 | |
| ] | |
| ], | |
| "label": "Circuit Alpha", | |
| "closed": true | |
| }, | |
| { | |
| "id": "track_inner", | |
| "kind": "infield", | |
| "points": [ | |
| [ | |
| 330, | |
| 358 | |
| ], | |
| [ | |
| 752, | |
| 356 | |
| ], | |
| [ | |
| 830, | |
| 382 | |
| ], | |
| [ | |
| 862, | |
| 430 | |
| ], | |
| [ | |
| 846, | |
| 484 | |
| ], | |
| [ | |
| 782, | |
| 516 | |
| ], | |
| [ | |
| 632, | |
| 530 | |
| ], | |
| [ | |
| 546, | |
| 574 | |
| ], | |
| [ | |
| 508, | |
| 630 | |
| ], | |
| [ | |
| 452, | |
| 646 | |
| ], | |
| [ | |
| 390, | |
| 620 | |
| ], | |
| [ | |
| 342, | |
| 566 | |
| ], | |
| [ | |
| 306, | |
| 482 | |
| ], | |
| [ | |
| 292, | |
| 404 | |
| ], | |
| [ | |
| 330, | |
| 358 | |
| ] | |
| ], | |
| "label": "", | |
| "closed": true | |
| }, | |
| { | |
| "id": "pit_lane", | |
| "kind": "building", | |
| "points": [ | |
| [ | |
| 330, | |
| 300 | |
| ], | |
| [ | |
| 700, | |
| 299 | |
| ], | |
| [ | |
| 700, | |
| 316 | |
| ], | |
| [ | |
| 330, | |
| 317 | |
| ] | |
| ], | |
| "label": "PIT LANE", | |
| "closed": true | |
| }, | |
| { | |
| "id": "start_line", | |
| "kind": "label", | |
| "points": [ | |
| [ | |
| 500, | |
| 300 | |
| ], | |
| [ | |
| 500, | |
| 320 | |
| ] | |
| ], | |
| "label": "S/F", | |
| "closed": false | |
| } | |
| ], | |
| "phases": [ | |
| { | |
| "id": "pre_race", | |
| "name": "Pre-race", | |
| "start_s": 0, | |
| "end_s": 0, | |
| "description": "Spectators seated, network idle." | |
| }, | |
| { | |
| "id": "egress", | |
| "name": "Post-race egress", | |
| "start_s": 0, | |
| "end_s": 1500, | |
| "description": "Chequered flag: mass departure begins." | |
| }, | |
| { | |
| "id": "dispersal", | |
| "name": "Dispersal", | |
| "start_s": 1500, | |
| "end_s": null, | |
| "description": "Tail of the crowd clearing the network." | |
| } | |
| ] | |
| } |