diff --git a/docs/superpowers/specs/2026-06-22-right-axis-deterministic-dream-design.md b/docs/superpowers/specs/2026-06-22-right-axis-deterministic-dream-design.md new file mode 100644 index 0000000..2ac9a89 --- /dev/null +++ b/docs/superpowers/specs/2026-06-22-right-axis-deterministic-dream-design.md @@ -0,0 +1,109 @@ +# Right axis as a real-time deterministic dream + +**Status:** built (session 0013, 2026-06-22) — Phase 1 superseded by Phase 2 in the +same session after by-eye review (the haze "looked like blurred video, not stylized"). +The shipped Right dream is the **Phase 2 painterly** path. +**Surface:** simulator preview (`simulator/`, `player/alteration.py`) +**Supersedes:** the "discrete pre-baked, flow-stabilized restyle variant" definition +of the Right axis in the machine-altered-perception design SPEC §4.1 — a deliberate +change to a core decision (see Why). + +## Why + +The pre-baked SD img2img variants (`bake_right_variants.py`) are **too fluid**: the +painting re-rolls every keyframe (~2 s) and the optical-flow tween warps frames into +each other, so across the loop the dream churns and melts. The right brain should be +a **still altered state** — a calm, holistic counterpart to the busy, accreting +analytical Left — not a restless morph. + +## Concept + +The Right knob no longer selects a pre-baked variant. It drives a **deterministic, +real-time filter** applied live to the base footage, scaled 0→4. The same filter runs +every frame, so the look is **stable by construction** — locked to scene content, +moving only where the footage already moves. Bonus: no baked variant videos to ship, +which simplifies the eventual hardware (Pi) story. + +Staged delivery (both built this session; Phase 2 is what shipped): +- **Phase 1: luminous haze** — soft-focus, blooming highlights, pastel desaturation. + CSS + a bloom layer. Built, then **retired** by eye: blur reads as *out-of-focus + video*, not stylized, and softens the base's crisp motion. +- **Phase 2: painterly flatten (shipped)** — a WebGL2 **Kuwahara** shader on a + `` restyling the live video frames. Edge-preserving, so motion/structure + stay as crisp as the source — the dream is the same footage, just stylized. No blur. + +## Phase 2 — the shipped painterly dream + +- **Renderer:** `` over `