primocode 10.12.0 → 10.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +74 -12
  2. package/bin/primocode.js +148 -8
  3. package/lib/act.js +48 -1
  4. package/lib/catalogo.js +12 -1
  5. package/lib/config.js +1 -0
  6. package/lib/estudio/assinaturas/gerativo.json +1 -1
  7. package/lib/estudio/camadas.js +4 -0
  8. package/lib/estudio/cota.js +150 -0
  9. package/lib/estudio/dados/projetos/clube-ad5.json +105 -0
  10. package/lib/estudio/dados/projetos/clube-ae-sem-memoria.json +107 -0
  11. package/lib/estudio/dados/projetos/clube-agent.json +120 -0
  12. package/lib/estudio/dados/projetos/clube-antes-e-agora.json +86 -0
  13. package/lib/estudio/dados/projetos/clube-apresentando-clube.json +110 -0
  14. package/lib/estudio/dados/projetos/clube-bluevisa.json +106 -0
  15. package/lib/estudio/dados/projetos/clube-caught-in-the-fire.json +127 -0
  16. package/lib/estudio/dados/projetos/clube-chat-cliente-satisfeito.json +98 -0
  17. package/lib/estudio/dados/projetos/clube-chatgpt-anuncios.json +120 -0
  18. package/lib/estudio/dados/projetos/clube-claude-dj.json +140 -0
  19. package/lib/estudio/dados/projetos/clube-claude-mcp.json +142 -0
  20. package/lib/estudio/dados/projetos/clube-cleanui.json +106 -0
  21. package/lib/estudio/dados/projetos/clube-clinica-take-unico.json +128 -0
  22. package/lib/estudio/dados/projetos/clube-clinica.json +104 -0
  23. package/lib/estudio/dados/projetos/clube-clube-opener.json +125 -0
  24. package/lib/estudio/dados/projetos/clube-clube.json +108 -0
  25. package/lib/estudio/dados/projetos/clube-codigo.json +101 -0
  26. package/lib/estudio/dados/projetos/clube-distilbook.json +104 -0
  27. package/lib/estudio/dados/projetos/clube-drive-upload.json +115 -0
  28. package/lib/estudio/dados/projetos/clube-dub.json +119 -0
  29. package/lib/estudio/dados/projetos/clube-enxovaly.json +105 -0
  30. package/lib/estudio/dados/projetos/clube-fecha7.json +118 -0
  31. package/lib/estudio/dados/projetos/clube-filatov.json +128 -0
  32. package/lib/estudio/dados/projetos/clube-frame.json +108 -0
  33. package/lib/estudio/dados/projetos/clube-glass.json +118 -0
  34. package/lib/estudio/dados/projetos/clube-letra-em-apps.json +84 -0
  35. package/lib/estudio/dados/projetos/clube-letra-globo-3d.json +111 -0
  36. package/lib/estudio/dados/projetos/clube-letra-nos-apps.json +146 -0
  37. package/lib/estudio/dados/projetos/clube-letra-seis-mundos.json +100 -0
  38. package/lib/estudio/dados/projetos/clube-lula-3.json +146 -0
  39. package/lib/estudio/dados/projetos/clube-morph.json +119 -0
  40. package/lib/estudio/dados/projetos/clube-motion-designer.json +115 -0
  41. package/lib/estudio/dados/projetos/clube-motion-pacote.json +112 -0
  42. package/lib/estudio/dados/projetos/clube-movimento.json +103 -0
  43. package/lib/estudio/dados/projetos/clube-not-like-us.json +117 -0
  44. package/lib/estudio/dados/projetos/clube-pinterest-inspiracao.json +86 -0
  45. package/lib/estudio/dados/projetos/clube-pixel-e-tinta.json +108 -0
  46. package/lib/estudio/dados/projetos/clube-ponte.json +118 -0
  47. package/lib/estudio/dados/projetos/clube-processo-edit-tonal.json +126 -0
  48. package/lib/estudio/dados/projetos/clube-processo-motion-100-ia.json +109 -0
  49. package/lib/estudio/dados/projetos/clube-promo.json +114 -0
  50. package/lib/estudio/dados/projetos/clube-proposito.json +115 -0
  51. package/lib/estudio/dados/projetos/clube-rankhog.json +128 -0
  52. package/lib/estudio/dados/projetos/clube-recursao.json +116 -0
  53. package/lib/estudio/dados/projetos/clube-revelar.json +118 -0
  54. package/lib/estudio/dados/projetos/clube-robo.json +125 -0
  55. package/lib/estudio/dados/projetos/clube-shelby-ep2.json +144 -0
  56. package/lib/estudio/dados/projetos/clube-shelby.json +97 -0
  57. package/lib/estudio/dados/projetos/clube-solar-eclipse.json +96 -0
  58. package/lib/estudio/dados/projetos/clube-soldier.json +128 -0
  59. package/lib/estudio/dados/projetos/clube-som-de-cena.json +108 -0
  60. package/lib/estudio/dados/projetos/clube-spotify-candidatura.json +112 -0
  61. package/lib/estudio/dados/projetos/clube-tda-app.json +118 -0
  62. package/lib/estudio/dados/projetos/clube-tda-ia.json +75 -0
  63. package/lib/estudio/dados/projetos/clube-telegram-chat.json +118 -0
  64. package/lib/estudio/dados/projetos/clube-telegram-ilha.json +106 -0
  65. package/lib/estudio/dados/projetos/clube-tennessee-nike.json +132 -0
  66. package/lib/estudio/dados/projetos/clube-tudo-se-move.json +112 -0
  67. package/lib/estudio/dados/projetos/clube-uiad.json +107 -0
  68. package/lib/estudio/dados/projetos/clube-viralgrow.json +108 -0
  69. package/lib/estudio/dados/projetos/clube-whose-side.json +140 -0
  70. package/lib/estudio/dados/projetos/clube-youtube-inscrever.json +108 -0
  71. package/lib/estudio/dados/projetos/elementos-do-site-em-movimento.json +49 -0
  72. package/lib/estudio/dados/projetos/explainer-narrado.json +51 -0
  73. package/lib/estudio/dados/projetos/lancamento-de-produto.json +51 -0
  74. package/lib/estudio/dados/projetos/motion-so-com-sons.json +50 -0
  75. package/lib/estudio/dados/projetos/titulo-em-after-effects.json +51 -0
  76. package/lib/estudio/dados/projetos/tour-de-saas.json +50 -0
  77. package/lib/estudio/dados/projetos-ae/antes-e-agora/ae/cenas.jsx +733 -0
  78. package/lib/estudio/dados/projetos-ae/antes-e-agora/assets/fazer_assets.py +88 -0
  79. package/lib/estudio/dados/projetos-ae/letra-em-apps/ae/cenas.jsx +402 -0
  80. package/lib/estudio/dados/projetos-ae/letra-em-apps/assets/preparar_assets.py +17 -0
  81. package/lib/estudio/dados/projetos-ae/letra-em-apps/assets/svg_para_ae.py +25 -0
  82. package/lib/estudio/dados/projetos-ae/letra-nos-apps/BRIEF-AGENTES.md +31 -0
  83. package/lib/estudio/dados/projetos-ae/letra-nos-apps/README.md +53 -0
  84. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ROTEIRO-CENAS.md +69 -0
  85. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/A-agenda.jsx +148 -0
  86. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/B-docs.jsx +174 -0
  87. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/C-alttab.jsx +113 -0
  88. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/D-spotify.jsx +118 -0
  89. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/E-notas.jsx +146 -0
  90. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/F-jornal1.jsx +144 -0
  91. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/G-google.jsx +153 -0
  92. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/H-mapa.jsx +176 -0
  93. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/I-imagens.jsx +132 -0
  94. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/J-jornal2.jsx +191 -0
  95. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/K-maps.jsx +184 -0
  96. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/camera-movimentos.jsx +48 -0
  97. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/camera.jsx +57 -0
  98. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/card-spotify.jsx +98 -0
  99. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/digitar.jsx +38 -0
  100. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/jornal-comum.jsx +196 -0
  101. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/letra.jsx +23 -0
  102. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/letra_automatica.py +83 -0
  103. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/montagem.jsx +74 -0
  104. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/w-agenda/render_html.py +13 -0
  105. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/w-agenda/util.jsx +162 -0
  106. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/w-midia-comum.jsx +114 -0
  107. package/lib/estudio/dados/projetos-ae/letra-nos-apps/ae/wg-util.jsx +360 -0
  108. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/F-jornal1/render_html.py +13 -0
  109. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/render_w-midia.py +26 -0
  110. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/w-midia-ferramentas/inclin.py +30 -0
  111. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/w-midia-ferramentas/medir_d.py +36 -0
  112. package/lib/estudio/dados/projetos-ae/letra-nos-apps/assets/w-midia-ferramentas/medir_e.py +27 -0
  113. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/ajustar_movimentos.py +61 -0
  114. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/ancorar.py +74 -0
  115. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/assar.py +47 -0
  116. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/camera3d_jornal.py +172 -0
  117. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/comparar.py +32 -0
  118. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/dados_ae_jornal.py +46 -0
  119. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/folha_contato.py +28 -0
  120. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/homografia_jornal.py +74 -0
  121. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/integrar.py +44 -0
  122. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/medir_quadro_a_quadro.py +32 -0
  123. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/mesa_2d.py +64 -0
  124. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/plot_cenas.py +11 -0
  125. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/retificar_quadros.py +38 -0
  126. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/w-agenda/assar_ab.py +52 -0
  127. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/w-agenda/medir_ab.py +59 -0
  128. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_ajustar_h.py +111 -0
  129. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_corrige_cam.py +17 -0
  130. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_ecc_cadeia.py +80 -0
  131. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_finalizar_cam.py +65 -0
  132. package/lib/estudio/dados/projetos-ae/letra-nos-apps/camera/wg_mosaico.py +61 -0
  133. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/01-gramatica-e-roteiro.md +55 -0
  134. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/02-camera.md +66 -0
  135. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/03-montagem-no-ae.md +50 -0
  136. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/04-render-e-conferencia.md +43 -0
  137. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces/05-abertura-celular-mergulho.md +43 -0
  138. package/lib/estudio/dados/projetos-ae/letra-nos-apps/guia-do-metodo/tutorial-lyric-edit-interfaces.md +42 -0
  139. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/atraso_imagem.py +31 -0
  140. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/fundo.py +56 -0
  141. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/juntar.py +45 -0
  142. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/montar.py +177 -0
  143. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/rastreio.py +74 -0
  144. package/lib/estudio/dados/projetos-ae/letra-nos-apps/transicao/sincronia.py +18 -0
  145. package/lib/estudio/dados/projetos-ae/pinterest-inspiracao/ae/cenas.jsx +530 -0
  146. package/lib/estudio/dados/projetos-ae/pinterest-inspiracao/assets/fazer_assets.py +107 -0
  147. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/assets/pessoas/figurinha.py +46 -0
  148. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/BRIEF-A.md +83 -0
  149. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/audio.py +179 -0
  150. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/confere.py +20 -0
  151. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/dados/tempo-parte1.js +1 -0
  152. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/dados/tempo-parte2.js +1 -0
  153. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/gerar_emojis.py +11 -0
  154. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/img/filmes/_indice.js +122 -0
  155. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/base.js +380 -0
  156. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/main.js +86 -0
  157. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/p1a.js +169 -0
  158. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/p1b.js +455 -0
  159. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/p1c.js +389 -0
  160. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/js/p2.js +379 -0
  161. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/comp-a/video.py +62 -0
  162. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/take-unico/README.md +65 -0
  163. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/take-unico/oraculo_take.py +137 -0
  164. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/take-unico/render_take.py +388 -0
  165. package/lib/estudio/dados/projetos-ae/processo-motion-100-ia/take-unico/take.js +235 -0
  166. package/lib/estudio/diretor.js +2 -1
  167. package/lib/estudio/editor.js +285 -0
  168. package/lib/estudio/efeitos-fabrica/terminal-digitando.jsx +2 -1
  169. package/lib/estudio/effectcraft.js +152 -0
  170. package/lib/estudio/exportar.js +181 -0
  171. package/lib/estudio/gerativo.js +44 -15
  172. package/lib/estudio/index.js +126 -5
  173. package/lib/estudio/kit/gerativo.jsx +15 -0
  174. package/lib/estudio/kit-ae/base.jsx +1146 -0
  175. package/lib/estudio/kit-ae/cenas.jsx +395 -0
  176. package/lib/estudio/kit-ae/primitivas.jsx +911 -0
  177. package/lib/estudio/kokoro.js +3 -1
  178. package/lib/estudio/maquina-diretor.js +393 -0
  179. package/lib/estudio/maquina-elementos.js +134 -0
  180. package/lib/estudio/maquina-layout.js +198 -0
  181. package/lib/estudio/maquina-som.js +478 -0
  182. package/lib/estudio/maquina-trilha.js +160 -0
  183. package/lib/estudio/maquina-voz.js +429 -0
  184. package/lib/estudio/maquina.js +516 -0
  185. package/lib/estudio/projetos.js +60 -0
  186. package/lib/estudio/remotion.js +6 -4
  187. package/lib/estudio/revisor.js +61 -0
  188. package/lib/estudio/voicestudio.js +81 -0
  189. package/lib/headless.js +71 -0
  190. package/lib/hooks.js +72 -0
  191. package/lib/local/cerebro.json +398 -12
  192. package/lib/local/entrada.js +46 -2
  193. package/lib/marca-kit.js +309 -0
  194. package/lib/mcp.js +286 -6
  195. package/lib/perigo.js +31 -3
  196. package/lib/planos.js +47 -19
  197. package/lib/preparar.js +111 -0
  198. package/lib/retomar.js +55 -0
  199. package/lib/sandbox.js +197 -0
  200. package/lib/skills.js +3 -1
  201. package/lib/tools.js +13 -4
  202. package/lib/ui.js +1 -1
  203. package/lib/video/auto.js +18 -3
  204. package/package.json +4 -2
  205. package/skills/after-effects/SKILL.md +52 -0
  206. package/skills/maquina-de-motion/SKILL.md +84 -0
  207. package/skills/motion-de-primeira/SKILL.md +33 -51
