Elastic Route Smoothing
"/home/yossef/notes/git/projects/maplibra/decisions/Elastic Route Smoothing.md"
path: maplibra/decisions/Elastic Route Smoothing.md
- **fileName**: Elastic Route Smoothing
- **Created on**: 2026-06-16 00:48:42
Elastic Route Smoothing
Purpose: Explain why route smoothing now moves remaining graph points toward safe straight chords after full direct shortcuts fail.
This decision is documented in ../modules/Route Smoothing.md under Stage 0: Elastic Route Relaxation.
Decision
Route rendering now includes an elastic relaxation pass after direct visibility smoothing.
Why
Some correct A* paths remain visually stair-stepped because a full endpoint shortcut is blocked by wall or object clearance. Moving individual interior points toward the route chord can reduce visual zigzags while keeping adjacent segments valid.
Safety
The pass preserves endpoints and protected anchors. A moved point is accepted only when its previous and next route segments pass isSegmentWalkable(), and the route pipeline validates the full candidate with isRouteSegmentWalkable() before rendering it.
continue:[[]]
before:[[]]