open-standards/wai/live-conformance/scene/README.md
Transaction Science a1ecded5a2 wai: scene-carriage text, corpus README and independent Python verifier
extensions/scene-carriage.md: the bundle, the numbers that cross the
mapping, the glTF document (MPEG_media, MPEG_buffer_circular,
MPEG_accessor_timed, MPEG_audio_spatial, MPEG_texture_video) and the USD
layer each direction writes and reads, the refusals and the corpus.
scene_verify.py implements it from the text and agrees with wai-rs on
every vector; it also flips bytes of every exported document and
requires each copy to be caught.

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

2.2 KiB

live-conformance/scene — scene carriage

The corpus of extensions/scene-carriage.md §9: vectors.json and the files it names.

vectors.json holds:

  • inputs: the worlds and audio scenes other corpora commit, by path from this directory, each pinned by its SHA-256: scene.wwld and basic_kinematics.wwld of ../../world-conformance/vectors/, and moving.wscn, distance.wscn and stereo_pair.wscn of ../../audio-conformance/vectors/;
  • files: every other file with its SHA-256;
  • vectors, each one of:
    • export: a bundle — world and audio, each a path or null, and media, the media list of §2.2 — written in a format (gltf, §4; usda, §6). accept gives the file the writer must produce, byte for byte; refuse gives the code (§8);
    • import: a file in a format, read with params (null for a document WAI wrote; otherwise the actor in hexadecimal and the world_contract and audio_contract, each a JSON text or null, of §5.3). accept gives the bundle it must read to, byte for byte, and dropped, its report of presentation not carried; refuse gives the code.

Files: inputs/ the worlds built in code (kinematic0, ballistic0 and truss0 nodes at tick 0, an asset table) and, in inputs/neg/, a world and two audio scenes the export refuses; out/ every exported document; docs/ documents WAI wrote and then altered, and documents WAI did not write; imported/ the WAI bytes the accepted foreign documents read to.

Exactness. A verifier conforms when it reaches every vector's outcome, bytes and report. A document WAI wrote reads back to the bundle it was written from, byte for byte.

Provenance. wai_scene_vectors gen writes every file but README.md and .gitattributes from the pinned inputs and from values written in code (scene_map::corpus::generate): node ids minted from SHA-256 of a label, asset hashes SHA-256 of a label, positions and times constants, documents written as text in code. No media, model or recording is in the corpus.

python3 -I ../scene_verify.py .