Communitygithub.com

heygen-com/hyperframes

Catálogo de técnicas de transição cinematográfica: cinco SEAMS com correspondência de velocidade, mais duas técnicas intra-cena para entradas em cascata e reposicionamento de grupos.

O que é hyperframes?

Este skill é um catálogo completo de técnicas de transição e animação cinematográfica para motion graphics, com foco em cortes com correspondência de velocidade. Ele define cinco técnicas SEAM (Zoom-Through, Inverse Zoom-Through, Cut the Curve, Waterfall Cut e Rack-Focus Blur-Cut) que garantem que a direção e a velocidade sejam correspondidas em ambos os lados do corte, criando uma sensação de fluxo contínuo. Além disso, inclui duas técnicas intra-cena: Waterfall Entry (cascata de chegada para cartões de título ou aberturas de segmento) e Nudge Curve (reposicionamento lento-rápido-lento de grupos). O skill fornece parâmetros precisos para escala, blur, opacidade, duração e easing, todos baseados em GSAP, e inclui uma seção de anti-padrões para evitar erros comuns. Ele é útil para desenvolvedores que criam animações de texto cinético, transições entre cenas ou reposicionamento de grupos em ferramentas como After Effects, motion graphics em geral ou qualquer plataforma que suporte animações programáticas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/heygen-com/hyperframes/tree/HEAD/.agents/skills/cut-the-curve

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Corte a Curva — o catálogo de técnicas

Cinco técnicas SEAM, um princípio: corte na velocidade de pico, corresponda direção e velocidade em ambos os lados do corte — mais as duas técnicas intra-cena (§6 chegadas, §7 slides). A LEI da costura — lei vetorial, a corrente, o livro-razão, o Portão da Costura — vive em motion-doctrine; leia-a primeiro. Este skill são os parâmetros e a mecânica. Todos os modelos de código GSAP (worker + registro): examples/gsap-implementation.md.

Catálogo

#TécnicaEscopoEixoUso para
1Zoom-Through (para frente)Troca de texto intra-cenaZ, em direção ao visualizadorprogredindo mais fundo no mesmo pensamento
2Inverse Zoom-ThroughBatida de chegada / recompensaZ, para longe do visualizadoralgo maior aterrissa
3Corte a CurvaEntre cenasX / Yo limite padrão, a corrente do filme
4Corte CascataCostura texto-com-textoX, por palavratransferência no nível da palavra entre batidas de texto grandes
5Corte de Desfoque Foco-RackTroca de estado na mesma superfícieX / Y / Zo único corte que você quer VER — um floreio de puxada de foco DSLR
6Entrada CascataCHEGADA intra-cena (sem costura)Y, de baixocartões de título, aberturas de segmento, intros de lista
7Curva de EmpurrãoSlide de grupo intra-cena (sem costura)X / Yreposicionar um grupo composto para abrir espaço

Direção Z é um sinal

"Mesmo eixo" não é suficiente em Z — o sinal de d(escala)/dt deve corresponder através do corte:

Vetor ZEscala de saídaEscala de entradaVariante
Empurrar (para frente)crescendo 1 → 1,2crescendo 0,75 → 1zoom-through
Puxar (para trás)diminuindo 1 → 0,8diminuindo 1,25 → 1inverse zoom-through

Espelhos proibidos: uma saída de recuo respondida por uma entrada de crescimento a partir do pequeno (puxar vira empurrar — o comum, já que crescer a partir do pequeno é a entrada de elemento padrão), e uma saída de empurrar respondida por uma retração superdimensionada. Isso vincula as PRÓPRIAS entradas da cena de entrada durante a janela da costura (corte + ~0,5s), não apenas o tween wrapper: segure o quadro de entrada composto, ou crie sua entrada para corresponder ao sinal. Verifique pela regra 7 do Portão da Costura.

Lógica de desfoque (todas as variantes Z)

SujeitoDesfoque de picoPor que
Escala de texto (manchete, grupo de palavras)10px20px borra letras — o corte parece uma falha, não velocidade
Superfície de quadro completo (janela, cartão, captura de tela)18–20pxdesfoque mais claro em uma superfície grande parece um soluço de renderização

Mesmo desfoque de pico em ambos os lados no quadro de troca. Desfoque o WRAPPER, nunca os filhos.


