@loaders.gl/tiles 5.0.0-alpha.10 → 5.0.0-alpha.12

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 (80) hide show
  1. package/dist/dist.dev.js +37183 -19131
  2. package/dist/dist.min.js +22 -3
  3. package/dist/index.cjs +620 -2027
  4. package/dist/index.cjs.map +4 -3
  5. package/dist/index.d.ts +3 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/point-cloud-tile-source-loader-types.d.ts +31 -0
  10. package/dist/point-cloud-tile-source-loader-types.d.ts.map +1 -0
  11. package/dist/point-cloud-tile-source-loader-types.js +34 -0
  12. package/dist/point-cloud-tile-source-loader-types.js.map +1 -0
  13. package/dist/point-cloud-tile-source-loader.cjs +81 -0
  14. package/dist/point-cloud-tile-source-loader.cjs.map +7 -0
  15. package/dist/point-cloud-tile-source-loader.d.ts +27 -0
  16. package/dist/point-cloud-tile-source-loader.d.ts.map +1 -0
  17. package/dist/point-cloud-tile-source-loader.js +17 -0
  18. package/dist/point-cloud-tile-source-loader.js.map +1 -0
  19. package/dist/point-cloud-tile-source-types.d.ts +15 -0
  20. package/dist/point-cloud-tile-source-types.d.ts.map +1 -0
  21. package/dist/point-cloud-tile-source-types.js +5 -0
  22. package/dist/point-cloud-tile-source-types.js.map +1 -0
  23. package/dist/point-cloud-tile-source.cjs +105 -0
  24. package/dist/point-cloud-tile-source.cjs.map +7 -0
  25. package/dist/point-cloud-tile-source.d.ts +36 -0
  26. package/dist/point-cloud-tile-source.d.ts.map +1 -0
  27. package/dist/point-cloud-tile-source.js +84 -0
  28. package/dist/point-cloud-tile-source.js.map +1 -0
  29. package/dist/spatial/i3s-spatial-transformer.d.ts +16 -0
  30. package/dist/spatial/i3s-spatial-transformer.d.ts.map +1 -1
  31. package/dist/spatial/i3s-spatial-transformer.js +45 -0
  32. package/dist/spatial/i3s-spatial-transformer.js.map +1 -1
  33. package/dist/spatial/spatial-coordinate-transformer.d.ts +3 -1
  34. package/dist/spatial/spatial-coordinate-transformer.d.ts.map +1 -1
  35. package/dist/spatial/spatial-coordinate-transformer.js +25 -9
  36. package/dist/spatial/spatial-coordinate-transformer.js.map +1 -1
  37. package/dist/spatial/spatial-resource-registry.d.ts +3 -0
  38. package/dist/spatial/spatial-resource-registry.d.ts.map +1 -1
  39. package/dist/spatial/spatial-resource-registry.js +12 -3
  40. package/dist/spatial/spatial-resource-registry.js.map +1 -1
  41. package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +1 -1
  42. package/dist/spatial/tiles-3d-spatial-transformer.js +0 -12
  43. package/dist/spatial/tiles-3d-spatial-transformer.js.map +1 -1
  44. package/dist/tileset-2d.d.ts +2 -1
  45. package/dist/tileset-2d.d.ts.map +1 -1
  46. package/dist/tileset-2d.js +1 -1
  47. package/dist/tileset-2d.js.map +1 -1
  48. package/dist/tileset-3d/common/tileset-3d.d.ts +10 -1
  49. package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -1
  50. package/dist/tileset-3d/common/tileset-3d.js +42 -9
  51. package/dist/tileset-3d/common/tileset-3d.js.map +1 -1
  52. package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -1
  53. package/dist/tileset-3d/common/tileset-traverser.js +2 -3
  54. package/dist/tileset-3d/common/tileset-traverser.js.map +1 -1
  55. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +1 -1
  56. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +0 -3
  57. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +1 -1
  58. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +1 -0
  59. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -1
  60. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +12 -4
  61. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -1
  62. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +1 -1
  63. package/dist/tileset-3d/helpers/s2-bounding-volume.js +0 -3
  64. package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +1 -1
  65. package/package.json +25 -13
  66. package/src/index.ts +8 -1
  67. package/src/point-cloud-tile-source-loader-types.ts +53 -0
  68. package/src/point-cloud-tile-source-loader.ts +32 -0
  69. package/src/point-cloud-tile-source-types.ts +20 -0
  70. package/src/point-cloud-tile-source.ts +112 -0
  71. package/src/spatial/i3s-spatial-transformer.ts +64 -0
  72. package/src/spatial/spatial-coordinate-transformer.ts +30 -9
  73. package/src/spatial/spatial-resource-registry.ts +14 -3
  74. package/src/spatial/tiles-3d-spatial-transformer.ts +0 -12
  75. package/src/tileset-2d.ts +25 -1
  76. package/src/tileset-3d/common/tileset-3d.ts +56 -12
  77. package/src/tileset-3d/common/tileset-traverser.ts +2 -4
  78. package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +0 -3
  79. package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +16 -4
  80. package/src/tileset-3d/helpers/s2-bounding-volume.ts +0 -3
