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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/dist.dev.js +5160 -2896
  2. package/dist/dist.min.js +4 -2
  3. package/dist/index.cjs +1509 -454
  4. package/dist/index.cjs.map +3 -3
  5. package/dist/index.d.ts +8 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/spatial/format-spatial-reference.d.ts +1 -0
  10. package/dist/spatial/format-spatial-reference.d.ts.map +1 -1
  11. package/dist/spatial/format-spatial-reference.js +104 -46
  12. package/dist/spatial/format-spatial-reference.js.map +1 -1
  13. package/dist/spatial/get-spatial-coordinate-frame.d.ts +12 -1
  14. package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +1 -1
  15. package/dist/spatial/get-spatial-coordinate-frame.js +105 -24
  16. package/dist/spatial/get-spatial-coordinate-frame.js.map +1 -1
  17. package/dist/spatial/normalize-crs-identifier.d.ts +15 -0
  18. package/dist/spatial/normalize-crs-identifier.d.ts.map +1 -0
  19. package/dist/spatial/normalize-crs-identifier.js +22 -0
  20. package/dist/spatial/normalize-crs-identifier.js.map +1 -0
  21. package/dist/spatial/spatial-coordinate-transformer.d.ts +4 -0
  22. package/dist/spatial/spatial-coordinate-transformer.d.ts.map +1 -1
  23. package/dist/spatial/spatial-coordinate-transformer.js +89 -12
  24. package/dist/spatial/spatial-coordinate-transformer.js.map +1 -1
  25. package/dist/spatial/tiles-3d-spatial-transformer.d.ts +32 -0
  26. package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +1 -0
  27. package/dist/spatial/tiles-3d-spatial-transformer.js +175 -0
  28. package/dist/spatial/tiles-3d-spatial-transformer.js.map +1 -0
  29. package/dist/tileset-3d/common/tile-3d-contracts.d.ts +63 -0
  30. package/dist/tileset-3d/common/tile-3d-contracts.d.ts.map +1 -0
  31. package/dist/tileset-3d/common/tile-3d-contracts.js +51 -0
  32. package/dist/tileset-3d/common/tile-3d-contracts.js.map +1 -0
  33. package/dist/tileset-3d/common/tile-3d.d.ts +29 -5
  34. package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -1
  35. package/dist/tileset-3d/common/tile-3d.js +147 -18
  36. package/dist/tileset-3d/common/tile-3d.js.map +1 -1
  37. package/dist/tileset-3d/common/tileset-3d.d.ts +14 -0
  38. package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
  39. package/dist/tileset-3d/common/tileset-3d.js +27 -1
  40. package/dist/tileset-3d/common/tileset-3d.js.map +1 -1
  41. package/dist/tileset-3d/common/tileset-observability.d.ts +60 -0
  42. package/dist/tileset-3d/common/tileset-observability.d.ts.map +1 -0
  43. package/dist/tileset-3d/common/tileset-observability.js +39 -0
  44. package/dist/tileset-3d/common/tileset-observability.js.map +1 -0
  45. package/dist/tileset-3d/common/tileset-source.d.ts +3 -0
  46. package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -1
  47. package/dist/tileset-3d/common/tileset-source.js.map +1 -1
  48. package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -1
  49. package/dist/tileset-3d/common/tileset-traverser.js +4 -3
  50. package/dist/tileset-3d/common/tileset-traverser.js.map +1 -1
  51. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +47 -1
  52. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +1 -1
  53. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +327 -30
  54. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +1 -1
  55. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +32 -0
  56. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -1
  57. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +265 -14
  58. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -1
  59. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +5 -3
  60. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -1
  61. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +7 -4
  62. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
  63. package/dist/tileset-3d/helpers/bounding-volume.d.ts +7 -3
  64. package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +1 -1
  65. package/dist/tileset-3d/helpers/bounding-volume.js +19 -61
  66. package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -1
  67. package/dist/tileset-3d/helpers/frame-state.d.ts +4 -0
  68. package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -1
  69. package/dist/tileset-3d/helpers/frame-state.js +6 -1
  70. package/dist/tileset-3d/helpers/frame-state.js.map +1 -1
  71. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts +17 -0
  72. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +1 -0
  73. package/dist/tileset-3d/helpers/s2-bounding-volume.js +20 -0
  74. package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +1 -0
  75. package/dist/types.d.ts +2 -0
  76. package/dist/types.d.ts.map +1 -1
  77. package/package.json +13 -12
  78. package/src/index.ts +13 -1
  79. package/src/spatial/format-spatial-reference.ts +127 -53
  80. package/src/spatial/get-spatial-coordinate-frame.ts +126 -31
  81. package/src/spatial/normalize-crs-identifier.ts +26 -0
  82. package/src/spatial/spatial-coordinate-transformer.ts +106 -15
  83. package/src/spatial/tiles-3d-spatial-transformer.ts +206 -0
  84. package/src/tileset-3d/common/tile-3d-contracts.ts +115 -0
  85. package/src/tileset-3d/common/tile-3d.ts +172 -18
  86. package/src/tileset-3d/common/tileset-3d.ts +29 -1
  87. package/src/tileset-3d/common/tileset-observability.ts +100 -0
  88. package/src/tileset-3d/common/tileset-source.ts +3 -0
  89. package/src/tileset-3d/common/tileset-traverser.ts +4 -3
  90. package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +481 -34
  91. package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +387 -14
  92. package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +7 -4
  93. package/src/tileset-3d/helpers/bounding-volume.ts +29 -62
  94. package/src/tileset-3d/helpers/frame-state.ts +6 -1
  95. package/src/tileset-3d/helpers/s2-bounding-volume.ts +35 -0
  96. package/src/types.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tiles-3d-source.d.ts","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.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tiles-3d-source.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { path, RequestCache } from '@loaders.gl/loader-utils';
