@loaders.gl/tiles 5.0.0-alpha.6 → 5.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/dist/dist.dev.js +10015 -8172
- package/dist/dist.min.js +3 -4
- package/dist/index.cjs +1676 -477
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/spatial/format-spatial-reference.d.ts +1 -0
- package/dist/spatial/format-spatial-reference.d.ts.map +1 -1
- package/dist/spatial/format-spatial-reference.js +104 -46
- package/dist/spatial/format-spatial-reference.js.map +1 -1
- package/dist/spatial/get-spatial-coordinate-frame.d.ts +12 -1
- package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +1 -1
- package/dist/spatial/get-spatial-coordinate-frame.js +105 -24
- package/dist/spatial/get-spatial-coordinate-frame.js.map +1 -1
- package/dist/spatial/normalize-crs-identifier.d.ts +15 -0
- package/dist/spatial/normalize-crs-identifier.d.ts.map +1 -0
- package/dist/spatial/normalize-crs-identifier.js +22 -0
- package/dist/spatial/normalize-crs-identifier.js.map +1 -0
- package/dist/spatial/spatial-coordinate-transformer.d.ts +4 -0
- package/dist/spatial/spatial-coordinate-transformer.d.ts.map +1 -1
- package/dist/spatial/spatial-coordinate-transformer.js +102 -18
- package/dist/spatial/spatial-coordinate-transformer.js.map +1 -1
- package/dist/spatial/spatial-resource-registry.js +3 -3
- package/dist/spatial/spatial-resource-registry.js.map +1 -1
- package/dist/spatial/tiles-3d-spatial-transformer.d.ts +32 -0
- package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +1 -0
- package/dist/spatial/tiles-3d-spatial-transformer.js +175 -0
- package/dist/spatial/tiles-3d-spatial-transformer.js.map +1 -0
- package/dist/tileset-3d/common/tile-3d-contracts.d.ts +63 -0
- package/dist/tileset-3d/common/tile-3d-contracts.d.ts.map +1 -0
- package/dist/tileset-3d/common/tile-3d-contracts.js +51 -0
- package/dist/tileset-3d/common/tile-3d-contracts.js.map +1 -0
- package/dist/tileset-3d/common/tile-3d.d.ts +33 -5
- package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tile-3d.js +179 -29
- package/dist/tileset-3d/common/tile-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.d.ts +15 -25
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.js +35 -42
- package/dist/tileset-3d/common/tileset-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-content-traversal.d.ts +37 -0
- package/dist/tileset-3d/common/tileset-content-traversal.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-content-traversal.js +80 -0
- package/dist/tileset-3d/common/tileset-content-traversal.js.map +1 -0
- package/dist/tileset-3d/common/tileset-observability.d.ts +60 -0
- package/dist/tileset-3d/common/tileset-observability.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-observability.js +39 -0
- package/dist/tileset-3d/common/tileset-observability.js.map +1 -0
- package/dist/tileset-3d/common/tileset-source.d.ts +11 -1
- package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-source.js.map +1 -1
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-traverser.js +4 -3
- package/dist/tileset-3d/common/tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +47 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +327 -30
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +34 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +278 -14
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +5 -3
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +7 -4
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts +4 -2
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-source.js +60 -9
- package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/helpers/bounding-volume.d.ts +7 -3
- package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/bounding-volume.js +19 -61
- package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts +5 -0
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.js +11 -5
- package/dist/tileset-3d/helpers/frame-state.js.map +1 -1
- package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts +17 -0
- package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/s2-bounding-volume.js +20 -0
- package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -12
- package/src/index.ts +18 -1
- package/src/spatial/format-spatial-reference.ts +127 -53
- package/src/spatial/get-spatial-coordinate-frame.ts +126 -31
- package/src/spatial/normalize-crs-identifier.ts +26 -0
- package/src/spatial/spatial-coordinate-transformer.ts +124 -24
- package/src/spatial/spatial-resource-registry.ts +3 -3
- package/src/spatial/tiles-3d-spatial-transformer.ts +206 -0
- package/src/tileset-3d/common/tile-3d-contracts.ts +115 -0
- package/src/tileset-3d/common/tile-3d.ts +208 -32
- package/src/tileset-3d/common/tileset-3d.ts +37 -61
- package/src/tileset-3d/common/tileset-content-traversal.ts +114 -0
- package/src/tileset-3d/common/tileset-observability.ts +100 -0
- package/src/tileset-3d/common/tileset-source.ts +19 -1
- package/src/tileset-3d/common/tileset-traverser.ts +4 -3
- package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +481 -34
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +405 -14
- package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +7 -4
- package/src/tileset-3d/format-i3s/i3s-source.ts +84 -13
- package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +2 -1
- package/src/tileset-3d/helpers/bounding-volume.ts +29 -62
- package/src/tileset-3d/helpers/frame-state.ts +15 -7
- package/src/tileset-3d/helpers/s2-bounding-volume.ts +35 -0
- package/src/types.ts +2 -0
|
@@ -29,17 +29,6 @@ export type Tileset3DProps = {
|
|
|
29
29
|
* @default 536870912
|
|
30
30
|
*/
|
|
31
31
|
maximumCacheOverflowBytes?: number;
|
|
32
|
-
/**
|
|
33
|
-
* Soft cache target in mebibytes.
|
|
34
|
-
* @deprecated Use {@link Tileset3DProps.cacheBytes}; when both are supplied, `cacheBytes` wins.
|
|
35
|
-
*/
|
|
36
|
-
maximumMemoryUsage?: number;
|
|
37
|
-
/**
|
|
38
|
-
* Cache overflow headroom in mebibytes.
|
|
39
|
-
* @deprecated Use {@link Tileset3DProps.maximumCacheOverflowBytes}; when both are supplied, the
|
|
40
|
-
* byte-native option wins.
|
|
41
|
-
*/
|
|
42
|
-
memoryCacheOverflow?: number;
|
|
43
32
|
maximumTilesSelected?: number;
|
|
44
33
|
debounceTime?: number;
|
|
45
34
|
description?: string;
|
|
@@ -124,10 +113,6 @@ type Props = {
|
|
|
124
113
|
cacheBytes: number;
|
|
125
114
|
/** Current-frame headroom, in bytes, before memory-adjusted SSE rises. */
|
|
126
115
|
maximumCacheOverflowBytes: number;
|
|
127
|
-
/** @deprecated Byte-native code should use `cacheBytes`. */
|
|
128
|
-
maximumMemoryUsage: number;
|
|
129
|
-
/** @deprecated Byte-native code should use `maximumCacheOverflowBytes`. */
|
|
130
|
-
memoryCacheOverflow: number;
|
|
131
116
|
maximumTilesSelected: number;
|
|
132
117
|
debounceTime: number;
|
|
133
118
|
onTileLoad: (tile: Tile3D) => void;
|
|
@@ -266,6 +251,20 @@ export declare class Tileset3D {
|
|
|
266
251
|
isLoaded(): boolean;
|
|
267
252
|
get tiles(): object[];
|
|
268
253
|
get frameNumber(): number;
|
|
254
|
+
/**
|
|
255
|
+
* Returns the tiles requested during the most recent completed traversal.
|
|
256
|
+
*
|
|
257
|
+
* A defensive copy makes request ordering deterministic for diagnostics and prevents callers
|
|
258
|
+
* from mutating the scheduler's working set.
|
|
259
|
+
*/
|
|
260
|
+
get requestedTiles(): readonly Tile3D[];
|
|
261
|
+
/**
|
|
262
|
+
* Returns empty tiles considered during the most recent completed traversal.
|
|
263
|
+
*
|
|
264
|
+
* Empty tiles can still be useful hierarchy placeholders, but their IDs are included in
|
|
265
|
+
* observability snapshots so applications can distinguish traversal work from render content.
|
|
266
|
+
*/
|
|
267
|
+
get emptyTiles(): readonly Tile3D[];
|
|
269
268
|
/**
|
|
270
269
|
* Gets or sets the soft target, in bytes, for cached tile content not needed this frame.
|
|
271
270
|
*
|
|
@@ -285,18 +284,9 @@ export declare class Tileset3D {
|
|
|
285
284
|
*/
|
|
286
285
|
get maximumCacheOverflowBytes(): number;
|
|
287
286
|
set maximumCacheOverflowBytes(value: number);
|
|
288
|
-
/**
|
|
289
|
-
* Gets or sets the soft cache target in mebibytes.
|
|
290
|
-
* @deprecated Use {@link Tileset3D.cacheBytes}. Assignments remain synchronized for compatibility.
|
|
291
|
-
*/
|
|
292
|
-
get maximumMemoryUsage(): number;
|
|
293
|
-
set maximumMemoryUsage(value: number);
|
|
294
287
|
get queryParams(): string;
|
|
295
288
|
/**
|
|
296
|
-
* Updates traversal and runtime options
|
|
297
|
-
*
|
|
298
|
-
* For each budget, the byte-native option takes precedence when both unit forms are supplied.
|
|
299
|
-
* Unspecified budgets retain their current byte values, avoiding repeated MiB conversion.
|
|
289
|
+
* Updates traversal and runtime options while retaining unspecified byte budgets.
|
|
300
290
|
*
|
|
301
291
|
* @param props - Partial runtime options to apply.
|
|
302
292
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-3d.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAG7C,OAAO,KAAK,EAAoB,UAAU,EAAC,kCAA+B;AAM1E,OAAO,KAAK,EAAC,6BAA6B,EAAC,gDAA6C;AAExF,OAAO,KAAK,EAAqB,QAAQ,EAAC,uBAAoB;AAC9D,OAAO,EAAC,MAAM,EAAC,qBAAkB;AACjC,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,KAAK,EAAC,qBAAqB,EAAE,uBAAuB,EAAC,uCAAoC;AAMhG,OAAO,EAAC,gBAAgB,EAAC,+BAA4B;AACrD,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,eAAe,EAEhB,4BAAyB;AAE1B,YAAY,EAAC,WAAW,EAAC,4BAAyB;AAElD,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC
|
|
1
|
+
{"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-3d.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,37 +36,25 @@ function validateCacheByteLength(value, optionName) {
|
|
|
36
36
|
return value;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Resolves the base cache target from byte-native or
|
|
39
|
+
* Resolves the base cache target from the byte-native option or its fallback.
|
|
40
40
|
*
|
|
41
|
-
*
|
|
42
|
-
* The fallback is already expressed in bytes and is used for both construction and runtime updates.
|
|
43
|
-
*
|
|
44
|
-
* @param options - Options that may contain byte-native or deprecated cache values.
|
|
41
|
+
* @param options - Options that may contain a byte-native cache value.
|
|
45
42
|
* @param fallbackCacheBytes - Existing or default cache target in bytes.
|
|
46
43
|
* @returns The resolved and validated cache target in bytes.
|
|
47
44
|
*/
|
|
48
45
|
function resolveCacheBytes(options, fallbackCacheBytes) {
|
|
49
|
-
const cacheBytes = options.cacheBytes ??
|
|
50
|
-
(options.maximumMemoryUsage !== undefined
|
|
51
|
-
? options.maximumMemoryUsage * BYTES_PER_MEBIBYTE
|
|
52
|
-
: fallbackCacheBytes);
|
|
46
|
+
const cacheBytes = options.cacheBytes ?? fallbackCacheBytes;
|
|
53
47
|
return validateCacheByteLength(cacheBytes, 'cacheBytes');
|
|
54
48
|
}
|
|
55
49
|
/**
|
|
56
|
-
* Resolves cache overflow headroom from byte-native or
|
|
57
|
-
*
|
|
58
|
-
* The byte-native option takes precedence so callers can migrate the two cache controls
|
|
59
|
-
* independently without unit ambiguity.
|
|
50
|
+
* Resolves cache overflow headroom from the byte-native option or its fallback.
|
|
60
51
|
*
|
|
61
|
-
* @param options - Options that may contain byte-native
|
|
52
|
+
* @param options - Options that may contain a byte-native overflow value.
|
|
62
53
|
* @param fallbackOverflowBytes - Existing or default overflow headroom in bytes.
|
|
63
54
|
* @returns The resolved and validated overflow headroom in bytes.
|
|
64
55
|
*/
|
|
65
56
|
function resolveMaximumCacheOverflowBytes(options, fallbackOverflowBytes) {
|
|
66
|
-
const maximumCacheOverflowBytes = options.maximumCacheOverflowBytes ??
|
|
67
|
-
(options.memoryCacheOverflow !== undefined
|
|
68
|
-
? options.memoryCacheOverflow * BYTES_PER_MEBIBYTE
|
|
69
|
-
: fallbackOverflowBytes);
|
|
57
|
+
const maximumCacheOverflowBytes = options.maximumCacheOverflowBytes ?? fallbackOverflowBytes;
|
|
70
58
|
return validateCacheByteLength(maximumCacheOverflowBytes, 'maximumCacheOverflowBytes');
|
|
71
59
|
}
|
|
72
60
|
const DEFAULT_PROPS = {
|
|
@@ -77,8 +65,6 @@ const DEFAULT_PROPS = {
|
|
|
77
65
|
maxRequests: 64,
|
|
78
66
|
cacheBytes: DEFAULT_CACHE_BYTES,
|
|
79
67
|
maximumCacheOverflowBytes: DEFAULT_MAXIMUM_CACHE_OVERFLOW_BYTES,
|
|
80
|
-
maximumMemoryUsage: DEFAULT_CACHE_BYTES / BYTES_PER_MEBIBYTE,
|
|
81
|
-
memoryCacheOverflow: DEFAULT_MAXIMUM_CACHE_OVERFLOW_BYTES / BYTES_PER_MEBIBYTE,
|
|
82
68
|
maximumTilesSelected: 0,
|
|
83
69
|
debounceTime: 0,
|
|
84
70
|
onTileLoad: () => { },
|
|
@@ -225,8 +211,6 @@ export class Tileset3D {
|
|
|
225
211
|
...suppliedOptions,
|
|
226
212
|
cacheBytes,
|
|
227
213
|
maximumCacheOverflowBytes,
|
|
228
|
-
maximumMemoryUsage: cacheBytes / BYTES_PER_MEBIBYTE,
|
|
229
|
-
memoryCacheOverflow: maximumCacheOverflowBytes / BYTES_PER_MEBIBYTE,
|
|
230
214
|
memoryAdjustedScreenSpaceError: suppliedOptions.memoryAdjustedScreenSpaceError ?? usesTiles3DCacheDefaults
|
|
231
215
|
};
|
|
232
216
|
this.loadOptions = this.options.loadOptions || {};
|
|
@@ -272,6 +256,24 @@ export class Tileset3D {
|
|
|
272
256
|
get frameNumber() {
|
|
273
257
|
return this._frameNumber;
|
|
274
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Returns the tiles requested during the most recent completed traversal.
|
|
261
|
+
*
|
|
262
|
+
* A defensive copy makes request ordering deterministic for diagnostics and prevents callers
|
|
263
|
+
* from mutating the scheduler's working set.
|
|
264
|
+
*/
|
|
265
|
+
get requestedTiles() {
|
|
266
|
+
return this._requestedTiles.slice();
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Returns empty tiles considered during the most recent completed traversal.
|
|
270
|
+
*
|
|
271
|
+
* Empty tiles can still be useful hierarchy placeholders, but their IDs are included in
|
|
272
|
+
* observability snapshots so applications can distinguish traversal work from render content.
|
|
273
|
+
*/
|
|
274
|
+
get emptyTiles() {
|
|
275
|
+
return this._emptyTiles.slice();
|
|
276
|
+
}
|
|
275
277
|
/**
|
|
276
278
|
* Gets or sets the soft target, in bytes, for cached tile content not needed this frame.
|
|
277
279
|
*
|
|
@@ -286,7 +288,6 @@ export class Tileset3D {
|
|
|
286
288
|
set cacheBytes(value) {
|
|
287
289
|
this._cacheBytes = validateCacheByteLength(value, 'cacheBytes');
|
|
288
290
|
this.options.cacheBytes = this._cacheBytes;
|
|
289
|
-
this.options.maximumMemoryUsage = this._cacheBytes / BYTES_PER_MEBIBYTE;
|
|
290
291
|
}
|
|
291
292
|
/**
|
|
292
293
|
* Gets or sets the additional current-frame headroom, in bytes, before memory-adjusted SSE rises.
|
|
@@ -301,17 +302,6 @@ export class Tileset3D {
|
|
|
301
302
|
set maximumCacheOverflowBytes(value) {
|
|
302
303
|
this._maximumCacheOverflowBytes = validateCacheByteLength(value, 'maximumCacheOverflowBytes');
|
|
303
304
|
this.options.maximumCacheOverflowBytes = this._maximumCacheOverflowBytes;
|
|
304
|
-
this.options.memoryCacheOverflow = this._maximumCacheOverflowBytes / BYTES_PER_MEBIBYTE;
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Gets or sets the soft cache target in mebibytes.
|
|
308
|
-
* @deprecated Use {@link Tileset3D.cacheBytes}. Assignments remain synchronized for compatibility.
|
|
309
|
-
*/
|
|
310
|
-
get maximumMemoryUsage() {
|
|
311
|
-
return this.cacheBytes / BYTES_PER_MEBIBYTE;
|
|
312
|
-
}
|
|
313
|
-
set maximumMemoryUsage(value) {
|
|
314
|
-
this.cacheBytes = validateCacheByteLength(value * BYTES_PER_MEBIBYTE, 'maximumMemoryUsage');
|
|
315
305
|
}
|
|
316
306
|
get queryParams() {
|
|
317
307
|
const rootUrl = this.source.getTileUrl(this.url);
|
|
@@ -319,10 +309,7 @@ export class Tileset3D {
|
|
|
319
309
|
return queryIndex >= 0 ? rootUrl.slice(queryIndex + 1) : '';
|
|
320
310
|
}
|
|
321
311
|
/**
|
|
322
|
-
* Updates traversal and runtime options
|
|
323
|
-
*
|
|
324
|
-
* For each budget, the byte-native option takes precedence when both unit forms are supplied.
|
|
325
|
-
* Unspecified budgets retain their current byte values, avoiding repeated MiB conversion.
|
|
312
|
+
* Updates traversal and runtime options while retaining unspecified byte budgets.
|
|
326
313
|
*
|
|
327
314
|
* @param props - Partial runtime options to apply.
|
|
328
315
|
*/
|
|
@@ -333,9 +320,7 @@ export class Tileset3D {
|
|
|
333
320
|
...this.options,
|
|
334
321
|
...props,
|
|
335
322
|
cacheBytes,
|
|
336
|
-
maximumCacheOverflowBytes
|
|
337
|
-
maximumMemoryUsage: cacheBytes / BYTES_PER_MEBIBYTE,
|
|
338
|
-
memoryCacheOverflow: maximumCacheOverflowBytes / BYTES_PER_MEBIBYTE
|
|
323
|
+
maximumCacheOverflowBytes
|
|
339
324
|
};
|
|
340
325
|
this._cacheBytes = cacheBytes;
|
|
341
326
|
this._maximumCacheOverflowBytes = maximumCacheOverflowBytes;
|
|
@@ -400,6 +385,14 @@ export class Tileset3D {
|
|
|
400
385
|
return;
|
|
401
386
|
}
|
|
402
387
|
const preparedViewports = viewports instanceof Array ? viewports : [viewports];
|
|
388
|
+
const activeViewportIds = new Set(preparedViewports.map(viewport => viewport.id));
|
|
389
|
+
// A viewport may be removed between frames. Discard its completed state before aggregating
|
|
390
|
+
// requested and selected tiles so observability reflects only the current traversal inputs.
|
|
391
|
+
for (const frameStateId of Object.keys(this.frameStateData)) {
|
|
392
|
+
if (!activeViewportIds.has(frameStateId)) {
|
|
393
|
+
delete this.frameStateData[frameStateId];
|
|
394
|
+
}
|
|
395
|
+
}
|
|
403
396
|
this._cache.reset();
|
|
404
397
|
this._frameNumber++;
|
|
405
398
|
this.traverseCounter = preparedViewports.length;
|
|
@@ -610,7 +603,7 @@ export class Tileset3D {
|
|
|
610
603
|
}
|
|
611
604
|
if (initialMetadata?.tileset?.root &&
|
|
612
605
|
typeof initialMetadata.tileset.root.then !== 'function' &&
|
|
613
|
-
!this.source.prepareTileset) {
|
|
606
|
+
(!this.source.prepareTileset || this.spatialReference?.status === 'native')) {
|
|
614
607
|
this.root = this._initializeTileHeaders(initialMetadata.tileset, null);
|
|
615
608
|
this._applyViewState();
|
|
616
609
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-3d.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-3d.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tileset-3d.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-3d.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Tile3D } from "./tile-3d.js";
|
|
2
|
+
import type { Tileset3D } from "./tileset-3d.js";
|
|
3
|
+
import type { Tile3DContent } from "./tile-3d-contracts.js";
|
|
4
|
+
/** Options for complete camera-independent tileset content traversal. */
|
|
5
|
+
export interface TraverseTilesetContentsOptions {
|
|
6
|
+
/** Cancel traversal and stop issuing further source requests. */
|
|
7
|
+
readonly signal?: AbortSignal;
|
|
8
|
+
/**
|
|
9
|
+
* Unload content loaded by this traversal when iteration advances or closes, including on error.
|
|
10
|
+
* Defaults to false. Preloaded content is retained. Use a runtime dedicated to this traversal;
|
|
11
|
+
* consume payloads before advancing and do not retain them or update the runtime concurrently.
|
|
12
|
+
*/
|
|
13
|
+
readonly unloadContent?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** One tile placement and its ordered content entries from a completed source read. */
|
|
16
|
+
export interface TilesetContentTraversalItem {
|
|
17
|
+
/** Runtime tile placement. Shared content resources are yielded once per placement. */
|
|
18
|
+
readonly tile: Tile3D;
|
|
19
|
+
/** Ordered content entries, including multiple contents declared by a single tile. */
|
|
20
|
+
readonly contents: readonly Tile3DContent[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Walks every declared tile placement and its loaded content without a camera or visibility test.
|
|
24
|
+
*
|
|
25
|
+
* Source implementations remain responsible for lazy subtree and node-page resolution. Children
|
|
26
|
+
* are visited in declaration order, nested tilesets are installed by the source before descent,
|
|
27
|
+
* and repeated resource URLs are not deduplicated because each placement can have a distinct
|
|
28
|
+
* transform. Content stays attached unless `unloadContent` is enabled. In that mode, newly loaded
|
|
29
|
+
* payloads are valid until iteration advances or closes. Tile placements and children remain
|
|
30
|
+
* available; callers still own the tileset, source, and archive lifetime.
|
|
31
|
+
*
|
|
32
|
+
* @param tileset - Initialized or initializing source-backed tileset runtime.
|
|
33
|
+
* @param options - Cancellation and decoded-content lifetime options.
|
|
34
|
+
* @returns One item for each visited tile placement in deterministic depth-first order.
|
|
35
|
+
*/
|
|
36
|
+
export declare function traverseTilesetContents(tileset: Tileset3D, options?: TraverseTilesetContentsOptions): AsyncGenerator<TilesetContentTraversalItem>;
|
|
37
|
+
//# sourceMappingURL=tileset-content-traversal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tileset-content-traversal.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-content-traversal.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAC,qBAAkB;AACjC,OAAO,KAAK,EAAC,SAAS,EAAC,wBAAqB;AAE5C,OAAO,KAAK,EAAC,aAAa,EAAC,+BAA4B;AAGvD,yEAAyE;AACzE,MAAM,WAAW,8BAA8B;IAC7C,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,uFAAuF;AACvF,MAAM,WAAW,2BAA2B;IAC1C,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAuB,uBAAuB,CAC5C,OAAO,EAAE,SAAS,EAClB,OAAO,GAAE,8BAAmC,GAC3C,cAAc,CAAC,2BAA2B,CAAC,CA2D7C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { TILESET_TYPE } from "../../constants.js";
|
|
5
|
+
/**
|
|
6
|
+
* Walks every declared tile placement and its loaded content without a camera or visibility test.
|
|
7
|
+
*
|
|
8
|
+
* Source implementations remain responsible for lazy subtree and node-page resolution. Children
|
|
9
|
+
* are visited in declaration order, nested tilesets are installed by the source before descent,
|
|
10
|
+
* and repeated resource URLs are not deduplicated because each placement can have a distinct
|
|
11
|
+
* transform. Content stays attached unless `unloadContent` is enabled. In that mode, newly loaded
|
|
12
|
+
* payloads are valid until iteration advances or closes. Tile placements and children remain
|
|
13
|
+
* available; callers still own the tileset, source, and archive lifetime.
|
|
14
|
+
*
|
|
15
|
+
* @param tileset - Initialized or initializing source-backed tileset runtime.
|
|
16
|
+
* @param options - Cancellation and decoded-content lifetime options.
|
|
17
|
+
* @returns One item for each visited tile placement in deterministic depth-first order.
|
|
18
|
+
*/
|
|
19
|
+
export async function* traverseTilesetContents(tileset, options = {}) {
|
|
20
|
+
await tileset.tilesetInitializationPromise;
|
|
21
|
+
throwIfAborted(options.signal);
|
|
22
|
+
if (!tileset.root) {
|
|
23
|
+
throw new Error('Tileset initialization completed without a root tile');
|
|
24
|
+
}
|
|
25
|
+
const stack = [tileset.root];
|
|
26
|
+
const visitedTiles = new Set();
|
|
27
|
+
while (stack.length > 0) {
|
|
28
|
+
throwIfAborted(options.signal);
|
|
29
|
+
const tile = stack.pop();
|
|
30
|
+
if (visitedTiles.has(tile)) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
visitedTiles.add(tile);
|
|
34
|
+
if (tile.header.implicitSubtree && tile.childrenState !== 'ready') {
|
|
35
|
+
const loadChildren = tileset.source.loadTileChildrenForTraversal;
|
|
36
|
+
if (!loadChildren) {
|
|
37
|
+
throw new Error('Tileset source does not support camera-independent subtree loading');
|
|
38
|
+
}
|
|
39
|
+
const result = await loadChildren.call(tileset.source, tile, options.signal);
|
|
40
|
+
if (!result.loaded) {
|
|
41
|
+
throw new Error(`Unable to load implicit subtree for tile ${tile.id}`);
|
|
42
|
+
}
|
|
43
|
+
tile.childrenState = 'ready';
|
|
44
|
+
}
|
|
45
|
+
if (tileset.type === TILESET_TYPE.I3S && tileset.source.loadTileChildrenForTraversal) {
|
|
46
|
+
const result = await tileset.source.loadTileChildrenForTraversal(tile, options.signal);
|
|
47
|
+
if (!result.loaded) {
|
|
48
|
+
throw new Error(`Unable to load I3S child nodes for tile ${tile.id}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
throwIfAborted(options.signal);
|
|
52
|
+
const loadsContent = tile.contentUrls.length > 0 && !tile.content;
|
|
53
|
+
try {
|
|
54
|
+
if (loadsContent) {
|
|
55
|
+
const loadResult = await tile.loadContentForTraversal();
|
|
56
|
+
throwIfAborted(options.signal);
|
|
57
|
+
if (!loadResult.loaded) {
|
|
58
|
+
throw new Error(`Unable to load tile content for tile ${tile.id}`);
|
|
59
|
+
}
|
|
60
|
+
tileset.source.onTileLoaded?.(tileset, tile, loadResult);
|
|
61
|
+
}
|
|
62
|
+
yield { tile, contents: tile.contentEntries };
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
if (options.unloadContent && loadsContent) {
|
|
66
|
+
tile.unloadContent();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
for (let childIndex = tile.children.length - 1; childIndex >= 0; childIndex--) {
|
|
70
|
+
stack.push(tile.children[childIndex]);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/** Throws the signal reason when traversal is cancelled. */
|
|
75
|
+
function throwIfAborted(signal) {
|
|
76
|
+
if (signal?.aborted) {
|
|
77
|
+
throw signal.reason ?? new DOMException('The operation was aborted', 'AbortError');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=tileset-content-traversal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tileset-content-traversal.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-content-traversal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { Tileset3D } from "./tileset-3d.js";
|
|
2
|
+
/**
|
|
3
|
+
* A deterministic, renderer-neutral snapshot of one {@link Tileset3D} traversal.
|
|
4
|
+
*
|
|
5
|
+
* Tile IDs are sorted so snapshots can be compared across runs even when child requests complete
|
|
6
|
+
* in a different order. Counts are reported for the completed traversal frame and cache values are
|
|
7
|
+
* expressed in bytes. This is an inspection contract; it does not alter traversal or request policy.
|
|
8
|
+
*/
|
|
9
|
+
export type Tileset3DTraversalSnapshot = {
|
|
10
|
+
/** Monotonically increasing traversal frame number. */
|
|
11
|
+
frameNumber: number;
|
|
12
|
+
/** IDs selected for rendering, sorted for stable comparisons. */
|
|
13
|
+
selectedTileIds: string[];
|
|
14
|
+
/** IDs whose content was requested, sorted for stable comparisons. */
|
|
15
|
+
requestedTileIds: string[];
|
|
16
|
+
/** IDs visited as hierarchy-only or empty tiles, sorted for stable comparisons. */
|
|
17
|
+
emptyTileIds: string[];
|
|
18
|
+
/** Number of selected tiles in the completed frame. */
|
|
19
|
+
visibleTileCount: number;
|
|
20
|
+
/** Number of selected tiles with renderable content. */
|
|
21
|
+
renderableTileCount: number;
|
|
22
|
+
/** Number of tile or subtree loads currently in flight. */
|
|
23
|
+
loadingTileCount: number;
|
|
24
|
+
/** Cumulative number of tiles loaded into the runtime cache. */
|
|
25
|
+
loadedTileCount: number;
|
|
26
|
+
/** Cumulative number of failed tile loads. */
|
|
27
|
+
failedTileCount: number;
|
|
28
|
+
/** Number of tiles currently retained in the runtime cache. */
|
|
29
|
+
cachedTileCount: number;
|
|
30
|
+
/** Estimated cached content bytes. */
|
|
31
|
+
cacheBytes: number;
|
|
32
|
+
/** Active memory-adjusted maximum SSE in logical/CSS pixels. */
|
|
33
|
+
maximumScreenSpaceError: number;
|
|
34
|
+
/** Source-specific implicit subtree counters, when the source exposes them. */
|
|
35
|
+
implicitTiling?: {
|
|
36
|
+
/** Number of subtree resources requested from the source. */
|
|
37
|
+
requestedSubtrees: number;
|
|
38
|
+
/** Number of subtree resources successfully materialized. */
|
|
39
|
+
loadedSubtrees: number;
|
|
40
|
+
/** Number of requests served by the parsed-subtree cache. */
|
|
41
|
+
cacheHits: number;
|
|
42
|
+
/** Number of parsed subtrees currently retained for reuse. */
|
|
43
|
+
cachedSubtrees: number;
|
|
44
|
+
/** Number of subtree requests currently in flight. */
|
|
45
|
+
pendingSubtrees: number;
|
|
46
|
+
/** Number of runtime tile headers created from materialized subtrees. */
|
|
47
|
+
materializedTiles: number;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Creates a stable observability snapshot from public {@link Tileset3D} state.
|
|
52
|
+
*
|
|
53
|
+
* The helper intentionally reads only public runtime fields and source diagnostics. It is safe to
|
|
54
|
+
* call from an instrumentation loop and does not retain tile or content references.
|
|
55
|
+
*
|
|
56
|
+
* @param tileset - Runtime whose most recent traversal should be inspected.
|
|
57
|
+
* @returns A serializable snapshot suitable for logs, regression fixtures, and benchmark output.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getTileset3DTraversalSnapshot(tileset: Tileset3D): Tileset3DTraversalSnapshot;
|
|
60
|
+
//# sourceMappingURL=tileset-observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tileset-observability.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-observability.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,SAAS,EAAC,wBAAqB;AAG5C;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mFAAmF;IACnF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uDAAuD;IACvD,gBAAgB,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,uBAAuB,EAAE,MAAM,CAAC;IAChC,+EAA+E;IAC/E,cAAc,CAAC,EAAE;QACf,6DAA6D;QAC7D,iBAAiB,EAAE,MAAM,CAAC;QAC1B,6DAA6D;QAC7D,cAAc,EAAE,MAAM,CAAC;QACvB,6DAA6D;QAC7D,SAAS,EAAE,MAAM,CAAC;QAClB,8DAA8D;QAC9D,cAAc,EAAE,MAAM,CAAC;QACvB,sDAAsD;QACtD,eAAe,EAAE,MAAM,CAAC;QACxB,yEAAyE;QACzE,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,SAAS,GAAG,0BAA0B,CAmC5F"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Copyright (c) vis.gl contributors
|
|
3
|
+
/**
|
|
4
|
+
* Creates a stable observability snapshot from public {@link Tileset3D} state.
|
|
5
|
+
*
|
|
6
|
+
* The helper intentionally reads only public runtime fields and source diagnostics. It is safe to
|
|
7
|
+
* call from an instrumentation loop and does not retain tile or content references.
|
|
8
|
+
*
|
|
9
|
+
* @param tileset - Runtime whose most recent traversal should be inspected.
|
|
10
|
+
* @returns A serializable snapshot suitable for logs, regression fixtures, and benchmark output.
|
|
11
|
+
*/
|
|
12
|
+
export function getTileset3DTraversalSnapshot(tileset) {
|
|
13
|
+
const selectedTiles = tileset.selectedTiles.slice();
|
|
14
|
+
const requestedTiles = tileset.requestedTiles.slice();
|
|
15
|
+
const emptyTiles = tileset.emptyTiles.slice();
|
|
16
|
+
const getTileIds = (tiles) => tiles.map(tile => String(tile.id)).sort();
|
|
17
|
+
const getStatCount = (name) => {
|
|
18
|
+
const count = tileset.stats.get(name).count;
|
|
19
|
+
return typeof count === 'number' && Number.isFinite(count) ? count : 0;
|
|
20
|
+
};
|
|
21
|
+
const implicitTilingSource = tileset.source;
|
|
22
|
+
const implicitTiling = implicitTilingSource.getImplicitTilingStats?.();
|
|
23
|
+
return {
|
|
24
|
+
frameNumber: tileset.frameNumber,
|
|
25
|
+
selectedTileIds: getTileIds(selectedTiles),
|
|
26
|
+
requestedTileIds: getTileIds(requestedTiles),
|
|
27
|
+
emptyTileIds: getTileIds(emptyTiles),
|
|
28
|
+
visibleTileCount: selectedTiles.length,
|
|
29
|
+
renderableTileCount: selectedTiles.filter(tile => tile.contentAvailable && Boolean(tile.content)).length,
|
|
30
|
+
loadingTileCount: getStatCount('Tiles Loading'),
|
|
31
|
+
loadedTileCount: getStatCount('Tiles Loaded'),
|
|
32
|
+
failedTileCount: getStatCount('Failed Tile Loads'),
|
|
33
|
+
cachedTileCount: getStatCount('Tiles In Memory'),
|
|
34
|
+
cacheBytes: tileset.gpuMemoryUsageInBytes,
|
|
35
|
+
maximumScreenSpaceError: tileset.memoryAdjustedScreenSpaceError,
|
|
36
|
+
...(implicitTiling ? { implicitTiling } : {})
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=tileset-observability.js.map
|