primocode 10.15.2 → 10.17.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 (245) hide show
  1. package/LICENSES/edit-ia-pro.txt +32 -0
  2. package/LICENSES/fontes-OFL.txt +476 -0
  3. package/LICENSES/hyperframes-Apache-2.0.txt +205 -0
  4. package/LICENSES/permanent-marker-Apache-2.0.txt +204 -0
  5. package/LICENSES/selfie-multiclass-Apache-2.0.txt +227 -0
  6. package/LICENSES/three-MIT.txt +23 -0
  7. package/LICENSES/video-use-MIT.txt +24 -0
  8. package/LICENSES/woven-sfx-CC0.txt +16 -0
  9. package/LICENSES/yunet-MIT.txt +21 -0
  10. package/README.md +2 -2
  11. package/bin/primocode.js +74 -9
  12. package/editor/LICENSE.md +11 -0
  13. package/editor/README.md +321 -0
  14. package/editor/SKILL.md +307 -0
  15. package/editor/THIRD_PARTY_NOTICES.md +228 -0
  16. package/editor/assets/baixar.json +591 -0
  17. package/editor/assets/fonts/anton/OFL.txt +93 -0
  18. package/editor/assets/fonts/caveat/OFL.txt +93 -0
  19. package/editor/assets/fonts/figtree/OFL.txt +93 -0
  20. package/editor/assets/fonts/fonts.json +10 -0
  21. package/editor/assets/fonts/montserrat/OFL.txt +93 -0
  22. package/editor/assets/fonts/permanentmarker/LICENSE.txt +202 -0
  23. package/editor/assets/models/SELFIE_MULTICLASS_LICENSE.txt +227 -0
  24. package/editor/assets/models/YUNET_LICENSE.txt +21 -0
  25. package/editor/assets/sfx/licencas/bass_drop.txt +32 -0
  26. package/editor/assets/sfx/licencas/cash.txt +76 -0
  27. package/editor/assets/sfx/licencas/charge.txt +31 -0
  28. package/editor/assets/sfx/licencas/click.txt +46 -0
  29. package/editor/assets/sfx/licencas/coin.txt +50 -0
  30. package/editor/assets/sfx/licencas/count.txt +47 -0
  31. package/editor/assets/sfx/licencas/data.txt +31 -0
  32. package/editor/assets/sfx/licencas/error.txt +32 -0
  33. package/editor/assets/sfx/licencas/flash.txt +31 -0
  34. package/editor/assets/sfx/licencas/gears.txt +82 -0
  35. package/editor/assets/sfx/licencas/keyboard.txt +48 -0
  36. package/editor/assets/sfx/licencas/metal_hit.txt +62 -0
  37. package/editor/assets/sfx/licencas/metal_riser.txt +61 -0
  38. package/editor/assets/sfx/licencas/mouse_click.txt +50 -0
  39. package/editor/assets/sfx/licencas/notification.txt +54 -0
  40. package/editor/assets/sfx/licencas/pop.txt +38 -0
  41. package/editor/assets/sfx/licencas/rewind.txt +32 -0
  42. package/editor/assets/sfx/licencas/rise.txt +46 -0
  43. package/editor/assets/sfx/licencas/sinteticos.txt +21 -0
  44. package/editor/assets/sfx/licencas/snap.txt +50 -0
  45. package/editor/assets/sfx/licencas/success.txt +40 -0
  46. package/editor/assets/sfx/licencas/synth_hit.txt +32 -0
  47. package/editor/assets/sfx/licencas/tick.txt +14 -0
  48. package/editor/assets/sfx/licencas/whoosh.txt +47 -0
  49. package/editor/assets/sfx/licencas/wind.txt +31 -0
  50. package/editor/assets/sfx/sfx.json +832 -0
  51. package/editor/assets/sfx/sfx_sinteticos.json +317 -0
  52. package/editor/assets/sfx/sfx_woven.json +387 -0
  53. package/editor/assets/sfx/woven/LICENCA.md +16 -0
  54. package/editor/fichas/briefing-do-video.md +45 -0
  55. package/editor/fichas/conferencia-da-amostra.md +56 -0
  56. package/editor/fichas/matriz-de-ganchos.csv +3 -0
  57. package/editor/fichas/padrao.json +16 -0
  58. package/editor/fichas/planilha-de-cenas.csv +4 -0
  59. package/editor/fichas/planilha-de-versoes.csv +4 -0
  60. package/editor/fichas/plano-em-blocos.md +32 -0
  61. package/editor/fichas/registro-de-materiais.json +27 -0
  62. package/editor/helpers/assets_ocr/ocr_vision.swift +41 -0
  63. package/editor/helpers/bordas_precisas.py +272 -0
  64. package/editor/helpers/camera_viva.py +426 -0
  65. package/editor/helpers/captions.py +601 -0
  66. package/editor/helpers/common.py +308 -0
  67. package/editor/helpers/compose_final.py +3555 -0
  68. package/editor/helpers/conferir_corte.py +234 -0
  69. package/editor/helpers/conferir_dados.py +405 -0
  70. package/editor/helpers/contact_sheet.py +282 -0
  71. package/editor/helpers/corte_por_onda.py +433 -0
  72. package/editor/helpers/corte_seco.py +595 -0
  73. package/editor/helpers/denoise.py +971 -0
  74. package/editor/helpers/efeitos.py +408 -0
  75. package/editor/helpers/efeitos_gerar.py +159 -0
  76. package/editor/helpers/elevenlabs_api.py +442 -0
  77. package/editor/helpers/face_layout.py +570 -0
  78. package/editor/helpers/fetch_images.py +423 -0
  79. package/editor/helpers/ganho_por_trecho.py +214 -0
  80. package/editor/helpers/gen_image.py +312 -0
  81. package/editor/helpers/gen_music.py +316 -0
  82. package/editor/helpers/gen_sfx.py +148 -0
  83. package/editor/helpers/grade.py +307 -0
  84. package/editor/helpers/icloud.py +119 -0
  85. package/editor/helpers/make_sfx.py +940 -0
  86. package/editor/helpers/matte.py +1342 -0
  87. package/editor/helpers/medir_referencia.py +2232 -0
  88. package/editor/helpers/mixar_trilha.py +354 -0
  89. package/editor/helpers/montar_corte.py +295 -0
  90. package/editor/helpers/motion/__init__.py +13 -0
  91. package/editor/helpers/motion/engine.py +1915 -0
  92. package/editor/helpers/motion/registry.py +510 -0
  93. package/editor/helpers/motion/render.py +665 -0
  94. package/editor/helpers/motion/templates/barra_progresso.py +370 -0
  95. package/editor/helpers/motion/templates/carimbo.py +132 -0
  96. package/editor/helpers/motion/templates/checklist.py +271 -0
  97. package/editor/helpers/motion/templates/comentario_cta.py +380 -0
  98. package/editor/helpers/motion/templates/contador.py +222 -0
  99. package/editor/helpers/motion/templates/destaque.py +263 -0
  100. package/editor/helpers/motion/templates/etiqueta_preco.py +461 -0
  101. package/editor/helpers/motion/templates/grafico_barras.py +510 -0
  102. package/editor/helpers/motion/templates/grafico_linha.py +462 -0
  103. package/editor/helpers/motion/templates/notificacao.py +266 -0
  104. package/editor/helpers/motion/templates/palavra_impacto.py +410 -0
  105. package/editor/helpers/motion/templates/passos.py +321 -0
  106. package/editor/helpers/motion/templates/riscado.py +298 -0
  107. package/editor/helpers/motion/templates/selo_garantia.py +150 -0
  108. package/editor/helpers/motion_render.py +241 -0
  109. package/editor/helpers/motion_sugerir.py +961 -0
  110. package/editor/helpers/noise_check.py +134 -0
  111. package/editor/helpers/pack_transcripts.py +223 -0
  112. package/editor/helpers/palavras_na_onda.py +176 -0
  113. package/editor/helpers/plano_sfx.py +839 -0
  114. package/editor/helpers/portao.py +427 -0
  115. package/editor/helpers/preview_server.py +1177 -0
  116. package/editor/helpers/rastrear_rosto.py +298 -0
  117. package/editor/helpers/render_cut.py +1256 -0
  118. package/editor/helpers/respiros.py +89 -0
  119. package/editor/helpers/sincronizar_cameras.py +571 -0
  120. package/editor/helpers/speech_regions.py +423 -0
  121. package/editor/helpers/style_catalog.json +231 -0
  122. package/editor/helpers/style_samples.py +246 -0
  123. package/editor/helpers/tela_verde.py +2113 -0
  124. package/editor/helpers/text_render.py +2059 -0
  125. package/editor/helpers/texto_na_tela.py +366 -0
  126. package/editor/helpers/timeline_view.py +292 -0
  127. package/editor/helpers/tira_de_quadros.py +113 -0
  128. package/editor/helpers/transcribe.py +734 -0
  129. package/editor/helpers/transcribe_batch.py +129 -0
  130. package/editor/helpers/trilhas.py +1146 -0
  131. package/editor/helpers/trilhas_humores.json +66 -0
  132. package/editor/helpers/valores.py +187 -0
  133. package/editor/helpers/verify_cut.py +820 -0
  134. package/editor/helpers/voice_levels.py +233 -0
  135. package/editor/helpers/voz_check.py +386 -0
  136. package/editor/helpers/voz_limpa.py +81 -0
  137. package/editor/helpers/watch_preview.py +372 -0
  138. package/editor/modelo-projeto/LEIA.md +402 -0
  139. package/editor/modelo-projeto/assets/fontes/OFL-Caveat.txt +93 -0
  140. package/editor/modelo-projeto/assets/fontes/OFL-JetBrainsMono.txt +93 -0
  141. package/editor/modelo-projeto/assets/fontes/OFL-Montserrat.txt +93 -0
  142. package/editor/modelo-projeto/assets/fontes/larguras.json +1 -0
  143. package/editor/modelo-projeto/assets/three/BufferGeometryUtils.js +1438 -0
  144. package/editor/modelo-projeto/assets/three/GLTFLoader.js +4895 -0
  145. package/editor/modelo-projeto/assets/three/LICENSE +21 -0
  146. package/editor/modelo-projeto/assets/three/ORIGEM.txt +17 -0
  147. package/editor/modelo-projeto/assets/three/RoomEnvironment.js +185 -0
  148. package/editor/modelo-projeto/assets/three/three.core.min.js +6 -0
  149. package/editor/modelo-projeto/assets/three/three.module.min.js +6 -0
  150. package/editor/modelo-projeto/build.py +4828 -0
  151. package/editor/modelo-projeto/compositions/cenas/2d/k2d_antes_depois.html +199 -0
  152. package/editor/modelo-projeto/compositions/cenas/2d/k2d_arquivo.html +232 -0
  153. package/editor/modelo-projeto/compositions/cenas/2d/k2d_busca.html +315 -0
  154. package/editor/modelo-projeto/compositions/cenas/2d/k2d_comando.html +304 -0
  155. package/editor/modelo-projeto/compositions/cenas/2d/k2d_conversa.html +217 -0
  156. package/editor/modelo-projeto/compositions/cenas/2d/k2d_esquema.html +289 -0
  157. package/editor/modelo-projeto/compositions/cenas/2d/k2d_medidor.html +249 -0
  158. package/editor/modelo-projeto/compositions/cenas/2d/k2d_notas.html +233 -0
  159. package/editor/modelo-projeto/compositions/cenas/3d/k3d_caminho.html +197 -0
  160. package/editor/modelo-projeto/compositions/cenas/3d/k3d_explodida.html +152 -0
  161. package/editor/modelo-projeto/compositions/cenas/3d/k3d_tela.html +167 -0
  162. package/editor/modelo-projeto/compositions/cenas/3d/k3d_volume.html +124 -0
  163. package/editor/modelo-projeto/compositions/cenas/3d/motor-three.js +728 -0
  164. package/editor/modelo-projeto/compositions/cenas/LEIA.md +177 -0
  165. package/editor/modelo-projeto/ferramentas/medir_fontes.py +65 -0
  166. package/editor/modelo-projeto/ferramentas/pessoa_recortada.py +176 -0
  167. package/editor/modelo-projeto/ferramentas/rastrear_maos.py +189 -0
  168. package/editor/modelo-projeto/hyperframes.json +12 -0
  169. package/editor/modelo-projeto/package.json +11 -0
  170. package/editor/modelo-projeto/projeto.json +16 -0
  171. package/editor/preview/app.css +1009 -0
  172. package/editor/preview/app.js +2122 -0
  173. package/editor/preview/index.html +307 -0
  174. package/editor/pyproject.toml +23 -0
  175. package/editor/references/3d.md +236 -0
  176. package/editor/references/animacao-catalogo.md +672 -0
  177. package/editor/references/animacao.md +498 -0
  178. package/editor/references/comandos.md +92 -0
  179. package/editor/references/corte-seco-como-funciona.md +50 -0
  180. package/editor/references/corte-seco.md +88 -0
  181. package/editor/references/corte.md +290 -0
  182. package/editor/references/direcao-por-blocos.md +218 -0
  183. package/editor/references/enquadramento.md +654 -0
  184. package/editor/references/estilos-prontos.md +355 -0
  185. package/editor/references/estudio.md +100 -0
  186. package/editor/references/exemplo-eventos.json +67 -0
  187. package/editor/references/lettering.md +252 -0
  188. package/editor/references/modelos.md +494 -0
  189. package/editor/references/phase2.md +1007 -0
  190. package/editor/references/referencia-aplicar.md +203 -0
  191. package/editor/references/referencia-medir.md +375 -0
  192. package/editor/references/revisao.md +335 -0
  193. package/editor/references/som-e-trilha.md +146 -0
  194. package/editor/references/tabela-de-sons.md +130 -0
  195. package/editor/references/variacoes.md +234 -0
  196. package/editor/uv.lock +1141 -0
  197. package/lib/act.js +38 -8
  198. package/lib/app-chat.js +97 -0
  199. package/lib/catalogo.js +7 -1
  200. package/lib/chamada-torta.js +81 -0
  201. package/lib/editor-pro.js +786 -0
  202. package/lib/entrega.js +58 -0
  203. package/lib/estudio/conferencia-visual.js +76 -0
  204. package/lib/estudio/diretor.js +6 -1
  205. package/lib/estudio/exportar.js +3 -1
  206. package/lib/estudio/gosto/tela.html +1349 -0
  207. package/lib/estudio/gosto.js +305 -0
  208. package/lib/estudio/index.js +12 -1
  209. package/lib/estudio/kit-ae/base.jsx +119 -13
  210. package/lib/estudio/kit-ae/cenas.jsx +47 -15
  211. package/lib/estudio/kit-ae/guarda.jsx +274 -0
  212. package/lib/estudio/kit-ae/primitivas.jsx +180 -24
  213. package/lib/estudio/maquina-diretor.js +70 -12
  214. package/lib/estudio/maquina-foto.js +177 -0
  215. package/lib/estudio/maquina-guarda.js +207 -0
  216. package/lib/estudio/maquina-layout.js +22 -1
  217. package/lib/estudio/maquina.js +64 -11
  218. package/lib/estudio/referencias.js +1 -1
  219. package/lib/estudio/visao/visao.swift +97 -0
  220. package/lib/estudio/visao.js +60 -0
  221. package/lib/headless.js +15 -3
  222. package/lib/local/cerebro.json +285 -7
  223. package/lib/local/motor.js +5 -2
  224. package/lib/memoria-usuario.js +164 -0
  225. package/lib/nuvem.js +33 -2
  226. package/lib/passagem.js +50 -0
  227. package/lib/perigo.js +19 -11
  228. package/lib/protecao.js +134 -0
  229. package/lib/repeticao.js +1 -1
  230. package/lib/sandbox.js +57 -9
  231. package/lib/titulo-conversa.js +46 -0
  232. package/lib/tools.js +23 -4
  233. package/lib/ui.js +2 -2
  234. package/package.json +3 -2
  235. package/skills/editar-meu-video/SKILL.md +6 -2
  236. package/skills/editar-video/SKILL.md +113 -0
  237. package/studio/pessoa.py +52 -0
  238. package/voz/primo_voz/__main__.py +55 -40
  239. package/voz/primo_voz/app.py +500 -4
  240. package/voz/primo_voz/chat.html +1773 -0
  241. package/voz/primo_voz/conversa.py +0 -26
  242. package/voz/primo_voz/hud.html +8 -2
  243. package/voz/primo_voz/hud.py +129 -5
  244. package/voz/primo_voz/identidade.py +1 -1
  245. package/voz/primo_voz/painel_dados.py +134 -0
