open-standards/wai/research/content-taxonomy.md
Transaction Science 7636314a0e wai: linear film — wai.film.linear, a sealed camera-on-rails world
The taxonomy's #1 commercial wedge (animation / CGI film) was the last 🟡
with the substrate already built. A film is a sealed wai.world.replay +
a keyframed camera track + a frame schedule: ship the world that generates
the imagery, not the pixels. The sink renders the frames at its own
resolution/rate/quality — lever 3 (instructions-at-the-sink) for the
synthesizable slice of "video". Whole films travel in ~1 KB.

- film feature (reuses the world engine + Fx floor + blake3): the WFLM
  container (contract + embedded WWLD + camera track) and the deterministic
  reconstruct contract. Conformance = film-equivalence: per-frame
  BLAKE3(world_state_hash(frame_tick) || interpolated camera pose) is
  bit-identical on every machine. It composes the embedded world's
  replay-equivalence (inherited unchanged) with the camera track in the
  wai.det.fixed64 floor; the render (pixels) stays the sink's, exactly as
  the worlds renderer / audio-scene HRTF.
- World engine gains one general primitive: collect_checkpoints_sampled /
  run_sampled_dispatch — read the state hash at an arbitrary frame cadence,
  independent of the contract's checkpoint cadence (a renderer samples the
  timeline at its own frame rate). Additive; world corpus still green.
- FilmReceipt (per-frame Merkle leaves, the splat4d shape) + a wai_meter
  .wflm branch that brackets a real frame-reconstruction burst and emits
  MEASURED joules.
- Registered (wai.film.linear, tiered Lossless — film-equivalence is exact);
  corpus film-conformance/ + wai_film_vectors gen|verify (dolly, two-shot,
  crane-up), wired into the four-platform conformance matrix.
- Promoted to extensions/linear-film.md + SPEC §5 temporal row; taxonomy
  animation-film → ✅; README + CHANGELOG. Honest scope: the size win is for
  films GENERATED from a world (animation/CGI/motion-graphics); live-action
  capture is irreducible samples and stays wai.video.*.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-16 09:06:28 -04:00

7.7 KiB
Raw Permalink Blame History

WAI Content Taxonomy — the bearings doc

Living reference for what web-transported content benefits from WAI, how, and which extension covers it. Not normative; it's the map we plan cargo classes against. Edit as classes ship.

1. The reframe: a spectrum, not a list of media types

Everything transported over the web sits on one axis:

captured reality  ──►  synthesizable  ──►  executable  ──►  symbolic
   (samples)          (rendered from        (it IS a        (already
                       a description)        program)        instructions)

WAI's leverage is proportional to how much of the content the sink can reconstruct instead of receiving pre-rendered. That's the whole map. The discipline it enforces: do not claim "everything becomes instructions" — a real photograph is irreducibly samples. Different position on the axis → different lever → different size of win.

2. The four levers

# Lever What it does Where it applies
1 Codec dispatch name the SOTA royalty-free codec; sink has it or falls back all media
2 Neural shared-prior ship conditioning, regenerate against a requirement-of-existence model perceptual media a model can reconstruct
3 Instructions-at-the-sink ship the recipe / state / intent; the sink renders anything whose payload is secretly a rendered result
4 Determinism + receipts replay/decode/mixdown-equivalence, content-addressing, JWP signatures, joules cross-cutting — applies even to content that can't be reconstructed

Levers 1–2 are the compression story. Lever 3 is the medium-shift story (the Disney "price per byte → joules per experience" thesis). Lever 4 is the trust-and-energy story, and it rides on top of all of them.

3. The taxonomy (with mechanism + coverage)

Status: ✅ shipped · 🟡 partial/composable from shipped pieces · ⬜ white space.

A. Captured reality — irreducible samples (levers 1, 2, 4)

Content Primary lever Capability / extension Status
Photographs / images codec dispatch + neural wai.image.* (PNG/JXL/AVIF/JPEG, neural family) ✅
Recorded audio codec dispatch + neural wai.audio.{flac,opus}, wai.neural.{dac,encodec32,…} ✅
Recorded / cinematographic video codec dispatch + neural wai.video.av1*, wai.neural.{dcvc_rt,dcvc_fm} ✅
Live capture: conferencing, telephony, radio, broadcast codec dispatch + receipts core audio/video caps + JWP per object 🟡 (transport out of scope; caps + receipts exist)
Sensor / telemetry / IoT content-addressing + receipts wai.text.zstd + JWP (or a wai.feed.* class) 🟡
Scientific captures: microscopy, medical imaging, LiDAR/point clouds, genomic codec dispatch + content-addressing core caps; point clouds → splat/volumetric path 🟡
Biosignals (EEG/ECG) content-addressing + receipts wai.text.zstd + JWP 🟡

