Alliance for OpenUSD · JSON Structure

Aousd Usd Layer Structure

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: 12 Required: 1
3DInteroperabilityLinux FoundationMetaverseOpenUSDSpecificationStandardsUSDVisual Effects

USDLayer is a JSON Structure definition published by Alliance for OpenUSD, describing 12 properties, of which 1 is required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

identifier realPath fileFormat defaultPrim startTimeCode endTimeCode framesPerSecond timeCodesPerSecond metersPerUnit upAxis documentation subLayerPaths

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

aousd-usd-layer-structure.json Raw ↑
{
  "$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"
}