Communitygithub.com

Diseño de movimiento VYBE

Arte de diseño de movimiento para videos VYBE / HyperFrames: principios de animación, easing y temporización, coreografía y escalonamiento, transiciones de escena, movimiento de cámara y efectos visuales (desenfoque, resplandor, máscaras, granulado, fugas de luz), escritos como recetas GSAP seguras para seek. Úsalo al diseñar o corregir cómo se mueven las cosas en un video: entradas, salidas, transiciones entre escenas, movimientos de cámara, ritmo, o cuando el movimiento se siente genérico, flotante, rígido o repetitivo.

¿Qué es Diseño de movimiento VYBE?

Este skill define un sistema completo de diseño de movimiento para la creación de videos con VYBE/HyperFrames. Proporciona principios, reglas y recetas GSAP (GreenSock Animation Platform) enfocadas en animaciones deterministas, seekables y de alto impacto visual. Está diseñado para agentes de IA (como Claude Code, Cursor, Codex) que trabajan con HyperFrames, un framework que usa una línea de tiempo GSAP pausada por composición. El skill incluye referencias a principios de animación, transiciones, movimientos de cámara y efectos visuales, así como diez reglas fundamentales que guían la coreografía, el easing, el escalonamiento y la variación de movimientos. Las recetas GSAP incluyen patrones como entradas borroso-a-nítido, revelaciones por máscara, dispersión por glifo, conteos animados y movimientos ambientales durante pausas. El objetivo es que cada movimiento comunique algo sobre el sujeto (peso, velocidad, confianza, maravilla) y evitar movimientos genéricos o robóticos. El skill también incluye verificaciones de calidad antes de entregar, como evitar movimientos repetidos en escenas consecutivas o propiedades animadas duplicadas en el mismo elemento.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SJbuilds04/VYBE/tree/HEAD/skills/vybe-motion-design

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Diseño de movimiento VYBE?

El movimiento es el mensaje. Cada movimiento debe decir algo sobre el sujeto — peso, velocidad, confianza, maravilla — o no debería existir.

Todas las recetas son para HyperFrames: una línea de tiempo GSAP pausada por composición, determinista, seekable. Usa fromTo para entradas, transforma + opacidad + clipPath + filter para animación, nunca propiedades de layout.

Referencias (carga la que necesites)

ArchivoPara
references/animation-principles.mdlos 12 principios aplicados a UI/tipografía/gráficos, vocabulario de easing, tablas de temporización
references/transitions.md14 recetas de transición con código GSAP, y cuándo usar cada una
references/camera-movements.mddolly, truck, crane, órbita, zoom-through, whip, rack focus, paralaje — 2D y 3D
references/visual-effects.mdresplandor, bloom, fuga de luz, granulado de película, división cromática, desenfoque de movimiento, máscaras, morphs

Las diez reglas

  1. Coreografía, no animación. Planea quién se mueve primero, quién responde, quién se sostiene. Una escena es una oración: sujeto → verbo → objeto.
  2. El easing es personalidad. expo.out = premium/confiado; back.out = juguetón; power2.inOut = cámara mecánica; sine.inOut = respiración/ambiente; none = deriva constante. Elige 2–3 eases por película y mantén consistencia.
  3. Rápido al entrar, lento al asentarse. La mayoría de las entradas: 0.5–0.9s, el 80% del recorrido en el primer 30% del tiempo.
  4. Las salidas son más rápidas que las entradas (≈60%) y usan eases .in.
  5. El escalonamiento revela jerarquía — 0.04–0.08s para letras, 0.1–0.18s para palabras, 0.3–0.6s para elementos de lista. Nunca escalones todo de manera idéntica.
  6. Superpone acciones. El siguiente elemento comienza antes de que termine el anterior (parámetro de posición "<0.2" / tiempos absolutos). Secuencial = robótico.
  7. Pausa para leer. ≈0.3s por palabra + 0.5s; líneas finales ≥2s.
  8. Siempre algo vivo. Durante las pausas, un push lento (scale 1→1.04), deriva o barrido de luz mantiene vivo el encuadre — pero solo un movimiento ambiente por capa.
  9. Varía las transiciones. Como máximo un fundido a negro por película. Prefiere cortes en movimiento, cortes de coincidencia, barridos de máscara, zoom-throughs, elementos compartidos.
  10. Respeta el ritmo. Si hay música, cada cambio importante cae en un tiempo (60/bpm); los impactos caen en el tiempo fuerte, la anticipación comienza antes.

Patrones GSAP seguros para seek

const tl = gsap.timeline({ paused: true });
// Entrada: borroso a nítido (premium)
tl.fromTo("#s1-title", { opacity: 0, y: 40, filter: "blur(12px)" },
  { opacity: 1, y: 0, filter: "blur(0px)", duration: 0.9, ease: "expo.out" }, 0.2);
// Revelación por barrido de máscara (editorial)
tl.fromTo("#s1-line", { clipPath: "inset(0 100% 0 0)" }, { clipPath: "inset(0 0% 0 0)", duration: 0.8, ease: "expo.inOut" }, 0.5);
// Dispersión por glifo (en lugar de letterSpacing — que lint rechaza)
gsap.utils.toArray("#s1-word .ch").forEach((c, i, all) => {
  const off = (i - (all.length - 1) / 2) * -30;
  tl.fromTo(c, { x: off, opacity: 0 }, { x: 0, opacity: 1, duration: 1, ease: "expo.out" }, 1 + Math.abs(i - (all.length - 1) / 2) * 0.05);
});
// Conteo ascendente (seekable: onUpdate se ejecuta en cada seek)
const n = { v: 0 }, el = document.getElementById("s1-num");
tl.fromTo(n, { v: 0 }, { v: 97, duration: 1.4, ease: "expo.out", onUpdate: () => (el.textContent = Math.round(n.v)) }, 1.2);
// Pausa ambiente
tl.fromTo("#s1-stack", { scale: 1 }, { scale: 1.04, duration: 3, ease: "sine.inOut" }, 0);
window.__timelines["s1"] = tl;

División de texto: envuelve palabras/letras en <span class="w|ch" style="display:inline-block"> (las transformaciones no funcionan en elementos inline). Mantén los espacios fuera de los spans.

Antes de entregar

  • No dos escenas consecutivas comparten el mismo movimiento de entrada.
  • Ninguna propiedad se anima dos veces en el mismo elemento en tiempos superpuestos.
  • npx hyperframes check La sección de Movimiento está limpia; para auditorías de coreografía ejecuta el script animation-map.mjs incluido con el skill /hyperframes-animation de HyperFrames cuando esté instalado.

Individual skills in this repo

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

SJbuilds04/vybe-audio-design

Sound design and music direction for VYBE / HyperFrames videos — choosing music by mood and arc, spotting sound effects to picture, voiceover direction and provider choice (HeyGen, ElevenLabs, Kokoro, Gemini), ducking, loudness targets, beat-synced editing and caption sync. Use when planning or fixing the audio of a video, when a video feels silent, cheap, cluttered or out of sync, or when choosing a voice or music provider.

SJbuilds04/vybe-cinematic-3d

Deterministic Three.js / WebGL for HyperFrames videos — 3D scenes, particle systems, procedural geometry, product turntables, scientific models (molecules, planets, black holes), lighting rigs, camera paths and camera cuts, rendered frame-exactly from HyperFrames time. Use when a VYBE storyboard calls for 3D, depth, particles, space, a rotating product, a data sculpture, or when a Three.js layer renders black, flickers or differs between renders.

SJbuilds04/vybe-image-to-motion

Animate a still image into video. Analyzes the image, plans the motion, and picks the right technique — programmatic 2.5D (camera moves, depth-map parallax, subject/background layer separation, particles, fog, light) or AI image-to-video (Runway Gen-4.5 / Veo 3.1 / Kling 3.0, Luma Ray 3.2, Gemini Omni Flash) for organic motion like walking, faces, water or hair — then composes the result in HyperFrames with music, SFX and text. Use when someone supplies an image and asks to animate it, bring it

SJbuilds04/vybe-typography

Typography for motion — type systems, font pairing with bundled OFL fonts, scale and readability rules for video, kinetic typography techniques, per-letter/word animation, captions design and safe zones, in HyperFrames compositions. Use when choosing fonts, sizing or animating text in a VYBE video, building kinetic type or lyric videos, styling captions, or when text overlaps, clips, is unreadable or looks generic.

Skills relacionados