@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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAKA,gFAAgF;AAChF,4DAA0D;AAAjD,oGAAA,QAAQ,OAAA;AACjB,0EAAwE;AAA/D,kHAAA,eAAe,OAAA;AACxB,oEAAkE;AAAzD,4GAAA,YAAY,OAAA;AAErB,kEAG2C;AAFzC,oHAAA,qBAAqB,OAAA;AACrB,wHAAA,yBAAyB,OAAA;AAG3B,gFAAgF;AAChF,yEAAuE;AAA9D,kHAAA,eAAe,OAAA;AAExB,gFAAgF;AAChF,gEAA8D;AAArD,sGAAA,SAAS,OAAA;AAKlB,gFAAgF;AAChF,6BAAqC;AAA5B,oGAAA,aAAa,OAAA;AAatB,gFAAgF;AAChF,wCAAgE;AAAvD,wHAAA,+BAA+B,OAAA;AAGxC,gFAAgF;AAChF,iDAA+C;AAAtC,gGAAA,MAAM,OAAA;AAEf,gFAAgF;AAChF,yDAAkG;AAAzF,6GAAA,eAAe,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAAE,6GAAA,eAAe,OAAA;AAgB9D,gFAAgF;AAChF,iDAK+B;AAJ7B,oGAAA,UAAU,OAAA;AACV,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,6GAAA,mBAAmB,OAAA;AAqCrB,gFAAgF;AAChF,2DAAyD;AAAhD,0GAAA,WAAW,OAAA;AASpB,gFAAgF;AAChF,uDAIkC;AAHhC,yHAAA,4BAA4B,OAAA;AAC5B,sHAAA,yBAAyB,OAAA;AACzB,6HAAA,gCAAgC,OAAA;AASlC,gFAAgF;AAChF,iDAAqD;AAA5C,sGAAA,YAAY,OAAA;AASrB,gFAAgF;AAChF,+CAAgD;AAAvC,iGAAA,QAAQ,OAAA;AAMjB,gFAAgF;AAChF,+CAA2E;AAAlE,iGAAA,QAAQ,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,qGAAA,YAAY,OAAA;AAE5C,gFAAgF;AAChF,yEAAmG;AAA1F,oHAAA,cAAc,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AAAE,gHAAA,UAAU,OAAA;AAmCvD,gFAAgF;AAChF,uDAAwD;AAA/C,yGAAA,YAAY,OAAA;AAQrB,gFAAgF;AAChF,iDAAsD;AAA7C,+GAAA,iBAAiB,OAAA;AAC1B,qEAAiE;AAAxD,0HAAA,kBAAkB,OAAA;AAC3B,uDAA8D;AAArD,uHAAA,sBAAsB,OAAA;AAC/B,iDAAsF;AAA7E,+GAAA,iBAAiB,OAAA;AAAE,4HAAA,8BAA8B,OAAA;AAE1D;;;GAGG;AACI,MAAM,UAAU,GAAG,GAAS,EAAE;IACnC,qCAAqC;IACrC,IAAI,QAAQ,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACtD,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAA;IACvB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA,CAAC,wBAAwB;IACnD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC,CAAA;AAXY,QAAA,UAAU,cAWtB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAKA,gFAAgF;AAChF,4DAA0D;AAAjD,oGAAA,QAAQ,OAAA;AACjB,0EAAwE;AAA/D,kHAAA,eAAe,OAAA;AACxB,oEAAkE;AAAzD,4GAAA,YAAY,OAAA;AAErB,kEAG2C;AAFzC,oHAAA,qBAAqB,OAAA;AACrB,wHAAA,yBAAyB,OAAA;AAG3B,gFAAgF;AAChF,yEAAuE;AAA9D,kHAAA,eAAe,OAAA;AAExB,gFAAgF;AAChF,gEAA8D;AAArD,sGAAA,SAAS,OAAA;AAKlB,gFAAgF;AAChF,6BAAqC;AAA5B,oGAAA,aAAa,OAAA;AAatB,gFAAgF;AAChF,wCAAgE;AAAvD,wHAAA,+BAA+B,OAAA;AAGxC,gFAAgF;AAChF,iDAA+C;AAAtC,gGAAA,MAAM,OAAA;AAEf,gFAAgF;AAChF,yDAAkG;AAAzF,6GAAA,eAAe,OAAA;AAAE,iHAAA,mBAAmB,OAAA;AAAE,6GAAA,eAAe,OAAA;AAgB9D,gFAAgF;AAChF,iDAK+B;AAJ7B,oGAAA,UAAU,OAAA;AACV,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,6GAAA,mBAAmB,OAAA;AAqCrB,gFAAgF;AAChF,2DAAyD;AAAhD,0GAAA,WAAW,OAAA;AASpB,gFAAgF;AAChF,uDAIkC;AAHhC,yHAAA,4BAA4B,OAAA;AAC5B,sHAAA,yBAAyB,OAAA;AACzB,6HAAA,gCAAgC,OAAA;AASlC,gFAAgF;AAChF,iDAAqD;AAA5C,sGAAA,YAAY,OAAA;AASrB,gFAAgF;AAChF,+CAAgD;AAAvC,iGAAA,QAAQ,OAAA;AAMjB,gFAAgF;AAChF,+CAA2E;AAAlE,iGAAA,QAAQ,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,qGAAA,YAAY,OAAA;AAE5C,gFAAgF;AAChF,yEAAmG;AAA1F,oHAAA,cAAc,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AAAE,gHAAA,UAAU,OAAA;AAqCvD,gFAAgF;AAChF,uDAAwD;AAA/C,yGAAA,YAAY,OAAA;AAQrB,gFAAgF;AAChF,iDAAsD;AAA7C,+GAAA,iBAAiB,OAAA;AAC1B,qEAAiE;AAAxD,0HAAA,kBAAkB,OAAA;AAC3B,uDAA8D;AAArD,uHAAA,sBAAsB,OAAA;AAC/B,iDAAsF;AAA7E,+GAAA,iBAAiB,OAAA;AAAE,4HAAA,8BAA8B,OAAA;AAE1D;;;GAGG;AACI,MAAM,UAAU,GAAG,GAAS,EAAE;IACnC,qCAAqC;IACrC,IAAI,QAAQ,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACtD,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,CAAC,GAAG,GAAG,YAAY,CAAA;IACvB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA,CAAC,wBAAwB;IACnD,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC,CAAA;AAXY,QAAA,UAAU,cAWtB"}
@@ -14,7 +14,7 @@ const browser_1 = require("@sentry/browser");
14
14
  // exists only for the type-checker, so in the ES/CJS builds the identifier is