B. Synthesizable media — shipped today as the render (lever 3)

Content Primary lever Capability / extension Status
Animation / CGI film instructions-at-sink wai.film.linear (a sealed world + camera track + frame schedule, film-equivalence) ✅
Motion graphics / titles / ads instructions-at-sink interactive-worlds / joule-ui 🟡
Music as score / synthesis instructions-at-sink wai.audio.score (note events, deterministic synth, mixdown-equivalence) ✅
Procedural / game audio, soundscapes instructions-at-sink spatial-audio (wai.audio.scene) 🟡 Phase 1
Text-to-speech neural prior ship text + a voice prior (wai.neural.* speech) 🟡
Data visualizations / charts instructions-at-sink ship data + spec (joule-ui) 🟡
Diagrams, vector art, fonts instructions-at-sink the precedents that already won the web; envelope only ✅ (precedent)
Maps / geospatial instructions-at-sink map standard ✅ (sibling)

C. Interactive / executable — it IS a program (levers 3, 4)

Content Primary lever Capability / extension Status
Videogames / interactive worlds instructions + determinism + receipts interactive-worlds (wai.world.*) ✅
3D scenes / models content-addressed assets wai.mesh.glb ✅
Gaussian splats content-addressed assets wai.splat.spz ✅
AR / VR / XR immersive scenes instructions-at-sink interactive-worlds + a sink pose/camera mode 🟡 (substrate exists; XR sink mode unbuilt)
Volumetric / light-field / holographic / 6DoF video instructions-at-sink wai.splat.4d (temporal Gaussian tracks, frame-state-equivalence) ✅
Avatars / digital humans instructions-at-sink wai.avatar.pose (skeletal sim + animation ops, skins a wai.mesh.glb) ✅
UIs / applications instructions-at-sink + receipts joule-ui standard ✅ (sibling)
Documents-as-programs (interactive/reactive) instructions-at-sink joule-ui / interactive-worlds 🟡
Simulations / digital twins instructions + determinism interactive-worlds sim registrants; CAD/mathground lineage 🟡

D. Structured / symbolic — already instructions (levers 1, 4)

Content Primary lever Capability / extension Status
Text / markup / documents codec + content-addressing wai.text.{zstd,xz}; reading surface = Access/Lumina ✅
Code / software / packages content-addressing + receipts wai.text.zstd + JWP 🟡
Datasets / tabular / scientific data / knowledge graphs content-addressing + receipts wai.text.* + JWP; JouleDB lineage 🟡
Notifications / messages / event-&-state feeds instructions + receipts wai.feed.state (broadcast profile, replay-equivalence) ✅

The under-the-radar classes (flagged white space)

Content Why it matters Plan
Object-based / spatial audio the exact audio analog of the video thesis: ship sound objects + a scene, render to the listener's speaker config — the cleanest technical fit Phase 1 (wai.audio.scene)
Haptics instruction streams to actuators; tiny payloads, pure recipe, deterministic Phase 2 (wai.haptic.signal)
Live state-feeds sports/events as state, not pixels — the multiplayer-games precedent applied to broadcast; a top commercial wedge Phase 3 (broadcast profile of wai.world.live + wai.feed.state)
Digital humans / avatars the highest-bandwidth capture today, the most reducible to rig + stream — "personal at broadcast scale" Phase 4
Volumetric / light fields where "video" goes next; no clean envelope exists for it yet Phase 5
Full-sensory / olfactory the holodeck endgame on the axis; not scheduled

4. The one sentence to navigate by

WAI carries whatever it can reconstruct, and verifies whatever it carries. Reconstruction (instructions-at-sink, neural priors) is the compression story; verification (determinism, content-addressing, receipts, joules) is the trust-and-energy story — and the second applies even to the content that can't be reconstructed.

5. Reading the map

  • The biggest commercial wedges: animation-film (a sealed camera-on-rails world) and live state-feeds.
  • The cleanest technical analog to what's already proven: object-based spatial audio (mixdown-equivalence is the audio counterpart of replay-equivalence).
  • The cross-cutting win that needs no reconstruction at all: content-addressing + JWP receipts + measured joules on every class, including raw captured reality.

See cargo-roadmap.md for the phased build plan.