open-standards/wai/live-conformance/scene/docs/foreign_layer.usda
Transaction Science 6daafc502c wai: scene carriage — WAI worlds, audio scenes and timed media onto ISO/IEC 23090-14 scene description and a USD layer, both ways (work in progress)
wai-rs scene_map (feature scene_map): a bundle (a WWLD world, a WSCN audio
scene, timed media items by content hash) exported as a glTF 2.0 document
with MPEG_media, MPEG_buffer_circular, MPEG_accessor_timed,
MPEG_audio_spatial and MPEG_texture_video, and as a USDA layer of the USD
Core Specification v1.0.1 (prims, translate ops, time samples, asset
references by urn:wai:asset), each carrying the bundle's bytes exactly;
imports read a WAI-written document back to the same bundle (refused
unless re-exporting gives the same bytes) and a foreign one to new WAI
bytes, refused where a value would not carry exactly. Corpus generator
wai_scene_vectors and tests/scene_map.rs.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 07:43:34 -04:00

40 lines
877 B
Text

#usda 1.0
(
"A layer written outside WAI"
defaultPrim = "Set"
metersPerUnit = 1
upAxis = "Y"
)
def Xform "Set" (
kind = "group"
)
{
double3 xformOp:translate = (10, 0, 0)
uniform token[] xformOpOrder = ["xformOp:translate"]
def Xform "Pillar" # a pillar
{
double3 xformOp:translate = (0.5, 3, -0.25)
uniform token[] xformOpOrder = ["xformOp:translate"]
def Xform "Cap"
{
double3 xformOp:translate = (0, 1.5, 0)
}
}
def Mesh "Floor"
{
int[] faceVertexCounts = [3]
int[] faceVertexIndices = [0, 1, 2]
point3f[] points = [(0, 0, 0), (1, 0, 0), (0, 0, 1)]
}
/* an asset by its content hash */
def "Statue" (
prepend references = @urn:wai:asset:f3fdba94a88739184ad0f417656a62214dd1aa7138d8b21e3efabe4b38034461@
)
{
}
}