Files
hyperframes/packages/studio/fixtures/storyboard-sample
James RussoandClaude Opus 4.8 8a13a07074 feat(studio): add storyboard manifest contract, parser, and read API (#1528)
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>
2026-06-17 12:06:56 -07:00
..

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):

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