{
  "id": "clube-motion-designer",
  "titulo": "Claude, motion designer",
  "categoria": "elementos",
  "resumo": "showreel de 15,3 s, 16:9, em que o Claude se apresenta como motion designer. Cada compasso da música ensina um fundamento do motion (identidade, easing, morph, sistema, profundidade, tipografia) e uma linha de formas atravessa o vídeo inteiro: o ponto vira o símbolo, o símbolo vira fundo, as letras viram pontos, os pontos viram trilhos, e assim até o símbolo final. É uma **recriação** do \"Claude motion designer showreel\", de Stephan Livera (@stephanlivera), publicado no prompt-motion.com (prompt-motion.com/stephanlivera-df17a2) e gerado com o prompt genérico de showreel. A nossa versão veste a marca do Claude, corrige a tela preta parada e o quadrado congelado do original, troca a trilha sintética por música real cortada na batida e põe um efeito sonoro em cada elemento. Versão final: v2, a \"com mais impacto\".",
  "indicado": "abertura de marca, showreel de estúdio ou de designer e apresentação rápida de um produto de tecnologia.",
  "estilo": [
    "tipografia cinética",
    "morph de formas",
    "curvas de easing",
    "contraste alto",
    "HUD técnico",
    "câmera viva",
    "corte na batida."
  ],
  "ficha": {
    "formato": "1920×1080, 60 qps, 16:9, cor BT.709",
    "duracao": "15,3 s; 8 compassos de 1,90 s",
    "motor": "html",
    "voz": "ver o guia de estilo",
    "musica": "ver o guia de estilo",
    "fontes": "ver o guia de estilo"
  },
  "ferramentas": [
    "Claude Code"
  ],
  "ficha_tecnica": {
    "Duração": "15,3 s; 8 compassos de 1,90 s",
    "Formato": "1920×1080, 60 qps, 16:9, cor BT.709",
    "Narração": "nenhuma; o texto está na tela",
    "Ferramenta": "HyperFrames (HTML + GSAP), com formas desenhadas em canvas 2D e texto no DOM",
    "Uso": "showreel, filme de marca",
    "Trilha": "\"Satisfaction\" (David Guetta), 125 BPM, drop em 1,90 s"
  },
  "etapas": [
    {
      "titulo": "O roteiro",
      "texto": "**Resumo:** vídeo sem narração, com 8 compassos de 1,90 s a 125 BPM e um conceito de motion em cada um. O texto da tela está em português e sai do `index.html`; os tempos são do vídeo e caem nas batidas medidas da música.\n\n## Como o roteiro foi feito\n\n- **Ponto de partida:** o original de @stephanlivera, estudado a 4 qps. Ele já tinha a espinha \"um conceito por compasso\" e o HUD de ficha técnica; o roteiro manteve as duas coisas e a ordem das cenas.\n\n- **O que mudou:** a cena 5 não termina mais em tela preta, o quadrado da cena 4 não para, a marca é a do Claude e todo texto foi para o português.\n\n- **Batidas:** `0 · 0,46 · 0,94 · 1,42 · 1,90 · 2,38 …` (a lista completa está na constante `B` do `index.html`). Cada cena começa num tempo forte.\n\n## Cenas por tempo\n\n | \n\n | #\n | Tempo (s)\n | Conceito (rótulo do HUD)\n | Texto na tela\n | O que acontece\n\n | 1\n | 0–1,90\n | 01 — IDENTIDADE\n | \"x 960 · y 540\"; \"CLAUDE · MOTION DESIGNER · SHOWREEL 2026\" em círculo\n | um ponto cai e pousa com peso; a mira mostra a coordenada; anéis se desenham; o símbolo do Claude nasce, gira com o texto circular e encolhe até um ponto\n\n | 2\n | 1,90–3,80\n | 01 — IDENTIDADE\n | \"Nº 01\", \"SHOWREEL — 2026\", **CLAUDE**, motion designer\n | **drop em 1,90 s:** o ponto abre a íris argila; \"CLAUDE\" em Archivo 900 cai letra a letra com mola sobre uma linha; \"motion designer\" sobe em itálico; no fim, as letras caem e viram 6 pontos\n\n | 3\n | 3,80–5,70\n | 02 — EASING\n | Seis jeitos de ir de A a B.; \"MESMA DISTÂNCIA · MESMA DURAÇÃO · 0,95 s\"; \"linear\", \"ease-in-out\", \"expo-out\", \"back-out\", \"elastic\", \"bounce\"\n | os 6 pontos viram as bolinhas de 6 trilhos sobre o marfim; largada em 4,28 s; cada bolinha chega numa hora (elastic 4,35 · back 4,63 · bounce 4,63/4,97/5,14 · expo 5,01 · linear e ease-in-out 5,23 s); as bolinhas convergem num ponto\n\n | 4\n | 5,70–7,62\n | 03 — MORPH\n | \"MORPH · CÍRCULO → TRIÂNGULO\" (e as seguintes); \"θ 090,0°\"; \"MOLA 112% · 0,6 s\"\n | o ponto abre a íris céu; a forma branca vai de círculo a triângulo (6,18 s), estrela (6,66 s) e quadrado (7,14 s), com 12 satélites que mudam junto; os satélites são sugados e o quadrado encolhe 12% antes de partir\n\n | 5\n | 7,62–9,52\n | 04 — SISTEMAS\n | \"TRUCHET · 187 PEÇAS\"\n | o quadrado se parte em 3×3; as peças se espalham em Truchet; três ondas (radial, diagonal e radial inversa) giram as peças com mola e pintam uma faixa argila; os arcos viram pontos\n\n | 6\n | 9,52–11,42\n | 05 — PROFUNDIDADE\n | \"PLANO · VÉRTICES 187 · FOCAL … · ROT Y …\", depois \"ESFERA\" e \"TORO\"\n | a grade de pontos deita em plano 3D, embrulha em esfera e em toro; tudo colapsa em espiral até um ponto argila, e o ponto vira uma barra\n\n | 7\n | 11,42–12,84\n | 06 — TIPOGRAFIA\n | **EASE** · **IN.** · **EASE** · **OUT.** · **NUNCA** · **LINEAR.**; \"f(t) = t\"\n | a barra vira o fundo de \"EASE\"; uma palavra a cada meia batida (11,42 · 11,66 · 11,90 · 12,14 · 12,36 · 12,60 s), cada uma num fundo (argila, preto, marfim, céu, fig, preto); atrás de \"NUNCA\", fileiras da palavra só em contorno; com \"LINEAR.\", uma reta se desenha em velocidade constante com a legenda \"f(t) = t\"; a palavra despenca e o ponto dela sobra sozinho\n\n | 8\n | 12,84–13,32\n | (respiro)\n | —\n | a música some; o ponto respira, com dois tiques de relógio, e antecipa\n\n | 9\n | 13,32–15,30\n | 07 — FIM\n | símbolo + **Claude** + motion designer; \"SHOWREEL 2026 · 15 SEGUNDOS · FEITO EM CÓDIGO\"; \"DISPONÍVEL PARA NOVOS PROJETOS\"\n | o ponto explode numa onda com partículas nas quatro formas do reel; o símbolo desliza para o lado e o \"Claude\" sobe letra a letra; o rodapé é digitado a partir de 14,20 s e o \"disponível\" a partir de 14,42 s, com um ponto que pisca\n\n## Momentos para a trilha\n\n- 0–1,90 s: intro da faixa, com riser até o drop.\n\n- **1,90 s: drop** (119,12 s da música), com impacto, whoosh grave e Ping Boom.\n\n- 5,70 · 7,62 · 11,42 s: viradas de cena com coice da câmera.\n\n- 12,84–13,32 s: respiro (a música zera).\n\n- **13,32 s: volta da música** no símbolo final, com a mesma pilha do drop.\n\n- 14,30–15,30 s: a música desce até o silêncio."
    },
    {
      "titulo": "A identidade visual",
      "texto": "**Resumo:** showreel de contraste alto com a marca do Claude: fundos em argila, preto e marfim saturados, palavras de impacto numa grotesca larga peso 900, serifa só na assinatura e HUD de ficha técnica em mono. As formas vivem num canvas e se transformam umas nas outras; a câmera nunca para e cada corte cai na batida. Números tirados do `index.html` (v2), do `mix.py` e do `normalizar.sh`.\n\n## Fontes\n\n | \n\n | Uso\n | Fonte\n | Onde baixar\n\n | Palavras de impacto (CLAUDE, EASE, IN., OUT., NUNCA, LINEAR.)\n | Archivo variável, peso 900, largura 112–118 (`font-variation-settings: \"wght\" 900, \"wdth\" 118`), caixa alta\n | Google Fonts / repositório google/fonts\n\n | \"Claude\" do lockup e subtítulos em itálico (\"motion designer\", \"Seis jeitos de ir de A a B.\")\n | Source Serif 4 variável, romana 600 e itálica 400 (no lugar da Tiempos da marca)\n | Google Fonts\n\n | Apoio\n | Space Grotesk variável (no lugar da Styrene)\n | Google Fonts\n\n | HUD, rótulos e dados\n | Geist Mono 400, 15–21 px, espaçamento 0,12–0,16em\n | Vercel / Google Fonts\n\nTodas vêm no pacote em `projeto/hf/assets/fonts/`.\n\n## Cores (v2)\n\n | \n\n | Token\n | Hex\n | Papel\n\n | Argila\n | `#E0623A`\n | fundos de impacto, íris, símbolo de abertura, pontos, acento das palavras\n\n | Preto\n | `#0E0D0C`\n | fundo base, tinta sobre o claro\n\n | Marfim\n | `#F7F5EE`\n | fundo claro, texto sobre o escuro\n\n | Céu\n | `#4F8FDB`\n | fundo do morph, fundo do \"OUT.\"\n\n | Fig\n | `#D14F7E`\n | fundo do \"NUNCA\" (tom da paleta da Anthropic, saturado)\n\n | Kraft\n | `#D4A27F`\n | apoio\n\nRegra da v2: num showreel, cada cor da marca entra na versão mais saturada. A v1 usou os tons de interface (argila #D97757, marfim #F0EEE6, preto #141413, céu #6A9BCC, oliva #788C5D) e perdeu a pancada na tela do celular.\n\n## Peças\n\n | \n\n | Peça\n | Como é\n\n | Símbolo do Claude\n | path oficial em SVG, desenhado no canvas (`Path2D`) e no lockup\n\n | Texto circular\n | \"CLAUDE · MOTION DESIGNER · SHOWREEL 2026 · \" girando em volta do símbolo, raio 248 px\n\n | Mira de abertura\n | cruz com a coordenada \"x 960 · y 540\" no primeiro quadro\n\n | Gráfico de easing\n | 6 trilhos (linear, ease-in-out, expo-out, back-out, elastic, bounce), marcados \"A\" e \"B\"; as bolinhas saem juntas e levam 0,95 s; ícone de 66×40 px de cada curva com uma bolinha da cor do trilho andando sobre ela\n\n | Morph\n | 180 amostras de raio polar por forma: círculo, triângulo, estrela, quadrado (trocas em 6,18 · 6,66 · 7,14 s); 12 satélites mudam junto; legenda \"MORPH · CÍRCULO → TRIÂNGULO\", ângulo θ ao vivo e \"MOLA 112% · 0,6 s\"\n\n | Truchet\n | 187 peças de 120 px, traço de 27%: dois quartos de círculo por peça, girada 0° ou 90° por hash; ondas giram as peças 90° com mola e pintam uma faixa argila; rótulo \"TRUCHET · 187 PEÇAS\"\n\n | Grade de pontos em 3D\n | os mesmos 187 pontos (6 px, malha de 1,5 px a 16%) fazem plano → esfera → toro; legenda com o nome, os vértices, a distância focal e a rotação Y ao vivo\n\n | Palavras cinéticas\n | Archivo 900 a 300 px, uma a cada meia batida, cada uma num fundo; atrás do \"NUNCA\", fileiras da mesma palavra só em contorno (3 px, marfim a 55%)\n\n | Lockup\n | símbolo de 236 px + \"Claude\" em Source Serif 600 a 290 px + \"motion designer\" itálico a 100 px + linha + rodapé \"SHOWREEL 2026 · 15 SEGUNDOS · FEITO EM CÓDIGO\" e \"DISPONÍVEL PARA NOVOS PROJETOS\" digitados letra a letra\n\n | HUD\n | cantoneiras de 26 px a 44 px da borda; \"CLAUDE MOTION REEL — 2026\"; rótulo da cena (\"03 — MORPH\") que embaralha por 0,16 s na troca; timecode; \"60 QPS\"; \"125 BPM\"; quatro quadradinhos de 14 px que acendem na batida; \"COMPASSO n/8\"; barra de progresso no rodapé; a cor inverte com o fundo\n\n## Transições\n\nCada cena é feita da forma anterior, sem corte para uma tela nova:\n\n- o símbolo encolhe a um ponto, que abre uma íris argila (o drop em 1,90 s);\n\n- as letras de \"CLAUDE\" caem e viram 6 pontos, que viram as bolinhas dos trilhos;\n\n- as 6 bolinhas convergem num ponto, que abre a íris céu do morph;\n\n- o quadrado faz antecipação (encolhe 12% e alinha a 0°) e se parte em 3×3, que vira o Truchet;\n\n- os arcos viram a grade de pontos, a grade deita em plano 3D, embrulha em esfera (por linhas) e em toro (por colunas);\n\n- os pontos colapsam num ponto argila, o ponto vira barra e a barra vira o fundo de \"EASE\";\n\n- o ponto de \"LINEAR.\" sobra, respira e explode no símbolo final.\n\nÍris e formas que crescem até a tela usam `inOut` cúbico de 0,3–0,4 s (no máximo ~25 px por subquadro); com `expoInOut` o motion blur mostra anéis em degrau.\n\n## Curvas e molas\n\n- **Mola padrão:** `spring(t) = 1 − e^(−ζωt)·(cos(ω_d t) + (ζω/ω_d)·sen(ω_d t))`, com ζ 0,56 e ω 11,9. Passa ~12% do alvo e assenta em ~0,6 s.\n\n- **Morph com overshoot parcial:** a mola entra cheia na rotação e com 35% do excesso na forma (`b > 1 → 1 + (b − 1)·0,35`).\n\n- **Cortes secos** presos ao quadro: `corte = floor(t·60)/60 + 1/480`.\n\n- **Rótulo do HUD** embaralha os caracteres por 0,16 s a cada troca de cena.\n\n## Câmera\n\nUm contêiner `#cam` com todas as camadas:\n\n- deriva contínua por ruído (cerca de ±7 px e ±0,22°);\n\n- escala `1,025 + 0,022·(t/15,3)` mais ruído leve: um empurrão lento de ~2,2% no vídeo inteiro;\n\n- coice amortecido nos drops (1,90 · 5,70 · 7,62 · 11,42 · 13,32 s): `a·e^(−5t)·cos(2π·1,2t)`, com `a` de 0,025 a 0,055.\n\n## Acabamento\n\n- **Motion blur:** render a 240 qps e `tmix=frames=4` para 60 qps (obturador de 360°).\n\n- **Grão** animado a 30 qps em `overlay`, a 16%; **vinheta** radial de 24% nas bordas.\n\n- **Detector** depois de todo render: 0 quadros vazios ou isolados em 3.672 subquadros; os 14 saltos que restaram são cortes de propósito.\n\n## Trilha\n\n | \n\n | Item\n | Valor\n\n | Música\n | \"Satisfaction\" (David Guetta)\n\n | Trecho\n | a partir de 117,22 s da faixa; o drop da faixa (119,12 s) cai em 1,90 s do vídeo\n\n | Andamento\n | 125 BPM medido com o `beat_this`; compasso de 1,90 s\n\n | Respiro\n | a música some de 12,84 a 13,32 s, com dois tiques de relógio, e volta a 105% no símbolo\n\n | Fecho\n | a música desce de 14,30 s até zero em 15,30 s\n\n | Sob impacto\n | a música baixa a 72% por 0,35 s em 1,90, 7,62 e 13,32 s\n\n## Sound design e mix\n\n | \n\n | Ação na tela\n | Efeito\n\n | ponto cai e pousa\n | whoosh curto 4 semitons abaixo + pop + impacto com passa-baixa de 300 Hz\n\n | texto circular se escreve, rodapé digitado\n | digitação de interface com passa-alta de 900 Hz\n\n | símbolo nasce e gira\n | pop + whooshes curtos\n\n | antecipação até o drop\n | riser curto\n\n | drop e assinatura\n | impacto + whoosh grave + Ping Boom em Lá# (tonal)\n\n | letras de \"CLAUDE\" entram\n | pops alternados, subindo de tom\n\n | letras viram pontos\n | 6 cliques espaçados de 35 ms\n\n | largada e chegada das bolinhas do easing\n | clique na largada; um clique por chegada, cada trilho num tom; pops nos quiques do bounce; boing no elastic\n\n | formas do morph\n | whoosh curto + pop por troca, subindo de tom; 12 pops miúdos nos satélites\n\n | quadrado se parte\n | impacto + clique + glitch\n\n | ondas do Truchet\n | whooshes longos; contador rolando nas peças se espalhando\n\n | plano, esfera, toro\n | whoosh grave e longos\n\n | palavras cinéticas\n | um whoosh curto por palavra, alternando arquivo e tom; pop no ponto de \"IN.\" e de \"OUT.\"\n\n | \"DISPONÍVEL PARA NOVOS PROJETOS\"\n | sino\n\n- Cerca de 120 efeitos, cada um em `at = evento − pico do arquivo`. Medido na faixa só de efeitos: cliques e pops a ±10 ms do evento (mediana 6,7 ms).\n\n- **Música a 0,50 e efeitos ×2 (+6 dB).** A faixa é um master de EDM a cerca de −9 LUFS; com ela a 0,78, os efeitos ficavam 13 a 27 dB abaixo e sumiam.\n\n- **Final:** `loudnorm` em duas passagens a −14 LUFS, pico verdadeiro −1,6 dBTP.\n\n## O que é \"humano\" neste vídeo\n\n- Nenhum quadro parado: onde o original deixava 0,25 s de tela preta, a nossa versão passa o ponto para a barra e a barra para a palavra.\n\n- O quadrado faz antecipação antes de se partir, em vez de esperar congelado.\n\n- As bolinhas do easing chegam em tempos diferentes e cada chegada tem som próprio.\n\n- O ponto de \"LINEAR.\" respira antes de explodir.\n\n- A câmera deriva o tempo todo e dá um coice em cada drop."
    },
    {
      "titulo": "A montagem no HyperFrames",
      "texto": "- **Instale o Node.js e o ffmpeg.** O HyperFrames roda pelo `npx`, sem instalação: `npx hyperframes@0.8.144`. As fontes já estão em `projeto/hf/assets/fonts/`.\n\n- **Pré-visualize:** dentro de `projeto/hf/`, rode `npx hyperframes@0.8.144 preview`.\n\n- **Render do master:** de `projeto/`, rode `npx hyperframes@0.8.144 render hf --fps 240 --workers 3 -q delivery`. Se a máquina estiver carregada e o render cair, use `HF_SEGMENTED_CAPTURE=true` com `--resume --keep-segments` e rode de novo até terminar. No PC do autor, a captura levou ~9,5 min e a codificação outros ~9,5 min.\n\n- **Áudio:** copie a pasta `audio/` para dentro de `projeto/` (os scripts esperam `hf/`, `audio/` e `render/` lado a lado). No `mix.py`, aponte as pastas `N`, `P` e `TON` para `audio/sfx/` e rode `python mix.py` (precisa de numpy, soundfile e ffmpeg com rubberband); depois `sh normalizar.sh` gera o `mix-final.wav` a −14 LUFS.\n\n- **Final:** coloque o master em `projeto/render/` e rode `sh render/finalizar.sh <master>.mp4`. Para a comparação, ajuste a variável `REF` para `referencias/original/`.\n\n- **Conferência:** `python revisao/revisar.py render/<final>.mp4` e `python revisao/quadro_vazio.py` no master. Todo salto que sobrar tem de ser um corte de propósito."
    },
    {
      "titulo": "As decisões de direção",
      "texto": "- **Um conceito de motion por compasso.** Cada cena ensina um fundamento e dura 4 batidas: identidade, easing, morph, sistema, profundidade, tipografia e assinatura. A troca cai no tempo forte medido na música.\n\n- **Uma linha de formas, sem cena começando do zero:** ponto → símbolo → íris argila → letras caem → letras viram 6 pontos → trilhos de easing → 1 ponto → íris céu → círculo, triângulo, estrela e quadrado → grade 3×3 → Truchet → pontos → plano, esfera e toro → ponto → barra → palavras → o ponto de \"LINEAR.\" → símbolo final.\n\n- **A marca do Claude sem perder o grito do showreel.** A v1 usou os tons de interface da marca e ficou apagada no celular. A v2 levou cada cor à versão mais saturada e pôs as palavras de impacto em Archivo 900 larga; a serifa ficou só no \"Claude\" final e nos subtítulos.\n\n- **O gráfico de easing vira cena.** Seis bolinhas percorrem a mesma distância no mesmo tempo (0,95 s), cada uma com uma curva, e os tempos de chegada viram a partitura dos efeitos.\n\n- **Morph pelo raio polar.** Cada forma é amostrada em 180 direções e o morph interpola os raios; a mola entra cheia na rotação e só com 35% do overshoot na forma, para o quadrado não inchar.\n\n- **HUD de ficha técnica** com cantoneiras, rótulo da cena que embaralha na troca, timecode, \"60 QPS\", \"125 BPM\", quatro quadradinhos na batida, \"COMPASSO n/8\" e dados vivos (ângulo do morph, rotação da esfera).\n\n- **Câmera que nunca para:** deriva contínua, empurrão lento de ~2,2% no vídeo inteiro e coice amortecido nos cinco drops.\n\n- **Pontuação como personagem.** O ponto de \"LINEAR.\" sobra sozinho, respira, antecipa e explode no símbolo final, depois de 0,48 s de respiro na música.\n\n- **Motion blur de verdade:** render a 240 qps somado em grupos de 4 para 60 qps, com cada corte seco preso ao limite do quadro.\n\n- **Um som para cada elemento** (cerca de 120 efeitos), com a música baixa o bastante para os efeitos aparecerem.\n\nDetalhes de cores, curvas e som: estilo.md. Cenas por tempo: roteiro.md. Para fazer um vídeo no mesmo estilo: PROMPT.md."
    },
    {
      "titulo": "As versões até o final",
      "texto": "| \n\n | Versão\n | O que mudou\n\n | v1 (09/10)\n | recriação completa com a marca do Claude em tons de interface (argila #D97757, marfim, preto quente) e títulos em serifa e Space Grotesk; corrigiu a tela preta e o quadrado parado do original, mas perdeu impacto no celular\n\n | **v2 (10/10)**\n | cores saturadas (argila #E0623A, preto #0E0D0C, céu #4F8FDB, fig #D14F7E no lugar do oliva), palavras em Archivo 900 larga, bolinha andando no ícone de cada curva, Truchet com peças de 120 px, vinheta mais forte; corte da dupla exposição em 12,25 s e íris sem degraus. Mesmos tempos e mesmo mix; é a versão entregue"
    }
  ],
  "pacote": [
    {
      "pasta": "projeto/hf/",
      "conteudo": "a composição (`index.html`), o `BRIEF.md` e `assets/` com o GSAP local, o símbolo do Claude em SVG e as fontes (Archivo variável, Source Serif 4 romana e itálica, Space Grotesk, Geist Mono)"
    },
    {
      "pasta": "projeto/render/",
      "conteudo": "`finalizar.sh`: junta o master de 240 qps em 60 qps com motion blur, põe o áudio e monta a comparação"
    },
    {
      "pasta": "projeto/revisao/",
      "conteudo": "`revisar.py` (folhas de contato a 4 qps e detector de salto entre quadros) e `quadro_vazio.py` (quadro vazio ou isolado no master)"
    },
    {
      "pasta": "audio/",
      "conteudo": "`mix.py` (a lista de efeitos com evento, volume e tom), `normalizar.sh`, o mix final, a música e a pasta `sfx/` com os efeitos usados"
    },
    {
      "pasta": "referencias/",
      "conteudo": "o vídeo original e o prompt dele, folhas de contato do original, a comparação original × nossa, recortes de momentos e o estudo quadro a quadro"
    },
    {
      "pasta": "render/",
      "conteudo": "`render.mp4`"
    },
    {
      "pasta": "render(t)",
      "conteudo": "uma função só desenha o quadro inteiro a partir do tempo `t`; o timeline do GSAP chama essa função, então qualquer quadro sai igual em qualquer render"
    },
    {
      "pasta": "B",
      "conteudo": "as batidas medidas na música com o `beat_this`, em tempo de vídeo; as trocas de cena caem nelas"
    },
    {
      "pasta": "snap()",
      "conteudo": "prende cada corte seco ao limite do quadro de 60 qps, para o motion blur não virar dupla exposição"
    },
    {
      "pasta": "spring()",
      "conteudo": "a mola padrão (ζ 0,56, ω 11,9): passa ~12% do alvo e assenta em ~0,6 s"
    }
  ],
  "prompt": "Quero fazer um filme de marca curto, sem narração, no mesmo estilo do projeto \"Claude, motion designer\", que está em 07-videos/projetos/motion-designer/, com a minha marca.\n\nMarca: {{MARCA}} (site: {{SITE}})\nO que a marca faz, em uma frase: {{O_QUE_FAZ}}\nO que o vídeo precisa mostrar (conceitos, produtos ou serviços, um por compasso): {{CONCEITOS}}\nFrase da assinatura final: {{ASSINATURA}}\nDuração aproximada: {{DURACAO}} (a referência tem 15,3 s, 8 compassos)\nFormato: {{FORMATO}} (a referência é 1920×1080; para reels, 1080×1920)\nMúsica: {{MUSICA}} (se vazio, sugira 3 faixas reais com drop forte e andamento entre 120 e 130 BPM)\n(Se algum desses estiver vazio ou com as chaves, me pergunte antes de começar.)\n\n1. Estude o projeto antes de propor qualquer coisa. Leia, nesta ordem: 07-videos/projetos/motion-designer/LEIA-ME.md, estilo.md e roteiro.md. Depois abra projeto/hf/index.html e veja como funcionam a função render(t), a lista de batidas B, o snap() que prende os cortes ao quadro, a mola spring(), a câmera, o HUD e as cenas do canvas; e o audio/mix.py, com a lista de efeitos. Me explique em poucas linhas o que você vai reaproveitar e o que vai trocar.\n\n2. Siga o passo a passo de 07-videos/_LEIA.md e os números de 07-videos/regras-vigentes.md. Crie o meu projeto em 07-videos/projetos/AAAA-MM-DD-tema/ a partir de 07-videos/projetos/_modelo/README.md e marque cada etapa no checklist. Não edite os arquivos do projeto motion-designer: copie o que for reaproveitar.\n\n3. Use as skills instaladas: animacao-saas (forma que vira a próxima, câmera viva, mola), motion-app-ae (rota em HTML determinístico), video-referencias (marca real e um som por ação), conteudo-video (regras de vídeo) e better-portuguese (todo texto da tela). Se as skills do HyperFrames estiverem instaladas, leia também as de composição e animação antes de escrever o HTML.\n\n4. A identidade vem da minha marca, de verdade: abra o site, tire o logo em SVG, as cores do CSS e as fontes, e anote cada valor com a fonte num BRAND.md do projeto. Regra deste estilo: a marca não pode apagar o contraste do showreel. Use a versão mais saturada de cada cor nos fundos, uma grotesca bem pesada nas palavras de impacto (Archivo 900 larga, se a marca não tiver uma) e a fonte de texto da marca só na assinatura e nos subtítulos. Se a fonte da marca for paga, procure a equivalente livre e me diga qual escolheu.\n\n5. Antes de qualquer código, meça a música com o beat_this e me mostre o mapa: o andamento, a lista de batidas em tempo de vídeo, onde cai o drop e um conceito por compasso (por exemplo: identidade → o produto → como funciona → para quem é → um número real → palavras de impacto → assinatura). Para cada compasso, diga qual forma vem da cena anterior e qual forma passa para a seguinte, como na linha da referência (ponto → símbolo → letras → pontos → trilhos → …). Nenhuma cena pode começar do zero, e não pode haver tela vazia nem forma parada esperando.\n\n6. Construa reaproveitando o esqueleto do index.html: um render(t) chamado pelo timeline do GSAP, nada de Math.random (use hash com semente), cortes secos presos ao quadro com snap(), a mola padrão (passa ~12% e assenta em ~0,6 s), morph com só 35% do overshoot na forma, íris com inOut cúbico, câmera com deriva, empurrão lento e coice nos drops, HUD de ficha técnica com o nome da minha marca e respiro de meio segundo antes da assinatura, com algo pequeno ainda vivo na tela. Troque as cenas, os textos, as cores, as fontes, o símbolo e a música.\n\n7. Me mostre 4 quadros de teste (abertura, meio, drop e assinatura) e a folha de contato a 4 qps antes do render final. Em cada movimento, pergunte: está humano ou robotizado? E compare no tamanho do celular: o vídeo grita o bastante?\n\n8. Som em paralelo, num subagente: um efeito para cada elemento que entra ou sai, posicionado em evento − pico do arquivo, a mesma família de som para a mesma ação, um tonal no tom da música no drop e na assinatura. Sem narração, deixe a música em ~0,5 e os efeitos uns 6 dB acima do que usaria com voz; confira a faixa só de efeitos antes de normalizar. Final com loudnorm em duas passagens a −14 LUFS.\n\n9. Render a 240 qps, junte em 60 qps com tmix de 4 quadros e rode o detector de quadro vazio e de salto (os scripts estão em projeto/revisao/). Todo salto que sobrar tem de ser um corte de propósito. Entregue o vídeo, a ficha do projeto atualizada e uma anotação em anotacoes/.",
  "campos": [
    "ASSINATURA",
    "CONCEITOS",
    "DURACAO",
    "FORMATO",
    "MARCA",
    "MUSICA",
    "O_QUE_FAZ",
    "SITE"
  ],
  "fonte": {
    "nome": "Clube do Motion",
    "url": "https://clubedomotion.com/projeto/?id=motion-designer",
    "uso": "liberado pelo dono do Clube do Motion em 18/10/2026 (docs/permissoes/clube-do-motion.md)"
  }
}