@loaders.gl/tiles 5.0.0-alpha.1 → 5.0.0-alpha.11
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/LICENSE +14 -3
- package/README.md +26 -0
- package/dist/dist.dev.js +20341 -5081
- package/dist/dist.min.js +3 -1
- package/dist/index.cjs +7904 -2071
- package/dist/index.cjs.map +3 -4
- package/dist/index.d.ts +25 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/point-cloud/point-cloud-tile.d.ts.map +1 -1
- package/dist/point-cloud/point-cloud-tile.js +3 -0
- package/dist/point-cloud/point-cloud-tile.js.map +1 -1
- package/dist/point-cloud/point-cloud-tileset.d.ts +4 -0
- package/dist/point-cloud/point-cloud-tileset.d.ts.map +1 -1
- package/dist/point-cloud/point-cloud-tileset.js +54 -12
- package/dist/point-cloud/point-cloud-tileset.js.map +1 -1
- package/dist/point-cloud/types.d.ts +17 -0
- package/dist/point-cloud/types.d.ts.map +1 -1
- package/dist/point-cloud/types.js +3 -0
- package/dist/point-cloud/types.js.map +1 -1
- package/dist/raster-set.d.ts +48 -31
- package/dist/raster-set.d.ts.map +1 -1
- package/dist/raster-set.js +104 -24
- package/dist/raster-set.js.map +1 -1
- package/dist/spatial/format-spatial-reference.d.ts +68 -0
- package/dist/spatial/format-spatial-reference.d.ts.map +1 -0
- package/dist/spatial/format-spatial-reference.js +291 -0
- package/dist/spatial/format-spatial-reference.js.map +1 -0
- package/dist/spatial/get-spatial-coordinate-frame.d.ts +20 -0
- package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +1 -0
- package/dist/spatial/get-spatial-coordinate-frame.js +139 -0
- package/dist/spatial/get-spatial-coordinate-frame.js.map +1 -0
- package/dist/spatial/i3s-elevation.d.ts +20 -0
- package/dist/spatial/i3s-elevation.d.ts.map +1 -0
- package/dist/spatial/i3s-elevation.js +90 -0
- package/dist/spatial/i3s-elevation.js.map +1 -0
- package/dist/spatial/i3s-spatial-transformer.d.ts +205 -0
- package/dist/spatial/i3s-spatial-transformer.d.ts.map +1 -0
- package/dist/spatial/i3s-spatial-transformer.js +731 -0
- package/dist/spatial/i3s-spatial-transformer.js.map +1 -0
- 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 +52 -0
- package/dist/spatial/spatial-coordinate-transformer.d.ts.map +1 -0
- package/dist/spatial/spatial-coordinate-transformer.js +295 -0
- package/dist/spatial/spatial-coordinate-transformer.js.map +1 -0
- package/dist/spatial/spatial-resource-registry.d.ts +47 -0
- package/dist/spatial/spatial-resource-registry.d.ts.map +1 -0
- package/dist/spatial/spatial-resource-registry.js +76 -0
- package/dist/spatial/spatial-resource-registry.js.map +1 -0
- package/dist/spatial/spatial-types.d.ts +190 -0
- package/dist/spatial/spatial-types.d.ts.map +1 -0
- package/dist/spatial/spatial-types.js +192 -0
- package/dist/spatial/spatial-types.js.map +1 -0
- 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 +163 -0
- package/dist/spatial/tiles-3d-spatial-transformer.js.map +1 -0
- package/dist/tileset-2d/adapter.d.ts +2 -3
- package/dist/tileset-2d/adapter.d.ts.map +1 -1
- package/dist/tileset-2d/tileset-2d.d.ts +2 -3
- package/dist/tileset-2d/tileset-2d.d.ts.map +1 -1
- package/dist/tileset-2d/tileset-2d.js.map +1 -1
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +3 -3
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +1 -1
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js +9 -4
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +1 -1
- 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 +176 -5
- package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tile-3d.js +523 -89
- package/dist/tileset-3d/common/tile-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.d.ts +199 -9
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.js +345 -32
- package/dist/tileset-3d/common/tileset-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-cache.d.ts +11 -1
- package/dist/tileset-3d/common/tileset-cache.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-cache.js +11 -3
- package/dist/tileset-3d/common/tileset-cache.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 +51 -9
- 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 +33 -1
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-traverser.js +61 -14
- package/dist/tileset-3d/common/tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +182 -0
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +681 -0
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +127 -6
- 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 +485 -27
- 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 +104 -0
- 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 +286 -0
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js +3 -0
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts +23 -6
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-source.js +176 -25
- package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js +3 -0
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.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 +4 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.js +3 -0
- package/dist/tileset-3d/helpers/3d-tiles-options.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 +20 -91
- package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts +67 -2
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.js +92 -10
- package/dist/tileset-3d/helpers/frame-state.js.map +1 -1
- package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/i3s-lod.js +20 -8
- package/dist/tileset-3d/helpers/i3s-lod.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/tileset-3d/helpers/tiles-3d-lod.d.ts +61 -9
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/tiles-3d-lod.js +198 -93
- package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +1 -1
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts +134 -0
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.js +179 -0
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/doubly-linked-list.d.ts.map +1 -1
- package/dist/utils/doubly-linked-list.js +1 -0
- package/dist/utils/doubly-linked-list.js.map +1 -1
- package/dist/utils/managed-array.d.ts.map +1 -1
- package/dist/utils/managed-array.js +1 -0
- package/dist/utils/managed-array.js.map +1 -1
- package/package.json +12 -10
- package/src/index.ts +79 -1
- package/src/point-cloud/point-cloud-tile.ts +4 -0
- package/src/point-cloud/point-cloud-tileset.ts +70 -12
- package/src/point-cloud/types.ts +21 -0
- package/src/raster-set.ts +197 -67
- package/src/spatial/format-spatial-reference.ts +385 -0
- package/src/spatial/get-spatial-coordinate-frame.ts +169 -0
- package/src/spatial/i3s-elevation.ts +96 -0
- package/src/spatial/i3s-spatial-transformer.ts +1021 -0
- package/src/spatial/normalize-crs-identifier.ts +26 -0
- package/src/spatial/spatial-coordinate-transformer.ts +377 -0
- package/src/spatial/spatial-resource-registry.ts +90 -0
- package/src/spatial/spatial-types.ts +422 -0
- package/src/spatial/tiles-3d-spatial-transformer.ts +194 -0
- package/src/tileset-2d/adapter.ts +2 -3
- package/src/tileset-2d/tileset-2d.ts +2 -3
- package/src/tileset-3d/common/indexed-archive-tileset-source.ts +13 -13
- package/src/tileset-3d/common/tile-3d-contracts.ts +115 -0
- package/src/tileset-3d/common/tile-3d.ts +629 -98
- package/src/tileset-3d/common/tileset-3d.ts +512 -40
- package/src/tileset-3d/common/tileset-cache.ts +15 -7
- 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 +63 -13
- package/src/tileset-3d/common/tileset-traverser.ts +73 -15
- package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +1059 -0
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +674 -28
- package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +328 -0
- package/src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts +4 -0
- package/src/tileset-3d/format-i3s/i3s-source.ts +220 -29
- package/src/tileset-3d/format-i3s/i3s-tile-manager.ts +4 -0
- package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +6 -1
- package/src/tileset-3d/helpers/3d-tiles-options.ts +4 -0
- package/src/tileset-3d/helpers/bounding-volume.ts +31 -114
- package/src/tileset-3d/helpers/frame-state.ts +152 -13
- package/src/tileset-3d/helpers/i3s-lod.ts +22 -8
- package/src/tileset-3d/helpers/s2-bounding-volume.ts +35 -0
- package/src/tileset-3d/helpers/tiles-3d-lod.ts +291 -112
- package/src/tileset-3d/helpers/tiles-3d-request-priority.ts +301 -0
- package/src/types.ts +11 -0
- package/src/utils/doubly-linked-list.ts +2 -0
- package/src/utils/managed-array.ts +2 -0
|
@@ -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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"}
|
|
@@ -13,7 +13,17 @@ export declare class TilesetCache {
|
|
|
13
13
|
touch(tile: Tile3D): void;
|
|
14
14
|
add(tileset: Tileset3D, tile: Tile3D, addCallback?: (tileset: Tileset3D, tile: Tile3D) => void): void;
|
|
15
15
|
unloadTile(tileset: Tileset3D, tile: Tile3D, unloadCallback?: (tileset: Tileset3D, tile: Tile3D) => void): void;
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Unloads least-recently-used tiles until the byte-native cache target is met.
|
|
18
|
+
*
|
|
19
|
+
* Tiles touched after the frame sentinel remain protected, so {@link Tileset3D.cacheBytes} is a
|
|
20
|
+
* soft target rather than a hard cap on the visible working set. Overflow headroom affects
|
|
21
|
+
* memory-adjusted SSE, not eviction of unused tiles.
|
|
22
|
+
*
|
|
23
|
+
* @param tileset - Tileset that owns the cache and reports estimated content memory.
|
|
24
|
+
* @param unloadCallback - Callback that releases content and decrements the memory estimate.
|
|
25
|
+
*/
|
|
26
|
+
unloadTiles(tileset: Tileset3D, unloadCallback?: (tileset: Tileset3D, tile: Tile3D) => void): void;
|
|
17
27
|
trim(): void;
|
|
18
28
|
}
|
|
19
29
|
//# sourceMappingURL=tileset-cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-cache.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-cache.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,SAAS,EAAC,wBAAqB;AAC5C,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AAGtC;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,UAAU,CAAU;;IAU5B,KAAK,IAAI,IAAI;IAOb,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzB,GAAG,CACD,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACvD,IAAI;IAUP,UAAU,CACR,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1D,IAAI;IAaP,WAAW,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"tileset-cache.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-cache.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,SAAS,EAAC,wBAAqB;AAC5C,OAAO,KAAK,EAAC,MAAM,EAAC,qBAAkB;AAGtC;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,UAAU,CAAU;;IAU5B,KAAK,IAAI,IAAI;IAOb,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzB,GAAG,CACD,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACvD,IAAI;IAUP,UAAU,CACR,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1D,IAAI;IAaP;;;;;;;;;OASG;IACH,WAAW,CACT,OAAO,EAAE,SAAS,EAClB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1D,IAAI;IAqBP,IAAI,IAAI,IAAI;CAGb"}
|
|
@@ -48,18 +48,26 @@ export class TilesetCache {
|
|
|
48
48
|
unloadCallback(tileset, tile);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Unloads least-recently-used tiles until the byte-native cache target is met.
|
|
53
|
+
*
|
|
54
|
+
* Tiles touched after the frame sentinel remain protected, so {@link Tileset3D.cacheBytes} is a
|
|
55
|
+
* soft target rather than a hard cap on the visible working set. Overflow headroom affects
|
|
56
|
+
* memory-adjusted SSE, not eviction of unused tiles.
|
|
57
|
+
*
|
|
58
|
+
* @param tileset - Tileset that owns the cache and reports estimated content memory.
|
|
59
|
+
* @param unloadCallback - Callback that releases content and decrements the memory estimate.
|
|
60
|
+
*/
|
|
51
61
|
unloadTiles(tileset, unloadCallback) {
|
|
52
62
|
const trimTiles = this._trimTiles;
|
|
53
63
|
this._trimTiles = false;
|
|
54
64
|
const list = this._list;
|
|
55
|
-
const maximumMemoryUsageInBytes = tileset.maximumMemoryUsage * 1024 * 1024;
|
|
56
65
|
// Traverse the list only to the sentinel since tiles/nodes to the
|
|
57
66
|
// right of the sentinel were used this frame.
|
|
58
67
|
// The sub-list to the left of the sentinel is ordered from LRU to MRU.
|
|
59
68
|
const sentinel = this._sentinel;
|
|
60
69
|
let node = list.head;
|
|
61
|
-
while (node !== sentinel &&
|
|
62
|
-
(tileset.gpuMemoryUsageInBytes > maximumMemoryUsageInBytes || trimTiles)) {
|
|
70
|
+
while (node !== sentinel && (tileset.gpuMemoryUsageInBytes > tileset.cacheBytes || trimTiles)) {
|
|
63
71
|
// @ts-expect-error
|
|
64
72
|
const tile = node.item;
|
|
65
73
|
// @ts-expect-error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-cache.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-cache.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAOpC,OAAO,EAAC,gBAAgB,EAAC,0CAAuC;AAEhE;;;GAGG;AACH,MAAM,OAAO,YAAY;IACf,KAAK,CAAmB;IACxB,SAAS,CAAM;IACf,UAAU,CAAU;IAE5B;QACE,+FAA+F;QAC/F,0DAA0D;QAC1D,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,0EAA0E;QAC1E,6EAA6E;QAC7E,uDAAuD;QACvD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,GAAG,CACD,OAAkB,EAClB,IAAY,EACZ,WAAwD;QAExD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CACR,OAAkB,EAClB,IAAY,EACZ,cAA2D;QAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,WAAW,
|
|
1
|
+
{"version":3,"file":"tileset-cache.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-cache.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAOpC,OAAO,EAAC,gBAAgB,EAAC,0CAAuC;AAEhE;;;GAGG;AACH,MAAM,OAAO,YAAY;IACf,KAAK,CAAmB;IACxB,SAAS,CAAM;IACf,UAAU,CAAU;IAE5B;QACE,+FAA+F;QAC/F,0DAA0D;QAC1D,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,0EAA0E;QAC1E,6EAA6E;QAC7E,uDAAuD;QACvD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,GAAG,CACD,OAAkB,EAClB,IAAY,EACZ,WAAwD;QAExD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,WAAW,EAAE,CAAC;gBAChB,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CACR,OAAkB,EAClB,IAAY,EACZ,cAA2D;QAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,WAAW,CACT,OAAkB,EAClB,cAA2D;QAE3D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAExB,kEAAkE;QAClE,8CAA8C;QAC9C,uEAAuE;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAErB,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,UAAU,IAAI,SAAS,CAAC,EAAE,CAAC;YAC9F,mBAAmB;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,mBAAmB;YACnB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tileset-observability.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-observability.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,oCAAoC;AAsDpC;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAAkB;IAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACpD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAE9C,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAY,EAAE,CACxD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE5C,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAEpC,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,CAAC,sBAAsB,EAAE,EAAE,CAAC;IAEvE,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC;QAC1C,gBAAgB,EAAE,UAAU,CAAC,cAAc,CAAC;QAC5C,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC;QACpC,gBAAgB,EAAE,aAAa,CAAC,MAAM;QACtC,mBAAmB,EAAE,aAAa,CAAC,MAAM,CACvC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CACvD,CAAC,MAAM;QACR,gBAAgB,EAAE,YAAY,CAAC,eAAe,CAAC;QAC/C,eAAe,EAAE,YAAY,CAAC,cAAc,CAAC;QAC7C,eAAe,EAAE,YAAY,CAAC,mBAAmB,CAAC;QAClD,eAAe,EAAE,YAAY,CAAC,iBAAiB,CAAC;QAChD,UAAU,EAAE,OAAO,CAAC,qBAAqB;QACzC,uBAAuB,EAAE,OAAO,CAAC,8BAA8B;QAC/D,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC,cAAc,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type { CoreAPI,
|
|
1
|
+
import type { CoreAPI, Loader, LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
2
|
import type { Vector3 } from '@math.gl/core';
|
|
3
3
|
import type { TilesetTraverser, TilesetTraverserProps } from "./tileset-traverser.js";
|
|
4
4
|
import type { Tile3D } from "./tile-3d.js";
|
|
5
5
|
import type { Tileset3D } from "./tileset-3d.js";
|
|
6
6
|
import type { FrameState } from "../helpers/frame-state.js";
|
|
7
7
|
import type { TILESET_TYPE } from "../../constants.js";
|
|
8
|
+
import type { TilesetSpatialReference } from "../../spatial/spatial-types.js";
|
|
9
|
+
import type { Tile3DContent } from "./tile-3d-contracts.js";
|
|
8
10
|
/**
|
|
9
11
|
* Parsed top-level tileset payload consumed by {@link Tileset3D} or a {@link Tileset3DSource}.
|
|
10
12
|
*/
|
|
@@ -17,11 +19,11 @@ export type TilesetSourceResolver = {
|
|
|
17
19
|
/**
|
|
18
20
|
* Loads and parses the root metadata resource for a source.
|
|
19
21
|
*/
|
|
20
|
-
loadRoot<DataT>(url: string, loader:
|
|
22
|
+
loadRoot<DataT>(url: string, loader: Loader<DataT>, loadOptions: LoaderOptions): Promise<DataT>;
|
|
21
23
|
/**
|
|
22
24
|
* Loads and parses an arbitrary source-relative resource.
|
|
23
25
|
*/
|
|
24
|
-
loadResource<DataT>(url: string, loader:
|
|
26
|
+
loadResource<DataT>(url: string, loader: Loader<DataT>, loadOptions: LoaderOptions): Promise<DataT>;
|
|
25
27
|
};
|
|
26
28
|
/**
|
|
27
29
|
* URL-based source input used when a source is responsible for fetching root metadata.
|
|
@@ -30,7 +32,7 @@ export type TilesetSourceRequest = {
|
|
|
30
32
|
/** Absolute root metadata URL. */
|
|
31
33
|
url: string;
|
|
32
34
|
/** Loader used to fetch and parse the root metadata. */
|
|
33
|
-
loader:
|
|
35
|
+
loader: Loader;
|
|
34
36
|
/** Optional base path override for relative resources. */
|
|
35
37
|
basePath?: string;
|
|
36
38
|
/** Optional resource-loading strategy used for archive-backed datasets. */
|
|
@@ -51,8 +53,23 @@ export type TilesetSourceInput = TilesetJSON | TilesetSourceRequest;
|
|
|
51
53
|
export type TileContentLoadResult = {
|
|
52
54
|
/** Whether the tile content request produced usable content. */
|
|
53
55
|
loaded: boolean;
|
|
56
|
+
/** All payloads loaded for a tile, in source order. */
|
|
57
|
+
contents?: any[];
|
|
58
|
+
/** Optional normalized renderer-neutral descriptors for each content entry. */
|
|
59
|
+
contentEntries?: Tile3DContent[];
|
|
54
60
|
/** Nested tileset metadata to install below the loaded tile, if any. */
|
|
55
61
|
nestedTileset?: TilesetJSON;
|
|
62
|
+
/** Nested tilesets found among multiple content payloads. */
|
|
63
|
+
nestedTilesets?: TilesetJSON[];
|
|
64
|
+
};
|
|
65
|
+
/** Result of a source-managed lazy child-header request. */
|
|
66
|
+
export type TileChildrenLoadResult = {
|
|
67
|
+
/** Whether a subtree resource was loaded and installed. */
|
|
68
|
+
loaded: boolean;
|
|
69
|
+
/** Number of available tiles described by the subtree, including its existing root placeholder. */
|
|
70
|
+
tileCount: number;
|
|
71
|
+
/** Number of lazy child-subtree references installed at the new boundary. */
|
|
72
|
+
childSubtreeCount: number;
|
|
56
73
|
};
|
|
57
74
|
/**
|
|
58
75
|
* Flags describing compression and texture formats observed while streaming tile content.
|
|
@@ -83,8 +100,8 @@ export type TilesetSourceViewState = {
|
|
|
83
100
|
export type TilesetSourceMetadata = {
|
|
84
101
|
/** Format discriminator. */
|
|
85
102
|
type: TILESET_TYPE;
|
|
86
|
-
/**
|
|
87
|
-
loader:
|
|
103
|
+
/** Primary format loader used for metadata and default content requests. */
|
|
104
|
+
loader: Loader;
|
|
88
105
|
/** Absolute root metadata URL. */
|
|
89
106
|
url: string;
|
|
90
107
|
/** Base path used for relative resource resolution. */
|
|
@@ -97,6 +114,8 @@ export type TilesetSourceMetadata = {
|
|
|
97
114
|
lodMetricValue: number;
|
|
98
115
|
/** Root refinement mode used as fallback by runtime tiles. */
|
|
99
116
|
refine: string;
|
|
117
|
+
/** Format-discovered coordinate reference system metadata. */
|
|
118
|
+
spatialReference?: TilesetSpatialReference;
|
|
100
119
|
};
|
|
101
120
|
/**
|
|
102
121
|
* Format-specific adapter used by {@link Tileset3D} for initialization, loading, and metadata access.
|
|
@@ -104,8 +123,8 @@ export type TilesetSourceMetadata = {
|
|
|
104
123
|
export interface Tileset3DSource {
|
|
105
124
|
/** Tileset format discriminator. */
|
|
106
125
|
readonly type: TILESET_TYPE;
|
|
107
|
-
/**
|
|
108
|
-
readonly loader:
|
|
126
|
+
/** Primary format loader used for metadata and default content requests. */
|
|
127
|
+
readonly loader: Loader;
|
|
109
128
|
/** Absolute URL of the root tileset resource. */
|
|
110
129
|
readonly url: string;
|
|
111
130
|
/** Base directory used for relative resource resolution. */
|
|
@@ -132,6 +151,15 @@ export interface Tileset3DSource {
|
|
|
132
151
|
* Initializes source state before traversal begins.
|
|
133
152
|
*/
|
|
134
153
|
initialize(): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* Prepares option-dependent asynchronous source state before runtime headers are constructed.
|
|
156
|
+
*
|
|
157
|
+
* I3S uses this hook to sample elevation surfaces for its root bound after `Tileset3D` has
|
|
158
|
+
* applied spatial options. Sources without asynchronous header preparation omit the hook.
|
|
159
|
+
*/
|
|
160
|
+
prepareTileset?(tileset: Tileset3D): Promise<void>;
|
|
161
|
+
/** Releases source-local caches and prevents late asynchronous work from mutating runtime tiles. */
|
|
162
|
+
destroy?(): void;
|
|
135
163
|
/**
|
|
136
164
|
* Returns normalized source metadata after initialization completes.
|
|
137
165
|
*/
|
|
@@ -152,6 +180,20 @@ export interface Tileset3DSource {
|
|
|
152
180
|
* Loads renderable content for a tile.
|
|
153
181
|
*/
|
|
154
182
|
loadTileContent(tile: Tile3D): Promise<TileContentLoadResult>;
|
|
183
|
+
/**
|
|
184
|
+
* Loads and installs a complete lazy child-header group for a runtime tile.
|
|
185
|
+
*
|
|
186
|
+
* Sources that implement this hook retain ownership of resource parsing, caching, query
|
|
187
|
+
* inheritance, and archive resolution. Traversal calls it only after visibility and LOD checks.
|
|
188
|
+
*/
|
|
189
|
+
loadTileChildren?(tile: Tile3D, frameState: FrameState): Promise<TileChildrenLoadResult>;
|
|
190
|
+
/**
|
|
191
|
+
* Loads all source-managed child headers without requiring camera or visibility state.
|
|
192
|
+
*
|
|
193
|
+
* This hook is used by complete dataset operations such as conversion. Implementations retain
|
|
194
|
+
* ownership of implicit subtrees, node pages, archive resolution, and query inheritance.
|
|
195
|
+
*/
|
|
196
|
+
loadTileChildrenForTraversal?(tile: Tile3D, signal?: AbortSignal): Promise<TileChildrenLoadResult>;
|
|
155
197
|
/**
|
|
156
198
|
* Resolves a tile-relative path to the final request URL.
|
|
157
199
|
*/
|
|
@@ -167,7 +209,7 @@ export interface Tileset3DSource {
|
|
|
167
209
|
/**
|
|
168
210
|
* Loads child tile metadata on demand for formats that do not expose the full tree up front.
|
|
169
211
|
*/
|
|
170
|
-
loadChildTileHeader?(parentTile: Tile3D, childId: string, frameState: FrameState): Promise<any>;
|
|
212
|
+
loadChildTileHeader?(parentTile: Tile3D, childId: string, frameState: FrameState | null): Promise<any>;
|
|
171
213
|
/**
|
|
172
214
|
* Updates source-managed bookkeeping after a tile finishes loading.
|
|
173
215
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tileset-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-source.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"tileset-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-source.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AA2QpC;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,CACZ,KAAK;QACH,OAAO,KAAK,KAAK,QAAQ;QACzB,YAAY,IAAI,KAAK;QACrB,gBAAgB,IAAI,KAAK;QACzB,uBAAuB,IAAI,KAAK;QAChC,iBAAiB,IAAI,KAAK,CAC7B,CAAC;AACJ,CAAC"}
|