@loaders.gl/tiles 5.0.0-alpha.1 → 5.0.0-alpha.3
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/dist/dist.dev.js +17482 -3685
- package/dist/dist.min.js +4 -1
- package/dist/index.cjs +4594 -422
- package/dist/index.cjs.map +3 -4
- package/dist/index.d.ts +16 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -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 +37 -29
- package/dist/raster-set.d.ts.map +1 -1
- package/dist/raster-set.js +25 -2
- package/dist/raster-set.js.map +1 -1
- package/dist/spatial/format-spatial-reference.d.ts +67 -0
- package/dist/spatial/format-spatial-reference.d.ts.map +1 -0
- package/dist/spatial/format-spatial-reference.js +233 -0
- package/dist/spatial/format-spatial-reference.js.map +1 -0
- package/dist/spatial/get-spatial-coordinate-frame.d.ts +9 -0
- package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +1 -0
- package/dist/spatial/get-spatial-coordinate-frame.js +58 -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/spatial-coordinate-transformer.d.ts +48 -0
- package/dist/spatial/spatial-coordinate-transformer.d.ts.map +1 -0
- package/dist/spatial/spatial-coordinate-transformer.js +211 -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/tileset-3d/common/tile-3d.d.ts +147 -4
- package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tile-3d.js +358 -76
- package/dist/tileset-3d/common/tile-3d.js.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.d.ts +168 -3
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-3d.js +306 -23
- 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-source.d.ts +32 -0
- 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 +19 -1
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -1
- package/dist/tileset-3d/common/tileset-traverser.js +39 -7
- package/dist/tileset-3d/common/tileset-traverser.js.map +1 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +136 -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 +384 -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 +86 -3
- 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 +196 -21
- 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 +36 -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 +66 -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 +14 -1
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -1
- package/dist/tileset-3d/format-i3s/i3s-source.js +107 -17
- 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 +3 -0
- 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.map +1 -1
- package/dist/tileset-3d/helpers/bounding-volume.js +4 -33
- package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts +62 -2
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -1
- package/dist/tileset-3d/helpers/frame-state.js +85 -9
- 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/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 +5 -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/index.ts +61 -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 +118 -45
- package/src/spatial/format-spatial-reference.ts +311 -0
- package/src/spatial/get-spatial-coordinate-frame.ts +74 -0
- package/src/spatial/i3s-elevation.ts +96 -0
- package/src/spatial/i3s-spatial-transformer.ts +957 -0
- package/src/spatial/spatial-coordinate-transformer.ts +276 -0
- package/src/spatial/spatial-resource-registry.ts +79 -0
- package/src/spatial/spatial-types.ts +422 -0
- package/src/tileset-3d/common/tile-3d.ts +435 -84
- package/src/tileset-3d/common/tileset-3d.ts +445 -23
- package/src/tileset-3d/common/tileset-cache.ts +15 -7
- package/src/tileset-3d/common/tileset-source.ts +36 -0
- package/src/tileset-3d/common/tileset-traverser.ts +40 -7
- package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +612 -0
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +254 -21
- package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +77 -0
- package/src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts +4 -0
- package/src/tileset-3d/format-i3s/i3s-source.ts +119 -18
- package/src/tileset-3d/format-i3s/i3s-tile-manager.ts +4 -0
- package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +4 -0
- package/src/tileset-3d/helpers/3d-tiles-options.ts +4 -0
- package/src/tileset-3d/helpers/bounding-volume.ts +5 -55
- package/src/tileset-3d/helpers/frame-state.ts +142 -11
- package/src/tileset-3d/helpers/i3s-lod.ts +22 -8
- 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 +9 -0
- package/src/utils/doubly-linked-list.ts +2 -0
- package/src/utils/managed-array.ts +2 -0
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
// loaders.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { path } from '@loaders.gl/loader-utils';
|
|
4
|
+
import { path, RequestCache } from '@loaders.gl/loader-utils';
|
|
5
5
|
import { Ellipsoid } from '@math.gl/geospatial';
|
|
6
6
|
import { Vector3 } from '@math.gl/core';
|
|
7
7
|
import { Tileset3DTraverser } from "./tileset-3d-traverser.js";
|
|
8
8
|
import { Tile3D as Tile3DNode } from "../common/tile-3d.js";
|
|
9
9
|
import { getZoomFromBoundingVolume } from "../helpers/zoom.js";
|
|
10
10
|
import { TILESET_TYPE } from "../../constants.js";
|
|
11
|
+
import { get3DTilesSpatialReference } from "../../spatial/format-spatial-reference.js";
|
|
12
|
+
import { materializeImplicitSubtree } from "./implicit-tiling.js";
|
|
11
13
|
const EMPTY_CONTENT_FORMATS = {
|
|
12
14
|
draco: false,
|
|
13
15
|
meshopt: false,
|
|
14
16
|
dds: false,
|
|
15
17
|
ktx2: false
|
|
16
18
|
};
|
|
19
|
+
const DEFAULT_MAXIMUM_CACHED_SUBTREES = 32;
|
|
17
20
|
/**
|
|
18
21
|
* {@link Tileset3DSource} implementation for 3D Tiles datasets.
|
|
19
22
|
*/
|
|
@@ -45,6 +48,19 @@ export class Tiles3DSource {
|
|
|
45
48
|
/** Normalized source metadata after initialization. */
|
|
46
49
|
metadata;
|
|
47
50
|
queryParams = {};
|
|
51
|
+
/** Final request URLs cached by unmodified tile content URL. */
|
|
52
|
+
tileUrlCache = new Map();
|
|
53
|
+
/** Parsed subtree requests keyed by final source URL for deduplication and LRU reuse. */
|
|
54
|
+
implicitSubtreeCache;
|
|
55
|
+
/** Mutable counters exposed as a defensive snapshot through {@link getImplicitTilingStats}. */
|
|
56
|
+
implicitTilingStats = {
|
|
57
|
+
requestedSubtrees: 0,
|
|
58
|
+
loadedSubtrees: 0,
|
|
59
|
+
cacheHits: 0,
|
|
60
|
+
materializedTiles: 0
|
|
61
|
+
};
|
|
62
|
+
/** Whether the owning tileset has released this source. */
|
|
63
|
+
destroyed = false;
|
|
48
64
|
extensionsUsed = [];
|
|
49
65
|
resolver;
|
|
50
66
|
rootTileset;
|
|
@@ -63,6 +79,22 @@ export class Tiles3DSource {
|
|
|
63
79
|
this.resolver = request.resolver;
|
|
64
80
|
this.coreApi = request.coreApi;
|
|
65
81
|
this.loadOptions = loadOptions;
|
|
82
|
+
const maximumCachedSubtrees = Number(loadOptions['3d-tiles']?.maximumCachedSubtrees);
|
|
83
|
+
const maximumCacheEntries = Number.isFinite(maximumCachedSubtrees)
|
|
84
|
+
? Math.max(0, Math.floor(maximumCachedSubtrees))
|
|
85
|
+
: DEFAULT_MAXIMUM_CACHED_SUBTREES;
|
|
86
|
+
this.implicitSubtreeCache = new RequestCache({ maxEntries: maximumCacheEntries });
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Releases URL and parsed-subtree caches and blocks late subtree installation.
|
|
90
|
+
*
|
|
91
|
+
* The injected resolver or core API remains responsible for transport-level abort signals. A
|
|
92
|
+
* request that cannot be aborted may finish parsing, but it will not mutate destroyed tiles.
|
|
93
|
+
*/
|
|
94
|
+
destroy() {
|
|
95
|
+
this.destroyed = true;
|
|
96
|
+
this.tileUrlCache.clear();
|
|
97
|
+
this.implicitSubtreeCache.clear();
|
|
66
98
|
}
|
|
67
99
|
/**
|
|
68
100
|
* Fetches and validates top-level metadata, then normalizes common fields used by {@link Tileset3D}.
|
|
@@ -81,7 +113,9 @@ export class Tiles3DSource {
|
|
|
81
113
|
this.tileset = this.rootTileset;
|
|
82
114
|
if (this.rootTileset.queryString) {
|
|
83
115
|
const searchParams = new URLSearchParams(this.rootTileset.queryString);
|
|
84
|
-
|
|
116
|
+
for (const [parameterName, parameterValue] of searchParams.entries()) {
|
|
117
|
+
this.setQueryParameter(parameterName, parameterValue);
|
|
118
|
+
}
|
|
85
119
|
}
|
|
86
120
|
this.asset = this.rootTileset.asset;
|
|
87
121
|
if (!this.asset) {
|
|
@@ -93,7 +127,7 @@ export class Tiles3DSource {
|
|
|
93
127
|
throw new Error('The tileset must be 3D Tiles version either 0.0 or 1.0 or 1.1.');
|
|
94
128
|
}
|
|
95
129
|
if ('tilesetVersion' in this.asset) {
|
|
96
|
-
this.
|
|
130
|
+
this.setQueryParameter('v', this.asset.tilesetVersion);
|
|
97
131
|
}
|
|
98
132
|
this.properties = this.rootTileset.properties;
|
|
99
133
|
this.extras = this.rootTileset.extras;
|
|
@@ -107,7 +141,8 @@ export class Tiles3DSource {
|
|
|
107
141
|
tileset: this.rootTileset,
|
|
108
142
|
lodMetricType: this.rootTileset.lodMetricType,
|
|
109
143
|
lodMetricValue: this.rootTileset.lodMetricValue,
|
|
110
|
-
refine: this.rootTileset.root?.refine
|
|
144
|
+
refine: this.rootTileset.root?.refine,
|
|
145
|
+
spatialReference: get3DTilesSpatialReference(this.rootTileset)
|
|
111
146
|
};
|
|
112
147
|
}
|
|
113
148
|
/**
|
|
@@ -126,7 +161,7 @@ export class Tiles3DSource {
|
|
|
126
161
|
return this.getMetadata().tileset;
|
|
127
162
|
}
|
|
128
163
|
/**
|
|
129
|
-
* Builds
|
|
164
|
+
* Builds explicit runtime headers while leaving implicit subtree references lazy.
|
|
130
165
|
*/
|
|
131
166
|
initializeTileHeaders(tileset, tilesetJson, parentTile) {
|
|
132
167
|
const rootTile = new Tile3DNode(tileset, tilesetJson.root, parentTile || undefined);
|
|
@@ -145,7 +180,7 @@ export class Tiles3DSource {
|
|
|
145
180
|
const url = new URL(childTile.contentUrl);
|
|
146
181
|
const session = url.searchParams.get('session');
|
|
147
182
|
if (session) {
|
|
148
|
-
this.
|
|
183
|
+
this.setQueryParameter('session', session);
|
|
149
184
|
}
|
|
150
185
|
}
|
|
151
186
|
tile.children.push(childTile);
|
|
@@ -165,31 +200,97 @@ export class Tiles3DSource {
|
|
|
165
200
|
* Loads binary content or nested tileset JSON for a runtime tile.
|
|
166
201
|
*/
|
|
167
202
|
async loadTileContent(tile) {
|
|
168
|
-
const
|
|
203
|
+
const contentUrls = (tile.contentUrls || [tile.contentUrl]).filter(Boolean);
|
|
169
204
|
const tilesetLoaderOptions = this.loadOptions[this.loader.id] || {};
|
|
170
205
|
const options = {
|
|
171
206
|
...this.loadOptions,
|
|
172
207
|
[this.loader.id]: {
|
|
173
208
|
...tilesetLoaderOptions,
|
|
174
|
-
|
|
209
|
+
// Content bytes, rather than URL suffixes, distinguish external tilesets from renderable
|
|
210
|
+
// payloads. This is required for signed and extensionless resources.
|
|
211
|
+
isTileset: 'auto',
|
|
175
212
|
assetGltfUpAxis: (this.asset && this.asset.gltfUpAxis) || 'Y'
|
|
176
213
|
}
|
|
177
214
|
};
|
|
178
|
-
const
|
|
179
|
-
tile.
|
|
215
|
+
const contents = await Promise.all(contentUrls.map(contentUrl => this.loadResourceData(this.getTileUrl(contentUrl), options)));
|
|
216
|
+
tile.contents = contents;
|
|
217
|
+
tile.content = contents[0] || null;
|
|
218
|
+
const nestedTilesets = contents.filter(content => content?.shape === 'tileset3d');
|
|
219
|
+
return {
|
|
220
|
+
loaded: true,
|
|
221
|
+
contents,
|
|
222
|
+
nestedTileset: nestedTilesets[0],
|
|
223
|
+
nestedTilesets
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Loads, materializes, and installs exactly one implicit subtree.
|
|
228
|
+
*
|
|
229
|
+
* Final URLs pass through the same query inheritance and archive/custom resolver path as render
|
|
230
|
+
* content. Parsed resources are deduplicated by final URL, while the pure materializer creates
|
|
231
|
+
* lazy placeholders for every available child subtree instead of recursively fetching them.
|
|
232
|
+
*
|
|
233
|
+
* @param tile - Existing contentless subtree-root placeholder.
|
|
234
|
+
* @param frameState - View state that made this request eligible; priority is consumed earlier.
|
|
235
|
+
* @returns Counts describing the installed subtree.
|
|
236
|
+
*/
|
|
237
|
+
async loadTileChildren(tile, frameState) {
|
|
238
|
+
void frameState;
|
|
239
|
+
const reference = tile.header.implicitSubtree;
|
|
240
|
+
if (!reference) {
|
|
241
|
+
return { loaded: false, tileCount: 0, childSubtreeCount: 0 };
|
|
242
|
+
}
|
|
243
|
+
const subtreeUrl = this.getTileUrl(reference.subtreeUrl);
|
|
244
|
+
const subtree = await this.loadImplicitSubtreeResource(subtreeUrl);
|
|
245
|
+
if (this.destroyed || tile.isDestroyed()) {
|
|
246
|
+
return { loaded: false, tileCount: 0, childSubtreeCount: 0 };
|
|
247
|
+
}
|
|
248
|
+
const materializedSubtree = materializeImplicitSubtree(subtree, {
|
|
249
|
+
...reference,
|
|
250
|
+
subtreeUrl
|
|
251
|
+
});
|
|
252
|
+
tile.applyImplicitSubtreeHeader(materializedSubtree.root);
|
|
253
|
+
const materializedTileCount = this.initializeMaterializedChildren(tile.tileset, tile, materializedSubtree.root.children);
|
|
254
|
+
this.implicitTilingStats.loadedSubtrees++;
|
|
255
|
+
this.implicitTilingStats.materializedTiles += materializedTileCount;
|
|
180
256
|
return {
|
|
181
257
|
loaded: true,
|
|
182
|
-
|
|
258
|
+
tileCount: materializedSubtree.tileCount,
|
|
259
|
+
childSubtreeCount: materializedSubtree.childSubtreeCount
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Returns a snapshot of implicit-subtree request, cache, and materialization counters.
|
|
264
|
+
*
|
|
265
|
+
* @returns Immutable-by-convention diagnostic values for runtime inspection.
|
|
266
|
+
*/
|
|
267
|
+
getImplicitTilingStats() {
|
|
268
|
+
return {
|
|
269
|
+
...this.implicitTilingStats,
|
|
270
|
+
cachedSubtrees: this.implicitSubtreeCache.size - this.implicitSubtreeCache.pendingSize,
|
|
271
|
+
pendingSubtrees: this.implicitSubtreeCache.pendingSize
|
|
183
272
|
};
|
|
184
273
|
}
|
|
185
274
|
/**
|
|
186
275
|
* Resolves a tile content URL with source-managed query parameters.
|
|
276
|
+
*
|
|
277
|
+
* Existing per-resource parameters take precedence over inherited root, version, and session
|
|
278
|
+
* values. Completed URLs are cached by the original tile path; {@link setQueryParameter}
|
|
279
|
+
* invalidates the cache before changed source state can be observed.
|
|
280
|
+
*
|
|
281
|
+
* @param tilePath - Unmodified absolute content URL or data URL from the tile header.
|
|
282
|
+
* @returns Content URL with any missing source parameters appended.
|
|
187
283
|
*/
|
|
188
284
|
getTileUrl(tilePath) {
|
|
189
285
|
if (tilePath.startsWith('data:')) {
|
|
190
286
|
return tilePath;
|
|
191
287
|
}
|
|
288
|
+
const cachedTileUrl = this.tileUrlCache.get(tilePath);
|
|
289
|
+
if (cachedTileUrl) {
|
|
290
|
+
return cachedTileUrl;
|
|
291
|
+
}
|
|
192
292
|
if (!Object.keys(this.queryParams).length) {
|
|
293
|
+
this.tileUrlCache.set(tilePath, tilePath);
|
|
193
294
|
return tilePath;
|
|
194
295
|
}
|
|
195
296
|
const [pathWithoutQuery, existingQuery = ''] = tilePath.split('?');
|
|
@@ -200,7 +301,26 @@ export class Tiles3DSource {
|
|
|
200
301
|
}
|
|
201
302
|
}
|
|
202
303
|
const queryParams = mergedQueryParams.toString();
|
|
203
|
-
|
|
304
|
+
const tileUrl = queryParams ? `${pathWithoutQuery}?${queryParams}` : pathWithoutQuery;
|
|
305
|
+
this.tileUrlCache.set(tilePath, tileUrl);
|
|
306
|
+
return tileUrl;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Updates an inherited source query parameter and invalidates derived request URLs.
|
|
310
|
+
*
|
|
311
|
+
* Root tokens and tileset versions normally settle during initialization. Some providers expose
|
|
312
|
+
* a session parameter on a child URL, so invalidation is required to prevent URLs cached earlier
|
|
313
|
+
* in header construction from retaining stale authentication state.
|
|
314
|
+
*
|
|
315
|
+
* @param parameterName - Query parameter name.
|
|
316
|
+
* @param parameterValue - Query parameter value.
|
|
317
|
+
*/
|
|
318
|
+
setQueryParameter(parameterName, parameterValue) {
|
|
319
|
+
if (this.queryParams[parameterName] === parameterValue) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
this.queryParams[parameterName] = parameterValue;
|
|
323
|
+
this.tileUrlCache.clear();
|
|
204
324
|
}
|
|
205
325
|
/**
|
|
206
326
|
* Derives the default view state from the root bounding volume.
|
|
@@ -244,7 +364,8 @@ export class Tiles3DSource {
|
|
|
244
364
|
* Updates content-format flags and installs nested tileset subtrees.
|
|
245
365
|
*/
|
|
246
366
|
onTileLoaded(tileset, tile, loadResult) {
|
|
247
|
-
const
|
|
367
|
+
const contents = tile.contents.length ? tile.contents : [tile.content];
|
|
368
|
+
const extensionsRemoved = contents.flatMap(content => content?.gltf?.extensionsRemoved || []);
|
|
248
369
|
if (extensionsRemoved.includes('KHR_draco_mesh_compression')) {
|
|
249
370
|
this.contentFormats.draco = true;
|
|
250
371
|
}
|
|
@@ -254,18 +375,19 @@ export class Tiles3DSource {
|
|
|
254
375
|
if (extensionsRemoved.includes('KHR_texture_basisu')) {
|
|
255
376
|
this.contentFormats.ktx2 = true;
|
|
256
377
|
}
|
|
257
|
-
|
|
258
|
-
|
|
378
|
+
const nestedTilesets = loadResult.nestedTilesets || (loadResult.nestedTileset ? [loadResult.nestedTileset] : []);
|
|
379
|
+
for (const nestedTileset of nestedTilesets) {
|
|
380
|
+
tileset._initializeTileHeaders(nestedTileset, tile);
|
|
259
381
|
}
|
|
260
382
|
}
|
|
261
383
|
/**
|
|
262
384
|
* Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
|
|
263
385
|
*/
|
|
264
|
-
async loadWithCoreApi(url, options) {
|
|
386
|
+
async loadWithCoreApi(url, options, loader = this.loader) {
|
|
265
387
|
if (!this.coreApi) {
|
|
266
388
|
throw new Error('Tiles3DSource requires an injected coreApi to load tileset data');
|
|
267
389
|
}
|
|
268
|
-
return await this.coreApi.load(url,
|
|
390
|
+
return await this.coreApi.load(url, loader, options);
|
|
269
391
|
}
|
|
270
392
|
/**
|
|
271
393
|
* Loads data through an injected resolver when present, otherwise through the injected core API.
|
|
@@ -277,13 +399,66 @@ export class Tiles3DSource {
|
|
|
277
399
|
return await this.loadWithCoreApi(url, options);
|
|
278
400
|
}
|
|
279
401
|
/**
|
|
280
|
-
* Loads
|
|
402
|
+
* Loads an arbitrary source resource through an injected resolver or core API.
|
|
281
403
|
*/
|
|
282
|
-
async loadResourceData(url, options) {
|
|
404
|
+
async loadResourceData(url, options, loader = this.loader) {
|
|
283
405
|
if (this.resolver) {
|
|
284
|
-
return await this.resolver.loadResource(url,
|
|
406
|
+
return await this.resolver.loadResource(url, loader, options);
|
|
285
407
|
}
|
|
286
|
-
return await this.loadWithCoreApi(url, options);
|
|
408
|
+
return await this.loadWithCoreApi(url, options, loader);
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Returns a parsed subtree from the LRU cache or starts one source-managed request.
|
|
412
|
+
*
|
|
413
|
+
* @param subtreeUrl - Final subtree URL after query inheritance.
|
|
414
|
+
* @returns Parsed subtree availability data.
|
|
415
|
+
*/
|
|
416
|
+
async loadImplicitSubtreeResource(subtreeUrl) {
|
|
417
|
+
const cachedSubtree = this.implicitSubtreeCache.get(subtreeUrl);
|
|
418
|
+
if (cachedSubtree) {
|
|
419
|
+
this.implicitTilingStats.cacheHits++;
|
|
420
|
+
return await cachedSubtree;
|
|
421
|
+
}
|
|
422
|
+
this.implicitTilingStats.requestedSubtrees++;
|
|
423
|
+
const loaderOptions = this.loadOptions[this.loader.id] || {};
|
|
424
|
+
return await this.implicitSubtreeCache.getOrLoad(subtreeUrl, async () => {
|
|
425
|
+
return (await this.loadResourceData(subtreeUrl, {
|
|
426
|
+
...this.loadOptions,
|
|
427
|
+
[this.loader.id]: {
|
|
428
|
+
...loaderOptions,
|
|
429
|
+
isTileset: false,
|
|
430
|
+
isSubtree: true
|
|
431
|
+
}
|
|
432
|
+
}));
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Instantiates every header represented by one materialized subtree.
|
|
437
|
+
*
|
|
438
|
+
* @param tileset - Owning runtime tileset.
|
|
439
|
+
* @param parentTile - Existing materialized parent.
|
|
440
|
+
* @param childHeaders - Headers to install below the parent.
|
|
441
|
+
* @returns Number of newly allocated runtime tile nodes.
|
|
442
|
+
*/
|
|
443
|
+
initializeMaterializedChildren(tileset, parentTile, childHeaders) {
|
|
444
|
+
let materializedTileCount = 0;
|
|
445
|
+
const stack = [
|
|
446
|
+
{ parentTile, childHeaders }
|
|
447
|
+
];
|
|
448
|
+
while (stack.length > 0) {
|
|
449
|
+
const entry = stack.pop();
|
|
450
|
+
for (const childHeader of entry.childHeaders) {
|
|
451
|
+
const childTile = new Tile3DNode(tileset, childHeader, entry.parentTile);
|
|
452
|
+
entry.parentTile.children.push(childTile);
|
|
453
|
+
childTile.depth = entry.parentTile.depth + 1;
|
|
454
|
+
tileset.stats.get('Tiles In Tileset(s)').incrementCount();
|
|
455
|
+
materializedTileCount++;
|
|
456
|
+
if (childHeader.children?.length) {
|
|
457
|
+
stack.push({ parentTile: childTile, childHeaders: childHeader.children });
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
return materializedTileCount;
|
|
287
462
|
}
|
|
288
463
|
}
|
|
289
464
|
function isTilesetRequest(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiles-3d-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tiles-3d-source.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tiles-3d-source.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tiles-3d-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,42 @@
|
|
|
1
1
|
import { TilesetTraverser } from "../common/tileset-traverser.js";
|
|
2
|
+
import type { Tile3D } from "../common/tile-3d.js";
|
|
3
|
+
import type { FrameState } from "../helpers/frame-state.js";
|
|
2
4
|
export declare class Tileset3DTraverser extends TilesetTraverser {
|
|
5
|
+
/** Pending implicit subtree requests keyed by viewport and tile identity. */
|
|
6
|
+
private readonly pendingImplicitSubtrees;
|
|
7
|
+
/**
|
|
8
|
+
* Reports whether every implicit subtree request started by this viewport traversal has settled.
|
|
9
|
+
*
|
|
10
|
+
* @param frameState - Traversal frame whose completion callback is being considered.
|
|
11
|
+
* @returns `true` when no matching subtree metadata request remains pending.
|
|
12
|
+
*/
|
|
13
|
+
protected traversalFinished(frameState: FrameState): boolean;
|
|
3
14
|
compareDistanceToCamera(a: any, b: any): number;
|
|
15
|
+
/**
|
|
16
|
+
* Starts an implicit subtree request only after culling, request-volume, and SSE eligibility.
|
|
17
|
+
*
|
|
18
|
+
* The current parent remains the traversal boundary while metadata is loading, which preserves
|
|
19
|
+
* REPLACE coverage and ADD accumulation. Request scheduling reads the tile's existing
|
|
20
|
+
* progressive-resolution and foveated metrics, so subtree metadata follows the same priority
|
|
21
|
+
* policy as render content. A completion notification lets the owning tileset publish the newly
|
|
22
|
+
* materialized traversal result on the next update.
|
|
23
|
+
*
|
|
24
|
+
* @param tile - Tile whose existing or lazy children should be updated.
|
|
25
|
+
* @param frameState - Current culling and LOD state.
|
|
26
|
+
*/
|
|
27
|
+
updateChildTiles(tile: Tile3D, frameState: FrameState): void;
|
|
28
|
+
/**
|
|
29
|
+
* Resumes the same traversal frame after one lazy subtree request settles.
|
|
30
|
+
*
|
|
31
|
+
* Successful materialization traverses the new headers immediately. Failed or scheduler-cancelled
|
|
32
|
+
* requests finish the current traversal without retrying in a tight loop; a later application
|
|
33
|
+
* update may retry them.
|
|
34
|
+
*
|
|
35
|
+
* @param tile - Subtree-root tile whose request settled.
|
|
36
|
+
* @param frameState - Frame that started the request.
|
|
37
|
+
* @param requestKey - Viewport-scoped pending-request identity.
|
|
38
|
+
*/
|
|
39
|
+
private handleImplicitSubtreeLoad;
|
|
4
40
|
updateTileVisibility(tile: any, frameState: any): void;
|
|
5
41
|
meetsScreenSpaceErrorEarly(tile: any, frameState: any): boolean;
|
|
6
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-3d-traverser.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,gBAAgB,EAAC,uCAAoC;
|
|
1
|
+
{"version":3,"file":"tileset-3d-traverser.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,gBAAgB,EAAC,uCAAoC;AAC7D,OAAO,KAAK,EAAC,MAAM,EAAC,6BAA0B;AAC9C,OAAO,KAAK,EAAC,UAAU,EAAC,kCAA+B;AAEvD,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAkC;IAE1E;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAU5D,uBAAuB,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAO5B;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAiB5D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAgBjC,oBAAoB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IAmCrC,0BAA0B,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;CAS5C"}
|
|
@@ -6,12 +6,78 @@
|
|
|
6
6
|
import { TILE3D_OPTIMIZATION_HINT, TILE_REFINEMENT } from "../../constants.js";
|
|
7
7
|
import { TilesetTraverser } from "../common/tileset-traverser.js";
|
|
8
8
|
export class Tileset3DTraverser extends TilesetTraverser {
|
|
9
|
+
/** Pending implicit subtree requests keyed by viewport and tile identity. */
|
|
10
|
+
pendingImplicitSubtrees = new Map();
|
|
11
|
+
/**
|
|
12
|
+
* Reports whether every implicit subtree request started by this viewport traversal has settled.
|
|
13
|
+
*
|
|
14
|
+
* @param frameState - Traversal frame whose completion callback is being considered.
|
|
15
|
+
* @returns `true` when no matching subtree metadata request remains pending.
|
|
16
|
+
*/
|
|
17
|
+
traversalFinished(frameState) {
|
|
18
|
+
const viewportPrefix = `${frameState.viewport.id}:`;
|
|
19
|
+
for (const [requestKey, frameNumber] of this.pendingImplicitSubtrees) {
|
|
20
|
+
if (requestKey.startsWith(viewportPrefix) && frameNumber === frameState.frameNumber) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
9
26
|
compareDistanceToCamera(a, b) {
|
|
10
27
|
// Sort by farthest child first since this is going on a stack
|
|
11
28
|
return b._distanceToCamera === 0 && a._distanceToCamera === 0
|
|
12
29
|
? b._centerZDepth - a._centerZDepth
|
|
13
30
|
: b._distanceToCamera - a._distanceToCamera;
|
|
14
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Starts an implicit subtree request only after culling, request-volume, and SSE eligibility.
|
|
34
|
+
*
|
|
35
|
+
* The current parent remains the traversal boundary while metadata is loading, which preserves
|
|
36
|
+
* REPLACE coverage and ADD accumulation. Request scheduling reads the tile's existing
|
|
37
|
+
* progressive-resolution and foveated metrics, so subtree metadata follows the same priority
|
|
38
|
+
* policy as render content. A completion notification lets the owning tileset publish the newly
|
|
39
|
+
* materialized traversal result on the next update.
|
|
40
|
+
*
|
|
41
|
+
* @param tile - Tile whose existing or lazy children should be updated.
|
|
42
|
+
* @param frameState - Current culling and LOD state.
|
|
43
|
+
*/
|
|
44
|
+
updateChildTiles(tile, frameState) {
|
|
45
|
+
if (tile.hasUnloadedChildren &&
|
|
46
|
+
tile.isVisibleAndInRequestVolume &&
|
|
47
|
+
this.shouldRefine(tile, frameState)) {
|
|
48
|
+
const requestKey = `${frameState.viewport.id}:${tile.id}`;
|
|
49
|
+
if (!this.pendingImplicitSubtrees.has(requestKey)) {
|
|
50
|
+
this.pendingImplicitSubtrees.set(requestKey, frameState.frameNumber);
|
|
51
|
+
void tile.tileset._loadTileChildren(tile, frameState).finally(() => {
|
|
52
|
+
this.handleImplicitSubtreeLoad(tile, frameState, requestKey);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
super.updateChildTiles(tile, frameState);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Resumes the same traversal frame after one lazy subtree request settles.
|
|
60
|
+
*
|
|
61
|
+
* Successful materialization traverses the new headers immediately. Failed or scheduler-cancelled
|
|
62
|
+
* requests finish the current traversal without retrying in a tight loop; a later application
|
|
63
|
+
* update may retry them.
|
|
64
|
+
*
|
|
65
|
+
* @param tile - Subtree-root tile whose request settled.
|
|
66
|
+
* @param frameState - Frame that started the request.
|
|
67
|
+
* @param requestKey - Viewport-scoped pending-request identity.
|
|
68
|
+
*/
|
|
69
|
+
handleImplicitSubtreeLoad(tile, frameState, requestKey) {
|
|
70
|
+
this.pendingImplicitSubtrees.delete(requestKey);
|
|
71
|
+
if (this._frameNumber !== frameState.frameNumber) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (tile.childrenState === 'ready') {
|
|
75
|
+
this.executeTraversal(tile, frameState);
|
|
76
|
+
}
|
|
77
|
+
else if (this.traversalFinished(frameState)) {
|
|
78
|
+
this.options.onTraversalEnd(frameState);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
15
81
|
updateTileVisibility(tile, frameState) {
|
|
16
82
|
super.updateTileVisibility(tile, frameState);
|
|
17
83
|
// Optimization - if none of the tile's children are visible then this tile isn't visible
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-3d-traverser.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,wEAAwE;AACxE,4FAA4F;AAE5F,OAAO,EAAC,wBAAwB,EAAE,eAAe,EAAC,2BAAwB;AAC1E,OAAO,EAAC,gBAAgB,EAAC,uCAAoC;
|
|
1
|
+
{"version":3,"file":"tileset-3d-traverser.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-pending-tiles-register.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"i3s-pending-tiles-register.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,cAAc,CAA+C;IAErE;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAOhD;;;;OAIG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASlD;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAI/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-pending-tiles-register.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAC1B,cAAc,GAAqC,IAAI,GAAG,EAAE,CAAC;IAErE;;;;OAIG;IACH,QAAQ,CAAC,UAAkB,EAAE,WAAmB;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,UAAkB,EAAE,WAAmB;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAkB,EAAE,WAAmB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO,KAAK,KAAK,CAAC,CAAC;IACrB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"i3s-pending-tiles-register.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAC1B,cAAc,GAAqC,IAAI,GAAG,EAAE,CAAC;IAErE;;;;OAIG;IACH,QAAQ,CAAC,UAAkB,EAAE,WAAmB;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,UAAkB,EAAE,WAAmB;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAkB,EAAE,WAAmB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO,KAAK,KAAK,CAAC,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -33,6 +33,10 @@ export declare class I3SSource implements Tileset3DSource {
|
|
|
33
33
|
private readonly queryParams;
|
|
34
34
|
private readonly resolver?;
|
|
35
35
|
private rootTileset;
|
|
36
|
+
/** Spatial adapter created lazily after Tileset3D applies target options. */
|
|
37
|
+
private spatialTransformer?;
|
|
38
|
+
/** Root header prepared after asynchronous elevation sampling. */
|
|
39
|
+
private preparedRootHeader?;
|
|
36
40
|
/**
|
|
37
41
|
* Creates an I3S source.
|
|
38
42
|
* @param input Root metadata request, or preloaded root metadata for tests and internal callers.
|
|
@@ -51,6 +55,8 @@ export declare class I3SSource implements Tileset3DSource {
|
|
|
51
55
|
* Returns the initialized I3S root metadata.
|
|
52
56
|
*/
|
|
53
57
|
getRootTileset(): Promise<TilesetJSON>;
|
|
58
|
+
/** Prepare option-dependent spatial state and the asynchronously placed root bound. */
|
|
59
|
+
prepareTileset(tileset: Tileset3D): Promise<void>;
|
|
54
60
|
/**
|
|
55
61
|
* Creates the runtime root tile for an I3S subtree.
|
|
56
62
|
*/
|
|
@@ -74,7 +80,7 @@ export declare class I3SSource implements Tileset3DSource {
|
|
|
74
80
|
/**
|
|
75
81
|
* Derives the default view state from full extent or store extent metadata.
|
|
76
82
|
*/
|
|
77
|
-
getViewState(
|
|
83
|
+
getViewState(rootTile: Tile3D | null): TilesetSourceViewState;
|
|
78
84
|
/**
|
|
79
85
|
* Updates content-format flags after tile content loads.
|
|
80
86
|
*/
|
|
@@ -91,9 +97,16 @@ export declare class I3SSource implements Tileset3DSource {
|
|
|
91
97
|
* Loads data through an injected resolver when present, otherwise through the injected core API.
|
|
92
98
|
*/
|
|
93
99
|
private loadRootData;
|
|
100
|
+
/**
|
|
101
|
+
* Initializes query parameters before any URL-backed resource is requested.
|
|
102
|
+
* @param loadOptions Loader options that may contain an ArcGIS token.
|
|
103
|
+
*/
|
|
104
|
+
private initializeQueryParams;
|
|
94
105
|
/**
|
|
95
106
|
* Loads tile metadata or content through an injected resolver when present, otherwise through the injected core API.
|
|
96
107
|
*/
|
|
97
108
|
private loadResourceData;
|
|
109
|
+
/** Transform one I3S header bound after target options and elevation providers are available. */
|
|
110
|
+
private transformTileHeader;
|
|
98
111
|
}
|
|
99
112
|
//# sourceMappingURL=i3s-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-source.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AACvF,OAAO,KAAK,EAAC,MAAM,EAAC,6BAA0B;AAG9C,OAAO,KAAK,EAAC,SAAS,EAAC,gCAA6B;AACpD,OAAO,KAAK,EAAC,UAAU,EAAC,kCAA+B;AACvD,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EAGrB,sBAAsB,EACvB,oCAAiC;AAElC,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAC7C,OAAO,KAAK,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,uCAAoC;
|
|
1
|
+
{"version":3,"file":"i3s-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-i3s/i3s-source.ts"],"names":[],"mappings":"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"}
|