mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 04:38:33 +00:00
First PR in the Studio storyboarding stack. Establishes the parseable contract the storyboard UI reads from; no UI yet. - core/storyboard: StoryboardManifest/Frame/Globals types + a lenient STORYBOARD.md parser (frontmatter + status/src/duration/transition_in, freeform narrative tolerated, never throws, records warnings). Exposed as @hyperframes/core/storyboard (browser-safe). - studio-api: GET /projects/:id/storyboard returns the normalized manifest with per-frame srcExists; missing file -> exists:false, not 404. - fixture: packages/studio/fixtures/storyboard-sample for dogfooding the storyboard view in later PRs (built/animated frames + one outline). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
storyboard-sample (Studio fixture)
A small, self-contained project for dogfooding the Studio Storyboard view. Not a registry catalog item — it lives here purely as test content for the storyboard UI/UX work.
It exercises the storyboard contract end to end:
STORYBOARD.md— structured manifest (frontmatter + 5 frames) in the canonical format the parser reads.compositions/frames/0{1..4}-*.html— live HTML frame sub-compositions (built/animatedstatuses) the contact-sheet tiles render.- Frame 5 (
05-cta.html) is intentionally absent andstatus: outline, so the grid has an outline placeholder to render.
Preview the storyboard view (flag-gated):
VITE_STUDIO_ENABLE_STORYBOARD=1 npx hyperframes preview packages/studio/fixtures/storyboard-sample
Inspect just the parsed manifest the Studio consumes:
curl localhost:<port>/api/projects/<id>/storyboard | jq