Communitygithub.com

VYBE Motion Design — Design de Movimento

Habilidades de design de movimento para vídeos VYBE / HyperFrames — princípios de animação, easing, coreografia e temporização, transições de cena, movimentos de câmera e efeitos visais (desfoque, brilho, máscaras, granulado, vazamento de luz), escritas como receitas GSAP seguras para seekbase. Use ao projetar ou corrigir como as coisas se movem em um vídeo.

O que é VYBE Motion Design — Design de Movimento?

O skill VYBE Motion Design fornece um sistema de design de movimento baseado em princípios para o ecossistema HyperFrames, visando uma base de conhecimento fundamental via GSAP com linhas do tempo pausáveis e seekáveis. Ele oferece um conjunto de 10 regras práticas que guiam coreografia (quem se move primeiro), escolha de eases (expo.out para impacto premium) e temporização (entradas rápidas com suavização lenta, saídas mais rápidas que entradas). O centro do skill são quatro referências carregáveis: princípios de animação (12 princípios + vocabulário de easing), receitas de transição (14 tipos com código GSAP), movimentos de câmera (dolly, truck, crane, orbit, etc.) e efeitos visuais (glow, bloom, light leak, grain, cromático). Todos os receitas são escritos no padrão seguro para seek: `gsap.timeline({ paused: true })` com `fromTo`, nunca propriedades de layout, e suportam manipulação de texto letra por letra, contagens numéricas buscáveis e movimentos ambientais de fundo. O skill roda em qualquer ambiente HyperFrames e é testado com o comando `npx hyperframes check` para garantir que não haja duas cenas consecutivas com o mesmo movimento de entrada ou propriedades sobrepostas.

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

Perguntar na sua IA favorita

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

Documentação

O que VYBE Motion Design — Design de Movimento faz?

O movimento é a mensagem. Cada movimento deve dizer algo sobre o sujeito — peso, velocidade, confiança, admiração — ou não deve existir.

Todas as receitas são para HyperFrames: uma linha do tempo GSAP pausada por composição, determinística, que pode ser buscada. Use fromTo para entradas, transformações + opacidade + clipPath + filter para animação, nunca propriedades de layout.

Referências (carregue a que precisar)

ArquivoPara
references/animation-principles.mdos 12 princípios aplicados a UI/type/graphics, vocabulário de easing, tabelas de temporização
references/transitions.md14 receitas de transição com código GSAP, e quando usar cada uma
references/camera-movements.mddolly, truck, crane, orbit, zoom-through, whip, rack focus, parallax — 2D e 3D
references/visual-effects.mdglow, bloom, light leak, granulado de filme, divisão cromática, desfoque de movimento, máscaras, morfoses

As dez regras

  1. Coreografe, não anime. Planeje quem se move primeiro, quem responde, quem parada. Uma cena é uma sentença: sujeito → verbo → objeto.
  2. Easing é personalidade. expo.out = premium/confiante; back.out = brincalhão; power2.inOut = câmera mecânica; sine.inOut = respirando/ambiental; none = deslocamento constante. Escolha 2–3 eases por filme e mantenha a consistência.
  3. Rápido na entrada, suave no final. Maioria das entradas: 0,5–0,9s, 80% do percurso nos primeiros 30% do tempo.
  4. Saídas são mais rápidas que entradas (≈60%) e usam eases .in.
  5. Stagger revela hierarquia — 0,04–0,08s para letras, 0,1–0,18s para palavras, 0,3–0,6s para itens de lista. Nunca crie stagger idêntico.
  6. Sobreponha ações. O próximo elemento começa antes do anterior terminar (parâmetro de posição "<0.2" / tempos absolutos). Sequencial = robótico.
  7. Faça pausa para leitura. ≈0,3s por palavra + 0,5s; linhas de fechamento ≥2s.
  8. Sempre algo vivo. Durante pausas, um push lento (scale 1→1.04), deriva ou varredura de luz evita que o quadro morra — mas apenas um movimento ambiente por camada.
  9. Varie transições. No máximo uma transição fade-through-black por filme. Prefira cortes em movimento, match cuts, wipe com máscara, zoom-through, elementos compartilhados.
  10. Respeite a batida. Se houver música, cada mudança importante ocorre na batida (60/bpm); os hits caem na batida forte, a antecipação começa antes dela.

Padrões GSAP seguros para busca (seek-safe)

const tl = gsap.timeline({ paused: true });
// Entrada: desfoque-para-nítido com subida (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);
// Revelação por wipe 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);
// Espalhamento por glifo (em vez de letterSpacing — que é rejeitado pelo lint)
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);
});
// Contagem progressiva (buscável: onUpdate executa em cada busca)
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;

Dividindo texto: envolva palavras/letras em <span class="w|ch" style="display:inline-block"> (transformações não funcionam em elementos inline). Mantenha espaços fora das spans.

Antes de entregar

  • Duas cenas consecutivas não podem ter o mesmo movimento de entrada.
  • Nenhuma propriedade é animada duas vezes no mesmo elemento em tempos sobrepostos.
  • npx hyperframes check A seção Motion deve estar limpa; para auditorias de coreografia execute o script animation-map.mjs incluído no skill /hyperframes-animation quando 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.

Habilidades Relacionadas