@@ -0,0 +1,84 @@
1
+ ---
2
+ nome: Máquina de motion
3
+ descricao: o assunto vira um vídeo de motion profissional, com cenas, sons no tempo e áudio a -14 LUFS, sem você escrever JSX
4
+ quando: motion, reel, reels, anúncio animado, anuncio animado, vinheta, motion design, after effects, vídeo de motion, video de motion
5
+ autor: PrimoCode
6
+ ---
7
+ Para vídeo de motion, **prefira `estudio_motion`** a escrever JSX com `estudio_ae`. Você
8
+ preenche um JSON; o kit faz o trabalho fino (curva em toda chave, mola com quique, câmera que
9
+ nunca para, botão que afunda, palavra-chave em itálico) e põe os sons no tempo.
10
+
11
+ ## O caminho
12
+
13
+ 1. **Procure um método.** `estudio_midia acao:"projetos"` lista as receitas do Clube do Motion.
14
+ Ache a mais próxima do pedido, leia a ficha (formato, duração, o que ela decide) e passe o
15
+ `id` dela em `receita`: a máquina segue o formato e a duração da ficha.
16
+ 2. `estudio_projeto` (criar), se ainda não há projeto.
17
+ 3. **Escreva as cenas** (o JSON abaixo). Uma ideia por cena.
18
+ 4. `estudio_motion` e **abra os quadros** (`ae/quadro-*.png`). Texto cortado, tela vazia ou
19
+ cor sem contraste: mude o JSON e rode de novo. A máquina já confere um quadro por cena
20
+ e tenta uma vez sozinha, mas olhe você também.
21
+
22
+ ## O JSON
23
+
24
+ ```json
25
+ {
26
+ "id": "meu-projeto", "assunto": "Pão quente às 7h na Padaria do Joel",
27
+ "formato": "9:16", "duracao": 15,
28
+ "marca": { "cores": { "fundo": "#FFF1DC", "destaque": "#E8590C", "tinta": "#3B1F0E" },
29
+ "fontes": { "titulo": "Poppins", "texto": "Plus Jakarta Sans", "destaque": "Playfair Display" } },
30
+ "cenas": [
31
+ { "tipo": "gancho", "titulo": "Pão *quente* às 7h", "sub": "Padaria do Joel" },
32
+ { "tipo": "celular", "titulo": "Peça em *10 segundos*", "toques": ["Pão francês", "Café", "Confirmar"] },
33
+ { "tipo": "numero", "valor": "1.200", "rotulo": "pães assados por semana" },
34
+ { "tipo": "lista", "titulo": "Todo dia fresquinho", "itens": ["Pão francês", "Brioche", "Café coado"] },
35
+ { "tipo": "cta", "titulo": "Venha *hoje*", "botao": "Peça agora" }
36
+ ]
37
+ }
38
+ ```
39
+
40
+ **Você não precisa escolher o tipo da cena.** Mande `papel` (gancho · problema · processo · prova · virada · cta) e o
41
+ conteúdo (`titulo`, `itens`, `valor`, `rotulo`, `antes`, `depois`, `texto`, `autor`, `botao`, `fala`): o diretor escolhe a
42
+ primitiva pela metáfora do assunto, sorteia com uma semente por vídeo e foge das assinaturas dos últimos vídeos
43
+ (`~/.primocode/studio/assinaturas.json`). Se quiser mandar, mande: `tipo`, `transicoes`, `camera`, `tipografia`, `metafora`, `semente`.
44
+
45
+ - **38 primitivas** (`tipo`): gancho · cinetico · particulas · odometro · citacao · cta · carimbo · revela · heroi · explosao ·
46
+ icones · leque · parede_logos · celular · mergulho (a tela vira a próxima cena) · notificacoes · chat · interface (recriada
47
+ em camadas) · cursor · prompt · rolagem · numero · barras · linha · medidor · calendario · funil · relogio · lista ·
48
+ cards_pulam · laco · linha_tempo · camera_nulls · mapa · antes_depois · split · ondas · estrelas.
49
+ - **15 transições:** encolhe · empurra · mascara · zoom · flash · persiana · chicote · desfoque · cortina · pontos · giro ·
50
+ tremor · abre · dissolve · corte.
51
+ - **8 câmeras:** deriva · pulso (na batida) · mao · trilho · orbita · push · chicote · cinema.
52
+ - **8 tipografias:** editorial · poster · tecnica · manuscrita · pesada · serifa_fina · arredondada · geometrica.
53
+ - **Elementos reais:** `elementos: ["pão","relógio"]` (ícones 3D, GIF animado do Noto, `logos`, `site`); o diretor completa
54
+ até 3 ou mais. Tudo no vídeo tem a ver com o assunto.
55
+ - **Narração que manda:** `voz: {}` e uma `fala` por cena. O whisper mede cada palavra; nada aparece antes de ser dito;
56
+ legenda por palavra com a palavra-chave em destaque.
57
+ - **Som real:** efeitos CC0 por ação e assunto (cache em `~/.primocode/studio/sfx/`), cortes na batida da trilha, trilha 15 dB
58
+ abaixo da voz com ducking, final em −14 LUFS. Sem rede, cai nos sons leves.
59
+ - **Layout que não quebra:** o texto é medido e encaixado na área segura; depois do render o Node confere quadro vazio,
60
+ texto fora, sobreposição e contraste, e refaz até 2 vezes. A folha de contato fica em `ae/folha-de-contato.png`.
61
+
62
+ ## A régua
63
+
64
+ - **A palavra-chave vai entre `*asteriscos*`**: sai em itálico, na cor de destaque, com sublinhado.
65
+ Uma por título.
66
+ - **Ritmo:** de 1 a 2,5 s por cena (`dur`); o celular pode passar um pouco. Para 15 s, 6 cenas ou mais;
67
+ para 20 s, 8. Não repita o mesmo tipo duas vezes seguidas.
68
+ - **Texto curto:** título de 2 a 6 palavras; item de lista com até 4. O kit quebra a linha e encolhe o
69
+ corpo, mas frase longa vira parede.
70
+ - **Cor:** sem `marca`, a paleta sai do assunto (forno, rosé, grafite com lima, floresta, petróleo, coral);
71
+ nunca roxo-azul genérico. Com `marca`, o kit só garante o contraste.
72
+ - **Fonte:** qualquer uma do Google Fonts; o destaque funciona melhor numa serifada itálica.
73
+ - **Som:** whoosh na troca, pop no estalo, clique no toque, subida no número. Nada para escrever.
74
+ - **Voz e trilha são opcionais:** `voz` (o texto a narrar) e `trilha` ("upbeat lofi"): a trilha fica
75
+ 15 dB abaixo da voz. O vídeo todo sai a -14 LUFS.
76
+
77
+ Sem `cenas`, a máquina monta o roteiro padrão (gancho, problema, processo, prova, cta) a partir
78
+ do assunto: serve de rascunho, mas um roteiro escrito por você sempre ganha.
79
+
80
+ ## Se o JSX for inevitável
81
+
82
+ Um efeito que os 8 tipos não cobrem? Aí sim `estudio_ae`, leia a skill `after-effects` e
83
+ copie o MÉTODO dos scripts do Clube. O kit (`lib/estudio/kit-ae/base.jsx`) pode ser
84
+ concatenado antes do seu script: `novaComp`, `texto`, `forma`, `mola`, `curva`, `camera`, `troca`, `som`.
@@ -7,43 +7,35 @@ autor: PrimoCode
7
7
  Não existe template. Cada propriedade deste vídeo é uma decisão sua, e a
