Skip to content

feat: fork bike profile + 7 encoded values + debug overlay#82

Draft
cafca wants to merge 1 commit into
mainfrom
claude/epic-bouman-d0a070
Draft

feat: fork bike profile + 7 encoded values + debug overlay#82
cafca wants to merge 1 commit into
mainfrom
claude/epic-bouman-d0a070

Conversation

@cafca
Copy link
Copy Markdown
Owner

@cafca cafca commented May 7, 2026

Summary

  • Fork upstream bike.json into backend/graphhopper_profile.json (merges bike_avoid_private_node). Drop car/foot profiles and CH prep — graph cache 87M → 72M despite adding 7 EVs.
  • Add encoded values: road_access, urban_density, get_off_bike, surface, smoothness, cycleway, crossing.
  • New /api/debug/mvt/{z}/{x}/{y} proxy in backend/src/debug.rs forwarding to GraphHopper's MVT tile endpoint.
  • New web debug overlay (Preferences → "Debug: encoded value overlay"): 19 EVs, per-member enum toggles with All/None, global "hide road_class=footway" filter, and inline notes per EV sourced from backend/graphhopper_encoded_values.md.
  • compose.bouman.yml: coexisting dev stack on ports 3001/5433/18989/18080 with -bouman- containers and a separate pgdata volume.

Test plan

  • just test-backend passes
  • just test-web passes (incl. new debugOverlay.test.js)
  • just preview boots; debug dropdown lists all EVs alphabetically, switching values updates the map paint
  • Per-member toggles hide their value; All/None work; "Hide road_class=footway" filter works under any selected EV
  • Routing still computes via the new bike profile + bike_elevation.json

@cafca cafca force-pushed the claude/epic-bouman-d0a070 branch from e2aeeb1 to 7cb98f9 Compare May 7, 2026 22:46
- Add /api/debug/mvt/{z}/{x}/{y} proxy in backend/src/debug.rs forwarding
  to GraphHopper's MVT tile endpoint so the web app can paint per-edge
  encoded values without touching the routing service.
- Web debug overlay (Preferences -> "Debug: encoded value overlay"):
  dropdown of 18 encoded values sorted alphabetically, per-member enum
  toggles with All/None, global "hide road_class=footway" filter, and
  an inline note per EV sourced from graphhopper_encoded_values.md.
- backend/graphhopper_encoded_values.md: reference doc for every GH
  built-in EV plausibly relevant to a Berlin city-bike profile, with
  semantics, OSM derivation, and a verdict.
- compose.bouman.yml: coexisting dev stack on alt ports
  (3001/5433/18989/18080) and -bouman- container names so a worktree
  can run alongside the main checkout.
@cafca cafca force-pushed the claude/epic-bouman-d0a070 branch from 7cb98f9 to 9e0f53a Compare May 7, 2026 23:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant