hyperframes: add HTML/CSS/GSAP as a parallel composition runtime
Separates creative grammar (renderer_family) from technical engine (render_runtime) so HyperFrames can stand alongside Remotion as a first-class runtime instead of masquerading as a Remotion sub-case. Locks runtime choice at proposal stage and enforces it end-to-end: the schemas require it, video_compose routes by it, the reviewer fails closed on silent swaps, and a parametrized contract test walks every pipeline manifest to ensure each planning-stage skill explains the conversation to the user. Adds hyperframes_compose (scaffold/lint/ validate/render/doctor/add_block), a playbook -> CSS style bridge, and vendored HyperFrames Layer 3 skills from commit d291358, pinned via PROVENANCE.md for future re-sync. Final_review now records render_runtime_used and runtime_swap_detected so compose lies are catchable after the fact.
This commit is contained in:
@@ -1,8 +1,27 @@
|
||||
# Animation & Motion Graphics Pipeline
|
||||
|
||||
> Sources: School of Motion curriculum, After Effects documentation, Remotion documentation,
|
||||
> Disney's 12 Principles of Animation (Frank Thomas & Ollie Johnston), Motion Design School,
|
||||
> The Animator's Survival Kit (Richard Williams)
|
||||
> HyperFrames documentation, Disney's 12 Principles of Animation (Frank Thomas & Ollie
|
||||
> Johnston), Motion Design School, The Animator's Survival Kit (Richard Williams)
|
||||
|
||||
## Runtime Choice — Remotion vs HyperFrames
|
||||
|
||||
Animation work in OpenMontage runs on one of two composition runtimes. Both
|
||||
are first-class; the choice is creative, not a fallback:
|
||||
|
||||
- **Remotion (React-based)** — when the scene is a React component, uses the
|
||||
existing chart/text-card/comparison/kpi stack, or needs pixel-accurate
|
||||
frame-level interpolation through `useCurrentFrame()` + `interpolate()`.
|
||||
Default for data-heavy explainers.
|
||||
- **HyperFrames (HTML/GSAP)** — when the motion is expressed naturally as
|
||||
CSS + GSAP timelines: kinetic typography, product promos, launch reels,
|
||||
website/UI-driven compositions, registry-block-driven scenes. Default
|
||||
when the brief is motion-graphics-led and the scene library in
|
||||
`remotion-composer/` doesn't already cover the look.
|
||||
|
||||
See `skills/core/hyperframes.md` and `skills/meta/animation-runtime-selector.md`
|
||||
for the full decision matrix. Whichever runtime is chosen at proposal must
|
||||
be locked in `edit_decisions.render_runtime` and preserved through compose.
|
||||
|
||||
## Quick Reference Card
|
||||
|
||||
|
||||
Reference in New Issue
Block a user