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]>
39 lines
2.2 KiB
Markdown
39 lines
2.2 KiB
Markdown
# live-conformance/scene — scene carriage
|
|
|
|
The corpus of [`extensions/scene-carriage.md`](../../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/`](../../world-conformance/vectors/), and `moving.wscn`,
|
|
`distance.wscn` and `stereo_pair.wscn` of
|
|
[`../../audio-conformance/vectors/`](../../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 .
|
|
```
|