13 Commits

Author SHA1 Message Date
000b892202 fix(directions): selecting a saved point as destination no longer re-sets the origin (remove leftover onPickSavedPoint callback)
All checks were successful
CI / test-and-build (push) Successful in 42s
2026-08-10 20:37:09 +00:00
4de3e31708 feat(directions): include Saved Points in destination search results (filtered by query)
All checks were successful
CI / test-and-build (push) Successful in 43s
2026-08-10 20:29:10 +00:00
80d049eebf feat(ui): context dialog on map click (no auto-save); save-point form; 'Directions from/to here'; remove Directions button + Data sources bar 2026-08-10 15:52:34 +00:00
9ef58e62c8 feat(directions): on-demand road-data layer loading with loading-state CTA 2026-08-10 15:29:38 +00:00
fe072c8d85 feat(directions): browser-local Saved Points layer (click empty space), toggleable, selectable as origin/destination 2026-08-10 15:26:30 +00:00
62ddbf160c feat(directions): rework panel to destination-picker + collapsed route options; graph loaded on demand with sync fallback 2026-08-10 15:20:17 +00:00
4e0d82f416 refactor(directions): unit system now controlled solely via Preferences dialog (pull from prefs store)
All checks were successful
CI / test-and-build (push) Successful in 41s
2026-08-10 14:37:21 +00:00
f46d604546 feat(prefs): drop redundant unit-override; distances auto m/ft under a km/mi, else km/mi
All checks were successful
CI / test-and-build (push) Successful in 41s
2026-08-10 14:22:31 +00:00
d786ee3151 feat: preferences dialog, default-unchecked layers, robust routing + turn-by-turn
Some checks failed
CI / test-and-build (push) Has been cancelled
2026-08-10 13:12:20 +00:00
edd6ba9ae2 Fix viewport overflow so the Directions panel stays on-screen
All checks were successful
CI / test-and-build (push) Successful in 41s
The page had two stacked 100vh containers (.app and .wrap) which made the
page taller than the viewport and forced scrolling. Fixes:
- .wrap now fills its grid cell (height:100%, min-height:0, overflow:hidden)
  instead of a second 100vh
- .app uses 100dvh + overflow:hidden; html/body/#svelte get height:100%,
  body overflow:hidden
- Directions panel is now viewport-anchored (top:64px/bottom:14px) with a
  max-height and internal overflow-y so it can't exceed the screen
- DirectionsPanel itself scrolls internally when content is tall
2026-08-09 21:14:01 +00:00
8c2e7eb6ab Directions: add Imperial unit system (feet/miles) alongside metric
All checks were successful
CI / test-and-build (push) Successful in 39s
- Add a System selector (Metric/Imperial) to the Directions panel; Units
  dropdown adapts (m/km vs ft/mi) with a smart Auto for each system
- Auto: short routes show the small unit (m or ft), long routes the large
  one (km or mi); shows the alternate unit as a sub-line
- README: document the unit system + units options
2026-08-09 16:01:47 +00:00
4b00704735 Directions: smart distance units (m/km auto + toggle) and travel-time estimate
All checks were successful
CI / test-and-build (push) Successful in 39s
- DirectionsPanel: unit selector (Auto = m under 1km else km, or force m/km)
  and a Drive/Walk mode that estimates travel time from distance + avg speed
- Distance shows meters for short routes and km for longer ones; est. time in
  seconds/minutes/hours as appropriate
- README: document the new units and travel-time options
2026-08-09 15:31:59 +00:00
db292409f1 Add OSM data-dump ingestion + in-browser routing with POI avoidance
All checks were successful
CI / test-and-build (push) Successful in 1m3s
- scripts/osm-dump.mjs: download & stream-parse regional .osm.pbf extracts
  (Geofabrik/BBBike etc). Clips to bbox, extracts POI features (poiTags),
  and builds a routable road graph (coords + weighted adj) from road ways.
  Caches the downloaded .pbf under scripts/.cache/ (git-ignored). Default:
  Geofabrik Oklahoma extract -> tulsa-dump layer (12.8k POIs, 55k-node graph).
- src/lib/routing.ts: client-side A* routing over the graph. Snaps A/B to
  nearest nodes, supports avoid-rules (category + radius, block or penalty)
  built from nearby POIs; returns waypoints + distance.
- src/lib/components/DirectionsPanel.svelte: Directions UI — pick A/B by
  clicking the map, choose POI categories to avoid, compute & draw the route.
- MapView: adds a Directions toggle when a dump layer with a graph is present.
- package.json: add 'build:dump'; build now runs data + dump + static.
- scripts/test.mjs: validate dump manifest entries + routing graph structure.
- README: document dump ingestion and the routing/avoid feature.
2026-08-09 15:19:35 +00:00