15
15
  // genuinely absent and a direct comparison throws ReferenceError at module load.
16
16
  // `typeof` is the only safe way to probe a possibly-undeclared global.
17
- const SDK_VERSION = typeof VERSION === "undefined" ? "3.4.0-dev.1" : VERSION;
17
+ const SDK_VERSION = typeof VERSION === "undefined" ? "3.4.0-dev.2" : VERSION;
18
18
  const DSN = typeof SENTRY_DSN !== "undefined" && SENTRY_DSN
19
19
  ? SENTRY_DSN
20
20
  : "https://872f598f020e3cd73a0933b562d24c81@sentry.mapvx.app/5";
@@ -25,6 +25,7 @@ const threeScene_1 = require("../utils/threeScene");
25
25
  */
26
26
  class Scene3DController {
27
27
  constructor(map, scene3DConfig, initialCenter, onModelsProgress) {
28
+ var _a;
28
29
  /** Latest known floor key; updated by the floor-change hooks and read when (re)building layers. */
29
30
  this.currentFloor = "";
30
31
  // Lazily-loaded Three.js / deck.gl runtime handles (see loadThree()/loadDeck()).
@@ -51,10 +52,21 @@ class Scene3DController {
51
52
  this.scene3DRouteCollisionPoints = [];
52
53
  this.spriteIconMapping = {};
53
54
  this.spriteAtlasImage = new Image();
55
+ /** True while the GLB models are unloaded by LOD (camera zoomed out past the threshold). */
56
+ this.modelsUnloadedByLod = false;
57
+ /**
58
+ * True while {@link loadScene3DGlbTemplates} is populating `scene3DGlbRootByUrl` /
59
+ * `scene3DGlbTemplateById` (initial load or an LOD reload). Guards against overlapping reloads
60
+ * and, in {@link updateLodForZoom}, against an LOD unload running concurrently and clearing
61
+ * those same maps out from under the in-flight load.
62
+ */
63
+ this.glbTemplatesLoadInFlight = false;
54
64
  this.map = map;
55
65
  this.scene3DConfig = scene3DConfig;
56
66
  this.initialCenter = initialCenter;
57
67
  this.onModelsProgress = onModelsProgress;
68
+ this.deckTileCache = (0, _3d_1.resolveDeckTileCache)((_a = scene3DConfig.customLayers) === null || _a === void 0 ? void 0 : _a.tileCache);
69
+ this.lodThresholds = (0, _3d_1.resolveModels3DLodThresholds)(scene3DConfig.models);
58
70
  }
59
71
  // Lifecycle entry points forwarded by the map ---------------------------------------------
60
72
  /**
@@ -82,6 +94,7 @@ class Scene3DController {
82
94
  this.map.addControl(this.deckOverlay);
83
95
  // Hide MapLibre icon layers — replaced by deck.gl IconLayer
84
96
  this.hideLayers(this.scene3DConfig.hideLayers);
97
+ this.installDebugStatsHook();
85
98
  const models = this.scene3DConfig.models;
86
99
  const glbModelsActive = models !== undefined && models.enabled !== false && models.assets.length > 0;
87
100
  if (glbModelsActive) {
@@ -93,9 +106,85 @@ class Scene3DController {
93
106
  // next floor change (e.g. broken on totem/route views that never change floor after load).
94
107
  this.updateDeckOverlay();
95
108
  }
96
- /** Re-applies zoom-based model transparency; call on every map `zoom`. */
109
+ /** Re-applies zoom-based model transparency and evaluates LOD; call on every map `zoom`. */
97
110
  onZoom() {
98
111
  this.applyModelOpacity();
112
+ this.updateLodForZoom();
113
+ }
114
+ /**
115
+ * Evaluates the zoom-based LOD (see {@link Models3DConfig.lod}): unloads the GLB models from
116
+ * memory when the camera drops below the unload boundary and reloads them when it returns to the
117
+ * reload boundary. No-op when LOD is disabled. Cheap enough to call on every `zoom` event — it
118
+ * only acts on a boundary crossing.
119
+ */
120
+ updateLodForZoom() {
121
+ if (!this.lodThresholds) {
122
+ return;
123
+ }
124
+ const action = (0, _3d_1.lodActionForZoom)(this.map.getZoom(), this.lodThresholds, this.modelsUnloadedByLod);
125
+ if (action === "unload") {
126
+ if (this.glbTemplatesLoadInFlight) {
127
+ // A load is already populating the model maps; unloading now would race with it.
128
+ // reloadScene3DModelsForLod()/the initial load re-evaluate the zoom once they settle.
129
+ return;
130
+ }
131
+ this.unloadScene3DModelsForLod();
132
+ }
133
+ else if (action === "reload") {
134
+ void this.reloadScene3DModelsForLod();
135
+ }
136
+ }
137
+ /**
138
+ * Frees the GLB models' GPU resources (placed group's material clones + every cached template's
139
+ * geometry/textures) while keeping the custom layer, its `WebGLRenderer`, scene and lights alive,
140
+ * so a later {@link reloadScene3DModelsForLod} can repopulate without recreating the map layer.
141
+ * Distinct from {@link dispose}, which tears the whole controller down.
142
+ */
143
+ unloadScene3DModelsForLod() {
144
+ var _a, _b;
145
+ const three = (_a = this.threeMod) === null || _a === void 0 ? void 0 : _a.THREE;
146
+ if (!three) {
147
+ return;
148
+ }
149
+ if (this.scene3DModelsGroup) {
150
+ (0, threeScene_1.disposeMaterialsOnly)(three, this.scene3DModelsGroup);
151
+ (_b = this.scene3DGlbScene) === null || _b === void 0 ? void 0 : _b.remove(this.scene3DModelsGroup);
152
+ this.scene3DModelsGroup = undefined;
153
+ }
154
+ // Iterate the deduped-by-URL roots so a shared root is never disposed twice (mirrors dispose()).
155
+ for (const root of this.scene3DGlbRootByUrl.values()) {
156
+ (0, threeScene_1.disposeObject3D)(three, root);
157
+ }
158
+ this.scene3DGlbRootByUrl.clear();
159
+ this.scene3DGlbTemplateById.clear();
160
+ this.modelsUnloadedByLod = true;
161
+ this.map.triggerRepaint();
162
+ }
163
+ /**
164
+ * Reloads the GLB templates from disk/network and re-places them for the current floor after an
165
+ * LOD unload. Guards against overlapping reloads, and re-evaluates the zoom on completion so a
166
+ * camera that zoomed back out mid-download ends up unloaded again rather than stuck loaded.
167
+ */
168
+ async reloadScene3DModelsForLod() {
169
+ if (this.glbTemplatesLoadInFlight) {
170
+ return;
171
+ }
172
+ this.glbTemplatesLoadInFlight = true;
173
+ try {
174
+ await this.loadScene3DGlbTemplates();
175
+ this.placeScene3DModels();
176
+ // Only mark as loaded once placement actually succeeded, so a failed reload leaves
177
+ // modelsUnloadedByLod = true and the trailing updateLodForZoom() below retries it.
178
+ this.modelsUnloadedByLod = false;
179
+ }
180
+ catch (err) {
181
+ console.error("Failed to reload declarative GLB models after LOD unload", err);
182
+ }
183
+ finally {
184
+ this.glbTemplatesLoadInFlight = false;
185
+ }
186
+ // The camera may have moved during the async load; re-evaluate so a zoom back out unloads again.
187
+ this.updateLodForZoom();
99
188
  }
100
189
  /**
101
190
  * Sets the route path used for GLB route-transparency collision and re-evaluates which models a
@@ -128,6 +217,80 @@ class Scene3DController {
128
217
  this.currentFloor = currentFloor !== null && currentFloor !== void 0 ? currentFloor : "";
129
218
  this.updateDeckOverlay();
130
219
  }
220
+ /**
221
+ * A point-in-time snapshot of the 3D scene's memory drivers, for profiling. The Three.js
222
+ * `renderer.info` counters are the best in-page proxy for GLB VRAM (decoded geometries/textures
223
+ * live on the GPU and are not visible to `performance.memory`, which only reports the JS heap).
224
+ * The deck tile counts approximate the overlay's parsed-tile working set — the thing the tile-cache
225
+ * bounds (see {@link DeckTileCacheConfig}) keep from growing without limit as the map pans/zooms.
226
+ *
227
+ * @group Map
228
+ */
229
+ getDebugStats() {
230
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
231
+ const info = (_a = this.glbRenderer) === null || _a === void 0 ? void 0 : _a.info;
232
+ const three = info
233
+ ? {
234
+ geometries: info.memory.geometries,
235
+ textures: info.memory.textures,
236
+ programs: (_c = (_b = info.programs) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0,
237
+ renderCalls: info.render.calls,
238
+ triangles: info.render.triangles,
239
+ }
240
+ : null;
241
+ let deckTiles = null;
242
+ try {
243
+ // Best-effort read of each overlay layer's parsed-tile count. deck.gl internals are private,
244
+ // so this is guarded — it degrades to `null` rather than throwing if the shape changes.
245
+ const overlay = this.deckOverlay;
246
+ 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;
247
+ if (Array.isArray(layers)) {
248
+ const counts = {};
249
+ for (const layer of layers) {
250
+ 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;
251
+ if (typeof size === "number" && layer.id) {
252
+ // Strip deck's per-sublayer suffixes so the four MVT roots aggregate by base id.
253
+ const baseId = layer.id.split("-sublayer")[0];
254
+ counts[baseId] = Math.max((_j = counts[baseId]) !== null && _j !== void 0 ? _j : 0, size);
255
+ }
256
+ }
257
+ deckTiles = counts;
258
+ }
259
+ }
260
+ catch (_m) {
261
+ deckTiles = null;
262
+ }
263
+ return {
264
+ zoom: this.map.getZoom(),
265
+ currentFloor: this.currentFloor,
266
+ modelsUnloadedByLod: this.modelsUnloadedByLod,
267
+ glbRoots: this.scene3DGlbRootByUrl.size,
268
+ glbTemplates: this.scene3DGlbTemplateById.size,
269
+ placedModels: (_l = (_k = this.scene3DModelsGroup) === null || _k === void 0 ? void 0 : _k.children.length) !== null && _l !== void 0 ? _l : 0,
270
+ three,
271
+ deckTiles,
272
+ deckTileCache: this.deckTileCache,
273
+ lodThresholds: this.lodThresholds,
274
+ };
275
+ }
276
+ /**
277
+ * Exposes {@link getDebugStats} as `globalThis.__mvxScene3DStats()` when the opt-in flag
278
+ * `globalThis.__MVX_SCENE3D_DEBUG__` is truthy, so a profiling session can read the scene's memory
279
+ * drivers from the console/tests without external tooling. No-op (and no global written) otherwise.
280
+ */
281
+ installDebugStatsHook() {
282
+ const g = globalThis;
283
+ if (g.__MVX_SCENE3D_DEBUG__) {
284
+ g.__mvxScene3DStats = () => this.getDebugStats();
285
+ }
286
+ }
287
+ /** Removes the debug hook if it points at this controller. Called from {@link dispose}. */
288
+ uninstallDebugStatsHook() {
289
+ const g = globalThis;
290
+ if (g.__mvxScene3DStats) {
291
+ delete g.__mvxScene3DStats;
292
+ }
293
+ }
131
294
  /**
132
295
  * Releases every GPU resource this controller owns: the placed models group's material clones,
133
296
  * the cached GLB templates' geometries/materials/textures, and the `WebGLRenderer` created for the
@@ -157,6 +320,7 @@ class Scene3DController {
157
320
  this.scene3DGlbScene = undefined;
158
321
  (_b = this.glbRenderer) === null || _b === void 0 ? void 0 : _b.dispose();
159
322
  this.glbRenderer = undefined;
323
+ this.uninstallDebugStatsHook();
160
324
  }
161
325
  // Internal implementation -----------------------------------------------------------------
162
326
  /**
@@ -185,10 +349,19 @@ class Scene3DController {
185
349
  else {
186
350
  this.scene3DGlbLightCount = 0;
187
351
  }
352
+ this.glbTemplatesLoadInFlight = true;
188
353
  void this.loadScene3DGlbTemplates()
189
- .then(() => this.placeScene3DModels())
354
+ .then(() => {
355
+ this.placeScene3DModels();
356
+ })
190
357
  .catch((err) => {
191
358
  console.error("Failed to initialize declarative GLB models", err);
359
+ })
360
+ .finally(() => {
361
+ this.glbTemplatesLoadInFlight = false;
362
+ // Honor LOD from the first frame: if the map opened below the unload threshold, free the
363
+ // models just loaded (they reload when the user zooms in). No-op when LOD is disabled.
364
+ this.updateLodForZoom();
192
365
  });
193
366
  let renderer = undefined;
194
367
  let camera = undefined;
@@ -518,40 +691,41 @@ class Scene3DController {
518
691
  this.spriteIconMapping = json;
519
692
  this.spriteAtlasImage = img;
520
693
  }
694
+ /**
695
+ * Cache-bounding props spread onto every deck.gl `MVTLayer` so the overlays never keep an
696
+ * unbounded set of parsed tiles in memory. `maxCacheByteSize` is only included when configured
697
+ * (deck.gl enforces it only when a tile's byte size is known).
698
+ */
699
+ get deckTileCacheProps() {
700
+ const { maxCacheSize, maxRequests, refinementStrategy, maxCacheByteSize } = this.deckTileCache;
701
+ const props = { maxCacheSize, maxRequests, refinementStrategy };
702
+ if (maxCacheByteSize !== undefined) {
703
+ props.maxCacheByteSize = maxCacheByteSize;
704
+ }
705
+ return props;
706
+ }
521
707
  makeElevatedLinesLayer(floorKey, layerConfig) {
522
708
  var _a;
523
709
  const deck = this.deckMod;
524
710
  if (!deck)
525
711
  return null;
526
- return new deck.MVTLayer({
527
- id: "indoor-lines-elevated",
528
- data: layerConfig.dataUrl,
529
- binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false,
530
- renderSubLayers: (props) => {
712
+ 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) => {
531
713
  var _a, _b, _c, _d;
532
714
  const paths = (0, deckLayers_1.buildElevatedPaths)((props.data || []), floorKey, (_a = layerConfig.defaultHeight) !== null && _a !== void 0 ? _a : 5);
533
715
  if (!paths.length)
534
716
  return null;
535
717
  // Default color hardcoded to "#cbcbcb" (from the original style) to avoid a type mismatch.
536
718
  return new deck.PathLayer(Object.assign(Object.assign({}, props), { id: `${props.id}-paths`, data: paths, getPath: (d) => d.path, getColor: (0, _3d_1.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 }));
537
- },
538
- updateTriggers: {
719
+ }, updateTriggers: {
539
720
  renderSubLayers: [floorKey],
540
- },
541
- });
721
+ } }));
542
722
  }