@@ -191,6 +191,35 @@ export class I3SSpatialTransformer {
191
191
  const placedPositions = await this.placeSourcePositions(combinedPositions);
192
192
  return this.transformPlacedPositions(placedPositions.subarray(0, sourcePositions.length), placedPositions.subarray(sourcePositions.length));
193
193
  }
194
+ /**
195
+ * Transforms conversion geometry without passing through renderer float32 offsets.
196
+ * Positions and normals share one batch of elevation samples. Source arrays remain unchanged.
197
+ * @param sourcePositions - Packed absolute xyz positions in source units.
198
+ * @param normals - Optional packed normals paired with the positions.
199
+ * @param normalReferenceFrame - I3S earth-centered or vertex-reference-frame declaration.
200
+ * @returns Absolute target positions and optional transformed normals.
201
+ */
202
+ async transformGeometryAsync(sourcePositions, normals, normalReferenceFrame = 'earth-centered') {
203
+ if (sourcePositions.length % 3 || (normals && normals.length !== sourcePositions.length)) {
204
+ throw new Error('Conversion positions and normals must contain matching finite xyz triples');
205
+ }
206
+ for (let index = 0; index < sourcePositions.length; index++) {
207
+ if (!Number.isFinite(sourcePositions[index]) ||
208
+ (normals && !Number.isFinite(normals[index]))) {
209
+ throw new Error('Conversion positions and normals must contain matching finite xyz triples');
210
+ }
211
+ }
212
+ if (!['earth-centered', 'vertex-reference-frame'].includes(normalReferenceFrame)) {
213
+ throw new Error('Unsupported I3S normal reference frame');
214
+ }
215
+ const placedPositions = await this.placeSourcePositions(sourcePositions);
216
+ return {
217
+ positions: this.positionTransformer.transformPositions(placedPositions),
218
+ normals: normals
219
+ ? this.transformNormals(normals, placedPositions, normalReferenceFrame)
220
+ : undefined
221
+ };
222
+ }
194
223
  /** Transform already placed positions into renderer-relative target coordinates. */
