{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/aousd/refs/heads/main/json-structure/aousd-usd-layer-structure.json", "description": "A USD layer \u2014 the fundamental unit of composition in OpenUSD, representing a file or in-memory container for scene description data including prim specs, property specs, and composition arcs.", "type": "object", "properties": { "identifier": { "type": "string", "description": "The unique identifier (path or URI) for this layer.", "example": "/assets/characters/hero/hero.usda" }, "realPath": { "type": "string", "description": "The resolved filesystem path for this layer.", "example": "/studio/assets/characters/hero/hero.usda" }, "fileFormat": { "type": "string", "description": "The file format identifier for this layer.", "enum": [ "usda", "usdb", "usd", "usdz" ], "example": "usda" }, "defaultPrim": { "type": "string", "description": "The default prim path to use when referencing this layer.", "example": "Hero" }, "startTimeCode": { "type": "double", "description": "The start time code for the layer's time-sampled data.", "example": 1.0 }, "endTimeCode": { "type": "double", "description": "The end time code for the layer's time-sampled data.", "example": 240.0 }, "framesPerSecond": { "type": "double", "description": "Frames per second for time code interpretation.", "example": 24.0 }, "timeCodesPerSecond": { "type": "double", "description": "Time codes per second (usually matches framesPerSecond).", "example": 24.0 }, "metersPerUnit": { "type": "double", "description": "Scene scale in meters per USD unit.", "example": 0.01 }, "upAxis": { "type": "string", "enum": [ "Y", "Z" ], "description": "The up axis convention for the scene.", "example": "Y" }, "documentation": { "type": "string", "description": "Human-readable documentation for the layer.", "example": "Hero character asset for production." }, "subLayerPaths": { "type": "array", "items": { "type": "string" }, "description": "Ordered list of sublayer paths composed by this layer.", "example": [ "/assets/characters/hero/hero_rig.usda", "/assets/characters/hero/hero_model.usda" ] } }, "required": [ "identifier" ], "name": "USDLayer" }