Create a new intersection signal controller.
junction ID
distinct entry-group keys this intersection serves
accessor for the current simulation config
Optional helper: if you want vehicles to be allowed on AMBER (some sims do), keep using isGreen() for strict behaviour. If you want "treat AMBER as proceed if already close", handle that in VehicleManager.
string key identifying a specific lane
true if the entry is permitted
Return the lane key of the currently-green approach, or null if none.
the currently-green lane key, or null if none
Returns the UK-style light colour state for a given approach laneKey. Use this to drive ThickLine colours:
string key identifying a specific lane
the signal colour string
Return the current signal phase.
a human-readable state summary
True only during GREEN phase for the currently-served approach.
string key identifying a specific lane
true when no vehicles are circulating
Advance the signal timer by dt seconds and transition states as needed.
time delta in seconds since last frame
UK-style traffic signal controller. Cycles through approaches using RED → RED_AMBER → GREEN → AMBER → ALL_RED.