Files
Miguel Ángel 7797c5ead4 feat(studio): the timeline shows one row per top-level element and no child rows (#4132)
* feat(studio): the timeline shows one row per top-level element and no child rows

* test(studio): cover the top-level id collection the timeline rows come from

* chore(studio): shorten the row-elements comment

* fix(studio): keep implicit layers as rows and say why a nested element cannot be hidden

* refactor(studio): drop implicit layers; rows are exactly what topLevelElements returns

* test(studio): untimed root wrappers are not timeline rows

* fix(studio): an empty timeline message clears the rows; drop the unused implicit contract

* fix(studio): an empty clip manifest reaches the timeline and clears the rows

* fix(studio): an empty clip manifest does not shrink the transport to its 1s floor

* chore(ci): allow deleting the child-row expansion hook and its test
2026-09-18 21:27:53 -04:00
..
2026-09-18 17:44:18 -04:00
2026-03-21 22:43:56 -07: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 19, Zustand 4/5 (state management; development uses Zustand 5)
  • CodeMirror 6 (editor)
  • Tailwind CSS (styling)
  • Vite (bundler)
  • Phosphor Icons

Documentation

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