Agent Skillsheygen-com/hyperframes › canopy-part-title

canopy-part-title

GitHub

提供叶冠分屏标题动画组件,支持通过变量自定义文本、字体及叶子动画效果。

registry/blocks/canopy-part-title/SKILL.md heygen-com/hyperframes

Trigger Scenarios

需要添加动态标题过渡动画 配置 HyperFrames 视觉组合

Install

npx skills add heygen-com/hyperframes --skill canopy-part-title -g -y
More Options

Non-standard path

npx skills add https://github.com/heygen-com/hyperframes/tree/main/registry/blocks/canopy-part-title -g -y

Use without installing

npx skills use heygen-com/hyperframes@canopy-part-title

指定 Agent (Claude Code)

npx skills add heygen-com/hyperframes --skill canopy-part-title -a claude-code -g -y

安装 repo 全部 skill

npx skills add heygen-com/hyperframes --all -g -y

预览 repo 内 skill

npx skills add heygen-com/hyperframes --list

SKILL.md

Frontmatter
{
    "name": "canopy-part-title",
    "description": "Leaves sweep through the frame and part to reveal the headline. HyperFrames block, 1920×1080, 12s, 11 variables."
}

Canopy Part Title

A dense canopy of textured leaves sweeps across the frame with shallow depth of field, then parts to uncover the first headline; a second, depth-lifted batch carries the second headline past the camera. A handful of leaves stay behind on the type and keep a light breeze. Font, weight, size, letter spacing, leaf counts, sweep speed and the retained-leaf breeze are variables.

Composition id: canopy-part-title. Duration 12 s at 30 fps, 1920×1080.

Files

  • canopy-part-title.html (57 KB)
  • assets/leaf-surface-color.webp (64 KB)
  • assets/leaf-surface-normal.webp (136 KB)

Install

Install with npx hyperframes add canopy-part-title; by default the files above land under compositions/canopy-part-title/. Then mount the block from the host index.html:

<div
  data-composition-id="canopy-part-title"
  data-composition-src="compositions/canopy-part-title/canopy-part-title.html"
  data-start="0"
  data-duration="12"
  data-track-index="1"
  data-width="1920"
  data-height="1080"
></div>

Render with custom values by targeting the composition file directly:

npx --yes hyperframes@0.8.12 render 'compositions/canopy-part-title/canopy-part-title.html' --variables '{"headline1":"Understory","headline2":"Move slowly"}'

Variables

Read at runtime via window.__hyperframes.getVariables(); declared on the composition root as data-composition-variables (single-quoted attribute, plain JSON).

id type default label / range
headline1 string "Understory" Headline 1
headline2 string "Move slowly" Headline 2
font string "Helvetica" Headline font
fontWeight number 900 Font weight 100–900 step 100
fontSize number 1 Font size (1 = auto-fit) 0.3–2 step 0.01
letterSpacing number 0.01 Letter spacing (em) -0.2–1 step 0.01
background color "#020805" Background
leafCount number 170 Leaves per sweep 40–320 step 1
stayCount number 5 Leaves left behind 0–20 step 1
sweepSpeed number 1 Sweep speed 0.3–3 step 0.05
retainedBreeze number 1 Retained leaf breeze 0–2 step 0.05

Runtime contract

  • One paused GSAP timeline registered as window.__timelines["canopy-part-title"].
  • Re-syncs on the hf-seek CustomEvent; every frame is a closed-form function of time (seeded PRNG only, no rAF loops, no Date.now).
  • Renderer: three.js 0.170.0, GSAP 3.14.2, Canvas 2D, Post-processing, Seeded PRNG, Shadow maps. Budget roughly 350 MB per live instance; run one at a time.
  • External runtime dependencies: https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js, https://cdn.jsdelivr.net/npm/three@0.170.0/build/three.module.js, https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/postprocessing/EffectComposer.js, https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/postprocessing/RenderPass.js, https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/postprocessing/BokehPass.js.
  • Web fonts from Google Fonts: Gelasio.

Editing rules (from the source project)

  1. Keep data-composition-variables a single-quoted attribute with plain " JSON. Never save it through Studio's Design panel.
  2. Do not put <canvas> in static markup; create it at runtime.
  3. Keep every visual state a function of t; seek-safety is what makes the block renderable.

Version History

  • a80d733 Current 2026-09-22 11:11

Same Skill Collection

.agents/skills/changelog-video/SKILL.md
.claude/skills/changelog-video/SKILL.md
registry/blocks/code-slice-hero/SKILL.md
registry/blocks/cuboid-carousel/SKILL.md
registry/blocks/frost-sequence-camera-orbit/SKILL.md
registry/blocks/glass-shard-title/SKILL.md
registry/blocks/orbit-card/SKILL.md
registry/blocks/wireframe-portal-title/SKILL.md
skills/faceless-explainer/SKILL.md
skills/figma/SKILL.md
skills/general-video/SKILL.md
skills/hyperframes-core/SKILL.md
skills/hyperframes-creative/SKILL.md
skills/hyperframes-keyframes/SKILL.md
skills/hyperframes-studio/SKILL.md
skills/music-to-video/SKILL.md
skills/pr-to-video/SKILL.md
skills/product-launch-video/SKILL.md
skills/remotion-to-hyperframes/SKILL.md
skills/slideshow/SKILL.md
skills/talking-head-recut/SKILL.md
.agents/skills/captions-overlay/SKILL.md
.agents/skills/cut-the-curve/SKILL.md
.agents/skills/motion-doctrine/SKILL.md
.agents/skills/oversized-cursor/SKILL.md
.agents/skills/seam-craft/SKILL.md
.claude/skills/captions-overlay/SKILL.md
.claude/skills/cut-the-curve/SKILL.md
.claude/skills/motion-doctrine/SKILL.md
.claude/skills/oversized-cursor/SKILL.md
.claude/skills/seam-craft/SKILL.md
skills/embedded-captions/SKILL.md
skills/hyperframes-animation/SKILL.md
skills/hyperframes-audio/SKILL.md
skills/hyperframes-cli/SKILL.md
skills/hyperframes-registry/SKILL.md
skills/hyperframes/SKILL.md
skills/media-use/SKILL.md
skills/motion-graphics/SKILL.md

Metadata

Files
0
Version
a80d733
Hash
10d0920d
Indexed
2026-09-22 11:11

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-22 16:52
浙ICP备14020137号-1