@deck.gl/geo-layers 9.4.0-alpha.1 → 9.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/dist.dev.js +3853 -2493
  2. package/dist/geo-cell-layer/GeoCellLayer.d.ts.map +1 -1
  3. package/dist/geo-cell-layer/GeoCellLayer.js +2 -1
  4. package/dist/geo-cell-layer/GeoCellLayer.js.map +1 -1
  5. package/dist/index.cjs +21181 -1889
  6. package/dist/index.cjs.map +3 -4
  7. package/dist/mesh-layer/mesh-layer-uniforms.d.ts +1 -0
  8. package/dist/mesh-layer/mesh-layer-uniforms.d.ts.map +1 -1
  9. package/dist/mesh-layer/mesh-layer-uniforms.js +8 -0
  10. package/dist/mesh-layer/mesh-layer-uniforms.js.map +1 -1
  11. package/dist/mesh-layer/mesh-layer.d.ts.map +1 -1
  12. package/dist/mesh-layer/mesh-layer.js +15 -6
  13. package/dist/mesh-layer/mesh-layer.js.map +1 -1
  14. package/dist/mesh-layer/mesh-layer.wgsl.d.ts +3 -0
  15. package/dist/mesh-layer/mesh-layer.wgsl.d.ts.map +1 -0
  16. package/dist/mesh-layer/mesh-layer.wgsl.js +130 -0
  17. package/dist/mesh-layer/mesh-layer.wgsl.js.map +1 -0
  18. package/dist/mesh-layer/mesh-pbr-material.d.ts +252 -0
  19. package/dist/mesh-layer/mesh-pbr-material.d.ts.map +1 -0
  20. package/dist/mesh-layer/mesh-pbr-material.js +27 -0
  21. package/dist/mesh-layer/mesh-pbr-material.js.map +1 -0
  22. package/dist/trips-layer/trips-layer-uniforms.d.ts +1 -0
  23. package/dist/trips-layer/trips-layer-uniforms.d.ts.map +1 -1
  24. package/dist/trips-layer/trips-layer-uniforms.js +14 -3
  25. package/dist/trips-layer/trips-layer-uniforms.js.map +1 -1
  26. package/dist/trips-layer/trips-layer.d.ts +6 -1
  27. package/dist/trips-layer/trips-layer.d.ts.map +1 -1
  28. package/dist/trips-layer/trips-layer.js +57 -24
  29. package/dist/trips-layer/trips-layer.js.map +1 -1
  30. package/dist/trips-layer/trips-layer.wgsl.d.ts +11 -0
  31. package/dist/trips-layer/trips-layer.wgsl.d.ts.map +1 -0
  32. package/dist/trips-layer/trips-layer.wgsl.js +48 -0
  33. package/dist/trips-layer/trips-layer.wgsl.js.map +1 -0
  34. package/dist.min.js +1415 -149
  35. package/dist.webgl-only/a5-layer/a5-layer.js +30 -0
  36. package/dist.webgl-only/a5-layer/a5-layer.js.map +1 -0
  37. package/dist.webgl-only/geo-cell-layer/GeoCellLayer.js +57 -0
  38. package/dist.webgl-only/geo-cell-layer/GeoCellLayer.js.map +1 -0
  39. package/dist.webgl-only/geohash-layer/geohash-layer.js +24 -0
  40. package/dist.webgl-only/geohash-layer/geohash-layer.js.map +1 -0
  41. package/dist.webgl-only/geohash-layer/geohash-utils.js +54 -0
  42. package/dist.webgl-only/geohash-layer/geohash-utils.js.map +1 -0
  43. package/dist.webgl-only/great-circle-layer/great-circle-layer.js +17 -0
  44. package/dist.webgl-only/great-circle-layer/great-circle-layer.js.map +1 -0
  45. package/dist.webgl-only/h3-layers/h3-cluster-layer.js +52 -0
  46. package/dist.webgl-only/h3-layers/h3-cluster-layer.js.map +1 -0
  47. package/dist.webgl-only/h3-layers/h3-hexagon-layer.js +209 -0
  48. package/dist.webgl-only/h3-layers/h3-hexagon-layer.js.map +1 -0
  49. package/dist.webgl-only/h3-layers/h3-utils.js +60 -0
  50. package/dist.webgl-only/h3-layers/h3-utils.js.map +1 -0
  51. package/dist.webgl-only/index.cjs +22542 -0
  52. package/dist.webgl-only/index.cjs.map +6 -0
  53. package/dist.webgl-only/index.js +22 -0
  54. package/dist.webgl-only/index.js.map +1 -0
  55. package/dist.webgl-only/mesh-layer/mesh-layer-fragment.glsl.js +34 -0
  56. package/dist.webgl-only/mesh-layer/mesh-layer-fragment.glsl.js.map +1 -0
  57. package/dist.webgl-only/mesh-layer/mesh-layer-uniforms.js +19 -0
  58. package/dist.webgl-only/mesh-layer/mesh-layer-uniforms.js.map +1 -0
  59. package/dist.webgl-only/mesh-layer/mesh-layer-vertex.glsl.js +64 -0
  60. package/dist.webgl-only/mesh-layer/mesh-layer-vertex.glsl.js.map +1 -0
  61. package/dist.webgl-only/mesh-layer/mesh-layer.js +149 -0
  62. package/dist.webgl-only/mesh-layer/mesh-layer.js.map +1 -0
  63. package/dist.webgl-only/mesh-layer/mesh-layer.wgsl.js +5 -0
  64. package/dist.webgl-only/mesh-layer/mesh-layer.wgsl.js.map +1 -0
  65. package/dist.webgl-only/mesh-layer/mesh-pbr-material.js +27 -0
  66. package/dist.webgl-only/mesh-layer/mesh-pbr-material.js.map +1 -0
  67. package/dist.webgl-only/mvt-layer/coordinate-transform.js +45 -0
  68. package/dist.webgl-only/mvt-layer/coordinate-transform.js.map +1 -0
  69. package/dist.webgl-only/mvt-layer/find-index-binary.js +100 -0
  70. package/dist.webgl-only/mvt-layer/find-index-binary.js.map +1 -0
  71. package/dist.webgl-only/mvt-layer/mvt-layer.js +315 -0
  72. package/dist.webgl-only/mvt-layer/mvt-layer.js.map +1 -0
  73. package/dist.webgl-only/quadkey-layer/quadkey-layer.js +27 -0
  74. package/dist.webgl-only/quadkey-layer/quadkey-layer.js.map +1 -0
  75. package/dist.webgl-only/quadkey-layer/quadkey-utils.js +30 -0
  76. package/dist.webgl-only/quadkey-layer/quadkey-utils.js.map +1 -0
  77. package/dist.webgl-only/s2-layer/s2-geometry.js +127 -0
  78. package/dist.webgl-only/s2-layer/s2-geometry.js.map +1 -0
  79. package/dist.webgl-only/s2-layer/s2-layer.js +24 -0
  80. package/dist.webgl-only/s2-layer/s2-layer.js.map +1 -0
  81. package/dist.webgl-only/s2-layer/s2-utils.js +91 -0
  82. package/dist.webgl-only/s2-layer/s2-utils.js.map +1 -0
  83. package/dist.webgl-only/terrain-layer/terrain-layer.js +260 -0
  84. package/dist.webgl-only/terrain-layer/terrain-layer.js.map +1 -0
  85. package/dist.webgl-only/tile-3d-layer/tile-3d-layer.js +343 -0
  86. package/dist.webgl-only/tile-3d-layer/tile-3d-layer.js.map +1 -0
  87. package/dist.webgl-only/tile-layer/tile-layer.js +233 -0
  88. package/dist.webgl-only/tile-layer/tile-layer.js.map +1 -0
  89. package/dist.webgl-only/tileset-2d/index.js +7 -0
  90. package/dist.webgl-only/tileset-2d/index.js.map +1 -0
  91. package/dist.webgl-only/tileset-2d/memoize.js +45 -0
  92. package/dist.webgl-only/tileset-2d/memoize.js.map +1 -0
  93. package/dist.webgl-only/tileset-2d/tile-2d-header.js +141 -0
  94. package/dist.webgl-only/tileset-2d/tile-2d-header.js.map +1 -0
  95. package/dist.webgl-only/tileset-2d/tile-2d-traversal.js +208 -0
  96. package/dist.webgl-only/tileset-2d/tile-2d-traversal.js.map +1 -0
  97. package/dist.webgl-only/tileset-2d/tileset-2d.js +557 -0
  98. package/dist.webgl-only/tileset-2d/tileset-2d.js.map +1 -0
  99. package/dist.webgl-only/tileset-2d/types.js +5 -0
  100. package/dist.webgl-only/tileset-2d/types.js.map +1 -0
  101. package/dist.webgl-only/tileset-2d/utils.js +246 -0
  102. package/dist.webgl-only/tileset-2d/utils.js.map +1 -0
  103. package/dist.webgl-only/trips-layer/trips-layer-uniforms.js +23 -0
  104. package/dist.webgl-only/trips-layer/trips-layer-uniforms.js.map +1 -0
  105. package/dist.webgl-only/trips-layer/trips-layer.js +97 -0
  106. package/dist.webgl-only/trips-layer/trips-layer.js.map +1 -0
  107. package/dist.webgl-only/trips-layer/trips-layer.wgsl.js +3 -0
  108. package/dist.webgl-only/trips-layer/trips-layer.wgsl.js.map +1 -0
  109. package/dist.webgl-only/wms-layer/utils.js +17 -0
  110. package/dist.webgl-only/wms-layer/utils.js.map +1 -0
  111. package/dist.webgl-only/wms-layer/wms-layer.js +198 -0
  112. package/dist.webgl-only/wms-layer/wms-layer.js.map +1 -0
  113. package/package.json +15 -6
  114. package/src/geo-cell-layer/GeoCellLayer.ts +2 -0
  115. package/src/mesh-layer/mesh-layer-uniforms.ts +9 -0
  116. package/src/mesh-layer/mesh-layer.ts +15 -6
  117. package/src/mesh-layer/mesh-layer.wgsl.ts +130 -0
  118. package/src/mesh-layer/mesh-pbr-material.ts +39 -0
  119. package/src/trips-layer/trips-layer-uniforms.ts +15 -3
  120. package/src/trips-layer/trips-layer.ts +84 -38
  121. package/src/trips-layer/trips-layer.wgsl.ts +63 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-2d-traversal.js","sourceRoot":"","sources":["../../src/tileset-2d/tile-2d-traversal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,557 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { RequestScheduler } from '@loaders.gl/loader-utils';
