Communitygithub.com

heygen-com/hyperframes

Catálogo de técnicas de transición y movimiento cinemático: cinco SEAM con emparejamiento de velocidad (zoom-through, zoom-through inverso, cut-the-curve, waterfall cut, rack-focus blur-cut) más dos técnicas en escena (waterfall entry y nudge curve) para animaciones de texto, tarjetas de título y reposicionamiento de grupos.

¿Qué es hyperframes?

Este skill de motion design para agentes de IA (Claude Code, Cursor, Codex) constituye un catálogo completo de técnicas de transición cinemática y animación de texto, basado en el principio fundamental de cortar en el pico de velocidad, emparejando dirección y velocidad en ambos lados del corte. Define cinco técnicas SEAM con emparejamiento de velocidad: zoom-through (avance en Z), zoom-through inverso (retroceso en Z), cut-the-curve (desplazamiento lateral/vertical entre escenas), waterfall cut (corte palabra por palabra) y rack-focus blur-cut (corte con desenfoque visible). Además, incluye dos técnicas en escena: waterfall entry (llegada escalonada desde abajo) y nudge curve (deslizamiento lento-rápido-lento de grupos). El skill especifica parámetros detallados como escalas, desenfoques (10px para texto, 18-20px para pantalla completa), duraciones, eases (power4.in/out, expo.out), y reglas de dirección (incluyendo la regla de signo en Z). Incluye tablas de referencia, ant-patrones y ejemplos de código GSAP en `examples/gsap-implementation.md`. Es útil para cualquier flujo de trabajo que requiera transiciones, handoffs de texto, entrada de texto cinético o reposicionamiento de grupos, y debe leerse antes de crear cualquier transición o animación de movimiento.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Cut the Curve — el catálogo de técnicas

Cinco técnicas SEAM, un principio: cortar en el pico de velocidad, emparejar dirección y velocidad en ambos lados del corte — más las dos técnicas en escena (§6 llegadas, §7 deslizamientos). La ley de costura (seam) — ley vectorial, la corriente, el libro mayor, la Puerta de Costura — está en motion-doctrine; léelo primero. Este skill son los parámetros y la mecánica. Todos los templates de código GSAP (worker + registry): examples/gsap-implementation.md.

Catálogo

#TécnicaÁmbitoEjeUso
1Zoom-Through (hacia adelante)Intercambio de texto en escenaZ, hacia el espectadoravanzar más profundo en el mismo pensamiento
2Zoom-Through InversoGolpe de llegada / remateZ, alejándose del espectadoralgo más grande aterriza
3Cut the CurveEntre escenasX / Yel límite predeterminado, la corriente de la película
4Waterfall CutCostura texto a textoX, por palabrahandoff a nivel de palabra entre golpes de texto grande
5Rack-Focus Blur-CutIntercambio de estado en la misma superficieX / Y / Zel único corte que QUIERES que se VEA — un floreo de enfoque DSLR
6Waterfall EntryLLEGADA en escena (sin costura)Y, desde abajotarjetas de título, abridores de segmento, intros de listas
7Nudge CurveDeslizamiento de grupo en escena (sin costura)X / Yreposicionar un grupo compuesto para hacer espacio

La dirección Z es un signo

"Mismo eje" no es suficiente en Z — el signo de d(escala)/dt debe coincidir a través del corte:

Vector ZEscala de salidaEscala de entradaVariante
Empuje (adelante)creciendo 1 → 1.2creciendo 0.75 → 1zoom-through
Tirón (atrás)encogiendo 1 → 0.8encogiendo 1.25 → 1zoom-through inverso

Espejos prohibidos: una salida que retrocede respondida por una entrada que crece desde pequeño (el tirón se convierte en empuje — el común, ya que crecer desde pequeño es la entrada de elemento predeterminada), y una salida de empuje respondida por una retracción sobredimensionada. Esto vincula las ENTRADAS PROPIAS de la escena entrante durante la ventana de costura (corte + ~0.5s), no solo el tween wrapper: mantén el fotograma entrante compuesto, o escribe su entrada para que coincida con el signo. Verifica según la regla 7 de la Puerta de Costura.

Lógica de desenfoque (todas las variantes Z)

