@mapvx/web-js 3.4.0-dev.1 → 3.4.0-dev.2
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/dist/cjs/index.js.map +1 -1
- package/dist/cjs/logger/sentry.js +1 -1
- package/dist/cjs/map/scene3DController.js +200 -44
- package/dist/cjs/map/scene3DController.js.map +1 -1
- package/dist/cjs/utils/3d.js +79 -1
- package/dist/cjs/utils/3d.js.map +1 -1
- package/dist/cjs/utils/loadGlb.js +5 -0
- package/dist/cjs/utils/loadGlb.js.map +1 -1
- package/dist/cjs/utils/three.js +3 -1
- package/dist/cjs/utils/three.js.map +1 -1
- package/dist/es/domain/models/scene3D.d.ts +110 -0
- package/dist/es/domain/models/scene3D.d.ts.map +1 -1
- package/dist/es/index.d.ts +1 -1
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js.map +1 -1
- package/dist/es/logger/sentry.js +1 -1
- package/dist/es/map/scene3DController.d.ts +67 -2
- package/dist/es/map/scene3DController.d.ts.map +1 -1
- package/dist/es/map/scene3DController.js +201 -45
- package/dist/es/map/scene3DController.js.map +1 -1
- package/dist/es/utils/3d.d.ts +44 -1
- package/dist/es/utils/3d.d.ts.map +1 -1
- package/dist/es/utils/3d.js +75 -0
- package/dist/es/utils/3d.js.map +1 -1
- package/dist/es/utils/loadGlb.d.ts.map +1 -1
- package/dist/es/utils/loadGlb.js +5 -0
- package/dist/es/utils/loadGlb.js.map +1 -1
- package/dist/es/utils/three.d.ts +7 -0
- package/dist/es/utils/three.d.ts.map +1 -1
- package/dist/es/utils/three.js +3 -1
- package/dist/es/utils/three.js.map +1 -1
- package/dist/umd/index.js +501 -155
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MercatorCoordinate } from "maplibre-gl";
|
|
2
|
-
import { computeScenePosition, effectiveModelOpacity, hexToRgb, isPlacementVisibleOnFloor, mergeGlbScale, mergeRotation3D, pointInFootprint, resolveModels3DLights, resolveRouteTransparency, resolveZoomTransparency, } from "../utils/3d";
|
|
2
|
+
import { computeScenePosition, effectiveModelOpacity, hexToRgb, isPlacementVisibleOnFloor, lodActionForZoom, mergeGlbScale, mergeRotation3D, pointInFootprint, resolveDeckTileCache, resolveModels3DLights, resolveModels3DLodThresholds, resolveRouteTransparency, resolveZoomTransparency, } from "../utils/3d";
|
|
3
3
|
import { buildElevatedPaths, buildLabelData, buildPoiIconData, buildStoreLogoData, computeStoreLogoSize, } from "../utils/deckLayers";
|
|
4
4
|
import { loadGlbRoot } from "../utils/loadGlb";
|
|
5
5
|
import { Semaphore } from "../utils/semaphore";
|
|
@@ -22,6 +22,7 @@ import { addScene3DLights, computeGlbBottomAnchor, disposeMaterialsOnly, dispose
|
|
|
22
22
|
*/
|
|
23
23
|
export class Scene3DController {
|
|
24
24
|
constructor(map, scene3DConfig, initialCenter, onModelsProgress) {
|
|
25
|
+
var _a;
|
|
25
26
|
/** Latest known floor key; updated by the floor-change hooks and read when (re)building layers. */
|
|
26
27
|
this.currentFloor = "";
|
|
27
28
|
// Lazily-loaded Three.js / deck.gl runtime handles (see loadThree()/loadDeck()).
|
|
@@ -48,10 +49,21 @@ export class Scene3DController {
|
|
|
48
49
|
this.scene3DRouteCollisionPoints = [];
|
|
49
50
|
this.spriteIconMapping = {};
|
|
50
51
|
this.spriteAtlasImage = new Image();
|
|
52
|
+
/** True while the GLB models are unloaded by LOD (camera zoomed out past the threshold). */
|
|
53
|
+
this.modelsUnloadedByLod = false;
|
|
54
|
+
/**
|
|
55
|
+
* True while {@link loadScene3DGlbTemplates} is populating `scene3DGlbRootByUrl` /
|
|
56
|
+
* `scene3DGlbTemplateById` (initial load or an LOD reload). Guards against overlapping reloads
|
|
57
|
+
* and, in {@link updateLodForZoom}, against an LOD unload running concurrently and clearing
|
|
58
|
+
* those same maps out from under the in-flight load.
|
|
59
|
+
*/
|
|
60
|
+
this.glbTemplatesLoadInFlight = false;
|
|
51
61
|
this.map = map;
|
|
52
62
|
this.scene3DConfig = scene3DConfig;
|
|
53
63
|
this.initialCenter = initialCenter;
|
|
54
64
|
this.onModelsProgress = onModelsProgress;
|
|
65
|
+
this.deckTileCache = resolveDeckTileCache((_a = scene3DConfig.customLayers) === null || _a === void 0 ? void 0 : _a.tileCache);
|
|
66
|
+
this.lodThresholds = resolveModels3DLodThresholds(scene3DConfig.models);
|
|
55
67
|
}
|
|
56
68
|
// Lifecycle entry points forwarded by the map ---------------------------------------------
|
|
57
69
|
/**
|
|
@@ -79,6 +91,7 @@ export class Scene3DController {
|
|
|
79
91
|
this.map.addControl(this.deckOverlay);
|
|
80
92
|
// Hide MapLibre icon layers — replaced by deck.gl IconLayer
|
|
81
93
|
this.hideLayers(this.scene3DConfig.hideLayers);
|
|
94
|
+
this.installDebugStatsHook();
|
|
82
95
|
const models = this.scene3DConfig.models;
|
|
83
96
|
const glbModelsActive = models !== undefined && models.enabled !== false && models.assets.length > 0;
|
|
84
97
|
if (glbModelsActive) {
|
|
@@ -90,9 +103,85 @@ export class Scene3DController {
|
|
|
90
103
|
// next floor change (e.g. broken on totem/route views that never change floor after load).
|
|
91
104
|
this.updateDeckOverlay();
|
|
92
105
|
}
|
|
93
|
-
/** Re-applies zoom-based model transparency; call on every map `zoom`. */
|
|
106
|
+
/** Re-applies zoom-based model transparency and evaluates LOD; call on every map `zoom`. */
|
|
94
107
|
onZoom() {
|
|
95
108
|
this.applyModelOpacity();
|
|
109
|
+
this.updateLodForZoom();
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Evaluates the zoom-based LOD (see {@link Models3DConfig.lod}): unloads the GLB models from
|
|
113
|
+
* memory when the camera drops below the unload boundary and reloads them when it returns to the
|
|
114
|
+
* reload boundary. No-op when LOD is disabled. Cheap enough to call on every `zoom` event — it
|
|
115
|
+
* only acts on a boundary crossing.
|
|
116
|
+
*/
|
|
117
|
+
updateLodForZoom() {
|
|
118
|
+
if (!this.lodThresholds) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const action = lodActionForZoom(this.map.getZoom(), this.lodThresholds, this.modelsUnloadedByLod);
|
|
122
|
+
if (action === "unload") {
|
|
123
|
+
if (this.glbTemplatesLoadInFlight) {
|
|
124
|
+
// A load is already populating the model maps; unloading now would race with it.
|
|
125
|
+
// reloadScene3DModelsForLod()/the initial load re-evaluate the zoom once they settle.
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
this.unloadScene3DModelsForLod();
|
|
129
|
+
}
|
|
130
|
+
else if (action === "reload") {
|
|
131
|
+
void this.reloadScene3DModelsForLod();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Frees the GLB models' GPU resources (placed group's material clones + every cached template's
|
|
136
|
+
* geometry/textures) while keeping the custom layer, its `WebGLRenderer`, scene and lights alive,
|
|
137
|
+
* so a later {@link reloadScene3DModelsForLod} can repopulate without recreating the map layer.
|
|
138
|
+
* Distinct from {@link dispose}, which tears the whole controller down.
|
|
139
|
+
*/
|
|
140
|
+
unloadScene3DModelsForLod() {
|
|
141
|
+
var _a, _b;
|
|
142
|
+
const three = (_a = this.threeMod) === null || _a === void 0 ? void 0 : _a.THREE;
|
|
143
|
+
if (!three) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
if (this.scene3DModelsGroup) {
|
|
147
|
+
disposeMaterialsOnly(three, this.scene3DModelsGroup);
|
|
148
|
+
(_b = this.scene3DGlbScene) === null || _b === void 0 ? void 0 : _b.remove(this.scene3DModelsGroup);
|
|
149
|
+
this.scene3DModelsGroup = undefined;
|
|
150
|
+
}
|
|
151
|
+
// Iterate the deduped-by-URL roots so a shared root is never disposed twice (mirrors dispose()).
|
|
152
|
+
for (const root of this.scene3DGlbRootByUrl.values()) {
|
|
153
|
+
disposeObject3D(three, root);
|
|
154
|
+
}
|
|
155
|
+
this.scene3DGlbRootByUrl.clear();
|
|
156
|
+
this.scene3DGlbTemplateById.clear();
|
|
157
|
+
this.modelsUnloadedByLod = true;
|
|
158
|
+
this.map.triggerRepaint();
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Reloads the GLB templates from disk/network and re-places them for the current floor after an
|
|
162
|
+
* LOD unload. Guards against overlapping reloads, and re-evaluates the zoom on completion so a
|
|
163
|
+
* camera that zoomed back out mid-download ends up unloaded again rather than stuck loaded.
|
|
164
|
+
*/
|
|
165
|
+
async reloadScene3DModelsForLod() {
|
|
166
|
+
if (this.glbTemplatesLoadInFlight) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
this.glbTemplatesLoadInFlight = true;
|
|
170
|
+
try {
|
|
171
|
+
await this.loadScene3DGlbTemplates();
|
|
172
|
+
this.placeScene3DModels();
|
|
173
|
+
// Only mark as loaded once placement actually succeeded, so a failed reload leaves
|
|
174
|
+
// modelsUnloadedByLod = true and the trailing updateLodForZoom() below retries it.
|
|
175
|
+
this.modelsUnloadedByLod = false;
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
console.error("Failed to reload declarative GLB models after LOD unload", err);
|
|
179
|
+
}
|
|
180
|
+
finally {
|
|
181
|
+
this.glbTemplatesLoadInFlight = false;
|
|
182
|
+
}
|
|
183
|
+
// The camera may have moved during the async load; re-evaluate so a zoom back out unloads again.
|
|
184
|
+
this.updateLodForZoom();
|
|
96
185
|
}
|
|
97
186
|
/**
|
|
98
187
|
* Sets the route path used for GLB route-transparency collision and re-evaluates which models a
|
|
@@ -125,6 +214,80 @@ export class Scene3DController {
|
|
|
125
214
|
this.currentFloor = currentFloor !== null && currentFloor !== void 0 ? currentFloor : "";
|
|
126
215
|
this.updateDeckOverlay();
|
|
127
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* A point-in-time snapshot of the 3D scene's memory drivers, for profiling. The Three.js
|
|
219
|
+
* `renderer.info` counters are the best in-page proxy for GLB VRAM (decoded geometries/textures
|
|
220
|
+
* live on the GPU and are not visible to `performance.memory`, which only reports the JS heap).
|
|
221
|
+
* The deck tile counts approximate the overlay's parsed-tile working set — the thing the tile-cache
|
|
222
|
+
* bounds (see {@link DeckTileCacheConfig}) keep from growing without limit as the map pans/zooms.
|
|
223
|
+
*
|
|
224
|
+
* @group Map
|
|
225
|
+
*/
|
|
226
|
+
getDebugStats() {
|
|
227
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
228
|
+
const info = (_a = this.glbRenderer) === null || _a === void 0 ? void 0 : _a.info;
|
|
229
|
+
const three = info
|
|
230
|
+
? {
|
|
231
|
+
geometries: info.memory.geometries,
|
|
232
|
+
textures: info.memory.textures,
|
|
233
|
+
programs: (_c = (_b = info.programs) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0,
|
|
234
|
+
renderCalls: info.render.calls,
|
|
235
|
+
triangles: info.render.triangles,
|
|
236
|
+
}
|
|
237
|
+
: null;
|
|
238
|
+
let deckTiles = null;
|
|
239
|
+
try {
|
|
240
|
+
// Best-effort read of each overlay layer's parsed-tile count. deck.gl internals are private,
|
|
241
|
+
// so this is guarded — it degrades to `null` rather than throwing if the shape changes.
|
|
242
|
+
const overlay = this.deckOverlay;
|
|
243
|
+
const layers = (_e = (_d = overlay === null || overlay === void 0 ? void 0 : overlay._deck) === null || _d === void 0 ? void 0 : _d.layerManager) === null || _e === void 0 ? void 0 : _e.layers;
|
|
244
|
+
if (Array.isArray(layers)) {
|
|
245
|
+
const counts = {};
|
|
246
|
+
for (const layer of layers) {
|
|
247
|
+
const size = (_h = (_g = (_f = layer === null || layer === void 0 ? void 0 : layer.state) === null || _f === void 0 ? void 0 : _f.tileset) === null || _g === void 0 ? void 0 : _g._cache) === null || _h === void 0 ? void 0 : _h.size;
|
|
248
|
+
if (typeof size === "number" && layer.id) {
|
|
249
|
+
// Strip deck's per-sublayer suffixes so the four MVT roots aggregate by base id.
|
|
250
|
+
const baseId = layer.id.split("-sublayer")[0];
|
|
251
|
+
counts[baseId] = Math.max((_j = counts[baseId]) !== null && _j !== void 0 ? _j : 0, size);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
deckTiles = counts;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
catch (_m) {
|
|
258
|
+
deckTiles = null;
|
|
259
|
+
}
|
|
260
|
+
return {
|
|
261
|
+
zoom: this.map.getZoom(),
|
|
262
|
+
currentFloor: this.currentFloor,
|
|
263
|
+
modelsUnloadedByLod: this.modelsUnloadedByLod,
|
|
264
|
+
glbRoots: this.scene3DGlbRootByUrl.size,
|
|
265
|
+
glbTemplates: this.scene3DGlbTemplateById.size,
|
|
266
|
+
placedModels: (_l = (_k = this.scene3DModelsGroup) === null || _k === void 0 ? void 0 : _k.children.length) !== null && _l !== void 0 ? _l : 0,
|
|
267
|
+
three,
|
|
268
|
+
deckTiles,
|
|
269
|
+
deckTileCache: this.deckTileCache,
|
|
270
|
+
lodThresholds: this.lodThresholds,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Exposes {@link getDebugStats} as `globalThis.__mvxScene3DStats()` when the opt-in flag
|
|
275
|
+
* `globalThis.__MVX_SCENE3D_DEBUG__` is truthy, so a profiling session can read the scene's memory
|
|
276
|
+
* drivers from the console/tests without external tooling. No-op (and no global written) otherwise.
|
|
277
|
+
*/
|
|
278
|
+
installDebugStatsHook() {
|
|
279
|
+
const g = globalThis;
|
|
280
|
+
if (g.__MVX_SCENE3D_DEBUG__) {
|
|
281
|
+
g.__mvxScene3DStats = () => this.getDebugStats();
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
/** Removes the debug hook if it points at this controller. Called from {@link dispose}. */
|
|
285
|
+
uninstallDebugStatsHook() {
|
|
286
|
+
const g = globalThis;
|
|
287
|
+
if (g.__mvxScene3DStats) {
|
|
288
|
+
delete g.__mvxScene3DStats;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
128
291
|
/**
|
|
129
292
|
* Releases every GPU resource this controller owns: the placed models group's material clones,
|
|
130
293
|
* the cached GLB templates' geometries/materials/textures, and the `WebGLRenderer` created for the
|
|
@@ -154,6 +317,7 @@ export class Scene3DController {
|
|
|
154
317
|
this.scene3DGlbScene = undefined;
|
|
155
318
|
(_b = this.glbRenderer) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
156
319
|
this.glbRenderer = undefined;
|
|
320
|
+
this.uninstallDebugStatsHook();
|
|
157
321
|
}
|
|
158
322
|
// Internal implementation -----------------------------------------------------------------
|
|
159
323
|
/**
|
|
@@ -182,10 +346,19 @@ export class Scene3DController {
|
|
|
182
346
|
else {
|
|
183
347
|
this.scene3DGlbLightCount = 0;
|
|
184
348
|
}
|
|
349
|
+
this.glbTemplatesLoadInFlight = true;
|
|
185
350
|
void this.loadScene3DGlbTemplates()
|
|
186
|
-
.then(() =>
|
|
351
|
+
.then(() => {
|
|
352
|
+
this.placeScene3DModels();
|
|
353
|
+
})
|
|
187
354
|
.catch((err) => {
|
|
188
355
|
console.error("Failed to initialize declarative GLB models", err);
|
|
356
|
+
})
|
|
357
|
+
.finally(() => {
|
|
358
|
+
this.glbTemplatesLoadInFlight = false;
|
|
359
|
+
// Honor LOD from the first frame: if the map opened below the unload threshold, free the
|
|
360
|
+
// models just loaded (they reload when the user zooms in). No-op when LOD is disabled.
|
|
361
|
+
this.updateLodForZoom();
|
|
189
362
|
});
|
|
190
363
|
let renderer = undefined;
|
|
191
364
|
let camera = undefined;
|
|
@@ -515,40 +688,41 @@ export class Scene3DController {
|
|
|
515
688
|
this.spriteIconMapping = json;
|
|
516
689
|
this.spriteAtlasImage = img;
|
|
517
690
|
}
|
|
691
|
+
/**
|
|
692
|
+
* Cache-bounding props spread onto every deck.gl `MVTLayer` so the overlays never keep an
|
|
693
|
+
* unbounded set of parsed tiles in memory. `maxCacheByteSize` is only included when configured
|
|
694
|
+
* (deck.gl enforces it only when a tile's byte size is known).
|
|
695
|
+
*/
|
|
696
|
+
get deckTileCacheProps() {
|
|
697
|
+
const { maxCacheSize, maxRequests, refinementStrategy, maxCacheByteSize } = this.deckTileCache;
|
|
698
|
+
const props = { maxCacheSize, maxRequests, refinementStrategy };
|
|
699
|
+
if (maxCacheByteSize !== undefined) {
|
|
700
|
+
props.maxCacheByteSize = maxCacheByteSize;
|
|
701
|
+
}
|
|
702
|
+
return props;
|
|
703
|
+
}
|
|
518
704
|
makeElevatedLinesLayer(floorKey, layerConfig) {
|
|
519
705
|
var _a;
|
|
520
706
|
const deck = this.deckMod;
|
|
521
707
|
if (!deck)
|
|
522
708
|
return null;
|
|
523
|
-
return new deck.MVTLayer({
|
|
524
|
-
id: "indoor-lines-elevated",
|
|
525
|
-
data: layerConfig.dataUrl,
|
|
526
|
-
binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false,
|
|
527
|
-
renderSubLayers: (props) => {
|
|
709
|
+
return new deck.MVTLayer(Object.assign(Object.assign({}, this.deckTileCacheProps), { id: "indoor-lines-elevated", data: layerConfig.dataUrl, binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false, renderSubLayers: (props) => {
|
|
528
710
|
var _a, _b, _c, _d;
|
|
529
711
|
const paths = buildElevatedPaths((props.data || []), floorKey, (_a = layerConfig.defaultHeight) !== null && _a !== void 0 ? _a : 5);
|
|
530
712
|
if (!paths.length)
|
|
531
713
|
return null;
|
|
532
714
|
// Default color hardcoded to "#cbcbcb" (from the original style) to avoid a type mismatch.
|
|
533
715
|
return new deck.PathLayer(Object.assign(Object.assign({}, props), { id: `${props.id}-paths`, data: paths, getPath: (d) => d.path, getColor: hexToRgb((_b = layerConfig.lineColor) !== null && _b !== void 0 ? _b : "#cbcbcb"), getWidth: (_c = layerConfig.lineWidth) !== null && _c !== void 0 ? _c : 1.5, widthUnits: (_d = layerConfig.widthUnits) !== null && _d !== void 0 ? _d : "pixels", pickable: false }));
|
|
534
|
-
},
|
|
535
|
-
updateTriggers: {
|
|
716
|
+
}, updateTriggers: {
|
|
536
717
|
renderSubLayers: [floorKey],
|
|
537
|
-
}
|
|
538
|
-
});
|
|
718
|
+
} }));
|
|
539
719
|
}
|
|
540
720
|
makeLabelLayer(floorKey, layerConfig, useSdf = true) {
|
|
541
721
|
var _a, _b, _c;
|
|
542
722
|
const deck = this.deckMod;
|
|
543
723
|
if (!deck)
|
|
544
724
|
return null;
|
|
545
|
-
return new deck.MVTLayer({
|
|
546
|
-
id: "indoor-labels",
|
|
547
|
-
data: layerConfig.dataUrl,
|
|
548
|
-
binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false,
|
|
549
|
-
minZoom: (_b = layerConfig.minZoom) !== null && _b !== void 0 ? _b : 19.5,
|
|
550
|
-
maxZoom: (_c = layerConfig.maxZoom) !== null && _c !== void 0 ? _c : 24,
|
|
551
|
-
renderSubLayers: (props) => {
|
|
725
|
+
return new deck.MVTLayer(Object.assign(Object.assign({}, this.deckTileCacheProps), { id: "indoor-labels", data: layerConfig.dataUrl, binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false, minZoom: (_b = layerConfig.minZoom) !== null && _b !== void 0 ? _b : 19.5, maxZoom: (_c = layerConfig.maxZoom) !== null && _c !== void 0 ? _c : 24, renderSubLayers: (props) => {
|
|
552
726
|
var _a, _b, _c, _d, _e, _f;
|
|
553
727
|
// Use area_name and poi Point features — unique per tile, no duplicates.
|
|
554
728
|
// If a logo-{name} image exists in the sprite, the icon takes priority over the text label.
|
|
@@ -556,57 +730,39 @@ export class Scene3DController {
|
|
|
556
730
|
if (!textData.length)
|
|
557
731
|
return null;
|
|
558
732
|
return new deck.TextLayer(Object.assign(Object.assign({}, props), { id: `${props.id}-labels`, data: textData, getPosition: (d) => d.position, getText: (d) => d.text, getSize: (_b = layerConfig.size) !== null && _b !== void 0 ? _b : 16, getColor: hexToRgb((_c = layerConfig.color) !== null && _c !== void 0 ? _c : "#91969b"), outlineColor: useSdf ? [255, 255, 255, 255] : [0, 0, 0, 0], outlineWidth: useSdf ? 4 : 0, fontSettings: { sdf: useSdf }, fontFamily: (_d = layerConfig.fontFamily) !== null && _d !== void 0 ? _d : "Open Sans, sans-serif", fontWeight: (_e = layerConfig.fontWeight) !== null && _e !== void 0 ? _e : 600, billboard: true, pickable: false, characterSet: "auto", wordBreak: "break-word", maxWidth: (_f = layerConfig.maxWidth) !== null && _f !== void 0 ? _f : 150 }));
|
|
559
|
-
},
|
|
560
|
-
updateTriggers: {
|
|
733
|
+
}, updateTriggers: {
|
|
561
734
|
renderSubLayers: [floorKey],
|
|
562
|
-
}
|
|
563
|
-
});
|
|
735
|
+
} }));
|
|
564
736
|
}
|
|
565
737
|
makePoiIconLayer(floorKey, layerConfig) {
|
|
566
738
|
var _a, _b, _c;
|
|
567
739
|
const deck = this.deckMod;
|
|
568
740
|
if (!deck || !this.spriteIconMapping || !this.spriteAtlasImage)
|
|
569
741
|
return null;
|
|
570
|
-
return new deck.MVTLayer({
|
|
571
|
-
id: "indoor-poi-icons",
|
|
572
|
-
data: layerConfig.dataUrl,
|
|
573
|
-
binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false,
|
|
574
|
-
minZoom: (_b = layerConfig.minZoom) !== null && _b !== void 0 ? _b : 17,
|
|
575
|
-
maxZoom: (_c = layerConfig.maxZoom) !== null && _c !== void 0 ? _c : 24,
|
|
576
|
-
renderSubLayers: (props) => {
|
|
742
|
+
return new deck.MVTLayer(Object.assign(Object.assign({}, this.deckTileCacheProps), { id: "indoor-poi-icons", data: layerConfig.dataUrl, binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false, minZoom: (_b = layerConfig.minZoom) !== null && _b !== void 0 ? _b : 17, maxZoom: (_c = layerConfig.maxZoom) !== null && _c !== void 0 ? _c : 24, renderSubLayers: (props) => {
|
|
577
743
|
var _a, _b, _c, _d, _e;
|
|
578
744
|
const iconData = buildPoiIconData((props.data || []), floorKey, (_a = layerConfig.defaultHeight) !== null && _a !== void 0 ? _a : 5);
|
|
579
745
|
if (!iconData.length)
|
|
580
746
|
return null;
|
|
581
747
|
return new deck.IconLayer(Object.assign(Object.assign({}, props), { id: `${props.id}-poi-icons`, data: iconData, iconAtlas: this.spriteAtlasImage, iconMapping: this.spriteIconMapping, getIcon: (d) => d.icon, getPosition: (d) => d.position, getSize: (_b = layerConfig.size) !== null && _b !== void 0 ? _b : 2, sizeUnits: (_c = layerConfig.sizeUnits) !== null && _c !== void 0 ? _c : "meters", sizeScale: (_d = layerConfig.sizeScale) !== null && _d !== void 0 ? _d : 1, billboard: (_e = layerConfig.billboard) !== null && _e !== void 0 ? _e : true, pickable: false }));
|
|
582
|
-
},
|
|
583
|
-
updateTriggers: {
|
|
748
|
+
}, updateTriggers: {
|
|
584
749
|
renderSubLayers: [floorKey],
|
|
585
|
-
}
|
|
586
|
-
});
|
|
750
|
+
} }));
|
|
587
751
|
}
|
|
588
752
|
makeStoreLogoLayer(floorKey, layerConfig) {
|
|
589
753
|
var _a, _b, _c;
|
|
590
754
|
const deck = this.deckMod;
|
|
591
755
|
if (!deck || !this.spriteIconMapping || !this.spriteAtlasImage)
|
|
592
756
|
return null;
|
|
593
|
-
return new deck.MVTLayer({
|
|
594
|
-
id: "indoor-store-logos",
|
|
595
|
-
data: layerConfig.dataUrl,
|
|
596
|
-
binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false,
|
|
597
|
-
minZoom: (_b = layerConfig.minZoom) !== null && _b !== void 0 ? _b : 13,
|
|
598
|
-
maxZoom: (_c = layerConfig.maxZoom) !== null && _c !== void 0 ? _c : 24,
|
|
599
|
-
renderSubLayers: (props) => {
|
|
757
|
+
return new deck.MVTLayer(Object.assign(Object.assign({}, this.deckTileCacheProps), { id: "indoor-store-logos", data: layerConfig.dataUrl, binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false, minZoom: (_b = layerConfig.minZoom) !== null && _b !== void 0 ? _b : 13, maxZoom: (_c = layerConfig.maxZoom) !== null && _c !== void 0 ? _c : 24, renderSubLayers: (props) => {
|
|
600
758
|
var _a, _b, _c, _d;
|
|
601
759
|
const logoData = buildStoreLogoData((props.data || []), floorKey, this.spriteIconMapping, (_a = layerConfig.defaultHeight) !== null && _a !== void 0 ? _a : 5);
|
|
602
760
|
if (!logoData.length)
|
|
603
761
|
return null;
|
|
604
762
|
return new deck.IconLayer(Object.assign(Object.assign({}, props), { id: `${props.id}-store-logos`, data: logoData, iconAtlas: this.spriteAtlasImage, iconMapping: this.spriteIconMapping, getIcon: (d) => d.icon, getPosition: (d) => d.position, getAngle: (d) => -d.rotation, getSize: (d) => { var _a; return computeStoreLogoSize(this.spriteIconMapping, d.icon, (_a = layerConfig.logoScale) !== null && _a !== void 0 ? _a : {}); }, sizeUnits: (_b = layerConfig.sizeUnits) !== null && _b !== void 0 ? _b : "meters", sizeScale: (_c = layerConfig.sizeScale) !== null && _c !== void 0 ? _c : 1, billboard: (_d = layerConfig.billboard) !== null && _d !== void 0 ? _d : false, pickable: false }));
|
|
605
|
-
},
|
|
606
|
-
updateTriggers: {
|
|
763
|
+
}, updateTriggers: {
|
|
607
764
|
renderSubLayers: [floorKey],
|
|
608
|
-
}
|
|
609
|
-
});
|
|
765
|
+
} }));
|
|
610
766
|
}
|
|
611
767
|
updateDeckOverlay() {
|
|
612
768
|
if (!this.deckOverlay || !this.currentFloor)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene3DController.js","sourceRoot":"","sources":["../../../src/map/scene3DController.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAsD,MAAM,aAAa,CAAA;AAcpG,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,QAAQ,EACR,yBAAyB,EACzB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAqC,MAAM,gBAAgB,CAAA;AACvF,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,iBAAiB;IA4C5B,YACE,GAAgB,EAChB,aAA4B,EAC5B,aAAqB,EACrB,gBAA4D;QApC9D,mGAAmG;QAC3F,iBAAY,GAAG,EAAE,CAAA;QAEzB,iFAAiF;QACzE,aAAQ,GAA4B,SAAS,CAAA;QAC7C,YAAO,GAA2B,SAAS,CAAA;QAC3C,gBAAW,GAA8B,SAAS,CAAA;QAClD,oBAAe,GAA4B,SAAS,CAAA;QAC5D,oDAAoD;QACnC,wBAAmB,GAAG,IAAI,UAAU,CAAC,GAAG,EAAuB,CAAA;QAChF,6DAA6D;QAC5C,2BAAsB,GAAG,IAAI,UAAU,CAAC,GAAG,EAGzD,CAAA;QACH,gFAAgF;QACxE,yBAAoB,GAAG,CAAC,CAAA;QAChC,mFAAmF;QAC3E,uBAAkB,GAA4B,SAAS,CAAA;QAC/D,6GAA6G;QACrG,gBAAW,GAAoC,SAAS,CAAA;QAChE;;;;;WAKG;QACK,gCAA2B,GAAqD,EAAE,CAAA;QAClF,sBAAiB,GAAmC,EAAE,CAAA;QACtD,qBAAgB,GAAqB,IAAI,KAAK,EAAE,CAAA;QAStD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;IAC1C,CAAC;IAED,4FAA4F;IAE5F;;;OAGG;IACH,KAAK,CAAC,SAAS;;QACb,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAA;YACjE,OAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEzB,+EAA+E;QAC/E,6CAA6C;QAC7C,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,aAAa,CAAC,YAAY,0CAAE,UAAU,0CAAE,SAAS,CAAA;QACxE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAClD,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAClD,CAAA;QACH,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QACjE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACrC,4DAA4D;QAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAE9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAA;QACxC,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAE9E,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;QAChD,CAAC;QAED,oFAAoF;QACpF,+FAA+F;QAC/F,6FAA6F;QAC7F,2FAA2F;QAC3F,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED,0EAA0E;IAC1E,MAAM;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,MAAwD;QAC5E,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAA;QACzC,IAAI,CAAC,4BAA4B,EAAE,CAAA;QACnC,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,YAAuC;QACnD,MAAM,SAAS,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAA;QACpC,IAAI,SAAS,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAED,+EAA+E;IAC/E,cAAc,CAAC,YAAuC;QACpD,IAAI,CAAC,YAAY,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAA;QACtC,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACH,OAAO;;QACL,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAA;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;gBACpD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;YACrC,CAAC;YACD,6FAA6F;YAC7F,iFAAiF;YACjF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;gBACrD,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAA;QAChC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO,EAAE,CAAA;QAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;IAC9B,CAAC;IAED,4FAA4F;IAE5F;;;OAGG;IACK,KAAK,CAAC,YAAY;;QACxB,MAAA,IAAI,CAAC,QAAQ,oCAAb,IAAI,CAAC,QAAQ,GAAK,MAAM,SAAS,EAAE,EAAA;QACnC,MAAA,IAAI,CAAC,OAAO,oCAAZ,IAAI,CAAC,OAAO,GAAK,MAAM,QAAQ,EAAE,EAAA;IACnC,CAAC;IAEO,oBAAoB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,CAAA;QAClC,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,WAAW,CAAC,8BAA8B,EAAE,CAAA;QAE/D,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;aACvC,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;aAC5D,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;aAC7D,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAE3D,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAA;QACxC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;YAC5C,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QACnF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAA;QAC/B,CAAC;QAED,KAAK,IAAI,CAAC,uBAAuB,EAAE;aAChC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACrC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAA;QACnE,CAAC,CAAC,CAAA;QAEJ,IAAI,QAAQ,GAAoC,SAAS,CAAA;QACzD,IAAI,MAAM,GAA6B,SAAS,CAAA;QAChD,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;QAErC,OAAO;YACL,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,IAAI;YAEnB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;gBAClB,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAA;gBAC3B,QAAQ,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC;oBACjC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;oBACxB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAA;gBACF,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAA;gBAC1B,wEAAwE;gBACxE,QAAQ,CAAC,OAAO,GAAG,UAAU,KAAa,EAAE,MAAc;oBACxD,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;gBACvC,CAAC,CAAA;gBACD,4FAA4F;gBAC5F,sFAAsF;gBACtF,0FAA0F;gBAC1F,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAA;YAC7B,CAAC;YAED,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,OAAO,EAAE,CAAA;YAChB,CAAC;YAED,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;;gBACpB,IACE,CAAC,MAAM;oBACP,CAAC,QAAQ;oBACT,CAAC,IAAI,CAAC,eAAe;oBACrB,CAAC,IAAI,CAAC,kBAAkB;oBACxB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAC7C,CAAC;oBACD,OAAM;gBACR,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAA;gBACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;gBAC5B,2EAA2E;gBAC3E,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAM;gBACR,CAAC;gBAED,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,qBAAqB,0CAAE,UAAU,CAAA;gBACzD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAM;gBACR,CAAC;gBAED,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;gBAC/B,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;gBACxD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAEvC,QAAQ,CAAC,UAAU,EAAE,CAAA;gBACrB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;YAC/C,CAAC;SACF,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB;;QACnC,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAA;QACxC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,OAAM;QACR,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAA;QAChC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAA;QAEnC,6FAA6F;QAC7F,iGAAiG;QACjG,iGAAiG;QACjG,2FAA2F;QAC3F,8FAA8F;QAC9F,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,EAAmB,CAAA;QACxD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QAEvE,8FAA8F;QAC9F,gGAAgG;QAChG,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,GAAG,EAAkB,CAAA;QAC7D,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,GAAG,EAAyB,CAAA;QACnE,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAA;QACrC,MAAM,cAAc,GAAG,CAAC,IAAa,EAAQ,EAAE;;YAC7C,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAM;YAClC,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,IAAI,UAAU,GAAkB,CAAC,CAAA;YACjC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,WAAW,IAAI,MAAA,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAA;gBAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACtC,UAAU,GAAG,KAAK,IAAI,IAAI,IAAI,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAA;YAC/E,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,gBAAgB,CAAC;oBACpB,YAAY,EAAE,aAAa;oBAC3B,WAAW;oBACX,WAAW;oBACX,UAAU;oBACV,IAAI;iBACL,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,0FAA0F;gBAC1F,qFAAqF;gBACrF,iFAAiF;gBACjF,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAA;YAC9D,CAAC;QACH,CAAC,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;YAC3B,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,GAAG,EACH,MAAM,WAAW,CAAC,GAAG,EAAE;oBACrB,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;wBACpB,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;wBACvC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;wBACrE,cAAc,CAAC,KAAK,CAAC,CAAA;oBACvB,CAAC;iBACF,CAAC,CACH,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC1B,CAAC;oBAAS,CAAC;gBACT,aAAa,EAAE,CAAA;gBACf,wFAAwF;gBACxF,yFAAyF;gBACzF,qFAAqF;gBACrF,8EAA8E;gBAC9E,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,MAAA,MAAA,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,CAAC,CAAC,CAAA;gBACpF,SAAS,CAAC,OAAO,EAAE,CAAA;gBACnB,cAAc,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QACD,cAAc,CAAC,IAAI,CAAC,CAAA;QAEpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACpD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CACX,6BAA6B,KAAK,CAAC,EAAE,UAAU,KAAK,CAAC,GAAG,EAAE,EAC1D,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAC1B,CAAA;gBACD,SAAQ;YACV,CAAC;YACD,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAClD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC;IAEO,kBAAkB;;QACxB,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAA;QAClC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACpC,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAA;QACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACxC,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,4FAA4F;YAC5F,0FAA0F;YAC1F,2FAA2F;YAC3F,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;YACpD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YACpD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAM;QACR,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,WAAW,CAAC,8BAA8B,EAAE,CAAA;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAA;QAElC,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAA;QACrC,WAAW,CAAC,QAAQ,CAAC,GAAG,CACtB,MAAA,MAAA,MAAM,CAAC,YAAY,0CAAE,CAAC,mCAAI,CAAC,EAC3B,MAAA,MAAA,MAAM,CAAC,YAAY,0CAAE,CAAC,mCAAI,CAAC,EAC3B,MAAA,MAAA,MAAM,CAAC,YAAY,0CAAE,CAAC,mCAAI,CAAC,CAC5B,CAAA;QAED,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACpD,SAAQ;YACV,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAQ;YACV,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,CAAA;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAQ;YACV,CAAC;YAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAC1C,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAChD,MAAA,SAAS,CAAC,QAAQ,CAAC,QAAQ,mCAAI,CAAC,CACjC,CAAA;YACD,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,oBAAoB,CAC7C,MAAM,EACN,WAAW,EACX,UAAU,EACV,KAAK,CAAC,kBAAkB,EACxB,SAAS,CAAC,MAAM,CACjB,CAAA;YAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAA;YAC/B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YAEpC,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;YAC5E,KAAK,CAAC,QAAQ,CAAC,GAAG,CAChB,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EACzC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EACxC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EACxC,KAAK,CACN,CAAA;YAED,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YAC1E,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YAE9B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACvC,qFAAqF;YACrF,wFAAwF;YACxF,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrB,MAAM,IAAI,GAAG,GAAiB,CAAA;gBAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC1C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;oBACrC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;YAC3B,CAAC,CAAC,CAAA;YACF,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAE9E,4FAA4F;YAC5F,KAAK,CAAC,QAAQ,CAAC,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YAEnF,wFAAwF;YACxF,+DAA+D;YAC/D,KAAK,CAAC,QAAQ,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YAErF,4FAA4F;YAC5F,2FAA2F;YAC3F,8FAA8F;YAC9F,wFAAwF;YACxF,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACtD,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG;gBACzB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;aACI,CAAA;YAE1B,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAChB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAA;QACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACrC,2FAA2F;QAC3F,mCAAmC;QACnC,IAAI,CAAC,4BAA4B,EAAE,CAAA;QACnC,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAA;IAC3B,CAAC;IAED;;;;;OAKG;IACK,4BAA4B;;QAClC,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAA;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAA;QAC3C,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC,CAAA;QAE/F,mFAAmF;QACnF,4FAA4F;QAC5F,+FAA+F;QAC/F,oEAAoE;QACpE,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,WAAW,CAAC,8BAA8B,EAAE,CAAA;QAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;YACjD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;YACjD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;QACjC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAwD,CAAA;YACxF,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAuC,CAAA;YACxE,sFAAsF;YACtF,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,KAAK,CAAC,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAA;gBACpC,SAAQ;YACV,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC1D,wFAAwF;gBACxF,yFAAyF;gBACzF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBACd,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;gBAC/B,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;gBACzB,OAAO,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;YACtD,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QAC/B,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,gBAAsD,CAAA;YACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAwD,CAAA;YACxF,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAA;YAC3D,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;YAC7E,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrB,MAAM,IAAI,GAAG,GAAiB,CAAA;gBAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAM;gBACR,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAChF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;wBACjC,QAAQ,CAAC,WAAW,GAAG,OAAO,GAAG,CAAC,CAAA;wBAClC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;wBAC1B,wEAAwE;wBACxE,QAAQ,CAAC,UAAU,GAAG,OAAO,IAAI,CAAC,CAAA;wBAClC,OAAO,GAAG,IAAI,CAAA;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAA;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,SAAiB;QAC7C,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpC,KAAK,CAAC,GAAG,SAAS,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAChD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;gBACzB,KAAK,CAAC,WAAW,GAAG,WAAW,CAAA;gBAC/B,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBACnC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;gBACtB,KAAK,CAAC,GAAG,GAAG,GAAG,SAAS,MAAM,CAAA;YAChC,CAAC,CAAC;SACH,CAAC,CAAA;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAA;IAC7B,CAAC;IAEO,sBAAsB,CAC5B,QAAgB,EAChB,WAAqC;;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAEtB,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC;YACvB,EAAE,EAAE,uBAAuB;YAC3B,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,MAAM,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,KAAK;YAEvC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACzB,MAAM,KAAK,GAAG,kBAAkB,CAC9B,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAc,EAC/B,QAAQ,EACR,MAAA,WAAW,CAAC,aAAa,mCAAI,CAAC,CAC/B,CAAA;gBACD,IAAI,CAAC,KAAK,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAA;gBAE9B,2FAA2F;gBAC3F,OAAO,IAAI,IAAI,CAAC,SAAS,iCACpB,KAAK,KACR,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ,EACvB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EACtB,QAAQ,EAAE,QAAQ,CAAC,MAAA,WAAW,CAAC,SAAS,mCAAI,SAAS,CAAC,EACtD,QAAQ,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,GAAG,EACtC,UAAU,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,QAAQ,EAC9C,QAAQ,EAAE,KAAK,IACf,CAAA;YACJ,CAAC;YAED,cAAc,EAAE;gBACd,eAAe,EAAE,CAAC,QAAQ,CAAC;aAC5B;SACF,CAAC,CAAA;IACJ,CAAC;IAEO,cAAc,CACpB,QAAgB,EAChB,WAA6B,EAC7B,SAAkB,IAAI;;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAEtB,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC;YACvB,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,MAAM,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,KAAK;YACvC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,IAAI;YACpC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE;YAElC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACzB,yEAAyE;gBACzE,4FAA4F;gBAC5F,MAAM,QAAQ,GAAG,cAAc,CAC7B,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAc,EAC/B,QAAQ,EACR,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EACvC,MAAA,WAAW,CAAC,aAAa,mCAAI,CAAC,CAC/B,CAAA;gBACD,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAA;gBAEjC,OAAO,IAAI,IAAI,CAAC,SAAS,iCACpB,KAAK,KACR,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,SAAS,EACxB,IAAI,EAAE,QAAQ,EACd,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EACtB,OAAO,EAAE,MAAA,WAAW,CAAC,IAAI,mCAAI,EAAE,EAC/B,QAAQ,EAAE,QAAQ,CAAC,MAAA,WAAW,CAAC,KAAK,mCAAI,SAAS,CAAC,EAClD,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC1D,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5B,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAC7B,UAAU,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,uBAAuB,EAC7D,UAAU,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,GAAG,EACzC,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,MAAA,WAAW,CAAC,QAAQ,mCAAI,GAAG,IACrC,CAAA;YACJ,CAAC;YAED,cAAc,EAAE;gBACd,eAAe,EAAE,CAAC,QAAQ,CAAC;aAC5B;SACF,CAAC,CAAA;IACJ,CAAC;IAEO,gBAAgB,CAAC,QAAgB,EAAE,WAAgC;;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;QACzB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAA;QAE3E,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC;YACvB,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,MAAM,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,KAAK;YACvC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE;YAClC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE;YAElC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACzB,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAc,EAC/B,QAAQ,EACR,MAAA,WAAW,CAAC,aAAa,mCAAI,CAAC,CAC/B,CAAA;gBACD,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAA;gBAEjC,OAAO,IAAI,IAAI,CAAC,SAAS,iCACpB,KAAK,KACR,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,YAAY,EAC3B,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,IAAI,CAAC,gBAA6C,EAC7D,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACnC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EACtB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAC9B,OAAO,EAAE,MAAA,WAAW,CAAC,IAAI,mCAAI,CAAC,EAC9B,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,QAAQ,EAC5C,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,CAAC,EACrC,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,IAAI,EACxC,QAAQ,EAAE,KAAK,IACf,CAAA;YACJ,CAAC;YAED,cAAc,EAAE;gBACd,eAAe,EAAE,CAAC,QAAQ,CAAC;aAC5B;SACF,CAAC,CAAA;IACJ,CAAC;IAEO,kBAAkB,CACxB,QAAgB,EAChB,WAAkC;;QAElC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;QACzB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,IAAI,CAAA;QAE3E,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC;YACvB,EAAE,EAAE,oBAAoB;YACxB,IAAI,EAAE,WAAW,CAAC,OAAO;YACzB,MAAM,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,KAAK;YACvC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE;YAClC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE;YAElC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACzB,MAAM,QAAQ,GAAG,kBAAkB,CACjC,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAc,EAC/B,QAAQ,EACR,IAAI,CAAC,iBAAiB,EACtB,MAAA,WAAW,CAAC,aAAa,mCAAI,CAAC,CAC/B,CAAA;gBACD,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAA;gBAEjC,OAAO,IAAI,IAAI,CAAC,SAAS,iCACpB,KAAK,KACR,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,cAAc,EAC7B,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,IAAI,CAAC,gBAA6C,EAC7D,WAAW,EAAE,IAAI,CAAC,iBAAiB,EACnC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EACtB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,WACb,OAAA,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAA,EAAA,EACnF,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,QAAQ,EAC5C,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,CAAC,EACrC,SAAS,EAAE,MAAA,WAAW,CAAC,SAAS,mCAAI,KAAK,EACzC,QAAQ,EAAE,KAAK,IACf,CAAA;YACJ,CAAC;YAED,cAAc,EAAE;gBACd,eAAe,EAAE,CAAC,QAAQ,CAAC;aAC5B;SACF,CAAC,CAAA;IACJ,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAM;QACnD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY;YAAE,OAAM;QAC5C,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QAC3C,MAAM,MAAM,GAAG,EAAE,CAAA;QACjB,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAA;QAC9F,CAAC;QACD,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAA;QACtF,CAAC;QACD,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;YAC5B,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC,UAAU,CAAA;YAClE,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAA;YAC1E,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IACvC,CAAC;IAEO,UAAU,CAAC,SAAoB;QACrC,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YACxC,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;;AAhyBD;;;;;GAKG;AACqB,sCAAoB,GAAG,CAAC,AAAJ,CAAI"}
|
|
1
|
+
{"version":3,"file":"scene3DController.js","sourceRoot":"","sources":["../../../src/map/scene3DController.ts"],"names":[],"mappings":"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"}
|
package/dist/es/utils/3d.d.ts
CHANGED
|
@@ -1,4 +1,47 @@
|
|
|
1
|
-
import type { GLBAssetConfig, GLBModelOffset, GLBPlacementConfig, Models3DConfig, Rotation3D, RouteTransparencyConfig, Scene3DLightConfig, ZoomTransparencyConfig } from "../domain/models/scene3D";
|
|
1
|
+
import type { DeckTileCacheConfig, GLBAssetConfig, GLBModelOffset, GLBPlacementConfig, Models3DConfig, Rotation3D, RouteTransparencyConfig, Scene3DLightConfig, ZoomTransparencyConfig } from "../domain/models/scene3D";
|
|
2
|
+
/** Default LOD hysteresis (zoom units) when {@link Models3DLodConfig.hysteresis} is unset. */
|
|
3
|
+
export declare const DEFAULT_LOD_HYSTERESIS = 0.5;
|
|
4
|
+
/**
|
|
5
|
+
* Resolved LOD zoom boundaries: models unload strictly below `unloadBelow` and (re)load at or
|
|
6
|
+
* above `reloadAtOrAbove`. The gap between them is the hysteresis dead-band.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export interface ResolvedLodThresholds {
|
|
10
|
+
unloadBelow: number;
|
|
11
|
+
reloadAtOrAbove: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Computes the unload/reload zoom boundaries from {@link Models3DConfig.lod}, or `null` when LOD is
|
|
15
|
+
* disabled (no `lod`, no models, or a non-finite `minZoom`). Pure — safe to unit-test without WebGL.
|
|
16
|
+
*/
|
|
17
|
+
export declare const resolveModels3DLodThresholds: (models?: Models3DConfig | null) => ResolvedLodThresholds | null;
|
|
18
|
+
/**
|
|
19
|
+
* Decides what the LOD controller should do at the current zoom given whether the models are
|
|
20
|
+
* currently unloaded. Returns `"unload"` when they are loaded but the camera is below the unload
|
|
21
|
+
* boundary, `"reload"` when they are unloaded but the camera has returned to/above the reload
|
|
22
|
+
* boundary, and `"none"` otherwise (including within the hysteresis band). Pure/testable.
|
|
23
|
+
*/
|
|
24
|
+
export declare const lodActionForZoom: (zoom: number, thresholds: ResolvedLodThresholds, currentlyUnloaded: boolean) => "unload" | "reload" | "none";
|
|
25
|
+
/**
|
|
26
|
+
* Resolved deck.gl tile-cache props: every field concrete, ready to spread onto an `MVTLayer`.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export type ResolvedDeckTileCache = Required<Pick<DeckTileCacheConfig, "maxCacheSize" | "maxRequests" | "refinementStrategy">> & Pick<DeckTileCacheConfig, "maxCacheByteSize">;
|
|
30
|
+
/**
|
|
31
|
+
* Conservative defaults that bound each deck.gl overlay layer's in-memory tile cache. Chosen to
|
|
32
|
+
* favor low RAM: only the visible working set (plus a small margin) stays parsed in memory; the
|
|
33
|
+
* raw tile bytes remain on disk in the Service Worker cache, so an evicted tile is re-parsed
|
|
34
|
+
* rather than re-downloaded. Raise `maxCacheSize` only if profiling shows flashing at the
|
|
35
|
+
* viewport edge while panning.
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
export declare const DEFAULT_DECK_TILE_CACHE: ResolvedDeckTileCache;
|
|
39
|
+
/**
|
|
40
|
+
* Merges an optional {@link DeckTileCacheConfig} over {@link DEFAULT_DECK_TILE_CACHE}, ignoring
|
|
41
|
+
* `undefined`/`null` fields and clamping numeric bounds to at least 1. The result is always
|
|
42
|
+
* bounded — passing `undefined` yields the defaults, never an unlimited cache.
|
|
43
|
+
*/
|
|
44
|
+
export declare const resolveDeckTileCache: (config?: DeckTileCacheConfig | null) => ResolvedDeckTileCache;
|
|
2
45
|
/**
|
|
3
46
|
* Default lights matching the legacy escalator scene when {@link Models3DConfig.lights} is unset.
|
|
4
47
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d.d.ts","sourceRoot":"","sources":["../../../src/utils/3d.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,
|
|
1
|
+
{"version":3,"file":"3d.d.ts","sourceRoot":"","sources":["../../../src/utils/3d.ts"],"names":[],"mappings":"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"}
|
package/dist/es/utils/3d.js
CHANGED
|
@@ -1,3 +1,78 @@
|
|
|
1
|
+
/** Default LOD hysteresis (zoom units) when {@link Models3DLodConfig.hysteresis} is unset. */
|
|
2
|
+
export const DEFAULT_LOD_HYSTERESIS = 0.5;
|
|
3
|
+
/**
|
|
4
|
+
* Computes the unload/reload zoom boundaries from {@link Models3DConfig.lod}, or `null` when LOD is
|
|
5
|
+
* disabled (no `lod`, no models, or a non-finite `minZoom`). Pure — safe to unit-test without WebGL.
|
|
6
|
+
*/
|
|
7
|
+
export const resolveModels3DLodThresholds = (models) => {
|
|
8
|
+
const lod = models === null || models === void 0 ? void 0 : models.lod;
|
|
9
|
+
if (!models ||
|
|
10
|
+
models.enabled === false ||
|
|
11
|
+
!lod ||
|
|
12
|
+
typeof lod.minZoom !== "number" ||
|
|
13
|
+
!Number.isFinite(lod.minZoom)) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const hysteresis = typeof lod.hysteresis === "number" && Number.isFinite(lod.hysteresis) && lod.hysteresis >= 0
|
|
17
|
+
? lod.hysteresis
|
|
18
|
+
: DEFAULT_LOD_HYSTERESIS;
|
|
19
|
+
return {
|
|
20
|
+
reloadAtOrAbove: lod.minZoom,
|
|
21
|
+
unloadBelow: lod.minZoom - hysteresis,
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Decides what the LOD controller should do at the current zoom given whether the models are
|
|
26
|
+
* currently unloaded. Returns `"unload"` when they are loaded but the camera is below the unload
|
|
27
|
+
* boundary, `"reload"` when they are unloaded but the camera has returned to/above the reload
|
|
28
|
+
* boundary, and `"none"` otherwise (including within the hysteresis band). Pure/testable.
|
|
29
|
+
*/
|
|
30
|
+
export const lodActionForZoom = (zoom, thresholds, currentlyUnloaded) => {
|
|
31
|
+
if (!currentlyUnloaded && zoom < thresholds.unloadBelow) {
|
|
32
|
+
return "unload";
|
|
33
|
+
}
|
|
34
|
+
if (currentlyUnloaded && zoom >= thresholds.reloadAtOrAbove) {
|
|
35
|
+
return "reload";
|
|
36
|
+
}
|
|
37
|
+
return "none";
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Conservative defaults that bound each deck.gl overlay layer's in-memory tile cache. Chosen to
|
|
41
|
+
* favor low RAM: only the visible working set (plus a small margin) stays parsed in memory; the
|
|
42
|
+
* raw tile bytes remain on disk in the Service Worker cache, so an evicted tile is re-parsed
|
|
43
|
+
* rather than re-downloaded. Raise `maxCacheSize` only if profiling shows flashing at the
|
|
44
|
+
* viewport edge while panning.
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export const DEFAULT_DECK_TILE_CACHE = {
|
|
48
|
+
// Per layer; with four overlay layers this caps the parsed-tile set at ~4x this number.
|
|
49
|
+
maxCacheSize: 64,
|
|
50
|
+
maxRequests: 6,
|
|
51
|
+
// Drop parent tiles once children cover the viewport — keeps the resident set smallest.
|
|
52
|
+
refinementStrategy: "no-overlap",
|
|
53
|
+
// Byte budget is opt-in (deck.gl only enforces it when a tile's byte size is known).
|
|
54
|
+
maxCacheByteSize: undefined,
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Merges an optional {@link DeckTileCacheConfig} over {@link DEFAULT_DECK_TILE_CACHE}, ignoring
|
|
58
|
+
* `undefined`/`null` fields and clamping numeric bounds to at least 1. The result is always
|
|
59
|
+
* bounded — passing `undefined` yields the defaults, never an unlimited cache.
|
|
60
|
+
*/
|
|
61
|
+
export const resolveDeckTileCache = (config) => {
|
|
62
|
+
var _a;
|
|
63
|
+
const clampPositive = (value, fallback) => typeof value === "number" && Number.isFinite(value) && value >= 1 ? Math.floor(value) : fallback;
|
|
64
|
+
const maxCacheByteSize = typeof (config === null || config === void 0 ? void 0 : config.maxCacheByteSize) === "number" &&
|
|
65
|
+
Number.isFinite(config.maxCacheByteSize) &&
|
|
66
|
+
config.maxCacheByteSize >= 1
|
|
67
|
+
? Math.floor(config.maxCacheByteSize)
|
|
68
|
+
: DEFAULT_DECK_TILE_CACHE.maxCacheByteSize;
|
|
69
|
+
return {
|
|
70
|
+
maxCacheSize: clampPositive(config === null || config === void 0 ? void 0 : config.maxCacheSize, DEFAULT_DECK_TILE_CACHE.maxCacheSize),
|
|
71
|
+
maxRequests: clampPositive(config === null || config === void 0 ? void 0 : config.maxRequests, DEFAULT_DECK_TILE_CACHE.maxRequests),
|
|
72
|
+
refinementStrategy: (_a = config === null || config === void 0 ? void 0 : config.refinementStrategy) !== null && _a !== void 0 ? _a : DEFAULT_DECK_TILE_CACHE.refinementStrategy,
|
|
73
|
+
maxCacheByteSize,
|
|
74
|
+
};
|
|
75
|
+
};
|
|
1
76
|
/**
|
|
2
77
|
* Default lights matching the legacy escalator scene when {@link Models3DConfig.lights} is unset.
|
|
3
78
|
* @internal
|