# Session 0007.0 — Transcript > App: human-experience-filter-art > Date: 2026-06-06 (PST) · 14:12 → 17:57 > Type: coding > Goal: continue the roadmap; reframed by the operator to **simulator-first** — > bring the slice-1 alteration engine into the simulator so the experience can be > tuned before any hardware. > Outcome: **design spec written, committed, and pushed** on branch > `feature/simulator-alteration-preview`. No code changes. Implementation deferred > to the next session (design + implementation to ship as one PR). ## Plan Bring the alteration engine into the simulator (scope: tune the look), per `docs/superpowers/specs/2026-06-06-simulator-alteration-preview-design.md`: - Python-canonical engine, thin browser renderer. - Dark/Light = live runtime color grade; Left/Right = 5×5 grid of pre-baked authored variant clips selected by coordinate (24 videos/base clip). - Revises design §4.3/§10: HUD baked into variant videos (authorial precision) rather than runtime overlay — trades away near-free i18n. - Engine reconciliation: parameterize `Calibration`, add `VariantRef`, slim `RenderPlan` (drop runtime `AnalyticalOverlay`/`Restyle`); `state.py` crossfade on variant change. - Simulator: retire selection X-ray + `/api/select`; add `/api/alteration` + `/api/clips` + variant manifest; placeholder-variant generator. ## Pre-session state - `main` at `5290785`, clean and pushed. Sub-projects 1 & 2 done; sub-project 3 (Player Runtime) in progress — slice 1 (pure-logic `player/` core) merged via PR #5 (session 0006). - A **stale nested worktree** (`.worktrees/feature-BuildSimulator11`, branch `feature/player-alteration-core`, already merged) was present and breaking the session resolver ("ambiguous app.json"), exactly as the session-0006 memory gotcha predicted. ## Turn-by-turn arc 1. **Session gate.** Opened with "What's next?" → classified as a coding session; ran `wgl-session-coding-init`. 2. **Baseline cleanup.** Claim dry-run failed on the resolver ambiguity. Verified the stale worktree's branch was fully merged + clean, removed the worktree and branch, and deleted the empty `.worktrees/` dir. Tree back to clean `main`. 3. **Claimed session 0007** (no other sessions in flight). 4. **Operator steer:** "only design things that will run in the simulator; get everything working the way we like in the simulator before hardware." Saved as a `feedback` memory ([[simulator-first-before-hardware]]). 5. **Discovered** the simulator (`simulator/`, built session 0004) is fully decoupled from `player/` — it exercises the OLD *selection* model and has no alteration surface. That gap became the work. 6. **Brainstorming** (with the visual companion). Decisions, one at a time: scope = tune the alteration look; medium = short looping video; Right restyle = labeled stand-in shader (swappable for real variants); calibration = live-adjustable curves; architecture = **A, Python-canonical**; integration = new view, **retire the selection X-ray**. 7. **Interactive look mockup** (browser): a real nature image with the 4 knobs as live sliders. Operator confirmed Dark/Light read well, but said for Left/Right they'll **author videos with the overlay baked in** for precise HUD control. 8. **Surfaced the tradeoff:** baking the HUD reverses design §4.3/§10's near-free i18n. Operator chose **precision wins**. Confirmed the variant grid as **full 5×5 = 24 authored clips per base** (shown as a grid mockup). 9. **Revised model** presented and approved: base clip + variant manifest; `RenderPlan = {grade, variant}`; runtime overlay/restyle layers retired; placeholder-variant bootstrapping via ffmpeg. 10. **Wrote the spec**, self-reviewed, committed on a feature branch. 11. Operator: "do [implementation] next session. finalize this one." → `wgl-session-finalize`. ## Cut state (end of session) | Repo | Branch | Commit | State | |---|---|---|---| | human-experience-filter-art | `feature/simulator-alteration-preview` | `3ef21fb` | pushed to origin, **not merged** | - `docs/superpowers/specs/2026-06-06-simulator-alteration-preview-design.md` — new, committed. - `main` unchanged at `5290785`. - Working tree clean. Visual-companion server stopped; `.superpowers/` gitignored. - No tests run (no code changed). ## What lands on the operator's plate - **Author the 24 variant videos** per base clip (the Left×Right grid), with HUD baked in. The simulator will consume them via the manifest; placeholder variants cover the gap until then. - **Deferred decisions** (also surfaced in chat): - *knob→strength calibration* — unresolved since session 0006; will be settled by eye in the simulator's calibration panel next session, then baked into `DEFAULT_CALIBRATION`. - *grade tints baked HUD* — accepted under "precision wins"; revisit only if it reads badly once real authored clips exist. ## Prompt the operator can paste into the next session ``` /goal Implement the simulator alteration preview on branch feature/simulator-alteration-preview, per docs/superpowers/specs/2026-06-06-simulator-alteration-preview-design.md — begin with the writing-plans skill, then build: parameterize Calibration + add VariantRef and slim RenderPlan in player/, add /api/alteration + /api/clips + simulator/clips.py variant manifest, rewrite the simulator UI as the player preview, retire the selection X-ray + /api/select, add the placeholder-variant generator, and update tests + USER_GUIDE + ROADMAP §3 + the parent design §4.3/§10 pointer. ``` (Or resume with `/goal next` — the `Next /goal:` field is stored in memory `sub-project-3-player-progress.md`.)