primocode 8.22.1 → 8.26.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 (41) hide show
  1. package/app/app.css +230 -0
  2. package/app/app.js +273 -0
  3. package/app/icone.svg +6 -0
  4. package/app/index.html +68 -0
  5. package/bin/primocode.js +52 -0
  6. package/lib/app.js +334 -0
  7. package/lib/catalogo.js +2 -0
  8. package/lib/config.js +53 -2
  9. package/lib/studio.js +125 -11
  10. package/lib/tools.js +35 -1
  11. package/package.json +3 -2
  12. package/studio/__pycache__/voz.cpython-311.pyc +0 -0
  13. package/studio/arquivos/corte-estatico-corte-a5bab.json +150 -0
  14. package/studio/arquivos/corte-founders-ai-teste-do-player-2de1d.json +65 -0
  15. package/studio/arquivos/corte-legado-teste.json +1 -0
  16. package/studio/arquivos/corte-legado2.json +1 -0
  17. package/studio/arquivos/corte-minimo-2a829.json +24 -0
  18. package/studio/arquivos/corte-ok-00a3b.json +18 -0
  19. package/studio/arquivos/corte-ok-1270e.json +22 -0
  20. package/studio/arquivos/corte-sweep-corte-cfb29.json +147 -0
  21. package/studio/arquivos/corte-visual-completo-78f50.json +35 -0
  22. package/studio/arquivos/grade-sweep-grade-0c2f1.json +119 -0
  23. package/studio/arquivos/prisma-estatico-prisma-d8740.json +182 -0
  24. package/studio/arquivos/prisma-sweep-prisma-4c58c.json +166 -0
  25. package/studio/arquivos/prisma-y-b0785.json +52 -0
  26. package/studio/arquivos/prosa-sweep-prosa-f29cf.json +80 -0
  27. package/studio/arquivos/tela-estatico-tela-c7daf.json +90 -0
  28. package/studio/arquivos/tela-sweep-tela-0d2bf.json +84 -0
  29. package/studio/arquivos/traco-estatico-traco-25872.json +113 -0
  30. package/studio/arquivos/traco-sweep-traco-0bcf4.json +102 -0
  31. package/studio/ferramentas/corte.md +159 -12
  32. package/studio/server.py +264 -8
  33. package/studio/web/analise.html +52 -0
  34. package/studio/web/js/analise.js +202 -0
  35. package/studio/web/js/exportar.js +88 -1
  36. package/studio/web/js/player.js +172 -46
  37. package/studio/web/js/render.js +99 -1
  38. package/studio/web/js/video.js +434 -0
  39. package/studio/web/render.css +27 -0
  40. package/studio/web/tool.html +1 -0
  41. package/studio/web/view.html +2 -0
