### Volumetric / 4D splats — `wai.splat.4d`, LIVE at /volumetric (2026-06-13)

- **Phase 5 complete — the roadmap frontier.** A `wai.splat.4d` is a
  **temporal Gaussian splat**: the static splat extended to time. Each
  Gaussian carries a keyframed track (position / scale / rotation /
  color / opacity); the sink interpolates the cloud at frame N in the
  `wai.det.fixed64` floor. Conformance is **frame-state-equivalence**:
  the reconstructed Gaussian set at frame N hashes identically on every
  sink, no tolerance — the temporal counterpart of the static splat.
- **`wai-rs` `splat4d` feature** (reuses the world `Fx` floor + blake3,
  no codec/ML deps): the `W4DS` container (contract + per-Gaussian
  keyframe tracks, 14 `Fx` per key) + a deterministic reconstruct (Fx
  linear interpolation, hold outside the track). Trig-free (quaternions
  interpolate component-wise; the sink normalizes for rendering).
  `frame_hash` = the frame-state-equivalence quantity; `clip_hash` =
  frame-independent identity. Registered + tiered **Lossy** (consistent
  with `wai.splat.spz` — the splat representation approximates the
  captured scene, even though the reconstruction is frame-state-exact).
- **`volumetric-conformance/` corpus** + `wai_splat4d_vectors gen|verify`:
  orbit (two Gaussians swap places), pulse (scale + fade), morph (color
  shift) — every frame's hash checked, all pass.
- **Browser sink — `Splat4dSink` (`wai-web`)** + `/volumetric` demo page,
  LIVE: reconstructs the cloud in-tab and **verifies every frame's hash**
  against the corpus; a frame scrubber re-derives the cloud, drawn as
  painter-sorted alpha Gaussians (a sink with WebGPU renders the same set
  with the full EWA pipeline — presentation). wasm pkg uniquely named
  `wai_splat4d`.
- **Spec PROMOTED to `extensions/volumetric.md`** (site mirror),
  registered in SPEC.md §5 (`wai.splat.4d`). **Honest about size**: the
  win is content-addressing + dedup + a verifiable per-frame state, NOT
  payload reduction (a real cloud is MB-scale) — stated plainly.
- **The cargo set is complete across the medium**: sight (worlds/replay),
  hearing (audio/mixdown), touch (haptics/sample), live state
  (feed/replay), a moving body (avatar/pose), and now a moving volume
  (splat.4d/frame-state) — one `wai.det.fixed64` floor, one verification.