543
723
  makeLabelLayer(floorKey, layerConfig, useSdf = true) {
544
724
  var _a, _b, _c;
545
725
  const deck = this.deckMod;
546
726
  if (!deck)
547
727
  return null;
548
- return new deck.MVTLayer({
549
- id: "indoor-labels",
550
- data: layerConfig.dataUrl,
551
- binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false,
552
- minZoom: (_b = layerConfig.minZoom) !== null && _b !== void 0 ? _b : 19.5,
553
- maxZoom: (_c = layerConfig.maxZoom) !== null && _c !== void 0 ? _c : 24,
554
- renderSubLayers: (props) => {
728
+ 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) => {
555
729
  var _a, _b, _c, _d, _e, _f;
556
730
  // Use area_name and poi Point features — unique per tile, no duplicates.
557
731
  // If a logo-{name} image exists in the sprite, the icon takes priority over the text label.
@@ -559,57 +733,39 @@ class Scene3DController {
559
733
  if (!textData.length)
560
734
  return null;
561
735
  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: (0, _3d_1.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 }));
562
- },
563
- updateTriggers: {
736
+ }, updateTriggers: {
564
737
  renderSubLayers: [floorKey],
565
- },
566
- });
738
+ } }));
567
739
  }
568
740
  makePoiIconLayer(floorKey, layerConfig) {
569
741
  var _a, _b, _c;
570
742
  const deck = this.deckMod;
571
743
  if (!deck || !this.spriteIconMapping || !this.spriteAtlasImage)
572
744
  return null;
573
- return new deck.MVTLayer({
574
- id: "indoor-poi-icons",
575
- data: layerConfig.dataUrl,
576
- binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false,
577
- minZoom: (_b = layerConfig.minZoom) !== null && _b !== void 0 ? _b : 17,
578
- maxZoom: (_c = layerConfig.maxZoom) !== null && _c !== void 0 ? _c : 24,
579
- renderSubLayers: (props) => {
745
+ 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) => {
580
746
  var _a, _b, _c, _d, _e;
581
747
  const iconData = (0, deckLayers_1.buildPoiIconData)((props.data || []), floorKey, (_a = layerConfig.defaultHeight) !== null && _a !== void 0 ? _a : 5);
582
748
  if (!iconData.length)
583
749
  return null;
584
750
  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 }));
585
- },
586
- updateTriggers: {
751
+ }, updateTriggers: {
587
752
  renderSubLayers: [floorKey],
588
- },
589
- });
753
+ } }));
590
754
  }
