70 lines
3.5 KiB
Markdown
70 lines
3.5 KiB
Markdown
# Phase 6: Turn-by-Turn Guidance (Live Driving) - Discussion Log
|
||
|
||
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
|
||
> Decisions captured in CONTEXT.md — this log preserves the analysis.
|
||
|
||
**Date:** 2026-10-24
|
||
**Phase:** 06-turn-by-turn-guidance-live-driving
|
||
**Mode:** default (interactive)
|
||
|
||
## Areas Discussed
|
||
|
||
### Routing engine stack — THE PIVOT #2 (user-added area)
|
||
The user added: "The kind of tech (stack) used to achieve the hard $0 no-vps rule, eg. WASM (sql.js), lunr.js, if need to port valhalla so it's hostable on cloudflare pages as js, etc."
|
||
|
||
Straight answers given:
|
||
| Claim | Verdict |
|
||
|---|---|
|
||
| Port Valhalla to JS/WASM | **Infeasible** — C++/Boost/protobuf, memory-mapped multi-GB tile stores; multi-month build-system surgery; recorded as D-02 so it is never re-proposed |
|
||
| geojson-path-finder | Rejected — demo-grade (distance-only, no alternatives/one-ways) |
|
||
| **Engine A: Worker + R2 graph + A\*** | **CHOSEN, built this phase** — KL graph (~30–80MB) in R2, typed-array/WASM A\* in the Worker; $0, no VPS, fork-uploads its own graph, privacy-preserving; RoutingSource backend #2 |
|
||
| Engine B (fully client-side webview) | Documented evolution of A, post-v1 |
|
||
|
||
| Question | Options presented | Selection |
|
||
|---|---|---|
|
||
| Engine powering guidance rerouting | Engine A in phase 6 / fixture-corridor now + engine next phase / quick engine C interim | **Engine A in phase 6** — GUID-02 gets TRUE rerouting; fixture-corridor compromise unnecessary |
|
||
|
||
### Reroute semantics
|
||
| Question | Options presented | Selection |
|
||
|---|---|---|
|
||
| Trigger machine | thresholds+grace (ON_ROUTE→OFF_ROUTE→REROUTING→ON_ROUTE, storm guard) / naive per-fix / research decides | Thresholds + grace machine |
|
||
| Snapping authority | router snaps / client pre-snap | Router snaps |
|
||
|
||
### Guidance UX surface
|
||
| Question | Options presented | Selection |
|
||
|---|---|---|
|
||
| Layout | top banner + bottom guidance card / single bottom sheet | Top banner + bottom guidance card |
|
||
| ETA smoothing | EMA + deadband / raw per-fix | EMA + deadband |
|
||
| Haptics + PX-03 | approach+arrive haptics + confirm + swipe-disable / defer haptics | Full set |
|
||
| Camera | locked follow + user-unlock / free camera | Locked follow + user-unlock |
|
||
|
||
### Backgrounded turn-cards
|
||
| Question | Options presented | Selection |
|
||
|---|---|---|
|
||
| Push loop | envelope + Cron push / app-queued sends | Envelope + Cron push (60–120s) |
|
||
| Card rendering | glyph+text card / bitmap map snapshot / pre-minimize client raster | Glyph + text card (bitmaps deferred v1.x) |
|
||
|
||
### Replay verification + battery
|
||
| Question | Options presented | Selection |
|
||
|---|---|---|
|
||
| GUID-02 verification | scripted replays + 1 real drive / real drives only | Scripted replays + 1 real drive |
|
||
| Battery cadence | distance-throttled high-acc / adaptive accuracy | Distance-throttled high-acc (≥10m or ≥5s) |
|
||
|
||
## Corrections Made
|
||
|
||
User's added stack area redirected the phase: the phase-5 deferral of the WASM-router
|
||
was superseded by building engine A now. The reconciliation round from phase 5 (SC3
|
||
amendment) was extended, not reversed: fixtures remain backend #1 (demo path); engine A
|
||
becomes a real backend #2; the router-pending state survives as graph-edge degradation.
|
||
|
||
## Auto-Resolved
|
||
|
||
Not applicable.
|
||
|
||
## External Research
|
||
|
||
Roadmap recommends /gsd-research-phase framing for "best-effort projection" + snapshots —
|
||
resolved in-discussion (glyph+text cards; cron push loop). Remaining research surface for
|
||
planning's light pass: graph build toolchain, A\* in-Worker feasibility numbers, cron/rate
|
||
limits.
|