@loaders.gl/tiles 5.0.0-alpha.4 → 5.0.0-alpha.6

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 (48) hide show
  1. package/dist/dist.dev.js +476 -1643
  2. package/dist/dist.min.js +2 -2
  3. package/dist/index.cjs +223 -11
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/tileset-2d/adapter.d.ts +2 -3
  6. package/dist/tileset-2d/adapter.d.ts.map +1 -1
  7. package/dist/tileset-2d/tileset-2d.d.ts +2 -3
  8. package/dist/tileset-2d/tileset-2d.d.ts.map +1 -1
  9. package/dist/tileset-2d/tileset-2d.js.map +1 -1
  10. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +3 -3
  11. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +1 -1
  12. package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +1 -1
  13. package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -1
  14. package/dist/tileset-3d/common/tile-3d.js +4 -2
  15. package/dist/tileset-3d/common/tile-3d.js.map +1 -1
  16. package/dist/tileset-3d/common/tileset-3d.d.ts +30 -2
  17. package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
  18. package/dist/tileset-3d/common/tileset-3d.js +4 -0
  19. package/dist/tileset-3d/common/tileset-3d.js.map +1 -1
  20. package/dist/tileset-3d/common/tileset-source.d.ts +8 -8
  21. package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -1
  22. package/dist/tileset-3d/common/tileset-source.js.map +1 -1
  23. package/dist/tileset-3d/common/tileset-traverser.d.ts +14 -0
  24. package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -1
  25. package/dist/tileset-3d/common/tileset-traverser.js +17 -2
  26. package/dist/tileset-3d/common/tileset-traverser.js.map +1 -1
  27. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +2 -2
  28. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -1
  29. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -1
  30. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +65 -0
  31. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -1
  32. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +209 -0
  33. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
  34. package/dist/tileset-3d/format-i3s/i3s-source.d.ts +5 -3
  35. package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -1
  36. package/dist/tileset-3d/format-i3s/i3s-source.js +14 -7
  37. package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -1
  38. package/package.json +13 -13
  39. package/src/tileset-2d/adapter.ts +2 -3
  40. package/src/tileset-2d/tileset-2d.ts +2 -3
  41. package/src/tileset-3d/common/indexed-archive-tileset-source.ts +4 -9
  42. package/src/tileset-3d/common/tile-3d.ts +6 -2
  43. package/src/tileset-3d/common/tileset-3d.ts +34 -2
  44. package/src/tileset-3d/common/tileset-source.ts +8 -12
  45. package/src/tileset-3d/common/tileset-traverser.ts +28 -2
  46. package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +4 -4
  47. package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +236 -0
  48. package/src/tileset-3d/format-i3s/i3s-source.ts +25 -9
@@ -23,6 +23,215 @@ export class Tileset3DTraverser extends TilesetTraverser {
23
23
  }
24
24
  return true;
25
25
  }
26
+ /**
27
+ * Runs normal replacement traversal or the dedicated skip-LOD traversal selected by options.
28
+ *
29
+ * @param root - Root of the runtime subtree to traverse.
30
+ * @param frameState - Current culling and LOD state.
31
+ */
32
+ executeTraversal(root, frameState) {
33
+ if (!this.isSkipLevelOfDetailEnabled()) {
34
+ super.executeTraversal(root, frameState);
35
+ return;
36
+ }
37
+ this.executeSkipTraversal(root, frameState);
38
+ }
39
+ /**
40
+ * Traverses visible replacement branches without requesting skipped intermediate content.
41
+ *
42
+ * Base-traversal tiles establish coarse coverage. Below that base, only final desired tiles and
43
+ * tiles that cross the configured depth/SSE thresholds are requested. Already available
44
+ * ancestors remain selectable while those requests stream in.
45
+ *
46
+ * @param root - Root of the runtime subtree to traverse.
47
+ * @param frameState - Current culling and LOD state.
48
+ */
49
+ executeSkipTraversal(root, frameState) {
50
+ const stack = [root];
51
+ root._selectionDepth = root.parent ? root.parent._selectionDepth : 1;
52
+ while (stack.length > 0) {
53
+ const tile = stack.pop();
54
+ const parentRefines = !tile.parent || tile.parent._shouldRefine;
55
+ const shouldRefine = this.canTraverse(tile, frameState) &&
56
+ this.updateAndPushSkipChildren(tile, frameState, stack) &&
57
+ parentRefines;
58
+ const stoppedRefining = !shouldRefine && parentRefines;
59
+ if (!tile.hasRenderContent) {
60
+ this.emptyTiles[tile.id] = tile;
61
+ this.loadTile(tile, frameState);
62
+ if (stoppedRefining) {
63
+ this.selectDesiredTile(tile, frameState);
64
+ }
65
+ }
66
+ else if (tile.refine === TILE_REFINEMENT.ADD) {
67
+ this.loadTile(tile, frameState);
68
+ this.selectDesiredTile(tile, frameState);
69
+ }
70
+ else if (tile.refine === TILE_REFINEMENT.REPLACE) {
71
+ if (this.isInBaseTraversal(tile, frameState)) {
72
+ this.loadTile(tile, frameState);
73
+ if (stoppedRefining) {
74
+ this.selectDesiredTile(tile, frameState);
75
+ }
76
+ }
77
+ else if (stoppedRefining) {
78
+ this.loadTile(tile, frameState);
79
+ this.selectDesiredTile(tile, frameState);
80
+ }
81
+ else if (this.hasReachedSkippingThreshold(tile, frameState)) {
82
+ this.loadTile(tile, frameState);
83
+ }
84
+ }
85
+ this.touchTile(tile, frameState);
86
+ tile._shouldRefine = shouldRefine;
87
+ }
88
+ this.completeTraversal(frameState);
89
+ }
90
+ /**
91
+ * Updates and pushes visible children for skip traversal without requiring sibling readiness.
92
+ *
93
+ * @param tile - Parent whose children are considered.
94
+ * @param frameState - Current culling and LOD state.
95
+ * @param stack - Depth-first traversal stack.
96
+ * @returns `true` when at least one visible child continues refinement.
97
+ */
98
+ updateAndPushSkipChildren(tile, frameState, stack) {
99
+ this.updateChildTiles(tile, frameState);
100
+ tile.children.sort(this.compareDistanceToCamera.bind(this));
101
+ let hasVisibleChild = false;
102
+ for (const child of tile.children) {
103
+ child._selectionDepth = tile.hasRenderContent
104
+ ? tile._selectionDepth + 1
105
+ : tile._selectionDepth;
106
+ if (child.isVisibleAndInRequestVolume) {
107
+ stack.push(child);
108
+ hasVisibleChild = true;
109
+ }
110
+ else if (this.options.loadSiblings) {
111
+ this.loadTile(child, frameState);
112
+ this.touchTile(child, frameState);
113
+ }
114
+ }
115
+ return hasVisibleChild;
116
+ }
117
+ /**
118
+ * Determines whether a tile belongs to the coarse non-skipping portion of the traversal.
119
+ *
120
+ * @param tile - Tile considered for loading.
121
+ * @param frameState - Current traversal frame.
122
+ * @returns `true` when the tile should always be requested for fallback coverage.
123
+ */
124
+ isInBaseTraversal(tile, frameState) {
125
+ if (this.options.immediatelyLoadDesiredLevelOfDetail) {
126
+ return false;
127
+ }
128
+ if (!this.findNearestRequestedOrLoadedAncestor(tile, frameState)) {
129
+ return true;
130
+ }
131
+ const configuredBaseScreenSpaceError = Number.isFinite(this.options.baseScreenSpaceError)
132
+ ? Math.max(this.options.baseScreenSpaceError, 0)
133
+ : 1024;
134
+ const baseScreenSpaceError = Math.max(configuredBaseScreenSpaceError, tile.tileset.memoryAdjustedScreenSpaceError);
135
+ if (tile._screenSpaceError === 0 && tile.parent) {
136
+ return tile.parent._screenSpaceError > baseScreenSpaceError;
137
+ }
138
+ return tile._screenSpaceError > baseScreenSpaceError;
139
+ }
140
+ /**
141
+ * Determines whether a skipped branch has crossed its configured request threshold.
142
+ *
143
+ * @param tile - Tile considered for loading.
144
+ * @param frameState - Current traversal frame.
145
+ * @returns `true` when the tile must be requested instead of skipped.
146
+ */
147
+ hasReachedSkippingThreshold(tile, frameState) {
148
+ if (this.options.immediatelyLoadDesiredLevelOfDetail) {
149
+ return false;
150
+ }
151
+ const progressiveResolutionLeaf = tile._priorityProgressiveResolution &&
152
+ tile._screenSpaceErrorProgressiveResolution <= tile.tileset.memoryAdjustedScreenSpaceError &&
153
+ Boolean(tile.parent &&
154
+ tile.parent._screenSpaceErrorProgressiveResolution >
155
+ tile.tileset.memoryAdjustedScreenSpaceError);
156
+ if (progressiveResolutionLeaf) {
157
+ return true;
158
+ }
159
+ const ancestor = this.findNearestRequestedOrLoadedAncestor(tile, frameState);
160
+ if (!ancestor) {
161
+ return false;
162
+ }
163
+ const skipScreenSpaceErrorFactor = Number.isFinite(this.options.skipScreenSpaceErrorFactor) &&
164
+ this.options.skipScreenSpaceErrorFactor > 0
165
+ ? this.options.skipScreenSpaceErrorFactor
166
+ : 16;
167
+ const skipLevels = Number.isFinite(this.options.skipLevels)
168
+ ? Math.max(Math.floor(this.options.skipLevels), 0)
169
+ : 1;
170
+ return (tile._screenSpaceError < ancestor._screenSpaceError / skipScreenSpaceErrorFactor &&
171
+ tile.depth > ancestor.depth + skipLevels);
172
+ }
173
+ /**
174
+ * Finds the nearest ancestor whose render content is loaded, loading, or requested this frame.
175
+ *
176
+ * @param tile - Descendant whose request threshold needs an anchor.
177
+ * @param frameState - Current traversal frame.
178
+ * @returns The nearest request anchor, or `null` when none exists.
179
+ */
180
+ findNearestRequestedOrLoadedAncestor(tile, frameState) {
181
+ let ancestor = tile.parent;
182
+ while (ancestor) {
183
+ const contentIsUsableAnchor = ancestor.hasRenderContent &&
184
+ !ancestor.contentFailed &&
185
+ (!ancestor.hasUnloadedContent || ancestor._requestedFrame === frameState.frameNumber);
186
+ if (contentIsUsableAnchor) {
187
+ return ancestor;
188
+ }
189
+ ancestor = ancestor.parent;
190
+ }
191
+ return null;
192
+ }
193
+ /**
194
+ * Selects the desired tile, its nearest ready ancestor, or nearby ready descendants.
195
+ *
196
+ * @param tile - Tile that ended the desired refinement branch.
197
+ * @param frameState - Current culling state.
198
+ */
199
+ selectDesiredTile(tile, frameState) {
200
+ let fallbackTile = tile;
201
+ while (fallbackTile) {
202
+ if (this.shouldSelectTile(fallbackTile, frameState)) {
203
+ this.selectTile(fallbackTile, frameState);
204
+ return;
205
+ }
206
+ fallbackTile = fallbackTile.parent;
207
+ }
208
+ this.selectLoadedDescendants(tile, frameState);
209
+ }
210
+ /**
211
+ * Selects ready descendants near an unavailable desired tile to reduce temporary empty regions.
212
+ *
213
+ * @param root - Unavailable tile whose descendants are searched.
214
+ * @param frameState - Current culling state.
215
+ */
216
+ selectLoadedDescendants(root, frameState) {
217
+ const stack = [{ tile: root, depth: 0 }];
218
+ while (stack.length > 0) {
219
+ const { tile, depth } = stack.pop();
220
+ for (const child of tile.children) {
221
+ this.updateTile(child, frameState);
222
+ if (!child.isVisibleAndInRequestVolume) {
223
+ continue;
224
+ }
225
+ if (child.contentAvailable) {
226
+ this.selectTile(child, frameState);
227
+ this.touchTile(child, frameState);
228
+ }
229
+ else if (depth < 1) {
230
+ stack.push({ tile: child, depth: depth + 1 });
231
+ }
232
+ }
233
+ }
234
+ }
26
235
  compareDistanceToCamera(a, b) {
27
236
  // Sort by farthest child first since this is going on a stack
28
237
  return b._distanceToCamera === 0 && a._distanceToCamera === 0
@@ -1 +1 @@
1
- {"version":3,"file":"tileset-3d-traverser.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileset-3d-traverser.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CoreAPI, LoaderOptions, LoaderWithParser } from '@loaders.gl/loader-utils';
1
+ import type { CoreAPI, Loader, LoaderOptions } from '@loaders.gl/loader-utils';
2
2
  import type { Tile3D } from "../common/tile-3d.js";
3
3
  import type { Tileset3D } from "../common/tileset-3d.js";
4
4
  import type { FrameState } from "../helpers/frame-state.js";
@@ -11,8 +11,10 @@ import type { TilesetTraverser, TilesetTraverserProps } from "../common/tileset-
11
11
  export declare class I3SSource implements Tileset3DSource {
12
12
  /** I3S format discriminator. */
13
13
  readonly type = TILESET_TYPE.I3S;
14
- /** Loader used for tile metadata and content requests. */
15
- readonly loader: LoaderWithParser;
14
+ /** Primary I3S loader used for root and child metadata requests. */
15
+ readonly loader: Loader;
16
+ /** Worker-capable loader used for binary tile content when supplied by the format loader. */
17
+ readonly contentLoader: Loader;
16
18
  /** Root I3S layer URL. */
17
19
  readonly url: string;
18
20
  /** Base path used for relative tile resource resolution. */
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i3s-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-source.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,10 @@ const EMPTY_CONTENT_FORMATS = {
22
22
  export class I3SSource {
23
23
  /** I3S format discriminator. */
24
24
  type = TILESET_TYPE.I3S;
25
- /** Loader used for tile metadata and content requests. */
25
+ /** Primary I3S loader used for root and child metadata requests. */
26
26
  loader;
27
+ /** Worker-capable loader used for binary tile content when supplied by the format loader. */
28
+ contentLoader;
27
29
  /** Root I3S layer URL. */
28
30
  url;
29
31
  /** Base path used for relative tile resource resolution. */
@@ -58,6 +60,7 @@ export class I3SSource {
58
60
  this.rootTileset = isTilesetRequest(input) ? null : input;
59
61
  this.tileset = this.rootTileset;
60
62
  this.loader = request.loader;
63
+ this.contentLoader = getI3SContentLoader(request.loader);
61
64
  this.url = request.url;
62
65
  this.basePath = request.basePath || path.dirname(request.url);
63
66
  this.resolver = request.resolver;
@@ -174,7 +177,7 @@ export class I3SSource {
174
177
  isTileHeader: false
175
178
  }
176
179
  };
177
- tile.content = await this.loadResourceData(contentUrl, options);
180
+ tile.content = await this.loadResourceData(contentUrl, options, this.contentLoader);
178
181
  return { loaded: true };
179
182
  }
180
183
  /**
@@ -305,11 +308,11 @@ export class I3SSource {
305
308
  /**
306
309
  * Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
307
310
  */
308
- async loadWithCoreApi(url, options) {
311
+ async loadWithCoreApi(url, options, loader = this.loader) {
309
312
  if (!this.coreApi) {
310
313
  throw new Error('I3SSource requires an injected coreApi to load tileset data');
311
314
  }
312
- return await this.coreApi.load(url, this.loader, options);
315
+ return await this.coreApi.load(url, loader, options);
313
316
  }
314
317
  /**
315
318
  * Loads data through an injected resolver when present, otherwise through the injected core API.
@@ -336,11 +339,11 @@ export class I3SSource {
336
339
  /**
337
340
  * Loads tile metadata or content through an injected resolver when present, otherwise through the injected core API.
338
341
  */
339
- async loadResourceData(url, options) {
342
+ async loadResourceData(url, options, loader = this.loader) {
340
343
  if (this.resolver) {
341
- return await this.resolver.loadResource(url, this.loader, options);
344
+ return await this.resolver.loadResource(url, loader, options);
342
345
  }
343
- return await this.loadWithCoreApi(url, options);
346
+ return await this.loadWithCoreApi(url, options, loader);
344
347
  }
345
348
  /** Transform one I3S header bound after target options and elevation providers are available. */
346
349
  async transformTileHeader(header) {
@@ -363,6 +366,10 @@ export class I3SSource {
363
366
  };
364
367
  }
365
368
  }
369
+ /** Returns the format-provided binary content loader, falling back for custom legacy loaders. */
370
+ function getI3SContentLoader(loader) {
371
+ return loader.contentLoader || loader;
372
+ }
366
373
  function isTilesetRequest(input) {
367
374
  return Boolean(input && typeof input === 'object' && 'url' in input && 'loader' in input && !('type' in input));
368
375
  }
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i3s-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-source.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/tiles",
3
- "version": "5.0.0-alpha.4",
3
+ "version": "5.0.0-alpha.6",
4
4
  "description": "Common components for different tiles loaders.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,23 +42,23 @@
42
42
  "build-bundle-dev": "ocular-bundle ./bundle.ts --env=dev --output=dist/dist.dev.js"
43
43
  },
44
44
  "dependencies": {
45
- "@loaders.gl/loader-utils": "5.0.0-alpha.4",
46
- "@loaders.gl/schema": "5.0.0-alpha.4",
47
- "@math.gl/core": "4.2.0-alpha.6",
48
- "@math.gl/crs": "^4.2.0-alpha.6",
49
- "@math.gl/culling": "4.2.0-alpha.6",
50
- "@math.gl/geoid": "4.2.0-alpha.6",
51
- "@math.gl/geometry-utils": "4.2.0-alpha.6",
52
- "@math.gl/geospatial": "4.2.0-alpha.6",
53
- "@math.gl/proj4": "^4.2.0-alpha.6",
54
- "@math.gl/web-mercator": "4.2.0-alpha.6",
45
+ "@loaders.gl/loader-utils": "5.0.0-alpha.6",
46
+ "@loaders.gl/schema": "5.0.0-alpha.6",
47
+ "@math.gl/core": "5.0.0-alpha.5",
48
+ "@math.gl/crs": "5.0.0-alpha.5",
49
+ "@math.gl/culling": "5.0.0-alpha.5",
50
+ "@math.gl/geoid": "5.0.0-alpha.5",
51
+ "@math.gl/geometry-utils": "5.0.0-alpha.5",
52
+ "@math.gl/geospatial": "5.0.0-alpha.5",
53
+ "@math.gl/proj4": "5.0.0-alpha.5",
54
+ "@math.gl/web-mercator": "5.0.0-alpha.5",
55
55
  "@probe.gl/stats": "^4.1.1"
56
56
  },
57
57
  "devDependencies": {
58
- "@deck.gl/core": "^9.3.0"
58
+ "@deck.gl/core": "^9.4.0"
59
59
  },
60
60
  "peerDependencies": {
61
61
  "@loaders.gl/core": "~5.0.0-alpha.0"
62
62
  },
63
- "gitHead": "470a9cf1956b8326c92015b314f4ad8a10a3517c"
63
+ "gitHead": "9b9ea7738e0fe63e55c19c136283705f99e0b9bf"
64
64
  }
@@ -2,7 +2,6 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
- import type {Matrix4} from '@math.gl/core';
6
5
  import type {Bounds, TileBoundingBox, TileIndex, ZRange} from './types';
7
6
 
8
7
  /** Traversal inputs required by a {@link Tileset2DAdapter}. */
@@ -22,9 +21,9 @@ export type Tileset2DTraversalContext<ViewStateT> = {
22
21
  /** Elevation range used during geospatial tile selection. */
23
22
  zRange?: ZRange | null;
24
23
  /** Optional model matrix applied by the surrounding layer stack. */
25
- modelMatrix?: Matrix4 | null;
24
+ modelMatrix?: readonly number[] | null;
26
25
  /** Inverse of the current model matrix. */
27
- modelMatrixInverse?: Matrix4 | null;
26
+ modelMatrixInverse?: readonly number[] | null;
28
27
  };
29
28
 
30
29
  /** Minimal tile metadata inputs required by a {@link Tileset2DAdapter}. */
@@ -3,7 +3,6 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {RequestScheduler, type TileSource, type TileSourceMetadata} from '@loaders.gl/loader-utils';
6
- import type {Matrix4} from '@math.gl/core';
7
6
  import {Stats} from '@probe.gl/stats';
8
7
  import {SharedTile2DHeader} from './tile-2d-header';
9
8
  import type {Tileset2DAdapter, Tileset2DTileContext} from './adapter';
@@ -361,8 +360,8 @@ export class Tileset2D<DataT = any, ViewStateT = unknown> {
361
360
  maxZoom?: number;
362
361
  minZoom?: number;
363
362
  zRange: ZRange | null;
364
- modelMatrix?: Matrix4 | null;
365
- modelMatrixInverse?: Matrix4 | null;
363
+ modelMatrix?: readonly number[] | null;
364
+ modelMatrixInverse?: readonly number[] | null;
366
365
  }): TileIndex[] {
367
366
  const {adapter, tileSize, extent, zoomOffset} = this.opts;
368
367
  if (!adapter) {
@@ -3,12 +3,7 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
 
5
5
  import {BlobFile, HttpFile, path} from '@loaders.gl/loader-utils';
6
- import type {
7
- CoreAPI,
8
- LoaderOptions,
9
- LoaderWithParser,
10
- ReadableFile
11
- } from '@loaders.gl/loader-utils';
6
+ import type {CoreAPI, Loader, LoaderOptions, ReadableFile} from '@loaders.gl/loader-utils';
12
7
  import type {TilesetSourceResolver} from './tileset-source';
13
8
 
14
9
  /** Options for {@link IndexedArchiveTilesetSource}. */
@@ -63,7 +58,7 @@ export class IndexedArchiveTilesetSource<ArchiveT> implements TilesetSourceResol
63
58
  */
64
59
  async loadRoot<DataT>(
65
60
  url: string,
66
- loader: LoaderWithParser<DataT>,
61
+ loader: Loader<DataT>,
67
62
  loadOptions: LoaderOptions
68
63
  ): Promise<DataT> {
69
64
  return await this.parseArchiveResource(
@@ -83,7 +78,7 @@ export class IndexedArchiveTilesetSource<ArchiveT> implements TilesetSourceResol
83
78
  */
84
79
  async loadResource<DataT>(
85
80
  url: string,
86
- loader: LoaderWithParser<DataT>,
81
+ loader: Loader<DataT>,
87
82
  loadOptions: LoaderOptions
88
83
  ): Promise<DataT> {
89
84
  const pathInArchive = this.resolveArchivePath(url, url);
@@ -93,7 +88,7 @@ export class IndexedArchiveTilesetSource<ArchiveT> implements TilesetSourceResol
93
88
  private async parseArchiveResource<DataT>(
94
89
  resourceUrl: string,
95
90
  pathInArchive: string,
96
- loader: LoaderWithParser<DataT>,
91
+ loader: Loader<DataT>,
97
92
  loadOptions: LoaderOptions,
98
93
  mode?: string
99
94
  ): Promise<DataT> {
@@ -495,7 +495,8 @@ export class Tile3D {
495
495
  // eslint-disable-next-line complexity
496
496
  private _calculateRequestPriority(allowUnloadedContent: boolean): number {
497
497
  const traverser = this.tileset._traverser;
498
- const {skipLevelOfDetail} = traverser.options;
498
+ const skipLevelOfDetail =
499
+ traverser.options.skipLevelOfDetail && !traverser.disableSkipLevelOfDetail;
499
500
 
500
501
  /*
501
502
  * Tiles that are outside of the camera's frustum could be skipped if we are in 'ADD' mode
@@ -790,9 +791,12 @@ export class Tile3D {
790
791
  }
791
792
 
792
793
  this._foveatedFactor = calculateFoveatedFactor(this.boundingVolume, frameState.camera);
794
+ const traverser = this.tileset._traverser;
795
+ const skipLevelOfDetail =
796
+ traverser.options.skipLevelOfDetail && !traverser.disableSkipLevelOfDetail;
793
797
  const deferralEligible = isFoveatedRequestDeferred({
794
798
  refinement: this.refine,
795
- skipLevelOfDetail: this.tileset._traverser.options.skipLevelOfDetail,
799
+ skipLevelOfDetail,
796
800
  foveatedScreenSpaceError: options.foveatedScreenSpaceError,
797
801
  foveatedConeSize: options.foveatedConeSize,
798
802
  minimumScreenSpaceErrorRelaxation: options.foveatedMinimumScreenSpaceErrorRelaxation,
@@ -7,7 +7,7 @@
7
7
  import {Matrix4, Vector3} from '@math.gl/core';
8
8
  import {Ellipsoid} from '@math.gl/geospatial';
9
9
  import {Stats} from '@probe.gl/stats';
10
- import {RequestScheduler, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
10
+ import {RequestScheduler, Loader, LoaderOptions} from '@loaders.gl/loader-utils';
11
11
  import {TilesetCache} from './tileset-cache';
12
12
  import {calculateTransformProps} from '../helpers/transform-utils';
13
13
  import {getFrameState, limitSelectedTiles, updateCameraMotionState} from '../helpers/frame-state';
@@ -87,6 +87,26 @@ export type Tileset3DProps = {
87
87
  * @default false
88
88
  */
89
89
  skipLevelOfDetail?: boolean;
90
+ /**
91
+ * SSE above which tiles remain part of the non-skipping base traversal.
92
+ * @default 1024
93
+ */
94
+ baseScreenSpaceError?: number;
95
+ /**
96
+ * Required SSE reduction from the nearest requested or loaded ancestor before loading a tile.
97
+ * @default 16
98
+ */
99
+ skipScreenSpaceErrorFactor?: number;
100
+ /**
101
+ * Minimum hierarchy levels between requested tiles during skip-LOD traversal.
102
+ * @default 1
103
+ */
104
+ skipLevels?: number;
105
+ /**
106
+ * Requests only final tiles that meet the active SSE target when skip-LOD is enabled.
107
+ * @default false
108
+ */
109
+ immediatelyLoadDesiredLevelOfDetail?: boolean;
90
110
  /** Enables perspective dynamic SSE to reduce distant, horizon-facing refinement. */
91
111
  dynamicScreenSpaceError?: boolean;
92
112
  /** Base dynamic SSE fog density in inverse meters. */
@@ -154,6 +174,14 @@ type Props = {
154
174
  maximumScreenSpaceError: number;
155
175
  /** Whether replacement traversal may skip levels while retaining ancestor coverage. */
156
176
  skipLevelOfDetail: boolean;
177
+ /** SSE above which tiles remain part of the non-skipping base traversal. */
178
+ baseScreenSpaceError: number;
179
+ /** Required SSE reduction between requested skip-LOD tiles. */
180
+ skipScreenSpaceErrorFactor: number;
181
+ /** Minimum hierarchy levels between requested skip-LOD tiles. */
182
+ skipLevels: number;
183
+ /** Whether skip-LOD requests only the final desired tiles. */
184
+ immediatelyLoadDesiredLevelOfDetail: boolean;
157
185
  /** Whether perspective dynamic SSE is enabled. */
158
186
  dynamicScreenSpaceError: boolean;
159
187
  /** Base dynamic SSE fog density in inverse meters. */
@@ -282,6 +310,10 @@ const DEFAULT_PROPS: Props = {
282
310
  foveatedTimeDelay: 0.2,
283
311
  maximumScreenSpaceError: 8,
284
312
  skipLevelOfDetail: false,
313
+ baseScreenSpaceError: 1024,
314
+ skipScreenSpaceErrorFactor: 16,
315
+ skipLevels: 1,
316
+ immediatelyLoadDesiredLevelOfDetail: false,
285
317
  dynamicScreenSpaceError: true,
286
318
  dynamicScreenSpaceErrorDensity: 2.0e-4,
287
319
  dynamicScreenSpaceErrorFactor: 24,
@@ -322,7 +354,7 @@ export class Tileset3D {
322
354
 
323
355
  type: TILESET_TYPE;
324
356
  tileset: TilesetJSON | null;
325
- loader: LoaderWithParser;
357
+ loader: Loader;
326
358
  url: string;
327
359
  basePath: string;
328
360
  modelMatrix: Matrix4;