sagadeck 1.8.0 → 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 +19 -8
- package/SKILL.md +10 -3
- package/bin/sagadeck.js +23 -0
- package/docs/ANDAMENTO.md +367 -7
- package/docs/PLANO-MELHORIAS.md +180 -0
- package/docs/REFERENCIA.md +131 -110
- package/package.json +33 -2
- package/src/ai/commands.js +2 -2
- package/src/ai/deck-ai.js +1 -1
- 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 +1 -1
- package/src/ai/quality.js +1 -1
- package/src/ai/video-generation.js +70 -25
- package/src/build.js +46 -14
- package/src/elements.js +39 -1
- package/src/export/pptx.js +7 -2
- package/src/export/shots.js +7 -2
- 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 +104 -99
- package/src/lessons.js +1 -1
- package/src/library.js +7 -7
- package/src/map-analysis.js +4 -1
- package/src/map-config.js +10 -4
- package/src/map.js +21 -8
- package/src/mcp/server.js +17 -0
- package/src/motion.js +20 -6
- package/src/purpose.js +1 -1
- package/src/runtime/base.css +88 -332
- 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 +41 -9
- 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/MAPLIBRE-LEAFLET-LICENSE.txt +15 -0
- package/src/runtime/vendor/MAPLIBRE-LICENSE.txt +116 -0
- package/src/runtime/vendor/geo-contornos.json +1 -1
- 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/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 +4 -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/ia-routes.js +9 -0
- package/src/studio/layout-samples.js +9 -18
- package/src/studio/library-routes.js +0 -9
- package/src/studio/project.js +1 -0
- package/src/studio/public/ai-settings.js +2 -2
- package/src/studio/public/app.js +41 -51
- package/src/studio/public/export-status.js +154 -0
- package/src/studio/public/index.html +13 -10
- package/src/studio/public/library.css +12 -3
- package/src/studio/public/library.html +1 -0
- package/src/studio/public/library.js +36 -14
- package/src/studio/public/map-data.js +7 -3
- package/src/studio/public/map-editor.js +625 -236
- package/src/studio/public/map-settings.js +3 -1
- package/src/studio/public/slide-form.js +18 -15
- package/src/studio/public/style.css +54 -9
- package/src/studio/public/ui-icons.js +1 -1
- package/src/studio/server.js +27 -12
- package/src/studio/snapshot.js +8 -4
- package/src/studio/template-collections.js +1 -1
- package/src/studio/tour.js +89 -7
- 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
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* Montserrat (SIL Open Font License 1.1, via @fontsource) */
|
|
2
|
+
@font-face{font-family:'Montserrat';font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* Space Grotesk (SIL Open Font License 1.1, via @fontsource) */
|
|
2
|
+
@font-face{font-family:'Space Grotesk';font-style:normal;font-display:swap;font-weight:300 700;src:url(data:font/woff2;base64,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) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// Fundo vetorial dos mapas claro/escuro. O Leaflet continua cuidando das camadas, dos cliques e do editor.
|
|
2
|
+
(function () {
|
|
3
|
+
let loader;
|
|
4
|
+
const files = { js: "maplibre-gl.js", css: "maplibre-gl.css", worker: "maplibre-worker.js", adapter: "maplibre-leaflet.js" };
|
|
5
|
+
const assets = () => { try { return JSON.parse(document.getElementById("map-background-assets")?.textContent || "{}"); } catch { return {}; } };
|
|
6
|
+
const script = (url) => new Promise((resolve, reject) => {
|
|
7
|
+
const s = document.createElement("script"); s.src = url; s.onload = resolve;
|
|
8
|
+
s.onerror = () => { s.remove(); reject(new Error("Não foi possível carregar o fundo do mapa.")); }; document.head.append(s);
|
|
9
|
+
});
|
|
10
|
+
function load() {
|
|
11
|
+
return loader ||= (async () => {
|
|
12
|
+
const bundled = assets(), url = (key, mime) => bundled[key] ? `data:${mime};base64,${bundled[key]}` : files[key];
|
|
13
|
+
if (!window.maplibregl) {
|
|
14
|
+
const css = document.createElement("link"); css.rel = "stylesheet"; css.href = url("css", "text/css"); document.head.append(css);
|
|
15
|
+
await script(url("js", "text/javascript"));
|
|
16
|
+
// o worker também é local, inclusive no HTML de arquivo único
|
|
17
|
+
window.maplibregl.setWorkerUrl(bundled.worker ? URL.createObjectURL(new Blob([Uint8Array.from(atob(bundled.worker), (c) => c.charCodeAt(0))], { type: "text/javascript" })) : new URL(files.worker, document.baseURI).href);
|
|
18
|
+
}
|
|
19
|
+
if (!window.L.maplibreGL) await script(url("adapter", "text/javascript"));
|
|
20
|
+
})().catch((error) => { loader = null; throw error; });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Filtros antigos usam o nome da coluna diretamente; expressões novas usam get. Não misture as duas sintaxes.
|
|
24
|
+
const expression = (f) => Array.isArray(f) && (["get", "match", "coalesce", "geometry-type", "literal", "id", "to-string", "to-number"].includes(f[0]) || f.some(expression));
|
|
25
|
+
function styleForMap(style) {
|
|
26
|
+
return { ...style, layers: style.layers.map((layer) => {
|
|
27
|
+
if (layer.type !== "line" || layer["source-layer"] !== "boundary" && !/^boundary[_-]/.test(layer.id)) return layer;
|
|
28
|
+
const marine = !layer.filter || expression(layer.filter) ? ["!", ["in", ["get", "maritime"], ["literal", [1, true]]]] : ["!in", "maritime", 1, true];
|
|
29
|
+
return { ...layer, filter: ["all", ...(layer.filter ? [layer.filter] : []), marine] };
|
|
30
|
+
}) };
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const absolute = (url, base) => new URL(url, base).href.replace(/%7B/gi, "{").replace(/%7D/gi, "}");
|
|
34
|
+
async function json(url, signal) {
|
|
35
|
+
const response = await fetch(url, { signal });
|
|
36
|
+
if (!response.ok) throw new Error(`HTTP ${response.status}`);
|
|
37
|
+
return response.json();
|
|
38
|
+
}
|
|
39
|
+
async function prepare(tiles, map, signal) {
|
|
40
|
+
const style = styleForMap(await json(tiles.url, signal));
|
|
41
|
+
const ofm = tiles.url.match(/^https:\/\/tiles\.openfreemap\.org\/styles\/(positron|dark)$/);
|
|
42
|
+
if (ofm) style.layers = style.layers.map((layer) => layer.type === "fill" && layer["source-layer"] === "water" ? { ...layer, paint: { ...layer.paint, "fill-color": ofm[1] === "dark" ? "#162b35" : "#dce9f0" } } : layer);
|
|
43
|
+
style.sources = { ...style.sources };
|
|
44
|
+
if (style.glyphs) style.glyphs = absolute(style.glyphs, tiles.url);
|
|
45
|
+
if (typeof style.sprite === "string") style.sprite = absolute(style.sprite, tiles.url);
|
|
46
|
+
else if (Array.isArray(style.sprite)) style.sprite = style.sprite.map((x) => ({ ...x, url: absolute(x.url, tiles.url) }));
|
|
47
|
+
const zoom = Math.max(0, Math.floor(map.getZoom() - 1));
|
|
48
|
+
const used = new Set(style.layers.filter((x) => x.layout?.visibility !== "none" && (x.minzoom ?? 0) <= zoom && (x.maxzoom ?? 25) > zoom).map((x) => x.source));
|
|
49
|
+
for (const [id, source] of Object.entries(style.sources)) {
|
|
50
|
+
let s = { ...source }, base = tiles.url;
|
|
51
|
+
if (s.url) {
|
|
52
|
+
s.url = absolute(s.url, tiles.url);
|
|
53
|
+
if (used.has(id)) { base = s.url; const metadata = await json(s.url, signal); s = { ...metadata, ...s }; delete s.url; }
|
|
54
|
+
}
|
|
55
|
+
if (s.tiles) s.tiles = s.tiles.map((url) => absolute(url, base));
|
|
56
|
+
if (s.type === "geojson" && typeof s.data === "string") s.data = absolute(s.data, tiles.url);
|
|
57
|
+
if (used.has(id) && s.tiles?.length) {
|
|
58
|
+
// primeiro uso real: uma imagem/tile do centro antes de abrir a camada. Recusa não vira uma rajada.
|
|
59
|
+
const z = Math.min(s.maxzoom ?? zoom, Math.max(s.minzoom ?? 0, zoom)), n = 2 ** z;
|
|
60
|
+
const center = map.getCenter(), lat = Math.max(-85.0511, Math.min(85.0511, center.lat)) * Math.PI / 180;
|
|
61
|
+
const x = ((Math.floor((center.lng + 180) / 360 * n) % n) + n) % n;
|
|
62
|
+
let y = Math.max(0, Math.min(n - 1, Math.floor((1 - Math.asinh(Math.tan(lat)) / Math.PI) / 2 * n)));
|
|
63
|
+
if (s.scheme === "tms") y = n - y - 1;
|
|
64
|
+
const url = s.tiles[0].replace(/\{([zxy])\}/g, (_, key) => ({ z, x, y })[key]);
|
|
65
|
+
const response = await fetch(url, { signal });
|
|
66
|
+
if (!response.ok) throw new Error(`HTTP ${response.status}`);
|
|
67
|
+
await response.arrayBuffer();
|
|
68
|
+
}
|
|
69
|
+
style.sources[id] = s;
|
|
70
|
+
}
|
|
71
|
+
return style;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function mount(map, tiles, { active, done, failed }) {
|
|
75
|
+
const controller = new AbortController();
|
|
76
|
+
let layer, stopped = false, failure;
|
|
77
|
+
const dispose = () => { stopped = true; controller.abort(); if (layer && map.hasLayer(layer)) map.removeLayer(layer); };
|
|
78
|
+
(async () => {
|
|
79
|
+
await load(); if (!active() || stopped) return;
|
|
80
|
+
const style = await prepare(tiles, map, controller.signal); if (!active() || stopped) return;
|
|
81
|
+
layer = window.L.maplibreGL({ style, attributionControl: false, interactive: false, padding: 0, canvasContextAttributes: { preserveDrawingBuffer: true }, fadeDuration: 0 });
|
|
82
|
+
layer.addTo(map);
|
|
83
|
+
map.attributionControl.addAttribution(tiles.attribution);
|
|
84
|
+
const gl = layer.getMaplibreMap();
|
|
85
|
+
gl.on("error", (event) => { if (active() && !stopped) { failure = event.error?.message; dispose(); failed(); } });
|
|
86
|
+
gl.once("idle", () => { if (active() && !stopped) done(); });
|
|
87
|
+
})().catch((error) => { if (error.name !== "AbortError" && active() && !stopped) { failure = error.message; dispose(); failed(); } });
|
|
88
|
+
return { dispose, getMap: () => layer?.getMaplibreMap(), getError: () => failure };
|
|
89
|
+
}
|
|
90
|
+
window.SagaMapBackground = { mount, styleForMap };
|
|
91
|
+
})();
|
package/src/runtime/map.js
CHANGED
|
@@ -61,9 +61,12 @@
|
|
|
61
61
|
let m;
|
|
62
62
|
try { m = JSON.parse(box.querySelector(".map-data").textContent); } catch { box.dataset.mapMounted = "error"; return; }
|
|
63
63
|
let settle; const settled = new Promise((r) => (settle = r));
|
|
64
|
-
const
|
|
64
|
+
const wantSat = m.basemap === "satelite";
|
|
65
|
+
const tiles = m.basemap === "nenhum" ? null : wantSat ? m.tiles?.satelite || m.tiles?.tiles : Object.hasOwn(m.tiles || {}, m.basemap) ? m.tiles[m.basemap] : m.tiles?.tiles;
|
|
66
|
+
const st = { m, settled, map: null, layers: [], tilesDone: false, vector: tiles?.tipo === "vetorial" };
|
|
65
67
|
live.set(box, st);
|
|
66
68
|
try { await load(); } catch (e) { notice(box, e.message); box.dataset.mapMounted = "error"; settle(); return; }
|
|
69
|
+
if (live.get(box) !== st) return;
|
|
67
70
|
const L = window.L;
|
|
68
71
|
const el = box.querySelector(".map-live");
|
|
69
72
|
const map = L.map(el, { zoomControl: true, attributionControl: true, keyboard: false, worldCopyJump: true, zoomSnap: 0.25, fadeAnimation: !reduced(), zoomAnimation: !reduced() });
|
|
@@ -74,8 +77,7 @@
|
|
|
74
77
|
|
|
75
78
|
// fundo: antes de ligar a camada, testa UM tile (o do centro). Se ele falha, nenhum outro é pedido e nenhum
|
|
76
79
|
// outro mapa desta sessão tenta; se passa, a camada liga (e ainda desiste se os primeiros falharem todos)
|
|
77
|
-
|
|
78
|
-
const tiles = m.basemap === "nenhum" ? null : (wantSat && m.tiles?.satelite) || m.tiles?.tiles || null;
|
|
80
|
+
box.dataset.mapBackground = st.vector ? "vetorial" : "raster";
|
|
79
81
|
if (wantSat && !m.tiles?.satelite) notice(box, "Satélite não configurado nesta máquina (Configurar mapa); mostrando as ruas.");
|
|
80
82
|
const giveUp = () => {
|
|
81
83
|
broken = true; store.set("falhou"); box.dataset.mapTiles = "falhou";
|
|
@@ -85,6 +87,13 @@
|
|
|
85
87
|
const startTiles = () => {
|
|
86
88
|
if (!tiles) { st.tilesDone = true; return; }
|
|
87
89
|
if (broken) { box.dataset.mapTiles = "falhou"; notice(box, "Mapa de fundo indisponível nesta rede. As camadas continuam.", true); st.tilesDone = true; return; }
|
|
90
|
+
if (st.vector) {
|
|
91
|
+
if (box.closest("#stage") && !box.closest(".slide")?.classList.contains("current")) return;
|
|
92
|
+
if (st.backgroundStarted) { st.settled = new Promise((resolve) => { settle = resolve; }); setTimeout(settle, 8000); }
|
|
93
|
+
st.backgroundStarted = true; st.tilesDone = false;
|
|
94
|
+
st.background = window.SagaMapBackground.mount(map, tiles, { active: () => live.get(box) === st, done: () => { st.tilesDone = true; settle(); }, failed: giveUp });
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
88
97
|
const z = Math.round(map.getZoom()), c = map.project(map.getCenter(), z).divideBy(256).floor();
|
|
89
98
|
const probe = new Image();
|
|
90
99
|
probe.onerror = () => { if (live.get(box) === st) giveUp(); };
|
|
@@ -99,6 +108,7 @@
|
|
|
99
108
|
};
|
|
100
109
|
probe.src = L.Util.template(tiles.url, { z, x: c.x, y: c.y, s: "a", r: "" });
|
|
101
110
|
};
|
|
111
|
+
st.startTiles = startTiles;
|
|
102
112
|
|
|
103
113
|
// camadas
|
|
104
114
|
const col = resolver(box);
|
|
@@ -112,7 +122,7 @@
|
|
|
112
122
|
const cat = s.categories?.find((c) => c.value === String(v ?? "").trim());
|
|
113
123
|
return col.css(cat?.color || s.color || "c1");
|
|
114
124
|
};
|
|
115
|
-
const radius = (f) => { if (!s.sizeBy) return
|
|
125
|
+
const radius = (f) => { if (!s.sizeBy) return 8; const n = num(f.properties?.[s.sizeBy]); const r = s.sizeScale; return n == null || r.max === r.min ? 16 : 9 + 24 * Math.sqrt((n - r.min) / (r.max - r.min)); }; // em px do slide (1920)
|
|
116
126
|
const card = (f) => {
|
|
117
127
|
const p = f.properties || {};
|
|
118
128
|
const title = s.label ? p[s.label] : p.nome || p.name || "";
|
|
@@ -121,13 +131,24 @@
|
|
|
121
131
|
};
|
|
122
132
|
const g = L.geoJSON(layer.data, {
|
|
123
133
|
filter: (f) => !s.colorBy || !hidden.has(String(f.properties?.[s.colorBy] ?? "").trim()),
|
|
124
|
-
|
|
125
|
-
|
|
134
|
+
// ponto: a cor com um anel branco e sombra leve (o jeito dos mapas de hoje); bolha (tamanho pela coluna):
|
|
135
|
+
// translúcida com o contorno da mesma cor, para as sobrepostas continuarem legíveis. Cresce ao passar o mouse.
|
|
136
|
+
pointToLayer: (f, ll) => {
|
|
137
|
+
const c = colorOf(f), r = radius(f);
|
|
138
|
+
const m = s.sizeBy
|
|
139
|
+
? L.circleMarker(ll, { radius: r, color: c, weight: 2, opacity: 0.95, fillColor: c, fillOpacity: 0.5, className: "map-bubble" })
|
|
140
|
+
: L.circleMarker(ll, { radius: r, color: "#fff", weight: 3, fillColor: c, fillOpacity: 1, className: "map-pt" });
|
|
141
|
+
m.on("mouseover", () => (s.sizeBy ? m.setStyle({ fillOpacity: 0.72 }) : m.setRadius(r + 3)));
|
|
142
|
+
m.on("mouseout", () => (s.sizeBy ? m.setStyle({ fillOpacity: 0.5 }) : m.setRadius(r)));
|
|
143
|
+
return m;
|
|
144
|
+
},
|
|
145
|
+
// o Leaflet aplica o style também aos pontos (por cima do pointToLayer): ponto fica com o desenho dele
|
|
146
|
+
style: (f) => f.geometry.type === "Point" ? {} : (f.geometry.type.includes("Polygon") ? { color: colorOf(f), weight: f.properties?._faixa ? 0 : 2, fillColor: colorOf(f), fillOpacity: layer.kind === "areas" ? 0.75 : 0.32, ...(f.properties?._faixa ? { fillRule: "nonzero" } : {}) } : { color: colorOf(f), weight: 5, opacity: 0.95 }),
|
|
126
147
|
onEachFeature: (f, lyr) => {
|
|
127
148
|
if (s.popup.length || s.label) lyr.bindPopup(card(f), { className: "map-card", maxWidth: 420 });
|
|
128
149
|
// no Studio, clicar no ponto seleciona a linha da planilha aberta (map-data.js)
|
|
129
150
|
lyr.on("click", () => document.dispatchEvent(new CustomEvent("sagamap:ponto", { detail: { path: layer.source, linha: f.properties?._linha } })));
|
|
130
|
-
if (s.label && f.properties?.[s.label] != null && layer.data.features.length <= 60) lyr.bindTooltip(escHTML(f.properties[s.label]), { permanent: true, direction: "top", offset: [0, -
|
|
151
|
+
if (s.label && f.properties?.[s.label] != null && layer.data.features.length <= 60) lyr.bindTooltip(escHTML(f.properties[s.label]), { permanent: true, direction: "top", offset: [0, -(lyr.getRadius?.() || 8) - 4], className: "map-label" });
|
|
131
152
|
},
|
|
132
153
|
});
|
|
133
154
|
const entry = { layer, g, on: layer.step == null, hidden };
|
|
@@ -150,11 +171,16 @@
|
|
|
150
171
|
});
|
|
151
172
|
col.done();
|
|
152
173
|
if (m.layers.length) box.append(legend);
|
|
174
|
+
// pontos sempre por cima de linhas e áreas (uma área ou um raio que entra depois não esconde o ponto do clique)
|
|
175
|
+
const pointsOnTop = () => st.layers.forEach((en) => { if (en.layer.kind === "points" && map.hasLayer(en.g)) en.g.eachLayer((l) => l.bringToFront?.()); });
|
|
176
|
+
st.pointsOnTop = pointsOnTop;
|
|
153
177
|
const sync = (entry) => {
|
|
154
178
|
const show = entry.on && !entry.manualOff;
|
|
155
179
|
if (show && !map.hasLayer(entry.g)) entry.g.addTo(map); else if (!show && map.hasLayer(entry.g)) map.removeLayer(entry.g);
|
|
156
180
|
if (entry.legend) entry.legend.hidden = !entry.on;
|
|
181
|
+
pointsOnTop();
|
|
157
182
|
};
|
|
183
|
+
pointsOnTop();
|
|
158
184
|
|
|
159
185
|
// enquadramento: o do slide, senão os dados, senão o mundo
|
|
160
186
|
// O enquadramento automático deixa os pontos acima da legenda, para continuarem visíveis e clicáveis.
|
|
@@ -182,7 +208,7 @@
|
|
|
182
208
|
steps.forEach((s) => st.observer.observe(s, { attributes: true, attributeFilter: ["class"] }));
|
|
183
209
|
|
|
184
210
|
box.dataset.mapMounted = "ready";
|
|
185
|
-
requestAnimationFrame(() => map.invalidateSize());
|
|
211
|
+
requestAnimationFrame(() => { if (live.get(box) === st) map.invalidateSize(); }); // desmontado antes (o Studio redesenhou): nada a ajustar
|
|
186
212
|
if (st.tilesDone) settle();
|
|
187
213
|
setTimeout(settle, 8000); // a exportação não espera para sempre
|
|
188
214
|
}
|
|
@@ -199,6 +225,9 @@
|
|
|
199
225
|
function mount(root = document, { force = false } = {}) {
|
|
200
226
|
const boxes = [...root.querySelectorAll(".map-box")];
|
|
201
227
|
if (root.classList?.contains("map-box")) boxes.push(root);
|
|
228
|
+
// só o mapa visível mantém um contexto gráfico. Voltar ao slide preserva a vista e as escolhas da legenda.
|
|
229
|
+
if (root.closest?.("#stage")) for (const [box, st] of live) if (!boxes.includes(box) && st.vector && st.background) { st.background.dispose(); st.background = null; }
|
|
230
|
+
for (const box of boxes) { const st = live.get(box); if (st?.vector && !st.background) st.startTiles?.(); }
|
|
202
231
|
const jobs = boxes.filter((b) => force || !live.has(b)).map(mountBox);
|
|
203
232
|
readyPromise = Promise.all(jobs).then(() => Promise.all(boxes.map((b) => live.get(b)?.settled)));
|
|
204
233
|
return readyPromise;
|
|
@@ -208,6 +237,9 @@
|
|
|
208
237
|
for (const b of boxes) {
|
|
209
238
|
const st = live.get(b); if (!st) continue;
|
|
210
239
|
if (keepView && keyOf(b) && st.map) views.set(keyOf(b), { center: st.map.getCenter(), zoom: st.map.getZoom() });
|
|
240
|
+
// animação de zoom em curso termina agora: o fim dela, depois de desmontado, lia painéis que já não existem
|
|
241
|
+
if (st.map) { st.map.stop(); if (st.map._animatingZoom) st.map._onZoomTransitionEnd(); }
|
|
242
|
+
st.background?.dispose();
|
|
211
243
|
st.observer?.disconnect(); st.map?.remove(); live.delete(b);
|
|
212
244
|
delete b.dataset.mapMounted; b.querySelector(".map-legend")?.remove();
|
|
213
245
|
b.querySelector(".map-notice")?.remove();
|
|
@@ -218,7 +250,7 @@
|
|
|
218
250
|
function watchDeck() {
|
|
219
251
|
const slides = [...document.querySelectorAll("#stage > .slide")].filter((s) => s.querySelector(".map-box"));
|
|
220
252
|
if (!slides.length) return;
|
|
221
|
-
const check = () => {
|
|
253
|
+
const check = () => { const current = document.querySelector("#stage > .slide.current"); if (current) mount(current); };
|
|
222
254
|
const obs = new MutationObserver(check);
|
|
223
255
|
slides.forEach((s) => obs.observe(s, { attributes: true, attributeFilter: ["class"] }));
|
|
224
256
|
check();
|