@@ -0,0 +1,218 @@
1
+ # Direção por blocos
2
+
3
+ O corte diz **o que a pessoa fala**. O plano em blocos diz **o que ela mostra enquanto fala**. Sem plano, a
4
+ edição vira uma pilha de enfeites. Com plano, cada coisa na tela tem motivo, hora para entrar e sair, e um fio
5
+ que leva o olho de uma cena para a próxima.
6
+
7
+ ## Entrada
8
+
9
+ - O corte aprovado e a transcrição dele (os tempos das palavras vêm da transcrição do `cut.mp4`;
10
+ `python3 build.py palavras` no projeto mostra tudo).
11
+ - A posição do rosto (`face_layout.json`).
12
+ - O briefing do vídeo (`fichas/briefing-do-video.md`): formato, destino, mensagem, oferta de verdade,
13
+ materiais, o que é proibido, até onde vai a autorização.
14
+ - Se houver: a referência medida e a tabela de transferência (`references/referencia-aplicar.md`), e a triagem dos
15
+ materiais (`references/revisao.md`, "Triagem dos materiais").
16
+
17
+ ## Como dividir
18
+
19
+ 1. Assista e ouça antes de desenhar. Leia a fala inteira com os tempos reais. Hesitação que carrega intenção fica.
20
+ Anote o gancho (o que prende nos primeiros 3 s), o miolo (as ideias) e o fechamento (o que a pessoa deve fazer).
21
+ 2. Corte em blocos por **ideia**, não por tempo. Um bloco termina quando a ideia muda: começa uma lista, entra um
22
+ número, aparece uma prova, muda de assunto, vem a chamada.
23
+ 3. Tamanho que funciona: em anúncio e Reels, uma troca visual a cada 2 a 4 s. Em aula e VSL, a cada 4 a 8 s.
24
+ Bloco longo demais ganha um punch-in (zoom rápido no rosto) na palavra de ênfase.
25
+ 4. Dê um nome curto a cada bloco (b01_gancho, b02_problema, b03_prova...). Esse nome vai ser o nome da cena.
26
+
27
+ ## Quatro respostas para cada bloco
28
+
29
+ Antes de escolher peça ou enquadramento, escreva para cada bloco:
30
+
31
+ 1. **A conclusão.** O que quem assiste deve entender ao fim dele, numa frase.
32
+ 2. **O olho.** O que ele segue ali: a pessoa, um objeto, uma ação, uma prova ou uma palavra.
33
+ 3. **A mudança.** A mudança visível que acompanha a ideia, quando ela pede uma. Muitas vezes não pede.
34
+ 4. **O que continua.** O fio que liga este bloco ao próximo: a voz, um objeto que segue na tela, o enquadramento,
35
+ uma posição na tela, uma cor.
36
+
37
+ Inserção sem função clara não entra: fica a imagem original. Mudar a tela toda hora não é objetivo.
38
+
39
+ ## Ponto de partida pela intenção da fala
40
+
41
+ | a fala é | comece por | por quê |
42
+ |---|---|---|
43
+ | opinião ou relato | a pessoa com folga, câmera firme | quem convence é ela |
44
+ | procedimento | o objeto ou a tela grande, uma ação por etapa | o detalhe precisa de área |
45
+ | comparação | os dois lados com o mesmo enquadramento e a mesma escala | senão a comparação engana |
46
+ | revelação de resultado | o resultado real como protagonista, parado o tempo de ser olhado | a prova é o resultado, não o texto sobre ele |
47
+ | ligação entre duas ideias | o mesmo elemento se transformando, ou uma transição com continuidade | o olho segue o fio |
48
+
49
+ Se a pessoa pediu outra direção e ela é possível, a dela vence.
50
+
51
+ ## Que peça para cada tipo de fala
52
+
53
+ Quando a pessoa não disse o que quer ver, a fala escolhe. Escreva a peça no `projeto.json` sem perguntar:
54
+
55
+ | a fala tem | a peça | onde está |
56
+ |---|---|---|
57
+ | um número ("três formatos", "R$ 97", "em 27 minutos") | `contador` | `references/animacao-catalogo.md` |
58
+ | uma lista ("sem custo, sem prazo, sem fila") | `lista_check` | idem |
59
+ | passos ("primeiro... depois... por fim") | `passo_a_passo` | idem |
60
+ | comparação ("antes era... agora...") | `antes e depois` (bloco `comparar` ou cena do kit 2D) | `references/enquadramento.md` |
61
+ | o pedido que a pessoa faz a uma IA ("edita esse vídeo pra mim", "corta os erros") | `k2d_comando`: a barra digita o pedido na fala | `references/animacao.md`, "Kit 2D" |
62
+ | um custo, risco, nível ou nota que sobe e desce ("custo mínimo", "risco alto") | `k2d_medidor`: a agulha vai para o valor dito | idem |
63
+ | uma busca e a chamada ("pesquisa isso", "digita isso", "comenta a palavra") | `k2d_busca`: a barra digita o termo, o resultado entra e o selo da chamada entra na palavra dita | idem |
64
+ | uma lista de pontos que vão sendo concluídos ("primeiro isso, depois aquilo, pronto") | `k2d_notas`: cada item é escrito na palavra e a bolinha vira check quando a pessoa conclui | idem |
65
+ | prova (tela, resultado, depoimento que existe nos arquivos) | bloco `prova` | `references/enquadramento.md` |
66
+ | uma frase que resume ("o vídeo inteiro foi feito por IA") | `lettering` com a palavra forte em destaque | `references/lettering.md` |
67
+ | a chamada para agir (só se a pessoa disse uma) | `cartao_final` | `modelo-projeto/LEIA.md` |
68
+ | só relato ou opinião, sem nada disso | câmera viva (`helpers/camera_viva.py`) e uma `lettering` nas 2 ou 3 frases que mais pesam | esta página |
69
+
70
+ Nada disso se inventa: número, prova e chamada só entram se existirem na fala ou nos arquivos.
71
+
72
+ ## Ritmo
73
+
74
+ - **Alguma coisa muda na tela a cada 2 a 4 s**: troca de enquadramento, aproximação no rosto, peça nova ou cena nova.
75
+ A câmera viva cuida do piso; o seu trabalho é pôr a peça certa nos trechos em que ela avisa "acima de 4 s".
76
+ - **A pessoa fica na tela.** O padrão é a pessoa em tela cheia e a peça pequena por cima, acima da cabeça: cena do
77
+ kit com `area: "acima_do_rosto"` (`k2d_medidor`, `k2d_comando`, `k2d_busca`, `k2d_notas`) e `"sobre_a_pessoa": true` no `cenas_proprias`,
78
+ para a câmera viva não aproximar naquele trecho (`references/animacao.md`, "Por cima da pessoa"), ou lettering e
79
+ rótulo do catálogo. Tela cheia só de cena, sem a pessoa, é para esquema grande, antes e depois ou um respiro,
80
+ e no máximo uma a cada 15 a 20 s. Moldura (a pessoa pequena embaixo) é para lista e passo a passo.
81
+ - **Uma ideia por vez.** Se duas peças disputam o olho, a mais fraca sai.
82
+ - **Fim parado** de 1 s ou mais (`segura_fim`) quando a última peça é um resultado que precisa ser lido.
83
+
84
+ ## O que cada bloco pode mostrar
85
+
86
+ | Quando a fala... | Mostre | Observação |
87
+ |---|---|---|
88
+ | Abre o vídeo (gancho) | Rosto grande + texto forte em cima (gancho ou lettering) | Nos 3 primeiros segundos já tem que ter algo escrito |
89
+ | Afirma algo que dá pra provar | **Prova em tela cheia**: a tela do app, o print, o produto, com um rótulo curto | A pessoa sai de cena ou vira moldura pequena |
90
+ | Explica e a pessoa continua importante | **Moldura**: pessoa num quadro menor, material do lado ou em cima | Sempre do mesmo lado no vídeo inteiro |
91
+ | Enumera ("primeiro, depois...", "três coisas") | Lista que vai marcando item a item | Cada item entra na palavra |
92
+ | Descreve etapas ou uma causa | O mesmo objeto mudando de estado, ou um diagrama que cresce | `references/animacao.md` |
93
+ | Fala um número | Número que conta até o valor falado | Só número que foi falado |
94
+ | Mostra "antes" e "depois" de um processo | Duas telas lado a lado ou uma virando a outra | Comparação justa, só com os dois lados reais (`references/revisao.md`) |
95
+ | Diz uma frase de impacto | Lettering (a frase escrita) e a legenda some | No máximo 2 ou 3 por minuto. `references/lettering.md` |
96
+ | Dá peso a uma palavra, lançamento, autoridade | Composição em planos: palavra em parte atrás do corpo | Só com o teste de recorte aprovado. `references/enquadramento.md` |
97
+ | Fala de um lugar, cenário ou "de qualquer lugar" | Tela verde: a pessoa recortada na frente de outra imagem | Pede fundo razoável e custa mais tempo |
98
+ | Cita um produto ou app | Logo ou tela do produto (se a pessoa tem direito de usar) | Pode ficar presa à mão se ela gesticula |
99
+ | Fecha com a chamada | Cartão final com a ação (comentar, tocar em Saiba Mais, chamar no WhatsApp) | O texto do cartão repete a palavra falada e fica legível antes de sair |
100
+ | Não pede nada | Só a pessoa, com um punch-in na ênfase | Descanso visual também é decisão |
101
+
102
+ ## Quem ocupa a tela
103
+
104
+ - A pessoa fica com a tela inteira quando o rosto, a segurança dela ou um gesto do corpo são a mensagem.
105
+ - A demonstração fica com a tela inteira quando o detalhe precisa de área.
106
+ - A tela se divide quando a pessoa e a explicação precisam ser vistas juntas.
107
+ - Nunca a pessoa num canto por padrão.
108
+ - Quando a tela, o produto ou o resultado é o protagonista, dê a ele área para o conteúdo se ler. Um painel miúdo
109
+ que ninguém lê não prova nada.
110
+ - Mostre um processo pelo que muda e pelo que se faz, não por uma fila de cartões.
111
+ - Para chamar o olho, use uma coisa por vez: tamanho, posição, luz ou movimento.
112
+ - Enquanto a ação principal acontece, o resto fica quieto, e o que já foi explicado fica mais discreto.
113
+
114
+ ## Transições em cadeia
115
+
116
+ Numa explicação, cada etapa nasce da anterior. O olho não precisa procurar a coisa nova, porque ela sai da que já
117
+ estava lá.
118
+
119
+ Exemplo (com gravação de tela real): o arquivo do vídeo aparece; ele se abre na linha do tempo; os trechos de
120
+ silêncio saem da linha do tempo um a um; a linha do tempo encolhe e vira o vídeo pronto tocando.
121
+
122
+ - Um "pronto!" escrito não vale como mostrar a coisa pronta. Se não existe gravação do resultado, não
123
+ invente: mostre o que existe e diga o que faltou.
124
+ - Na passagem da tela cheia para a moldura, o rosto não dá salto de posição. A moldura para de se mexer antes de
125
+ outra coisa importante começar.
126
+ - Se a transformação não acrescenta sentido, use corte seco. Transição decorativa não entra.
127
+
128
+ ## Resultado que dá para olhar
129
+
130
+ Quando a fala revela um resultado (o pedido chegando, o vídeo editado, o produto pronto), ele fica grande e
131
+ parado o tempo de ser inspecionado antes da próxima troca: pelo menos 1,5 s depois de completo, mais se tiver
132
+ texto para ler. Só resultado real, dos arquivos da pessoa. Nada de tela de sucesso, clique ou reação desenhados.
133
+
134
+ ## Continuidade
135
+
136
+ - Mesma fonte, mesmas cores e mesmo lado da moldura do começo ao fim.
137
+ - Objeto que muda de estado não muda de cara nem de lugar.
138
+ - Cada elemento sai antes do próximo bloco começar. Nada fica "esquecido" na tela.
139
+ - Ao sair de uma moldura ou de um zoom, tudo volta ao normal (sem ficar meio torto ou meio grande).
140
+ - Depois de cada inserção, a volta à pessoa tem o mesmo enquadramento de antes.
141
+ - Se a cena já escreve a fala, a legenda some naquele trecho.
142
+ - Nada aparece antes da palavra que chama (pode antecipar até 0,15 s).
143
+
144
+ ## Limpar sem esvaziar
145
+
146
+ Quando tem muita coisa disputando a tela (pessoa, legenda, ícones, cartões, títulos):
147
+
148
+ 1. Descubra quem carrega a ideia daquele instante e dê mais tamanho a ele.
149
+ 2. O que pertence à fala seguinte espera a vez.
150
+ 3. O que repete sai.
151
+ 4. O contexto útil fica, mais discreto.
152
+ 5. O espaço que sobrou não fica vazio: vai para o resultado, ou para mostrar de onde a coisa vem, o gesto e o que
153
+ acontece depois.
154
+
155
+ ## Auditoria de tempo das inserções
156
+
157
+ Quando imagens, cartões ou títulos chegam cedo ou tarde:
158
+
159
+ 1. Para cada elemento, ache a frase que o justifica, no tempo da fala real do corte (nunca do roteiro).
160
+ 2. A entrada prepara ou acompanha essa frase (até 0,15 s antes). Fica na tela o tempo de ser lido e sai quando
161
+ já cumpriu o papel.
162
+ 3. Dois elementos no mesmo momento: proponha uma ordem, com prioridade clara.
163
+ 4. Elemento sem frase que o justifique vai para a lista do que sai. Não invente motivo.
164
+ 5. Mostre uma tabela curta antes de mexer:
165
+
166
+ | elemento | frase ligada | entra | sai | o que fazer |
167
+ |---|---|---|---|---|
168
+ | rótulo "App" | "esse aplicativo aqui" (00:14,2) | 00:13,1 → 00:14,1 | 00:16,0 | atrasar a entrada |
169
+ | carimbo | nenhuma | 00:21,0 | 00:22,4 | tirar |
170
+
171
+ 6. Mexa só no tempo (`em` e `sai` no `projeto.json`). Design, ordem da fala e cortes aprovados ficam. Mostre os
172
+ trechos corrigidos no estúdio.
173
+
174
+ ## Saída
175
+
176
+ Grave `STORYBOARD.md` na pasta do projeto, com o modelo de `fichas/plano-em-blocos.md`:
177
+
178
+ 1. As regras do vídeo (formato, rosto, zona segura, fonte, cores, legenda, som, trilha).
179
+ 2. A tabela dos blocos: nome, tempo (início e fim no corte), fala, conclusão, o que o olho segue, o que aparece,
180
+ texto na tela, animação, som, o que continua, material.
181
+ 3. A lista do que falta (prints, fotos, logos): peça numa mensagem só e siga com o que não depende disso.
182
+
183
+ Vídeo longo ou com muitas cenas próprias: use também a planilha de cenas (`fichas/planilha-de-cenas.csv`), uma
184
+ linha por cena, com a situação de cada uma.
185
+
186
+ Para a pessoa, mostre uma versão curta: uma linha por bloco, em palavras do dia a dia ("0:00 a 0:03, você falando
187
+ e o título grande em cima"). Se ela pediu para aprovar o plano, espere. Se já autorizou fazer tudo, conte e siga.
188
+
189
+ ## A amostra
190
+
191
+ Escolha o trecho pela dificuldade, nunca só os primeiros segundos. Ele precisa ter a virada mais importante, um
192
+ raciocínio inteiro explicado e a volta à pessoa falando. Uns 8 s em edição simples, uns 15 s com motion. Diga
193
+ qual é e por quê em uma linha.
194
+
195
+ Monte no estúdio (`references/estudio.md`), sem render. Confira com `fichas/conferencia-da-amostra.md`, tocando.
196
+
197
+ - A pessoa pediu para aprovar antes: mostre e espere.
198
+ - Já autorizou fazer tudo: a amostra é teste interno. Confira pelos critérios e siga para o resto.
199
+ - Surgiu uma decisão que muda o resultado e não estava autorizada (a técnica não funciona, o formato teria de
200
+ mudar, o recorte não aguenta): pare e pergunte.
201
+ - Nunca trate silêncio como aprovação. Nunca chame a sua conferência de "aprovado pela pessoa".
202
+
203
+ ## Revisão tocando
204
+
205
+ 1. Toque o trecho com som, no tamanho do celular.
206
+ 2. Pare em cada momento em que a atenção passa de uma coisa para outra. Você sabe dizer o que o olho procura ali e
207
+ por que isso combina com o que está sendo dito?
208
+ 3. Um enfeite secundário roubando o olhar: primeiro mude a hora da entrada ou a intensidade dele. Só depois pense
209
+ em acrescentar outra coisa.
210
+ 4. Na demonstração alguma coisa está acontecendo, e o resultado fica parado tempo bastante para ser olhado.
211
+ 5. Rosto, conteúdo e legenda não brigam por área.
212
+ 6. Na chamada final, o texto aparece inteiro e fica o bastante para ser lido; a saída só começa depois.
213
+
214
+ ## Quando a edição está confusa
215
+
216
+ Se a pessoa disser que ficou poluído, confuso ou "parece slide", faça primeiro o diagnóstico só de leitura de
217
+ `references/revisao.md` (até cinco prioridades, cada uma com uma saída: deixar, mover, encolher, atrasar ou
218
+ remover). Proponha remover antes de acrescentar e mostre a versão enxuta de um bloco como amostra.