mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-11 06:30:03 +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>
27 lines
929 B
Markdown
27 lines
929 B
Markdown
# 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` / `animated` statuses) the contact-sheet tiles render.
|
|
- Frame 5 (`05-cta.html`) is intentionally **absent** and `status: outline`, so
|
|
the grid has an outline placeholder to render.
|
|
|
|
Preview the storyboard view (flag-gated):
|
|
|
|
```bash
|
|
VITE_STUDIO_ENABLE_STORYBOARD=1 npx hyperframes preview packages/studio/fixtures/storyboard-sample
|
|
```
|
|
|
|
Inspect just the parsed manifest the Studio consumes:
|
|
|
|
```bash
|
|
curl localhost:<port>/api/projects/<id>/storyboard | jq
|
|
```
|