{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/aousd/refs/heads/main/json-schema/aousd-usd-layer-schema.json", "title": "USDLayer", "description": "A USD layer — 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": "number", "description": "The start time code for the layer's time-sampled data.", "example": 1.0}, "endTimeCode": {"type": "number", "description": "The end time code for the layer's time-sampled data.", "example": 240.0}, "framesPerSecond": {"type": "number", "description": "Frames per second for time code interpretation.", "example": 24.0}, "timeCodesPerSecond": {"type": "number", "description": "Time codes per second (usually matches framesPerSecond).", "example": 24.0}, "metersPerUnit": {"type": "number", "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"] }