Transit must bring signal-controller JSON into a station twin. Which preparation defines a sound data-exchange approach?
Select an answer to reveal the explanation.
Short Explanation
Signal JSON is operational truth—not decoration for mesh names. Map those fields to USD attributes and relationships on paper first, then implement the importer.
Full Explanation
Transit signal-controller JSON is operational state that must become typed USD attributes and relationships on the station twin, not decorative text. Documenting conceptual mappings from JSON fields to USD attributes and relationships defines a sound data-exchange approach before code hardens the wrong assumptions about naming, units, and which prim owns controller versus signal heads.
Pasting raw JSON strings into every mesh displayName loses structure, typing, and relationship semantics, and pollutes naming meant for UI labels. Deleting all relationships so signals cannot reference controllers removes the topology a station twin needs for controller-to-signal connectivity. Storing controller state only as anonymous layer comments never yields queryable, schema-valid USD data for tools, validators, or operations dashboards.
Exam caveat: Distinguish ephemeral live telemetry from authored baseline controller configuration—map both deliberately so runtime updates do not overwrite the published twin’s reference state without an explicit policy and layering strategy.
Operational check: Walk a controller JSON sample through the mapping document into USD, confirm attributes and relationships resolve on the expected prims, run a relationship integrity check, and only then enable the production importer on the station stage.