Files
Miguel Ángel e06e2c9004 fix(studio): render in-process instead of proxying to producer server
The Vite dev server proxied studio renders to a separate producer server
(port 9847) that had to be started manually in a second terminal. When
it wasn't running — the common case — renders silently failed with no
error message.

Replace the SSE proxy with direct in-process rendering via
@hyperframes/producer, the same code path used by the CLI and embedded
preview mode. All three entry points now render identically.

- Add @hyperframes/producer as a workspace dev dependency
- Resolve system Chrome before rendering (the producer only checks
  PRODUCER_HEADLESS_SHELL_PATH and the Puppeteer cache, not system paths)
- Use variable indirection + @vite-ignore to hide the dynamic import
  from esbuild's static analysis (vite.config.ts is bundled at startup)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 23:58:29 +02:00
..
2026-03-21 22:43:56 -07: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 18/19, Zustand (state management)
  • CodeMirror 6 (editor)
  • Tailwind CSS (styling)
  • Vite (bundler)
  • Phosphor Icons

Documentation

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