Depots are scattered across concentric orbital lanes; debris fields sit between them. Every possible depot-to-depot leg is priced as Euclidean distance + a debris penalty — the penalty is added when a debris field sits close to the straight-line leg, computed as point-to-segment distance:
cost(A,B) = |AB| + Σ max(0, R − distToSegment(debris_i, A, B)) · k
The router first builds a greedy nearest-neighbor tour: starting from the hub, it always jumps to the cheapest unvisited depot. That tour is then handed to a 2-opt local search: it repeatedly tries reversing a stretch of the route and keeps the reversal only if it shortens total cost, until no single swap helps any more (a local optimum). "Improve route" runs one more full 2-opt sweep on demand so you can watch the swap counter and cost drop step by step. The drone then flies the resulting order and the sidebar compares its real cost against a shuffled random-order baseline over the same depots — the percentage saved is not decorative, it's the actual reduction the algorithm found.
- Numbered depots — visit order chosen by the current algorithm.
- Amber corridor — the planned route; a leg brushing a debris field is drawn thinner/dimmer since it costs more.
- Debris fields — drift slowly; costs are recomputed on every new mission or route rebuild, not per frame.