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:
@@ -40,12 +40,38 @@ Based on discovery, classify the setup:
|
||||
|
||||
| Tier | What's Available | Best Pipelines |
|
||||
|------|-----------------|----------------|
|
||||
| **Zero-key** | Piper TTS + Pexels/Pixabay stock (if keys added) + Remotion + FFmpeg | Animated Explainer (stock visuals + free narration) |
|
||||
| **Starter** | One configured image generation provider + free TTS + Remotion | Animated Explainer, Animation (AI-generated visuals) |
|
||||
| **Zero-key** | Piper TTS + Pexels/Pixabay stock (if keys added) + Remotion and/or HyperFrames + FFmpeg | Animated Explainer (stock visuals + free narration) |
|
||||
| **Starter** | One configured image generation provider + free TTS + Remotion and/or HyperFrames | Animated Explainer, Animation (AI-generated visuals) |
|
||||
| **Standard** | Image gen + TTS + music gen | Animated Explainer, Animation, Screen Demo, Hybrid |
|
||||
| **Full** | Video gen + image gen + premium TTS + music | All pipelines including Cinematic, Avatar, Talking Head |
|
||||
| **Full + GPU** | Cloud APIs + local video gen models | All pipelines with free local fallbacks |
|
||||
|
||||
**Composition runtimes** — both are first-class and surface as distinct
|
||||
entries in the provider menu. Report each one's availability separately:
|
||||
|
||||
- **Remotion** requires Node.js + `npx` + `remotion-composer/` + `node_modules`.
|
||||
Best for React-based scene components (text cards, stat cards, charts),
|
||||
word-level captions, and the `TalkingHead` avatar composition.
|
||||
- **HyperFrames** requires Node.js ≥ 22 + `npx` + FFmpeg. Consumed via
|
||||
`npx @hyperframes/cli` (no monorepo checkout required). Best for
|
||||
HTML/CSS/GSAP motion graphics — kinetic typography, product promos,
|
||||
launch reels, website-to-video workflows, registry blocks.
|
||||
|
||||
Name BOTH runtimes explicitly in the "Ready to go" summary when both are
|
||||
available — not "Remotion" alone. A fresh-session agent that doesn't
|
||||
mention HyperFrames by name will fail to present it at proposal time;
|
||||
naming it here sets the expectation that the agent is runtime-agnostic.
|
||||
|
||||
If only one is available, note it in the summary and mention what the
|
||||
other would unlock. If neither is available, tell the user their options
|
||||
are FFmpeg-only (simple concat/trim) and what's needed to unlock HTML/React
|
||||
composition.
|
||||
|
||||
**Do NOT pick a runtime during onboarding.** Runtime selection happens at
|
||||
the proposal stage, after the agent understands the brief. During
|
||||
onboarding you're reporting capabilities, not making production decisions.
|
||||
See `AGENT_GUIDE.md` → "Present Both Composition Runtimes (HARD RULE)".
|
||||
|
||||
### Step 3: Greet and Orient
|
||||
|
||||
Present a **short, friendly capability summary**. Do NOT dump the raw provider menu. Instead, translate it into plain language.
|
||||
|
||||
Reference in New Issue
Block a user