1. Zoom-Through (para frente)

Corte com correspondência de velocidade no eixo Z; nunca ambos os textos visíveis. Tudo CRESCE: o texto de saída acelera em direção à câmera, uma troca brusca esconde-se no pico do desfoque, o texto de entrada continua crescendo até o plano focal. Manchetes e frases curtas apenas. Total ≈ 0,4s.

FaseEscalaDesfoqueOpacidadeEaseDuração
Saída1 → 1,20 → 10px1 → 0,15power3.in (opacidade: tween none separado)0,2s
Corte (tl.set)entrada: 0,7510pxsaída: 0 / entrada: 0,15——
Entrada0,75 → 110 → 0px0,15 → 1expo.out0,5s

A opacidade de saída DEVE ser seu próprio tween linear — power3.in mantém a opacidade perto de 1 por tempo demais. Na entrada, todas as propriedades compartilham expo.out.

2. Inverse Zoom-Through (para trás)

O espelho de puxar para trás: o elemento de saída RECUA; o de entrada chega SUPERDIMENSIONADO (como se logo atrás da câmera) e retrai para o plano focal. Tudo DIMINUI. Gaste em batidas de CHEGADA/recompensa — uma linha de recompensa, uma resposta gigante, um estado final mantido — nunca limites comuns. Total ≈ 0,7s (30% saída / 70% entrada).

FaseEscalaDesfoqueOpacidadeEaseDuração
Saída1 → 0,80 → 10px1 → 0,15power3.in (opacidade: tween none separado)~0,2s
Corte (tl.set)entrada: 1,2510pxsaída: 0 / entrada: 0,15——
Entrada1,25 → 110 → 0px0,15 → 1expo.out~0,5s

Desfoque é 10px para escala de texto; 18–20px apenas quando ambos os lados são superfícies de sangria total.

Disciplina de sinal: a cena de entrada chega como um quadro composto dentro do wrapper em retração — sem introdução de crescimento a partir do pequeno na janela da costura. Entradas em palco acontecem após a retração se estabilizar, ou começam ≥1 e retraem.

3. Corte a Curva (limite de cena padrão)

Corte com correspondência de velocidade X/Y — o padrão para TODOS os limites entre cenas, na corrente do filme, não um acento. O herói de saída acelera em uma direção, o corte aterrissa no meio do movimento, o herói de entrada continua a MESMA direção e desacelera. Total ≈ 0,6s; direções ESQUERDA / DIREITA / CIMA / BAIXO (padrão ESQUERDA).

Viagem parcial: ~12% do quadro (≈230px a 1920) — nunca movimentos para fora da tela completos.

DireçãoSaídaInício → fim da entrada
Esquerdax: 0 → −230x: +230 → 0
Direitax: 0 → +230x: −230 → 0
Cimay: 0 → −230y: +230 → 0
Baixoy: 0 → +230y: −230 → 0

Mecânica:

  • Eases espelhados: saída power4.in + entrada power4.out, mesma distância e duração — as duas metades de um power4.inOut, então a velocidade corresponde exatamente no corte.
  • O truque do fade: a opacidade de saída completa-se em ~25–30% de sua viagem (fade ≈ 0,18–0,3s vs movimento 0,3–0,34s); a entrada acende em ~0,35 de opacidade no meio do caminho. Temporize o último elemento desbotando para morrer exatamente no corte — uma lacuna onde nada se move parece ar morto.
  • Saída 0,2–0,4s; entrada ≥ saída. Desfoque opcional 8–10px.
  • Fundo do palco: #root deve ser opaco (background: var(--canvas-deep, var(--canvas, #000))) — o corte no meio da janela abre uma janela de soma-opacidade < 1 que pisca branco caso contrário (veja seam-craft).

push-slide existe, mas viola a viagem parcial e a fase de meio-movimento; prefira corte-a-curva.

4. Corte Cascata (corte-a-curva palavra por palavra)

Corte-a-curva na granularidade de PALAVRA — o corte mais forte para a esquerda para costuras texto-com-texto. Palavras de saída ramificam-se em suas próprias curvas; palavras de entrada entram em cascata no meio do voo — uma onda que o olho monta através da costura.

Escopo: criado pelo worker dentro de uma composição de múltiplas batidas (camadas .beat de quadro completo empilhadas), NÃO um tipo de registrador/injetor — ele ajusta extensões de palavras, não wrappers de clipe. O limite de entrada e saída do bloco de batida de texto ainda recebe uma transição de registro normal. Não conta contra o orçamento de 2–3 transições.

ParâmetroValorPor que
Viagem±230px (~12% quadro)viagem parcial + velocidade > empurrão de quadro completo
Saída0,34s power4.ina aceleração É o corte
Fade de saída0,18s, começa com xpalavra desaparece por ~25–30% da viagem — sem borrão
Stagger de saída+0,022s ordem de leituraa linha descasca, não um slide de bloco
Entrada0,3s power4.outmetade de trás do composto — correspondência de velocidade
Opacidade de início da entrada0,35ignição no meio do caminho; binário 0→1 estala
Lacunas de entrada0,05s × decaimento 0,84cascata acelerando, resolve composto

Regras:

  • Uma direção por cadeia, montando a corrente. Zoom inverso é a batida de CHEGADA da cadeia apenas.
  • Pré-defina todas as palavras para x: +230, opacity: 0 no tempo de construção — immediateRender: false sozinho deixa palavras não iniciadas visíveis em repouso.
  • Uma primeira batida curta pode sair em linha inteira: seu fade termina ~0,02s antes do corte, para que ainda esteja em movimento quando as próximas palavras acenderem — sem lacuna morta.
  • Apenas transform/opacity (seguro para busca); fundo de palco opaco aplica-se.

5. Corte de Desfoque Foco-Rack (o corte visível)

A única variante onde o corte é VISTO: um pico de desfoque de desfocagem ESCONDE uma troca brusca de quadro único — uma puxada de foco DSLR de mão. Use como um floreio ocasional para uma troca de estado da MESMA superfície dentro de um tema visual; nunca o limite padrão.

Diferenças das outras: a saída permanece TOTALMENTE OPACA até o corte (o desfoque esconde a troca — sem fade antecipado); eases power2.in / power2.out (óptica suave, não momentum).

Regras:

  • Acione apenas em uma batida narrativa, ≤ uma vez a cada ~8s; nunca no meio de uma legenda ou durante uma espera.
  • Corte no PICO do desfoque (≥6px; pico 8–12px, ≤16–18px máximo) — trocar no caminho para cima mostra o corte.
  • Uma escala sutil (~1,06 respiração de lente) vende como óptica.
  • Mesma direção em ambos os lados — a lei vetorial ainda se mantém. Entrada ≥ duração da saída.
  • Desfoque o wrapper; nunca desfoque + opacidade em um tween em um elemento (erro de composição sem cabeça); nunca desfoque um <video> diretamente (envolva-o).

6. Entrada Cascata (chegada intra-cena — não é uma costura)

Cascata de CHEGADA escalonada: palavras/elementos chicoteiam de baixo (uma direção consistente), cada um começando antes do anterior se estabilizar — uma onda acelerando que se resolve em um layout composto. Cartões de título, aberturas de segmento, intros de lista/recurso. O irmão de costura é §4; não misture suas regras:

§6 Entrada (chegada)§4 Corte Cascata (costura)
OpacidadeBINÁRIA 0→1 via tl.set na entrada — nunca fadeacende em 0,35 no meio do caminho — o fade É o truque de velocidade
Eixo padrãoY, de baixoX, montando a corrente
Lado de saídanenhumpalavras saem em power4.in espelhado

Coreografia:

  • Sobreponha, não enfileire — o próximo elemento começa dentro de ±2 quadros do anterior se estabilizar; lacunas ENCOLHEM ao longo da cascata; o último elemento encaixa.
  • A velocidade varia por peso — elementos pesados/âncora viajam mais e por mais tempo; palavras leves/pontuação encaixam firmemente:
ParâmetroÂncora/pesadoPalavra normalLeve/pontuação
Deslocamento Y60–80px40–50px30–48px
Duração0,16–0,20s0,13–0,16s0,10–0,13s
Sobreposiçãolacuna 0–2qsobreposição 1qsobreposição 1–2q
  • Ease power4.out (expo.out para estalo extra); nunca .inOut em uma entrada.
  • Uma direção por cascata.
  • Divida a palavra FINAL em fragmentos para estender o clímax; fragmentos viajam mais.
  • Após o assentamento, o grupo geralmente desliza para abrir espaço para a próxima batida — isso é §7.

