habulaj commited on
Commit
8fa000f
·
verified ·
1 Parent(s): 6e23533

Upload 2 files

Browse files
Files changed (2) hide show
  1. ASSET_CATALOG.json +568 -0
  2. TIMELINE_JSON_AI_GUIDE.txt +179 -0
ASSET_CATALOG.json ADDED
@@ -0,0 +1,568 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "stickers": [
3
+ {
4
+ "filename": "1.webp",
5
+ "name": "Cachorro Julgador Side-eye",
6
+ "description": "Filhote marrom com olhar desconfiado de lado. Estética de meme 'cursed'. Uso ideal: Reagir a algo absurdo, hipócrita ou quando um personagem está sendo julgado.",
7
+ "isAnimated": false
8
+ },
9
+ {
10
+ "filename": "2.webp",
11
+ "name": "Cachorro Triste com Pelúcia",
12
+ "description": "Filhote preto com olhos lacrimejantes. Vibe de carência ou tristeza. Uso ideal: Momentos de perda, pedidos de desculpas ou injustiças no roteiro.",
13
+ "isAnimated": false
14
+ },
15
+ {
16
+ "filename": "3.webp",
17
+ "name": "Cachorro Confuso (Head Empty)",
18
+ "description": "Filhote olhando fixamente com expressão de vazio mental. Vibe de 'não entendi nada'. Uso ideal: Quando algo não faz sentido ou ocorre uma burrice proposital.",
19
+ "isAnimated": false
20
+ },
21
+ {
22
+ "filename": "4.png",
23
+ "name": "Salsicha Encarador",
24
+ "description": "Filhote olhando para cima com olhos intensos. Vibe de choque ou suspeita. Uso ideal: Flagras, tensão cômica ou quando alguém é pego mentindo.",
25
+ "isAnimated": false
26
+ },
27
+ {
28
+ "filename": "5.webp",
29
+ "name": "Gatinho Debochado",
30
+ "description": "Gatinho com expressão travessa e irônica (língua para fora), reforçada por um emoji. Estética de meme provocativo. Uso ideal: Momentos de deboche, ironia sobre falha alheia, ou quando o personagem do vídeo faz algo 'esperto/safado'.",
31
+ "isAnimated": false
32
+ },
33
+ {
34
+ "filename": "6.webp",
35
+ "name": "Cachorrinho Inocente Pede Por Favor",
36
+ "description": "Filhote caramelo com olhar doce e pidão. Vibe fofa (wholesome). Uso ideal: Pedidos de favor, momentos de amizade ou para suavizar assuntos pesados.",
37
+ "isAnimated": false
38
+ },
39
+ {
40
+ "filename": "7.webp",
41
+ "name": "Cachorro Sóbrio Pensativo",
42
+ "description": "Filhote encarando a câmera com expressão neutra. Vibe de reflexão ou espera. Uso ideal: Pensamentos profundos, tédio ou espera paciente.",
43
+ "isAnimated": false
44
+ },
45
+ {
46
+ "filename": "8.png",
47
+ "name": "Garoto Emburrado de Braços Cruzados",
48
+ "description": "Criança com expressão de birra. Vibe de frustração mimada. Uso ideal: Reagir a ordens indesejadas ou quando algo não sai como planejado.",
49
+ "isAnimated": false
50
+ },
51
+ {
52
+ "filename": "9.png",
53
+ "name": "Garoto Cético 'É Sério Isso?'",
54
+ "description": "Criança olhando com total descrédito. Vibe de 'não acredito nisso'. Uso ideal: Confrontar mentiras óbvias ou planos absurdos.",
55
+ "isAnimated": false
56
+ },
57
+ {
58
+ "filename": "10.png",
59
+ "name": "Garoto Joia e Sorriso Forçado",
60
+ "description": "Criança sorrindo com dois polegares para cima. Uso ideal: Aprovação sarcástica ou fingir que está tudo bem no meio do caos.",
61
+ "isAnimated": false
62
+ },
63
+ {
64
+ "filename": "11.png",
65
+ "name": "Garoto Indo Embora (Missão Cumprida)",
66
+ "description": "Criança descendo escadas de costas. Vibe de saída estratégica. Uso ideal: Encerrar uma cena, desistir de uma briga ou finalizar tarefa.",
67
+ "isAnimated": false
68
+ },
69
+ {
70
+ "filename": "12.webp",
71
+ "name": "Garota Encarando com Braços Cruzados",
72
+ "description": "Olhar fixo de cobrança/autoridade. Uso ideal: Quando alguém exige explicação, vigilância ou entrada de uma figura de autoridade.",
73
+ "isAnimated": false
74
+ },
75
+ {
76
+ "filename": "13.webp",
77
+ "name": "Macaco de Terno e Corrente (Drip)",
78
+ "description": "Macaco luxuoso com relógio e corrente. Vibe de ostentação e confiança. Uso ideal: Falar de lucros, sucesso financeiro ou 'estilo'.",
79
+ "isAnimated": false
80
+ },
81
+ {
82
+ "filename": "14.webp",
83
+ "name": "Garoto Side-eye de Desconfiança",
84
+ "description": "Olhar de lado muito expressivo. Estética de julgamento silencioso. Uso ideal: Suspeitas imediatas ou quando algo é 'cringe'.",
85
+ "isAnimated": false
86
+ },
87
+ {
88
+ "filename": "15.webp",
89
+ "name": "Cachorro Chorando (Lágrimas Azuis)",
90
+ "description": "Filhote com lágrimas azuis editadas. Estética de desespero meme. Uso ideal: Sofrimento exagerado ou tristeza profunda cômica.",
91
+ "isAnimated": false
92
+ },
93
+ {
94
+ "filename": "16.webp",
95
+ "name": "Cachorro Protegendo Gatinho",
96
+ "description": "Filhote caramelo em pé sobre um gatinho minúsculo. Vibe de proteção ou amizade inesperada. Uso ideal: Quando alguém protege algo menor ou momentos de lealdade cômica.",
97
+ "isAnimated": false
98
+ },
99
+ {
100
+ "filename": "17.webp",
101
+ "name": "Cachorro Dormindo no Telefone",
102
+ "description": "Filhote dormindo com celular de flip no ouvido. Vibe de 'não disponível'. Uso ideal: Ignorar chamadas, cansaço ou desinteresse.",
103
+ "isAnimated": false
104
+ },
105
+ {
106
+ "filename": "18.webp",
107
+ "name": "Cachorro Encarador Soul-stare",
108
+ "description": "Close-up de filhote com olhos pretos imensos. Vibe de encarar a alma. Uso ideal: Silêncio constrangedor ou pedidos mudos.",
109
+ "isAnimated": false
110
+ },
111
+ {
112
+ "filename": "19.webp",
113
+ "name": "Cachorro Chocado (Animado)",
114
+ "description": "Filhote olhando pros lados com olhos arregalados. Vibe de choque total. Uso ideal: Reagir a notícias bombásticas ou sustos.",
115
+ "isAnimated": true
116
+ },
117
+ {
118
+ "filename": "20.webp",
119
+ "name": "Cachorro Estático Sem Reação (Animado)",
120
+ "description": "Filhote fixo com olhos arregalados. Vibe de 'sem palavras'. Uso ideal: Quando algo absurdo acontece e não há o que dizer.",
121
+ "isAnimated": true
122
+ },
123
+ {
124
+ "filename": "21.webp",
125
+ "name": "Cachorro Tremendo Assustado (Animado)",
126
+ "description": "Filhote de cachorro assustado e tremendo. Uso ideal: Reações de medo, assustado",
127
+ "isAnimated": true
128
+ },
129
+ {
130
+ "filename": "22.webp",
131
+ "name": "Macaco Educado Esperando (Animado)",
132
+ "description": "Macaquinho com mãos juntas e olhar sem jeito. Vibe de 'por favor'. Uso ideal: Pedir algo timidamente ou espera awkward.",
133
+ "isAnimated": true
134
+ },
135
+ {
136
+ "filename": "23.webp",
137
+ "name": "Garoto Coçando a Cabeça Confuso (Animado)",
138
+ "description": "Criança coçando a cabeça com cara de dúvida. Vibe de confusão. Uso ideal: Erros de lógica ou ignorância cômica.",
139
+ "isAnimated": true
140
+ },
141
+ {
142
+ "filename": "24.webp",
143
+ "name": "M&M Preso no Pote (Animado)",
144
+ "description": "M&M amarelo dentro de um pote de vidro bravo. Vibe de isolamento/indignado. Uso ideal: Quando alguém é 'preso' ou excluído de algo, ou uma situação em que alguém está bravo.",
145
+ "isAnimated": true
146
+ },
147
+ {
148
+ "filename": "25.webp",
149
+ "name": "Macaco Paciente (Animado)",
150
+ "description": "Macaco olhando fixo segurando xicará de café. Vibe de espera infinita ou 'e aí?'. Uso ideal: Tédio em filas ou aguardar reações.",
151
+ "isAnimated": true
152
+ },
153
+ {
154
+ "filename": "26.webp",
155
+ "name": "Cachorrinhos Celebrando",
156
+ "description": "Dois filhotes abraçados com pirulito e chapéu colorido. Vibe de festa ou amizade. Uso ideal: Aniversários, celebrações ou momentos felizes.",
157
+ "isAnimated": false
158
+ },
159
+ {
160
+ "filename": "27.webp",
161
+ "name": "Patrick Blessed",
162
+ "description": "Patrick Estrela com mãos juntas e expressão de paz. Texto 'blessed'. Vibe de gratidão ou zen. Uso ideal: Momentos de alívio ou gratidão.",
163
+ "isAnimated": false
164
+ },
165
+ {
166
+ "filename": "28.webp",
167
+ "name": "Gatinho Tadinho",
168
+ "description": "Gatinho com olhar triste em um círculo vermelho. Texto 'tadinho'. Vibe de pena ou dó. Uso ideal: Quando algo ruim acontece com alguém.",
169
+ "isAnimated": false
170
+ },
171
+ {
172
+ "filename": "29.webp",
173
+ "name": "Cachorro Nerd de Óculos",
174
+ "description": "Filhote de Golden Retriever usando óculos pretos grandes. Vibe de inteligência ou estudo. Uso ideal: Falar de explicações ou nerds.",
175
+ "isAnimated": false
176
+ },
177
+ {
178
+ "filename": "30.webp",
179
+ "name": "Salsicha Curioso (Animado)",
180
+ "description": "Cachorro salsicha olhando para baixo com curiosidade. Vibe de investigação. Uso ideal: Quando o personagem procura algo ou está curioso.",
181
+ "isAnimated": true
182
+ },
183
+ {
184
+ "filename": "31.webp",
185
+ "name": "Cachorro Sendo Carregado (Animado)",
186
+ "description": "Filhote sendo segurado pelas patas, com olhar de 'ajuda'. Vibe de desconforto. Uso ideal: Situações de pressão ou falta de controle.",
187
+ "isAnimated": true
188
+ },
189
+ {
190
+ "filename": "32.webp",
191
+ "name": "Falando com a Parede (Animado)",
192
+ "description": "Homem gesticulando em frente a uma parede de tijolos. Vibe de esforço inútil. Uso ideal: Quando ninguém ouve ou explicações óbvias.",
193
+ "isAnimated": true
194
+ },
195
+ {
196
+ "filename": "33.webp",
197
+ "name": "Meme Jovem Inocente",
198
+ "description": "Texto sobre mundo de 'saliência'. Vibe de falsa inocência ou crítica irônica. Uso ideal: Ironia sobre comportamento malicioso.",
199
+ "isAnimated": false
200
+ },
201
+ {
202
+ "filename": "34.webp",
203
+ "name": "Meme Preguiça de Discutir",
204
+ "description": "Texto 'não concordo mas to com preguiça'. Vibe de desapego ou cansaço. Uso ideal: Desistir de discussões ou tédio com polêmicas.",
205
+ "isAnimated": false
206
+ },
207
+ {
208
+ "filename": "35.webp",
209
+ "name": "Senhor Pudim (Animado)",
210
+ "description": "Close-up de senhor com expressão de paciência ou julgamento calmo. Uso ideal: Reagir a besteiras com olhar de 'sério isso?'.",
211
+ "isAnimated": true
212
+ },
213
+ {
214
+ "filename": "36.webp",
215
+ "name": "Shannon Sharpe Explicando (Animado)",
216
+ "description": "Homem de terno gesticulando com confiança. Vibe de 'fatos' ou explicação certeira. Uso ideal: Quando o vídeo traz uma verdade irrefutável ou argumento forte.",
217
+ "isAnimated": true
218
+ },
219
+ {
220
+ "filename": "37.webp",
221
+ "name": "Rei Superior",
222
+ "description": "Personagem de desenho vestido de rei com texto 'superior'. Vibe de arrogância cômica. Uso ideal: Momentos de vitória ou quando alguém se sente melhor que os outros.",
223
+ "isAnimated": false
224
+ },
225
+ {
226
+ "filename": "38.webp",
227
+ "name": "Mickey Solitário",
228
+ "description": "Mickey Mouse caminhando triste entre estrelas. Texto 'Solitário passando'. Vibe de rejeição ou solidão. Uso ideal: Quando alguém é ignorado ou excluído.",
229
+ "isAnimated": false
230
+ },
231
+ {
232
+ "filename": "39.webp",
233
+ "name": "Hamster de Chinelo (Animado)",
234
+ "description": "Hamster parado usando chinelinhos verdes. Vibe de espera educada ou 'estou pronto'. Uso ideal: Aguardar algo acontecer ou prontidão cômica.",
235
+ "isAnimated": true
236
+ },
237
+ {
238
+ "filename": "40.webp",
239
+ "name": "Cachorro Chocado (Animado)",
240
+ "description": "Filhote com boca suja de leite olhando para cima surpreso. Vibe de choque infantil. Uso ideal: Reagir a algo inesperado ou flagras de 'bagunça'.",
241
+ "isAnimated": true
242
+ },
243
+ {
244
+ "filename": "41.webp",
245
+ "name": "Hamster Joia Feliz",
246
+ "description": "Hamster sorridente dando dois polegares para cima. Vibe de aprovação total e alegria. Uso ideal: Sucesso, boas notícias ou incentivo motivacional.",
247
+ "isAnimated": false
248
+ },
249
+ {
250
+ "filename": "42.webp",
251
+ "name": "Macaco Joia Sóbrio",
252
+ "description": "Macaco dando um joinha com expressão neutra. Vibe de 'aceitável' ou 'tá bom, vai'. Uso ideal: Concordância simples ou aprovação sem muito entusiasmo.",
253
+ "isAnimated": false
254
+ },
255
+ {
256
+ "filename": "43.webp",
257
+ "name": "Gato no Home Office",
258
+ "description": "Gato sentado em cadeira de escritório em frente ao PC. Vibe de trabalho ou gamer. Uso ideal: Falar de rotina de trabalho, esforço ou tecnologia.",
259
+ "isAnimated": false
260
+ },
261
+ {
262
+ "filename": "44.webp",
263
+ "name": "Emoji Curioso no PC",
264
+ "description": "Emoji amarelo encarando monitor antigo com atenção. Vibe de concentração ou choque digital. Uso ideal: Pesquisas, leitura de notícias ou 'stalkeando'.",
265
+ "isAnimated": false
266
+ },
267
+ {
268
+ "filename": "45.webp",
269
+ "name": "Cachorro Walter Side-eye",
270
+ "description": "Cachorro sentado no sofá olhando de lado com desdém. Vibe de assustado ou 'é sério?'. Uso ideal: Reagir a comportamentos estranhos ou sem sentido.",
271
+ "isAnimated": false
272
+ },
273
+ {
274
+ "filename": "46.webp",
275
+ "name": "Gato Punho Cerrado",
276
+ "description": "Gato sentado com a pata fechada em soco. Vibe de 'estou por um fio' ou desafio. Uso ideal: Quando alguém está prestes a perder a paciência ou quer briga.",
277
+ "isAnimated": false
278
+ },
279
+ {
280
+ "filename": "47.webp",
281
+ "name": "Gato Chocado OMG",
282
+ "description": "Gato com expressão de choque total e boca aberta. Uso ideal: Reagir a revelações absurdas, preços altos ou sustos.",
283
+ "isAnimated": false
284
+ },
285
+ {
286
+ "filename": "48.webp",
287
+ "name": "Golden Retriever Furioso",
288
+ "description": "Cachorro rosnando com expressão de raiva intensa. Uso ideal: Momentos de briga, indignação ou quando o personagem está 'pistola'.",
289
+ "isAnimated": false
290
+ },
291
+ {
292
+ "filename": "49.webp",
293
+ "name": "Jerry Irônico",
294
+ "description": "Jerry (Tom & Jerry) com sorriso convencido. Vibe de 'eu avisei'. Uso ideal: Quando um personagem prova que estava certo de forma presunçosa.",
295
+ "isAnimated": false
296
+ },
297
+ {
298
+ "filename": "50.webp",
299
+ "name": "Esqueleto Relaxando",
300
+ "description": "Esqueleto com mãos atrás da cabeça. Vibe de 'esperando há séculos'. Uso ideal: Piadas sobre demora, tédio mortal ou tranquilidade eterna.",
301
+ "isAnimated": false
302
+ },
303
+ {
304
+ "filename": "51.webp",
305
+ "name": "Cachorro Sorriso Sinistro",
306
+ "description": "Cachorro com sorriso humano de canto de boca. Vibe de plano maligno ou satisfação perversa. Uso ideal: Quando alguém faz algo errado e gosta.",
307
+ "isAnimated": false
308
+ },
309
+ {
310
+ "filename": "52.webp",
311
+ "name": "Garoto 'Quem, Eu?' Dramático",
312
+ "description": "Garoto com mão no peito e olhar ofendido. Vibe de 'que audácia'. Uso ideal: Reagir a acusações ou momentos de drama exagerado no roteiro.",
313
+ "isAnimated": false
314
+ },
315
+ {
316
+ "filename": "53.webp",
317
+ "name": "Pingu Puto",
318
+ "description": "Pinguim com braços cruzados e cara de bravo. Vibe de birra ou recusa. Uso ideal: Quando alguém se nega a fazer algo ou está de mal.",
319
+ "isAnimated": false
320
+ },
321
+ {
322
+ "filename": "54.webp",
323
+ "name": "Gato Macaco Confuso",
324
+ "description": "Criatura peluda branca com braços abertos. Vibe de 'por que?'. Uso ideal: Momentos de crise existencial ou erro bizarro sem explicação.",
325
+ "isAnimated": false
326
+ },
327
+ {
328
+ "filename": "55.webp",
329
+ "name": "Gato Suspeito com Emoji",
330
+ "description": "Gato desconfiado com emoji pensativo em cima. Vibe de investigação. Uso ideal: Analisar mentiras ou situações estranhas.",
331
+ "isAnimated": false
332
+ },
333
+ {
334
+ "filename": "56.webp",
335
+ "name": "Kermit Armado",
336
+ "description": "Caco, o sapo, segurando uma arma. Vibe de 'chega de paciência'. Uso ideal: Ameaças cômicas ou quando a situação foge do controle.",
337
+ "isAnimated": false
338
+ },
339
+ {
340
+ "filename": "57.webp",
341
+ "name": "Lisa Simpson Exausta no PC",
342
+ "description": "Lisa Simpson com olheiras estudando no computador. Vibe de burnout. Uso ideal: Falar de madrugadas de trabalho, estudos ou cansaço digital.",
343
+ "isAnimated": false
344
+ },
345
+ {
346
+ "filename": "58.webp",
347
+ "name": "Cachorro Pro Gamer",
348
+ "description": "Golden Retriever com headset em setup gamer luxuoso. Vibe de foco e habilidade. Uso ideal: Momentos de jogo, tecnologia ou 'focar na missão'.",
349
+ "isAnimated": false
350
+ },
351
+ {
352
+ "filename": "59.webp",
353
+ "name": "Jacaré de Braço Cruzado",
354
+ "description": "Jacaré pequeno em pose de autoridade. Vibe de 'estou esperando'. Uso ideal: Cobranças, espera irônica ou superioridade cômica.",
355
+ "isAnimated": false
356
+ },
357
+ {
358
+ "filename": "60.webp",
359
+ "name": "Po Chocado (Animado)",
360
+ "description": "Panda Kung Fu Panda com expressão de 'UAU'. Vibe de admiração. Uso ideal: Momentos épicos ou descobertas incríveis.",
361
+ "isAnimated": true
362
+ },
363
+ {
364
+ "filename": "61.webp",
365
+ "name": "Cachorro Maromba Sério",
366
+ "description": "Schnauzer em pé com pose imponente. Vibe de 'assunto sério' ou segurança. Uso ideal: Quando alguém entra para botar ordem na cena.",
367
+ "isAnimated": false
368
+ },
369
+ {
370
+ "filename": "62.webp",
371
+ "name": "Gato Explosão",
372
+ "description": "Gato andando calmamente com explosão ao fundo. Vibe de 'badass'. Uso ideal: Finalizar uma discussão com sucesso ou sair de uma situação caótica.",
373
+ "isAnimated": false
374
+ },
375
+ {
376
+ "filename": "63.webp",
377
+ "name": "Gato Desespero Close-up",
378
+ "description": "Rosto de gato com olhos dilatados de pavor. Vibe de 'o que eu fiz?'. Uso ideal: Arrependimento imediato ou terror diante de algo terrível.",
379
+ "isAnimated": false
380
+ },
381
+ {
382
+ "filename": "64.webp",
383
+ "name": "Gato Sendo Apertado",
384
+ "description": "Gato branco sendo segurado pelo pescoço (cômico). Vibe de pressão. Uso ideal: Quando alguém está sendo cobrado ou se sente sufocado.",
385
+ "isAnimated": false
386
+ },
387
+ {
388
+ "filename": "65.webp",
389
+ "name": "Cachorro no Cobertor Solitário",
390
+ "description": "Cachorro enrolado em manta azul com olhar triste. Vibe de frio ou carência. Uso ideal: Momentos de solidão, tristeza ou dias chuvosos.",
391
+ "isAnimated": false
392
+ },
393
+ {
394
+ "filename": "66.webp",
395
+ "name": "Homem Aliviado",
396
+ "description": "Homem com mãos na cabeça sorrindo de olhos fechados. Vibe de 'missão cumprida' ou alívio. Uso ideal: Sucesso após esforço ou final do vídeo.",
397
+ "isAnimated": false
398
+ },
399
+ {
400
+ "filename": "67.webp",
401
+ "name": "Gato Nerd 'Actually'",
402
+ "description": "Gato de óculos com dedo levantado. Vibe de correção ou explicação chata. Uso ideal: Quando o vídeo corrige um erro ou traz um fato curioso.",
403
+ "isAnimated": false
404
+ },
405
+ {
406
+ "filename": "70.webp",
407
+ "name": "Homem Suando de Tristeza",
408
+ "description": "Close-up dramático de homem chorando e suando. Vibe de pânico ou remorso pesado. Uso ideal: Momentos de grande perda ou medo no roteiro.",
409
+ "isAnimated": false
410
+ },
411
+ {
412
+ "filename": "76.webp",
413
+ "name": "Marge Simpson Sobrecarregada",
414
+ "description": "Marge com a mão na testa diante de muita comida. Vibe de estresse materno ou cansaço. Uso ideal: Muitas tarefas ou excessos.",
415
+ "isAnimated": false
416
+ },
417
+ {
418
+ "filename": "77.webp",
419
+ "name": "Buzz Lightyear Chocado",
420
+ "description": "Buzz com expressão de descoberta terrível. Vibe de 'minha vida foi uma mentira'. Uso ideal: Grandes revelações ou erros de estratégia.",
421
+ "isAnimated": false
422
+ },
423
+ {
424
+ "filename": "83.webp",
425
+ "name": "Bart Fingindo Cegueira",
426
+ "description": "Bart com óculos escuros e bengala. Vibe de 'não vi nada'. Uso ideal: Quando alguém ignora um erro óbvio ou foge da responsabilidade.",
427
+ "isAnimated": false
428
+ },
429
+ {
430
+ "filename": "91.webp",
431
+ "name": "Hacker do VTech",
432
+ "description": "Garoto com óculos rosa usando laptop de brinquedo (Matrix ao fundo). Vibe de 'hackeei o sistema'. Uso ideal: Ironia sobre tecnologia básica ou 'geninhos'.",
433
+ "isAnimated": false
434
+ },
435
+ {
436
+ "filename": "92.webp",
437
+ "name": "Lula Molusco Chorão",
438
+ "description": "Lula Molusco com olhos gigantes cheios de lágrimas. Vibe de choro dramático/manipulador. Uso ideal: Quando alguém tenta ganhar na pena ou tristeza exagerada.",
439
+ "isAnimated": false
440
+ },
441
+ {
442
+ "filename": "93.webp",
443
+ "name": "Cachorro de Durag Zen",
444
+ "description": "Cachorro marrom de durag preta com olhos fechados. Vibe de estilo e paz interior. Uso ideal: Momentos de relaxamento, estar no 'vibe' ou sucesso.",
445
+ "isAnimated": false
446
+ },
447
+ {
448
+ "filename": "95.webp",
449
+ "name": "Guaxinim 'Actually' de Óculos",
450
+ "description": "Guaxinim de óculos com dedo levantado. Vibe de correção de fatos ou nerdice. Uso ideal: Corrigir informações ou trazer curiosidades teóricas.",
451
+ "isAnimated": false
452
+ },
453
+ {
454
+ "filename": "103.webp",
455
+ "name": "Garoto com Copo Cético",
456
+ "description": "Menino segurando copo com expressão de 'que bosta é essa?'. Uso ideal: Reagir a ideias ruins, bizarrices ou situações constrangedoras.",
457
+ "isAnimated": false
458
+ },
459
+ {
460
+ "filename": "107.webp",
461
+ "name": "Bibble Gritando",
462
+ "description": "Criatura azul (Bibble) gritando desesperada com braços abertos. Vibe de crise existencial ou indignação. Uso ideal: Indignação extrema ou surto.",
463
+ "isAnimated": false
464
+ },
465
+ {
466
+ "filename": "117.webp",
467
+ "name": "Shut Up and Take My Money (Cartão)",
468
+ "description": "Mão estendendo cartão de crédito. Vibe de consumo imediato. Uso ideal: Quando o vídeo fala de compras, investimentos ou pagar o que deve.",
469
+ "isAnimated": false
470
+ },
471
+ {
472
+ "filename": "120.webp",
473
+ "name": "Multi-tasking Extremo",
474
+ "description": "Homem operando quatro laptops simultaneamente. Vibe de produtividade máxima ou 'viciado em trabalho'. Uso ideal: Falar de grind ou rotina insana.",
475
+ "isAnimated": false
476
+ },
477
+ {
478
+ "filename": "121.webp",
479
+ "name": "Cachorro Estudioso",
480
+ "description": "Cachorro de óculos vermelhos lendo livro grande. Vibe de exame meticuloso ou intelectual. Uso ideal: Pesquisas, leitura de contratos ou estudos.",
481
+ "isAnimated": false
482
+ },
483
+ {
484
+ "filename": "125.webp",
485
+ "name": "Jerry Apontando para Trás",
486
+ "description": "Jerry sorridente apontando o polegar para trás. Vibe de 'olha ali aquele otário'. Uso ideal: Indicar alguém ou destacar um erro alheio.",
487
+ "isAnimated": false
488
+ },
489
+ {
490
+ "filename": "140.webp",
491
+ "name": "Macaco 'Ai Meu Deus'",
492
+ "description": "Macaquinho cobrindo a boca com as mãos. Vibe de choque ou vergonha. Uso ideal: Reagir a fofocas, erros bobos ou momentos 'oops'.",
493
+ "isAnimated": false
494
+ },
495
+ {
496
+ "filename": "148.webp",
497
+ "name": "Jerry na Miséria",
498
+ "description": "Jerry dentro de um balde olhando com esperança. Vibe de carência ou pobreza. Uso ideal: Piadas sobre falta de dinheiro ou pedir migalhas.",
499
+ "isAnimated": false
500
+ },
501
+ {
502
+ "filename": "149.webp",
503
+ "name": "Gamer Full Pistola",
504
+ "description": "Homem com fone azul gritando com agressividade. Vibe de fúria descontrolada. Uso ideal: Discussões pesadas, raiva em jogos ou indignação ruidosa.",
505
+ "isAnimated": false
506
+ },
507
+ {
508
+ "filename": "153.webp",
509
+ "name": "The Rock Suspeito",
510
+ "description": "Dwayne Johnson encarando a câmera com olhar inquisitivo. Vibe de 'estou de olho'. Uso ideal: Analisar mentiras ou comportamentos suspeitos.",
511
+ "isAnimated": false
512
+ },
513
+ {
514
+ "filename": "167.webp",
515
+ "name": "Chris Rock Indignado",
516
+ "description": "Rosto de choque e 'não acredito' de Chris Rock. Uso ideal: Reagir a preconceitos, burrices ou declarações sem noção.",
517
+ "isAnimated": false
518
+ },
519
+ {
520
+ "filename": "174.webp",
521
+ "name": "Stewie Julgador",
522
+ "description": "Stewie (Family Guy) com olhar de desconfiança. Vibe de plano maligno ou 'te peguei'. Uso ideal: Quando alguém desconfia de uma cilada no roteiro.",
523
+ "isAnimated": false
524
+ },
525
+ {
526
+ "filename": "183.webp",
527
+ "name": "Willem Dafoe Olhando pro Céu",
528
+ "description": "Meme de assombro diante do inevitável. Vibe de desastre chegando ou profecia. Uso ideal: Momentos de clímax, azar chegando ou medo do futuro.",
529
+ "isAnimated": false
530
+ },
531
+ {
532
+ "filename": "187.webp",
533
+ "name": "Ibai Explicando",
534
+ "description": "Streamer Ibai gesticulando intensamente. Vibe de palestra ou 'deixa que eu te ensino'. Uso ideal: Explicações complexas ou aulas improvisadas.",
535
+ "isAnimated": false
536
+ },
537
+ {
538
+ "filename": "192.webp",
539
+ "name": "IShowSpeed Grito",
540
+ "description": "Streamer Speed com rosto distorcido gritando. Vibe de fúria cômica ou hype descontrolado. Uso ideal: Momentos de explosão emocional ou surto ruidoso.",
541
+ "isAnimated": false
542
+ },
543
+ {
544
+ "filename": "217.webp",
545
+ "name": "Cachorro Bizarro em Pé",
546
+ "description": "Cachorrinho branco em pé com estética levemente bugada. Vibe de estranheza da internet. Uso ideal: Momentos aleatórios ou 'o que está acontecendo?'.",
547
+ "isAnimated": false
548
+ },
549
+ {
550
+ "filename": "226.webp",
551
+ "name": "Emoji Desanimado no PC",
552
+ "description": "Emoji amarelo operando computador com olhar de cansaço extremo. Vibe de tédio ou rotina exaustiva. Uso ideal: Falar de cansaço digital ou tédio no trabalho.",
553
+ "isAnimated": false
554
+ },
555
+ {
556
+ "filename": "228.webp",
557
+ "name": "The Rock Motivacional",
558
+ "description": "Dwayne Johnson sentado conversando de forma séria. Vibe de 'papo reto' ou lição de moral. Uso ideal: Quando o vídeo traz um conselho ou explicação séria.",
559
+ "isAnimated": false
560
+ },
561
+ {
562
+ "filename": "236.webp",
563
+ "name": "Falando com a Parede v2",
564
+ "description": "Homem gesticulando para parede de tijolos. Vibe de teimosia ou esforço inútil. Uso ideal: Reiterar que ninguém está ouvindo ou situação sem saída.",
565
+ "isAnimated": false
566
+ }
567
+ ]
568
+ }
TIMELINE_JSON_AI_GUIDE.txt ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ =============================================================================
2
+ GUIA MESTRE PARA GERAÇÃO DE TIMELINES (MOTION VIDEO EDITOR) - INSTRUÇÕES PARA IA
3
+ =============================================================================
4
+
5
+ Você é um gerador de script e timeline em JSON para uma engine de edição de vídeos (no estilo Shorts/Reels geopolítico e documental).
6
+ Seu objetivo é produzir UM arquivo JSON estrito e formatado, contendo todos os elementos visuais, auditivos, mapas, textos e animações para um vídeo curto impecável. A engine roda na resolução vertical (1080x1920) e faz todo o trabalho de renderização e automação a partir do seu JSON.
7
+
8
+ -----------------------------------------------------------------------------
9
+ A. ESTRUTURA GLOBAL E REGRAS DE OURO
10
+ -----------------------------------------------------------------------------
11
+ O JSON deve obedecer OBRIGATORIAMENTE à seguinte raiz:
12
+ {
13
+ "totalDuration": 15, // (Number) Duração total do vídeo em segundos
14
+ "elements": [] // (Array) Lista de objetos de Elemento visual
15
+ }
16
+ REGRA CRÍTICA GERAL: NUNCA inclua a chave "audioEffects" na raiz do seu JSON. Utilize apenas os efeitos sonoros integrados nas animações (audioEffectType) de cada elemento.
17
+
18
+ REGRAS DE OURO DA ENGINE:
19
+ 2. Automagica de Mapa (Geo-Resolução): VOCÊ NÃO PRECISA FORNECER LATITUDE E LONGITUDE SE TIVER O NOME.
20
+ REGRAS DE PRECISÃO (CRÍTICO): Para evitar ambiguidades, use sufixos descritivos quando o nome pode se referir a múltiplos tipos de lugares.
21
+ - Exemplo 1 (Estado vs Cidade): Se quer o ESTADO de Nova York, use "New York (state)". Se quer a CIDADE, use "New York City".
22
+ - Exemplo 2 (País vs Estado): Se quer a GEÓRGIA (país), use "Georgia". Se quer o estado americano, use "Georgia (USA)".
23
+ - Exemplo 3 (Cidades homônimas): Use sempre o contexto: "Paris, France" ou "Paris, Texas".
24
+ - A Engine usa essas dicas para não errar o centro do mapa. Nunca chute coordenadas ("lat"/ "lon").
25
+ 3. Fallback de Imagens: Caso queira pedir uma imagem/vídeo sem ter o link exato em mãos, basta omitir ou deixar "src": "". A engine possui uma inteligência de fallback que vai preencher o buraco com paisagens lindas do Unsplash automaticamente. É ótimo usar quando você só quiser uma cena ilustrativa.
26
+
27
+ -----------------------------------------------------------------------------
28
+ B. PROPRIEDADES UNIVERSAIS DE QUALQUER ELEMENTO
29
+ -----------------------------------------------------------------------------
30
+ Essas propriedades podem estar em *qualquer* bloco do array "elements":
31
+
32
+ - "id": String unívoca.
33
+ - "type": Tipo do elemento ("frame", "text", "image", "video", "map", "newspaper", "chart", "family_tree", "timeline", "image_reveal", "info", "entity").
34
+ - "name": Nome legível do elemento (ex: "Cena de Fundo", "Título Principal").
35
+ - "startTime": (Em segundos) Quando o elemento entra na tela.
36
+ - "duration": (Em segundos) Tempo de permanência do elemento.
37
+ - "x", "y": Posição (0 a 1080 / 0 a 1920).
38
+ - "width", "height": Dimensões.
39
+ - "opacity": 0.0 a 1.0 (Visibilidade base).
40
+ - "fill": Hexadecimal (Cor principal).
41
+ - "rotation": Ângulo base da rotação (ex: 0, 15, -5).
42
+ - "radius", "radiusTL", "radiusTR", "radiusBL", "radiusBR": Arredondamento dos cantos.
43
+ - "strokeEnabled" (Boolean), "strokeColor" (Hex), "strokeWeight" (Pixels).
44
+ - "shadowEnabled" (Boolean), "shadowColor" (Hex), "shadowBlur" (Int), "shadowOpacity" (0-1).
45
+ - "animations": Array [] de animações (veja a Secção D).
46
+ - "notes": (String, Opcional) Instruções para o usuário humano caso o elemento exija configuração manual (ex: "Inserir foto do Petrov", "Marcar o destaque do jornal manualmente"). Use sempre que a IA não puder realizar a tarefa visual completa.
47
+
48
+ -----------------------------------------------------------------------------
49
+ C. TIPOS ESPECÍFICOS DE ELEMENTOS (ELEMENT.TYPE)
50
+ -----------------------------------------------------------------------------
51
+
52
+ 1. "frame" (Fundo ou Cena Base)
53
+ - "backgroundStyle": "solid" (Lisio) ou "military" (Textura tática granular incrível)
54
+ - "backgroundOverlayColor": Para escurecer (ex: "#000000").
55
+ - "backgroundOverlayOpacity": 0 a 1 (Para legibilidade de textos por cima).
56
+
57
+ 2. "text" (Letreiros, Títulos e Legendas)
58
+ - "text": (String) A mensagem.
59
+ - "fontSize", "fontFamily" ("Inter", "Roboto"), "fontWeight" (ex: "900", "bold").
60
+ - "textAlign": "left" | "center" | "right" | "justify".
61
+ - "textBackgroundEnabled": Booleano. Liga uma caixa de fundo (tipo legenda de Tiktok).
62
+ - "textBackgroundColor" e "textBackgroundOpacity".
63
+ - "textBackgroundPadding": Espaço interno.
64
+ - "words": Para legendas de fala perfeitas. Array: `[ { "text": "Eu", "start": 0, "end": 0.5 }, { "text": "Sou", "start": 0.6, "end": 1.0 } ]`.
65
+ - "subtitleAnimStyle": Se usar `words`, pode ser "highlight" ou "reveal".
66
+ - "textHighlightColor": Cor do brilho na palavra sendo falada.
67
+
68
+ 3. "image" e "video"
69
+ - "src": URL direta, ou vazio "" se quiser usar a auto-imagem da Inteligência da Engine.
70
+ - "imageFit": "cover", "contain", "stretch".
71
+ - "viewStyle": Efeitos de mock-up super premium! Aceita "macos" (cria uma janela de Mac com os 3 botões em cima), "windows", "futuristic" (cyberpunk UI).
72
+ - "videoVolume": Se for vídeo, controle o áudio de fundo de 0 a 1.
73
+
74
+ 4. "sticker" (Figurinhas 3D / Memes / Emojis)
75
+ - "type": "sticker"
76
+ - OBRIGATÓRIO: NUNCA USE "src" PARA STICKER. Use APENAS a chave "filename" com o nome exato. Exemplo: "filename": "29.webp".
77
+ - "fill": "transparent". Em opacidade, deixe 1.0.
78
+ - Use com animações de entrada marcantes, como "slide-in" ou "shorts-pop-in" (bouncing) e audio "gota" ou "soco__gaming".
79
+
80
+ 4. "newspaper" (Artigo de Jornal Investigativo)
81
+ - "src": Link pra foto do jornal (ou vazio para default).
82
+ - "newspaperStyle": "marker" (Caneta marca-texto na tela) ou "zoom".
83
+ - "highlights": Array especificando a área do grifo (0 a 100 de %, ex: `[{"x": 10, "y": 20, "width": 80, "height": 10}]`).
84
+
85
+ 5. "chart" (Gráfico Automático)
86
+ - "chartType": "line", "bar", ou "wave".
87
+ - "chartTitle", "chartSubtitle", "chartColor" (A cor da barra/linha).
88
+ - "chartDataConfig": Exige JSON das categorias e séries (ex: `{"categories": ["2010", "2020"], "series": [{"name": "PIB", "color": "#0f0", "data": [10, 50]}]}`).
89
+
90
+ -----------------------------------------------------------------------------
91
+ D. O PODEROSO SISTEMA GERADOR DE MAPAS GEOPOLÍTICOS ("map")
92
+ -----------------------------------------------------------------------------
93
+ Vídeos de documentário exigem mapas 3D e ações progressivas ao longo do tempo da timeline. O elemento "map" suporta tudo isso pelo array `mapActions`.
94
+
95
+ Elemento Base Mapa ("type": "map"):
96
+ - "mapStyle": "solid" (limpo, liso) ou "satellite" (realista, topográfico).
97
+ - "mapColor": Cor base global dos blocos de terra da terra (só aplicável em "solid").
98
+ - "mapPerspective": true | false (Deita o mapa na visão 3D isométrica). VALOR PADRÃO: false (Sempre comece em 2D).
99
+ - "mapActions": Array [] de eventos geográficos progressivos independentes!
100
+ - REGRA DE OURO (NOVO): Utilize APENAS UM "select-territory" por elemento. Se precisar destacar múltiplos países ao mesmo tempo (ex: EUA e China), a engine agrupará automaticamente se estiverem na mesma ação. Nunca use dois "select-territory" no mesmo array "mapActions".
101
+
102
+ Eventos dentro de "mapActions" (Objetos):
103
+ Aviso de Ouro: TODOS os actions possuem "startTime" (relativo ao começo do elemento), "duration", e transições como "animationIn" ("fade", "blink", "invasion") e "animationOut".
104
+
105
+ Tipo I: `select-territory` / `highlight-region`
106
+ (Uso: Selecionar e colorir blocos na face da Terra. O país aparecerá do chão ou subirá de opacity)
107
+ - "type": "select-territory"
108
+ - "countryName": Nome do país alvo (Ex: "United States").
109
+ - "regions": (ARRAY OBRIGATÓRIO PARA MULTI-PAÍSES) Lista de objetos de países se houver mais de um: `[{"name": "USA"}, {"name": "China"}]`.
110
+ - "layoutMode": "side-by-side" (VALOR PADRÃO - Coloca os países um do lado do outro para comparação direta) ou "real" (Visual normal no mapa múndi).
111
+ - "autoFlags": true (Isso projeta a BANDEIRA OFICIAL do país revestindo a terra).
112
+ - "strokeWeight" e "strokeColor": Borda brilhante.
113
+ * SE QUISER estados pequenos ou províncias, use type "highlight-region" e `highlightRegions`: `[{"name": "California"}, {"name": "Texas"}]`.
114
+
115
+ Tipo II: `label` (Marcação textual sem precisar pesquisar GPS)
116
+ (Uso: Jogar um texto cravado na terra num lugar exato).
117
+ - "type": "label"
118
+ - "labelTitle": (Ex: "New York City" ou "New York (state)". Seja específico!).
119
+ - "animationIn": "fade"
120
+ (Nota: Se você omitir o "center" (gps), a engine processa local!).
121
+
122
+ Tipo III: `nuke` (Explosão e Guerra)
123
+ (Uso: Renderizar aros cataclísmicos atômicos repetitivos e invasão).
124
+ - "type": "nuke"
125
+ - "regionName": Ex "Hiroshima" ou "Chernobyl".
126
+ - "nukeYieldKt": Força atômica que reflete visualmente no raio visual na engine gráfica (Ex: 15, 50000).
127
+
128
+ Tipo IV: `route` (Caminhos de Guerra ou Tráfego)
129
+ (Uso: Linhas militares desenhando-se na tela).
130
+ - "type": "route"
131
+ - "routeOrigin": `{"name": "Tokyo"}`.
132
+ - "routeDestination": `{"name": "Kyoto"}`.
133
+ - "routeColor": Hex, "routeWidth": 5, "routeDashed": true.
134
+ - "routeAnimDuration": Quanto tempo a cobrinha vermelha viaja entre a origem e destino (Ex: 2).
135
+
136
+ Tipo V: `camera` (Animação Tática de Visão, Drones)
137
+ (Uso: Dar zoom dramático para fechar ou rotacionar em torno de área ativa).
138
+ - "type": "camera"
139
+ - "zoomStart", "zoomEnd": Níveis (Normal é 1.0, Máximo realista é 4 a 6).
140
+ - "rotationStart", "rotationEnd": Angulos graus (Ex: 0 pra 25 faz uma varredura legal).
141
+ - "cameraZoomEasing": "natural".
142
+
143
+ -----------------------------------------------------------------------------
144
+ E. ANIMAÇÕES LOCAIS DE CADA ELEMENTO (ARRAY "animations")
145
+ -----------------------------------------------------------------------------
146
+ Não importa o tipo de elemento, você pode acionar reações colocando as regras no array de "animations" do Elemento pai correspondente.
147
+
148
+ Propriedades Padrões do Bloco Anim:
149
+ - "type": Escolha ("fade-in", "slide-in", "grow-in", "shrink-in", "spin-in", "blur-in", "reveal-in", "skew-in", "text-typewriter-in" [Efeito máquina de escrever em "text"], "text-pop-in" [Geração tiktok para legendas faladas], "shorts-pop-in" [pulo TikTok]). Pode usar as variações "-out" (ex: "fade-out").
150
+ - "duration": Velocidade do efeito (segundos).
151
+ - "delay": Tempo a partir do startTime do objeto pai para ativar o efeito (ex: O Pai começa no segundo 0, a animação delay 2 começará no 2).
152
+ - "direction": (Para slides, define a flecha: "left", "right", "up", "down").
153
+ - "audioEffectEnabled": true (Sincroniza um mini efeito sonoro no ápice do frame!).
154
+ - "audioEffectType": Especifica o nome do som.
155
+ >> MAPEAMENTO OBRIGATÓRIO (GUIAS DE IMPACTO): Você deve casar o contexto da animação com o som ideal.
156
+ * "slide-in", "reveal-in", "skew-in": Use "vento_orig", "vento" ou "gota" (traz sensação de movimento e entrada).
157
+ * "text-typewriter-in": Use "digito_orig" (simula teclado) ou "click".
158
+ * "text-pop-in", "shorts-pop-in", "grow-in", "shrink-in": Use "soco__gaming" (impacto pop forte), "bip_longo", "click" ou "notifica__o_do_iPhone".
159
+ * "fade-in", "blur-in": Use "aparecimento_orig" (som suave) ou deixe sem `audioEffectType`.
160
+ * "spin-in": Use "vento_orig".
161
+ Efeitos exatos disponíveis na biblioteca p/ animações: "click", "vento_orig", "aparecimento_orig", "digito_orig", "bip_longo", "soco__gaming", "gota", "vento", "notifica__o_do_iPhone".
162
+
163
+ -----------------------------------------------------------------------------
164
+ F. TRILHA SONORA E EFEITOS SONOROS (REMOVIDO / NÃO UTILIZAR)
165
+ -----------------------------------------------------------------------------
166
+ ATENÇÃO: A biblioteca global de audio ("audioEffects") foi desativada para a IA.
167
+ Utilize APENAS os sons nas animações locais de cada elemento (Secção E).
168
+
169
+ -----------------------------------------------------------------------------
170
+ G. CHECKLIST SUPER IMPORTANTE DA IA - ANTES DE FINALIZAR
171
+ -----------------------------------------------------------------------------
172
+ 1. O array `mapActions` de um mapa contém tempos lógicos (se o elemento começa em 0, e a action tem startTime 2, ela ativará no seg 2 do vídeo)?
173
+ 2. A IA não colocou GPS pra mapas? Perfeito! Deixe "regionName" e "countryName"! E NÃO os misture: "countryName" em select-territory e "regionName" ou "labelTitle" sem "center" se quiser que funcione a magia de buscar sozinhos!
174
+ 3. O texto foi centralizado no layout (1080x1920)? Use `width: 900, x: 90` para dar margens agradáveis pros olhos.
175
+ 4. "opacity" precisa sempre existir (mesmo valor 1) e fill cor (ex: "#FFFFFF").
176
+ 5. Um "totalDuration" do Json principal foi especificado? Ele deve englobar as timelines mais longas.
177
+ =============================================================================
178
+ FIM DA DOCUMENTAÇÃO. PROSSIGA GERANDO OS SCRIPTS QUANDO SOLICITADO PELO USER.
179
+ =============================================================================