- one unified canvas: discovery is a drawer over the map (chips: lunch /
dinner / afternoon / hotel), the plan rail stays visible — no more
modal focus-mode / dimmed rail
- smoother discovery: 'you might like' suggestion block in the rail
(unfilled slots / more-like-this-day), region placeholders open the
drawer, chat still filters an open drawer
- frictionless replacement: every planned stop card expands to inline
alternatives with one-click swap (incumbent demotes to backup, new
stop takes its sequence position); candidate cards are draggable and
drop onto a same-slot stop (swap) or the plan (hold as idea)
- multi-scale comparison: persistent bottom dock lines up 2-4
candidates/stops side by side (walk from anchor, walk to hotel,
duration, price, tags) at both hotel and stop scale, with choose /
idea actions
- gentler load: states read as in plan / idea / backup, issues panel
becomes 'nudges' (one-tap fixes, 'this day looks good' when clear),
budget phrasing ('comfortably paced' / 'running a bit full')
- new day strip: horizontal L1 overview of the whole day (stops, legs,
buffer, return-to-hotel) with hour axis; click a block to fly
- mobile: drawer becomes a bottom sheet, dock sits above the tab bar
Verified end-to-end on the local OSRM stack:
- internal/traffic: 511NY OData client (lenient decode, raw archive),
Overpass way matcher (class-window selection: highest-class road within
150m beats a closer service road), incident policy map, CSV builder
- cmd/traffic: fetch | match | apply; apply copies the dataset (CoW) and
re-customizes the traffic layer in ~15s (v26 customize has no
--output-prefix; it writes contract files in place)
- Proof: synthetic I-90 closure → 38s (static :5000) vs 142s (traffic
:5002) on the same 0.87 km stretch
- Policy speeds are 'assumed' provenance; R4: traffic routes must carry
computed(traffic, as_of, policy=assumed)
- destination changed from generic 'Queens NY' to the real address,
geocoded offline from the NY PBF (addr:street=46th Street,
addr:housenumber=39-84, postcode 11104 -> 40.74707,-73.9181)
- OSRM tree moved /tmp/osm-build -> /home/gmp/osm-build (durable);
scripts default W to $HOME/osm-build; LD_LIBRARY_PATH export for
the baked-in RPATH; cmake stub paths re-pointed
- profile experiment: profiles/car-us.lua (US-tuned speed table on
stock car.lua) -> Lincoln->Sunnyside 406 -> 377 min vs Valhalla 327;
README documents the mechanism (motorway=90 x speed_reduction 0.8
= 72 km/h effective on untagged US interstates)
- bench goldens re-recorded for both backends with new destination;
both 26/26 PASS, integration tests pass on both routers