When to Use
Use@hyperframes/studio when you need to:
- Build a custom composition editor UI (e.g., embedded in your own web application)
- Integrate the Hyperframes preview player into a larger product
- Extend the editor with custom panels, toolbars, or integrations
- Preview compositions during development — use the CLI (
npx hyperframes dev), which launches the studio for you - Render compositions to MP4 — use the CLI or producer
- Capture frames programmatically — use the engine
Running the Studio
Via the CLI (recommended)
From the monorepo
http://localhost:3000 by default.
Features
Live Preview
The studio renders your composition in an iframe using the Hyperframes runtime. What you see in the preview is exactly what will be captured during rendering — the same runtime code, the same seek logic, the same clip lifecycle. Changes to your HTML are picked up automatically through hot reload, so you can editindex.html in your editor and see the result in the browser within milliseconds.
Timeline View
The timeline panel provides a visual representation of your composition’s structure:- Each clip appears as a colored bar on its track
- Bar position and width reflect
data-startanddata-duration - Tracks are stacked by
data-track-index(higher tracks render in front) - Relative timing references (e.g.,
data-start="intro") are resolved and displayed as absolute positions
Player Controls
The studio includes a full set of playback controls:- Play / Pause — start and stop playback
- Seek — click anywhere on the timeline to jump to that point
- Scrub — drag the playhead to scrub through the composition frame by frame
- Frame step — advance or rewind one frame at a time for precise positioning
Hot Reload
File changes are detected and applied without restarting the server. The preview maintains its current playback position when possible, so you can tweak an animation at the 5-second mark without having to seek back to it after every save.Architecture
The studio is a React application with the following structure:- Iframe preview — your composition HTML is loaded in an isolated iframe with the Hyperframes runtime injected. This ensures the preview uses the same rendering path as production.
-
Runtime bridge — the studio communicates with the iframe via
postMessageto control playback (play, pause, seek) and receive state updates (current time, duration, readiness). -
Timeline component — parses the composition using
@hyperframes/coreto extract clip timing data and renders the visual timeline panel. - File watcher — a development server (Vite-based) watches your project files and triggers hot module replacement when changes are detected.
Embedding in Your Own Application
If you are building a product that includes a composition editor, you can use the studio’s components directly:The studio depends on
@hyperframes/core for parsing and runtime injection. You do not need to install core separately — it is included as a dependency.Related Packages
CLI
Launches the studio via
npx hyperframes dev — the easiest way to preview compositions.Core
Types, parsing, and runtime that the studio uses for preview and timeline rendering.
Producer
Renders the compositions you build in the studio to finished MP4 files.
Engine
The capture engine that powers production rendering of your compositions.