SujetoDesenfoque picoPor qué
Escala de texto (titular, grupo de palabras)10px20px emborrona las formas de las letras — el corte se lee como un fallo, no velocidad
Superficie de pantalla completa (ventana, tarjeta, captura de pantalla)18–20pxun desenfoque más ligero en una superficie grande se lee como un hipo de renderizado

Mismo desenfoque pico en ambos lados en el fotograma de intercambio. Desenfoca el WRAPPER, nunca los hijos.


1. Zoom-Through (hacia adelante)

Corte con emparejamiento de velocidad en el eje Z; nunca ambos textos visibles. Todo CRECE: el texto saliente acelera hacia la cámara, un intercambio duro oculta en el pico de desenfoque, el texto entrante sigue creciendo hacia el plano focal. Solo titulares y frases cortas. Total ≈ 0.4s.

FaseEscalaDesenfoqueOpacidadEaseDuración
Salida1 → 1.20 → 10px1 → 0.15power3.in (opacidad: tween none separado)0.2s
Corte (tl.set)ent: 0.7510pxsal: 0 / ent: 0.15——
Entrada0.75 → 110 → 0px0.15 → 1expo.out0.5s

La opacidad de salida DEBE ser su propio tween lineal — power3.in mantiene la opacidad cerca de 1 demasiado tiempo. En la entrada, todas las propiedades comparten expo.out.

2. Zoom-Through Inverso (hacia atrás)

El espejo del tirón hacia atrás: el elemento saliente RETROCEDE; el entrante llega SOBREDIMENSIONADO (como si estuviera justo detrás de la cámara) y se retrae hacia el plano focal. Todo ENCOGE. Úsalo en golpes de LLEGADA/remate — una línea de remate, una respuesta gigante, un estado final mantenido — nunca en límites ordinarios. Total ≈ 0.7s (30% salida / 70% entrada).

FaseEscalaDesenfoqueOpacidadEaseDuración
Salida1 → 0.80 → 10px1 → 0.15power3.in (opacidad: tween none separado)~0.2s
Corte (tl.set)ent: 1.2510pxsal: 0 / ent: 0.15——
Entrada1.25 → 110 → 0px0.15 → 1expo.out~0.5s

El desenfoque es de 10px para escala de texto; 18–20px solo cuando ambos lados son superficies a sangrado completo.

Disciplina de signo: la escena entrante llega como un fotograma compuesto dentro del wrapper que se retrae — sin introducción de crecimiento desde pequeño en la ventana de costura. Las entradas escalonadas ocurren después de que la retracción se asienta, o comienzan en ≥1 y se retraen.

3. Cut the Curve (límite de escena predeterminado)

Corte con emparejamiento de velocidad en X/Y — el predeterminado para TODOS los límites entre escenas, en la corriente de la película, no un acento. El héroe saliente acelera en una dirección, el corte aterriza a medio movimiento, el héroe entrante continúa la MISMA dirección y desacelera. Total ≈ 0.6s; direcciones IZQUIERDA / DERECHA / ARRIBA / ABAJO (predeterminado IZQUIERDA).

Recorrido parcial: ~12% del fotograma (≈230px a 1920) — nunca movimientos completos fuera de pantalla.

DirecciónSalidaInicio → fin de entrada
Hacia la izquierdax: 0 → −230x: +230 → 0
Hacia la derechax: 0 → +230x: −230 → 0
Hacia arribay: 0 → −230y: +230 → 0
Hacia abajoy: 0 → +230y: −230 → 0

Mecánica:

  • Eases espejados: salida power4.in + entrada power4.out, misma distancia y duración — las dos mitades de un solo power4.inOut, por lo que la velocidad coincide exactamente en el corte.
  • El truco de desvanecimiento: la opacidad de salida se completa en ~25–30% de su recorrido (desvanecimiento ≈ 0.18–0.3s vs movimiento 0.3–0.34s); la entrada se enciende en ~0.35 de opacidad a medio camino. Sincroniza el último elemento que se desvanece para que muera justo en el corte — un espacio donde nada se mueve se lee como aire muerto.
  • Salida 0.2–0.4s; entrada ≥ salida. Desenfoque opcional 8–10px.
  • Escenario base: #root debe ser opaco (background: var(--canvas-deep, var(--canvas, #000))) — el corte a medio camino abre una ventana de opacidad sumada < 1 que de otro modo parpadea en blanco (ver seam-craft).

