225cd250a3
Timeline now shows the driving distance and duration between every consecutive pair of stops, taken from real OSRM road routes (not Grok estimates). Top stat bar and per-day headers also use the live totals so they update immediately as the itinerary changes. Grok now returns 1-3 alternative picks for each Supercharger and hotel stop, each with deltaKm/deltaMin vs the chosen pick and a short reason explaining the trade-off. The Swap (n) button on each card expands an inline list of alternatives; clicking one swaps the stop in place. The previously-chosen stop is kept in the alternatives list with inverted deltas so the user can swap back. The map + polylines + stat bar all recompute automatically. Other tweaks: - haversine fallback when OSRM is unreachable so legs still show approximate metrics in offline / degraded mode. - Leg geometry storage moves from raw polyline[] to typed Leg[] with per-leg distance/duration/fromId/toId. - Stop schema gains alternatives[]; client normalization filters out alternatives missing lat/lng. - Day cards widened (340 → 360px); timeline pane grew 280 → 340px with vertical scroll so swap panels don't clip. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>