energy-steering §5.5: the steering figure is the hops' own energy averaged over
their delivery, not the network's, which is largely flat against traffic.
live-rooms' joules_ceiling is held against an attribution by bytes. The
research taxonomy's compression lever claims cost and a mobile radio's draw,
not network energy. CHANGELOG: the slice's entry.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
(cherry picked from commit 9b6e4badab)
8 KiB
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. The discipline it enforces: do not claim "everything becomes instructions" — a real photograph is irreducibly samples. Different position on the axis → a different lever, and a different gain.
2. The four levers
| # | Lever | What it does | Where it applies |
|---|---|---|---|
| 1 | Codec dispatch | name a registered codec; the sink decodes 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: fewer bytes, which lowers the cost of egress, encode and relays, and the draw of a mobile radio while it receives; it does not lower a wired network's energy, which is largely flat against traffic. Lever 3 is the medium-shift story: the unit of value moves from bytes delivered to what the sink renders, and the sink's decode and render energy, measured there, is what changes. 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 | formats the web already carries as instructions; 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 cargo-roadmap phases
Five classes were built as phases of cargo-roadmap.md; each has shipped.
| Content | What it shares with the thesis | Phase and status |
|---|---|---|
| Object-based / spatial audio | the audio form of the video thesis: ship sound objects + a scene, render to the listener's speaker config; mixdown-equivalence is the audio counterpart of replay-equivalence | Phase 1, shipped (wai.audio.scene) |
| Haptics | instruction streams to actuators; tiny payloads, pure recipe, deterministic | Phase 2, shipped (wai.haptic.signal) |
| Live state-feeds | sports/events as state, not pixels — the multiplayer-games precedent applied to broadcast | Phase 3, shipped (wai.feed.state, the broadcast profile of wai.world.live) |
| Digital humans / avatars | a high-bandwidth capture that reduces to a rig plus a pose stream | Phase 4, shipped (wai.avatar.pose) |
| Volumetric / light fields | the splat path extended in time; frame-state-equivalence | Phase 5, shipped (wai.splat.4d) |
| Full-sensory / olfactory | the far end of the axis | 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
- Lever 3 applies most directly to animation film (a sealed camera-on-rails world) and to live state-feeds.
- Object-based spatial audio carries the same equivalence rule to audio: mixdown-equivalence is the audio counterpart of replay-equivalence.
- Lever 4 needs no reconstruction at all: content-addressing, JWP receipts and measured joules apply to every class, including raw captured reality.
See cargo-roadmap.md for the phased build plan.