{
  "id": "clube-letra-em-apps",
  "titulo": "Cada frase num app",
  "categoria": "sound",
  "resumo": "edit de música quadrado de 10,4 s, sem narração e sem corte morto, em que cada frase mora numa interface diferente: um título que cai letra a letra sobre nuvens, um post com o seu perfil numa superfície curva, uma busca do Google que explode numa roda de fotos e uma pílula de chamada que se enche palavra por palavra. Um mascote original atravessa a câmera, as trocas caem nos tempos fortes e o vídeo corta seco no meio da última frase. Tudo é montado por um script do After Effects (`cenas.jsx`). Feito pelo Clube do Motion a partir de um reel de @illdari.",
  "indicado": "edit de letra de música, reel de frase curta ou citação, abertura de vídeo que precisa de três ou quatro ideias em 10 s, conteúdo que conversa com quem usa redes sociais.",
  "estilo": [
    "interface de post",
    "busca do Google",
    "pílula de chamada do iPhone",
    "mascote 3D",
    "câmera que chicoteia",
    "tipografia cinética",
    "corte seco no fim"
  ],
  "ficha": {
    "formato": "1080×1080, 30 qps, desfoque de movimento ligado (obturador 360°)",
    "duracao": "10,4 s (312 quadros), sem narração",
    "motor": "ae",
    "voz": "sem narração",
    "musica": "ver o guia de estilo",
    "fontes": "Caprasimo, Segoe UI Bold e Semibold, SF Pro Text Medium e Semibold e Segoe Fluent Icons"
  },
  "etapas": [
    {
      "titulo": "Leia-me",
      "texto": "# Cada frase num app: nuvens, post curvo, busca e chamada\n\n> Data: 2026-10-17 · Tipo: projeto · Status: aprovado · Id: letra-em-apps\n\n**Resumo:** edit de música quadrado de 10,4 s, sem narração e sem corte morto, em que cada frase mora numa interface diferente: um título que cai letra a letra sobre nuvens, um post com o seu perfil numa superfície curva, uma busca do Google que explode numa roda de fotos e uma pílula de chamada que se enche palavra por palavra. Um mascote original atravessa a câmera, as trocas caem nos tempos fortes e o vídeo corta seco no meio da última frase. Tudo é montado por um script do After Effects (`cenas.jsx`). Feito pelo Clube do Motion a partir de um reel de @illdari.\n\n## Descrição\n\nUma tela nasce da outra. As nuvens com o título viram a capa do post, que recua até virar um cartão com bordas abauladas; o cabeçalho do post aparece com o seu perfil e o texto pula da linha de base enquanto a câmera chicoteia ao longo da frase. A última palavra ganha uma caixa roxa, a câmera sobe até o Google, a busca é digitada e uma foto sai do \"o\" trocado por um quadrado, puxando uma roda de 14 fotos. O furo da roda vira um clarão branco e dele nasce a pílula de chamada. As frases são curtas, nossas e trocáveis no bloco de textos do gerador.\n\n- **Indicado para:** edit de letra de música, reel de frase curta ou citação, abertura de vídeo que precisa de três ou quatro ideias em 10 s, conteúdo que conversa com quem usa redes sociais.\n- **Estilo:** interface de post, busca do Google, pílula de chamada do iPhone, mascote 3D, câmera que chicoteia, tipografia cinética, corte seco no fim\n- **Formato:** 1:1 · 10,4 s · sem narração\n\n**Tutorial em vídeo:** em breve.\n\n## O vídeo\n\n| Item | Valor |\n|---|---|\n| Duração | 10,4 s (312 quadros), sem narração |\n| Formato | 1080×1080, 30 qps, desfoque de movimento ligado (obturador 360°) |\n| Ferramenta | After Effects: um script ExtendScript (`cenas.jsx`) monta 4 comps e a `RECRIACAO`; o `.aep` já vem montado |\n| 3D | o post curvo é um cilindro de 80 tiras de 25 px do \"mundo\" plano, em camadas 3D, filmado por uma câmera que empurra, inclina e chicoteia |\n| Assets | nuvens, mascote (uma câmera de cinema com olhos e tênis), avatar e as 16 fotos da roda gerados por IA; logo do Google (versão de 2015, SVG da Wikimedia) convertido em camadas de forma |\n| Fontes | Caprasimo, Segoe UI Bold e Semibold, SF Pro Text Medium e Semibold e Segoe Fluent Icons |\n| Som | música comercial esticada para 89,1 BPM (fica fora do pacote) e um efeito para cada evento da tela, mixados pela Mesa a −14 LUFS |\n| Referência | reel de letra com uma frase por app, de @illdari (03/10/2026) |\n| Arquivo final | MP4 H.264 com áudio AAC |\n\n## O que tem no pacote\n\n| Pasta | Conteúdo |\n|---|---|\n| `projeto/` | `ae/cenas.jsx` (o gerador comentado), `ae/lyric-apps.aep` (o projeto montado) e `assets/` (imagens, as 16 fotos recortadas, logo em JSON e os scripts `preparar_assets.py` e `svg_para_ae.py`) |\n| `audio/` | `trilha.py` (a mix), `eventos_manuais.py` e `eventos.json` (os efeitos por tempo), `mix.wav` (o som final), `mesa/` (o motor de mix) e `sfx/` (os efeitos usados) |\n| `referencias/` | `estudo-da-referencia.md` (decupagem quadro a quadro), `links.md` e `fora-do-pacote.md` |\n| `render.mp4` | o vídeo final |\n\nFicam fora do pacote a música e o reel estudado. O `trilha.py` espera a música em `audio/musica.wav`.\n\n### Como os scripts funcionam\n\n| Arquivo | O que faz |\n|---|---|\n| `ae/cenas.jsx` | monta tudo no projeto aberto. No topo, o bloco `T` guarda os textos: `titulo1` e `titulo2` (nuvens), `palavra2` (céu roxo), `perfil`, `post` (8 palavras), `destaque` (a última palavra do post), `busca` (digitada no Google) e `chamada` (4 palavras), com `tChamada`, o instante de cada palavra da pílula. Ajudantes: `K` (chaves com influência), `letrasCaindo`, `retangulo`, `elipse`, `formaSVG`, `mascaraArred`, `vivo`. Cenas: `cenaCapa`, `cenaMundo` (o post, o Google e a roda num plano de 2400×2200), `cenaPost` (o cilindro e a câmera), `cenaChamada`; `montaFinal` costura tudo |\n| `assets/preparar_assets.py` | recorta a grade em 16 fotos e tira o fundo verde do mascote |\n| `assets/svg_para_ae.py` | converte o SVG do logo no JSON de caminhos que o `formaSVG` desenha |\n| `audio/eventos_manuais.py` | escreve `eventos.json` com cada efeito no tempo da comp |\n| `audio/trilha.py` | põe o trecho da música com corte seco em 10,20 s e soma os efeitos pela Mesa |\n\n## Como abrir e renderizar\n\n1. **Fontes:** Caprasimo (Google Fonts) e SF Pro Text (site de desenvolvedores da Apple) em `C:\\Program Files\\Common Files\\Adobe\\Fonts`; Segoe UI e Segoe Fluent Icons já vêm no Windows 11. Reinicie o After Effects.\n2. **Abrir pronto:** `projeto/ae/lyric-apps.aep`. Se o AE pedir arquivos, aponte para `projeto/assets/`.\n3. **Adaptar:** troque os textos no bloco `T`, as imagens em `assets/` (rode `preparar_assets.py` se trocar a grade ou o mascote) e os instantes da pílula em `tChamada`. Crie um projeto novo (File › New Project) e rode File › Scripts › Run Script File › `cenas.jsx`.\n4. **Tempos:** as trocas de app caem nos tempos fortes de uma música a 89 BPM. Com outra música, mova as chaves de `montaFinal` e da câmera (`KC` em `cenaPost`) para os tempos fortes dela.\n5. **Som:** ponha a sua música em `audio/musica.wav`, ajuste `de` e `ate` no `trilha.py`, aponte o `sys.path` para `audio/mesa/` e rode `python trilha.py`.\n6. **Render:** fila do AE em H.264 com o `mix.wav`, ou render sem som e junte depois com o ffmpeg.\n\n**Pegadinhas:** o cilindro é feito de tiras com máscara e expressões que leem o raio de um slider (`CTRL › raio`); para deixar o post mais ou menos curvo, mexa só nesse slider. A largura da pílula segue o texto por `sourceRectAtTime`, então frases longas alargam sozinhas. Num null, opacidade e efeito não chegam aos filhos.\n\n## Decisões de direção que fizeram o vídeo funcionar\n\n1. **Uma frase, um app.** Cada frase mora numa interface que já existe (post, busca, chamada), na ordem em que o texto pede.\n2. **Uma tela nasce da outra.** A capa vira o cartão do post, a foto sai do \"o\" do Google e a pílula nasce do furo da roda: não há corte morto em 10 s.\n3. **O seu perfil é o autor do post.** O @ aparece como quem escreveu a frase, o que dá autoria e humor.\n4. **Chicote ao longo da frase.** A câmera corre pelo texto que está sendo digitado, o que resolve frase longa em tela quadrada.\n5. **Uma ação por tempo forte.** Recuo, empurrão, chicote, Google, foto, roda, clarão e pílula caem nos tempos da música, quase sempre até 3 quadros antes.\n6. **Corte seco no meio da frase.** O vídeo termina com a música alta e a última frase ainda se escrevendo: dá vontade de rever.\n\nDetalhes de cores, tempos e números: [estilo.md](estilo.md). Telas por tempo: [roteiro.md](roteiro.md). Para fazer o seu com outra música: [PROMPT.md](PROMPT.md).\n\n## Versões\n\n| Versão | O que mudou |\n|---|---|\n| **v1** | recriação da técnica cena a cena, conferida lado a lado com o original, com frases nossas, mascote original e o seu perfil no post |\n"
    },
    {
      "titulo": "Roteiro",
      "texto": "# Roteiro: cada frase num app\r\n\r\n> Data: 2026-10-17 · Tipo: roteiro · Status: aprovado · Projeto: letra-em-apps\r\n\r\n**Resumo:** o vídeo não tem narração; o roteiro é a ordem das telas e o tempo de cada frase, tirados do `cenas.jsx`. As frases são curtas, nossas e trocáveis no bloco de textos do gerador. Com outra música, mantenha a regra: uma frase por app e cada troca num tempo forte.\r\n\r\n## De onde veio a estrutura\r\n\r\nO reel estudado passa por quatro \"apps\" em 10 s: um mundo de nuvens com título, um post com o @ do autor, uma busca do Google que vira roda de fotos e uma pílula de chamada, cortando seco no meio da frase seguinte. Este projeto mantém as telas, os tempos e a câmera, com frases sobre o ofício de motion, um mascote original e o seu perfil como autor do post.\r\n\r\n## Telas\r\n\r\n| Tempo (s) | Tela | Texto (bloco `T`) | O que acontece |\r\n|---|---|---|---|\r\n| 0,00–0,76 | nuvens sobre roxo | `titulo1` e `titulo2` (3 palavras em duas linhas) | as letras caem uma a uma, grandes e borradas; a câmera desce devagar |\r\n| 0,76–1,50 | mascote | — | o mascote voa de baixo à direita, cresce e passa colado na câmera, cobrindo o título |\r\n| 1,50–2,00 | céu roxo | `palavra2` (1 palavra) | a palavra cai letra a letra e a cabeça do mascote sobe de baixo |\r\n| 2,00–2,30 | recuo | — | a tela inteira recua e vira o cartão do post, com bordas abauladas e linhas de varredura |\r\n| 2,30–4,75 | post curvo | `perfil` e `post` (8 palavras), `destaque` | cabeçalho com avatar, @ e selo; o texto pula da base enquanto a câmera empurra, inclina e corre pela frase; a última palavra ganha a caixa roxa |\r\n| 4,75–6,10 | Google escuro | `busca` | a câmera sobe até o logo, com um quadrado no lugar do \"o\"; a busca é digitada |\r\n| 6,10–7,20 | roda de fotos | — | uma foto sai do quadrado e as outras nascem em volta, formando um anel que gira |\r\n| 7,20–7,45 | clarão | — | o furo da roda vira um clarão branco que toma a tela |\r\n| 7,45–8,30 | chamada | — | o ponto verde vira um círculo e o círculo estica em pílula |\r\n| 8,30–10,20 | pílula | `chamada` (4 palavras) | as palavras caem uma a uma e a pílula alarga; a câmera aproxima até 133% |\r\n| 10,20 | corte | — | borrão horizontal de 2 quadros e preto, com a música ainda alta |\r\n\r\n## Momentos para o som\r\n\r\nEventos de `audio/eventos_manuais.py`, um efeito para cada ação da tela:\r\n\r\n- 0,20–0,50 s: as palavras do título caem; 0,78 e 1,30 s: o mascote atravessa e passa colado na câmera.\r\n- 1,58–1,62 s: a palavra do céu cai e a cabeça do mascote sobe; 2,00 s: o recuo para o cartão.\r\n- 2,25–3,80 s: uma tecla por letra que pula da base; 2,60 s empurrão e 3,30 s chicote.\r\n- 4,05 s: marca-texto na caixa roxa; 4,75 s: chicote para o Google; 5,00–6,25 s: teclas da busca.\r\n- 6,12 s: a foto estoura do quadrado; 6,35–6,75 s: as fotos da roda nascendo; 6,40 s giro; 7,20 s clarão.\r\n- 7,95–8,02 s: o círculo vira pílula; 8,35 · 8,65 · 8,88 · 9,10 s: uma batida por palavra da chamada.\r\n- 10,13 s: a pílula estica e o vídeo corta seco, sem fade.\r\n"
    },
    {
      "titulo": "Estilo",
      "texto": "# Estilo do vídeo: cada frase num app\n\n> Data: 2026-10-17 · Tipo: guia · Status: vigente · Projeto: letra-em-apps\n\n**Resumo:** roxo e coral de nuvens com título em serifa grossa creme (`#FAE6D7`), post escuro com selo ciano (`#69EFF7`) e destaque roxo (`#8423A6`), Google em modo escuro com um quadrado laranja no lugar do \"o\", e pílula de chamada clara com telefone verde (`#68FF0C`). Números tirados do `cenas.jsx`.\n\n## Palco\n\n| Peça | Como é |\n|---|---|\n| Tela | 1080×1080, 30 qps, desfoque de movimento com obturador 360° e fase −180° |\n| Montagem | `C_capa` (0–2,22 s), `C_post` (2,20–7,45 s, filmando `C_mundo`) e `C_chamada` (7,45–10,20 s) na comp `RECRIACAO`, sobre preto |\n| Mundo | plano de 2400×2200 com o cartão do post, o Google e a roda de fotos |\n| Cilindro | 80 tiras de 25 px (de u 300 a 2300) em camadas 3D; raio 800 no post, 5000 (quase plano) no Google, de 4,80 a 5,30 s |\n| Câmera | zoom 1000, 13 chaves de posição, ponto de interesse e giro |\n\n## Cores\n\n| Peça | Valor |\n|---|---|\n| Fundo da capa | roxo (0,42; 0,16; 0,54) |\n| Céu da 2ª cena | degradê de (0,30; 0,07; 0,40) a (0,58; 0,16; 0,66) |\n| Título | `#FAE6D7` |\n| Fundo do post | (0,024; 0,024; 0,024) |\n| Selo verificado | `#69EFF7` |\n| Caixa de destaque | `#8423A6` |\n| Fundo do Google | (0,12; 0,118; 0,13); barra (0,204; 0,208; 0,227) |\n| Quadrado no lugar do \"o\" | `#C46A1E` |\n| Fundo da chamada | cinza 82%; pílula 93% |\n| Telefone | `#68FF0C` |\n\n## Fontes\n\n| Fonte | Onde |\n|---|---|\n| Caprasimo | título das nuvens (165 px) e palavra do céu (140 px) |\n| Segoe UI Bold | perfil no post (30 px) |\n| Segoe UI Semibold | texto do post (31 px) |\n| SF Pro Text Medium | busca do Google (26 px) |\n| SF Pro Text Semibold | frase da chamada (42 px) |\n| Segoe Fluent Icons | selo, lupa e telefone |\n\n## Cena a cena\n\n| Cena | Números |\n|---|---|\n| Título nas nuvens | animador por caractere: posição −90 px, escala 180%, desfoque 22 e opacidade 0, até zero; linha 1 de 0,18 a 0,52 s, linha 2 de 0,45 a 0,74 s; nuvens a 150% descendo de y 470 a 600 |\n| Mascote | voa de (1080, 1130) a (200, 700) entre 0,76 e 1,42 s, com escala 30 › 62 › 95 › 480% e giro 28° › −6° › −30° (passa colado na câmera) |\n| Céu roxo | palavra cai de 1,55 a 1,82 s; a cabeça do mascote sobe de y 1500 a 955 entre 1,55 e 1,92 s |\n| Recuo para o cartão | capa de 100 a 77% de 2,00 a 2,20 s, com Optics Compensation de 0 a 30 (bordas abauladas); linhas de varredura com Venetian Blinds a 14% |\n| Post | cabeçalho entra de 2,22 a 2,32 s; texto pula da base (posição +22 px, escala 60%, opacidade 0) de 2,25 a 3,85 s; destaque cresce da esquerda de 4,05 a 4,14 s |\n| Câmera no post | empurra e inclina até o cabeçalho de 2,60 a 2,95 s (distância 1000 › 225, inclinação 75°); chicote ao longo da frase de 3,30 a 4,05 s; segura o destaque até 4,75 s |\n| Google | a câmera sobe de 4,75 a 5,20 s; busca digita com letras caindo 20 px de 5,00 a 6,35 s |\n| Roda de fotos | 14 fotos de 220 px num raio de 205; a 1ª sai do quadrado de 6,12 a 6,40 s; as outras nascem com 1 qd de intervalo a partir de 6,32 s, crescem a 106% e assentam; a roda gira de −40° a 60° de 6,38 a 7,45 s |\n| Clarão | elipse branca com desfoque 110 cresce de 0 a 720 e a 2400 px entre 7,18 e 7,45 s |\n| Pílula | círculo branco com o telefone sobe e clareia; vira pílula de 470×136 entre 7,80 e 8,10 s, com desfoque de 8 no pico; as palavras caem 18 px em 8,35, 8,65, 8,88 e 9,10 s |\n| Câmera na chamada | escala de 100 a 133% de 8,20 a 10,10 s |\n| Corte final | desfoque direcional horizontal de 0 a 220 entre 10,12 e 10,19 s e corte para preto em 10,20 s |\n\n## Som\n\n| Peça | Valor |\n|---|---|\n| Música | faixa esticada de 92,3 para 89,1 BPM (atempo 0,9654); o compasso forte cai no 1º tempo do vídeo (0,07 s) |\n| Fim | corte seco em 10,20 s, sem fade |\n| Efeitos | papel, teclas, pops e whooshes nos eventos da tela, com ganho 2,5× (não há voz) |\n| Mix | −14 LUFS, pico −3,8 dBFS |\n\n## O que é \"humano\" neste vídeo\n\n- A câmera do post nunca segura parada: empurra, corre pela frase, recua e sobe.\n- O mascote tem arco, giro e escala exagerados ao passar pela câmera, como um personagem de desenho.\n- A nuvem do céu roxo deriva com um wiggle lento enquanto a palavra cai.\n"
    },
    {
      "titulo": "O roteiro",
      "texto": "**Resumo:** o vídeo não tem narração; o roteiro é a ordem das telas e o tempo de cada frase, tirados do `cenas.jsx`. As frases são curtas, nossas e trocáveis no bloco de textos do gerador. Com outra música, mantenha a regra: uma frase por app e cada troca num tempo forte.\n\n## De onde veio a estrutura\n\nO reel estudado passa por quatro \"apps\" em 10 s: um mundo de nuvens com título, um post com o @ do autor, uma busca do Google que vira roda de fotos e uma pílula de chamada, cortando seco no meio da frase seguinte. Este projeto mantém as telas, os tempos e a câmera, com frases sobre o ofício de motion, um mascote original e o seu perfil como autor do post.\n\n## Telas\n\n | \n\n | Tempo (s)\n | Tela\n | Texto (bloco `T`)\n | O que acontece\n\n | 0,00–0,76\n | nuvens sobre roxo\n | `titulo1` e `titulo2` (3 palavras em duas linhas)\n | as letras caem uma a uma, grandes e borradas; a câmera desce devagar\n\n | 0,76–1,50\n | mascote\n | —\n | o mascote voa de baixo à direita, cresce e passa colado na câmera, cobrindo o título\n\n | 1,50–2,00\n | céu roxo\n | `palavra2` (1 palavra)\n | a palavra cai letra a letra e a cabeça do mascote sobe de baixo\n\n | 2,00–2,30\n | recuo\n | —\n | a tela inteira recua e vira o cartão do post, com bordas abauladas e linhas de varredura\n\n | 2,30–4,75\n | post curvo\n | `perfil` e `post` (8 palavras), `destaque`\n | cabeçalho com avatar, @ e selo; o texto pula da base enquanto a câmera empurra, inclina e corre pela frase; a última palavra ganha a caixa roxa\n\n | 4,75–6,10\n | Google escuro\n | `busca`\n | a câmera sobe até o logo, com um quadrado no lugar do \"o\"; a busca é digitada\n\n | 6,10–7,20\n | roda de fotos\n | —\n | uma foto sai do quadrado e as outras nascem em volta, formando um anel que gira\n\n | 7,20–7,45\n | clarão\n | —\n | o furo da roda vira um clarão branco que toma a tela\n\n | 7,45–8,30\n | chamada\n | —\n | o ponto verde vira um círculo e o círculo estica em pílula\n\n | 8,30–10,20\n | pílula\n | `chamada` (4 palavras)\n | as palavras caem uma a uma e a pílula alarga; a câmera aproxima até 133%\n\n | 10,20\n | corte\n | —\n | borrão horizontal de 2 quadros e preto, com a música ainda alta\n\n## Momentos para o som\n\nEventos de `audio/eventos_manuais.py`, um efeito para cada ação da tela:\n\n- 0,20–0,50 s: as palavras do título caem; 0,78 e 1,30 s: o mascote atravessa e passa colado na câmera.\n\n- 1,58–1,62 s: a palavra do céu cai e a cabeça do mascote sobe; 2,00 s: o recuo para o cartão.\n\n- 2,25–3,80 s: uma tecla por letra que pula da base; 2,60 s empurrão e 3,30 s chicote.\n\n- 4,05 s: marca-texto na caixa roxa; 4,75 s: chicote para o Google; 5,00–6,25 s: teclas da busca.\n\n- 6,12 s: a foto estoura do quadrado; 6,35–6,75 s: as fotos da roda nascendo; 6,40 s giro; 7,20 s clarão.\n\n- 7,95–8,02 s: o círculo vira pílula; 8,35 · 8,65 · 8,88 · 9,10 s: uma batida por palavra da chamada.\n\n- 10,13 s: a pílula estica e o vídeo corta seco, sem fade."
    },
    {
      "titulo": "A identidade visual",
      "texto": "**Resumo:** roxo e coral de nuvens com título em serifa grossa creme (`#FAE6D7`), post escuro com selo ciano (`#69EFF7`) e destaque roxo (`#8423A6`), Google em modo escuro com um quadrado laranja no lugar do \"o\", e pílula de chamada clara com telefone verde (`#68FF0C`). Números tirados do `cenas.jsx`.\n\n## Palco\n\n | \n\n | Peça\n | Como é\n\n | Tela\n | 1080×1080, 30 qps, desfoque de movimento com obturador 360° e fase −180°\n\n | Montagem\n | `C_capa` (0–2,22 s), `C_post` (2,20–7,45 s, filmando `C_mundo`) e `C_chamada` (7,45–10,20 s) na comp `RECRIACAO`, sobre preto\n\n | Mundo\n | plano de 2400×2200 com o cartão do post, o Google e a roda de fotos\n\n | Cilindro\n | 80 tiras de 25 px (de u 300 a 2300) em camadas 3D; raio 800 no post, 5000 (quase plano) no Google, de 4,80 a 5,30 s\n\n | Câmera\n | zoom 1000, 13 chaves de posição, ponto de interesse e giro\n\n## Cores\n\n | \n\n | Peça\n | Valor\n\n | Fundo da capa\n | roxo (0,42; 0,16; 0,54)\n\n | Céu da 2ª cena\n | degradê de (0,30; 0,07; 0,40) a (0,58; 0,16; 0,66)\n\n | Título\n | `#FAE6D7`\n\n | Fundo do post\n | (0,024; 0,024; 0,024)\n\n | Selo verificado\n | `#69EFF7`\n\n | Caixa de destaque\n | `#8423A6`\n\n | Fundo do Google\n | (0,12; 0,118; 0,13); barra (0,204; 0,208; 0,227)\n\n | Quadrado no lugar do \"o\"\n | `#C46A1E`\n\n | Fundo da chamada\n | cinza 82%; pílula 93%\n\n | Telefone\n | `#68FF0C`\n\n## Fontes\n\n | \n\n | Fonte\n | Onde\n\n | Caprasimo\n | título das nuvens (165 px) e palavra do céu (140 px)\n\n | Segoe UI Bold\n | perfil no post (30 px)\n\n | Segoe UI Semibold\n | texto do post (31 px)\n\n | SF Pro Text Medium\n | busca do Google (26 px)\n\n | SF Pro Text Semibold\n | frase da chamada (42 px)\n\n | Segoe Fluent Icons\n | selo, lupa e telefone\n\n## Cena a cena\n\n | \n\n | Cena\n | Números\n\n | Título nas nuvens\n | animador por caractere: posição −90 px, escala 180%, desfoque 22 e opacidade 0, até zero; linha 1 de 0,18 a 0,52 s, linha 2 de 0,45 a 0,74 s; nuvens a 150% descendo de y 470 a 600\n\n | Mascote\n | voa de (1080, 1130) a (200, 700) entre 0,76 e 1,42 s, com escala 30 › 62 › 95 › 480% e giro 28° › −6° › −30° (passa colado na câmera)\n\n | Céu roxo\n | palavra cai de 1,55 a 1,82 s; a cabeça do mascote sobe de y 1500 a 955 entre 1,55 e 1,92 s\n\n | Recuo para o cartão\n | capa de 100 a 77% de 2,00 a 2,20 s, com Optics Compensation de 0 a 30 (bordas abauladas); linhas de varredura com Venetian Blinds a 14%\n\n | Post\n | cabeçalho entra de 2,22 a 2,32 s; texto pula da base (posição +22 px, escala 60%, opacidade 0) de 2,25 a 3,85 s; destaque cresce da esquerda de 4,05 a 4,14 s\n\n | Câmera no post\n | empurra e inclina até o cabeçalho de 2,60 a 2,95 s (distância 1000 › 225, inclinação 75°); chicote ao longo da frase de 3,30 a 4,05 s; segura o destaque até 4,75 s\n\n | Google\n | a câmera sobe de 4,75 a 5,20 s; busca digita com letras caindo 20 px de 5,00 a 6,35 s\n\n | Roda de fotos\n | 14 fotos de 220 px num raio de 205; a 1ª sai do quadrado de 6,12 a 6,40 s; as outras nascem com 1 qd de intervalo a partir de 6,32 s, crescem a 106% e assentam; a roda gira de −40° a 60° de 6,38 a 7,45 s\n\n | Clarão\n | elipse branca com desfoque 110 cresce de 0 a 720 e a 2400 px entre 7,18 e 7,45 s\n\n | Pílula\n | círculo branco com o telefone sobe e clareia; vira pílula de 470×136 entre 7,80 e 8,10 s, com desfoque de 8 no pico; as palavras caem 18 px em 8,35, 8,65, 8,88 e 9,10 s\n\n | Câmera na chamada\n | escala de 100 a 133% de 8,20 a 10,10 s\n\n | Corte final\n | desfoque direcional horizontal de 0 a 220 entre 10,12 e 10,19 s e corte para preto em 10,20 s\n\n## Som\n\n | \n\n | Peça\n | Valor\n\n | Música\n | faixa esticada de 92,3 para 89,1 BPM (atempo 0,9654); o compasso forte cai no 1º tempo do vídeo (0,07 s)\n\n | Fim\n | corte seco em 10,20 s, sem fade\n\n | Efeitos\n | papel, teclas, pops e whooshes nos eventos da tela, com ganho 2,5× (não há voz)\n\n | Mix\n | −14 LUFS, pico −3,8 dBFS\n\n## O que é \"humano\" neste vídeo\n\n- A câmera do post nunca segura parada: empurra, corre pela frase, recua e sobe.\n\n- O mascote tem arco, giro e escala exagerados ao passar pela câmera, como um personagem de desenho.\n\n- A nuvem do céu roxo deriva com um wiggle lento enquanto a palavra cai."
    },
    {
      "titulo": "A montagem no After Effects",
      "texto": "| \n\n | Arquivo\n | O que faz\n\n | `ae/cenas.jsx`\n | monta tudo no projeto aberto. No topo, o bloco `T` guarda os textos: `titulo1` e `titulo2` (nuvens), `palavra2` (céu roxo), `perfil`, `post` (8 palavras), `destaque` (a última palavra do post), `busca` (digitada no Google) e `chamada` (4 palavras), com `tChamada`, o instante de cada palavra da pílula. Ajudantes: `K` (chaves com influência), `letrasCaindo`, `retangulo`, `elipse`, `formaSVG`, `mascaraArred`, `vivo`. Cenas: `cenaCapa`, `cenaMundo` (o post, o Google e a roda num plano de 2400×2200), `cenaPost` (o cilindro e a câmera), `cenaChamada`; `montaFinal` costura tudo\n\n | `assets/preparar_assets.py`\n | recorta a grade em 16 fotos e tira o fundo verde do mascote\n\n | `assets/svg_para_ae.py`\n | converte o SVG do logo no JSON de caminhos que o `formaSVG` desenha\n\n | `audio/eventos_manuais.py`\n | escreve `eventos.json` com cada efeito no tempo da comp\n\n | `audio/trilha.py`\n | põe o trecho da música com corte seco em 10,20 s e soma os efeitos pela Mesa\n\n- **Fontes:** Caprasimo (Google Fonts) e SF Pro Text (site de desenvolvedores da Apple) em `C:\\Program Files\\Common Files\\Adobe\\Fonts`; Segoe UI e Segoe Fluent Icons já vêm no Windows 11. Reinicie o After Effects.\n\n- **Abrir pronto:** `projeto/ae/lyric-apps.aep`. Se o AE pedir arquivos, aponte para `projeto/assets/`.\n\n- **Adaptar:** troque os textos no bloco `T`, as imagens em `assets/` (rode `preparar_assets.py` se trocar a grade ou o mascote) e os instantes da pílula em `tChamada`. Crie um projeto novo (File › New Project) e rode File › Scripts › Run Script File › `cenas.jsx`.\n\n- **Tempos:** as trocas de app caem nos tempos fortes de uma música a 89 BPM. Com outra música, mova as chaves de `montaFinal` e da câmera (`KC` em `cenaPost`) para os tempos fortes dela.\n\n- **Som:** ponha a sua música em `audio/musica.wav`, ajuste `de` e `ate` no `trilha.py`, aponte o `sys.path` para `audio/mesa/` e rode `python trilha.py`.\n\n- **Render:** fila do AE em H.264 com o `mix.wav`, ou render sem som e junte depois com o ffmpeg.\n\n**Pegadinhas:** o cilindro é feito de tiras com máscara e expressões que leem o raio de um slider (`CTRL › raio`); para deixar o post mais ou menos curvo, mexa só nesse slider. A largura da pílula segue o texto por `sourceRectAtTime`, então frases longas alargam sozinhas. Num null, opacidade e efeito não chegam aos filhos."
    },
    {
      "titulo": "As decisões de direção",
      "texto": "- **Uma frase, um app.** Cada frase mora numa interface que já existe (post, busca, chamada), na ordem em que o texto pede.\n\n- **Uma tela nasce da outra.** A capa vira o cartão do post, a foto sai do \"o\" do Google e a pílula nasce do furo da roda: não há corte morto em 10 s.\n\n- **O seu perfil é o autor do post.** O @ aparece como quem escreveu a frase, o que dá autoria e humor.\n\n- **Chicote ao longo da frase.** A câmera corre pelo texto que está sendo digitado, o que resolve frase longa em tela quadrada.\n\n- **Uma ação por tempo forte.** Recuo, empurrão, chicote, Google, foto, roda, clarão e pílula caem nos tempos da música, quase sempre até 3 quadros antes.\n\n- **Corte seco no meio da frase.** O vídeo termina com a música alta e a última frase ainda se escrevendo: dá vontade de rever.\n\nDetalhes de cores, tempos e números: estilo.md. Telas por tempo: roteiro.md. Para fazer o seu com outra música: PROMPT.md."
    },
    {
      "titulo": "As versões até o final",
      "texto": "| \n\n | Versão\n | O que mudou\n\n | **v1**\n | recriação da técnica cena a cena, conferida lado a lado com o original, com frases nossas, mascote original e o seu perfil no post"
    }
  ],
  "prompt": "# Prompt: cada frase num app diferente\n\n> Data: 2026-10-17 · Tipo: guia · Status: vigente · Projeto: letra-em-apps\n\n**Resumo:** o prompt para colar no seu agente (Claude Code ou Codex), aberto na pasta da sua central, para ele estudar este projeto e montar a sua versão com outra música: cada frase vive numa interface que todo mundo conhece, uma nascendo da outra, com corte seco no fim. Troque os marcadores `{{…}}` ou apague a linha, e o agente pergunta.\n\n## Como usar\n\n1. Descompacte o pacote em `07-videos/projetos/letra-em-apps/` dentro da sua central.\n2. Instale Caprasimo e SF Pro Text e veja em `referencias/fora-do-pacote.md` o que precisa separar (a música).\n3. Separe 10 a 12 s da música e escreva quatro frases curtas.\n4. Abra o agente na pasta da central, copie o bloco abaixo, troque os marcadores que já souber e cole.\n\n## O prompt\n\n```text\nQuero um edit de música no mesmo método do projeto \"Cada frase num app\", que está em 07-videos/projetos/letra-em-apps/: cada frase mora numa interface diferente (título nas nuvens, post curvo, busca que explode em fotos, pílula de chamada), uma nascendo da outra.\n\nMúsica e trecho (arquivo e segundos de início e fim): {{MUSICA}}\nAs frases, na ordem: título (até 3 palavras), palavra do céu, texto do post (até 8 palavras), busca, frase da chamada (4 palavras): {{FRASES}}\nMeu perfil (autor do post): {{PERFIL}}\nMascote ou personagem (ou deixe que você proponha um original): {{MASCOTE}}\nTema das fotos da roda: {{FOTOS}}\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 LEIA-ME.md, estilo.md e roteiro.md e abra projeto/ae/cenas.jsx: o bloco T, os ajudantes (K, letrasCaindo, formaSVG, mascaraArred, vivo), cenaCapa, cenaMundo, cenaPost (o cilindro e as chaves KC da câmera), cenaChamada e montaFinal. Me diga em poucas linhas o que muda com a minha música.\n\n2. Meça a música: andamento e tempos fortes, e o instante de cada palavra da frase da chamada. Monte uma tabela tempo forte › ação da tela (recuo, empurrão, chicote, Google, foto, roda, clarão, pílula).\n\n3. Se quiser trocar algum app (por exemplo, o Google por outra busca ou a chamada por uma notificação), me proponha a troca e espere meu ok.\n\n4. Prepare os assets antes de animar: nuvens ou fundo do título, mascote com fundo liso para recorte, avatar, uma grade 4×4 de fotos e o logo em SVG. Gere ou baixe, rode o preparar_assets.py e anote de onde veio cada imagem.\n\n5. Construa copiando o projeto, sem editar o original: troque o bloco T, mova as chaves para os seus tempos fortes e ajuste o raio do cilindro só pelo slider CTRL › raio. Rode o cenas.jsx num projeto novo do After Effects e me mostre uma folha de contato com 12 quadros, incluindo o meio dos chicotes e da roda.\n\n6. Revise antes do render: troca que não cai no tempo forte, câmera parada, texto cortado no cilindro, pílula estreita para a frase e preto antes da hora.\n\n7. Faça o som: música em audio/musica.wav com corte seco no último quadro, efeitos em eventos_manuais.py, mix pela Mesa a −14 LUFS. Renderize em H.264, junte o mix.wav e entregue o MP4 com uma anotação do que mudou em relação ao projeto.\n```\n\n## Checklist antes de entregar (da referência)\n\n- [ ] Cada frase tem o seu app, e cada app nasce de uma peça do anterior.\n- [ ] As trocas caem nos tempos fortes, no máximo 3 quadros antes.\n- [ ] A câmera corre pela frase do post sem parar.\n- [ ] O mascote é original, e o perfil no post é o seu.\n- [ ] O vídeo corta seco no fim, com a música ainda alta.\n- [ ] A música e as frases são suas.\n",
  "campos": [
    "FOTOS",
    "FRASES",
    "MASCOTE",
    "MUSICA",
    "PERFIL"
  ],
  "fonte": {
    "nome": "Clube do Motion",
    "url": "https://clubedomotion.com/projeto/?id=letra-em-apps",
    "uso": "liberado pelo dono do Clube do Motion em 18/10/2026 (docs/permissoes/clube-do-motion.md)"
  },
  "ferramentas": [
    "Claude Code",
    "After Effects"
  ],
  "scripts_ae": {
    "pasta": "lib/estudio/dados/projetos-ae/letra-em-apps",
    "arquivos": [
      "ae/cenas.jsx",
      "assets/preparar_assets.py",
      "assets/svg_para_ae.py"
    ],
    "como_usar": "modelo: leia os .jsx (montam as comps no After Effects) e os .py (preparam assets/áudio) e adapte para o estudio_ae; não copie o conteúdo do vídeo, troque pelo assunto da pessoa."
  }
}