8
8
  primeira decisão é **não repetir o vídeo anterior**.
9
9
 
10
- ## O que denuncia vídeo feito por IA
11
-
12
- Não faça nada disto, em nenhum vídeo:
13
-
14
- - gradiente roxo-para-azul, e gradiente de duas
15
- cores que não têm relação com o assunto;
16
- - tudo centralizado, do primeiro ao último quadro;
17
- - uma fonte só, em todos os tamanhos;
18
- - texto que aparece com `opacidade 0→1` e mais nada, cena após cena;
19
- - ícone genérico flutuando ao lado de cada frase;
20
- - tempo igual em todas as cenas;
21
- - transição igual entre todas.
22
-
23
- ## O que separa motion bom de slide animado
24
-
25
- **A câmera existe.** Um zoom lento de 1.0 para 1.08 na cena inteira dá vida a
26
- um quadro parado.
27
-
28
- **Nada entra do nada.** Um elemento entra vindo de algum lugar (de baixo, de
29
- trás, de fora do quadro), com `spring` do Remotion ou easing de saída. Movimento
30
- linear é a assinatura da máquina: no mundo físico nada começa e para na mesma
31
- velocidade.
32
-
33
- **Profundidade.** Parallax (fundo devagar, frente rápido); `perspective` com
34
- `rotateX`/`translateZ`, ou three, para 3D de verdade.
35
-
36
- **Ritmo.** Informação simples 1,5–2,5 s; frase para ler 3–4 s; fecho 2 s.
37
-
38
- **Silêncio visual.** Um quadro com uma frase e mais nada vale mais que um com
39
- seis elementos. Espaço vazio é composição, não desperdício.
10
+ ## O que denuncia IA (nunca)
11
+
12
+ Gradiente roxo-azul ou sem relação com o assunto; tudo centralizado; uma fonte
13
+ só; texto que só faz `opacidade 0→1`; ícone genérico ao lado de cada frase;
14
+ tempo e transição iguais em todas as cenas; letra cortada ou embaralhada na troca.
15
+
16
+ ## A régua (medida nas referências que o Joel aprovou)
17
+
18
+ Números, não estilo pronto: o estilo continua seu.
19
+
20
+ - **Escala:** título de 1 a 3 palavras ocupando 55–85% da largura. Nada abaixo de 2% da altura.
21
+ - **Ritmo:** uma ideia por cena, 1 a 2 s (frase para ler 2–3 s). Com trilha, corte na batida.
22
+ - **Entrada:** máscara (sobe de baixo, recorte reto), palavra por palavra de desfocado
23
+ para nítido (0,15–0,3 s cada) ou esticando com borrão; `spring` ou ataque rápido e
24
+ freio forte. **Saída:** a frase sai inteira (desliza, recua, corte seco).
25
+ - **Cor:** fundo chapado, 1 tinta + 1 acento, contraste de 3:1 ou mais; até 5 cores.
26
+ - **Segunda voz:** o apoio é menor (~4% da altura), na segunda fonte, e chega 0,25–0,5 s depois.
27
+ - **À mão:** na palavra que é a tese, um círculo de caneta que se desenha (com ✓ ou seta).
28
+ - **Acento vivo e câmera:** um ponto ou forma acompanha o título e vira o elemento da
29
+ próxima cena (a transição é o elemento). Zoom lento de 1.0 a 1.08 e parallax dão vida.
30
+ - **Produto:** a interface é código (cartão, toggle, cursor que clica com resultado, número que conta).
31
+ - **Explicar:** uma cena ensina desenhando (curva, gráfico, contorno com âncoras).
32
+ - **Fecho:** a marca sozinha, centralizada, 1,5–2 s. Moldura de ferramenta (cantos,
33
+ timecode) só em reel de marca ou tecnologia: `moldura:"cantos"`.
40
34
 
