# @html-video/studio-next (experiment) Spike to evaluate integrating [`@hyperframes/studio`](https://github.com/heygen-com/hyperframes) (Apache-2.0) as our editor UI instead of hand-rolling click-to-edit, timeline, property panel, etc. ## Status (2026-05-28) - ✅ `pnpm dev` boots a Vite + React app on port 3072 - ✅ `import { SourceEditor } from '@hyperframes/studio'` compiles and renders - ✅ Side-by-side: CodeMirror editor on the left, srcDoc preview on the right - ⚠️ `useElementPicker` / `Player` / `Timeline` talk to the iframe via `postMessage` and require the iframe to host the **hyperframes runtime** (responds to `{ source: "hf-parent", type: "control", action: "enable-pick-mode" }` etc). Our agent-generated HTML does not have that runtime, so those components don't drop in. ## Read this before doing more work here What we **can** lift directly (no runtime requirement): - `SourceEditor` — CodeMirror 6 wrapper for HTML / CSS / JS - `applyPatch`, `parseStyleString`, `mergeStyleIntoTag`, `findElementBlock` from `@hyperframes/studio/utils` - `EaseCurveEditor` (visual GSAP curve picker — works on a value/onChange interface) What we **can't** lift without bigger work: - `useElementPicker` (postMessage handshake) - `Player`, `PlayerControls`, `Timeline`, `VideoThumbnail` (require runtime) - `NLELayout`, `StudioApp` (pull in their Composition + FileManager data model) ## How to run ```bash pnpm install # from monorepo root pnpm --filter @html-video/studio-next dev # → http://127.0.0.1:3072 ``` Production studio still lives at `packages/project-studio/` (port 3071). This package is a spike — do not depend on it.