Everything cached across frames of one route gesture while only the cursor
moves. The graph (obstacles + existing routes + start + waypoints) and the
fixed start โ โฆ โ last waypoint legs are both invariant until a waypoint is
added, so both are computed once. Keyed by start + waypoint count.
Where an in-progress route proposes to end. An existing pin resolves to its
anchor directly; a free slotโs marker names the block and slot where the pin
will be reconstructed at commit time, along with its prospective connection
point.
Route an in-progress route (start โ each waypoint โ end) against a freshly
built closed router, seeding the endpoints and waypoints so they are graph
nodes. Used at commit time, where the exact final geometry (and the routeโs own
occupancy) matters. The live preview instead routes against a cached router
(see RouteTool::preview_route).