41
35
  ## O caminho: você escreve cada cena
42
36
 
43
- Motion nesse nível não sai de molde: cada cena é UMA ideia desenhada para a
44
- fala — a interface do produto montando, o número que cresce, o objeto em 3D,
45
- o gráfico que mostra a ideia, a palavra gigante que se transforma. Quem
46
- desenha é você, em React.
37
+ Cada cena é UMA ideia desenhada para a fala (a interface montando, o número
38
+ que cresce, o objeto 3D, a palavra gigante). Quem desenha é você, em React.
47
39
 
48
40
  1. `estudio_projeto` (criar). A marca tem site? `estudio_site` mede cores e fontes.
49
41
  2. `estudio_midia acao:"estilos"`: monte a identidade pelo assunto em
@@ -62,23 +54,13 @@ desenha é você, em React.
62
54
  arquivo e mande o roteiro de novo.
63
55
  6. `estudio_render`. A voz, a trilha, os sons e o fundo são do Estúdio.
64
56
 
65
- **Variedade:** `estudio_midia acao:"efeitos"` antes das cenas; adapte e use
66
- como `componente`. Uma técnica nova por vídeo. Risco em 2+ linhas: traço por linha.
67
-
68
- Parte sem `componente` cai no gerativo (a tipografia anima sozinha): é a
69
- reserva, não o objetivo. Sem imagem é o padrão (foto só se pedirem).
70
-
71
- ## Cor e tipo
72
-
73
- A paleta sai do ASSUNTO, no `estiloVisual` (um nome do cardápio ou 5 cores
74
- suas). Se a marca existe, as cores medidas pelo `estudio_site` mandam — não
75
- as que você imagina que ela usa.
57
+ **Variedade:** `estudio_midia acao:"efeitos"`, adapte e use como `componente`; uma
58
+ técnica nova por vídeo. Parte sem `componente` cai no gerativo (a reserva). Foto só se pedirem.
76
59
 
77
- Duas fontes, no máximo: display para o que grita, neutra para o que se lê.
60
+ ## Cor, tipo e conferência
78
61
 
79
- ## Antes de renderizar
62
+ A paleta sai do ASSUNTO (`estiloVisual`); a marca existe? As cores medidas pelo
63
+ `estudio_site` mandam. Duas fontes: display para o que grita, neutra para o que se lê.
80
64
 
81
- - Os tempos das cenas batem com os tempos MEDIDOS da narração.
82
- - Nenhuma cena tem a mesma composição da anterior.
83
- - Leia o seu próprio plano e pergunte: em que este vídeo é diferente do
84
- último que eu fiz? Se não houver resposta, refaça antes de renderizar.
65
+ Antes do render: os tempos batem com a narração MEDIDA, nenhuma cena repete a
66
+ composição da anterior, e este vídeo é diferente do último. Senão, refaça.