591
755
  makeStoreLogoLayer(floorKey, layerConfig) {
592
756
  var _a, _b, _c;
593
757
  const deck = this.deckMod;
594
758
  if (!deck || !this.spriteIconMapping || !this.spriteAtlasImage)
595
759
  return null;
596
- return new deck.MVTLayer({
597
- id: "indoor-store-logos",
598
- data: layerConfig.dataUrl,
599
- binary: (_a = layerConfig.binaryData) !== null && _a !== void 0 ? _a : false,
600
- minZoom: (_b = layerConfig.minZoom) !== null && _b !== void 0 ? _b : 13,
601
- maxZoom: (_c = layerConfig.maxZoom) !== null && _c !== void 0 ? _c : 24,
602
- renderSubLayers: (props) => {
760
+ 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) => {
603
761
  var _a, _b, _c, _d;
604
762
  const logoData = (0, deckLayers_1.buildStoreLogoData)((props.data || []), floorKey, this.spriteIconMapping, (_a = layerConfig.defaultHeight) !== null && _a !== void 0 ? _a : 5);
605
763
  if (!logoData.length)
606
764
  return null;
607
765
  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 (0, deckLayers_1.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 }));
608
- },
609
- updateTriggers: {
766
+ }, updateTriggers: {
610
767
  renderSubLayers: [floorKey],
611
- },
612
- });
768
+ } }));
613
769
  }
