Suggested model tier: Sonnet 4.6 medium effort, in chunks — this is the largest ticket; run panels as separate supervised passes, not one unsupervised sequence
Context
The studio where prototype parity actually happens. The original Lumos prototype (JSX artifact) had a control panel exposing every visual parameter; the KMP reimplementation is close but doesn't match it. Workbench recreates that panel inside Phosphor, on the M4 Mac mini, so tuning happens against the real renderer — then records the tuned result via Oscilloscope. The parameter presets saved here become the paramSnapshot headers of the production traces Socket ships.
This is also where the human taste gate lives: side-by-side comparison against reference captures of the original artifact, signed off per animation style. CI cannot approve aesthetics.
Objective
A :phosphor-workbench Compose Desktop app where every tunable Lumos parameter is adjustable live, presets save/load, traces record and replay in a compare view, and parity with the original prototype is verified style-by-style.
Expected outcomes
:phosphor-workbench module (JVM/desktop only, never published as a library artifact).
- Parameter panel: recon enumerates every tunable input (animation style/
AtmospherePattern selection, color ramps, pattern intensities, rotation speed, halo, glyph triggers — full list from recon). Sliders/pickers bound to a live LumosSource.Live preview.
- Preset save/load: parameter snapshots as JSON files; the same snapshot type embedded in
VoxelTrace.paramSnapshot.
- Reference panel: loads reference media (screen recordings/GIFs of the original artifact) beside the live preview for A/B parity work.
- Record panel: duration/fps/seed/segment-name inputs →
Oscilloscope.capture → writes .vxt.
- Compare view: toggle Live ↔ Trace for the same seed; glyph test-fire buttons over both.
- Parity checklist: a tracked list (one entry per animation style from the original prototype) with a sign-off checkbox; persisted to a JSON file in the repo so progress survives restarts.
Technical constraints
Compose Desktop; reuse LumosCanvas for both preview and replay (no parallel renderer); presets and checklist files live under workbench/ in-repo; no new dependencies into published modules.
Tasks
A — Recon (comment before code): Enumerate every tunable parameter reachable from the simulation entry point, with type and current default. Cross-check against the original prototype's control list (Miley attaches the original artifact's parameter list to this ticket — blocker until attached). Comment the unified parameter table; STOP for approval.
B — Shell + parameter panel + live preview.
C — Presets + reference panel.
D — Record + compare view.
E — Parity checklist UI + persistence.
Each task is a separate PR with a human review between — do not chain B→E unsupervised.
Validation / DoD
Each panel demonstrably works in a screen recording attached to its PR; a full loop is performed end-to-end once (tune → preset → record → compare → check off one style); parity checklist exists with all styles enumerated and at least one signed off by Miley.
Out of scope
Shipping any trace asset to Socket; exporters; packaging/notarizing the Workbench app; watch/CarPlay previews.
Human review gate
Recon parameter table approval before B; per-panel PR review; per-style parity sign-off is Miley-only and is the gate the Socket integration ticket depends on.
Agent handoff prompt
You are implementing PHO-38 in socket-link/phosphor. Depends on PHO-37 (merged).
Work ONE task (A–E) per session; STOP after each for review.
1. RECON FIRST (Task A): enumerate all tunable simulation parameters
(name, type, default, file:line). Reconcile with the attached original
prototype parameter list. Comment the unified table. STOP.
2. Subsequent tasks per ticket sections B–E. Reuse LumosCanvas for preview
and replay. Presets = JSON param snapshots, same type as
VoxelTrace.paramSnapshot.
3. :phosphor-workbench is desktop-only and never published; add no deps to
published modules.
4. Attach a screen recording to every PR.
If recon contradicts any assumption in this ticket, STOP and comment.
Suggested model tier: Sonnet 4.6 medium effort, in chunks — this is the largest ticket; run panels as separate supervised passes, not one unsupervised sequence
Context
The studio where prototype parity actually happens. The original Lumos prototype (JSX artifact) had a control panel exposing every visual parameter; the KMP reimplementation is close but doesn't match it. Workbench recreates that panel inside Phosphor, on the M4 Mac mini, so tuning happens against the real renderer — then records the tuned result via
Oscilloscope. The parameter presets saved here become theparamSnapshotheaders of the production traces Socket ships.This is also where the human taste gate lives: side-by-side comparison against reference captures of the original artifact, signed off per animation style. CI cannot approve aesthetics.
Objective
A
:phosphor-workbenchCompose Desktop app where every tunable Lumos parameter is adjustable live, presets save/load, traces record and replay in a compare view, and parity with the original prototype is verified style-by-style.Expected outcomes
:phosphor-workbenchmodule (JVM/desktop only, never published as a library artifact).AtmospherePatternselection, color ramps, pattern intensities, rotation speed, halo, glyph triggers — full list from recon). Sliders/pickers bound to a liveLumosSource.Livepreview.VoxelTrace.paramSnapshot.Oscilloscope.capture→ writes.vxt.Technical constraints
Compose Desktop; reuse
LumosCanvasfor both preview and replay (no parallel renderer); presets and checklist files live underworkbench/in-repo; no new dependencies into published modules.Tasks
A — Recon (comment before code): Enumerate every tunable parameter reachable from the simulation entry point, with type and current default. Cross-check against the original prototype's control list (Miley attaches the original artifact's parameter list to this ticket — blocker until attached). Comment the unified parameter table; STOP for approval.
B — Shell + parameter panel + live preview.
C — Presets + reference panel.
D — Record + compare view.
E — Parity checklist UI + persistence.
Each task is a separate PR with a human review between — do not chain B→E unsupervised.
Validation / DoD
Each panel demonstrably works in a screen recording attached to its PR; a full loop is performed end-to-end once (tune → preset → record → compare → check off one style); parity checklist exists with all styles enumerated and at least one signed off by Miley.
Out of scope
Shipping any trace asset to Socket; exporters; packaging/notarizing the Workbench app; watch/CarPlay previews.
Human review gate
Recon parameter table approval before B; per-panel PR review; per-style parity sign-off is Miley-only and is the gate the Socket integration ticket depends on.
Agent handoff prompt