@loaders.gl/tiles 4.5.3 → 5.0.0-alpha.10
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 +136 -1
- package/dist/dist.dev.js +22570 -4947
- package/dist/dist.min.js +3 -1
- package/dist/image-set.d.ts +94 -0
- package/dist/image-set.d.ts.map +1 -0
- package/dist/image-set.js +243 -0
- package/dist/image-set.js.map +1 -0
- package/dist/index.cjs +10171 -2117
- package/dist/index.cjs.map +3 -4
- package/dist/index.d.ts +50 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -8
- package/dist/index.js.map +1 -1
- package/dist/point-cloud/point-cloud-tile.d.ts +47 -0
- package/dist/point-cloud/point-cloud-tile.d.ts.map +1 -0
- package/dist/point-cloud/point-cloud-tile.js +70 -0
- package/dist/point-cloud/point-cloud-tile.js.map +1 -0
- package/dist/point-cloud/point-cloud-tileset.d.ts +135 -0
- package/dist/point-cloud/point-cloud-tileset.d.ts.map +1 -0
- package/dist/point-cloud/point-cloud-tileset.js +549 -0
- package/dist/point-cloud/point-cloud-tileset.js.map +1 -0
- package/dist/point-cloud/types.d.ts +81 -0
- package/dist/point-cloud/types.d.ts.map +1 -0
- package/dist/point-cloud/types.js +5 -0
- package/dist/point-cloud/types.js.map +1 -0
- package/dist/raster-set.d.ts +124 -0
- package/dist/raster-set.d.ts.map +1 -0
- package/dist/raster-set.js +348 -0
- package/dist/raster-set.js.map +1 -0
- 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 +189 -0
- package/dist/spatial/i3s-spatial-transformer.d.ts.map +1 -0
- package/dist/spatial/i3s-spatial-transformer.js +686 -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 +44 -0
- package/dist/spatial/spatial-resource-registry.d.ts.map +1 -0
- package/dist/spatial/spatial-resource-registry.js +67 -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 +175 -0
- package/dist/spatial/tiles-3d-spatial-transformer.js.map +1 -0
- package/dist/tileset-2d/adapter.d.ts +37 -0
- package/dist/tileset-2d/adapter.d.ts.map +1 -0
- package/dist/tileset-2d/adapter.js +5 -0
- package/dist/tileset-2d/adapter.js.map +1 -0
- package/dist/tileset-2d/index.d.ts +7 -0
- package/dist/tileset-2d/index.d.ts.map +1 -0
- package/dist/tileset-2d/index.js +6 -0
- package/dist/tileset-2d/index.js.map +1 -0
- package/dist/tileset-2d/tile-2d-header.d.ts +68 -0
- package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -0
- package/dist/tileset-2d/tile-2d-header.js +181 -0
- package/dist/tileset-2d/tile-2d-header.js.map +1 -0
- package/dist/tileset-2d/tileset-2d.d.ts +200 -0
- package/dist/tileset-2d/tileset-2d.d.ts.map +1 -0
- package/dist/tileset-2d/tileset-2d.js +532 -0
- package/dist/tileset-2d/tileset-2d.js.map +1 -0
- package/dist/tileset-2d/types.d.ts +44 -0
- package/dist/tileset-2d/types.d.ts.map +1 -0
- package/dist/tileset-2d/types.js +5 -0
- package/dist/tileset-2d/types.js.map +1 -0
- package/dist/tileset-2d.d.ts +2 -0
- package/dist/tileset-2d.d.ts.map +1 -0
- package/dist/tileset-2d.js +5 -0
- package/dist/tileset-2d.js.map +1 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +60 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +1 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js +130 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.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 +410 -0
- package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -0
- package/dist/tileset-3d/common/tile-3d.js +1056 -0
- package/dist/tileset-3d/common/tile-3d.js.map +1 -0
- package/dist/tileset-3d/common/tileset-3d.d.ts +360 -0
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-3d.js +846 -0
- package/dist/tileset-3d/common/tileset-3d.js.map +1 -0
- package/dist/tileset-3d/common/tileset-cache.d.ts +29 -0
- package/dist/tileset-3d/common/tileset-cache.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tileset-cache.js +12 -4
- package/dist/tileset-3d/common/tileset-cache.js.map +1 -0
- 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 +228 -0
- package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-source.js +17 -0
- package/dist/tileset-3d/common/tileset-source.js.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tileset-traverser.d.ts +35 -3
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tileset-traverser.js +61 -13
- package/dist/tileset-3d/common/tileset-traverser.js.map +1 -0
- 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 +221 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +770 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +110 -0
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +331 -0
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.js +3 -0
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts +116 -0
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-source.js +450 -0
- package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.js +5 -2
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.d.ts +2 -2
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.js +17 -23
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/3d-tiles-options.d.ts +1 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/3d-tiles-options.js +3 -0
- package/dist/tileset-3d/helpers/3d-tiles-options.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/bounding-volume.d.ts +7 -3
- package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/bounding-volume.js +20 -91
- package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -0
- package/dist/tileset-3d/helpers/frame-state.d.ts +93 -0
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/frame-state.js +92 -10
- package/dist/tileset-3d/helpers/frame-state.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/i3s-lod.d.ts +1 -1
- package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/i3s-lod.js +21 -9
- package/dist/tileset-3d/helpers/i3s-lod.js.map +1 -0
- 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 +72 -0
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/tiles-3d-lod.js +257 -0
- package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +1 -0
- 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/{tileset → tileset-3d}/helpers/transform-utils.d.ts +1 -1
- package/dist/tileset-3d/helpers/transform-utils.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/transform-utils.js.map +1 -0
- package/dist/tileset-3d/helpers/zoom.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/zoom.js.map +1 -0
- package/dist/types.d.ts +14 -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 -9
- package/src/image-set.ts +328 -0
- package/src/index.ts +157 -9
- package/src/point-cloud/point-cloud-tile.ts +80 -0
- package/src/point-cloud/point-cloud-tileset.ts +767 -0
- package/src/point-cloud/types.ts +99 -0
- package/src/raster-set.ts +504 -0
- 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 +957 -0
- package/src/spatial/normalize-crs-identifier.ts +26 -0
- package/src/spatial/spatial-coordinate-transformer.ts +376 -0
- package/src/spatial/spatial-resource-registry.ts +79 -0
- package/src/spatial/spatial-types.ts +422 -0
- package/src/spatial/tiles-3d-spatial-transformer.ts +206 -0
- package/src/tileset-2d/adapter.ts +46 -0
- package/src/tileset-2d/index.ts +33 -0
- package/src/tileset-2d/tile-2d-header.ts +224 -0
- package/src/tileset-2d/tileset-2d.ts +715 -0
- package/src/tileset-2d/types.ts +39 -0
- package/src/tileset-2d.ts +5 -0
- package/src/tileset-3d/common/indexed-archive-tileset-source.ts +205 -0
- package/src/tileset-3d/common/tile-3d-contracts.ts +115 -0
- package/src/tileset-3d/common/tile-3d.ts +1310 -0
- package/src/tileset-3d/common/tileset-3d.ts +1166 -0
- package/src/{tileset → tileset-3d/common}/tileset-cache.ts +16 -8
- 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 +284 -0
- package/src/{tileset → tileset-3d/common}/tileset-traverser.ts +74 -14
- package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +1059 -0
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +1025 -0
- package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +379 -0
- package/src/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.ts +4 -0
- package/src/tileset-3d/format-i3s/i3s-source.ts +557 -0
- package/src/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.ts +6 -2
- package/src/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.ts +20 -24
- package/src/{tileset → tileset-3d}/helpers/3d-tiles-options.ts +5 -1
- package/src/{tileset → tileset-3d}/helpers/bounding-volume.ts +31 -114
- package/src/tileset-3d/helpers/frame-state.ts +322 -0
- package/src/{tileset → tileset-3d}/helpers/i3s-lod.ts +24 -10
- package/src/tileset-3d/helpers/s2-bounding-volume.ts +35 -0
- package/src/tileset-3d/helpers/tiles-3d-lod.ts +370 -0
- package/src/tileset-3d/helpers/tiles-3d-request-priority.ts +301 -0
- package/src/{tileset → tileset-3d}/helpers/transform-utils.ts +1 -1
- package/src/types.ts +18 -0
- package/src/utils/doubly-linked-list.ts +2 -0
- package/src/utils/managed-array.ts +2 -0
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts +0 -7
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts.map +0 -1
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js +0 -53
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts.map +0 -1
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +0 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +0 -1
- package/dist/tileset/format-i3s/i3s-tileset-traverser.js.map +0 -1
- package/dist/tileset/helpers/3d-tiles-options.d.ts.map +0 -1
- package/dist/tileset/helpers/3d-tiles-options.js.map +0 -1
- package/dist/tileset/helpers/bounding-volume.d.ts.map +0 -1
- package/dist/tileset/helpers/bounding-volume.js.map +0 -1
- package/dist/tileset/helpers/frame-state.d.ts +0 -28
- package/dist/tileset/helpers/frame-state.d.ts.map +0 -1
- package/dist/tileset/helpers/frame-state.js.map +0 -1
- package/dist/tileset/helpers/i3s-lod.d.ts.map +0 -1
- package/dist/tileset/helpers/i3s-lod.js.map +0 -1
- package/dist/tileset/helpers/tiles-3d-lod.d.ts +0 -8
- package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +0 -1
- package/dist/tileset/helpers/tiles-3d-lod.js +0 -113
- package/dist/tileset/helpers/tiles-3d-lod.js.map +0 -1
- package/dist/tileset/helpers/transform-utils.d.ts.map +0 -1
- package/dist/tileset/helpers/transform-utils.js.map +0 -1
- package/dist/tileset/helpers/zoom.d.ts.map +0 -1
- package/dist/tileset/helpers/zoom.js.map +0 -1
- package/dist/tileset/tile-3d.d.ts +0 -230
- package/dist/tileset/tile-3d.d.ts.map +0 -1
- package/dist/tileset/tile-3d.js +0 -631
- package/dist/tileset/tile-3d.js.map +0 -1
- package/dist/tileset/tileset-3d.d.ts +0 -284
- package/dist/tileset/tileset-3d.d.ts.map +0 -1
- package/dist/tileset/tileset-3d.js +0 -814
- package/dist/tileset/tileset-3d.js.map +0 -1
- package/dist/tileset/tileset-cache.d.ts +0 -19
- package/dist/tileset/tileset-cache.d.ts.map +0 -1
- package/dist/tileset/tileset-cache.js.map +0 -1
- package/dist/tileset/tileset-traverser.d.ts.map +0 -1
- package/dist/tileset/tileset-traverser.js.map +0 -1
- package/src/tileset/format-3d-tiles/tileset-3d-traverser.ts +0 -63
- package/src/tileset/helpers/frame-state.ts +0 -183
- package/src/tileset/helpers/tiles-3d-lod.ts +0 -149
- package/src/tileset/tile-3d.ts +0 -788
- package/src/tileset/tileset-3d.ts +0 -1037
- /package/dist/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/transform-utils.js +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/zoom.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/zoom.js +0 -0
- /package/src/{tileset → tileset-3d}/helpers/zoom.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
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,29 @@
|
|
|
1
|
+
import type { Tileset3D } from "./tileset-3d.js";
|
|
2
|
+
import type { Tile3D } from "./tile-3d.js";
|
|
3
|
+
/**
|
|
4
|
+
* Stores tiles with content loaded.
|
|
5
|
+
* @private
|
|
6
|
+
*/
|
|
7
|
+
export declare class TilesetCache {
|
|
8
|
+
private _list;
|
|
9
|
+
private _sentinel;
|
|
10
|
+
private _trimTiles;
|
|
11
|
+
constructor();
|
|
12
|
+
reset(): void;
|
|
13
|
+
touch(tile: Tile3D): void;
|
|
14
|
+
add(tileset: Tileset3D, tile: Tile3D, addCallback?: (tileset: Tileset3D, tile: Tile3D) => void): void;
|
|
15
|
+
unloadTile(tileset: Tileset3D, tile: Tile3D, unloadCallback?: (tileset: Tileset3D, tile: Tile3D) => void): void;
|
|
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;
|
|
27
|
+
trim(): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=tileset-cache.d.ts.map
|
|
@@ -0,0 +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;;;;;;;;;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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { DoublyLinkedList } from "
|
|
4
|
+
import { DoublyLinkedList } from "../../utils/doubly-linked-list.js";
|
|
5
5
|
/**
|
|
6
6
|
* Stores tiles with content loaded.
|
|
7
7
|
* @private
|
|
@@ -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
|
|
@@ -0,0 +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;;;;;;;;;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"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import type { CoreAPI, Loader, LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { Vector3 } from '@math.gl/core';
|
|
3
|
+
import type { TilesetTraverser, TilesetTraverserProps } from "./tileset-traverser.js";
|
|
4
|
+
import type { Tile3D } from "./tile-3d.js";
|
|
5
|
+
import type { Tileset3D } from "./tileset-3d.js";
|
|
6
|
+
import type { FrameState } from "../helpers/frame-state.js";
|
|
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";
|
|
10
|
+
/**
|
|
11
|
+
* Parsed top-level tileset payload consumed by {@link Tileset3D} or a {@link Tileset3DSource}.
|
|
12
|
+
*/
|
|
13
|
+
export type TilesetJSON = any;
|
|
14
|
+
/**
|
|
15
|
+
* Resource-loading strategy used by source implementations to fetch and parse root metadata
|
|
16
|
+
* and tile resources.
|
|
17
|
+
*/
|
|
18
|
+
export type TilesetSourceResolver = {
|
|
19
|
+
/**
|
|
20
|
+
* Loads and parses the root metadata resource for a source.
|
|
21
|
+
*/
|
|
22
|
+
loadRoot<DataT>(url: string, loader: Loader<DataT>, loadOptions: LoaderOptions): Promise<DataT>;
|
|
23
|
+
/**
|
|
24
|
+
* Loads and parses an arbitrary source-relative resource.
|
|
25
|
+
*/
|
|
26
|
+
loadResource<DataT>(url: string, loader: Loader<DataT>, loadOptions: LoaderOptions): Promise<DataT>;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* URL-based source input used when a source is responsible for fetching root metadata.
|
|
30
|
+
*/
|
|
31
|
+
export type TilesetSourceRequest = {
|
|
32
|
+
/** Absolute root metadata URL. */
|
|
33
|
+
url: string;
|
|
34
|
+
/** Loader used to fetch and parse the root metadata. */
|
|
35
|
+
loader: Loader;
|
|
36
|
+
/** Optional base path override for relative resources. */
|
|
37
|
+
basePath?: string;
|
|
38
|
+
/** Optional resource-loading strategy used for archive-backed datasets. */
|
|
39
|
+
resolver?: TilesetSourceResolver;
|
|
40
|
+
/** Optional core API implementation used for nested source loading. */
|
|
41
|
+
coreApi?: CoreAPI;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Constructor input accepted by explicit source implementations.
|
|
45
|
+
*
|
|
46
|
+
* Request descriptors are the public path. Preloaded metadata remains useful for tests and
|
|
47
|
+
* internal call sites that already own parsed root metadata.
|
|
48
|
+
*/
|
|
49
|
+
export type TilesetSourceInput = TilesetJSON | TilesetSourceRequest;
|
|
50
|
+
/**
|
|
51
|
+
* Result of a source-managed tile content request.
|
|
52
|
+
*/
|
|
53
|
+
export type TileContentLoadResult = {
|
|
54
|
+
/** Whether the tile content request produced usable content. */
|
|
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[];
|
|
60
|
+
/** Nested tileset metadata to install below the loaded tile, if any. */
|
|
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;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Flags describing compression and texture formats observed while streaming tile content.
|
|
76
|
+
*/
|
|
77
|
+
export type TilesetContentFormats = {
|
|
78
|
+
draco: boolean;
|
|
79
|
+
meshopt: boolean;
|
|
80
|
+
dds: boolean;
|
|
81
|
+
ktx2: boolean;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Optional view-state metadata exposed by a {@link Tileset3DSource} after initialization.
|
|
85
|
+
*/
|
|
86
|
+
export type TilesetSourceViewState = {
|
|
87
|
+
cartographicCenter?: Vector3 | null;
|
|
88
|
+
cartesianCenter?: Vector3 | null;
|
|
89
|
+
zoom?: number;
|
|
90
|
+
boundingVolume?: any;
|
|
91
|
+
description?: string;
|
|
92
|
+
properties?: any;
|
|
93
|
+
extras?: any;
|
|
94
|
+
credits?: any;
|
|
95
|
+
asset?: Record<string, any>;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Normalized source metadata consumed by {@link Tileset3D}.
|
|
99
|
+
*/
|
|
100
|
+
export type TilesetSourceMetadata = {
|
|
101
|
+
/** Format discriminator. */
|
|
102
|
+
type: TILESET_TYPE;
|
|
103
|
+
/** Primary format loader used for metadata and default content requests. */
|
|
104
|
+
loader: Loader;
|
|
105
|
+
/** Absolute root metadata URL. */
|
|
106
|
+
url: string;
|
|
107
|
+
/** Base path used for relative resource resolution. */
|
|
108
|
+
basePath: string;
|
|
109
|
+
/** Parsed and normalized source payload. */
|
|
110
|
+
tileset: TilesetJSON;
|
|
111
|
+
/** Root lod metric type used as fallback by runtime tiles. */
|
|
112
|
+
lodMetricType: string;
|
|
113
|
+
/** Root lod metric value used as fallback by runtime tiles. */
|
|
114
|
+
lodMetricValue: number;
|
|
115
|
+
/** Root refinement mode used as fallback by runtime tiles. */
|
|
116
|
+
refine: string;
|
|
117
|
+
/** Format-discovered coordinate reference system metadata. */
|
|
118
|
+
spatialReference?: TilesetSpatialReference;
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Format-specific adapter used by {@link Tileset3D} for initialization, loading, and metadata access.
|
|
122
|
+
*/
|
|
123
|
+
export interface Tileset3DSource {
|
|
124
|
+
/** Tileset format discriminator. */
|
|
125
|
+
readonly type: TILESET_TYPE;
|
|
126
|
+
/** Primary format loader used for metadata and default content requests. */
|
|
127
|
+
readonly loader: Loader;
|
|
128
|
+
/** Absolute URL of the root tileset resource. */
|
|
129
|
+
readonly url: string;
|
|
130
|
+
/** Base directory used for relative resource resolution. */
|
|
131
|
+
readonly basePath: string;
|
|
132
|
+
/** Source-specific root tileset payload, when available. */
|
|
133
|
+
readonly tileset?: TilesetJSON | null;
|
|
134
|
+
/** Loader options forwarded to metadata and content requests. */
|
|
135
|
+
readonly loadOptions: LoaderOptions;
|
|
136
|
+
/** Core API used for source-managed loads, when injected by the caller. */
|
|
137
|
+
coreApi?: CoreAPI;
|
|
138
|
+
/** Accumulated content-format flags for the tileset. */
|
|
139
|
+
readonly contentFormats: TilesetContentFormats;
|
|
140
|
+
/** Format-specific asset metadata, if any. */
|
|
141
|
+
asset?: Record<string, any>;
|
|
142
|
+
/** Per-feature property schema, if any. */
|
|
143
|
+
properties?: any;
|
|
144
|
+
/** Application-specific root metadata, if any. */
|
|
145
|
+
extras?: any;
|
|
146
|
+
/** Attribution and credit metadata, if any. */
|
|
147
|
+
credits?: any;
|
|
148
|
+
/** Normalized source metadata after initialization. */
|
|
149
|
+
metadata?: TilesetSourceMetadata;
|
|
150
|
+
/**
|
|
151
|
+
* Initializes source state before traversal begins.
|
|
152
|
+
*/
|
|
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;
|
|
163
|
+
/**
|
|
164
|
+
* Returns normalized source metadata after initialization completes.
|
|
165
|
+
*/
|
|
166
|
+
getMetadata(): TilesetSourceMetadata;
|
|
167
|
+
/**
|
|
168
|
+
* Returns the root tileset payload after source initialization completes.
|
|
169
|
+
*/
|
|
170
|
+
getRootTileset(): Promise<TilesetJSON>;
|
|
171
|
+
/**
|
|
172
|
+
* Creates the runtime tile tree for a tileset payload or nested subtree.
|
|
173
|
+
*/
|
|
174
|
+
initializeTileHeaders(tileset: Tileset3D, tilesetJson: TilesetJSON, parentTile?: Tile3D | null): Tile3D;
|
|
175
|
+
/**
|
|
176
|
+
* Creates the traverser implementation appropriate for this source.
|
|
177
|
+
*/
|
|
178
|
+
createTraverser(options: TilesetTraverserProps): TilesetTraverser;
|
|
179
|
+
/**
|
|
180
|
+
* Loads renderable content for a tile.
|
|
181
|
+
*/
|
|
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>;
|
|
197
|
+
/**
|
|
198
|
+
* Resolves a tile-relative path to the final request URL.
|
|
199
|
+
*/
|
|
200
|
+
getTileUrl(tilePath: string): string;
|
|
201
|
+
/**
|
|
202
|
+
* Returns tileset-level view metadata derived from the loaded source.
|
|
203
|
+
*/
|
|
204
|
+
getViewState(rootTile: Tile3D | null): TilesetSourceViewState;
|
|
205
|
+
/**
|
|
206
|
+
* Checks whether the source declares a specific extension.
|
|
207
|
+
*/
|
|
208
|
+
hasExtension?(extensionName: string): boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Loads child tile metadata on demand for formats that do not expose the full tree up front.
|
|
211
|
+
*/
|
|
212
|
+
loadChildTileHeader?(parentTile: Tile3D, childId: string, frameState: FrameState | null): Promise<any>;
|
|
213
|
+
/**
|
|
214
|
+
* Updates source-managed bookkeeping after a tile finishes loading.
|
|
215
|
+
*/
|
|
216
|
+
onTileLoaded?(tileset: Tileset3D, tile: Tile3D, loadResult: TileContentLoadResult): void;
|
|
217
|
+
/**
|
|
218
|
+
* Returns the total known tile count for stats, if available.
|
|
219
|
+
*/
|
|
220
|
+
getTilesTotalCount?(): number | null;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Type guard for distinguishing a source-backed constructor input from other runtime values.
|
|
224
|
+
* @param value Value to test.
|
|
225
|
+
* @returns `true` when the value implements the {@link Tileset3DSource} contract.
|
|
226
|
+
*/
|
|
227
|
+
export declare function isTileset3DSource(value: unknown): value is Tileset3DSource;
|
|
228
|
+
//# sourceMappingURL=tileset-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tileset-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/common/tileset-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
/**
|
|
5
|
+
* Type guard for distinguishing a source-backed constructor input from other runtime values.
|
|
6
|
+
* @param value Value to test.
|
|
7
|
+
* @returns `true` when the value implements the {@link Tileset3DSource} contract.
|
|
8
|
+
*/
|
|
9
|
+
export function isTileset3DSource(value) {
|
|
10
|
+
return Boolean(value &&
|
|
11
|
+
typeof value === 'object' &&
|
|
12
|
+
'initialize' in value &&
|
|
13
|
+
'getRootTileset' in value &&
|
|
14
|
+
'initializeTileHeaders' in value &&
|
|
15
|
+
'loadTileContent' in value);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=tileset-source.js.map
|