Files
led2/.planning/phases/05-live-show-execution/05-DISCUSSION-LOG.md
2026-04-07 08:48:34 +00:00

2.1 KiB

Phase 5: Live Show Execution - Discussion Log

Audit trail only. Do not use as input to planning, research, or execution agents. Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.

Date: 2026-04-07 Phase: 05-live-show-execution Areas discussed: Cue Scheduler Location, Live Preview Panel


Cue Scheduler Location

Option Description Selected
Server decides Extend ws.py tick handler — server scans cues and calls UDPSender.send()
Browser decides Browser tracks blocks, sends fire_cue messages to server as relay

User's choice: Server decides


Timing Window

Option Description Selected
60ms look-ahead window Fire if block starts within 60ms of current tick position — never miss a cue
Exact match + tolerance ±20ms window — more precise but may miss cues between ticks

User's choice: 60ms look-ahead window


Live Preview Panel

What to show

Option Description Selected
Animation color + type per device Solid strip per device showing active animation and color
Per-LED simulation Actual animated frame-by-frame rendering (complex, needs backend or JS reimplement)

User's choice: Animation color + type per device


Panel placement

Option Description Selected
Below timeline, above transport bar Horizontal strip always visible during playback
Sidebar panel Right sidebar alongside devices — less vertical space

User's choice: Below timeline, above transport bar


Claude's Discretion

  • Keyboard shortcuts (UI-03) — standard DAW conventions (Space, arrows, Ctrl+Z/S)
  • Show save/load UX — auto-save already exists via CRUD; Ctrl+S as explicit save shortcut
  • Preview panel height — compact, 40-60px, one row per device

Deferred Ideas

  • Per-LED frame simulation — v2
  • Standalone fullscreen preview mode — out of scope
  • Keyboard shortcut customization UI — out of scope for v1