push-slide existe pero viola el recorrido parcial y la fase de medio movimiento; prefiere cut-the-curve.

4. Waterfall Cut (corte palabra por palabra con cut-the-curve)

Cut-the-curve a nivel de PALABRA — el corte hacia la izquierda más fuerte para costuras texto a texto. Las palabras salientes se desvanecen en sus propias curvas; las palabras entrantes entran en cascada a medio vuelo — una ola que el ojo monta a través de la costura.

Ámbito: escrito por worker dentro de una composición multigolpe (capas .beat de fotograma completo apiladas), NO un tipo registry/injector — crea tweens en tramos de palabras, no en wrappers de clip. El límite hacia y desde el bloque de golpe de texto aún obtiene una transición de registry normal. No cuenta contra el presupuesto de 2–3 transiciones.

ParámetroValorPor qué
Recorrido±230px (~12% fotograma)recorrido parcial + velocidad > empuje de fotograma completo
Salida0.34s power4.inla aceleración ES el corte
Desvanecimiento salida0.18s, comienza con xpalabra desaparece en ~25–30% del recorrido — sin mancha
Escalonamiento salida+0.022s en orden de lecturala línea se pela, no un deslizamiento de bloque
Entrada0.3s power4.outsegunda mitad del compuesto — emparejamiento de velocidad
Opacidad inicio entrada0.35ignición a medio camino; binario 0→1 da un pop
Espacios entrada0.05s × 0.84 decadenciacascada que acelera, resuelve compuesta

Reglas:

  • Una dirección por cadena, montando la corriente. El zoom inverso es solo el golpe de LLEGADA de la cadena.
  • Preestablece todas las palabras a x: +230, opacity: 0 en tiempo de construcción — immediateRender: false solo deja las palabras no iniciadas visibles en reposo.
  • Un primer golpe corto puede salir en línea completa: su desvanecimiento termina ~0.02s antes del corte para que aún esté estriado cuando las siguientes palabras se enciendan — sin espacio muerto.
  • Solo transform/opacidad (seguro para seek); se aplica escenario base opaco.

5. Rack-Focus Blur-Cut (el corte visible)

La única variante donde el corte es VISTO: un pico de desenfoque de desenfoque oculta un intercambio duro de un solo fotograma — un tiro de enfoque DSLR manual. Úsalo como un floreo ocasional para un intercambio de estado de la MISMA superficie dentro de un tema visual; nunca el límite predeterminado.

Diferencias con los demás: la salida permanece COMPLETAMENTE OPACA hasta el corte (el desenfoque oculta el intercambio — sin desvanecimiento temprano); eases power2.in / power2.out (óptica suave, no impulso).

Reglas:

  • Fuego solo en un golpe narrativo, ≤ una vez por ~8s; nunca a mitad de subtítulo o durante una pausa.
  • Corta en el pico de DESENFOQUE (≥6px; pico 8–12px, ≤16–18px máx) — intercambiar en el camino hacia arriba muestra el corte.
  • Una escala sutil (~1.06 respiración de lente) lo vende como óptica.
  • Misma dirección en ambos lados — la ley vectorial aún se aplica. Entrada ≥ duración de salida.
  • Desenfoca el wrapper; nunca desenfoque + opacidad en un solo tween en un elemento (error de composición sin cabeza); nunca desenfoques un <video> directamente (envuélvelo).

6. Waterfall Entry (llegada en escena — no una costura)

Cascada de LLEGADA escalonada: palabras/elementos entran desde abajo (una dirección consistente), cada uno comienza antes de que el anterior se asiente — una ola que acelera y se resuelve en un diseño compuesto. Tarjetas de título, abridores de segmento, intros de listas/características. El hermano de costura es §4; no mezcles sus reglas:

§6 Entrada (llegada)§4 Waterfall Cut (costura)
OpacidadBINARIA 0→1 mediante tl.set en la entrada — nunca desvanecerse enciende a 0.35 a medio camino — el desvanecimiento ES el truco de velocidad
Eje predeterminadoY, desde abajoX, montando la corriente
Lado salienteningunolas palabras se desvanecen con power4.in espejado

Coreografía:

  • Superpón, no encoles — el siguiente elemento comienza dentro de ±2 fotogramas del asentamiento del anterior; los espacios SE ENCOGEN a través de la cascada; el último elemento encaja.
  • La velocidad varía según el peso — los elementos pesados/ancla viajan más lejos y más tiempo; las palabras ligeras/puntuación encajan apretadas:
ParámetroAncla/pesadoPalabra normalLigero/puntuación
Offset Y60–80px40–50px30–48px
Duración0.16–0.20s0.13–0.16s0.10–0.13s
Superposiciónespacio de 0–2fsuperposición de 1fsuperposición de 1–2f
  • Ease power4.out (expo.out para más chasquido); nunca .inOut en una entrada.
  • Una dirección por cascada.
  • Divide la PALABRA FINAL en fragmentos para extender el clímax; los fragmentos viajan más lejos.
  • Después del asentamiento, el grupo generalmente se desliza para hacer espacio para el siguiente golpe — eso es §7.

7. Nudge Curve (deslizamiento de grupo en escena — no una costura)

Reposicionamiento lento-rápido-lento de un grupo compuesto (filas de palabras, pilas de tarjetas, listas) para revelar contenido o hacer espacio. Ningún ease incorporado lo produce — power4.inOut se detiene de golpe. Encadena tres tweens en una sola propiedad:

FaseEaseDistanciaTiempoSensación
1 subidapower3.in~10%~20%apenas se mueve — el movimiento se registra, sin sacudida
2 ráfaganone (lineal)~65%~18%~2× px/fotograma promedio — con propósito
3 colapower4.out~25%~62%arrastre decadente al reposo — elimina el golpe

Reglas:

  • La cola es ≥3× la subida en TIEMPO. Si aún golpea: extiende el tiempo de la cola (no la distancia) o usa power5.out.
  • La fase 2 permanece lineal — darle ease pierde el contraste de ráfaga.
  • Revela nuevo contenido DURANTE la fase 2 — la ráfaga enmascara su aparición.
  • Mismas relaciones en vertical; escala las distancias proporcionalmente, mantén las relaciones de tiempo.

Cómo elegir una variante

Zoom-ThroughZoom-Through InversoCut the CurveWaterfall Cut
ÁmbitoIntercambio de texto en escenaGolpe de llegada/remateEntre escenasCostura texto a texto
Signo/eje Zcreciendo (empuje)encogiendo (tirón)X / YX, por palabra
Recorrido/escala1→1.2, luego 0.75→11→0.8, luego 1.25→1±230px±230px
Desenfoque pico10px texto / 18–20 pantalla completa10px texto / 18–20 pantalla completa8–10px opcionalninguno
Easespower3.in / expo.outpower3.in / expo.outpower4.in / power4.outpower4.in / power4.out
Sensaciónavanzando a través dellegando allevado lateralmenteuna ola a través de la costura

Anti-patrones

No hagasEn su lugar
Dos o más SEAM en un solo golpe o entre un par de escenas (a menos que una sea §5 a media jugada, que no cuenta como SEAM)Elige una variante por límite. §4 reemplaza §3 en su ámbito; no los apiles.
§1 o §2 entre escenas separadas cuando no hay una línea Z que las conecte (cámaras separadas)Usa §3 (o §4 para texto). El eje Z entre escenas no correlacionadas se lee como inconsistencia de espacio.
§5 como límite predeterminado, o dentro de los primeros ~3s de una escena, o en un grupo de límites rápidos§5 es un floreo narrativo para un intercambio de estado en la misma superficie, no un ritmo.
Barajar elementos dentro de un grupo compuesto en lugar de deslizar el grupo completo (§7)Mover elementos individuales rompe la composición y añade ruido. Desliza el grupo.
§6 con opacidad transitiva (0→1 a lo largo de la entrada)Ajuste binario en la entrada (tl.set). El desvanecimiento en la entrada de llegada se lee como deriva.
Animar opacidad y cualquier otra propiedad en el mismo tween en un elemento durante un corte de costuraLa opacidad debe ser su propio tween lineal separado (o ser binaria). Mezclarlos causa artefactos de renderizado.

Este catálogo es el manual de referencia para toda la animación de transición y texto cinético. Los parámetros deben ser aplicados por workers y registries a través de examples/gsap-implementation.md. Siempre prioriza la continuidad de movimiento sobre los efectos; la velocidad y la dirección son la firma.

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.

Skills relacionados