Navigation state for count vehicles.
ReadonlycornerCorner radius at the start of the current edge (shared with the previous edge).
ReadonlycornerCorner radius at the end of the current edge.
ReadonlyedgeCurrent edge per vehicle (−1 = not placed).
ReadonlyfromNode the vehicle came from (start of its current edge in travel direction).
Ground height for nodes without y.
Drive on the left instead of the right.
Largest corner radius, metres.
ReadonlynextEdge chosen for after the next junction.
ReadonlyprevDirection (x, z) of the previous edge, for the corner just rounded.
ReadonlyroadsThe network.
Seed for turn choices.
ReadonlyuMetres travelled along the current edge.
ReadonlyvisitsJunctions passed (seeds the next choice).
Moves vehicle i forward by ds metres, turning onto chosen edges at junctions.
Length of edge e, metres.
Puts vehicle i at a seeded spot on the network. Returns false if the network has no usable edge.
Drives many vehicles over a road network: each one keeps to its lane, picks a seeded turn at every junction (never a U-turn unless it's a dead end) and rounds corners on a curve instead of snapping. State is in typed arrays, one slot per vehicle.