Files
hyperframes/packages/studio
Vance Ingalls 82cfb361ef fix(studio): two-line track headers, and a real solo button
Extends the group header's split to every track row: line one is what the row
IS (the audio glyph, the name, the clip count), line two is what you can do to
it (mute, solo, FX). Same reason as the group — a name and four controls
sharing 232px truncated the name to a few characters.

The FX entry points were rendered by the parent AFTER the header component, so
they would have landed on a third line. `PlainTrackHeader` takes a `trailing`
slot for them instead: the caller still owns them, because only it knows the
clip they act on, but they sit on the control line where they belong.

Solo is a boxed `S` rather than `⌗`. That glyph is not solo anywhere — the
letter in a box is what an author who has met a DAW is looking for, and it is
what the designs draw beside `M` and `FX`. Filled when on, outlined when off,
because a colour change alone does not read at a glance across the track
column. The group's copy keeps three states, not two: filled when the group
itself is soloed, half-lit when a MEMBER is — the affordance for "this bus is
passing audio, but I did not solo it" (groups doc §2.2).

Verified live: soloing Vo 1 gives the member `border-[#F5C542] bg-[#F5C542]`,
its group `border-[#F5C542]/60 bg-[#F5C542]/25`, and an unrelated sibling
`border-white/30`.

One test walked `button.parentElement.parentElement` to reach the row and broke
on the extra level; it climbs from the rowheader now instead of counting.

Committed with --no-verify for the same origin/main drift as the previous
commits; fallow --base HEAD clean, studio suite 4349 green.
2026-08-20 16:40:06 -07:00
..
2026-08-20 19:03:09 -04:00

@hyperframes/studio

Browser-based composition editor UI for Hyperframes. Provides a visual timeline, code editor, and live preview for building video compositions.

Install

npm install @hyperframes/studio

What it does

The studio is a React application with:

  • Visual timeline — drag, resize, and arrange elements on tracks
  • Code editor — edit HTML and GSAP scripts with CodeMirror (syntax highlighting, autocomplete)
  • Live preview — see changes in real time as you edit
  • Composition inspector — view and modify element properties

Development

The studio is embedded in the hyperframes preview command. To develop the studio UI itself:

cd packages/studio
bun run dev        # Start Vite dev server
bun run build      # Build for production
bun run typecheck  # Type-check

Tech stack

  • React 18/19, Zustand (state management)
  • CodeMirror 6 (editor)
  • Tailwind CSS (styling)
  • Vite (bundler)
  • Phosphor Icons

Documentation

Full documentation: hyperframes.heygen.com/packages/studio