@@ -0,0 +1,182 @@
1
+ {
2
+ "id": "prisma-estatico-prisma-d8740",
3
+ "ferramenta": "prisma",
4
+ "titulo": "estatico-prisma",
5
+ "doc": {
6
+ "tema": "meia-noite",
7
+ "cenas": [
8
+ {
9
+ "layout": "capa",
10
+ "fundo": "malha",
11
+ "elementos": [
12
+ {
13
+ "tipo": "texto",
14
+ "papel": "chapeu",
15
+ "texto": "Panorama 2026",
16
+ "anim": "nenhuma"
17
+ },
18
+ {
19
+ "tipo": "texto",
20
+ "papel": "titulo",
21
+ "texto": "Energia solar no Brasil",
22
+ "anim": "nenhuma"
23
+ },
24
+ {
25
+ "tipo": "texto",
26
+ "papel": "apoio",
27
+ "texto": "De nicho a segunda maior fonte da matriz em uma década.",
28
+ "anim": "nenhuma"
29
+ }
30
+ ]
31
+ },
32
+ {
33
+ "layout": "secao",
34
+ "fundo": "brilho",
35
+ "elementos": [
36
+ {
37
+ "tipo": "texto",
38
+ "papel": "chapeu",
39
+ "texto": "Parte 01",
40
+ "anim": "nenhuma"
41
+ },
42
+ {
43
+ "tipo": "texto",
44
+ "papel": "titulo",
45
+ "texto": "O que aconteceu",
46
+ "anim": "nenhuma"
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "layout": "titulo",
52
+ "notas": "abrir pelo custo, é o argumento mais forte",
53
+ "elementos": [
54
+ {
55
+ "tipo": "texto",
56
+ "papel": "titulo",
57
+ "texto": "Três forças empurraram a curva",
58
+ "anim": "nenhuma"
59
+ },
60
+ {
61
+ "tipo": "lista",
62
+ "revelar": true,
63
+ "itens": [
64
+ "Queda de 82% no custo do painel desde 2012",
65
+ "Marco legal da geração distribuída em 2022",
66
+ "Leilões que destravaram a geração centralizada"
67
+ ],
68
+ "anim": "nenhuma"
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "layout": "numeros",
74
+ "elementos": [
75
+ {
76
+ "tipo": "texto",
77
+ "papel": "titulo",
78
+ "texto": "Onde estamos",
79
+ "anim": "nenhuma"
80
+ },
81
+ {
82
+ "tipo": "numeros",
83
+ "itens": [
84
+ "55 GW | capacidade instalada",
85
+ "2ª | maior fonte da matriz",
86
+ "R$ 200 bi | investidos desde 2012"
87
+ ],
88
+ "anim": "nenhuma"
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "layout": "titulo",
94
+ "elementos": [
95
+ {
96
+ "tipo": "texto",
97
+ "papel": "titulo",
98
+ "texto": "O gargalo mudou de lugar",
99
+ "anim": "nenhuma"
100
+ },
101
+ {
102
+ "tipo": "tabela",
103
+ "linhas": [
104
+ [
105
+ "Etapa",
106
+ "Antes",
107
+ "Agora"
108
+ ],
109
+ [
110
+ "Custo do módulo",
111
+ "proibitivo",
112
+ "resolvido"
113
+ ],
114
+ [
115
+ "Licenciamento",
116
+ "simples",
117
+ "lento"
118
+ ],
119
+ [
120
+ "Transmissão",
121
+ "ociosa",
122
+ "saturada"
123
+ ]
124
+ ],
125
+ "anim": "nenhuma"
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ "layout": "citacao",
131
+ "tema": "papel",
132
+ "elementos": [
133
+ {
134
+ "tipo": "citacao",
135
+ "texto": "O sol já é barato. O caro agora é o fio que leva a energia até quem consome.",
136
+ "autor": "Relatório do setor, 2026",
137
+ "anim": "nenhuma"
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "layout": "tres-colunas",
143
+ "elementos": [
144
+ {
145
+ "tipo": "texto",
146
+ "papel": "titulo",
147
+ "texto": "O que fazer em 2026",
148
+ "anim": "nenhuma"
149
+ },
150
+ {
151
+ "tipo": "cartoes",
152
+ "itens": [
153
+ "Armazenamento | Baterias para segurar o excedente do meio-dia",
154
+ "Transmissão | Novos leilões de linha no Nordeste",
155
+ "Previsibilidade | Regras estáveis para o investidor longo"
156
+ ],
157
+ "anim": "nenhuma"
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "layout": "capa",
163
+ "fundo": "malha",
164
+ "elementos": [
165
+ {
166
+ "tipo": "texto",
167
+ "papel": "titulo",
168
+ "texto": "Obrigado",
169
+ "anim": "nenhuma"
170
+ },
171
+ {
172
+ "tipo": "texto",
173
+ "papel": "apoio",
174
+ "texto": "perguntas?",
175
+ "anim": "nenhuma"
176
+ }
177
+ ]
178
+ }
179
+ ]
180
+ },
181
+ "atualizado": "2026-08-16T15:08:28+00:00"
182
+ }
@@ -0,0 +1,166 @@
1
+ {
2
+ "id": "prisma-sweep-prisma-4c58c",
3
+ "ferramenta": "prisma",
4
+ "titulo": "sweep-prisma",
5
+ "doc": {
6
+ "tema": "meia-noite",
7
+ "cenas": [
8
+ {
9
+ "layout": "capa",
10
+ "fundo": "malha",
11
+ "elementos": [
12
+ {
13
+ "tipo": "texto",
14
+ "papel": "chapeu",
15
+ "texto": "Panorama 2026"
16
+ },
17
+ {
18
+ "tipo": "texto",
19
+ "papel": "titulo",
20
+ "texto": "Energia solar no Brasil"
21
+ },
22
+ {
23
+ "tipo": "texto",
24
+ "papel": "apoio",
25
+ "texto": "De nicho a segunda maior fonte da matriz em uma década."
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ "layout": "secao",
31
+ "fundo": "brilho",
32
+ "elementos": [
33
+ {
34
+ "tipo": "texto",
35
+ "papel": "chapeu",
36
+ "texto": "Parte 01"
37
+ },
38
+ {
39
+ "tipo": "texto",
40
+ "papel": "titulo",
41
+ "texto": "O que aconteceu"
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ "layout": "titulo",
47
+ "notas": "abrir pelo custo, é o argumento mais forte",
48
+ "elementos": [
49
+ {
50
+ "tipo": "texto",
51
+ "papel": "titulo",
52
+ "texto": "Três forças empurraram a curva"
53
+ },
54
+ {
55
+ "tipo": "lista",
56
+ "revelar": true,
57
+ "itens": [
58
+ "Queda de 82% no custo do painel desde 2012",
59
+ "Marco legal da geração distribuída em 2022",
60
+ "Leilões que destravaram a geração centralizada"
61
+ ]
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ "layout": "numeros",
67
+ "elementos": [
68
+ {
69
+ "tipo": "texto",
70
+ "papel": "titulo",
71
+ "texto": "Onde estamos"
72
+ },
73
+ {
74
+ "tipo": "numeros",
75
+ "itens": [
76
+ "55 GW | capacidade instalada",
77
+ "2ª | maior fonte da matriz",
78
+ "R$ 200 bi | investidos desde 2012"
79
+ ]
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "layout": "titulo",
85
+ "elementos": [
86
+ {
87
+ "tipo": "texto",
88
+ "papel": "titulo",
89
+ "texto": "O gargalo mudou de lugar"
90
+ },
91
+ {
92
+ "tipo": "tabela",
93
+ "linhas": [
94
+ [
95
+ "Etapa",
96
+ "Antes",
97
+ "Agora"
98
+ ],
99
+ [
100
+ "Custo do módulo",
101
+ "proibitivo",
102
+ "resolvido"
103
+ ],
104
+ [
105
+ "Licenciamento",
106
+ "simples",
107
+ "lento"
108
+ ],
109
+ [
110
+ "Transmissão",
111
+ "ociosa",
112
+ "saturada"
113
+ ]
114
+ ]
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ "layout": "citacao",
120
+ "tema": "papel",
121
+ "elementos": [
122
+ {
123
+ "tipo": "citacao",
124
+ "texto": "O sol já é barato. O caro agora é o fio que leva a energia até quem consome.",
125
+ "autor": "Relatório do setor, 2026"
126
+ }
127
+ ]
128
+ },
129
+ {
130
+ "layout": "tres-colunas",
131
+ "elementos": [
132
+ {
133
+ "tipo": "texto",
134
+ "papel": "titulo",
135
+ "texto": "O que fazer em 2026"
136
+ },
137
+ {
138
+ "tipo": "cartoes",
139
+ "itens": [
140
+ "Armazenamento | Baterias para segurar o excedente do meio-dia",
141
+ "Transmissão | Novos leilões de linha no Nordeste",
142
+ "Previsibilidade | Regras estáveis para o investidor longo"
143
+ ]
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ "layout": "capa",
149
+ "fundo": "malha",
150
+ "elementos": [
151
+ {
152
+ "tipo": "texto",
153
+ "papel": "titulo",
154
+ "texto": "Obrigado"
155
+ },
156
+ {
157
+ "tipo": "texto",
158
+ "papel": "apoio",
159
+ "texto": "perguntas?"
160
+ }
161
+ ]
162
+ }
163
+ ]
164
+ },
165
+ "atualizado": "2026-08-16T15:07:33+00:00"
166
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "id": "prisma-y-b0785",
3
+ "ferramenta": "prisma",
4
+ "titulo": "y",
5
+ "doc": {
6
+ "tema": "meia-noite",
7
+ "largura": 1920,
8
+ "altura": 1080,
9
+ "cenas": [
10
+ {
11
+ "layout": "capa",
12
+ "fundo": "malha",
13
+ "elementos": [
14
+ {
15
+ "tipo": "texto",
16
+ "papel": "chapeu",
17
+ "texto": "PrimoCode Studio"
18
+ },
19
+ {
20
+ "tipo": "texto",
21
+ "papel": "titulo",
22
+ "texto": "Título da apresentação"
23
+ },
24
+ {
25
+ "tipo": "texto",
26
+ "papel": "apoio",
27
+ "texto": "Uma frase que explica do que se trata."
28
+ }
29
+ ]
30
+ },
31
+ {
32
+ "layout": "titulo",
33
+ "elementos": [
34
+ {
35
+ "tipo": "texto",
36
+ "papel": "titulo",
37
+ "texto": "Uma ideia por cena"
38
+ },
39
+ {
40
+ "tipo": "lista",
41
+ "itens": [
42
+ "Primeiro ponto",
43
+ "Segundo ponto",
44
+ "Terceiro ponto"
45
+ ]
46
+ }
47
+ ]
48
+ }
49
+ ]
50
+ },
51
+ "atualizado": "2026-08-16T15:05:32+00:00"
52
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "id": "prosa-sweep-prosa-f29cf",
3
+ "ferramenta": "prosa",
4
+ "titulo": "sweep-prosa",
5
+ "doc": {
6
+ "tema": "papel",
7
+ "capa": {
8
+ "chapeu": "Proposta técnica",
9
+ "titulo": "Modernização do parque de servidores",
10
+ "apoio": "Diagnóstico, plano em três ondas e estimativa de custo.",
11
+ "autor": "Time de Infraestrutura",
12
+ "data": "Agosto de 2026"
13
+ },
14
+ "blocos": [
15
+ {
16
+ "tipo": "sumario",
17
+ "texto": "Sumário"
18
+ },
19
+ {
20
+ "tipo": "secao",
21
+ "texto": "Onde estamos"
22
+ },
23
+ {
24
+ "tipo": "paragrafo",
25
+ "texto": "O parque atual tem **34 máquinas**, das quais 11 passaram do fim de suporte do fabricante. O custo de manutenção subiu 40% em dois anos enquanto a capacidade útil ficou parada."
26
+ },
27
+ {
28
+ "tipo": "destaque",
29
+ "titulo": "Risco imediato",
30
+ "texto": "Três servidores de banco não recebem correção de segurança desde março."
31
+ },
32
+ {
33
+ "tipo": "secao",
34
+ "texto": "O que propomos"
35
+ },
36
+ {
37
+ "tipo": "numerada",
38
+ "itens": [
39
+ "Onda 1 — trocar os 11 equipamentos fora de suporte",
40
+ "Onda 2 — consolidar cargas em 6 máquinas novas",
41
+ "Onda 3 — mover o que for elástico para nuvem"
42
+ ]
43
+ },
44
+ {
45
+ "tipo": "tabela",
46
+ "linhas": [
47
+ [
48
+ "Onda",
49
+ "Prazo",
50
+ "Investimento"
51
+ ],
52
+ [
53
+ "1",
54
+ "60 dias",
55
+ "R$ 420 mil"
56
+ ],
57
+ [
58
+ "2",
59
+ "120 dias",
60
+ "R$ 310 mil"
61
+ ],
62
+ [
63
+ "3",
64
+ "180 dias",
65
+ "custo variável"
66
+ ]
67
+ ]
68
+ },
69
+ {
70
+ "tipo": "secao",
71
+ "texto": "Próximo passo"
72
+ },
73
+ {
74
+ "tipo": "paragrafo",
75
+ "texto": "Aprovar a Onda 1 até o fim do mês para caber na janela de manutenção de outubro."
76
+ }
77
+ ]
78
+ },
79
+ "atualizado": "2026-08-16T15:07:33+00:00"
80
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "id": "tela-estatico-tela-c7daf",
3
+ "ferramenta": "tela",
4
+ "titulo": "estatico-tela",
5
+ "doc": {
6
+ "tema": "brasa",
7
+ "largura": 1080,
8
+ "altura": 1080,
9
+ "cenas": [
10
+ {
11
+ "layout": "livre",
12
+ "fundo": {
13
+ "tipo": "gradiente",
14
+ "de": "#1b0a04",
15
+ "para": "#0a0506",
16
+ "angulo": 155
17
+ },
18
+ "elementos": [
19
+ {
20
+ "tipo": "forma",
21
+ "forma": "circulo",
22
+ "x": 640,
23
+ "y": -140,
24
+ "l": 620,
25
+ "a": 620,
26
+ "preenchimento": "#ff5a36",
27
+ "opacidade": 0.16,
28
+ "anim": "nenhuma"
29
+ },
30
+ {
31
+ "tipo": "icone",
32
+ "nome": "foguete",
33
+ "x": 86,
34
+ "y": 140,
35
+ "tamanho": 88,
36
+ "cor": "#ffb03a",
37
+ "anim": "nenhuma"
38
+ },
39
+ {
40
+ "tipo": "texto",
41
+ "x": 86,
42
+ "y": 292,
43
+ "l": 900,
44
+ "a": 44,
45
+ "texto": "LANÇAMENTO",
46
+ "tamanho": 30,
47
+ "peso": 700,
48
+ "espacamento": 0.2,
49
+ "cor": "#ffb03a",
50
+ "anim": "nenhuma"
51
+ },
52
+ {
53
+ "tipo": "texto",
54
+ "x": 86,
55
+ "y": 372,
56
+ "l": 908,
57
+ "a": 460,
58
+ "texto": "A primeira versão\nestá no ar",
59
+ "tamanho": 118,
60
+ "peso": 750,
61
+ "anim": "nenhuma"
62
+ },
63
+ {
64
+ "tipo": "forma",
65
+ "forma": "linha",
66
+ "x": 86,
67
+ "y": 880,
68
+ "l": 180,
69
+ "a": 8,
70
+ "preenchimento": "#ff5a36",
71
+ "espessura": 8,
72
+ "anim": "nenhuma"
73
+ },
74
+ {
75
+ "tipo": "texto",
76
+ "x": 86,
77
+ "y": 926,
78
+ "l": 800,
79
+ "a": 60,
80
+ "texto": "primocode.studio",
81
+ "tamanho": 36,
82
+ "cor": "#bf9c8a",
83
+ "anim": "nenhuma"
84
+ }
85
+ ]
86
+ }
87
+ ]
88
+ },
89
+ "atualizado": "2026-08-16T15:08:28+00:00"
90
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "id": "tela-sweep-tela-0d2bf",
3
+ "ferramenta": "tela",
4
+ "titulo": "sweep-tela",
5
+ "doc": {
6
+ "tema": "brasa",
7
+ "largura": 1080,
8
+ "altura": 1080,
9
+ "cenas": [
10
+ {
11
+ "layout": "livre",
12
+ "fundo": {
13
+ "tipo": "gradiente",
14
+ "de": "#1b0a04",
15
+ "para": "#0a0506",
16
+ "angulo": 155
17
+ },
18
+ "elementos": [
19
+ {
20
+ "tipo": "forma",
21
+ "forma": "circulo",
22
+ "x": 640,
23
+ "y": -140,
24
+ "l": 620,
25
+ "a": 620,
26
+ "preenchimento": "#ff5a36",
27
+ "opacidade": 0.16
28
+ },
29
+ {
30
+ "tipo": "icone",
31
+ "nome": "foguete",
32
+ "x": 86,
33
+ "y": 140,
34
+ "tamanho": 88,
35
+ "cor": "#ffb03a"
36
+ },
37
+ {
38
+ "tipo": "texto",
39
+ "x": 86,
40
+ "y": 292,
41
+ "l": 900,
42
+ "a": 44,
43
+ "texto": "LANÇAMENTO",
44
+ "tamanho": 30,
45
+ "peso": 700,
46
+ "espacamento": 0.2,
47
+ "cor": "#ffb03a"
48
+ },
49
+ {
50
+ "tipo": "texto",
51
+ "x": 86,
52
+ "y": 372,
53
+ "l": 908,
54
+ "a": 460,
55
+ "texto": "A primeira versão\nestá no ar",
56
+ "tamanho": 118,
57
+ "peso": 750
58
+ },
59
+ {
60
+ "tipo": "forma",
61
+ "forma": "linha",
62
+ "x": 86,
63
+ "y": 880,
64
+ "l": 180,
65
+ "a": 8,
66
+ "preenchimento": "#ff5a36",
67
+ "espessura": 8
68
+ },
69
+ {
70
+ "tipo": "texto",
71
+ "x": 86,
72
+ "y": 926,
73
+ "l": 800,
74
+ "a": 60,
75
+ "texto": "primocode.studio",
76
+ "tamanho": 36,
77
+ "cor": "#bf9c8a"
78
+ }
79
+ ]
80
+ }
81
+ ]
82
+ },
83
+ "atualizado": "2026-08-16T15:07:33+00:00"
84
+ }