Skip to content

fix(navigation): retire experimental junction previews - #442

Merged
Medformatik merged 1 commit into
mainfrom
fix/junction-photo-rendering-and-position
Nov 5, 2026
Merged

Medformatik merged 1 commit into
mainfrom
fix/junction-photo-rendering-and-position

Conversation

@Medformatik

@Medformatik Medformatik commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Retire the experimental junction previews. Navigation keeps its maneuver instructions, route shields, exit labels and lane arrows in the green panel. The ordinary street-level imagery viewer and its providers remain available.

We explored additional destination boards, schematic junction drawings and lane guidance projected onto approach photos. Fixing image rendering and maneuver positions helped, but reliable guidance required more than a plausible projection: archived images could show a different carriageway or a separated ramp, and camera pose, road layout and lane correspondence were often uncertain. A calibrated example did not establish reliable general coverage. The extra displays could therefore contradict or confuse the useful maneuver guidance.

The decision is to retire the feature and delete its experimental stack. This PR deletes the lower panels, navigation-specific photo acquisition/preparation and overlay code, worker/build wiring, settings, translations, photo fixtures and evaluation tooling. Restoration would need a new evidence-based design.

The useful work remains:

  • Ordered geometry positions shared by maneuver countdown, step advancement and the map turn arrow, while provider travel distances and ETA retain their units.
  • Initially usable, preferred, rejected and unknown lane states internally, including correct provider mapping and navigation-session persistence. The phone UI highlights usable lanes uniformly with the existing arrow and background treatment; it adds no checkmarks or lane borders.
  • OSM lane enrichment for the green arrows, with incoming-carriageway checks, explicit rejection/conflict handling, route-scoped state, reroute recomputation, retries and attribution. OSM-only unmarked lanes do not gain invented arrows.
  • Sign-text normalization and exit-label cleanup, useful regression fixtures and synthetic public routing-canary endpoints.

The branch is squashed to one signed commit on current main. There is no migration or new toggle; the retired settings cease to have an effect.

Comparable renders of the actual navigation components use a controlled synthetic example, the application theme and bundled font. They demonstrate the UI removal; they are not a full map replay or a device driving test.

Before: main, 390 px light After: this PR, 390 px light
Before: extra destination board and schematic After: maneuver panel and lane arrows only
Before: main, 320 px dark After: this PR, 320 px dark
Before: narrow dark junction preview After: narrow dark maneuver guidance

Validation: the full portable suite passed serially: 24,874 passed, 277 skipped (RAYON_NUM_THREADS=4 pnpm test --maxWorkers=1, under the shared test lock). The standard parallel run hit unrelated generator time limits; the isolated four-test generator suite passed. Lint, all 32 workspace type tasks, policy, OpenAPI and dead-code checks passed before rebasing.

Main advanced with Android Auto during that run. After rebasing, all 1,217 focused navigation/car tests passed, and affected core, web and mobile types and dead-code checks passed. The shared phone/car lane presenter retains the new main behavior and evidence-source checks. The final lane-display cleanup passed 284 focused navigation/car tests and affected core, web and mobile type checks.

The rendered examples have no horizontal overflow or browser page errors. Final self-review and an independent code review covered retirement completeness, retained navigation behavior and unintended changes; review regressions were reproduced and fixed before publication. Database-backed checks, native-device driving and deployment were not performed.

Release and upgrade impact

Product impact: breaking

The additional junction previews and their settings are removed. No operator action or data migration is required; the green maneuver guidance and ordinary imagery viewer remain available. Product release information is recorded in release-notes/retire-junction-previews.md. The navigation implementation lives in private workspaces. A patch Changeset covers the extension CLI because its conservative bundled-workspace dependency graph includes this code; its commands and shipped templates are unchanged.

@Medformatik Medformatik added bug documentation Documentation content, tooling or workspace dependencies labels Oct 10, 2026
@Medformatik Medformatik self-assigned this Oct 10, 2026
@Medformatik Medformatik changed the title fix(navigation): render panoramas and anchor junction positions fix(navigation): restore junction photos and align lane highlights Oct 10, 2026
@Medformatik Medformatik changed the title fix(navigation): restore junction photos and align lane highlights fix(navigation): restore junction photos and preserve lane guidance Oct 10, 2026
@Medformatik
Medformatik force-pushed the fix/junction-photo-rendering-and-position branch 2 times, most recently from 31590fa to de30954 Compare October 11, 2026 07:45
@Medformatik
Medformatik marked this pull request as draft October 11, 2026 11:15
@Medformatik Medformatik changed the title fix(navigation): restore junction photos and preserve lane guidance fix(navigation): clarify junction signs and prepare lane-aligned photos Oct 11, 2026
Comment thread scripts/junction-eval/render.mts Fixed
Comment thread scripts/junction-eval/render.mts Fixed
Comment thread scripts/junction-eval/render.mts Fixed
@Medformatik Medformatik changed the title fix(navigation): clarify junction signs and prepare lane-aligned photos fix(navigation): clarify junction signs and withhold uncertain photo guidance Oct 11, 2026
@Medformatik Medformatik removed the bug label Oct 18, 2026
@Medformatik Medformatik added integration New or changed provider, source or backend integration ci Continuous integration and GitHub Actions changes labels Oct 18, 2026
@Medformatik Medformatik changed the title fix(navigation): clarify junction signs and withhold uncertain photo guidance fix(navigation): hide experimental junction guidance and retain its implementation Oct 29, 2026
@Medformatik
Medformatik force-pushed the fix/junction-photo-rendering-and-position branch from e5043dc to 45fac4b Compare November 5, 2026 00:15
@Medformatik Medformatik removed the ci Continuous integration and GitHub Actions changes label Nov 5, 2026
@Medformatik Medformatik changed the title fix(navigation): hide experimental junction guidance and retain its implementation fix(navigation): retire experimental junction previews Nov 5, 2026
@Medformatik
Medformatik marked this pull request as ready for review November 5, 2026 00:16
@Medformatik
Medformatik force-pushed the fix/junction-photo-rendering-and-position branch 2 times, most recently from a77431d to 627e1a8 Compare November 5, 2026 00:32
@Medformatik
Medformatik force-pushed the fix/junction-photo-rendering-and-position branch from 627e1a8 to 791df2d Compare November 5, 2026 00:45
@Medformatik
Medformatik merged commit f98eac3 into main Nov 5, 2026
29 checks passed
@Medformatik
Medformatik deleted the fix/junction-photo-rendering-and-position branch November 5, 2026 06:02
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

documentation Documentation content, tooling or workspace dependencies integration New or changed provider, source or backend integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants