Communitygithub.com

heygen-com/hyperframes

GATEWAY — carregue ANTES de compor qualquer animação ou vídeo HyperFrames. A lei de movimento de alto nível que faz um vídeo com múltiplas cenas parecer UMA única tomada contínua de câmera em vez de uma pilha de slides animados independentemente.

O que é hyperframes?

Esta skill (ou doutrina de movimento) é a base conceitual e técnica obrigatória para qualquer animação ou vídeo produzido com o framework HyperFrames. Ela estabelece as leis de continuidade visual que transformam uma sequência de cenas independentes em uma única tomada de cama contínua e cinematográfica. A skill cobre desde regras fundamentais de vetor (como uma cena sai determina como a próxima entra, incluindo a regra de sinal da escala Z) até conceitos como corrente (direção dominante), elementos de transporte (carriers), movimento causal, o Seam Gate (portão de costura) para verificação automatizada, a proibição de oscilação ociosa (idle wobble), a pausa antes do clímax e as rotas de movimento sustentado. Além disso, ela mapeia para skills técnicas de nível inferior (cut-the-curve, oversized-cursor, seam-craft) que implementam os princípios definidos aqui. As regras descritas SUPERSEDEM qualquer orientação de movimento genérica ou de nível superior.

Funciona com~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/heygen-com/hyperframes/tree/HEAD/.agents/skills/motion-doctrine

Perguntar na sua IA favorita

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

Documentação

Doutrina de Movimento (Gateway)

Leia isto antes de compor qualquer animação. Decide O QUE acontece em cada costura (seam) e como cada cena performa; as skills de técnica implementam isso. Estas regras substituem orientações de movimento genéricas/de nível superior. A falha que isso previne: cenas criadas isoladamente — o momentum do olho morre em cada corte, e as cenas oscilam no lugar entre a entrada e a saída.

Mapa de Rotas

Decisão (esta skill)Skill de Implementação
Escolha da transição de costura + parâmetros + códigocut-the-curve §1–5 (catálogo)
Cascatas de entrada de texto/elementocut-the-curve §6 (entrada em cascata)
Reposicionamento de grupo dentro da cena (sem corte)cut-the-curve §7 (curva de ajuste)
Ação liderada por cursor / início de cena / ignição de morphoversized-cursor
Mecânicas de renderização de costura / proteção contra flash brancoseam-craft
Trabalho de lançamento de produto / explicador / legendassobrepõe text-beat-economics, brand-faithful, captions-overlay sobre a skill de nível superior

Ordem de criação: livro-razão vetorial (ledger.json) → CARIMBE as costuras mestras a partir dele (scripts/seam-stamp.mjs --ledger ledger.json --write index.html) → rota de movimento sustentado por fase → transportadores e causas → montagens de construção → VERIFIQUE (scripts/seam-gate.mjs). Crie manualmente apenas morphs/cortes de correspondência Tier-A; costuras carimbadas passam no portão por construção.


Parte 1 — A Lei da Costura

A Lei Vetorial

Como a Cena A sai determina como a Cena B entra: mesmo eixo, mesma direção, velocidade correspondente, corte no meio do movimento em ambos os lados.

  1. Eixo — x permanece x, y permanece y, Z permanece Z. Nunca troque eixos em um corte.
  2. Direção — nunca espelhe. Em Z, direção = o SINAL da mudança de escala: crescendo = empurrar (câmera para frente), diminuindo = puxar (câmera para trás). Uma saída recuando respondida por uma entrada crescendo do pequeno é um vetor espelhado — a violação mais comum, porque crescer do pequeno é a entrada de elemento padrão.
  3. Velocidade — velocidade inicial de entrada ≈ velocidade final de saída, via suavizações espelhadas (saída power4.in + entrada power4.out, mesma distância e duração; o lado de chegada pega ≥50% através do caminho nocional). Mecânicas em cut-the-curve.
  4. Fase — o corte cai no meio do movimento em AMBOS os lados. Assentar em repouso antes do corte, ou começar do repouso depois dele, é uma batida morta.

A Corrente

Cada filme escolhe UMA direção dominante (padrão da casa: ESQUERDA). Cada costura comum a usa. Outros vetores são RESERVADOS — gastar um significa algo:

VetorSignificado
A corrente (ESQUERDA)"próxima batida" — progresso neutro para frente
Para cimaelevação — uma conclusão ou revelação se eleva acima do que veio antes
Z para frente (zoom-through)empurrando mais fundo no mesmo pensamento
Z para trás (zoom inverso)CHEGADA — algo maior pousa
Explosão de escala (explodir)saindo de um mundo — uma superfície explode na direção da câmera
  • Nunca execute costuras consecutivas em direções opostas — pingue-pongue é lido como erro.
  • Uma mudança de direção precisa de uma causa visível (clique / ricochete / impacto) ou de um limite de capítulo.

O Livro-Razão Vetorial

Escreva-o antes de criar qualquer linha do tempo mestra — como ledger.json na raiz do projeto (esquema: references/seam-gate.md). Uma linha por costura: tempo do corte, vetores de saída e entrada (eixo + direção sinalizada; linhas Z carregam o sinal da escala), seletores, técnica. Saída e entrada devem corresponder; se uma linha não corresponder, corrija o plano, não a suavização. O verificador verifica a consistência das linhas estaticamente antes de qualquer amostragem em tempo de execução.

Transportadores (Carriers)

O olho segue objetos, não abstrações. As costuras mais fortes entregam um transportador concreto através do corte em posição E velocidade correspondidas: um cursor no meio do caminho, um contêiner que encolhe/ancora no próximo layout, uma marca que voa para seu encaixe exato, o grupo de palavras de um corte em cascata. Sem transportador natural, os heróis da cena o carregam (viagem parcial + fade precoce, entrada em pleno voo). Nunca um crossfade — ele não tem transportador algum.

Movimento Causal

Encadeie o movimento para que cada movimento seja visivelmente lançado pelo último: clique → compressão → liberação da mola → voo → impacto → recuo → revelação.

  • Efeitos começam NO quadro causador — mesma posição na linha do tempo, nunca "pouco depois".
  • Reações escalam com a massa implícita: elementos grandes recuam mais devagar, pequenos estalam.
  • Uma força é uma licença para mudar de direção; uma virada sem causa é um pingue-pongue.

O Portão da Costura (portão de construção — execute o verificador, saia 0 ou a costura não está pronta)

node <SKILL_DIR>/scripts/seam-stamp.mjs --ledger ledger.json --write index.html  # gerar
node <SKILL_DIR>/scripts/seam-gate.mjs verify --ledger ledger.json --project .  # verificar

O script (uso + esquema do ledger: references/seam-gate.md) aplica numericamente, por costura: consistência da linha do ledger, saída ainda em movimento no corte, entrada em pleno voo (nunca do repouso), direção medida = direção do ledger, correspondência de velocidade entrada/saída (AVISO), sobreposição zero (um lado visível por quadro — o corte não é uma dissolução), a regra do sinal Z (d(escala)/dt mesmo sinal em ambos os lados; as próprias entradas da cena de chegada são escaneadas por luta de sinais), e continuidade do retângulo do transportador com escala ancestral incluída. Use seam-gate.mjs probe --t <corte> para encontrar os verdadeiros seletores do transportador de cada costura ao criar o ledger.

Regras que o script NÃO pode verificar — ainda suas:

  1. Edições reabrem a costura. Qualquer mudança no primeiro/último ~1s de uma cena (incluindo re-timing para novo VO) invalida a auditoria daquele limite — execute o verificador novamente.
  2. Áudio é o relógio. Re-timing de cenas para os timestamps reais das palavras do VO; nunca apresse uma leitura para caber em um slot. Uma regeneração de VO reabre suas costuras.
  3. Pegadinha do clip-gating (a causa usual de uma FALHA de sobreposição zero): um clipe cujo data-start precede seu tween de entrada é revelado em sua opacidade inicial — defina autoAlpha: 0 inicial E data-start = o tempo do corte, nunca antes.

Parte 2 — Performance (a cena continua performando)

Sem oscilação ociosa

Loops senoidais ociosos (respirar, flutuar, derivar, pulsar brilho) são PROIBIDOS como movimento sustentado — eles leem como "o vídeo está esperando." Uma cena que termina de entrar com segundos restantes é um bug de planejamento: adicione história, não oscilação. Cada fase entre a entrada e a saída é de propriedade de uma destas rotas (nomeie a rota no plano):

RotaO que é
Revelações em estágiosSegure conteúdo de volta; pague-o nas batidas da narração — o quadro continua ganhando informação (padrão para ≥2 grupos de conteúdo)
Câmera com intençãoUm caminho mapeado de escala+panorâmica: estabelecer amplo → viajar → chegar no assunto
Vida de UI sequenciadaO produto se comporta ao longo do tempo: progresso avança, destaque etapa, contagens marcam
Sequências animadasElementos encenam uma batida: um cartão se arquiva em uma pilha, um item é arrastado, um resultado se monta
Ação liderada por cursorUm cursor grande guia o olho para um gatilho; seu CLIQUE acende a próxima batida (oversized-cursor)

Teste: pause em qualquer segundo — algo significativo deve estar em pleno voo (uma revelação pousando, a câmera viajando, a UI fazendo o que a narração diz).

Quietude antes do clímax

Agende uma pausa de 0,3–0,75s entre a ação principal e seu resultado — a vírgula dramática. Uma cena que salta direto da ação para o resultado perde isso.

Intenções de timing

  • Entrada única ≤ ~800ms; construção mais longa = escalonamento de múltiplos elementos, não um elemento lento.
  • Saída ≈ 75% da entrada. Exceção: cut-the-curve inverte isso (entrada ~127% da saída).
  • Escalonamento total ≤ 500ms; com 8+ elementos, aperte o atraso por item ou escalone os primeiros.
  • Suavizações proibidas: bounce.out / elastic.out. Overshoot de entrada back.out(1.4–1.7) é aceitável.
  • Elementos semelhantes compartilham uma intenção de suavização+duração — nunca um par único por elemento.

Vocabulário de transição

Use apenas 2–3 transições entre cenas por filme e repita-as; o limite padrão é cut-the-curve na direção da corrente. Morphs de elemento compartilhado escritos à mão (intent: morph) não contam contra o orçamento.


Anti-Padrões

Não façaEm vez disso
Criar cada entrada de cena isoladamenteEscreva o livro-razão vetorial primeiro
Crossfade entre cenasCut-the-curve na direção da corrente
Saída completa, ENTÃO a cena mudaCorte no meio do movimento em ambos os lados
Entrada começa do repouso após um corteEntre ≥50% através do caminho nocional
Saída zoom inverso → entrada crescendo do pequeno (ou empurrar → retração ampliada)Corresponda o sinal da velocidade de escala (Portão da Costura 7)
Intro pop-in da própria cena de chegada sob uma entrega Z-costuraSegure seu quadro de abertura composto, ou corresponda o sinal
Oscilação ociosa / respirar / flutuar para preencher tempoAtribua uma rota de movimento sustentado; ou adicione história
Virada de direção sem causaGaste uma força, ou mantenha a corrente
Vetores reservados usados como variedadePadrão para a corrente; gaste-os em significado
Reação alguns quadros após sua causaIgnição no mesmo quadro
Ação salta direto para o resultadoAgende quietude antes do clímax (0.3–0.75s)

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

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

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