Skip to content

fmt-f2: preserved-tier sweep — lateralProfile <shape>/<crossfall>, road <surface>/<CRG>, <junctionGroup>, <railroad>/<station>, root <include> #539

Description

@JArmandoAnaya

Problem

Five spec areas are warned-and-dropped rather than preserved, so a legal file loses them on the first save (one diagnostic, then permanent data loss). All are outside #453's scope list; none needs modeling for v0.1.0 — the preserved-tier (RawXml verbatim) idiom is enough:

Element Spec Current behavior
<lateralProfile><shape> (and legacy <crossfall>) 1.9.0 §10.5.1 parse_lateral_profile (core/src/xodr/reader.cpp:732) models <superelevation> only; everything else warn_unsupported → dropped. Round-trip flattens a non-planar carriageway
Road <surface>/<CRG> §10.6 Not in parse_road's child whitelist (reader.cpp:494) → warned drop; a CRG-referencing file silently loses its surface detail on save
<junctionGroup> (roundabouts) §12.16 Root sweep (reader.cpp:3219) whitelists header/road/junction/controller/userData → warned drop. Directly relevant to #495 — the standard's own roundabout grouping is currently unrepresentable
<railroad> road child + root <station> chapter 15 Warned drop, both. A tram file loses its rail layer on save
<include> outside <header> §7.1 Preserved inside <header> (reader.cpp:392), warned-dropped anywhere else

Expected

Each moves into the preserved tier: read verbatim, written back byte-identically, diagnostic downgraded to the standard "preserved, not modeled" note. Modeling stays with whoever owns the feature later (e.g. #495 for junction groups).

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

    fmtfmt workstream — ASAM-first persistence layers + native project container (ADR-0008)pillar:P6Road to Parity pillar P6

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions