#usda 1.0
(
    defaultPrim = "DaanHighFidelityEnvironment"
    endTimeCode = 900
    metersPerUnit = 1
    startTimeCode = 0
    timeCodesPerSecond = 30
    upAxis = "Z"
)

def Xform "DaanHighFidelityEnvironment"
{
    def Xform "OODALoop"
    {
        def Xform "SourceRegistry"
        {
            custom string userProperties:layer_type = "ooda_source_registry"
            custom string userProperties:purpose = "Expose source, reliability, and claim-boundary metadata inside the USD scene."
            custom string userProperties:scenario_id = "daan_station_ooda_scope_b"

            def Cube "Source_01_osm2world_environment"
            {
                color3f[] primvars:displayColor = [(0.56, 0.75, 0.96)]
                float[] primvars:displayOpacity = [0.82]
                double size = 1
                custom string userProperties:claim_boundary = "OSM/OSM2World spatial context, not survey-grade ground truth."
                custom string userProperties:path = "outputs/usd/osm2world/taipei_daan_intersection_osm2world_lod3.usda"
                custom string userProperties:reliability = "open_data_derived"
                custom string userProperties:semantic_class = "source_registry_entry"
                custom string userProperties:source_id = "osm2world_environment"
                custom string userProperties:type = "open_geospatial_context"
                float3 xformOp:scale = (7, 4, 1.2)
                double3 xformOp:translate = (-58, 72, 5)
                uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:scale"]
            }

            def Cube "Source_02_sumo_morning_commute"
            {
                color3f[] primvars:displayColor = [(0.91, 0.73, 0.34)]
                float[] primvars:displayOpacity = [0.82]
                double size = 1
                custom string userProperties:claim_boundary = "Authored morning-commute demand; not measured traffic"
                custom string userProperties:path = "outputs/sumo/daan_station_signal_response/"
                custom string userProperties:reliability = "authored_simulation"
                custom string userProperties:semantic_class = "source_registry_entry"
                custom string userProperties:source_id = "sumo_morning_commute"
                custom string userProperties:type = "traffic_simulation"
                float3 xformOp:scale = (7, 4, 1.2)
                double3 xformOp:translate = (-39, 72, 5)
                uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:scale"]
            }

            def Cube "Source_03_synthetic_collision_event"
            {
                color3f[] primvars:displayColor = [(0.92, 0.25, 0.25)]
                float[] primvars:displayOpacity = [0.82]
                double size = 1
                custom string userProperties:claim_boundary = "Lane blocker and collision event are synthetic portfolio scenarios."
                custom string userProperties:path = "docs/visuals/city_incident_fuxing_osm2world/omniverse_collision_event.json"
                custom string userProperties:reliability = "synthetic_event"
                custom string userProperties:semantic_class = "source_registry_entry"
                custom string userProperties:source_id = "synthetic_collision_event"
                custom string userProperties:type = "incident_metadata"
                float3 xformOp:scale = (7, 4, 1.2)
                double3 xformOp:translate = (-20, 72, 5)
                uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:scale"]
            }

            def Cube "Source_04_replicator_sensor_capture"
            {
                color3f[] primvars:displayColor = [(0.54, 0.86, 0.62)]
                float[] primvars:displayOpacity = [0.82]
                double size = 1
                custom string userProperties:claim_boundary = "Synthetic RGB/depth/semantic/bbox capture, not real CCTV inference."
                custom string userProperties:path = "outputs/sdg/urban_intersection_sensor_capture_v1_mvp/dataset_manifest.json"
                custom string userProperties:reliability = "replicator_ground_truth"
                custom string userProperties:semantic_class = "source_registry_entry"
                custom string userProperties:source_id = "replicator_sensor_capture"
                custom string userProperties:type = "synthetic_sensor_capture"
                float3 xformOp:scale = (7, 4, 1.2)
                double3 xformOp:translate = (-1, 72, 5)
                uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:scale"]
            }
        }
    }
}

