Skip to content

Sequences: modes, sizes, run on the phone, colours, markers, view options (#321, #323) - #322

Merged
bubulux merged 6 commits into
mainfrom
feat/321-sequence-modes
Nov 9, 2026
Merged

bubulux merged 6 commits into
mainfrom
feat/321-sequence-modes

Conversation

@bubulux

@bubulux bubulux commented Nov 9, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #321
Closes #323

What changed

  • Select / Insert mode in the sequence bar (V / I). Select is the default: a click on empty lane space clears the selection and never adds; Insert adds where a lane is clicked; Alt+click adds in Select too.

  • Keyframe sizes S / M / L (14 / 20 / 28 px), lanes grow with them; kept per browser in the Studio settings.

  • Playback shared in vocab (packages/vocab/src/sequencePlayer.ts: SequenceEmitter, SequencePlayer): the Studio's preview and the phone's run use the same code (native fades, NEEWER smoothing, loop).

  • Run on phone: from the start, or from the playhead (a note when a track starts inside a fade). The Studio saves and waits for the server's revision, sends lights.run; the phone fetches GET /api/light-sequences/:id (new), checks the revision, and plays it on its own clock through its own connections. It reports lights.run.state every 250 ms. The Studio locks that sequence, follows the phone's position, turns Play and Live off; Stop (banner or Space). The phone keeps playing without the Studio; its Proxy screen shows the run with Stop.

  • Keyframe effect options (Lights: sequences: select/insert mode, keyframe sizes, run on the phone #321): a keyframe's effect takes its options, the same fields as the Devices panel (shared EffectOptions.tsx).

  • Track colours (Lights: sequences: track colours, markers, view options #323): 8 tokens --track-1…8 for Sun and Set; new tracks take the next unused one; label stripe, lane tint, keyframe border.

  • Markers (Lights: sequences: track colours, markers, view options #323): points and ranges, across the sequence or on a track; M / Shift+M twice / the Marker button / click or drag in a strip; inspector for name, in, out, scope. Migration 0036 (light_sequences.markers, additive), needed remotely before release.

  • View menu (Lights: sequences: track colours, markers, view options #323): intensity graph, light colour fill, value labels, effect and power badges; per browser.

Decisions (owner, in #321 and #323)

Mode switch with Alt+click; 20 / 28 px; start or playhead with a note; the phone keeps playing.

Checked

make check (new tests: player, the GET route, tenancy, the relay of lights.run). In the Studio (local, Playwright): Select click adds nothing, Alt+click and Insert add, L renders 28 px keyframes. Markers, track colours (picker), marker inspector, and all four view options rendered with a test sequence (deleted after). Not clicked through: Run on phone (needs the phone and lights); the Set (dark) theme of the new colours.

🤖 Generated with Claude Code

bubulux and others added 5 commits November 9, 2026 21:12
…red in vocab (#321)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he Studio locks and follows (#321)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nel (#321)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…migration 0036 (#323)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ck), View options (#323)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bubulux bubulux changed the title Sequences: select/insert mode, keyframe sizes, run on the phone (#321) Sequences: modes, sizes, run on the phone, colours, markers, view options (#321, #323) Nov 9, 2026
…eted like keyframes; range edges drag (#323)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bubulux
bubulux merged commit 76a140e into main Nov 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lights: sequences: track colours, markers, view options Lights: sequences: select/insert mode, keyframe sizes, run on the phone

1 participant