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:
calesthio
2026-04-18 18:37:00 -07:00
parent 9e17263aa5
commit b4f7ec4eee
118 changed files with 10128 additions and 126 deletions
+28 -2
View File
@@ -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.