sagadeck 1.7.1 → 1.9.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.
- package/README.md +55 -4
- package/SKILL.md +10 -3
- package/bin/sagadeck.js +23 -0
- package/docs/ANDAMENTO.md +483 -1
- package/docs/PLANO-MELHORIAS.md +180 -0
- package/docs/REFERENCIA.md +184 -105
- package/package.json +34 -2
- package/src/ai/commands.js +2 -2
- package/src/ai/deck-ai.js +14 -5
- package/src/ai/ia-check.js +127 -0
- package/src/ai/ia-config.js +2 -2
- package/src/ai/llm.js +5 -1
- package/src/ai/map-analysis-run.js +119 -0
- package/src/ai/map-data.js +221 -0
- package/src/ai/quality.js +1 -1
- package/src/ai/video-generation.js +70 -25
- package/src/build.js +51 -15
- package/src/elements.js +39 -1
- package/src/export/browser.js +23 -1
- package/src/export/pptx.js +9 -3
- package/src/export/shots.js +10 -3
- package/src/fiscal/normalize.js +19 -0
- package/src/fs-retry.js +37 -2
- package/src/import/office.js +5 -4
- package/src/layouts.js +114 -99
- package/src/lessons.js +1 -1
- package/src/library.js +7 -7
- package/src/map-analysis.js +109 -0
- package/src/map-config.js +89 -0
- package/src/map-routing.js +82 -0
- package/src/map-services.js +60 -0
- package/src/map.js +274 -0
- package/src/mcp/server.js +17 -0
- package/src/motion.js +20 -6
- package/src/purpose.js +1 -1
- package/src/runtime/base.css +105 -329
- package/src/runtime/fit.js +3 -2
- package/src/runtime/fonts/amatic-sc.css +3 -0
- package/src/runtime/fonts/bebas-neue.css +2 -0
- package/src/runtime/fonts/cabin-sketch.css +2 -0
- package/src/runtime/fonts/fraunces.css +3 -0
- package/src/runtime/fonts/gelasio.css +3 -0
- package/src/runtime/fonts/ibm-plex-mono.css +4 -0
- package/src/runtime/fonts/index.json +10 -1
- package/src/runtime/fonts/itim.css +2 -0
- package/src/runtime/fonts/montserrat.css +2 -0
- package/src/runtime/fonts/space-grotesk.css +2 -0
- package/src/runtime/map-background.js +91 -0
- package/src/runtime/map.js +266 -0
- package/src/runtime/runtime.js +81 -100
- package/src/runtime/skins/caderno.css +33 -0
- package/src/runtime/skins/cartaz.css +27 -0
- package/src/runtime/skins/infografico.css +29 -0
- package/src/runtime/skins/lousa.css +22 -0
- package/src/runtime/skins/musgo.css +42 -0
- package/src/runtime/vendor/LEAFLET-LICENSE.txt +26 -0
- package/src/runtime/vendor/MAPLIBRE-LEAFLET-LICENSE.txt +15 -0
- package/src/runtime/vendor/MAPLIBRE-LICENSE.txt +116 -0
- package/src/runtime/vendor/geo-contornos.json +1 -0
- package/src/runtime/vendor/leaflet.css +661 -0
- package/src/runtime/vendor/leaflet.js +6 -0
- package/src/runtime/vendor/maplibre-gl.css +1 -0
- package/src/runtime/vendor/maplibre-gl.js +825 -0
- package/src/runtime/vendor/maplibre-leaflet.js +234 -0
- package/src/runtime/vendor/maplibre-worker.js +10 -0
- package/src/studio/ai-chat-route.js +20 -0
- package/src/studio/assets/imagens/tour-mapa-botao.jpg +0 -0
- package/src/studio/assets/imagens/tour-mapa-editor.jpg +0 -0
- package/src/studio/command-approval.js +2 -3
- package/src/studio/demo-decks.js +6 -2
- package/src/studio/export-jobs.js +86 -0
- package/src/studio/exporting.js +36 -18
- package/src/studio/feature-demos.js +144 -0
- package/src/studio/geo-routes.js +138 -0
- package/src/studio/ia-routes.js +9 -0
- package/src/studio/layout-samples.js +78 -16
- package/src/studio/library-routes.js +0 -9
- package/src/studio/project.js +2 -1
- package/src/studio/public/ai-settings.js +6 -3
- package/src/studio/public/app.js +46 -52
- package/src/studio/public/explorer.js +23 -8
- package/src/studio/public/export-status.js +154 -0
- package/src/studio/public/index.html +17 -10
- package/src/studio/public/library.css +12 -3
- package/src/studio/public/library.html +3 -0
- package/src/studio/public/library.js +39 -12
- package/src/studio/public/map-data.js +158 -0
- package/src/studio/public/map-editor.js +676 -0
- package/src/studio/public/map-fields.js +21 -0
- package/src/studio/public/map-settings.js +86 -0
- package/src/studio/public/slide-form.js +19 -16
- package/src/studio/public/style.css +58 -0
- package/src/studio/public/ui-icons.js +1 -1
- package/src/studio/public/viewers.js +2 -1
- package/src/studio/public/visual-editor.js +1 -1
- package/src/studio/server.js +34 -9
- package/src/studio/snapshot.js +8 -4
- package/src/studio/template-collections.js +1 -1
- package/src/studio/tour.js +158 -0
- package/src/themes.js +154 -0
- package/templates/cenario-e-ciencia.yaml +1 -21
- package/templates/ensaio-api.yaml +3 -3
- package/templates/cenario/Texto no cen/303/241rio.yaml" +0 -171
- package/templates/cenario/imagens/cidade.svg +0 -30
- package/templates/cenario/imagens/pessoa.svg +0 -15
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
# Demonstração do "Texto no cenário" (layout scenography): todas as composições e tudo o que dá para ajustar.
|
|
2
|
-
# Biblioteca: Nova, "Exemplo: texto no cenário". As imagens de exemplo estão em imagens/ (troque pelas suas).
|
|
3
|
-
title: Texto no cenário
|
|
4
|
-
theme: aurora
|
|
5
|
-
motion: none
|
|
6
|
-
author: Seu nome
|
|
7
|
-
duration: 15
|
|
8
|
-
slides:
|
|
9
|
-
- layout: scenography
|
|
10
|
-
scene: stage
|
|
11
|
-
kicker: DEMONSTRAÇÃO
|
|
12
|
-
title: "TEXTO NO\nCENÁRIO"
|
|
13
|
-
subtitle: Treze composições e tudo o que dá para ajustar.
|
|
14
|
-
caption: SAGADECK / TEXTO NO CENÁRIO
|
|
15
|
-
notes: Cada slide deste deck mostra uma composição (campo scene) ou uma opção. Abra o painel Formatar para ver os campos.
|
|
16
|
-
|
|
17
|
-
- layout: section
|
|
18
|
-
title: As composições
|
|
19
|
-
subtitle: Campo "Composição" (scene). O texto continua editável em todas.
|
|
20
|
-
|
|
21
|
-
- layout: scenography
|
|
22
|
-
scene: stage
|
|
23
|
-
kicker: "scene: stage"
|
|
24
|
-
title: "ALÉM DO\nÓBVIO"
|
|
25
|
-
subtitle: Palco e profundidade. Letras monumentais atrás de uma escultura.
|
|
26
|
-
caption: PALCO E PROFUNDIDADE
|
|
27
|
-
|
|
28
|
-
- layout: scenography
|
|
29
|
-
scene: floor
|
|
30
|
-
kicker: "scene: floor"
|
|
31
|
-
title: "NOVOS\nCAMINHOS"
|
|
32
|
-
caption: CHÃO EM PERSPECTIVA
|
|
33
|
-
|
|
34
|
-
- layout: scenography
|
|
35
|
-
scene: signs
|
|
36
|
-
kicker: "scene: signs"
|
|
37
|
-
title: "IDEIAS\nEM CENA"
|
|
38
|
-
subtitle: Uma placa na cidade.
|
|
39
|
-
caption: PLACAS NA CIDADE
|
|
40
|
-
|
|
41
|
-
- layout: scenography
|
|
42
|
-
scene: terminal
|
|
43
|
-
kicker: ./acesso --scene terminal
|
|
44
|
-
title: "acesso\nconcedido"
|
|
45
|
-
subtitle: Segurança começa pela curiosidade.
|
|
46
|
-
caption: TERMINAL HACKER
|
|
47
|
-
|
|
48
|
-
- layout: scenography
|
|
49
|
-
scene: cafe
|
|
50
|
-
kicker: "Hoje no cardápio (scene: cafe)"
|
|
51
|
-
title: "Ideias coadas\nna hora"
|
|
52
|
-
subtitle: Com calma, açúcar a gosto.
|
|
53
|
-
caption: LOUSA DE CAFÉ
|
|
54
|
-
|
|
55
|
-
- layout: scenography
|
|
56
|
-
scene: travel
|
|
57
|
-
kicker: "EMBARQUE IMEDIATO / scene: travel"
|
|
58
|
-
title: "PRÓXIMO\nDESTINO"
|
|
59
|
-
subtitle: O plano para os próximos 12 meses.
|
|
60
|
-
caption: CARTÃO DE EMBARQUE
|
|
61
|
-
|
|
62
|
-
- layout: scenography
|
|
63
|
-
scene: ticker
|
|
64
|
-
kicker: "Q3 2026 / scene: ticker"
|
|
65
|
-
title: "RESULTADO\nRECORDE"
|
|
66
|
-
subtitle: Receita 38% acima do ano passado.
|
|
67
|
-
caption: PREGÃO FINANCEIRO
|
|
68
|
-
|
|
69
|
-
- layout: scenography
|
|
70
|
-
scene: marquee
|
|
71
|
-
kicker: "EM CARTAZ / scene: marquee"
|
|
72
|
-
title: "HOJE:\nA ESTREIA"
|
|
73
|
-
subtitle: Sessão única, entrada franca.
|
|
74
|
-
caption: LETREIRO DE CINEMA
|
|
75
|
-
|
|
76
|
-
- layout: scenography
|
|
77
|
-
scene: blueprint
|
|
78
|
-
kicker: "scene: blueprint"
|
|
79
|
-
title: "PROJETO\nDO FUTURO"
|
|
80
|
-
subtitle: medidas em ideias, escala 1:1
|
|
81
|
-
caption: PLANTA TÉCNICA
|
|
82
|
-
|
|
83
|
-
- layout: scenography
|
|
84
|
-
scene: magazine
|
|
85
|
-
kicker: "CAPA / scene: magazine"
|
|
86
|
-
title: "O ANO DA\nVIRADA"
|
|
87
|
-
subtitle: Como uma equipe pequena mudou o jogo.
|
|
88
|
-
caption: CAPA DE REVISTA
|
|
89
|
-
|
|
90
|
-
- layout: scenography
|
|
91
|
-
scene: orbit
|
|
92
|
-
kicker: "scene: orbit"
|
|
93
|
-
title: "MISSÃO\nCUMPRIDA"
|
|
94
|
-
subtitle: Da ideia à órbita em seis meses.
|
|
95
|
-
caption: ÓRBITA
|
|
96
|
-
|
|
97
|
-
- layout: scenography
|
|
98
|
-
scene: synthwave
|
|
99
|
-
kicker: "scene: synthwave"
|
|
100
|
-
title: "DE VOLTA\nAO FUTURO"
|
|
101
|
-
subtitle: As ideias que voltaram com tudo.
|
|
102
|
-
caption: NEON ANOS 80
|
|
103
|
-
|
|
104
|
-
- layout: scenography
|
|
105
|
-
scene: gallery
|
|
106
|
-
kicker: "scene: gallery"
|
|
107
|
-
title: "Menos\né mais"
|
|
108
|
-
subtitle: Uma ideia por parede.
|
|
109
|
-
caption: PAREDE DE GALERIA
|
|
110
|
-
|
|
111
|
-
- layout: section
|
|
112
|
-
title: E dá para ajustar
|
|
113
|
-
subtitle: Imagem de fundo, transparência, recorte na frente das letras e tamanho do texto.
|
|
114
|
-
|
|
115
|
-
- layout: scenography
|
|
116
|
-
scene: stage
|
|
117
|
-
image: imagens/cidade.svg
|
|
118
|
-
imageOpacity: 1
|
|
119
|
-
kicker: "image: imagens/cidade.svg"
|
|
120
|
-
title: "IMAGEM DE\nFUNDO"
|
|
121
|
-
subtitle: "Imagem de fundo (image), sem transparência: imageOpacity: 1"
|
|
122
|
-
caption: IMAGEM DE FUNDO
|
|
123
|
-
notes: Troque imagens/cidade.svg por uma foto sua (arquivo ao lado do deck ou link).
|
|
124
|
-
|
|
125
|
-
- layout: scenography
|
|
126
|
-
scene: stage
|
|
127
|
-
image: imagens/cidade.svg
|
|
128
|
-
imageOpacity: 0.3
|
|
129
|
-
kicker: "imageOpacity: 0.3"
|
|
130
|
-
title: "MAIS\nTRANSPARENTE"
|
|
131
|
-
subtitle: De 0 (some) a 1 (inteira). Sem o campo, fica em 0.85.
|
|
132
|
-
caption: TRANSPARÊNCIA DO FUNDO
|
|
133
|
-
|
|
134
|
-
- layout: scenography
|
|
135
|
-
scene: floor
|
|
136
|
-
foreground: imagens/pessoa.svg
|
|
137
|
-
kicker: "foreground: imagens/pessoa.svg"
|
|
138
|
-
title: "NA FRENTE\nDAS LETRAS"
|
|
139
|
-
caption: RECORTE EM PRIMEIRO PLANO
|
|
140
|
-
notes: O recorte (PNG ou SVG com fundo transparente, do tamanho do slide) fica por cima do texto. O fundo não é recortado sozinho; recorte a pessoa num editor.
|
|
141
|
-
|
|
142
|
-
- layout: scenography
|
|
143
|
-
scene: gallery
|
|
144
|
-
foreground: imagens/pessoa.svg
|
|
145
|
-
kicker: "foreground + gallery"
|
|
146
|
-
title: "Olhe de\nperto"
|
|
147
|
-
subtitle: Alguém parado diante da parede.
|
|
148
|
-
caption: RECORTE NA GALERIA
|
|
149
|
-
|
|
150
|
-
- layout: scenography
|
|
151
|
-
scene: stage
|
|
152
|
-
image: imagens/cidade.svg
|
|
153
|
-
imageOpacity: 0.6
|
|
154
|
-
foreground: imagens/pessoa.svg
|
|
155
|
-
titleSize: 300
|
|
156
|
-
kicker: "titleSize: 300"
|
|
157
|
-
title: "TUDO\nJUNTO"
|
|
158
|
-
subtitle: Fundo, transparência, recorte e texto maior.
|
|
159
|
-
caption: TUDO JUNTO
|
|
160
|
-
|
|
161
|
-
- layout: scenography
|
|
162
|
-
scene: orbit
|
|
163
|
-
titleSize: 110
|
|
164
|
-
kicker: "titleSize: 110"
|
|
165
|
-
title: "Texto menor, mais respiro"
|
|
166
|
-
subtitle: Sem titleSize, cada composição usa o seu tamanho padrão.
|
|
167
|
-
caption: TAMANHO DO TEXTO
|
|
168
|
-
|
|
169
|
-
- layout: end
|
|
170
|
-
title: Agora é com você
|
|
171
|
-
subtitle: Inserir, Texto no cenário. Depois é só escolher a composição.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
|
|
2
|
-
<!-- fundo de exemplo do deck "Texto no cenário": uma cidade ao entardecer (troque por uma foto sua) -->
|
|
3
|
-
<defs>
|
|
4
|
-
<linearGradient id="ceu" x1="0" y1="0" x2="0" y2="1">
|
|
5
|
-
<stop offset="0" stop-color="#241a4f"/>
|
|
6
|
-
<stop offset=".55" stop-color="#b8517a"/>
|
|
7
|
-
<stop offset=".8" stop-color="#ffb070"/>
|
|
8
|
-
</linearGradient>
|
|
9
|
-
<pattern id="janelas" width="36" height="44" patternUnits="userSpaceOnUse">
|
|
10
|
-
<rect x="8" y="10" width="14" height="18" fill="#ffd98a" opacity=".75"/>
|
|
11
|
-
</pattern>
|
|
12
|
-
</defs>
|
|
13
|
-
<rect width="1920" height="1080" fill="url(#ceu)"/>
|
|
14
|
-
<circle cx="1380" cy="700" r="170" fill="#ffe2a6" opacity=".9"/>
|
|
15
|
-
<g fill="#3a2350">
|
|
16
|
-
<rect x="0" y="640" width="220" height="440"/><rect x="240" y="520" width="170" height="560"/>
|
|
17
|
-
<rect x="430" y="700" width="260" height="380"/><rect x="700" y="430" width="150" height="650"/>
|
|
18
|
-
<rect x="870" y="610" width="230" height="470"/><rect x="1120" y="540" width="190" height="540"/>
|
|
19
|
-
<rect x="1330" y="760" width="210" height="320"/><rect x="1560" y="480" width="160" height="600"/>
|
|
20
|
-
<rect x="1740" y="660" width="180" height="420"/>
|
|
21
|
-
</g>
|
|
22
|
-
<g fill="#1d1230">
|
|
23
|
-
<rect x="100" y="780" width="260" height="300"/><rect x="560" y="820" width="210" height="260"/>
|
|
24
|
-
<rect x="980" y="760" width="240" height="320"/><rect x="1450" y="840" width="300" height="240"/>
|
|
25
|
-
</g>
|
|
26
|
-
<g fill="url(#janelas)">
|
|
27
|
-
<rect x="240" y="520" width="170" height="560"/><rect x="700" y="430" width="150" height="650"/>
|
|
28
|
-
<rect x="1120" y="540" width="190" height="540"/><rect x="1560" y="480" width="160" height="600"/>
|
|
29
|
-
</g>
|
|
30
|
-
</svg>
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" width="1920" height="1080">
|
|
2
|
-
<!-- recorte de exemplo (fundo transparente): uma pessoa em pé, à direita. Fica na frente das letras (foreground).
|
|
3
|
-
Para uma foto sua, recorte a pessoa num editor e salve como PNG transparente do mesmo tamanho do slide. -->
|
|
4
|
-
<defs>
|
|
5
|
-
<linearGradient id="luz" x1="0" y1="0" x2="1" y2="0">
|
|
6
|
-
<stop offset="0" stop-color="#2a2238"/>
|
|
7
|
-
<stop offset=".75" stop-color="#1a1424"/>
|
|
8
|
-
<stop offset="1" stop-color="#ff9a6b"/>
|
|
9
|
-
</linearGradient>
|
|
10
|
-
</defs>
|
|
11
|
-
<g fill="url(#luz)">
|
|
12
|
-
<ellipse cx="1470" cy="455" rx="62" ry="74"/>
|
|
13
|
-
<path d="M1452 520h40l10 30c70 10 118 40 130 110l40 250c6 40-40 50-52 12l-40-190-10 398h-68l-20-300-20 300h-68l-12-398-40 190c-12 38-58 28-52-12l40-250c12-70 60-100 122-110z"/>
|
|
14
|
-
</g>
|
|
15
|
-
</svg>
|