Skip to content

fix(navigation): preserve junction lanes and show connected branches - #441

Closed
Medformatik wants to merge 3 commits into
mainfrom
fix/junction-lane-geometry
Closed

Medformatik wants to merge 3 commits into
mainfrom
fix/junction-lane-geometry

Conversation

@Medformatik

@Medformatik Medformatik commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

What changed and why

Closed without merging. The description records the proposal; it does not establish a release from this PR.

At Kreuz Holz on the A44 → A46 route toward Düsseldorf/Neuss, junction view showed one lane and one destination board. OSM actually has four approach lanes and two connected outgoing roads, each with two lanes: Düsseldorf/Neuss and Heinsberg/Venlo/Mönchengladbach. The client discarded approaches without per-lane destinations, forced a one-lane fallback, and omitted the non-link motorway continuation.

This preserves lane counts and turn arrows independently of per-lane destinations and includes outgoing roads connected by their shared OSM node. Both branches get separate destination boards and known lane counts. The outgoing data is bound to its approach way; reverse one-way travel and incomplete node arrays are handled conservatively. The lookup cache is invalidated without adding provider calls.

OSRM reports left at Holz while OSM approach arrows say right. Four incoming lane bands therefore remain unhighlighted. The routed outgoing road is highlighted only when destination/reference evidence distinguishes it, and missing OSM destinations retain the engine sign and exit number. Outgoing roads use separate forward-facing road and lane bands, with a broad neutral junction area between incoming and outgoing markings. Geometry is symbolic: it does not claim incoming-to-outgoing lane assignments. Unknown approach counts show the sign without invented geometry; confirmed edge lane groups elsewhere draw multi-lane ramps. Real per-lane boards and accessibility summaries are preserved. Photo rendering is excluded.

Before and after

actual card rendered from captured Kreuz Holz data at the same viewport, without imagery.

Before After
Before: fabricated one-lane fallback After: four approach lanes and both two-lane branches with separate destination signs

Verification

Checks recorded during the original PR:

Reported validation:

captured live OSRM/OSM topology fixture; regressions watched fail then pass; 501 navigation tests across 38 files passed; workspace types, lint and changeset validation passed; independent review findings were reproduced and addressed with regressions. OpenAPI regenerated with no diff (380 operations). Personally inspected browser renders of actual React components at 420 px and 320 px mobile widths with the captured response and real intl messages: both signs visible, four incoming lanes, two outgoing two-lane roads with forward-facing road bands, no collapsed shared-point throat, no incoming recommendation and no horizontal overflow. Sign-only and confirmed multi-lane fallbacks were also inspected. Full suite: 1,538 files / 17,422 tests passed (28 files / 135 tests skipped by their existing gates). Signed commit and all commit/push hooks passed, including policy and full-suite gates. Database-backed, native-device and live GPS navigation checks were not run; production was not deployed.

Release and upgrade impact

Closed without merging; #442 consolidates this proposal. Photo rendering was excluded.

@Medformatik Medformatik added bug integration New or changed provider, source or backend integration labels Oct 10, 2026
@Medformatik Medformatik self-assigned this Oct 10, 2026
@Medformatik Medformatik changed the title fix(navigation): preserve junction lane geometry without destination tags fix(navigation): preserve junction lanes and show connected branches Oct 10, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 10, 2026
@Medformatik
Medformatik deleted the fix/junction-lane-geometry branch October 10, 2026 20:33
@Medformatik Medformatik added documentation Documentation content, tooling or workspace dependencies and removed bug labels Oct 18, 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.

1 participant