An intersection has one thing to hand out: time. Every second of green for one direction is a second of red for everyone else. This one runs twice, side by side: the same cars, buses, bikes, people and ambulances arrive at both copies at the same moments, and one copy runs on a fixed timetable while the other responds to what it sees. The switch at the top right only changes which copy you are watching; the numbers always compare the two.
The classic signal runs a timetable: east–west left turns 9 s, east–west 30 s, north–south left turns 7 s, north–south 22 s, each followed by 3 s of yellow and 1.5 s of all-red: an 86-second cycle, every cycle, whether anyone is there or not. It is tuned for average traffic. When traffic is light it makes people wait at empty junctions; when a bus or an ambulance comes, it does not know.
The responsive signal watches its approaches (detector zones, the cyan outlines on the road) and its kerbs. A green lasts at least a minimum, is extended while vehicles keep arriving, and ends when the flow gaps out, when the people waiting elsewhere outweigh the traffic still coming, or at a maximum. Empty phases are skipped. Pedestrians get a walk signal when someone is waiting to cross, even part-way through a green if there is time. Queues are weighed by the people in them and by how long they have waited, so a full bus counts for more than a car.
Transit priority: when a bus checks in about 110 m out, the adaptive signal holds its green up to 10 s longer, or cuts the other phases to their minimum so its green comes early. One bus at a time, and no more than once a minute, so a stream of buses cannot starve the side street. The stop is on the far side of the junction, so the bus never waits at a red to load passengers.
A wave of riders arrives together, the way a group ride or a bike train does. The detectors in the bike lanes see the platoon and keep the green long enough for all of it; the fixed timetable splits it at whatever second the light happens to change.
Emergency preemption: the adaptive signal learns about the ambulance about 260 m out (GPS-based systems work this way). It ends the current phase safely — people already crossing always get their full clearance, then yellow and all-red — and gives the ambulance's direction green early enough for the queue in front of it to move off. Everything else holds until it has passed, then the signal serves whoever has waited longest. On the fixed timetable, drivers still pull over and cross traffic still stops for the siren, but at a red light the ambulance has to stop at the line, as most services require, and then pick its way across at walking pace.
Every vehicle drives by the Intelligent Driver Model, a standard car-following model: it accelerates towards its desired speed, keeps a time gap to the one in front and brakes for red lights, queues and turns. Saturation flow comes out at about 1,900 cars an hour of green per lane, as on real streets. Turning cars give way to people on the crosswalk and to cyclists going straight. Pedestrians walk at 1.25–1.55 m/s and get 14 s to cross 17 m once the walk signal ends (flashing hand, then yellow and all-red). Arrivals are random (Poisson) at rates set by the traffic slider, identical in both copies. Waits are measured, not estimated: each trip's time in the scene minus the time it would take with every light green. The adaptive controller is a simplified actuated controller with transit priority and preemption; real systems (SCOOT, SCATS, InSync and others) also coordinate whole corridors of signals, which a single intersection cannot show.
T fixed or adaptive · 1 bus · 2 cyclists · 3 ambulance · X speed · C cinematic cameras · N labels · R reset the view · / hide the interface · drag to orbit · right-drag to pan · scroll to zoom · WASD to move, Q E to turn.
T
1
2
3
X
C
N
R
/
W
A
S
D
Q
E