Files
hyperframes/packages/studio
Vance Ingalls 94f3e5efa7 test(studio): keep mixing-desk words out of the group strip
The design docs live on their own branch and do not travel with this PR, so
the vocabulary rule they carry has no way to reach whoever next edits this
component. It was already broken once this week: the strip shipped a "Bus
level" label and a "how loud this bus is playing right now" tooltip.

Extends the copy test that already guards "no dB" — same idea, same file. It
reads the rendered text AND every title/aria-label, because the regression it
is named for was a tooltip and textContent would have missed it.

Verified against the real defect: restoring the "Bus level" label fails it with
`expected 'Bus level⚠ Too loud…' not to match /\b(bus|submix|fader|insert|send)s?\b/i`.

Also restores the ⚠ the §5 mockup gives "Too loud" in the file's own docblock,
which had drifted from the markup.
2026-08-20 02:16:30 -07:00
..
2026-08-19 19:28:13 -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