4
+ import { path, RequestCache, sliceArrayBuffer } from '@loaders.gl/loader-utils';
5
5
  import { Ellipsoid } from '@math.gl/geospatial';
6
- import { Vector3 } from '@math.gl/core';
6
+ import { Matrix4, 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
11
  import { get3DTilesSpatialReference } from "../../spatial/format-spatial-reference.js";
12
+ import { Tiles3DSpatialTransformer } from "../../spatial/tiles-3d-spatial-transformer.js";
13
+ import { applyTilesetSpatialOptions, markTilesetSpatialReferenceTransformed } from "../../spatial/spatial-types.js";
12
14
  import { materializeImplicitSubtree } from "./implicit-tiling.js";
13
15
  const EMPTY_CONTENT_FORMATS = {
14
16
  draco: false,
@@ -50,6 +52,12 @@ export class Tiles3DSource {
50
52
  queryParams = {};
51
53
  /** Final request URLs cached by unmodified tile content URL. */
52
54
  tileUrlCache = new Map();
55
+ /** Original content descriptors retained across {@link Tile3D.unloadContent} calls. */
56
+ tileContentHeaders = new WeakMap();
57
+ /** Source-local namespaces assigned to distinct embedded glTF package file collections. */
58
+ packageNamespaces = new WeakMap();
59
+ /** Next source-local package namespace. */
60
+ nextPackageNamespace = 0;
53
61
  /** Parsed subtree requests keyed by final source URL for deduplication and LRU reuse. */
54
62
  implicitSubtreeCache;
55
63
  /** Mutable counters exposed as a defensive snapshot through {@link getImplicitTilingStats}. */
@@ -64,6 +72,10 @@ export class Tiles3DSource {
64
72
  extensionsUsed = [];
65
73
  resolver;
66
74
  rootTileset;
75
+ /** CRS transformer shared by this source's headers and decoded glTF content. */
76
+ spatialTransformer;
77
+ /** Root header after composing source-frame transforms and rebuilding target bounds. */
78
+ preparedRootHeader;
67
79
  /**
68
80
  * Creates a 3D Tiles source.
69
81
  * @param input Root metadata request, or preloaded root metadata for tests and internal callers.
@@ -121,10 +133,11 @@ export class Tiles3DSource {
121
133
  if (!this.asset) {
122
134
  throw new Error('Tileset must have an asset property.');
123
135
  }
124
- if (this.asset.version !== '0.0' &&
136
+ if (this.rootTileset.formatVersion !== '2.0-draft' &&
137
+ this.asset.version !== '0.0' &&
125
138
  this.asset.version !== '1.0' &&
126
139
  this.asset.version !== '1.1') {
127
- throw new Error('The tileset must be 3D Tiles version either 0.0 or 1.0 or 1.1.');
140
+ throw new Error('The tileset must be 3D Tiles version 0.0, 1.0, 1.1, or 2.0-draft.');
128
141
  }
129
142
  if ('tilesetVersion' in this.asset) {
130
143
  this.setQueryParameter('v', this.asset.tilesetVersion);
@@ -160,11 +173,26 @@ export class Tiles3DSource {
160
173
  async getRootTileset() {
161
174
  return this.getMetadata().tileset;
162
175
  }
176
+ /** Prepare nonlinear CRS state before runtime headers are materialized. */
177
+ async prepareTileset(tileset) {
178
+ const spatialReference = tileset.spatialReference;
179
+ if (spatialReference.status === 'unresolved') {
180
+ throw new Error(spatialReference.warnings[0] ||
181
+ '3D Tiles spatial operations cannot be resolved from the supplied metadata and options');
182
+ }
183
+ if (spatialReference.status !== 'transformable' && spatialReference.status !== 'transformed') {
184
+ return;
185
+ }
186
+ this.spatialTransformer ||= new Tiles3DSpatialTransformer(spatialReference, tileset.options.spatial);
187
+ tileset.spatialReference = markTilesetSpatialReferenceTransformed(spatialReference);
188
+ this.preparedRootHeader = this.transformTileHeader(this.getMetadata().tileset.root, new Matrix4());
189
+ }
163
190
  /**
164
191
  * Builds explicit runtime headers while leaving implicit subtree references lazy.
165
192
  */
166
193
  initializeTileHeaders(tileset, tilesetJson, parentTile) {
167
- const rootTile = new Tile3DNode(tileset, tilesetJson.root, parentTile || undefined);
194
+ const rootHeader = parentTile ? tilesetJson.root : this.preparedRootHeader || tilesetJson.root;
195
+ const rootTile = new Tile3DNode(tileset, rootHeader, parentTile || undefined);
168
196
  if (parentTile) {
169
197
  parentTile.children.push(rootTile);
170
198
  rootTile.depth = parentTile.depth + 1;
@@ -201,6 +229,16 @@ export class Tiles3DSource {
201
229
  */
202
230
  async loadTileContent(tile) {
203
231
  const contentUrls = (tile.contentUrls || [tile.contentUrl]).filter(Boolean);
232
+ const cachedContentHeaders = this.tileContentHeaders.get(tile);
233
+ const contentHeaders = cachedContentHeaders ||
234
+ (Array.isArray(tile.header?.content)
235
+ ? tile.header.content
236
+ : tile.header?.content
237
+ ? [tile.header.content]
238
+ : []);
239
+ if (!cachedContentHeaders) {
240
+ this.tileContentHeaders.set(tile, contentHeaders);
241
+ }
204
242
  const tilesetLoaderOptions = this.loadOptions[this.loader.id] || {};
205
243
  const options = {
206
244
  ...this.loadOptions,
@@ -209,10 +247,30 @@ export class Tiles3DSource {
209
247
  // Content bytes, rather than URL suffixes, distinguish external tilesets from renderable
210
248
  // payloads. This is required for signed and extensionless resources.
211
249
  isTileset: 'auto',
212
- assetGltfUpAxis: (this.asset && this.asset.gltfUpAxis) || 'Y'
250
+ assetGltfUpAxis: (this.asset && this.asset.gltfUpAxis) || 'Y',
251
+ _tilesetOptions: {
252
+ spatialReference: tile.header?._spatialReference || tile.tileset?.spatialReference,
253
+ spatialOptions: tile.tileset?.options.spatial,
254
+ spatialTransform: tile.header?._spatialTransform
255
+ }
213
256
  }
214
257
  };
215
- const contents = await Promise.all(contentUrls.map(contentUrl => this.loadResourceData(this.getTileUrl(contentUrl), options)));
258
+ const contents = await Promise.all(contentUrls.map((contentUrl, contentIndex) => {
259
+ const contentHeader = contentHeaders[contentIndex] || {};
260
+ const vectorExtension = contentHeader.extensions?.['3DTILES_content_gltf_vector'];
261
+ const vectorContent = contentHeader._vectorContent ||
262
+ (vectorExtension?.vector === true ? { clip: vectorExtension.clip === true } : undefined);
263
+ const contentOptions = vectorContent
264
+ ? {
265
+ ...options,
266
+ [this.loader.id]: {
267
+ ...options[this.loader.id],
268
+ vectorContent
269
+ }
270
+ }
271
+ : options;
272
+ return this.loadContentResource(this.getTileUrl(contentUrl), contentHeader._resource, contentOptions);
273
+ }));
216
274
  tile.contents = contents;
217
275
  tile.content = contents[0] || null;
218
276
  const nestedTilesets = contents.filter(content => content?.shape === 'tileset3d');
@@ -223,6 +281,44 @@ export class Tiles3DSource {
223
281
  nestedTilesets
224
282
  };
225
283
  }
284
+ /** Transform a tile header and its eagerly declared descendants. */
285
+ transformTileHeader(header, parentTransform = new Matrix4()) {
286
+ if (!this.spatialTransformer) {
287
+ return header;
288
+ }
289
+ return this.transformTileHeaderWithTransformer(header, this.spatialTransformer, parentTransform);
290
+ }
291
+ /** Rebuilds one header subtree using an explicitly selected CRS transformer. */
292
+ transformTileHeaderWithTransformer(header, transformer, parentTransform, spatialReference) {
293
+ const localTransform = header.transform ? new Matrix4(header.transform) : new Matrix4();
294
+ const composedTransform = new Matrix4(parentTransform).multiplyRight(localTransform);
295
+ const content = Array.isArray(header.content)
296
+ ? header.content.map((entry) => this.transformContentHeader(entry, composedTransform, transformer))
297
+ : header.content
298
+ ? this.transformContentHeader(header.content, composedTransform, transformer)
299
+ : header.content;
300
+ return {
301
+ ...header,
302
+ transform: undefined,
303
+ boundingVolume: header.boundingVolume
304
+ ? transformer.transformBoundingVolume(header.boundingVolume, composedTransform)
305
+ : header.boundingVolume,
306
+ _spatialReference: spatialReference,
307
+ _spatialTransform: composedTransform.toArray(),
308
+ content,
309
+ children: Array.isArray(header.children)
310
+ ? header.children.map((child) => this.transformTileHeaderWithTransformer(child, transformer, composedTransform, spatialReference))
311
+ : header.children
312
+ };
313
+ }
314
+ transformContentHeader(content, composedTransform, transformer) {
315
+ return {
316
+ ...content,
317
+ boundingVolume: content.boundingVolume
318
+ ? transformer.transformBoundingVolume(content.boundingVolume, composedTransform)
319
+ : content.boundingVolume
320
+ };
321
+ }
226
322
  /**
227
323
  * Loads, materializes, and installs exactly one implicit subtree.
228
324
  *
@@ -241,7 +337,7 @@ export class Tiles3DSource {
241
337
  return { loaded: false, tileCount: 0, childSubtreeCount: 0 };
242
338
  }
243
339
  const subtreeUrl = this.getTileUrl(reference.subtreeUrl);
244
- const subtree = await this.loadImplicitSubtreeResource(subtreeUrl);
340
+ const subtree = await this.loadImplicitSubtreeResource(subtreeUrl, reference.resource);
245
341
  if (this.destroyed || tile.isDestroyed()) {
246
342
  return { loaded: false, tileCount: 0, childSubtreeCount: 0 };
247
343
  }
@@ -249,8 +345,15 @@ export class Tiles3DSource {
249
345
  ...reference,
250
346
  subtreeUrl
251
347
  });
252
- tile.applyImplicitSubtreeHeader(materializedSubtree.root);
253
- const materializedTileCount = this.initializeMaterializedChildren(tile.tileset, tile, materializedSubtree.root.children);
348
+ const nestedSpatialReference = tile.header._spatialReference;
349
+ const subtreeTransformer = nestedSpatialReference
350
+ ? new Tiles3DSpatialTransformer(nestedSpatialReference, tile.tileset.options.spatial)
351
+ : this.spatialTransformer;
352
+ const materializedRoot = subtreeTransformer
353
+ ? this.transformTileHeaderWithTransformer(materializedSubtree.root, subtreeTransformer, new Matrix4(), nestedSpatialReference)
354
+ : materializedSubtree.root;
355
+ tile.applyImplicitSubtreeHeader(materializedRoot);
356
+ const materializedTileCount = this.initializeMaterializedChildren(tile.tileset, tile, materializedRoot.children);
254
357
  this.implicitTilingStats.loadedSubtrees++;
255
358
  this.implicitTilingStats.materializedTiles += materializedTileCount;
256
359
  return {
@@ -377,8 +480,65 @@ export class Tiles3DSource {
377
480
  }
378
481
  const nestedTilesets = loadResult.nestedTilesets || (loadResult.nestedTileset ? [loadResult.nestedTileset] : []);
379
482
  for (const nestedTileset of nestedTilesets) {
380
- tileset._initializeTileHeaders(nestedTileset, tile);
483
+ tileset._initializeTileHeaders(this.prepareNestedTileset(tileset, nestedTileset), tile);
484
+ }
485
+ }
486
+ /**
487
+ * Resolves a nested tileset's CRS independently and adapts it to the owning tileset output frame.
488
+ *
489
+ * Nested resources may use a different source CRS from their parent. Their headers and glTF
490
+ * payloads must therefore use a transformer built from the nested descriptor, while the parent
491
+ * runtime continues to expose one requested output frame to traversal and rendering.
492
+ */
493
+ prepareNestedTileset(tileset, nestedTileset) {
494
+ const nestedSpatialReference = nestedTileset.spatialMetadata;
495
+ const parentSpatialReference = tileset.spatialReference;
496
+ if (nestedSpatialReference?.status === 'unresolved' ||
497
+ nestedSpatialReference?.crs.state === 'unknown') {
498
+ throw new Error(nestedSpatialReference.warnings[0] ||
499
+ 'Nested 3D Tiles CRS is explicitly unresolved and cannot be placed in the parent frame');
500
+ }
501
+ if (!nestedSpatialReference || !nestedSpatialReference.sourceCrs) {
502
+ if (this.spatialTransformer &&
503
+ (parentSpatialReference.status === 'transformable' ||
504
+ parentSpatialReference.status === 'transformed')) {
505
+ return {
506
+ ...nestedTileset,
507
+ spatialMetadata: parentSpatialReference,
508
+ root: this.transformTileHeaderWithTransformer(nestedTileset.root, this.spatialTransformer, new Matrix4(), parentSpatialReference)
509
+ };
510
+ }
511
+ return addNestedSpatialReference(nestedTileset, parentSpatialReference);
512
+ }
513
+ const parentCoordinateEpoch = parentSpatialReference.coordinateEpoch;
514
+ const nestedCoordinateEpoch = nestedSpatialReference.coordinateEpoch;
515
+ if (parentCoordinateEpoch !== undefined &&
516
+ nestedCoordinateEpoch !== undefined &&
517
+ parentCoordinateEpoch !== nestedCoordinateEpoch) {
518
+ throw new Error(`Nested 3D Tiles coordinate epoch ${nestedCoordinateEpoch} differs from parent epoch ${parentCoordinateEpoch}; epoch-aware transformation is unavailable`);
519
+ }
520
+ const outputCrs = parentSpatialReference.targetCrs || parentSpatialReference.sourceCrs;
521
+ if (!outputCrs) {
522
+ return addNestedSpatialReference(nestedTileset, nestedSpatialReference);
381
523
  }
524
+ const nestedOutputReference = applyTilesetSpatialOptions(nestedSpatialReference, {
525
+ ...tileset.options.spatial,
526
+ outputCoordinates: 'target-crs',
527
+ targetCrs: outputCrs
528
+ });
529
+ if (nestedOutputReference.status === 'unresolved') {
530
+ throw new Error(nestedOutputReference.warnings[0] ||
531
+ 'Nested 3D Tiles CRS cannot be resolved in the parent output frame');
532
+ }
533
+ if (nestedOutputReference.status === 'native') {
534
+ return addNestedSpatialReference(nestedTileset, nestedOutputReference);
535
+ }
536
+ const nestedTransformer = new Tiles3DSpatialTransformer(nestedOutputReference, tileset.options.spatial);
537
+ return {
538
+ ...nestedTileset,
539
+ spatialMetadata: nestedOutputReference,
540
+ root: this.transformTileHeaderWithTransformer(nestedTileset.root, nestedTransformer, new Matrix4(), nestedOutputReference)
541
+ };
382
542
  }
383
543
  /**
384
544
  * Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
@@ -407,13 +567,88 @@ export class Tiles3DSource {
407
567
  }
408
568
  return await this.loadWithCoreApi(url, options, loader);
409
569
  }
570
+ /** Loads a URL content reference or parses a buffer-view file retained from a glTF package. */
571
+ async loadContentResource(url, packageResource, options) {
572
+ if (!packageResource) {
573
+ return await this.loadResourceData(url, options);
574
+ }
575
+ const file = packageResource.files[packageResource.fileIndex];
576
+ if (!file) {
577
+ throw new Error(`3D Tiles package references missing file ${packageResource.fileIndex}`);
578
+ }
579
+ if (file.uri) {
580
+ return await this.loadResourceData(this.getTileUrl(file.uri), options);
581
+ }
582
+ if (!this.coreApi) {
583
+ throw new Error('Tiles3DSource requires an injected coreApi to parse embedded package data');
584
+ }
585
+ const data = await this.getPackageFileData(file);
586
+ const packageNamespace = this.getPackageNamespace(packageResource.files);
587
+ const packageRootUrl = `gltf-package://${packageNamespace}/${packageResource.fileIndex}`;
588
+ const fileName = file.name || 'content';
589
+ const directorySeparatorIndex = fileName.lastIndexOf('/');
590
+ const packageBaseUrl = directorySeparatorIndex >= 0
591
+ ? `${packageRootUrl}/${fileName.slice(0, directorySeparatorIndex)}`
592
+ : packageRootUrl;
593
+ return await this.coreApi.parse(data, this.loader, options, {
594
+ url: `${packageRootUrl}/${fileName}`,
595
+ filename: fileName,
596
+ baseUrl: packageBaseUrl,
597
+ loaders: [this.loader],
598
+ coreApi: this.coreApi,
599
+ _parse: this.coreApi.parse,
600
+ _tiles3dPackageFiles: packageResource.files,
601
+ fetch: async (resource, init) => {
602
+ const reference = resource.startsWith(`${packageRootUrl}/`)
603
+ ? resource.slice(packageRootUrl.length + 1)
604
+ : resource;
605
+ const referencedFile = packageResource.files.find(packageFile => packageFile.name === reference || packageFile.originalUri === reference);
606
+ if (!referencedFile) {
607
+ throw new Error(`3D Tiles glTF package does not contain file ${reference}`);
608
+ }
609
+ if (referencedFile.uri) {
610
+ return await this.coreApi.fetchFile(this.getTileUrl(referencedFile.uri), init);
611
+ }
612
+ const referencedData = await this.getPackageFileData(referencedFile);
613
+ return new Response(referencedData, {
614
+ headers: { 'content-type': referencedFile.mimeType }
615
+ });
616
+ }
617
+ });
618
+ }
619
+ /** Returns a stable source-local namespace for one embedded glTF package file collection. */
620
+ getPackageNamespace(files) {
621
+ const existingNamespace = this.packageNamespaces.get(files);
622
+ if (existingNamespace !== undefined) {
623
+ return existingNamespace;
624
+ }
625
+ const packageNamespace = this.nextPackageNamespace++;
626
+ this.packageNamespaces.set(files, packageNamespace);
627
+ return packageNamespace;
628
+ }
629
+ /** Resolves a retained package-file byte range without eagerly copying other package files. */
630
+ async getPackageFileData(file) {
631
+ if (file.data) {
632
+ return sliceArrayBuffer(file.data, file.byteOffset, file.byteLength);
633
+ }
634
+ if (file.bufferUri && this.coreApi) {
635
+ const response = await this.coreApi.fetchFile(this.getTileUrl(file.bufferUri));
636
+ if (!response.ok) {
637
+ throw new Error(`Failed to fetch 3D Tiles package buffer: HTTP ${response.status}`);
638
+ }
639
+ const buffer = await response.arrayBuffer();
640
+ return sliceArrayBuffer(buffer, file.byteOffset, file.byteLength);
641
+ }
642
+ throw new Error('3D Tiles package file has no available byte source');
643
+ }
410
644
  /**
411
645
  * Returns a parsed subtree from the LRU cache or starts one source-managed request.
412
646
  *
413
647
  * @param subtreeUrl - Final subtree URL after query inheritance.
648
+ * @param packageResource - Optional glTF package file satisfying the subtree reference.
414
649
  * @returns Parsed subtree availability data.
415
650
  */
416
- async loadImplicitSubtreeResource(subtreeUrl) {
651
+ async loadImplicitSubtreeResource(subtreeUrl, packageResource) {
417
652
  const cachedSubtree = this.implicitSubtreeCache.get(subtreeUrl);
418
653
  if (cachedSubtree) {
419
654
  this.implicitTilingStats.cacheHits++;
@@ -422,14 +657,17 @@ export class Tiles3DSource {
422
657
  this.implicitTilingStats.requestedSubtrees++;
423
658
  const loaderOptions = this.loadOptions[this.loader.id] || {};
424
659
  return await this.implicitSubtreeCache.getOrLoad(subtreeUrl, async () => {
425
- return (await this.loadResourceData(subtreeUrl, {
660
+ const options = {
426
661
  ...this.loadOptions,
427
662
  [this.loader.id]: {
428
663
  ...loaderOptions,
429
664
  isTileset: false,
430
665
  isSubtree: true
431
666
  }
432
- }));
667
+ };
668
+ return (await (packageResource
669
+ ? this.loadContentResource(subtreeUrl, packageResource, options)
670
+ : this.loadResourceData(subtreeUrl, options)));
433
671
  });
434
672
  }
435
673
  /**
@@ -484,4 +722,17 @@ function normalizeTiles3DRequest(input) {
484
722
  coreApi: input.coreApi
485
723
  };
486
724
  }
725
+ /** Adds a nested CRS descriptor to each header without changing its native placement. */
726
+ function addNestedSpatialReference(nestedTileset, spatialReference) {
727
+ const addToHeader = (header) => ({
728
+ ...header,
729
+ _spatialReference: spatialReference,
730
+ children: Array.isArray(header.children) ? header.children.map(addToHeader) : header.children
731
+ });
732
+ return {
733
+ ...nestedTileset,
734
+ spatialMetadata: spatialReference,
735
+ root: addToHeader(nestedTileset.root)
736
+ };
737
+ }
487
738
  //# sourceMappingURL=tiles-3d-source.js.map
@@ -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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"}
@@ -78,10 +78,12 @@ export declare class Tileset3DTraverser extends TilesetTraverser {
78
78
  private selectLoadedDescendants;
79
79
  compareDistanceToCamera(a: any, b: any): number;
80
80
  /**
81
- * Starts an implicit subtree request only after culling, request-volume, and SSE eligibility.
81
+ * Starts an implicit subtree request after culling and request-volume eligibility.
82
82
  *
83
- * The current parent remains the traversal boundary while metadata is loading, which preserves
84
- * REPLACE coverage and ADD accumulation. Request scheduling reads the tile's existing
83
+ * The first subtree of an implicit hierarchy materializes independently of SSE because its
84
+ * placeholder has no render content. Deeper subtree boundaries remain SSE-gated. The current
85
+ * parent remains the traversal boundary while metadata is loading, which preserves REPLACE
86
+ * coverage and ADD accumulation. Request scheduling reads the tile's existing
85
87
  * progressive-resolution and foveated metrics, so subtree metadata follows the same priority
86
88
  * policy as render content. A completion notification lets the owning tileset publish the newly
87
89
  * materialized traversal result on the next update.
@@ -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;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;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAQ5D;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAkCnC;;;;;;OAMG;IACH,OAAO,CAAC,oCAAoC;IAkB5C;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAmB/B,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"}
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;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAQ5D;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAkCnC;;;;;;OAMG;IACH,OAAO,CAAC,oCAAoC;IAkB5C;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAmB/B,uBAAuB,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA;IAO5B;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAkB5D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,yBAAyB;IAgBjC,oBAAoB,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;IAmCrC,0BAA0B,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA;CAS5C"}
@@ -239,10 +239,12 @@ export class Tileset3DTraverser extends TilesetTraverser {
239
239
  : b._distanceToCamera - a._distanceToCamera;
240
240
  }
241
241
  /**
242
- * Starts an implicit subtree request only after culling, request-volume, and SSE eligibility.
242
+ * Starts an implicit subtree request after culling and request-volume eligibility.
243
243
  *
244
- * The current parent remains the traversal boundary while metadata is loading, which preserves
245
- * REPLACE coverage and ADD accumulation. Request scheduling reads the tile's existing
244
+ * The first subtree of an implicit hierarchy materializes independently of SSE because its
245
+ * placeholder has no render content. Deeper subtree boundaries remain SSE-gated. The current
246
+ * parent remains the traversal boundary while metadata is loading, which preserves REPLACE
247
+ * coverage and ADD accumulation. Request scheduling reads the tile's existing
246
248
  * progressive-resolution and foveated metrics, so subtree metadata follows the same priority
247
249
  * policy as render content. A completion notification lets the owning tileset publish the newly
248
250
  * materialized traversal result on the next update.
@@ -251,9 +253,10 @@ export class Tileset3DTraverser extends TilesetTraverser {
251
253
  * @param frameState - Current culling and LOD state.
252
254
  */
253
255
  updateChildTiles(tile, frameState) {
256
+ const isImplicitHierarchyRoot = tile.header.implicitSubtree?.coordinates.level === 0;
254
257
  if (tile.hasUnloadedChildren &&
255
258
  tile.isVisibleAndInRequestVolume &&
256
- this.shouldRefine(tile, frameState)) {
259
+ (isImplicitHierarchyRoot || this.shouldRefine(tile, frameState))) {
257
260
  const requestKey = `${frameState.viewport.id}:${tile.id}`;
258
261
  if (!this.pendingImplicitSubtrees.has(requestKey)) {
259
262
  this.pendingImplicitSubtrees.set(requestKey, frameState.frameNumber);
@@ -1 +1 @@
1
- {"version":3,"file":"tileset-3d-traverser.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileset-3d-traverser.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,23 @@
1
+ import { Matrix4 } from '@math.gl/core';
1
2
  import { BoundingSphere, OrientedBoundingBox } from '@math.gl/culling';
2
3
  /**
3
4
  * Create a bounding volume from the tile's bounding volume header.
4
5
  * @param {Object} boundingVolumeHeader The tile's bounding volume header.
5
- * @param {Matrix4} transform The transform to apply to the bounding volume.
6
+ * @param {Matrix4} transform The current computed tile transform, including application transforms.
6
7
  * @param [result] The object onto which to store the result.
8
+ * @param initialTransform The accumulated JSON tile transform, excluded from region transforms.
9
+ * Defaults to transform so callers without application transforms keep geospatial regions fixed.
7
10
  * @returns The modified result parameter or a new TileBoundingVolume instance if none was provided.
8
11
  */
9
- export declare function createBoundingVolume(boundingVolumeHeader: any, transform: any, result?: any): any;
12
+ export declare function createBoundingVolume(boundingVolumeHeader: any, transform: Matrix4, result?: any, initialTransform?: Matrix4): any;
10
13
  /** [min, max] each in [longitude, latitude, altitude] */
11
14
  export type CartographicBounds = [min: number[], max: number[]];
12
15
  /**
13
16
  * Calculate the cartographic bounding box the tile's bounding volume.
14
17
  * @param {Object} boundingVolumeHeader The tile's bounding volume header.
15
18
  * @param {BoundingVolume} boundingVolume The bounding volume.
19
+ * @param isRegionTransformed Whether application transforms moved the region from its JSON bounds.
16
20
  * @returns {CartographicBounds}
17
21
  */
18
- export declare function getCartographicBounds(boundingVolumeHeader: any, boundingVolume: OrientedBoundingBox | BoundingSphere): CartographicBounds;
22
+ export declare function getCartographicBounds(boundingVolumeHeader: any, boundingVolume: OrientedBoundingBox | BoundingSphere, isRegionTransformed?: boolean): CartographicBounds;
19
23
  //# sourceMappingURL=bounding-volume.d.ts.map