7. Curva de Empurrão (slide de grupo intra-cena — não é uma costura)

Reposicionamento lento-rápido-lento de um grupo composto (linhas de palavras, pilhas de cartões, listas) para revelar conteúdo ou abrir espaço. Nenhum ease embutido único produz isso — power4.inOut para com um tranco. Encadeie três tweens em uma propriedade:

FaseEaseDistânciaTempoSensação
1 rampa de entradapower3.in~10%~20%mal se move — o movimento registra, sem solavanco
2 explosãonone (linear)~65%~18%~2× a média px/quadro — proposital
3 caudapower4.out~25%~62%rastejar decaindo para o repouso — mata o tranco

Regras:

  • A cauda é ≥3× a rampa de entrada em TEMPO. Se ainda bater: estenda o tempo da cauda (não a distância) ou use power5.out.
  • A fase 2 permanece linear — suavizá-la perde o contraste da explosão.
  • Revele novo conteúdo DURANTE a fase 2 — a explosão mascara sua aparência.
  • Mesmas proporções na vertical; dimensione as distâncias proporcionalmente, mantenha as proporções de tempo.

Escolhendo uma Variante

Zoom-ThroughInverse ZoomCorte a CurvaCorte Cascata
EscopoTroca de texto intra-cenaBatida de chegada/recompensaEntre cenasCostura texto-com-texto
Sinal Z / eixocrescendo (empurrar)diminuindo (puxar)X / YX, por palavra
Viagem/escala1→1,2, depois 0,75→11→0,8, depois 1,25→1±230px±230px
Desfoque de pico10px texto / 18–20 quadro completo10px texto / 18–20 quadro completo8–10px opcionalnenhum
Easespower3.in / expo.outpower3.in / expo.outpower4.in / power4.outpower4.in / power4.out
Sensaçãoprogredindo atravéschegando acarregado lateralmenteuma onda através da costura

Anti-Padrões

Não faça... porque
......

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

general-video

>

heygen-com/animejs

Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.

heygen-com/claude-design-hyperframes

Use when running inside Claude Design specifically. Produces a valid, brand-accurate HyperFrames video draft using pre-valid skeletons. For Claude Code / Cursor / Codex, use the `hyperframes` skill instead.

heygen-com/contribute-catalog

Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalog — for in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.

heygen-com/css-animations

CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.

heygen-com/gsap

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

heygen-com/hyperframes

A tiled headline surface flips cell by cell under a sweeping depth field to reveal the rear headline. HyperFrames block, 1920×1080, 8s, 18 variables.

heygen-com/hyperframes

Leaves sweep through the frame and part to reveal the headline. HyperFrames block, 1920×1080, 12s, 11 variables.

heygen-com/hyperframes

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

heygen-com/hyperframes

A single feature card orbits a dot sphere on approved Blender camera motion. HyperFrames block, 1920×1080, 10s, 4 variables.

heygen-com/hyperframes

A wireframe portal bursts open, the title comes through, then its letters swap into a second phrase. HyperFrames block, 1920×1080, 8s, 9 variables.

heygen-com/hyperframes

Glass shards fly in through fog and tile themselves into the headline. HyperFrames block, 1920×1080, 12.16s, 19 variables.

heygen-com/hyperframes

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

heygen-com/hyperframes

An orbiting camera follows an ice logo as it breaks apart, reforms into two text moments, and fades. HyperFrames block, 1920×1080, 22.5s, 216 variables.

heygen-com/hyperframes

name: embedded-captions

heygen-com/hyperframes

A chain of bevelled cuboids rides a travelling wave as a content carousel. HyperFrames block, 1920×1080, 6.666666666666667s, 40 variables.

heygen-com/hyperframes

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

heygen-com/hyperframes

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

heygen-com/hyperframes

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

heygen-com/hyperframes

Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations, lowkey captions). Use when the user provides a changelog/digest markdown and wants the weekly video, or says "changelog video". Self-contained — fonts, background, lexicon, and scripts ship in this skill.

Habilidades Relacionadas