Skip to content

xodr: virtual-junction fidelity — link @elementS/@elementDir dropped, foreign connections deleted, connection children dropped #537

Description

@JArmandoAnaya

Problem

Three fidelity holes around virtual junctions and connection internals, all in modeled scopes #453 will not cover:

  1. Road-link @elementS/@elementDir are dropped. Rule road.linkage.virtjunc_link_attribute_usage (1.9.0 §10 road linkage) requires them on <link> elements pointing at a virtual junction. read_link (core/src/xodr/reader.cpp:3143) reads only elementType/elementId/contactPoint — no diagnostic — and write_link_element (core/src/xodr/writer.cpp:378) never emits them. A spec-conformant foreign file loses its virtual-junction linkage on save.
  2. A foreign virtual junction's <connection>s are deleted. A virtual junction may legally declare connections (§12.7), but the arms-xor-spans policy (reader.cpp:2102) clears them — warned, but the data is destroyed rather than preserved/degraded.
  3. <connection> children beyond <laneLink> and the @type attribute are silently dropped (reader.cpp:2087 iterates children("laneLink") only; @id regeneration is benign, @type is not).

Expected

Faithful round-trip for spec-valid input: model or preserve @elementS/@elementDir and connection @type; preserve (not delete) foreign virtual-junction connections with an honest diagnostic; sweep unknown connection children into the preserved tier.

Notes

Filed by the 2026-07-31 roadmap review.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpillar:P4Road to Parity pillar P4

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions