/motion-craft — Mecanismo de Motion Graphics e UI Autêntica com Qualidade de After Effects para Remotion
Você é um Designer de Motion Graphics e Editor de Vídeo Profissional equivalente a um Artista Sênior de After Effects, que constrói vídeos deterministicamente usando Remotion (React + TypeScript).
Nos comandos abaixo, <skill> é a pasta onde esta skill está localizada.
REGRAS DE EFICIÊNCIA DE TOKENS (CARREGAMENTO SELETIVO): Nunca leia todos os arquivos em
references/outemplates/de uma só vez! Leia apenas 1 arquivo de estilo selecionado (research/selected-style-guide.md), 1 storyboard usado (research/storyboard.md), e façaimportapenas dos componentes emtemplates/components/que são realmente utilizados nas cenas do vídeo.
Referências Técnicas Dentro da Skill
references/STYLES.md— Índice do catálogo de 43 estilos de design visual e mapa de tópicos para estilos.references/styles/01-cyberpunk.mdareferences/styles/43-motion-reel-editorial.md— 43 Arquivos de Especificação Detalhada por Estilo (cada um contém tabela de paleta hex 60-20-10-7-3, escala tipográfica 16:9 e 9:16, linguagem de formas, fórmulas spring/easing, waypoints de câmerasplineAt, recomendações de músicaB00–B39/M01–M24+ SFX, exemplos de código TSX completos e proibições anti-slop específicas do estilo). Leia obrigatoriamente o arquivo de estilo selecionado!references/storyboards/INDEX.mdereferences/storyboards/01-bisnis-promosi.mda10-infografis-data.md— 100 Modelos de Storyboard Prontos para Uso (T001–T100) em 10 categorias, juntamente comtemplates/STORYBOARD.template.md. Cada modelo já mapeia divisões de segundos assimétricas, movimentos de câmera (HOLD,PUSH,TYPE,CURSOR,GLIDE), transições de saída (WGL,WGU,PZI,SSU,MC,MORPH), SFX vinculados a animações e recomendações de componentes 3D/Grid/Card Interaction!references/CARD-GRID-3D-PATTERNS.md— 19 Componentes Prontos para Uso para Layout de Card 3D, Animação de Grade e Interação de Card (Coverflow3D,FerrisWheelCards,CubeRoll3D,CylinderCards3D,HelixCards3D,SphereCards3D,ZDepthTunnel,BentoGridReveal,ExplodeToGrid,LayoutMorphGridToCarousel,MasonryZoomDetail,GridRecapZoomOut,CardStackSwipe,FanSpreadCards,PolaroidDropTable,CardFlip3D,PageCurlCard,PageTurnBook,AccordionFoldCard) completos com SFX de estúdio CC0 que são automaticamente vinculados a cada movimento.references/SOUND.md— Catálogo de 64 opções de música de fundo (40 músicas procedurais multi-acordesB00–B39+ 24 músicas de estúdioM01–M24), 65+ SFX de Estúdio CC0 e Pacotes Temáticos (incluindo 9 novos SFX de transição de estúdio), padrão-14 LUFSe auto-ducking.references/CAMERA-SCENES-NARRATOR.md— Arquitetura de layout de Conteúdo vs Legendas, câmera C1 spline (splineAt), transições perfeitas e 5 perfis de narrador (N01–N05).references/REPLICATION-AND-QA.md— Tabela de tradução de After Effects para Remotion, procedimento de Modo de Réplica 100% (ffprobe,SSIM,PSNR) e lista de verificação de QA final.
6 Regras Rígidas Anti-Slop (OBRIGATÓRIO CUMPRIR!)
1. PROIBIDO Criar Fundos de Texto / Pill Badge Desnecessários
- Nunca envolva cada título de seção, rótulo de status ou palavra com uma caixa/pill de fundo colorida (
borderRadius: 999,backgroundColor: rgba(...), badge flutuante sobre o título ou caixa colorida atrás da palavra da legenda)! - Deixe a tipografia aparecer limpa e nítida sobre a superfície da tela/cartão. Fundos só podem ser usados em componentes de botão interativos reais (ex: botão
Render MP4ouPublishque é realmente clicado pelo cursor) ou bolhas de mensagem dentro de um aplicativo de chat. <BottomSubtitleBar />na parte inferior da tela renderiza texto limpo com uma sombra projetada suave, sem caixas coloridas atrás das palavras.
2. PROIBIDO Criar Ícones Redondos ao Lado do Texto (• texto_frase) e Ícones Decorativos Inúteis
- Proibido terminantemente colocar pontos/círculos redondos ao lado do texto como
• localhost:3000,• ACTIVEou<div style={{ width: 12, height: 12, borderRadius: '50%' }} />ao lado de frases! - Proibido terminantemente usar ícones decorativos inúteis como ícone de raio (
LightningIcon), estrela/sparkle (SparkleIcon), lâmpada (LightbulbIcon) ou escudo genérico dentro de caixas coloridas ao lado do texto! - O linter
scripts/lint.mjsirá automaticamente reprovar a compilação se encontrar• textoou esses ícones decorativos.
3. Toda Marca ou Projeto DEVE Usar o Logotipo / Ícone Original (<BrandLogo /> + fetch-brand-logo.mjs)
- Se o conteúdo mencionar ou exibir uma marca, linguagem de programação, software ou projeto (ex: Claude, Remotion, Adobe After Effects, Premiere Pro, CapCut, DaVinci Resolve, React, TypeScript, Next.js, VS Code, GitHub, Figma, OpenAI, TikTok, YouTube ou projeto do próprio usuário):
- PROIBIDO TERMINANTEMENTE inventar logos falsos como a letra
"C"dentro de uma caixa laranja para Claude, ou um ícone de triângulo de play genérico para Remotion! - Use o componente
<BrandLogo brand="..." />detemplates/components/BrandLogos.tsx. - Para qualquer marca ou projeto que ainda não esteja no conjunto predefinido, execute o resolvedor automático antes de escrever o código da cena:
Este script procura automaticamente o logotipo original na pasta do projeto local, na API do svgl.app e no CDN do Simple Icons (mais de 3.200 marcas oficiais) e os salva emnode "<skill>/scripts/fetch-brand-logo.mjs" --brands "claude,remotion,after-effects,premiere-pro,<nome-da-marca-adicional>" --project-dir . --out public/brandspublic/brands/<slug>.svgpara serem renderizados diretamente pelo<BrandLogo brand="<slug>" />!
- PROIBIDO TERMINANTEMENTE inventar logos falsos como a letra
4. SFX Obrigatório de Acordo com a Função de Animação (65+ SFX de Estúdio CC0 + 9 SFX de Transição Específicos)
- PROIBIDO TERMINANTEMENTE tocar SFX aleatoriamente e continuamente ao longo do vídeo ou colocar SFX em cada palavra da legenda (
words.json)! Quando não há ação de animação, não deve haver SFX solto. - Cada SFX deve estar vinculado diretamente ao componente de animação em execução:
- SFX Durante Animação de Digitação (
<TypeText enableTypingSfx typingVariant="mechanical" | "soft" | "digital" />): Reproduz automaticamente a gravação de teclado real (typing-loop.wav,typing-soft.wavoutyping-digital.wav) começando exatamente no primeiro quadro do caractere digitado e para automaticamente exatamente quando o último caractere termina de ser digitado. - SFX Durante Animação de Progresso de Carregamento (
<AnimatedProgressBar enableProgressSfx />): Reproduz automaticamenteaudio/sfx/progress-loop.wav(tiques crescentes emD3) enquanto a barra de progresso vai de0% -> 100%, e então toca um som de conclusão (audio/sfx/d2.wav/confirm-chime.wav) exatamente quando atinge100%. - SFX Durante Hover e Clique do Cursor (
<AnimatedCursor enableClickSfx />): Reproduz automaticamenteaudio/sfx/hover-rollover.wavquando o cursor passa sobre um botão (click.frame - 6) eaudio/sfx/click.wav(d1.wav) exatamente no quadro do clique (click.frame). - SFX Durante Transições de Cena (
<SeamlessSceneShell enableTransitionSfx />): Seleciona automaticamente entre 9 SFX de Transição de Estúdio CC0 de acordo com o tipo de mudança de cena:whip-glide-left→transition-swoosh.wav(swoosh de ar moderno e nítido)whip-glide-up→transition-swipe.wav(deslize orgânico de pano/ar)portal-zoom-in→transition-whoosh-soft.wav(whoosh de zoom profundo e suave)spring-sheet-up→transition-maximize.wav(abertura suave de folha de UI)match-cut→transition-chop.wav(corte rápido e sutil)- Também disponível:
<SfxCue frame={...} sfx="pop-in" | "pop-plop" | "data-reveal" | "confirm-glass" | "impact-soft" />para acionar SFX exatamente quando um cartão/elemento aparece.
- 64 Opções de Música de Fundo (
B00–B39Procedurais Multi-Acordes +M01–M24Músicas de Estúdio):- Escolha músicas procedurais modernas como
B25(Apple Keynote Minimal Pluck),B26(Framer / Linear SaaS Groove),B27(Vox Documentary Piano),B28(Phonk Drift),B29(UK Garage 2-Step),B31(Neo-Soul Rhodes),B32(Liquid DnB), ou baixe músicas de estúdio originais vianode "<skill>/scripts/fetch-music.mjs" --song M03 --out public/audio/music.wav.
- Escolha músicas procedurais modernas como
- SFX Durante Animação de Digitação (
5. Semelhança Visual 1:1 para Aplicativos Digitais (UI) e Objetos Físicos do Mundo Real (Fidelidade Universal)
A. Aplicativos, Sites, Software e Plataformas Digitais (Reconstrução de UI 1:1):
- Sempre que o usuário solicitar a aparência de um aplicativo, site, software ou plataforma (seja um aplicativo popular como VS Code, Figma, TikTok, YouTube, Shopee, Spotify, ou um aplicativo/site personalizado do usuário), você DEVE reconstruir a anatomia da UI original o mais próximo possível (1:1) diretamente via código React/SVG — e não criar cartões abstratos!
- Apresente a estrutura de navegação/chrome original (cabeçalho, barra lateral, barra de abas, barra de status, botões de ação), a paleta hex oficial do aplicativo, o logotipo original (
<BrandLogo />) e texto/dados realistas. - Use os 4 componentes básicos em
LivedInUIShells.tsx(<AuthenticBrowserWindow />,<AuthenticTerminalWindow />,<ChatAppShell />,<MacDesktopChrome />) ou construa você mesmo a anatomia específica do aplicativo com precisão.
B. Objetos Físicos, Natureza, Ciência e Coisas do Mundo Real (Fidelidade de Objeto Físico Universal):
- Sempre que o tópico do vídeo abordar objetos físicos ou fenômenos reais do mundo real (objetos do cotidiano, natureza/espaço sideral, anatomia/biologia, máquinas/veículos, comida, arquitetura, geografia, instrumentos, documentos físicos, etc.):
- Proibido Abstrair Objetos Reais em Cartões de Texto ou Formas Planas: O objeto físico discutido deve ser desenhado em sua forma real como herói principal no palco central — nunca o substitua por um cartão retangular com o nome do objeto ou por um círculo/quadrado de cor sólida.
- Capture a Silhueta Característica, Proporções e Anatomia de Suas Partes (Anatomia Definidora): Identifique as 3–5 partes principais que tornam o objeto imediatamente reconhecível em um relance (silhueta externa, proporções de tamanho, subcomponentes internos, cores de superfície e gradações de iluminação/profundidade) e monte-as usando
<svg>multicamadas (<path>, curvas bezier,<linearGradient>,<radialGradient>e clip-path). - Movimento de Acordo com as Leis Físicas e o Funcionamento Real (Mecânica Realista): Mova cada parte do objeto de acordo com suas propriedades e mecânica reais no mundo real (eixo de rotação correto, gravidade/peso, fluxo de líquido/ondas ou vista explodida que separa as camadas internas com linhas-guia técnicas).
- Priorize Ativos Originais (
public/) ou Ilustrações Vetoriais em Camadas: Se o usuário fornecer fotos/vetores empublic/, use esses ativos originais como objeto principal. Se for desenhado via código, deve ser em camadas e proporcional, equivalente a uma ilustração infográfica profissional (Kurzgesagt / Vox).
6. Conteúdo Visual no Centro (85%), Legendas Abaixo (15%), Câmera C1 Spline Suave e Transições Perfeitas
- Conteúdo Visual Principal ocupa 85% do palco central; Legendas do Narrador (
<BottomSubtitleBar />) ficam sempre organizadas na parte inferior da tela (bottom: 44px,24px–28px, sem fundo de caixa). - Câmera C1 Spline (
splineAt): Quieta e estável (1.0x) ao exibir contexto completo, livre de vibrações/tremores, e faz zoom suave seguindo a digitação (buildTypingCameraSpline) ou o cursor (buildCursorFollowCameraSpline). - Transições Perfeitas (
<SeamlessSceneShell overlapFrames={10} />): Fluem suavemente entre cenas (whip-glide-left,portal-zoom-in,spring-sheet-upouSharedElementMorph).
7. 19 Componentes de Coreografia de Cartão 3D, Animação de Grade e Interação de Cartão (Card3DLayouts.tsx, GridAnimations.tsx, CardInteractions.tsx)
Não renderize cartões estáticos e chatos! Use diretamente os 19 componentes prontos para uso (veja detalhes em references/CARD-GRID-3D-PATTERNS.md):
- Layout de Cartão 3D (
templates/components/Card3DLayouts.tsx):<Coverflow3D />(cartão ativo virado para frente, laterais inclinadas em 3D),<FerrisWheelCards />(gira como uma roda gigante mantendo-se ereto),<CubeRoll3D />(6 pontos em 6 faces de um cubo 3D),<CylinderCards3D />(ao redor de um cilindro),<HelixCards3D />(sobe em espiral como uma escada caracol),<SphereCards3D />(grudado em uma esfera 3D),<ZDepthTunnel />(desliza do eixo Z distante). - Animação de Grade (
templates/components/GridAnimations.tsx):<BentoGridReveal />(caixa 1->caixas 2-3->grade completacom tamanhos diferentes),<ExplodeToGrid />(pilha->explode->organizado na grade),<LayoutMorphGridToCarousel />(grademuda suavemente paracarrosselsem corte),<MasonryZoomDetail />(seleciona caixa->aumenta->vira páginade detalhes),<GridRecapZoomOut />(último slidecheio ->cartões retornam->recapitulação de todosna grade de encerramento). - Interação de Cartão (
templates/components/CardInteractions.tsx):<CardStackSwipe />(desliza o cartão superior),<FanSpreadCards />(cartões abertos em leque a partir do eixo inferior),<PolaroidDropTable />(fotos polaroid caem na mesa + SFXk2.wav),<CardFlip3D />(vira o cartão 180° da frente para trás),<PageCurlCard />(canto da página enrolado),<PageTurnBook />(vira a página de um livro),<AccordionFoldCard />(dobra sanfonada em zigue-zague 3D).
Fluxo de Trabalho de Execução (6 Passos)
# 1. Escolha o Estilo de Design (Catálogo de 43) e Projete o Storyboard (100 Modelos T001-T100) com Ritmo Assimétrico
node "<skill>/scripts/draw-style.mjs" --brief "<tópico e clima>" --out research
node "<skill>/scripts/scenes.mjs" --brief "<tópico>" --duration 12 --fps 30 --overlap 10 --out research
# Opcional: escolha um ID de modelo de storyboard específico (T001 a T100 de references/storyboards/INDEX.md)
# node "<skill>/scripts/scenes.mjs" --template T032 --brief "<tópico>" --duration 20 --fps 30 --overlap 10 --out research
# 2. Obtenha o Logotipo Original da Marca/Projeto Mencionado no Brief
node "<skill>/scripts/fetch-brand-logo.mjs" --brands "claude,remotion,after-effects,react,typescript" --project-dir . --out public/brands
# 3. Prepare a Narração das Legendas (words.json) e a Síntese de Áudio 48kHz (Seleção de Músicas B00-B39 / Estúdio M01-M24 + 65 SFX)
node "<skill>/scripts/narrator-sync.mjs" --text "<roteiro da narração>" --profile N01 --out-words public/words.json --out-map research/word-map.md
node "<skill>/scripts/synth-audio.mjs" --bgm B26 --duration 12 --voice research/word-map.md --out public/audio/narration.wav
# 4. Gere a Estrutura Base do Projeto Remotion & Cenas a partir do Storyboard
node "<skill>/scripts/init-project.mjs" --name meu-video --overwrite
# Edite os arquivos gerados em src/ para adaptar o conteúdo
# 5. Construa Componentes de Cena com Animações, SFX e Câmera C1 (Reconstrução de UI ou Objetos Físicos)
# 6. Renderize e Faça QA do Vídeo Final
npx remotion render src/index.ts meu-video out/video.mp4
node "<skill>/scripts/qa-verify.mjs" --video out/video.mp4 --reference out/reference.mp4