5
+ import { Matrix4, equals } from '@math.gl/core';
6
+ import { Tile2DHeader } from "./tile-2d-header.js";
7
+ import { getTileIndices, tileToBoundingBox, getCullBounds, transformBox } from "./utils.js";
8
+ import { memoize } from "./memoize.js";
9
+ // bit masks
10
+ const TILE_STATE_VISITED = 1;
11
+ const TILE_STATE_VISIBLE = 2;
12
+ /*
13
+ show cached parent tile if children are loading
14
+ +-----------+ +-----+ +-----+-----+
15
+ | | | | | | |
16
+ | | | | | | |
17
+ | | --> +-----+-----+ -> +-----+-----+
18
+ | | | | | | |
19
+ | | | | | | |
20
+ +-----------+ +-----+ +-----+-----+
21
+
22
+ show cached children tiles when parent is loading
23
+ +-------+---- +------------
24
+ | | |
25
+ | | |
26
+ | | |
27
+ +-------+---- --> |
28
+ | | |
29
+ */
30
+ export const STRATEGY_NEVER = 'never';
31
+ export const STRATEGY_REPLACE = 'no-overlap';
32
+ export const STRATEGY_DEFAULT = 'best-available';
33
+ const DEFAULT_CACHE_SCALE = 5;
34
+ const SELECTED_TILE_PRIORITY = 0;
35
+ const VISIBLE_TILE_PRIORITY = 1e8;
36
+ const MAX_TILE_DISTANCE_PRIORITY = VISIBLE_TILE_PRIORITY - SELECTED_TILE_PRIORITY - 1;
37
+ const STRATEGIES = {
38
+ [STRATEGY_DEFAULT]: updateTileStateDefault,
39
+ [STRATEGY_REPLACE]: updateTileStateReplace,
40
+ [STRATEGY_NEVER]: () => { }
41
+ };
42
+ export const DEFAULT_TILESET2D_PROPS = {
43
+ extent: null,
44
+ tileSize: 512,
45
+ maxZoom: null,
46
+ minZoom: null,
47
+ maxCacheSize: null,
48
+ maxCacheByteSize: null,
49
+ refinementStrategy: 'best-available',
50
+ zRange: null,
51
+ maxRequests: 6,
52
+ debounceTime: 0,
53
+ zoomOffset: 0,
54
+ visibleMinZoom: null,
55
+ visibleMaxZoom: null,
56
+ // onTileLoad: (tile: Tile2DHeader) => void, // onTileUnload: (tile: Tile2DHeader) => void, // onTileError: (error: any, tile: Tile2DHeader) => void, /** Called when all tiles in the current viewport are loaded. */
57
+ // onViewportLoad: ((tiles: Tile2DHeader<DataT>[]) => void) | null,
58
+ onTileLoad: () => { },
59
+ onTileUnload: () => { },
60
+ onTileError: () => { }
61
+ };
62
+ /**
63
+ * Manages loading and purging of tile data. This class caches recently visited tiles
64
+ * and only creates new tiles if they are present.
65
+ */
66
+ export class Tileset2D {
67
+ /**
68
+ * Takes in a function that returns tile data, a cache size, and a max and a min zoom level.
69
+ * Cache size defaults to 5 * number of tiles in the current viewport
70
+ */
71
+ constructor(opts) {
72
+ /* Private methods */
73
+ this._getCullBounds = memoize(getCullBounds);
74
+ this.opts = { ...DEFAULT_TILESET2D_PROPS, ...opts };
75
+ this.setOptions(this.opts);
76
+ this.onTileLoad = tile => {
77
+ this.opts.onTileLoad?.(tile);
78
+ if (this.opts.maxCacheByteSize !== null) {
79
+ this._cacheByteSize += tile.byteLength;
80
+ this._resizeCache();
81
+ }
82
+ };
83
+ this._requestScheduler = new RequestScheduler({
84
+ throttleRequests: this.opts.maxRequests > 0 || this.opts.debounceTime > 0,
85
+ maxRequests: this.opts.maxRequests,
86
+ debounceTime: this.opts.debounceTime
87
+ });
88
+ // Maps tile id in string {z}-{x}-{y} to a Tile object
89
+ this._cache = new Map();
90
+ this._tiles = [];
91
+ this._dirty = false;
92
+ this._cacheByteSize = 0;
93
+ // Cache the last processed viewport
94
+ this._viewport = null;
95
+ this._zRange = null;
96
+ this._selectedTiles = null;
97
+ this._frameNumber = 0;
98
+ this._modelMatrix = new Matrix4();
99
+ this._modelMatrixInverse = new Matrix4();
100
+ }
101
+ /* Public API */
102
+ get tiles() {
103
+ return this._tiles;
104
+ }
105
+ get selectedTiles() {
106
+ return this._selectedTiles;
107
+ }
108
+ get isLoaded() {
109
+ return this._selectedTiles !== null && this._selectedTiles.every(tile => tile.isLoaded);
110
+ }
111
+ get needsReload() {
112
+ return this._selectedTiles !== null && this._selectedTiles.some(tile => tile.needsReload);
113
+ }
114
+ setOptions(opts) {
115
+ Object.assign(this.opts, opts);
116
+ if (Number.isFinite(opts.maxZoom)) {
117
+ this._maxZoom = Math.floor(opts.maxZoom);
118
+ }
119
+ if (Number.isFinite(opts.minZoom)) {
120
+ this._minZoom = Math.ceil(opts.minZoom);
121
+ }
122
+ // Force re-evaluation of tile indices on next update
123
+ this._viewport = null;
124
+ }
125
+ // Clean up any outstanding tile requests.
126
+ finalize() {
127
+ for (const tile of this._cache.values()) {
128
+ if (tile.isLoading) {
129
+ tile.abort();
130
+ }
131
+ }
132
+ this._cache.clear();
133
+ this._tiles = [];
134
+ this._selectedTiles = null;
135
+ }
136
+ reloadAll() {
137
+ for (const id of this._cache.keys()) {
138
+ const tile = this._cache.get(id);
139
+ if (!this._selectedTiles || !this._selectedTiles.includes(tile)) {
140
+ this._cache.delete(id);
141
+ }
142
+ else {
143
+ tile.setNeedsReload();
144
+ }
145
+ }
146
+ }
147
+ /**
148
+ * Update the cache with the given viewport and model matrix and triggers callback onUpdate.
149
+ */
150
+ update(viewport, { zRange, modelMatrix } = {
151
+ zRange: null,
152
+ modelMatrix: null
153
+ }) {
154
+ const modelMatrixAsMatrix4 = modelMatrix ? new Matrix4(modelMatrix) : new Matrix4();
155
+ const isModelMatrixNew = !modelMatrixAsMatrix4.equals(this._modelMatrix);
156
+ if (!this._viewport ||
157
+ !viewport.equals(this._viewport) ||
158
+ !equals(this._zRange, zRange) ||
159
+ isModelMatrixNew) {
160
+ if (isModelMatrixNew) {
161
+ this._modelMatrixInverse = modelMatrixAsMatrix4.clone().invert();
162
+ this._modelMatrix = modelMatrixAsMatrix4;
163
+ }
164
+ this._viewport = viewport;
165
+ this._zRange = zRange;
166
+ const tileIndices = this.getTileIndices({
167
+ viewport,
168
+ maxZoom: this._maxZoom,
169
+ minZoom: this._minZoom,
170
+ zRange,
171
+ modelMatrix: this._modelMatrix,
172
+ modelMatrixInverse: this._modelMatrixInverse
173
+ });
174
+ this._selectedTiles = tileIndices.map(index => this._getTile(index, true));
175
+ if (this._dirty) {
176
+ // Some new tiles are added
177
+ this._rebuildTree();
178
+ }
179
+ // Check for needed reloads explicitly even if the view/matrix has not changed.
180
+ }
181
+ else if (this.needsReload) {
182
+ this._selectedTiles = this._selectedTiles.map(tile => this._getTile(tile.index, true));
183
+ }
184
+ // Update tile states
185
+ const changed = this.updateTileStates();
186
+ this._pruneRequests();
187
+ if (this._dirty) {
188
+ // cache size is either the user defined maxSize or 5 * number of current tiles in the viewport.
189
+ this._resizeCache();
190
+ }
191
+ if (changed) {
192
+ this._frameNumber++;
193
+ }
194
+ return this._frameNumber;
195
+ }
196
+ // eslint-disable-next-line complexity
197
+ isTileVisible(tile, cullRect, modelMatrix) {
198
+ if (!tile.isVisible) {
199
+ return false;
200
+ }
201
+ if (cullRect && this._viewport) {
202
+ const boundsArr = this._getCullBounds({
203
+ viewport: this._viewport,
204
+ z: this._zRange,
205
+ cullRect
206
+ });
207
+ let { bbox } = tile;
208
+ for (const [minX, minY, maxX, maxY] of boundsArr) {
209
+ let overlaps;
210
+ if ('west' in bbox) {
211
+ overlaps = bbox.west < maxX && bbox.east > minX && bbox.south < maxY && bbox.north > minY;
212
+ }
213
+ else {
214
+ if (modelMatrix && !Matrix4.IDENTITY.equals(modelMatrix)) {
215
+ const [left, top, right, bottom] = transformBox([bbox.left, bbox.top, bbox.right, bbox.bottom], modelMatrix);
216
+ bbox = { left, top, right, bottom };
217
+ }
218
+ // top/bottom could be swapped depending on the indexing system
219
+ const y0 = Math.min(bbox.top, bbox.bottom);
220
+ const y1 = Math.max(bbox.top, bbox.bottom);
221
+ overlaps = bbox.left < maxX && bbox.right > minX && y0 < maxY && y1 > minY;
222
+ }
223
+ if (overlaps) {
224
+ return true;
225
+ }
226
+ }
227
+ return false;
228
+ }
229
+ return true;
230
+ }
231
+ /* Public interface for subclassing */
232
+ /** Returns array of tile indices in the current viewport */
233
+ getTileIndices({ viewport, maxZoom, minZoom, zRange, modelMatrix, modelMatrixInverse }) {
234
+ const { tileSize, extent, zoomOffset, visibleMinZoom, visibleMaxZoom } = this.opts;
235
+ return getTileIndices({
236
+ viewport,
237
+ maxZoom,
238
+ minZoom,
239
+ zRange,
240
+ tileSize,
241
+ extent: extent,
242
+ modelMatrix,
243
+ modelMatrixInverse,
244
+ zoomOffset,
245
+ visibleMinZoom,
246
+ visibleMaxZoom
247
+ });
248
+ }
249
+ /** Returns unique string key for a tile index */
250
+ getTileId(index) {
251
+ return `${index.x}-${index.y}-${index.z}`;
252
+ }
253
+ /** Returns a zoom level for a tile index */
254
+ getTileZoom(index) {
255
+ return index.z;
256
+ }
257
+ /** Returns additional metadata to add to tile, bbox by default */
258
+ getTileMetadata(index) {
259
+ const { tileSize } = this.opts;
260
+ return { bbox: tileToBoundingBox(this._viewport, index.x, index.y, index.z, tileSize) };
261
+ }
262
+ /** Returns index of the parent tile */
263
+ getParentIndex(index) {
264
+ const x = Math.floor(index.x / 2);
265
+ const y = Math.floor(index.y / 2);
266
+ const z = index.z - 1;
267
+ return { x, y, z };
268
+ }
269
+ // Returns true if any tile's visibility changed
270
+ updateTileStates() {
271
+ const refinementStrategy = this.opts.refinementStrategy || STRATEGY_DEFAULT;
272
+ const visibilities = new Array(this._cache.size);
273
+ let i = 0;
274
+ // Reset state
275
+ for (const tile of this._cache.values()) {
276
+ // save previous state
277
+ visibilities[i++] = tile.isVisible;
278
+ tile.isSelected = false;
279
+ tile.isVisible = false;
280
+ }
281
+ // @ts-expect-error called only when _selectedTiles is already defined
282
+ for (const tile of this._selectedTiles) {
283
+ tile.isSelected = true;
284
+ tile.isVisible = true;
285
+ }
286
+ // Strategy-specific state logic
287
+ (typeof refinementStrategy === 'function'
288
+ ? refinementStrategy
289
+ : STRATEGIES[refinementStrategy])(Array.from(this._cache.values()));
290
+ i = 0;
291
+ // Check if any visibility has changed
292
+ for (const tile of this._cache.values()) {
293
+ if (visibilities[i++] !== tile.isVisible) {
294
+ return true;
295
+ }
296
+ }
297
+ return false;
298
+ }
299
+ _getRequestPriority(tile) {
300
+ if (!tile.isSelected && !tile.isVisible) {
301
+ return -1;
302
+ }
303
+ // RequestScheduler loads lower priority values first.
304
+ const distance = this._getTileDistancePriority(tile);
305
+ if (tile.isSelected) {
306
+ return SELECTED_TILE_PRIORITY + distance;
307
+ }
308
+ return VISIBLE_TILE_PRIORITY + distance;
309
+ }
310
+ _getTileDistancePriority(tile) {
311
+ const { width, height } = this._viewport || {};
312
+ if (!this._viewport || !width || !height) {
313
+ return 0;
314
+ }
315
+ try {
316
+ const points = this._getTileScreenCorners(tile.bbox);
317
+ const center = [width / 2, height / 2];
318
+ if (points.length === 4) {
319
+ if (this._isPointInPolygon(center, points)) {
320
+ return 0;
321
+ }
322
+ const distance = points.reduce((minDistance, point, i) => {
323
+ const nextPoint = points[(i + 1) % points.length];
324
+ return Math.min(minDistance, this._getPointToSegmentDistanceSquared(center, point, nextPoint));
325
+ }, Number.MAX_SAFE_INTEGER);
326
+ return Math.min(distance, MAX_TILE_DISTANCE_PRIORITY);
327
+ }
328
+ }
329
+ catch {
330
+ // Some viewport/tile combinations are not projectable. Keep them valid but last in tier.
331
+ }
332
+ return MAX_TILE_DISTANCE_PRIORITY;
333
+ }
334
+ _getTileScreenCorners(bbox) {
335
+ const coordinates = 'west' in bbox
336
+ ? [
337
+ [bbox.west, bbox.south],
338
+ [bbox.east, bbox.south],
339
+ [bbox.east, bbox.north],
340
+ [bbox.west, bbox.north]
341
+ ]
342
+ : [
343
+ [bbox.left, bbox.top],
344
+ [bbox.right, bbox.top],
345
+ [bbox.right, bbox.bottom],
346
+ [bbox.left, bbox.bottom]
347
+ ];
348
+ return coordinates
349
+ .map(coordinate => this._viewport.project(coordinate))
350
+ .filter(([x, y]) => Number.isFinite(x) && Number.isFinite(y));
351
+ }
352
+ _isPointInPolygon(point, polygon) {
353
+ let inside = false;
354
+ const [x, y] = point;
355
+ for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
356
+ const [xi, yi] = polygon[i];
357
+ const [xj, yj] = polygon[j];
358
+ if (yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi) {
359
+ inside = !inside;
360
+ }
361
+ }
362
+ return inside;
363
+ }
364
+ _getPointToSegmentDistanceSquared(point, segmentStart, segmentEnd) {
365
+ const [x, y] = point;
366
+ const [x1, y1] = segmentStart;
367
+ const [x2, y2] = segmentEnd;
368
+ const dx = x2 - x1;
369
+ const dy = y2 - y1;
370
+ const lengthSquared = dx * dx + dy * dy;
371
+ const t = lengthSquared
372
+ ? Math.max(0, Math.min(1, ((x - x1) * dx + (y - y1) * dy) / lengthSquared))
373
+ : 0;
374
+ const segmentX = x1 + t * dx;
375
+ const segmentY = y1 + t * dy;
376
+ const distanceX = x - segmentX;
377
+ const distanceY = y - segmentY;
378
+ return distanceX * distanceX + distanceY * distanceY;
379
+ }
380
+ _pruneRequests() {
381
+ const { maxRequests = 0 } = this.opts;
382
+ const abortCandidates = [];
383
+ let ongoingRequestCount = 0;
384
+ for (const tile of this._cache.values()) {
385
+ // Keep track of all the ongoing requests
386
+ if (tile.isLoading) {
387
+ ongoingRequestCount++;
388
+ if (!tile.isSelected && !tile.isVisible) {
389
+ abortCandidates.push(tile);
390
+ }
391
+ }
392
+ }
393
+ while (maxRequests > 0 && ongoingRequestCount > maxRequests && abortCandidates.length > 0) {
394
+ // There are too many ongoing requests, so abort some that are unselected
395
+ const tile = abortCandidates.shift();
396
+ tile.abort();
397
+ ongoingRequestCount--;
398
+ }
399
+ }
400
+ // This needs to be called every time some tiles have been added/removed from cache
401
+ _rebuildTree() {
402
+ const { _cache } = this;
403
+ // Reset states
404
+ for (const tile of _cache.values()) {
405
+ tile.parent = null;
406
+ if (tile.children) {
407
+ tile.children.length = 0;
408
+ }
409
+ }
410
+ // Rebuild tree
411
+ for (const tile of _cache.values()) {
412
+ const parent = this._getNearestAncestor(tile);
413
+ tile.parent = parent;
414
+ if (parent?.children) {
415
+ parent.children.push(tile);
416
+ }
417
+ }
418
+ }
419
+ /**
420
+ * Clear tiles that are not visible when the cache is full
421
+ */
422
+ /* eslint-disable complexity */
423
+ _resizeCache() {
424
+ const { _cache, opts } = this;
425
+ const maxCacheSize = opts.maxCacheSize ??
426
+ // @ts-expect-error called only when selectedTiles is initialized
427
+ (opts.maxCacheByteSize !== null ? Infinity : DEFAULT_CACHE_SCALE * this.selectedTiles.length);
428
+ const maxCacheByteSize = opts.maxCacheByteSize ?? Infinity;
429
+ const overflown = _cache.size > maxCacheSize || this._cacheByteSize > maxCacheByteSize;
430
+ if (overflown) {
431
+ for (const [id, tile] of _cache) {
432
+ if (!tile.isVisible && !tile.isSelected) {
433
+ // delete tile
434
+ this._cacheByteSize -= opts.maxCacheByteSize !== null ? tile.byteLength : 0;
435
+ _cache.delete(id);
436
+ this.opts.onTileUnload?.(tile);
437
+ }
438
+ if (_cache.size <= maxCacheSize && this._cacheByteSize <= maxCacheByteSize) {
439
+ break;
440
+ }
441
+ }
442
+ this._rebuildTree();
443
+ this._dirty = true;
444
+ }
445
+ if (this._dirty) {
446
+ // sort by zoom level so that smaller tiles are displayed on top
447
+ this._tiles = Array.from(this._cache.values()).sort((t1, t2) => t1.zoom - t2.zoom);
448
+ this._dirty = false;
449
+ }
450
+ }
451
+ _getTile(index, create) {
452
+ const id = this.getTileId(index);
453
+ let tile = this._cache.get(id);
454
+ let needsReload = false;
455
+ if (!tile && create) {
456
+ tile = new Tile2DHeader(index);
457
+ Object.assign(tile, this.getTileMetadata(tile.index));
458
+ Object.assign(tile, { id, zoom: this.getTileZoom(tile.index) });
459
+ needsReload = true;
460
+ this._cache.set(id, tile);
461
+ this._dirty = true;
462
+ }
463
+ else if (tile && tile.needsReload) {
464
+ needsReload = true;
465
+ }
466
+ if (tile && needsReload) {
467
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
468
+ tile.loadData({
469
+ getData: this.opts.getTileData,
470
+ getRequestPriority: this._getRequestPriority.bind(this),
471
+ requestScheduler: this._requestScheduler,
472
+ onLoad: this.onTileLoad,
473
+ onError: this.opts.onTileError
474
+ });
475
+ }
476
+ return tile;
477
+ }
478
+ _getNearestAncestor(tile) {
479
+ const { _minZoom = 0 } = this;
480
+ let index = tile.index;
481
+ while (this.getTileZoom(index) > _minZoom) {
482
+ index = this.getParentIndex(index);
483
+ const parent = this._getTile(index);
484
+ if (parent) {
485
+ return parent;
486
+ }
487
+ }
488
+ return null;
489
+ }
490
+ }
491
+ /* -- Refinement strategies --*/
492
+ /* eslint-disable max-depth */
493
+ // For all the selected && pending tiles:
494
+ // - pick the closest ancestor as placeholder
495
+ // - if no ancestor is visible, pick the closest children as placeholder
496
+ function updateTileStateDefault(allTiles) {
497
+ for (const tile of allTiles) {
498
+ tile.state = 0;
499
+ }
500
+ for (const tile of allTiles) {
501
+ if (tile.isSelected && !getPlaceholderInAncestors(tile)) {
502
+ getPlaceholderInChildren(tile);
503
+ }
504
+ }
505
+ for (const tile of allTiles) {
506
+ tile.isVisible = Boolean(tile.state & TILE_STATE_VISIBLE);
507
+ }
508
+ }
509
+ // Until a selected tile and all its selected siblings are loaded, use the closest ancestor as placeholder
510
+ function updateTileStateReplace(allTiles) {
511
+ for (const tile of allTiles) {
512
+ tile.state = 0;
513
+ }
514
+ for (const tile of allTiles) {
515
+ if (tile.isSelected) {
516
+ getPlaceholderInAncestors(tile);
517
+ }
518
+ }
519
+ // Always process parents first
520
+ const sortedTiles = Array.from(allTiles).sort((t1, t2) => t1.zoom - t2.zoom);
521
+ for (const tile of sortedTiles) {
522
+ tile.isVisible = Boolean(tile.state & TILE_STATE_VISIBLE);
523
+ if (tile.children && (tile.isVisible || tile.state & TILE_STATE_VISITED)) {
524
+ // If the tile is rendered, or if the tile has been explicitly hidden, hide all of its children
525
+ for (const child of tile.children) {
526
+ child.state = TILE_STATE_VISITED;
527
+ }
528
+ }
529
+ else if (tile.isSelected) {
530
+ getPlaceholderInChildren(tile);
531
+ }
532
+ }
533
+ }
534
+ // Walk up the tree until we find one ancestor that is loaded. Returns true if successful.
535
+ function getPlaceholderInAncestors(startTile) {
536
+ let tile = startTile;
537
+ while (tile) {
538
+ if (tile.isLoaded || tile.content) {
539
+ tile.state |= TILE_STATE_VISIBLE;
540
+ return true;
541
+ }
542
+ tile = tile.parent;
543
+ }
544
+ return false;
545
+ }
546
+ // Recursively set children as placeholder
547
+ function getPlaceholderInChildren(tile) {
548
+ for (const child of tile.children) {
549
+ if (child.isLoaded || child.content) {
550
+ child.state |= TILE_STATE_VISIBLE;
551
+ }
552
+ else {
553
+ getPlaceholderInChildren(child);
554
+ }
555
+ }
556
+ }
557
+ //# sourceMappingURL=tileset-2d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tileset-2d.js","sourceRoot":"","sources":["../../src/tileset-2d/tileset-2d.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tileset-2d/types.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC"}