Zone
The atom of contended space on a guide path: the unit that is claimed, covered, and released.
A zone is the single most important concept in the subsystem. Every claim, release, block, and wake-up is expressed in zones; a transporter's position is the contiguous run of zones it covers; and every congestion statistic is a statistic about zones. Links and intersections are both made of zones, which is what lets a route be a flat sequence rather than an alternating structure the movement engine would have to special-case.
Zones are created by the network and are geometrically immutable. What holds them is per-replication state, mutated only by the movement engine, which is why every mutator is internal to this package: exclusivity can only be guaranteed if nothing outside can claim, cover, or release a zone.
The type is sealed so that the engine handles every kind of zone exhaustively, and so that adding a third kind later has to be a deliberate, reviewed change rather than a silent fall-through.
Inheritors
Properties
Whom this zone is closing for, or null when it is open to whoever gets there first.
True when something is present without holding the zone.
Whatever holds the zone, or null when it is free.
True when nothing holds the zone.
Whether traffic with business elsewhere has to pass through this zone.
How many things are present in this zone without taking exclusive possession of it.
How many transporters are waiting for this zone.
Multiplies transporter velocity while crossing this zone. Strictly positive.
The transporters waiting for this zone, in the order they began waiting.
Functions
The time for a transporter travelling at the given velocity to cross this zone. Exactly zero for a dimensionless intersection, which schedules a zero-delay event rather than an instantaneous state change, so that the executive keeps the ordering explicit.