Skip to content

feat(navigation): evaluate network detours for route stops - #435

Merged
Medformatik merged 2 commits into
mainfrom
feat/route-stop-network-detours
Oct 8, 2026
Merged

Medformatik merged 2 commits into
mainfrom
feat/route-stop-network-detours

Conversation

@Medformatik

@Medformatik Medformatik commented Oct 7, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Route-stop pins and cards now distinguish road-network detours from straight-line estimates, pending checks, unknown results and unreachable stops. A nearby stop across a river no longer appears as a short verified detour: the controlled screenshot fixture changes from about 1 minute to 10 minutes and 4 km by road.
  • Compare the complete remaining itinerary with and without each shortlisted stop under the same routing mode, avoid preferences and provider. Preserve ordered user waypoints, including later visits to retraced roads, and prefer explicit entrances with a labelled coordinate fallback. Shared headless contracts provide the routing foundation for Combine fuel, charging and parking site evidence with along-route discovery #417.
  • Bound evaluation to six candidates, two concurrent candidate requests and one baseline; cache up to 64 evaluations for 60 seconds at 500 m progress intervals. Cancel obsolete evaluations and selections, reject late route/session results, distinguish co-located stop identities and retain the provider chosen by the baseline. Update existing directions/navigation documentation and English/German copy. Existing routing administration applies; no new operator setting is required.

Related issues

Fixes #416

How was this tested?

  • Independent directed graph fixtures cover motorway wrong-side access, a river crossing, an unreachable restricted stop and a reachable urban stop. Additional regressions cover entrance changes, repeated road visits, waypoint order, provider/option fidelity, request limits, expiry, cancellation, session replacement, refreshed selection coordinates and successful search completion.
  • One independent whole-branch review identified four substantive edge cases; all were reproduced and fixed with red-to-green tests. Manual T3 preview verification identified and fixed search completion after a successful add. Final self-review reproduced and fixed a retained place ID using stale selection coordinates instead of its refreshed target; all 41 focused regressions passed.
  • pnpm lint, pnpm check-types (30 workspaces plus discovery eval), pnpm check:policy, pnpm check-openapi, changeset status, the web production build and docs production build passed. The complete portable suite passed through the pre-push hook with four workers: 1,622 files / 17,840 tests passed, 30 files / 138 tests skipped by the standard opt-in gates. Concurrent full runs timed out unrelated checks; the publisher suite passed 18/18 in isolation and the final complete run passed with bounded workers, without changing unrelated code or test timeouts.
  • Matched desktop and phone screenshots use the actual product control, hook and MapLibre results layer with controlled API/map fixtures. They demonstrate confidence rendering and interaction; they are not live-provider accuracy measurements. Screenshot assets are attached outside Git.

Checklist

  • Conventional Commits title
  • pnpm lint && pnpm check-types && pnpm test pass locally
  • Changeset added for core and i18n
  • Existing user and developer docs updated
  • Code remains in the applicable license tiers
  • No secrets, API keys or environment files committed
  • Contributor License Agreement, if required by the CLA bot

Screenshots

View Before After
Desktop Desktop before: geometric detour minutes Desktop after: network time, distance and entrance fallback
Phone Phone before: geometric detour minutes Phone after: network time, distance and entrance fallback

@Medformatik Medformatik added documentation Improvements or additions to documentation enhancement New feature or request labels Oct 7, 2026
@Medformatik Medformatik self-assigned this Oct 7, 2026
@Medformatik
Medformatik merged commit 9b21236 into main Oct 8, 2026
25 checks passed
@Medformatik
Medformatik deleted the feat/route-stop-network-detours branch October 8, 2026 17:53
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 8, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use road-network detours for a bounded shortlist of route stops

1 participant