614
770
  updateDeckOverlay() {
615
771
  if (!this.deckOverlay || !this.currentFloor)
@@ -1 +1 @@
1
- {"version":3,"file":"scene3DController.js","sourceRoot":"","sources":["../../../src/map/scene3DController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene3DController.js","sourceRoot":"","sources":["../../../src/map/scene3DController.ts"],"names":[],"mappings":";;;AAGA,6CAAoG;AAepG,qCAiBoB;AACpB,oDAM4B;AAC5B,8CAA8C;AAC9C,kDAA8C;AAC9C,0CAAuF;AACvF,oDAK4B;AAE5B;;;;;;;;;;;;;;GAcG;AACH,MAAa,iBAAiB;IAiE5B,YACE,GAAgB,EAChB,aAA4B,EAC5B,aAAqB,EACrB,gBAA4D;;QAzD9D,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;QAcxD,4FAA4F;QACpF,wBAAmB,GAAG,KAAK,CAAA;QACnC;;;;;WAKG;QACK,6BAAwB,GAAG,KAAK,CAAA;QAQtC,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;QACxC,IAAI,CAAC,aAAa,GAAG,IAAA,0BAAoB,EAAC,MAAA,aAAa,CAAC,YAAY,0CAAE,SAAS,CAAC,CAAA;QAChF,IAAI,CAAC,aAAa,GAAG,IAAA,kCAA4B,EAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACzE,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,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAE5B,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,4FAA4F;IAC5F,MAAM;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAED;;;;;OAKG;IACK,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,sBAAgB,EAC7B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAClB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,mBAAmB,CACzB,CAAA;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAClC,iFAAiF;gBACjF,sFAAsF;gBACtF,OAAM;YACR,CAAC;YACD,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAClC,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,yBAAyB,EAAE,CAAA;QACvC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,yBAAyB;;QAC/B,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAA;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAA,iCAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;YACpD,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YACrD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;QACrC,CAAC;QACD,iGAAiG;QACjG,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,IAAA,4BAAe,EAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAA;QAChC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAA;QACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,yBAAyB;QACrC,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAA;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAA;YACpC,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,mFAAmF;YACnF,mFAAmF;YACnF,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,0DAA0D,EAAE,GAAG,CAAC,CAAA;QAChF,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAA;QACvC,CAAC;QACD,iGAAiG;QACjG,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,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;;;;;;;;OAQG;IACH,aAAa;;QACX,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,CAAA;QACnC,MAAM,KAAK,GAAG,IAAI;YAChB,CAAC,CAAC;gBACE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,mCAAI,CAAC;gBACpC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBAC9B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;aACjC;YACH,CAAC,CAAC,IAAI,CAAA;QAER,IAAI,SAAS,GAAkC,IAAI,CAAA;QACnD,IAAI,CAAC;YACH,6FAA6F;YAC7F,wFAAwF;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,WAEpB,CAAA;YACD,MAAM,MAAM,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,YAAY,0CAAE,MAAM,CAAA;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAA2B,EAAE,CAAA;gBACzC,KAAK,MAAM,KAAK,IAAI,MAGlB,EAAE,CAAC;oBACH,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAAE,OAAO,0CAAE,MAAM,0CAAE,IAAI,CAAA;oBAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;wBACzC,iFAAiF;wBACjF,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;wBAC7C,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,MAAM,CAAC,mCAAI,CAAC,EAAE,IAAI,CAAC,CAAA;oBACtD,CAAC;gBACH,CAAC;gBACD,SAAS,GAAG,MAAM,CAAA;YACpB,CAAC;QACH,CAAC;QAAC,WAAM,CAAC;YACP,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACxB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;YACvC,YAAY,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI;YAC9C,YAAY,EAAE,MAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,QAAQ,CAAC,MAAM,mCAAI,CAAC;YAC3D,KAAK;YACL,SAAS;YACT,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAA;IACH,CAAC;IAED;;;;OAIG;IACK,qBAAqB;QAC3B,MAAM,CAAC,GAAG,UAGT,CAAA;QACD,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAC;YAC5B,CAAC,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAA;QAClD,CAAC;IACH,CAAC;IAED,2FAA2F;IACnF,uBAAuB;QAC7B,MAAM,CAAC,GAAG,UAAwE,CAAA;QAClF,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC,iBAAiB,CAAA;QAC5B,CAAC;IACH,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,IAAA,iCAAoB,EAAC,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,IAAA,4BAAe,EAAC,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;QAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAA;IAChC,CAAC;IAED,4FAA4F;IAE5F;;;OAGG;IACK,KAAK,CAAC,YAAY;;QACxB,MAAA,IAAI,CAAC,QAAQ,oCAAb,IAAI,CAAC,QAAQ,GAAK,MAAM,IAAA,iBAAS,GAAE,EAAA;QACnC,MAAA,IAAI,CAAC,OAAO,oCAAZ,IAAI,CAAC,OAAO,GAAK,MAAM,IAAA,gBAAQ,GAAE,EAAA;IACnC,CAAC;IAEO,oBAAoB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAS,CAAC,KAAK,CAAA;QAClC,MAAM,WAAW,GAAG,gCAAkB,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,IAAA,2BAAqB,EAAC,MAAM,CAAC,CAAA;YAC5C,IAAI,CAAC,oBAAoB,GAAG,IAAA,6BAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QACnF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAA;QAC/B,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAA;QACpC,KAAK,IAAI,CAAC,uBAAuB,EAAE;aAChC,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC3B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAA;QACnE,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAA;YACrC,yFAAyF;YACzF,uFAAuF;YACvF,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzB,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,qBAAS,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,IAAA,qBAAW,EAAC,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,IAAA,mCAAsB,EAAC,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,IAAA,iCAAoB,EAAC,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,gCAAkB,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,IAAA,+BAAyB,EAAC,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,gCAAkB,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,IAAA,0BAAoB,EAC7C,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,IAAA,qBAAe,EAAC,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,IAAA,mBAAa,EAAC,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,IAAA,6BAAuB,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YAEnF,wFAAwF;YACxF,+DAA+D;YAC/D,KAAK,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAA,8BAAwB,EAAC,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,gCAAkB,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,gCAAkB,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,IAAA,sBAAgB,EAAC,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,IAAA,2BAAqB,EAAC,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;IAED;;;;OAIG;IACH,IAAY,kBAAkB;QAC5B,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QAC9F,MAAM,KAAK,GAA4B,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAA;QACxF,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC3C,CAAC;QACD,OAAO,KAAK,CAAA;IACd,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,iCACnB,IAAI,CAAC,kBAAkB,KAC1B,EAAE,EAAE,uBAAuB,EAC3B,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,MAAM,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,KAAK,EAEvC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACzB,MAAM,KAAK,GAAG,IAAA,+BAAkB,EAC9B,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,IAAA,cAAQ,EAAC,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,EAED,cAAc,EAAE;gBACd,eAAe,EAAE,CAAC,QAAQ,CAAC;aAC5B,IACD,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,iCACnB,IAAI,CAAC,kBAAkB,KAC1B,EAAE,EAAE,eAAe,EACnB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,MAAM,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,KAAK,EACvC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,IAAI,EACpC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,EAElC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACzB,yEAAyE;gBACzE,4FAA4F;gBAC5F,MAAM,QAAQ,GAAG,IAAA,2BAAc,EAC7B,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,IAAA,cAAQ,EAAC,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,EAED,cAAc,EAAE;gBACd,eAAe,EAAE,CAAC,QAAQ,CAAC;aAC5B,IACD,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,iCACnB,IAAI,CAAC,kBAAkB,KAC1B,EAAE,EAAE,kBAAkB,EACtB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,MAAM,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,KAAK,EACvC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,EAClC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,EAElC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACzB,MAAM,QAAQ,GAAG,IAAA,6BAAgB,EAC/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,EAED,cAAc,EAAE;gBACd,eAAe,EAAE,CAAC,QAAQ,CAAC;aAC5B,IACD,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,iCACnB,IAAI,CAAC,kBAAkB,KAC1B,EAAE,EAAE,oBAAoB,EACxB,IAAI,EAAE,WAAW,CAAC,OAAO,EACzB,MAAM,EAAE,MAAA,WAAW,CAAC,UAAU,mCAAI,KAAK,EACvC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,EAClC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE,EAElC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACzB,MAAM,QAAQ,GAAG,IAAA,+BAAkB,EACjC,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,IAAA,iCAAoB,EAAC,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,EAED,cAAc,EAAE;gBACd,eAAe,EAAE,CAAC,QAAQ,CAAC;aAC5B,IACD,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;;AA1/BH,8CA2/BC;AA1/BC;;;;;GAKG;AACqB,sCAAoB,GAAG,CAAC,AAAJ,CAAI"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hexToRgba = exports.hexToRgb = exports.DEFAULT_SCENE3D_LIGHTS = void 0;
3
+ exports.hexToRgba = exports.hexToRgb = exports.DEFAULT_SCENE3D_LIGHTS = exports.resolveDeckTileCache = exports.DEFAULT_DECK_TILE_CACHE = exports.lodActionForZoom = exports.resolveModels3DLodThresholds = exports.DEFAULT_LOD_HYSTERESIS = void 0;
4
4
  exports.resolveModels3DLights = resolveModels3DLights;
5
5
  exports.mergeRotation3D = mergeRotation3D;
6
6
  exports.normalizeScale = normalizeScale;
@@ -12,6 +12,84 @@ exports.pointInFootprint = pointInFootprint;
12
12
  exports.effectiveModelOpacity = effectiveModelOpacity;
13
13
  exports.isPlacementVisibleOnFloor = isPlacementVisibleOnFloor;
14
14
  exports.computeScenePosition = computeScenePosition;
15
+ /** Default LOD hysteresis (zoom units) when {@link Models3DLodConfig.hysteresis} is unset. */
16
+ exports.DEFAULT_LOD_HYSTERESIS = 0.5;
17
+ /**
18
+ * Computes the unload/reload zoom boundaries from {@link Models3DConfig.lod}, or `null` when LOD is
19
+ * disabled (no `lod`, no models, or a non-finite `minZoom`). Pure — safe to unit-test without WebGL.
20
+ */
21
+ const resolveModels3DLodThresholds = (models) => {
22
+ const lod = models === null || models === void 0 ? void 0 : models.lod;
23
+ if (!models ||
24
+ models.enabled === false ||
25
+ !lod ||
26
+ typeof lod.minZoom !== "number" ||
27
+ !Number.isFinite(lod.minZoom)) {
28
+ return null;
29
+ }
30
+ const hysteresis = typeof lod.hysteresis === "number" && Number.isFinite(lod.hysteresis) && lod.hysteresis >= 0
31
+ ? lod.hysteresis
32
+ : exports.DEFAULT_LOD_HYSTERESIS;
33
+ return {
34
+ reloadAtOrAbove: lod.minZoom,
35
+ unloadBelow: lod.minZoom - hysteresis,
36
+ };
37
+ };
38
+ exports.resolveModels3DLodThresholds = resolveModels3DLodThresholds;
39
+ /**
40
+ * Decides what the LOD controller should do at the current zoom given whether the models are
41
+ * currently unloaded. Returns `"unload"` when they are loaded but the camera is below the unload
42
+ * boundary, `"reload"` when they are unloaded but the camera has returned to/above the reload
43
+ * boundary, and `"none"` otherwise (including within the hysteresis band). Pure/testable.
44
+ */
45
+ const lodActionForZoom = (zoom, thresholds, currentlyUnloaded) => {
46
+ if (!currentlyUnloaded && zoom < thresholds.unloadBelow) {
47
+ return "unload";
48
+ }
49
+ if (currentlyUnloaded && zoom >= thresholds.reloadAtOrAbove) {
50
+ return "reload";
51
+ }
52
+ return "none";
53
+ };
54
+ exports.lodActionForZoom = lodActionForZoom;
55
+ /**
56
+ * Conservative defaults that bound each deck.gl overlay layer's in-memory tile cache. Chosen to
57
+ * favor low RAM: only the visible working set (plus a small margin) stays parsed in memory; the
58
+ * raw tile bytes remain on disk in the Service Worker cache, so an evicted tile is re-parsed
59
+ * rather than re-downloaded. Raise `maxCacheSize` only if profiling shows flashing at the
60
+ * viewport edge while panning.
61
+ * @internal
62
+ */
63
+ exports.DEFAULT_DECK_TILE_CACHE = {
64
+ // Per layer; with four overlay layers this caps the parsed-tile set at ~4x this number.
65
+ maxCacheSize: 64,
66
+ maxRequests: 6,
67
+ // Drop parent tiles once children cover the viewport — keeps the resident set smallest.
68
+ refinementStrategy: "no-overlap",
69
+ // Byte budget is opt-in (deck.gl only enforces it when a tile's byte size is known).
70
+ maxCacheByteSize: undefined,
71
+ };
72
+ /**
73
+ * Merges an optional {@link DeckTileCacheConfig} over {@link DEFAULT_DECK_TILE_CACHE}, ignoring
74
+ * `undefined`/`null` fields and clamping numeric bounds to at least 1. The result is always
75
+ * bounded — passing `undefined` yields the defaults, never an unlimited cache.
76
+ */
77
+ const resolveDeckTileCache = (config) => {
78
+ var _a;
79
+ const clampPositive = (value, fallback) => typeof value === "number" && Number.isFinite(value) && value >= 1 ? Math.floor(value) : fallback;
80
+ const maxCacheByteSize = typeof (config === null || config === void 0 ? void 0 : config.maxCacheByteSize) === "number" &&
81
+ Number.isFinite(config.maxCacheByteSize) &&
82
+ config.maxCacheByteSize >= 1
83
+ ? Math.floor(config.maxCacheByteSize)
84
+ : exports.DEFAULT_DECK_TILE_CACHE.maxCacheByteSize;
85
+ return {
86
+ maxCacheSize: clampPositive(config === null || config === void 0 ? void 0 : config.maxCacheSize, exports.DEFAULT_DECK_TILE_CACHE.maxCacheSize),
87
+ maxRequests: clampPositive(config === null || config === void 0 ? void 0 : config.maxRequests, exports.DEFAULT_DECK_TILE_CACHE.maxRequests),
88
+ refinementStrategy: (_a = config === null || config === void 0 ? void 0 : config.refinementStrategy) !== null && _a !== void 0 ? _a : exports.DEFAULT_DECK_TILE_CACHE.refinementStrategy,
89
+ maxCacheByteSize,
90
+ };
91
+ };
92
+ exports.resolveDeckTileCache = resolveDeckTileCache;
15
93
  /**
16
94
  * Default lights matching the legacy escalator scene when {@link Models3DConfig.lights} is unset.
17
95
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"3d.js","sourceRoot":"","sources":["../../../src/utils/3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"3d.js","sourceRoot":"","sources":["../../../src/utils/3d.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ function getGltfLoader() {
21
21
  ktx2Loader.setTranscoderPath(draco_1.DEFAULT_KTX2_TRANSCODER_PATH);
22
22
  gltfLoader.setKTX2Loader(ktx2Loader);
23
23
  ktx2Loader.detectSupport(new mod.THREE.WebGLRenderer({ antialias: true }));
24
+ // Enable EXT_meshopt_compression so meshopt-compressed GLBs decode. The decoder is a WASM
25
+ // singleton; GLTFLoader awaits its `.ready` promise internally before parsing. Assets that
26
+ // don't use the extension are unaffected. This lets the offline pipeline pick meshopt (often
27
+ // smaller than Draco for the scene's meshes) without a runtime change.
28
+ gltfLoader.setMeshoptDecoder(mod.MeshoptDecoder);
24
29
  return gltfLoader;
25
30
  }));
26
31
  return gltfLoaderPromise;