195
224
  transformPlacedPositions(sourcePositions, sourceOrigin) {
196
225
  const origin = this.transformPlacedPosition(sourceOrigin);
@@ -228,7 +257,23 @@ export class I3SSpatialTransformer {
228
257
  * @param normalReferenceFrame - I3S normal frame declaration.
229
258
  */
230
259
  transformNormals(normals, sourcePositions, normalReferenceFrame = 'earth-centered') {
260
+ if (normals.length !== sourcePositions.length || normals.length % 3) {
261
+ throw new Error('I3S normals and positions must have matching xyz component counts');
262
+ }
231
263
  const transformedNormals = new Float32Array(normals.length);
264
+ // Earth-centered I3S normals already use the output ECEF basis; no position projection is needed.
265
+ if (normalReferenceFrame === 'earth-centered' &&
266
+ (this.spatialReference.targetCrs || this.spatialReference.sourceCrs) === 'EPSG:4978') {
267
+ for (let index = 0; index < normals.length; index += 3) {
268
+ const length = Math.hypot(normals[index], normals[index + 1], normals[index + 2]);
269
+ for (let axis = 0; axis < 3; axis++) {
270
+ transformedNormals[index + axis] = length
271
+ ? normals[index + axis] / length
272
+ : normals[index + axis];
273
+ }
274
+ }
275
+ return transformedNormals;
276
+ }
232
277
  for (let index = 0; index < normals.length; index += 3) {
233
278
  const geographic = this.sourceToGeographicTransformer.transformPosition([
234
279
  sourcePositions[index],
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-spatial-transformer.js","sourceRoot":"","sources":["../../src/spatial/i3s-spatial-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i3s-spatial-transformer.js","sourceRoot":"","sources":["../../src/spatial/i3s-spatial-transformer.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export declare class SpatialCoordinateTransformer {
12
12
  readonly spatialReference: TilesetSpatialReference;
13
13
  /** Projection from the source CRS directly to the requested horizontal target CRS. */
14
14
  private readonly horizontalProjection?;
15
+ /** Reusable packed xyz projection for horizontal-only coordinate batches. */
16
+ private readonly horizontalProjectionBuffer?;
15
17
  /** Projection from the source CRS to geographic longitude, latitude, and ellipsoidal height. */
16
18
  private readonly geographicProjection?;
17
19
  /** Projection from adjusted geographic coordinates to the requested output CRS. */
@@ -40,7 +42,7 @@ export declare class SpatialCoordinateTransformer {
40
42
  * @returns A new transformed coordinate array.
41
43
  */
42
44
  transformPosition(coordinate: readonly number[]): number[];
43
- /** Transform a packed sequence of xyz positions, preserving the input array type only when safe. */
45
+ /** Transform packed xyz positions into owned Float64 storage, batching finite horizontal transforms. */
44
46
  transformPositions(positions: ArrayLike<number>): Float64Array;
45
47
  /** Transform packed xyz normals using a local finite-difference tangent approximation. */
46
48
  transformNormals(normals: ArrayLike<number>, positions: ArrayLike<number>): Float32Array;
@@ -1 +1 @@
1
- {"version":3,"file":"spatial-coordinate-transformer.d.ts","sourceRoot":"","sources":["../../src/spatial/spatial-coordinate-transformer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAEV,qBAAqB,EACrB,uBAAuB,EAExB,2BAAwB;AACzB,OAAO,EAAC,yBAAyB,EAAC,0CAAuC;AAEzE;;;;;;GAMG;AACH,qBAAa,4BAA4B;IACvC,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IAEnD,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAa;IAEnD,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAa;IAEnD,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAa;IAErD,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;IAE/B;;;;;OAKG;gBACS,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,GAAE,qBAA0B;IAuD1F;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAoC1D,oGAAoG;IACpG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;IAkB9D,0FAA0F;IAC1F,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;IAiCxF,2FAA2F;IAC3F,OAAO,CAAC,YAAY;IAUpB,uFAAuF;IACvF,OAAO,CAAC,cAAc;CASvB"}
1
+ {"version":3,"file":"spatial-coordinate-transformer.d.ts","sourceRoot":"","sources":["../../src/spatial/spatial-coordinate-transformer.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAEV,qBAAqB,EACrB,uBAAuB,EAExB,2BAAwB;AACzB,OAAO,EAAC,yBAAyB,EAAC,0CAAuC;AAEzE;;;;;;GAMG;AACH,qBAAa,4BAA4B;IACvC,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IAEnD,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAa;IAEnD,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAmB;IAE/D,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAa;IAEnD,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAa;IAErD,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAE7C,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;IAE/B;;;;;OAKG;gBACS,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,GAAE,qBAA0B;IA8D1F;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE;IAoC1D,wGAAwG;IACxG,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;IA4B9D,0FAA0F;IAC1F,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;IAiCxF,2FAA2F;IAC3F,OAAO,CAAC,YAAY;IAUpB,uFAAuF;IACvF,OAAO,CAAC,cAAc;CASvB"}
@@ -3,8 +3,8 @@
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { Vector3 } from '@math.gl/core';
5
5
  import { Ellipsoid } from '@math.gl/geospatial';
6
- import { Projection } from '@math.gl/projection';
7
- import { getGeoidModel } from "./spatial-resource-registry.js";
6
+ import { ProjectionBuffer } from '@math.gl/projection/bulk';
7
+ import { getGeoidModel, getSpatialProjectionEngine } from "./spatial-resource-registry.js";
8
8
  import { normalizeCrsIdentifier, WGS84_GEOCENTRIC_CRS, WGS84_GEOGRAPHIC_CRS } from "./normalize-crs-identifier.js";
9
9
  export { getSpatialCoordinateFrame } from "./get-spatial-coordinate-frame.js";
10
10
  /**
@@ -19,6 +19,8 @@ export class SpatialCoordinateTransformer {
19
19
  spatialReference;
20
20
  /** Projection from the source CRS directly to the requested horizontal target CRS. */
21
21
  horizontalProjection;
22
+ /** Reusable packed xyz projection for horizontal-only coordinate batches. */
23
+ horizontalProjectionBuffer;
22
24
  /** Projection from the source CRS to geographic longitude, latitude, and ellipsoidal height. */
23
25
  geographicProjection;
24
26
  /** Projection from adjusted geographic coordinates to the requested output CRS. */
@@ -41,6 +43,7 @@ export class SpatialCoordinateTransformer {
41
43
  */
42
44
  constructor(spatialReference, options = {}) {
43
45
  this.spatialReference = spatialReference;
46
+ const projectionEngine = getSpatialProjectionEngine();
44
47
  validateTransformRequest(spatialReference);
45
48
  const outputCrs = spatialReference.targetCrs || spatialReference.sourceCrs;
46
49
  this.sourceIsGeocentric = isWgs84Geocentric(spatialReference.sourceCrs);
@@ -51,24 +54,30 @@ export class SpatialCoordinateTransformer {
51
54
  spatialReference.targetCrs &&
52
55
  !this.sourceIsGeocentric &&
53
56
  !this.outputIsGeocentric) {
54
- this.horizontalProjection = new Projection({
57
+ this.horizontalProjection = projectionEngine.createProjection({
55
58
  from: getHorizontalProjectionDefinition(spatialReference.sourceCrs),
56
59
  to: getHorizontalProjectionDefinition(spatialReference.targetCrs),
57
60
  enforceAxis: false
58
61
  });
62
+ if (!requiresHeightTransformation(spatialReference)) {
63
+ this.horizontalProjectionBuffer = new ProjectionBuffer({
64
+ projection: this.horizontalProjection,
65
+ dimension: 3
66
+ });
67
+ }
59
68
  }
60
69
  if (requiresHeightTransformation(spatialReference) ||
61
70
  this.sourceIsGeocentric ||
62
71
  this.outputIsGeocentric) {
63
72
  if (!this.sourceIsGeographic && !this.sourceIsGeocentric) {
64
- this.geographicProjection = new Projection({
73
+ this.geographicProjection = projectionEngine.createProjection({
65
74
  from: getHorizontalProjectionDefinition(spatialReference.sourceCrs),
66
75
  to: WGS84_GEOGRAPHIC_CRS,
67
76
  enforceAxis: false
68
77
  });
69
78
  }
70
79
  if (!this.outputIsGeographic && !this.outputIsGeocentric) {
71
- this.heightOutputProjection = new Projection({
80
+ this.heightOutputProjection = projectionEngine.createProjection({
72
81
  from: WGS84_GEOGRAPHIC_CRS,
73
82
  to: getHorizontalProjectionDefinition(outputCrs),
74
83
  enforceAxis: false
@@ -111,17 +120,24 @@ export class SpatialCoordinateTransformer {
111
120
  return result;
112
121
  }
113
122
  if (this.horizontalProjection) {
114
- const projected = this.horizontalProjection.project(result.slice(0, 3));
123
+ const projected = this.horizontalProjection.projectSync(result.slice(0, 3));
115
124
  result.splice(0, projected.length, ...projected);
116
125
  }
117
126
  return result;
118
127
  }
119
- /** Transform a packed sequence of xyz positions, preserving the input array type only when safe. */
128
+ /** Transform packed xyz positions into owned Float64 storage, batching finite horizontal transforms. */
120
129
  transformPositions(positions) {
121
130
  if (positions.length % 3 !== 0) {
122
131
  throw new Error('Packed spatial positions must contain a multiple of three components');
123
132
  }
124
133
  const transformedPositions = new Float64Array(positions.length);
134
+ if (this.horizontalProjectionBuffer) {
135
+ transformedPositions.set(positions);
136
+ // The bulk API rejects nonfinite ordinates; preserve scalar behavior for those inputs.
137
+ if (transformedPositions.every(Number.isFinite)) {
138
+ return this.horizontalProjectionBuffer.projectFlatTo(transformedPositions, transformedPositions);
139
+ }
140
+ }
125
141
  for (let index = 0; index < positions.length; index += 3) {
126
142
  const transformed = this.transformPosition([
127
143
  Number(positions[index]),
@@ -176,7 +192,7 @@ export class SpatialCoordinateTransformer {
176
192
  if (this.sourceIsGeographic) {
177
193
  return coordinate.slice(0, 3);
178
194
  }
179
- return this.geographicProjection.project(coordinate.slice(0, 3));
195
+ return this.geographicProjection.projectSync(coordinate.slice(0, 3));
180
196
  }
181
197
  /** Convert one conventional WGS84 geographic coordinate to the selected output CRS. */
182
198
  fromGeographic(coordinate) {
@@ -186,7 +202,7 @@ export class SpatialCoordinateTransformer {
186
202
  if (this.outputIsGeographic) {
187
203
  return coordinate.slice(0, 3);
188
204
  }
189
- return this.heightOutputProjection.project(coordinate.slice(0, 3));
205
+ return this.heightOutputProjection.projectSync(coordinate.slice(0, 3));
190
206
  }
191
207
  }
192
208
  function getFiniteDifferenceJacobian(transformer, position, epsilon) {
@@ -1 +1 @@
1
- {"version":3,"file":"spatial-coordinate-transformer.js","sourceRoot":"","sources":["../../src/spatial/spatial-coordinate-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spatial-coordinate-transformer.js","sourceRoot":"","sources":["../../src/spatial/spatial-coordinate-transformer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { Geoid } from '@math.gl/geoid';
2
+ import type { ProjectionEngine } from '@math.gl/projection';
2
3
  import type { ReadonlyCRSDefinition } from '@math.gl/crs';
4
+ /** Returns the projection engine containing application-registered spatial resources. */
5
+ export declare function getSpatialProjectionEngine(): ProjectionEngine;
3
6
  /**
4
7
  * Registers an application-supplied CRS alias for deterministic coordinate transformations.
5
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"spatial-resource-registry.d.ts","sourceRoot":"","sources":["../../src/spatial/spatial-resource-registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAW,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAIxD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAGxF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAG9E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAGnE;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAM,GAC9B,KAAK,CAIP;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE7D"}
1
+ {"version":3,"file":"spatial-resource-registry.d.ts","sourceRoot":"","sources":["../../src/spatial/spatial-resource-registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAW,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAY,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAOxD,yFAAyF;AACzF,wBAAgB,0BAA0B,IAAI,gBAAgB,CAE7D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAIxF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAI9E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAGnE;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,GAAE;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAM,GAC9B,KAAK,CAIP;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE7D"}
@@ -2,8 +2,15 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { parsePGM } from '@math.gl/geoid';
5
- import { Projection } from '@math.gl/projection';
5
+ import { FullProjectionEngine, parseNTv2Grid } from '@math.gl/projection';
6
6
  const geoidModels = new Map();
7
+ const projectionAliases = {};
8
+ const datumGrids = {};
9
+ let spatialProjectionEngine = new FullProjectionEngine();
10
+ /** Returns the projection engine containing application-registered spatial resources. */
11
+ export function getSpatialProjectionEngine() {
12
+ return spatialProjectionEngine;
13
+ }
7
14
  /**
8
15
  * Registers an application-supplied CRS alias for deterministic coordinate transformations.
9
16
  *
@@ -14,7 +21,8 @@ const geoidModels = new Map();
14
21
  */
15
22
  export function registerSpatialCrs(name, definition) {
16
23
  validateResourceName(name, 'CRS');
17
- Projection.defineProjectionAliases({ [name]: definition });
24
+ projectionAliases[name] = definition;
25
+ spatialProjectionEngine = new FullProjectionEngine({ aliases: projectionAliases, datumGrids });
18
26
  }
19
27
  /**
20
28
  * Registers an NTv2 datum grid used by a previously or subsequently registered CRS definition.
@@ -24,7 +32,8 @@ export function registerSpatialCrs(name, definition) {
24
32
  */
25
33
  export function registerSpatialDatumGrid(name, data) {
26
34
  validateResourceName(name, 'datum grid');
27
- Projection.registerDatumGrid(name, data);
35
+ datumGrids[name] = parseNTv2Grid(data);
36
+ spatialProjectionEngine = new FullProjectionEngine({ aliases: projectionAliases, datumGrids });
28
37
  }
29
38
  /**
30
39
  * Registers an already parsed geoid model.
@@ -1 +1 @@
1
- {"version":3,"file":"spatial-resource-registry.js","sourceRoot":"","sources":["../../src/spatial/spatial-resource-registry.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAQ,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAG/C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiB,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,UAAiC;IAChF,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,UAAU,CAAC,uBAAuB,CAAC,EAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,IAAiB;IACtE,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACzC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAY;IAC3D,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC1C,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAY,EACZ,IAAgB,EAChB,UAA6B,EAAE;IAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,0DAA0D;AAC1D,SAAS,oBAAoB,CAAC,IAAY,EAAE,YAAoB;IAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,yBAAyB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"spatial-resource-registry.js","sourceRoot":"","sources":["../../src/spatial/spatial-resource-registry.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAQ,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAIxE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiB,CAAC;AAC7C,MAAM,iBAAiB,GAA0C,EAAE,CAAC;AACpE,MAAM,UAAU,GAA8B,EAAE,CAAC;AACjD,IAAI,uBAAuB,GAAqB,IAAI,oBAAoB,EAAE,CAAC;AAE3E,yFAAyF;AACzF,MAAM,UAAU,0BAA0B;IACxC,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,UAAiC;IAChF,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,iBAAiB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;IACrC,uBAAuB,GAAG,IAAI,oBAAoB,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAC,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY,EAAE,IAAiB;IACtE,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACzC,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,uBAAuB,GAAG,IAAI,oBAAoB,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAC,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAY;IAC3D,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC1C,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAY,EACZ,IAAgB,EAChB,UAA6B,EAAE;IAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,0DAA0D;AAC1D,SAAS,oBAAoB,CAAC,IAAY,EAAE,YAAoB;IAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,yBAAyB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tiles-3d-spatial-transformer.d.ts","sourceRoot":"","sources":["../../src/spatial/tiles-3d-spatial-transformer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,qBAAqB,EAAE,uBAAuB,EAAC,2BAAwB;AAEpF,mEAAmE;AACnE,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACpC,+DAA+D;IAC/D,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IACrE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAA+B;IAE/E,iEAAiE;gBACrD,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,GAAE,qBAA0B;IAkB1F,4DAA4D;IAC5D,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;IAI9D,+EAA+E;IAC/E,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;IAIxF,uEAAuE;IACvE,uBAAuB,CACrB,MAAM,EAAE,4BAA4B,EACpC,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAClC,4BAA4B;IAgB/B,yEAAyE;IACzE,OAAO,CAAC,qBAAqB;CAa9B"}
1
+ {"version":3,"file":"tiles-3d-spatial-transformer.d.ts","sourceRoot":"","sources":["../../src/spatial/tiles-3d-spatial-transformer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,qBAAqB,EAAE,uBAAuB,EAAC,2BAAwB;AAEpF,mEAAmE;AACnE,MAAM,MAAM,4BAA4B,GAAG;IACzC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,yBAAyB;IACpC,+DAA+D;IAC/D,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IACrE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAA+B;IAE/E,iEAAiE;gBACrD,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,GAAE,qBAA0B;IAkB1F,4DAA4D;IAC5D,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;IAI9D,+EAA+E;IAC/E,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;IAIxF,uEAAuE;IACvE,uBAAuB,CACrB,MAAM,EAAE,4BAA4B,EACpC,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAClC,4BAA4B;IAgB/B,yEAAyE;IACzE,OAAO,CAAC,qBAAqB;CAG9B"}
@@ -2,9 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  import { SpatialCoordinateTransformer } from "./spatial-coordinate-transformer.js";
5
- import { getSpatialCoordinateFrame } from "./get-spatial-coordinate-frame.js";
6
5
  import { Matrix4 } from '@math.gl/core';
7
- import { Ellipsoid } from '@math.gl/geospatial';
8
6
  /**
9
7
  * Applies nonlinear CRS operations to 3D Tiles geometry bounds.
10
8
  *
@@ -56,16 +54,6 @@ export class Tiles3DSpatialTransformer {
56
54
  }
57
55
  /** Transforms one WGS84 region sample into the selected output frame. */
58
56
  transformRegionSample(sample) {
59
- const [longitudeDegrees, latitudeDegrees, height] = sample;
60
- const targetCrs = this.spatialReference.targetCrs || this.spatialReference.sourceCrs;
61
- if (targetCrs && getSpatialCoordinateFrame(targetCrs) === 'geocentric') {
62
- const cartesian = Ellipsoid.WGS84.cartographicToCartesian([
63
- longitudeDegrees,
64
- latitudeDegrees,
65
- height
66
- ]);
67
- return Array.from(cartesian);
68
- }
69
57
  return this.geographicCoordinateTransformer.transformPosition(sample);
70
58
  }
71
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tiles-3d-spatial-transformer.js","sourceRoot":"","sources":["../../src/spatial/tiles-3d-spatial-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tiles-3d-spatial-transformer.js","sourceRoot":"","sources":["../../src/spatial/tiles-3d-spatial-transformer.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export * from "./tileset-2d/index.js";
1
+ export { SharedTile2DHeader, Tileset2D, STRATEGY_DEFAULT, STRATEGY_NEVER, STRATEGY_REPLACE } from "./tileset-2d/index.js";
2
+ export type { Bounds, GeoBoundingBox, NonGeoBoundingBox, TileBoundingBox, TileIndex, TileLoadProps, ZRange, Tileset2DAdapter, Tileset2DTileContext, Tileset2DTraversalContext, Tile2DLoadDataProps, RefinementStrategy, RefinementStrategyFunction, Tileset2DBaseProps, Tileset2DProps, Tile2DListener } from "./tileset-2d/index.js";
2
3
  //# sourceMappingURL=tileset-2d.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tileset-2d.d.ts","sourceRoot":"","sources":["../src/tileset-2d.ts"],"names":[],"mappings":"AAIA,sCAAmC"}
1
+ {"version":3,"file":"tileset-2d.d.ts","sourceRoot":"","sources":["../src/tileset-2d.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,8BAA2B;AAC5B,YAAY,EACV,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,aAAa,EACb,MAAM,EACN,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,8BAA2B"}
@@ -1,5 +1,5 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- export * from "./tileset-2d/index.js";
4
+ export { SharedTile2DHeader, Tileset2D, STRATEGY_DEFAULT, STRATEGY_NEVER, STRATEGY_REPLACE } from "./tileset-2d/index.js";
5
5
  //# sourceMappingURL=tileset-2d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tileset-2d.js","sourceRoot":"","sources":["../src/tileset-2d.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,sCAAmC"}
1
+ {"version":3,"file":"tileset-2d.js","sourceRoot":"","sources":["../src/tileset-2d.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,8BAA2B"}
@@ -12,6 +12,8 @@ import { TilesetTraverser } from "./tileset-traverser.js";
12
12
  import { TileContentLoadResult, TilesetContentFormats, TilesetJSON, Tileset3DSource } from "./tileset-source.js";
13
13
  export type { TilesetJSON } from "./tileset-source.js";
14
14
  export type Tileset3DProps = {
15
+ /** Format options forwarded to I3S content requests, including source-coordinate decoding. */
16
+ i3s?: Record<string, unknown>;
15
17
  throttleRequests?: boolean;
16
18
  maxRequests?: number;
17
19
  loadOptions?: LoaderOptions;
@@ -41,7 +43,7 @@ export type Tileset3DProps = {
41
43
  /**
42
44
  * Enables replacement traversal that may skip hierarchy levels while retaining ready ancestors
43
45
  * as coverage. This trades temporary overdraw for faster refinement on deep trees.
44
- * @default false
46
+ * Defaults to `true` for 3D Tiles and `false` for I3S. Set to `false` to request every level.
45
47
  */
46
48
  skipLevelOfDetail?: boolean;
47
49
  /**
@@ -238,6 +240,7 @@ export declare class Tileset3D {
238
240
  _traverser: TilesetTraverser;
239
241
  _cache: TilesetCache;
240
242
  _requestScheduler: RequestScheduler;
243
+ /** Drawn fallback instances retained independently for each viewport tree. */
241
244
  private _heldTiles;
242
245
  private updatePromise;
243
246
  tilesetInitializationPromise: Promise<void>;
@@ -318,6 +321,12 @@ export declare class Tileset3D {
318
321
  _needTraverse(viewportId: string): boolean;
319
322
  _onTraversalEnd(frameState: FrameState): void;
320
323
  _updateTiles(): void;
324
+ /**
325
+ * Releases fallback geometry once its own selected replacement has drawn.
326
+ * Unrelated pending branches must not delay this region's handoff. When no related
327
+ * replacement is selected, retain the fallback until the complete selection has drawn.
328
+ */
329
+ private _hasDrawnReplacement;
321
330
  _tilesChanged(oldSelectedTiles: Tile3D[], selectedTiles: Tile3D[]): boolean;
322
331
  _loadTiles(): void;
323
332
  _unloadTiles(): void;