freecodego 0.1.7-alpha.2.2 → 0.1.7-rc.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +45 -5
- package/README.md +4 -4
- package/README.zh.md +4 -4
- package/cordis.patch.yml +230 -126
- package/dist/assets/design/craft/FUTURE_SECTIONS.md +9 -0
- package/dist/assets/design/craft/LICENSE +201 -0
- package/dist/assets/design/craft/PROVENANCE.md +77 -0
- package/dist/assets/design/craft/README.md +106 -0
- package/dist/assets/design/craft/accessibility-baseline.md +201 -0
- package/dist/assets/design/craft/animation-discipline.md +154 -0
- package/dist/assets/design/craft/anti-ai-slop.md +84 -0
- package/dist/assets/design/craft/color.md +88 -0
- package/dist/assets/design/craft/form-validation.md +221 -0
- package/dist/assets/design/craft/laws-of-ux.md +296 -0
- package/dist/assets/design/craft/rtl-and-bidi.md +186 -0
- package/dist/assets/design/craft/state-coverage.md +134 -0
- package/dist/assets/design/craft/typography-hierarchy-editorial.md +182 -0
- package/dist/assets/design/craft/typography-hierarchy.md +165 -0
- package/dist/assets/design/craft/typography.md +122 -0
- package/dist/assets/design/react-bits/SKILL.md +130 -0
- package/dist/assets/design/skills/embedded-captions/CATALOG.md +91 -0
- package/dist/assets/design/skills/embedded-captions/SKILL.md +260 -0
- package/dist/assets/design/skills/embedded-captions/assets/fonts/char-widths.json +2211 -0
- package/dist/assets/design/skills/embedded-captions/assets/strokefonts/HersheyScript1.svg +242 -0
- package/dist/assets/design/skills/embedded-captions/assets/strokefonts/HersheyScriptMed.svg +242 -0
- package/dist/assets/design/skills/embedded-captions/dna/README.md +148 -0
- package/dist/assets/design/skills/embedded-captions/dna/chrome.json +68 -0
- package/dist/assets/design/skills/embedded-captions/dna/cream.json +69 -0
- package/dist/assets/design/skills/embedded-captions/dna/documentary.json +62 -0
- package/dist/assets/design/skills/embedded-captions/dna/editorial.json +70 -0
- package/dist/assets/design/skills/embedded-captions/dna/glitch.json +82 -0
- package/dist/assets/design/skills/embedded-captions/dna/ink.json +65 -0
- package/dist/assets/design/skills/embedded-captions/dna/keynote.json +62 -0
- package/dist/assets/design/skills/embedded-captions/dna/loud.json +75 -0
- package/dist/assets/design/skills/embedded-captions/dna/neon.json +58 -0
- package/dist/assets/design/skills/embedded-captions/dna/velocity.json +89 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/README.md +48 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/_archive/champion/spec.md +98 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/_archive/champion/template.html +188 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/_archive/memory-wall/spec.md +134 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/_archive/memory-wall/template.html +179 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/_archive/portrait-header/spec.md +81 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/_archive/portrait-header/template.html +170 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/cinematic-cream/spec.md +16 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/cinematic-cream/template.html +226 -0
- package/dist/assets/design/skills/embedded-captions/modes/cinematic/engine.html +355 -0
- package/dist/assets/design/skills/embedded-captions/modes/standard/_anatomy.md +232 -0
- package/dist/assets/design/skills/embedded-captions/modes/standard/_motion.md +192 -0
- package/dist/assets/design/skills/embedded-captions/references/aesthetic-principles.md +167 -0
- package/dist/assets/design/skills/embedded-captions/references/anti-patterns.md +188 -0
- package/dist/assets/design/skills/embedded-captions/references/bespoke-vs-presets.md +178 -0
- package/dist/assets/design/skills/embedded-captions/references/caption-grouping.md +130 -0
- package/dist/assets/design/skills/embedded-captions/references/composition-craft.md +522 -0
- package/dist/assets/design/skills/embedded-captions/references/direction-catalog.md +138 -0
- package/dist/assets/design/skills/embedded-captions/references/example-renders/champion.html +371 -0
- package/dist/assets/design/skills/embedded-captions/references/example-renders/memory-wall.html +334 -0
- package/dist/assets/design/skills/embedded-captions/references/failure-modes.md +145 -0
- package/dist/assets/design/skills/embedded-captions/references/layout-heuristics.md +238 -0
- package/dist/assets/design/skills/embedded-captions/references/motion-vocabulary.md +148 -0
- package/dist/assets/design/skills/embedded-captions/references/rail.md +68 -0
- package/dist/assets/design/skills/embedded-captions/references/reference-bar.md +47 -0
- package/dist/assets/design/skills/embedded-captions/references/scene-types.md +94 -0
- package/dist/assets/design/skills/embedded-captions/references/typographic-moves.md +266 -0
- package/dist/assets/design/skills/embedded-captions/references/typography-presets.md +63 -0
- package/dist/assets/design/skills/embedded-captions/scripts/fixtures/heroless/theme.json +11 -0
- package/dist/assets/design/skills/embedded-captions/scripts/fixtures/heroless/transcript.json +10 -0
- package/dist/assets/design/skills/embedded-captions/themes/README.md +243 -0
- package/dist/assets/design/skills/embedded-captions/themes/anchor.json +27 -0
- package/dist/assets/design/skills/embedded-captions/themes/arcade.json +51 -0
- package/dist/assets/design/skills/embedded-captions/themes/aurora.json +41 -0
- package/dist/assets/design/skills/embedded-captions/themes/biolume.json +35 -0
- package/dist/assets/design/skills/embedded-captions/themes/brush.json +74 -0
- package/dist/assets/design/skills/embedded-captions/themes/chalkboard.json +52 -0
- package/dist/assets/design/skills/embedded-captions/themes/dossier.json +56 -0
- package/dist/assets/design/skills/embedded-captions/themes/graffiti.json +62 -0
- package/dist/assets/design/skills/embedded-captions/themes/hologram.json +41 -0
- package/dist/assets/design/skills/embedded-captions/themes/inkwater.json +43 -0
- package/dist/assets/design/skills/embedded-captions/themes/laser.json +46 -0
- package/dist/assets/design/skills/embedded-captions/themes/lastpage.json +33 -0
- package/dist/assets/design/skills/embedded-captions/themes/neonsign.json +53 -0
- package/dist/assets/design/skills/embedded-captions/themes/ordnance.json +54 -0
- package/dist/assets/design/skills/embedded-captions/themes/papercut.json +37 -0
- package/dist/assets/design/skills/embedded-captions/themes/popup.json +46 -0
- package/dist/assets/design/skills/embedded-captions/themes/ransom.json +62 -0
- package/dist/assets/design/skills/embedded-captions/themes/scoreboard.json +54 -0
- package/dist/assets/design/skills/embedded-captions/themes/spectrum.json +46 -0
- package/dist/assets/design/skills/embedded-captions/themes/stardust.json +29 -0
- package/dist/assets/design/skills/embedded-captions/themes/stomp.json +43 -0
- package/dist/assets/design/skills/embedded-captions/themes/terminal.json +49 -0
- package/dist/assets/design/skills/embedded-captions/themes/thunder.json +44 -0
- package/dist/assets/design/skills/embedded-captions/themes/transit.json +44 -0
- package/dist/assets/design/skills/embedded-captions/themes/vhs.json +47 -0
- package/dist/assets/design/skills/faceless-explainer/SKILL.md +235 -0
- package/dist/assets/design/skills/faceless-explainer/references/cut-catalog.md +215 -0
- package/dist/assets/design/skills/faceless-explainer/references/motion-language.md +156 -0
- package/dist/assets/design/skills/faceless-explainer/references/story-design.md +255 -0
- package/dist/assets/design/skills/faceless-explainer/references/visual-design.md +146 -0
- package/dist/assets/design/skills/faceless-explainer/sub-agents/frame-worker.md +12 -0
- package/dist/assets/design/skills/general-video/SKILL.md +164 -0
- package/dist/assets/design/skills/general-video/sub-agents/frame-worker.md +34 -0
- package/dist/assets/design/skills/hyperframes/SKILL.md +134 -0
- package/dist/assets/design/skills/hyperframes/references/brief-contract.md +108 -0
- package/dist/assets/design/skills/hyperframes/references/brief-format.md +72 -0
- package/dist/assets/design/skills/hyperframes/references/capability-menu.md +47 -0
- package/dist/assets/design/skills/hyperframes/references/frame-worker-core.md +80 -0
- package/dist/assets/design/skills/hyperframes/references/intent-interview.md +71 -0
- package/dist/assets/design/skills/hyperframes/references/pitch-round.md +40 -0
- package/dist/assets/design/skills/hyperframes/references/production-loop.md +26 -0
- package/dist/assets/design/skills/hyperframes/references/review-loop.md +37 -0
- package/dist/assets/design/skills/hyperframes/references/route-briefs.md +11 -0
- package/dist/assets/design/skills/hyperframes/references/routes/embedded-captions.md +11 -0
- package/dist/assets/design/skills/hyperframes/references/routes/faceless-explainer.md +12 -0
- package/dist/assets/design/skills/hyperframes/references/routes/general-video.md +12 -0
- package/dist/assets/design/skills/hyperframes/references/routes/motion-graphics.md +11 -0
- package/dist/assets/design/skills/hyperframes/references/routes/music-to-video.md +12 -0
- package/dist/assets/design/skills/hyperframes/references/routes/pr-to-video.md +28 -0
- package/dist/assets/design/skills/hyperframes/references/routes/product-launch-video.md +13 -0
- package/dist/assets/design/skills/hyperframes/references/routes/remotion-to-hyperframes.md +9 -0
- package/dist/assets/design/skills/hyperframes/references/routes/slideshow.md +11 -0
- package/dist/assets/design/skills/hyperframes/references/routes/talking-head-recut.md +11 -0
- package/dist/assets/design/skills/hyperframes/references/script-format.md +52 -0
- package/dist/assets/design/skills/hyperframes/references/skill-lifecycle.md +30 -0
- package/dist/assets/design/skills/hyperframes/references/storyboard-format.md +99 -0
- package/dist/assets/design/skills/hyperframes/references/subagent-dispatch.md +35 -0
- package/dist/assets/design/skills/hyperframes/references/workflow-catalog.md +10 -0
- package/dist/assets/design/skills/hyperframes-animation/SKILL.md +86 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/animate-text.md +64 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/animejs.md +130 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/css-animations.md +143 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/gsap-easing-and-stagger.md +199 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/gsap-timeline-and-labels.md +96 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/gsap-transforms-and-perf.md +129 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/gsap.md +105 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/html-in-canvas-patterns.md +507 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/lottie.md +130 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/three.md +145 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/typegpu.md +182 -0
- package/dist/assets/design/skills/hyperframes-animation/adapters/waapi.md +101 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/agent-progress-theater.md +76 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/camera-journey.md +61 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/comparison-split.md +27 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/constellation-hub.md +63 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/cta-morph-press.md +63 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/cursor-ui-demo.md +89 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/dataviz-countup.md +59 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/device-surface-showcase.md +68 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/fixed-anchor-cycle.md +46 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/grid-card-assemble.md +81 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/kinetic-type-beats.md +133 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/logo-assemble-lockup.md +121 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/overwhelm-surround.md +58 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/panel-edit-live-sync.md +73 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/prompt-type-submit-generate.md +85 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/spatial-pan-stations.md +37 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/ticker-takeover.md +29 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/titlecard-reveal.md +80 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/transcript-scroll-artifact-reveal.md +45 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/typewriter-reveal.md +51 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/video-text-pivot.md +30 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints/zoom-out-workspace-reveal.md +68 -0
- package/dist/assets/design/skills/hyperframes-animation/blueprints-index.md +202 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/brand-reveal-assemble-zoom.html +382 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/comparison-split-cards.html +649 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/concept-demo-decode-pan.html +520 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/cta-morph-press.html +468 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/cta-orbit-collapse.html +1298 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/demo-page-scroll-spotlight.html +759 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/hook-counter-burst.html +729 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/messaging-multi-phrase.html +352 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/metric-video-text-pivot.html +779 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/problem-mockup-overwhelm.html +1374 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/proof-logo-chain.html +861 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/takeover-ticker-displace.html +347 -0
- package/dist/assets/design/skills/hyperframes-animation/examples/workflow-approve-press.html +606 -0
- package/dist/assets/design/skills/hyperframes-animation/references/motion-blur.md +133 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/3d-camera-flight.md +180 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/3d-page-scroll.md +135 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/3d-text-depth-layers.md +128 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/ai-tracking-box.md +139 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/ambient-glow-bloom.md +133 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/anchored-layout-expand.md +148 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/asr-keyword-glow.md +128 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/avatar-cloud-network.md +145 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/camera-cursor-tracking.md +133 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/card-morph-anchor.md +134 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/center-outward-expansion.md +88 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/chart-scrub-readout.md +151 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/chromatic-glitch.md +150 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/context-sensitive-cursor.md +140 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/control-target-sync.md +131 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/coordinate-target-zoom.md +138 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/counting-dynamic-scale.md +115 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/css-marker-patterns.md +208 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/cursor-click-ripple.md +104 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/cursor-drag.md +141 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/depth-of-field-blur.md +112 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/depth-scatter-assemble.md +139 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/discrete-text-sequence.md +146 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/dynamic-content-sequencing.md +149 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/gradient-text-sweep.md +136 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/gsap-effects.md +196 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/hacker-flip-3d.md +123 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/kinetic-beat-slam.md +137 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/motion-blur-streak.md +130 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/multi-cursor-choreography.md +133 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/multi-phase-camera.md +129 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/nudge-curve.md +47 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/orbit-3d-entry.md +148 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/particle-burst.md +149 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/physics-press-reaction.md +101 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/press-release-spring.md +108 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/reactive-displacement.md +92 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/scale-swap-transition.md +88 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/sine-wave-loop.md +85 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/split-tilt-cards.md +123 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/spring-pop-entrance.md +107 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/stat-bars-and-fills.md +145 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/svg-icon-enrichment.md +141 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/svg-path-draw.md +122 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/theme-crossfade-morph.md +126 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/vertical-spring-ticker.md +104 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/viewport-change.md +148 -0
- package/dist/assets/design/skills/hyperframes-animation/rules/waterfall-entry.md +81 -0
- package/dist/assets/design/skills/hyperframes-animation/rules-index.md +113 -0
- package/dist/assets/design/skills/hyperframes-animation/techniques.md +507 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/TRANSITION-REGISTRY.md +168 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/catalog.md +127 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-3d.md +12 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-blur.md +51 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-cover.md +43 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-destruction.md +95 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-dissolve.md +66 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-distortion.md +45 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-grid.md +10 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-light.md +49 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-mechanical.md +30 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-other.md +25 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-push.md +41 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-radial.md +37 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/css-scale.md +24 -0
- package/dist/assets/design/skills/hyperframes-animation/transitions/overview.md +153 -0
- package/dist/assets/design/skills/hyperframes-audio/SKILL.md +476 -0
- package/dist/assets/design/skills/hyperframes-audio/references/attributes.md +138 -0
- package/dist/assets/design/skills/hyperframes-audio/references/diagnosis.md +274 -0
- package/dist/assets/design/skills/hyperframes-audio/references/fx-registry.md +84 -0
- package/dist/assets/design/skills/hyperframes-audio/references/presets.md +216 -0
- package/dist/assets/design/skills/hyperframes-core/SKILL.md +97 -0
- package/dist/assets/design/skills/hyperframes-core/references/composition-patterns.md +224 -0
- package/dist/assets/design/skills/hyperframes-core/references/creator-editing-recipes.md +491 -0
- package/dist/assets/design/skills/hyperframes-core/references/data-attributes.md +78 -0
- package/dist/assets/design/skills/hyperframes-core/references/determinism-rules.md +53 -0
- package/dist/assets/design/skills/hyperframes-core/references/full-screen-motion.md +67 -0
- package/dist/assets/design/skills/hyperframes-core/references/minimal-composition.md +69 -0
- package/dist/assets/design/skills/hyperframes-core/references/sub-compositions.md +176 -0
- package/dist/assets/design/skills/hyperframes-core/references/tailwind.md +104 -0
- package/dist/assets/design/skills/hyperframes-core/references/tracks-and-clips.md +87 -0
- package/dist/assets/design/skills/hyperframes-core/references/variables-and-media.md +107 -0
- package/dist/assets/design/skills/hyperframes-creative/SKILL.md +71 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/biennale-yellow/FRAME.md +289 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/biennale-yellow/caption-skin.html +221 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/biennale-yellow/frame-showcase.html +1214 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/blockframe/FRAME.md +275 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/blockframe/caption-skin.html +224 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/blockframe/frame-showcase.html +1347 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/blue-professional/FRAME.md +307 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/blue-professional/caption-skin.html +223 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/blue-professional/frame-showcase.html +1372 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/bold-poster/FRAME.md +275 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/bold-poster/caption-skin.html +230 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/bold-poster/frame-showcase.html +1140 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/broadside/FRAME.md +284 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/broadside/caption-skin.html +225 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/broadside/frame-showcase.html +1166 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/capsule/FRAME.md +284 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/capsule/caption-skin.html +224 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/capsule/frame-showcase.html +1465 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/cartesian/FRAME.md +278 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/cartesian/caption-skin.html +222 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/cartesian/frame-showcase.html +1263 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/cobalt-grid/FRAME.md +265 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/cobalt-grid/caption-skin.html +238 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/cobalt-grid/frame-showcase.html +1468 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/code-editorial/FRAME.md +277 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/code-editorial/caption-skin.html +224 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/code-editorial/fonts/OFL-eb-garamond.txt +93 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/code-editorial/fonts/OFL-inter.txt +93 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/code-editorial/fonts/OFL-jetbrains-mono.txt +93 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/code-editorial/frame-showcase.html +1438 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/coral/FRAME.md +314 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/coral/caption-skin.html +226 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/coral/frame-showcase.html +1268 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/creative-mode/FRAME.md +333 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/creative-mode/caption-skin.html +227 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/creative-mode/frame-showcase.html +1330 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/daisy-days/FRAME.md +274 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/daisy-days/caption-skin.html +230 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/daisy-days/frame-showcase.html +1444 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/editorial-forest/FRAME.md +265 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/editorial-forest/caption-skin.html +223 -0
- package/dist/assets/design/skills/hyperframes-creative/frame-presets/editorial-forest/frame-showcase.html +1273 -0
- package/dist/assets/design/skills/hyperframes-creative/palettes/bold-energetic.md +14 -0
- package/dist/assets/design/skills/hyperframes-creative/palettes/clean-corporate.md +14 -0
- package/dist/assets/design/skills/hyperframes-creative/palettes/dark-premium.md +14 -0
- package/dist/assets/design/skills/hyperframes-creative/palettes/jewel-rich.md +14 -0
- package/dist/assets/design/skills/hyperframes-creative/palettes/monochrome.md +14 -0
- package/dist/assets/design/skills/hyperframes-creative/palettes/nature-earth.md +14 -0
- package/dist/assets/design/skills/hyperframes-creative/palettes/neon-electric.md +14 -0
- package/dist/assets/design/skills/hyperframes-creative/palettes/pastel-soft.md +14 -0
- package/dist/assets/design/skills/hyperframes-creative/palettes/warm-editorial.md +14 -0
- package/dist/assets/design/skills/hyperframes-creative/references/audio-reactive.md +76 -0
- package/dist/assets/design/skills/hyperframes-creative/references/beat-direction.md +164 -0
- package/dist/assets/design/skills/hyperframes-creative/references/composition-patterns.md +199 -0
- package/dist/assets/design/skills/hyperframes-creative/references/data-in-motion.md +19 -0
- package/dist/assets/design/skills/hyperframes-creative/references/design-adherence.md +19 -0
- package/dist/assets/design/skills/hyperframes-creative/references/design-picker.md +123 -0
- package/dist/assets/design/skills/hyperframes-creative/references/design-spec.md +55 -0
- package/dist/assets/design/skills/hyperframes-creative/references/house-style.md +73 -0
- package/dist/assets/design/skills/hyperframes-creative/references/motion-principles.md +151 -0
- package/dist/assets/design/skills/hyperframes-creative/references/narration.md +92 -0
- package/dist/assets/design/skills/hyperframes-creative/references/prompt-expansion.md +68 -0
- package/dist/assets/design/skills/hyperframes-creative/references/story-spine.md +45 -0
- package/dist/assets/design/skills/hyperframes-creative/references/storyboard-recipe.md +57 -0
- package/dist/assets/design/skills/hyperframes-creative/references/typography.md +218 -0
- package/dist/assets/design/skills/hyperframes-creative/references/video-composition.md +63 -0
- package/dist/assets/design/skills/hyperframes-creative/references/visual-styles.md +457 -0
- package/dist/assets/design/skills/hyperframes-creative/templates/design-picker.html +1432 -0
- package/dist/assets/design/skills/hyperframes-keyframes/SKILL.md +262 -0
- package/dist/assets/design/skills/hyperframes-keyframes/agents/openai.yaml +4 -0
- package/dist/assets/design/skills/hyperframes-keyframes/references/keyframe-patterns.md +108 -0
- package/dist/assets/design/skills/hyperframes-studio/SKILL.md +75 -0
- package/dist/assets/design/skills/motion-graphics/SKILL.md +175 -0
- package/dist/assets/design/skills/motion-graphics/agents/builder.md +41 -0
- package/dist/assets/design/skills/motion-graphics/agents/director.md +54 -0
- package/dist/assets/design/skills/motion-graphics/agents/finalize.md +17 -0
- package/dist/assets/design/skills/motion-graphics/catalog-map.md +52 -0
- package/dist/assets/design/skills/motion-graphics/categories/asset-fusion/module.md +37 -0
- package/dist/assets/design/skills/motion-graphics/categories/charts/module.md +22 -0
- package/dist/assets/design/skills/motion-graphics/categories/kinetic-type/module.md +19 -0
- package/dist/assets/design/skills/motion-graphics/categories/logo-reveal/module.md +17 -0
- package/dist/assets/design/skills/motion-graphics/categories/lower-thirds/module.md +20 -0
- package/dist/assets/design/skills/motion-graphics/categories/maps/module.md +61 -0
- package/dist/assets/design/skills/motion-graphics/categories/news/module.md +56 -0
- package/dist/assets/design/skills/motion-graphics/categories/stat/module.md +21 -0
- package/dist/assets/design/skills/motion-graphics/categories/tweet/module.md +16 -0
- package/dist/assets/design/skills/motion-graphics/categories/webpage/module.md +30 -0
- package/dist/assets/design/skills/motion-graphics/grounding/PROTOCOL.md +64 -0
- package/dist/assets/design/skills/motion-graphics/phases/source/guide.md +21 -0
- package/dist/assets/design/skills/motion-graphics/references/builder-contract.md +38 -0
- package/dist/assets/design/skills/motion-graphics/references/motion-vocabulary.md +47 -0
- package/dist/assets/design/skills/motion-graphics/references/shot-plan-ir.md +54 -0
- package/dist/assets/design/skills/motion-graphics/samples/asset-fusion/_ref-circle-highlight.html +306 -0
- package/dist/assets/design/skills/music-to-video/SKILL.md +207 -0
- package/dist/assets/design/skills/music-to-video/references/frame-skeleton.md +100 -0
- package/dist/assets/design/skills/music-to-video/references/montage.md +55 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitive-catalog.md +75 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/3d-card-flip/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/3d-card-flip/scene.html +119 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/bg-flow-field/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/bg-flow-field/scene.html +294 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/binary-decrypt/index.html +54 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/binary-decrypt/scene.html +85 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/blur-resolve/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/blur-resolve/scene.html +60 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/braam-punch/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/braam-punch/scene.html +100 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/chromatic-split/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/chromatic-split/scene.html +111 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/chrome-sweep/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/chrome-sweep/scene.html +68 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/counting-punch/index.html +54 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/counting-punch/scene.html +119 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/crash-zoom-in/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/crash-zoom-in/scene.html +120 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/datamosh-smear/index.html +55 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/datamosh-smear/scene.html +131 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/directional-fill/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/directional-fill/scene.html +103 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/dolly-zoom/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/dolly-zoom/scene.html +102 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/electric-arc/index.html +54 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/electric-arc/scene.html +105 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/flash-cut/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/flash-cut/scene.html +97 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/gooey-metaball/index.html +54 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/gooey-metaball/scene.html +206 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/hard-cut/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/hard-cut/scene.html +82 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/hypercut-whip/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/hypercut-whip/scene.html +44 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/iris-open/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/iris-open/scene.html +69 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/kinetic-letter-in/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/kinetic-letter-in/scene.html +64 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/liquid-morph/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/liquid-morph/scene.html +96 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/mask-reveal/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/mask-reveal/scene.html +74 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/mosaic-pack/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/mosaic-pack/scene.html +89 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/neon-flicker/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/neon-flicker/scene.html +73 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/outline-to-fill/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/outline-to-fill/scene.html +82 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/palette-flip/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/palette-flip/scene.html +97 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/particle-burst/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/particle-burst/scene.html +106 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/pixel-dissolve/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/pixel-dissolve/scene.html +86 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/radial-burst-lines/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/radial-burst-lines/scene.html +130 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/screen-shake/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/screen-shake/scene.html +78 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/slot-machine-reveal/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/slot-machine-reveal/scene.html +100 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/spotlight-sweep/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/spotlight-sweep/scene.html +102 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/staggered-exit/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/staggered-exit/scene.html +82 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/text-spectral-rays/USAGE.md +42 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/text-spectral-rays/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/text-spectral-rays/scene.html +280 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/text-wave-distort/index.html +54 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/text-wave-distort/scene.html +106 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/tile-mosaic/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/tile-mosaic/scene.html +109 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/typewriter-reveal/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/typewriter-reveal/scene.html +91 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/word-grid-burst/index.html +53 -0
- package/dist/assets/design/skills/music-to-video/references/motion-primitives/word-grid-burst/scene.html +96 -0
- package/dist/assets/design/skills/music-to-video/references/planning.md +104 -0
- package/dist/assets/design/skills/music-to-video/references/storyboard-format.md +94 -0
- package/dist/assets/design/skills/music-to-video/references/template-catalog.md +106 -0
- package/dist/assets/design/skills/music-to-video/references/templates/card-flyby/index.html +527 -0
- package/dist/assets/design/skills/music-to-video/references/templates/card-flyby/program.json +13 -0
- package/dist/assets/design/skills/music-to-video/references/templates/held-message-living-field/index.html +485 -0
- package/dist/assets/design/skills/music-to-video/references/templates/held-text-strobe-burst/index.html +302 -0
- package/dist/assets/design/skills/music-to-video/references/templates/intro-kinetic-cascade/index.html +610 -0
- package/dist/assets/design/skills/music-to-video/references/templates/intro-kinetic-cascade/program.json +41 -0
- package/dist/assets/design/skills/music-to-video/references/templates/logo-split-lockup-pulse/index.html +596 -0
- package/dist/assets/design/skills/music-to-video/references/templates/poster-tile-mosaic/index.html +589 -0
- package/dist/assets/design/skills/music-to-video/references/templates/poster-tile-mosaic/program.json +25 -0
- package/dist/assets/design/skills/music-to-video/references/templates/roll-flipbook-word-cycle/index.html +267 -0
- package/dist/assets/design/skills/music-to-video/references/templates/split-anchor-word-slot/index.html +594 -0
- package/dist/assets/design/skills/music-to-video/references/templates/split-anchor-word-slot/program.json +39 -0
- package/dist/assets/design/skills/music-to-video/references/templates/typewriter-phrase-keyword-shuffle/index.html +238 -0
- package/dist/assets/design/skills/music-to-video/sub-agents/frame-worker.md +49 -0
- package/dist/assets/design/skills/pr-to-video/SKILL.md +271 -0
- package/dist/assets/design/skills/pr-to-video/references/code-vocabulary.md +112 -0
- package/dist/assets/design/skills/pr-to-video/references/cut-catalog.md +215 -0
- package/dist/assets/design/skills/pr-to-video/references/motion-language.md +156 -0
- package/dist/assets/design/skills/pr-to-video/references/story-design.md +230 -0
- package/dist/assets/design/skills/pr-to-video/references/visual-design.md +164 -0
- package/dist/assets/design/skills/pr-to-video/sub-agents/frame-worker.md +38 -0
- package/dist/assets/design/skills/product-launch-video/SKILL.md +262 -0
- package/dist/assets/design/skills/product-launch-video/references/cut-catalog.md +220 -0
- package/dist/assets/design/skills/product-launch-video/references/motion-language.md +156 -0
- package/dist/assets/design/skills/product-launch-video/references/story-design.md +508 -0
- package/dist/assets/design/skills/product-launch-video/references/visual-design.md +126 -0
- package/dist/assets/design/skills/product-launch-video/sub-agents/frame-worker.md +21 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/SKILL.md +130 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/README.md +41 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/expected.json +26 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/hf-src/compositions/title.html +31 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/hf-src/index.html +46 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/remotion-src/package.json +14 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-1-title-card/remotion-src/tsconfig.json +15 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/README.md +54 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/expected.json +29 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/hf-src/compositions/scene-1.html +35 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/hf-src/compositions/scene-2.html +35 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/hf-src/compositions/scene-3.html +36 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/hf-src/index.html +75 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/remotion-src/package.json +14 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-2-multi-scene/remotion-src/tsconfig.json +15 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/README.md +85 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/expected.json +41 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/hf-src/compositions/scene-1.html +52 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/hf-src/compositions/scene-2.html +99 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/hf-src/compositions/scene-3.html +55 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/hf-src/index.html +70 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/package.json +15 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-3-data-driven/remotion-src/tsconfig.json +15 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/README.md +51 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/assets/test-corpus/tier-4-escape-hatch/expected.json +85 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/api-map.md +142 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/escape-hatch.md +115 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/eval.md +140 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/fonts.md +112 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/limitations.md +136 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/lottie.md +119 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/media.md +149 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/parameters.md +172 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/sequencing.md +251 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/timing.md +165 -0
- package/dist/assets/design/skills/remotion-to-hyperframes/references/transitions.md +113 -0
- package/dist/assets/design/skills/slideshow/SKILL.md +530 -0
- package/dist/assets/design/skills/slideshow/references/standalone-harness.md +1017 -0
- package/dist/assets/design/skills/talking-head-recut/NOTICE.md +39 -0
- package/dist/assets/design/skills/talking-head-recut/SKILL.md +1007 -0
- package/dist/assets/design/skills/talking-head-recut/references/DESIGN_INDEX.md +145 -0
- package/dist/assets/design/skills/talking-head-recut/references/confirm-visual-direction-with-user-do-this-first.md +211 -0
- package/dist/assets/design/skills/talking-head-recut/references/frames/clean.html +92 -0
- package/dist/assets/design/skills/talking-head-recut/references/frames/hairline.html +171 -0
- package/dist/assets/design/skills/talking-head-recut/references/frames/polaroid.html +131 -0
- package/dist/assets/design/skills/talking-head-recut/references/layouts/overlay.html +164 -0
- package/dist/assets/design/skills/talking-head-recut/references/layouts/pip.html +143 -0
- package/dist/assets/design/skills/talking-head-recut/references/layouts/split.html +121 -0
- package/dist/assets/design/skills/talking-head-recut/references/layouts/stack.html +109 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/academic.html +172 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/audit.html +170 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/editorial.html +189 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/geom.html +181 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/minimal.html +130 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/spotlight.html +142 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/swiss.html +188 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/terminal.html +196 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/whiteboard.html +170 -0
- package/dist/assets/design/skills/talking-head-recut/references/styles/xhs.html +206 -0
- package/dist/assets/design/taste/LICENSE +21 -0
- package/dist/assets/design/taste/PROVENANCE.md +70 -0
- package/dist/assets/design/taste/brandkit/SKILL.md +798 -0
- package/dist/assets/design/taste/brutalist-skill/SKILL.md +92 -0
- package/dist/assets/design/taste/gpt-tasteskill/SKILL.md +74 -0
- package/dist/assets/design/taste/image-to-code-skill/SKILL.md +1228 -0
- package/dist/assets/design/taste/imagegen-frontend-mobile/SKILL.md +1465 -0
- package/dist/assets/design/taste/imagegen-frontend-web/SKILL.md +987 -0
- package/dist/assets/design/taste/minimalist-skill/SKILL.md +85 -0
- package/dist/assets/design/taste/output-skill/SKILL.md +49 -0
- package/dist/assets/design/taste/redesign-skill/SKILL.md +178 -0
- package/dist/assets/design/taste/soft-skill/SKILL.md +98 -0
- package/dist/assets/design/taste/stitch-skill/DESIGN.md +121 -0
- package/dist/assets/design/taste/stitch-skill/SKILL.md +184 -0
- package/dist/assets/design/taste/taste-skill/SKILL.md +1043 -0
- package/dist/assets/design/taste/taste-skill/references/4-2-color-calibration.md +24 -0
- package/dist/assets/design/taste/taste-skill/references/4-7-layout-discipline-hard-rules-failing-any-of-.md +27 -0
- package/dist/assets/design/taste/taste-skill/references/4-8-image-visual-asset-strategy.md +35 -0
- package/dist/assets/design/taste/taste-skill/references/4-9-content-density.md +34 -0
- package/dist/assets/design/taste/taste-skill/references/9-f-production-test-tells-banned-outright.md +54 -0
- package/dist/assets/design/taste/taste-skill-v1/SKILL.md +226 -0
- package/dist/assets/engineering/skills-starter/engineering-ui-design/SKILL.md +84 -0
- package/dist/assets/engineering/skills-superpowers/subagent-driven-development/SKILL.md +68 -459
- package/dist/assets/engineering/skills-superpowers/subagent-driven-development/dispatch-and-review-rules.md +74 -0
- package/dist/assets/engineering/skills-superpowers/subagent-driven-development/example-workflow.md +70 -0
- package/dist/assets/engineering/skills-superpowers/subagent-driven-development/model-selection.md +40 -0
- package/dist/assets/engineering/skills-superpowers/subagent-driven-development/process-diagrams.md +92 -0
- package/dist/assets/engineering/skills-superpowers/subagent-driven-development/setup-and-ledger.md +75 -0
- package/dist/assets/uiux/LICENSE +21 -0
- package/dist/assets/uiux/PROVENANCE.md +110 -0
- package/dist/assets/uiux/data/app-interface.csv +33 -0
- package/dist/assets/uiux/data/charts.csv +26 -0
- package/dist/assets/uiux/data/colors.csv +193 -0
- package/dist/assets/uiux/data/icons.csv +106 -0
- package/dist/assets/uiux/data/landing.csv +35 -0
- package/dist/assets/uiux/data/motion.csv +18 -0
- package/dist/assets/uiux/data/products.csv +193 -0
- package/dist/assets/uiux/data/react-performance.csv +45 -0
- package/dist/assets/uiux/data/stacks/angular.csv +51 -0
- package/dist/assets/uiux/data/stacks/astro.csv +54 -0
- package/dist/assets/uiux/data/stacks/avalonia.csv +57 -0
- package/dist/assets/uiux/data/stacks/flutter.csv +53 -0
- package/dist/assets/uiux/data/stacks/html-tailwind.csv +60 -0
- package/dist/assets/uiux/data/stacks/javafx.csv +76 -0
- package/dist/assets/uiux/data/stacks/jetpack-compose.csv +53 -0
- package/dist/assets/uiux/data/stacks/laravel.csv +51 -0
- package/dist/assets/uiux/data/stacks/nextjs.csv +62 -0
- package/dist/assets/uiux/data/stacks/nuxt-ui.csv +77 -0
- package/dist/assets/uiux/data/stacks/nuxtjs.csv +68 -0
- package/dist/assets/uiux/data/stacks/react-native.csv +52 -0
- package/dist/assets/uiux/data/stacks/react.csv +67 -0
- package/dist/assets/uiux/data/stacks/shadcn.csv +69 -0
- package/dist/assets/uiux/data/stacks/svelte.csv +56 -0
- package/dist/assets/uiux/data/stacks/swiftui.csv +51 -0
- package/dist/assets/uiux/data/stacks/threejs.csv +54 -0
- package/dist/assets/uiux/data/stacks/uno.csv +60 -0
- package/dist/assets/uiux/data/stacks/uwp.csv +56 -0
- package/dist/assets/uiux/data/stacks/vue.csv +50 -0
- package/dist/assets/uiux/data/stacks/winui.csv +60 -0
- package/dist/assets/uiux/data/stacks/wpf.csv +57 -0
- package/dist/assets/uiux/data/styles.csv +89 -0
- package/dist/assets/uiux/data/typography.csv +75 -0
- package/dist/assets/uiux/data/ui-reasoning.csv +193 -0
- package/dist/assets/uiux/data/ux-guidelines.csv +120 -0
- package/dist/auto-review.js +38 -4
- package/dist/bootstrap.js +65061 -56810
- package/dist/client.cjs +4668 -3598
- package/dist/subagent-claude-code.js +493 -0
- package/dist/subagent-codex.js +1068 -0
- package/dist/tool-session-query.js +993 -0
- package/package.json +81 -74
- package/dist/agent-team.js +0 -16235
- package/dist/schedule.js +0 -15898
- package/dist/tool-agent-team.js +0 -16766
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Translation limitations
|
|
2
|
+
|
|
3
|
+
What the skill explicitly cannot translate, separated from the
|
|
4
|
+
blocker-list (which is enforced by `lint_source.py`). These are
|
|
5
|
+
_known_ gaps — surface them to the user as translation notes
|
|
6
|
+
when translating the surrounding composition.
|
|
7
|
+
|
|
8
|
+
## React patterns the skill refuses
|
|
9
|
+
|
|
10
|
+
See [escape-hatch.md](escape-hatch.md). Any of these triggers
|
|
11
|
+
a bow-out:
|
|
12
|
+
|
|
13
|
+
- `useState`, `useReducer` driving animation
|
|
14
|
+
- `useEffect` / `useLayoutEffect` with non-empty deps (side effects)
|
|
15
|
+
- async `calculateMetadata`
|
|
16
|
+
- Third-party React UI libraries (MUI, Chakra, Mantine, antd, shadcn, Radix, NextUI)
|
|
17
|
+
|
|
18
|
+
`@remotion/lambda` is no longer in this list — it's a warning, not a
|
|
19
|
+
blocker, because Lambda config is orthogonal to composition rendering.
|
|
20
|
+
The skill drops the imports and `renderMediaOnLambda(...)` calls and
|
|
21
|
+
writes a `TRANSLATION_NOTES.md` entry. See
|
|
22
|
+
[escape-hatch.md](escape-hatch.md).
|
|
23
|
+
|
|
24
|
+
## Patterns that work with caveats
|
|
25
|
+
|
|
26
|
+
### Volume ramps on `<Audio>`
|
|
27
|
+
|
|
28
|
+
Remotion accepts a function for `volume`:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
<Audio src={...} volume={(f) => interpolate(f, [0, 30], [0, 1])} />
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
HF ramps volume with a `data-automation` volume lane on the `<audio>`
|
|
35
|
+
(form in `hyperframes-core/references/creator-editing-recipes.md`).
|
|
36
|
+
Translation: write the lane from the `interpolate` points, OR bake the ramp
|
|
37
|
+
into the audio file with `ffmpeg afade`. The dropped-ramp path produces audibly different
|
|
38
|
+
output but visually-identical video, so SSIM passes — just flag it.
|
|
39
|
+
|
|
40
|
+
### `<Loop>` with stateful children
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
<Loop durationInFrames={30}>
|
|
44
|
+
<CounterThatIncrementsViaUseRef />
|
|
45
|
+
</Loop>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
A bounded GSAP repeat can reproduce _visual_ repetition when its finite count is derived
|
|
49
|
+
from the visible duration. If the looped child has cross-iteration state (a counter, a
|
|
50
|
+
randomness seed), HF won't reproduce it identically per iteration. Bow out unless the child
|
|
51
|
+
is fully deterministic per-iteration; never use `repeat: -1`.
|
|
52
|
+
|
|
53
|
+
### Remotion's `<Img>` with crossOrigin
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
<Img src="https://other-domain.com/x.png" crossOrigin="anonymous" />
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
HF's renderer doesn't enforce CORS the same way Remotion does. Most
|
|
60
|
+
public images work; private images served with auth headers won't.
|
|
61
|
+
If the source uses `crossOrigin="use-credentials"`, the asset needs
|
|
62
|
+
to be downloaded and inlined at translation time.
|
|
63
|
+
|
|
64
|
+
### Custom `presentation` in `<TransitionSeries>`
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
const customPresentation: PresentationComponent = ({ children, presentationProgress }) => {
|
|
68
|
+
return <div style={{ filter: `blur(${(1 - presentationProgress) * 20}px)` }}>{children}</div>;
|
|
69
|
+
};
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Pure presentations (transform/filter/opacity computed from progress)
|
|
73
|
+
translate to GSAP tweens cleanly. Presentations that read
|
|
74
|
+
`useCurrentFrame()` internally or have stateful children don't —
|
|
75
|
+
bow out.
|
|
76
|
+
|
|
77
|
+
### Code-split components (`React.lazy`)
|
|
78
|
+
|
|
79
|
+
```tsx
|
|
80
|
+
const HeavyChart = React.lazy(() => import("./HeavyChart"));
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
`React.lazy` is async and doesn't fit the deterministic-render model.
|
|
84
|
+
Translate to a regular import; the resulting HF composition will
|
|
85
|
+
just include all the code upfront.
|
|
86
|
+
|
|
87
|
+
## Patterns that always work
|
|
88
|
+
|
|
89
|
+
- `<AbsoluteFill>` and `<Sequence>` (any nesting)
|
|
90
|
+
- `useCurrentFrame()` derivations: `interpolate`, `spring`, `Easing`,
|
|
91
|
+
`interpolateColors`, manual math
|
|
92
|
+
- `<Audio>`, `<Video>`, `<Img>`, `<IFrame>` with simple props
|
|
93
|
+
- `staticFile()` references
|
|
94
|
+
- Custom React subcomponents that are pure functions of props
|
|
95
|
+
- Custom hooks that are pure derivations of `useCurrentFrame`
|
|
96
|
+
- `@remotion/lottie` (translates to HF's Lottie adapter)
|
|
97
|
+
- `@remotion/google-fonts/<Family>` (translates to `<link>` or `@font-face`)
|
|
98
|
+
- Sync `calculateMetadata` (resolved at translation time)
|
|
99
|
+
- `<TransitionSeries>` with built-in presentations (`fade`, `slide`,
|
|
100
|
+
`wipe`, `clockWipe`, `flip`, `iris`)
|
|
101
|
+
|
|
102
|
+
## What the skill never tries to translate
|
|
103
|
+
|
|
104
|
+
These are out-of-scope by design:
|
|
105
|
+
|
|
106
|
+
- **HDR rendering** — HF supports HDR but Remotion doesn't, so there's
|
|
107
|
+
nothing to translate from.
|
|
108
|
+
- **Variable frame rate** — both tools assume constant fps.
|
|
109
|
+
- **Multi-composition `<Composition>` lists** — translate one at a
|
|
110
|
+
time. The skill prompts the user to choose which composition.
|
|
111
|
+
- **Remotion Studio props panel** — visual prop editing in HF Studio
|
|
112
|
+
needs different infrastructure; out of scope.
|
|
113
|
+
|
|
114
|
+
## Reporting gaps to the user
|
|
115
|
+
|
|
116
|
+
When translation produces _something_ but the something has gaps, write
|
|
117
|
+
a `TRANSLATION_NOTES.md` next to the output:
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
# Translation notes
|
|
121
|
+
|
|
122
|
+
The following Remotion patterns were translated with caveats:
|
|
123
|
+
|
|
124
|
+
- `<Audio volume={(f) => ...}>` (line 15): volume ramp written as a
|
|
125
|
+
`data-automation` volume lane (see `creator-editing-recipes.md`); the
|
|
126
|
+
ffmpeg `afade` bake-in is the alternative.
|
|
127
|
+
- `<HeavyChart>` (line 30): translated as inline HTML. The original
|
|
128
|
+
React.lazy boundary was dropped — bundle size unchanged because HF
|
|
129
|
+
serves a single HTML file.
|
|
130
|
+
|
|
131
|
+
If any of these caveats matter, consider the runtime interop pattern
|
|
132
|
+
instead.
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
This file is also generated by the skill alongside the HF output, not
|
|
136
|
+
held in the corpus.
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Lottie translation: @remotion/lottie → HF lottie adapter
|
|
2
|
+
|
|
3
|
+
Lottie animations are a clean translation case — HF has a built-in
|
|
4
|
+
[Lottie adapter](https://github.com/heygen-com/hyperframes/blob/main/packages/core/src/runtime/adapters/lottie.ts)
|
|
5
|
+
that supports both `lottie-web` and `@lottiefiles/dotlottie-web`. The
|
|
6
|
+
adapter auto-discovers animations registered on `window.__hfLottie`
|
|
7
|
+
and seeks them per-frame via `goToAndStop`.
|
|
8
|
+
|
|
9
|
+
## Pattern
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
import { Lottie } from "@remotion/lottie";
|
|
13
|
+
import animationData from "./hello.json";
|
|
14
|
+
|
|
15
|
+
export const MyComp = () => (
|
|
16
|
+
<AbsoluteFill>
|
|
17
|
+
<Lottie animationData={animationData} loop={false} />
|
|
18
|
+
</AbsoluteFill>
|
|
19
|
+
);
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Translates to:
|
|
23
|
+
|
|
24
|
+
```html
|
|
25
|
+
<div id="stage" ...>
|
|
26
|
+
<div id="lottie-anim" style="width:100%;height:100%"></div>
|
|
27
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.12.2/lottie.min.js"></script>
|
|
28
|
+
<script>
|
|
29
|
+
const anim = lottie.loadAnimation({
|
|
30
|
+
container: document.getElementById("lottie-anim"),
|
|
31
|
+
renderer: "svg",
|
|
32
|
+
loop: false,
|
|
33
|
+
autoplay: false,
|
|
34
|
+
path: "assets/hello.json",
|
|
35
|
+
});
|
|
36
|
+
window.__hfLottie = window.__hfLottie || [];
|
|
37
|
+
window.__hfLottie.push(anim);
|
|
38
|
+
</script>
|
|
39
|
+
</div>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Key differences from a typical Lottie embed:
|
|
43
|
+
|
|
44
|
+
- `autoplay: false` — HF drives playback by seeking
|
|
45
|
+
- `loop: false` typically (unless Remotion's `loop={true}`)
|
|
46
|
+
- `window.__hfLottie.push(anim)` is what hooks the animation into HF's
|
|
47
|
+
per-frame seek
|
|
48
|
+
|
|
49
|
+
## Asset handling
|
|
50
|
+
|
|
51
|
+
Remotion bundles the animation JSON via webpack import. HF needs the JSON
|
|
52
|
+
on disk under `assets/` and references it via path:
|
|
53
|
+
|
|
54
|
+
1. Copy `hello.json` from the Remotion project into `hf-src/assets/`.
|
|
55
|
+
2. Reference as `path: "assets/hello.json"` in `loadAnimation`.
|
|
56
|
+
|
|
57
|
+
For dotlottie (binary) format, swap in `@lottiefiles/dotlottie-web`:
|
|
58
|
+
|
|
59
|
+
```html
|
|
60
|
+
<script src="https://unpkg.com/@lottiefiles/dotlottie-web"></script>
|
|
61
|
+
<canvas id="anim" style="width:100%;height:100%"></canvas>
|
|
62
|
+
<script>
|
|
63
|
+
const player = new DotLottie({
|
|
64
|
+
canvas: document.getElementById("anim"),
|
|
65
|
+
src: "assets/hello.lottie",
|
|
66
|
+
autoplay: false,
|
|
67
|
+
});
|
|
68
|
+
window.__hfLottie = window.__hfLottie || [];
|
|
69
|
+
window.__hfLottie.push(player);
|
|
70
|
+
</script>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The HF adapter handles both player APIs (it duck-types `goToAndStop`
|
|
74
|
+
vs `setCurrentRawFrameValue` / `seek`).
|
|
75
|
+
|
|
76
|
+
## Multiple Lottie animations
|
|
77
|
+
|
|
78
|
+
Multiple `<Lottie>` instances in one composition work — push each one
|
|
79
|
+
onto `window.__hfLottie` and the adapter will seek all of them in sync:
|
|
80
|
+
|
|
81
|
+
```js
|
|
82
|
+
window.__hfLottie.push(anim1);
|
|
83
|
+
window.__hfLottie.push(anim2);
|
|
84
|
+
window.__hfLottie.push(anim3);
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Lottie source isn't actually translation-blocking
|
|
88
|
+
|
|
89
|
+
Lottie animations encode their own deterministic timeline. They're the
|
|
90
|
+
_easiest_ part of a Remotion composition to translate because the
|
|
91
|
+
animation logic is already self-contained — neither Remotion nor HF
|
|
92
|
+
"animate" them, both just seek them. Translation cost is near-zero.
|
|
93
|
+
|
|
94
|
+
## After Effects → Lottie limitations
|
|
95
|
+
|
|
96
|
+
Lottie supports a subset of After Effects features. Expressions, most
|
|
97
|
+
Effects (drop shadow, color overlay), all blend modes beyond Normal/Add/
|
|
98
|
+
Multiply, luma mattes, and most 3D parameters are not supported. If the
|
|
99
|
+
Remotion composition uses a Lottie file that depends on these, the
|
|
100
|
+
animation will break in BOTH Remotion and HF — this isn't a translation
|
|
101
|
+
problem, it's a Lottie limitation. See
|
|
102
|
+
[airbnb/lottie/after-effects.md](https://github.com/airbnb/lottie/blob/master/after-effects.md)
|
|
103
|
+
for the full supported feature list.
|
|
104
|
+
|
|
105
|
+
## Loop behavior
|
|
106
|
+
|
|
107
|
+
Remotion's `loop={true}` plays the animation continuously. Translate it
|
|
108
|
+
to `loop: true` on the player: the HF adapter wraps composition time into
|
|
109
|
+
the animation's own length, so the cycle repeats for the whole scene. It
|
|
110
|
+
does not add playback-rate scaling; bake a non-default rate into the
|
|
111
|
+
Lottie asset and verify the rendered output.
|
|
112
|
+
|
|
113
|
+
## Performance note
|
|
114
|
+
|
|
115
|
+
Per the [Lottie adapter](https://github.com/heygen-com/hyperframes/blob/main/packages/core/src/runtime/adapters/lottie.ts)
|
|
116
|
+
docs: lottie-web's `goToAndStop(time, isFrame=false)` takes time in ms;
|
|
117
|
+
the adapter passes `time * 1000` for precision. This is more accurate
|
|
118
|
+
than passing frame numbers (especially for animations whose internal
|
|
119
|
+
fps doesn't match the HF render fps).
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Media translation: Audio, Video, Img, IFrame, staticFile
|
|
2
|
+
|
|
3
|
+
## Asset paths
|
|
4
|
+
|
|
5
|
+
Remotion's `staticFile("x.png")` resolves to the project's `public/` directory.
|
|
6
|
+
HF uses relative paths from the composition's `index.html`, conventionally
|
|
7
|
+
`assets/`:
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
<Img src={staticFile("logo.png")} />
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
```html
|
|
14
|
+
<img src="assets/logo.png" />
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
When translating, copy the asset from `remotion-src/public/x` to
|
|
18
|
+
`hf-src/assets/x`. Multiple files can be batched with a setup script;
|
|
19
|
+
see T2's `setup.sh` for an example pattern.
|
|
20
|
+
|
|
21
|
+
## `<Audio>`
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
<Audio src={staticFile("music.wav")} volume={0.5} />
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<audio
|
|
29
|
+
data-start="0"
|
|
30
|
+
data-duration="6"
|
|
31
|
+
data-track-index="2"
|
|
32
|
+
data-volume="0.5"
|
|
33
|
+
src="assets/music.wav"
|
|
34
|
+
></audio>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
`data-start` and `data-duration` are required — the runtime needs them to
|
|
38
|
+
schedule the audio. Default to the composition's full duration if Remotion
|
|
39
|
+
didn't specify trim.
|
|
40
|
+
|
|
41
|
+
### Volume ramps
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
<Audio src={staticFile("music.wav")} volume={(f) => interpolate(f, [0, 30], [0, 1])} />
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Volume ramps become a `data-automation` volume lane on the `<audio>`
|
|
48
|
+
(form in `hyperframes-core/references/creator-editing-recipes.md`); `data-volume`
|
|
49
|
+
is the static baseline.
|
|
50
|
+
|
|
51
|
+
### Trim / playbackRate
|
|
52
|
+
|
|
53
|
+
```tsx
|
|
54
|
+
<Audio src={staticFile("music.wav")} startFrom={60} endAt={180} playbackRate={1.5} />
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```html
|
|
58
|
+
<audio
|
|
59
|
+
data-start="0"
|
|
60
|
+
data-duration="<resolved from trim>"
|
|
61
|
+
data-trim-start="2"
|
|
62
|
+
data-trim-end="6"
|
|
63
|
+
data-playback-rate="1.5"
|
|
64
|
+
src="assets/music.wav"
|
|
65
|
+
></audio>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
`startFrom` / `endAt` are frame indexes; convert to seconds.
|
|
69
|
+
|
|
70
|
+
## `<Video>` and `<OffthreadVideo>`
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
<Video src={staticFile("intro.mp4")} muted playsInline />
|
|
74
|
+
<OffthreadVideo src={staticFile("intro.mp4")} muted />
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
```html
|
|
78
|
+
<video
|
|
79
|
+
muted
|
|
80
|
+
playsinline
|
|
81
|
+
data-start="0"
|
|
82
|
+
data-duration="5"
|
|
83
|
+
data-track-index="0"
|
|
84
|
+
src="assets/intro.mp4"
|
|
85
|
+
></video>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
`<OffthreadVideo>` is a Remotion-specific optimization for headless
|
|
89
|
+
rendering. HF runs in headless Chrome already, so the off-thread variant
|
|
90
|
+
collapses to a regular `<video>`.
|
|
91
|
+
|
|
92
|
+
`muted` and `playsinline` are required for the runtime to autoplay
|
|
93
|
+
(browser policy). Always emit them.
|
|
94
|
+
|
|
95
|
+
## `<Img>`
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
<Img src={staticFile("logo.png")} style={{ width: 200, height: 200 }} />
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
```html
|
|
102
|
+
<img src="assets/logo.png" style="width: 200px; height: 200px;" />
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Width/height get rounded to integer px. If the original style has
|
|
106
|
+
animated dimensions, the GSAP tween animates them — see [timing.md](timing.md).
|
|
107
|
+
|
|
108
|
+
## `<IFrame>`
|
|
109
|
+
|
|
110
|
+
```tsx
|
|
111
|
+
<IFrame src="https://example.com" />
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```html
|
|
115
|
+
<iframe src="https://example.com"></iframe>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
When HF detects a nested iframe in a composition, it auto-falls back to
|
|
119
|
+
**screenshot mode** rather than the deterministic BeginFrame mode. This
|
|
120
|
+
costs render performance but produces visibly-correct output. See
|
|
121
|
+
[hyperframes-vs-remotion.mdx](https://github.com/heygen-com/hyperframes/blob/main/docs/guides/hyperframes-vs-remotion.mdx)
|
|
122
|
+
for details.
|
|
123
|
+
|
|
124
|
+
## `delayRender()` / `continueRender()`
|
|
125
|
+
|
|
126
|
+
```tsx
|
|
127
|
+
const handle = delayRender();
|
|
128
|
+
useEffect(() => {
|
|
129
|
+
loadAsset().then(() => continueRender(handle));
|
|
130
|
+
}, []);
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Drop. HF waits on asset readiness via the [Frame Adapter pattern](https://hyperframes.heygen.com/concepts/frame-adapters)
|
|
134
|
+
— images, videos, fonts, and Lottie animations all signal load
|
|
135
|
+
completion natively. There's nothing to do at the application level.
|
|
136
|
+
|
|
137
|
+
## When the asset isn't a file
|
|
138
|
+
|
|
139
|
+
If Remotion's media source is a Buffer, dataURL, or URL.createObjectURL,
|
|
140
|
+
the asset doesn't exist on disk and can't be copied via setup.sh. Two
|
|
141
|
+
options:
|
|
142
|
+
|
|
143
|
+
1. Materialize the asset at translation time — write the buffer to a file
|
|
144
|
+
in `hf-src/assets/`.
|
|
145
|
+
2. Embed as a data URL directly in the HTML (`src="data:image/png;base64,..."`)
|
|
146
|
+
for small assets (< 100 KB).
|
|
147
|
+
|
|
148
|
+
For audio/video Buffers, option 1 is preferred — base64-encoded media
|
|
149
|
+
bloats the HTML and slows the renderer.
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Parameter translation: Zod schemas, defaultProps, calculateMetadata
|
|
2
|
+
|
|
3
|
+
How a typed Remotion `<Composition schema={...} defaultProps={...} />`
|
|
4
|
+
turns into a parameterized HF composition.
|
|
5
|
+
|
|
6
|
+
## Sync calculateMetadata (translatable)
|
|
7
|
+
|
|
8
|
+
```tsx
|
|
9
|
+
<Composition
|
|
10
|
+
id="MyVideo"
|
|
11
|
+
component={MyVideo}
|
|
12
|
+
schema={z.object({ title: z.string(), duration: z.number() })}
|
|
13
|
+
defaultProps={{ title: "Hello", duration: 90 }}
|
|
14
|
+
calculateMetadata={({ props }) => ({
|
|
15
|
+
durationInFrames: props.duration,
|
|
16
|
+
fps: 30,
|
|
17
|
+
})}
|
|
18
|
+
/>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
When `calculateMetadata` is synchronous and only uses `props`, **resolve
|
|
22
|
+
it at translation time** — call it with `defaultProps` (or whatever the
|
|
23
|
+
caller specifies) and write the concrete result into the HTML:
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<div
|
|
27
|
+
id="stage"
|
|
28
|
+
data-composition-id="MyVideo"
|
|
29
|
+
data-start="0"
|
|
30
|
+
data-duration="3" <!-- 90/30 -->
|
|
31
|
+
data-fps="30"
|
|
32
|
+
data-title="Hello"
|
|
33
|
+
></div>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The `data-title` attribute carries the value through. Code that originally
|
|
37
|
+
read `props.title` reads `document.getElementById("stage").dataset.title`
|
|
38
|
+
in HF.
|
|
39
|
+
|
|
40
|
+
Inside a scene sub-composition file that lookup does not reach the root
|
|
41
|
+
`#stage`. Pass a prop to a scene with `data-variable-values` on its host and
|
|
42
|
+
read it there with `window.__hyperframes.getVariables()` (declare defaults with
|
|
43
|
+
`data-composition-variables` on the scene's composition element).
|
|
44
|
+
|
|
45
|
+
## Async calculateMetadata (NOT translatable)
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
<Composition
|
|
49
|
+
calculateMetadata={async ({ props }) => {
|
|
50
|
+
const res = await fetch(...);
|
|
51
|
+
return { durationInFrames: res.duration };
|
|
52
|
+
}}
|
|
53
|
+
/>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Refuse + interop**. HF needs composition metadata up-front to seed the
|
|
57
|
+
HTML. Resolving network calls at translation time defeats the purpose
|
|
58
|
+
of having dynamic metadata. See [escape-hatch.md](escape-hatch.md).
|
|
59
|
+
|
|
60
|
+
The lint rule `r2hf/async-metadata` catches this. T4 case 03 tests it.
|
|
61
|
+
|
|
62
|
+
## Default props
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
defaultProps={{
|
|
66
|
+
title: "Hello",
|
|
67
|
+
subtitle: "World",
|
|
68
|
+
count: 42,
|
|
69
|
+
}}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Translate to `data-*` attributes on the root `#stage` div:
|
|
73
|
+
|
|
74
|
+
```html
|
|
75
|
+
<div id="stage" data-title="Hello" data-subtitle="World" data-count="42">...</div>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Convention: `propName` → `data-prop-name` (kebab-case). Inside the GSAP
|
|
79
|
+
script, read via `document.getElementById("stage").dataset.propName`.
|
|
80
|
+
|
|
81
|
+
## Nested object / array props
|
|
82
|
+
|
|
83
|
+
```tsx
|
|
84
|
+
defaultProps={{
|
|
85
|
+
stats: [
|
|
86
|
+
{ label: "Stars", value: 1247, color: "#fbbf24" },
|
|
87
|
+
{ label: "Forks", value: 312, color: "#60a5fa" },
|
|
88
|
+
],
|
|
89
|
+
}}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Don't try to encode the array as a JSON `data-` attribute — HF's runtime
|
|
93
|
+
doesn't parse those. Materialize the array as **repeated HTML markup**:
|
|
94
|
+
|
|
95
|
+
```html
|
|
96
|
+
<div id="scene-stats">
|
|
97
|
+
<div class="stat-card" data-stat-index="0" data-stat-value="1247" style="--card-color:#fbbf24">
|
|
98
|
+
<div class="number">0</div>
|
|
99
|
+
<div class="label">Stars</div>
|
|
100
|
+
</div>
|
|
101
|
+
<div class="stat-card" data-stat-index="1" data-stat-value="312" style="--card-color:#60a5fa">
|
|
102
|
+
<div class="number">0</div>
|
|
103
|
+
<div class="label">Forks</div>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The component template (`StatCard.tsx`) becomes the markup template;
|
|
109
|
+
each instance gets its scalar props rendered as `data-*` and CSS
|
|
110
|
+
custom properties.
|
|
111
|
+
|
|
112
|
+
Validated in T3 — three StatCards reused with different props,
|
|
113
|
+
mean SSIM 0.953.
|
|
114
|
+
|
|
115
|
+
## Numeric props that need typed parsing
|
|
116
|
+
|
|
117
|
+
`document.getElementById("stage").dataset.count` is a string. Convert at
|
|
118
|
+
read time:
|
|
119
|
+
|
|
120
|
+
```js
|
|
121
|
+
const count = Number(stage.dataset.count);
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Or inline values directly into the GSAP script when the data is known
|
|
125
|
+
at translation time and doesn't need to vary per render.
|
|
126
|
+
|
|
127
|
+
## Boolean props
|
|
128
|
+
|
|
129
|
+
```tsx
|
|
130
|
+
defaultProps={{ darkMode: true }}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Two conventions:
|
|
134
|
+
|
|
135
|
+
- `data-dark-mode="true"` — read as string, compare `=== "true"`
|
|
136
|
+
- `data-dark-mode` (presence/absence) — `<div data-dark-mode>` for true, omit for false
|
|
137
|
+
|
|
138
|
+
Pick one and be consistent. The presence/absence form is HTML-idiomatic
|
|
139
|
+
and pairs well with CSS attribute selectors:
|
|
140
|
+
|
|
141
|
+
```css
|
|
142
|
+
[data-dark-mode] .scene {
|
|
143
|
+
background: #000;
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Zod runtime validation
|
|
148
|
+
|
|
149
|
+
Remotion's `schema` validates props at composition load. HF doesn't have
|
|
150
|
+
an equivalent — by the time the HTML is in the renderer, the schema is
|
|
151
|
+
already gone.
|
|
152
|
+
|
|
153
|
+
Validate at translation time instead. If the user passes invalid data,
|
|
154
|
+
fail with a translation error before emitting HTML. This matches Zod's
|
|
155
|
+
"fail loud" intent without requiring the runtime dependency.
|
|
156
|
+
|
|
157
|
+
## When the composition uses props for computed prop derivation
|
|
158
|
+
|
|
159
|
+
```tsx
|
|
160
|
+
const Composition: React.FC<Props> = ({ stats }) => {
|
|
161
|
+
const total = stats.reduce((acc, s) => acc + s.value, 0);
|
|
162
|
+
return <div>{total}</div>;
|
|
163
|
+
};
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Compute the derived value at translation time and bake it into the HTML
|
|
167
|
+
or a `data-` attribute. Don't try to express the computation in JS in the
|
|
168
|
+
HF composition — that adds runtime overhead and makes the HTML stateful
|
|
169
|
+
in ways that complicate human editing.
|
|
170
|
+
|
|
171
|
+
If the derivation is non-trivial (involves the array itself, not just
|
|
172
|
+
scalars), materialize it as static text in the HTML.
|