OpenUSDLayer
Object
A durable, resolvable OpenUSD artifact. Root layers additionally carry the stage metadata - units, up axis, handedness, time-code rate - which is where USD stores it. Runtime stages and prims are deliberately not modelled; a binding resolves in a layer.
type OpenUSDLayer implements GraphNode {
assetIdentifier: String
connectedDataSourceId: String
contentHash: String
contentUrl: String
dateCreated: DateTime
dateUpdated: DateTime
description: String
exactType: String
glassMaterialPaths: [String]
glassMinimumOpacity: Float
handedness: String
id: String!
isReferencedByLayer(filter: OpenUSDLayerFilter): [OpenUSDLayer]
isReferencedByLayerEdges: [IsReferencedByLayerEdge]
kilogramsPerUnit: Float
mappingKey: String
metersPerUnit: Float
name: String
referencesLayer(filter: OpenUSDLayerFilter, transitive: Boolean = false): [OpenUSDLayer]
referencesLayerEdges: [ReferencesLayerEdge]
resolverContext: String
resolvesPrimBinding(filter: OpenUSDPrimBindingFilter): [OpenUSDPrimBinding]
resolvesPrimBindingEdges: [ResolvesPrimBindingEdge]
schemaProfile: String
timeCodesPerSecond: Float
type: [String]
upAxis: String
}
Implements
Fields
| Field | Type | Description |
|---|---|---|
assetIdentifier | String | The USD asset path the author wrote. Identity, not a location - use contentUrl to fetch the bytes. |
connectedDataSourceId | String | |
contentHash | String | Digest of the layer's bytes, "sha256:<64 hex>". Verify downloads against it and key caches on it. |
contentUrl | String | A URL the caller can GET to receive exactly the bytes contentHash names. Opaque and possibly short-lived: do not parse it, persist it, or derive sibling URLs from it - composition dependencies are found through referencesLayer. Null when Mapped cannot serve the bytes; never an error. Nullable String so a signed URL can replace the pass-through later without a schema change. The relationMapping is what pulls the asset identifier into the projection when the client did not select assetIdentifier - the fix #2949 made for Connector.contributions. parentField names the VERTEX property, not the GraphQL field: core reads it straight off the source map (RelationMappingConverter#getSourceFieldValue), which is why Thing.model maps deviceModelId and not a field Thing has. Hence openUSDAssetIdentifier. |
dateCreated | DateTime | |
dateUpdated | DateTime | |
description | String | |
exactType | String | |
glassMaterialPaths | [String] | Absolute Sdf paths of the materials this layer's author reviewed as glass. Paths, not names - a material name is not unique across scopes under composition. |
glassMinimumOpacity | Float | The opacity floor a renderer applies to those materials, 0 to 1. |
handedness | String | RIGHT_HANDED or LEFT_HANDED. |
id | String! | |
isReferencedByLayer | [OpenUSDLayer] | The layers that reference this one. Arguments: filter: OpenUSDLayerFilter |
isReferencedByLayerEdges | [IsReferencedByLayerEdge] | |
kilogramsPerUnit | Float | Stage metadata; present on layers that are opened as a stage root. |
mappingKey | String | |
metersPerUnit | Float | Stage metadata; present on layers that are opened as a stage root. |
name | String | |
referencesLayer | [OpenUSDLayer] | Composition dependencies - the layers this one references, as payloads or sublayers. One predicate covers sublayer, reference and payload arcs, because impact analysis, pinning and cache warming are all arc-kind agnostic. Arguments: filter: OpenUSDLayerFilter, transitive: Boolean = false |
referencesLayerEdges | [ReferencesLayerEdge] | |
resolverContext | String | The asset-resolver context a stage must be opened under for this layer's asset paths to resolve. |
resolvesPrimBinding | [OpenUSDPrimBinding] | The bindings that resolve in this layer. Arguments: filter: OpenUSDPrimBindingFilter |
resolvesPrimBindingEdges | [ResolvesPrimBindingEdge] | |
schemaProfile | String | The load, population and variant policy a stage opened on this layer is expected to use. |
timeCodesPerSecond | Float | Stage metadata; present on layers that are opened as a stage root. |
type | [String] | |
upAxis | String | Authored up axis, in USD's spelling - Y or Z. |
Used by
Connector.openUSDLayers(field)OpenUSDLayer.isReferencedByLayer(field)OpenUSDLayer.referencesLayer(field)openUSDLayers(query)OpenUSDPrimBinding.resolvesInLayer(field)