@loaders.gl/3d-tiles 4.4.0-alpha.1 → 4.4.0-alpha.9

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 (121) hide show
  1. package/README.md +1 -1
  2. package/dist/3d-tiles-archive/3d-tiles-archive-archive.d.ts +3 -3
  3. package/dist/3d-tiles-archive/3d-tiles-archive-archive.d.ts.map +1 -1
  4. package/dist/3d-tiles-archive/3d-tiles-archive-archive.js +5 -4
  5. package/dist/3d-tiles-archive/3d-tiles-archive-archive.js.map +1 -0
  6. package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts +3 -3
  7. package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts.map +1 -1
  8. package/dist/3d-tiles-archive/3d-tiles-archive-parser.js +4 -3
  9. package/dist/3d-tiles-archive/3d-tiles-archive-parser.js.map +1 -0
  10. package/dist/3d-tiles-archive-loader.d.ts.map +1 -1
  11. package/dist/3d-tiles-archive-loader.js +4 -3
  12. package/dist/3d-tiles-archive-loader.js.map +1 -0
  13. package/dist/cesium-ion-loader.d.ts +2 -2
  14. package/dist/cesium-ion-loader.d.ts.map +1 -1
  15. package/dist/cesium-ion-loader.js +1 -0
  16. package/dist/cesium-ion-loader.js.map +1 -0
  17. package/dist/dist.dev.js +463 -321
  18. package/dist/dist.min.js +1 -1
  19. package/dist/index.cjs +37 -27
  20. package/dist/index.cjs.map +4 -4
  21. package/dist/index.js +1 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +1 -0
  24. package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
  25. package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +1 -0
  26. package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
  27. package/dist/lib/classes/tile-3d-batch-table.js +1 -0
  28. package/dist/lib/classes/tile-3d-batch-table.js.map +1 -0
  29. package/dist/lib/classes/tile-3d-feature-table.d.ts.map +1 -1
  30. package/dist/lib/classes/tile-3d-feature-table.js +14 -1
  31. package/dist/lib/classes/tile-3d-feature-table.js.map +1 -0
  32. package/dist/lib/constants.js +1 -0
  33. package/dist/lib/constants.js.map +1 -0
  34. package/dist/lib/encoders/encode-3d-tile-batched-model.js +1 -0
  35. package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
  36. package/dist/lib/encoders/encode-3d-tile-composite.js +1 -0
  37. package/dist/lib/encoders/encode-3d-tile-composite.js.map +1 -0
  38. package/dist/lib/encoders/encode-3d-tile-instanced-model.js +1 -0
  39. package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
  40. package/dist/lib/encoders/encode-3d-tile-point-cloud.js +1 -0
  41. package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
  42. package/dist/lib/encoders/encode-3d-tile.js +1 -0
  43. package/dist/lib/encoders/encode-3d-tile.js.map +1 -0
  44. package/dist/lib/encoders/helpers/encode-3d-tile-header.js +1 -0
  45. package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
  46. package/dist/lib/ion/ion.js +1 -0
  47. package/dist/lib/ion/ion.js.map +1 -0
  48. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +1 -0
  49. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
  50. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +1 -0
  51. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
  52. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +1 -0
  53. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
  54. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +1 -0
  55. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
  56. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -1
  57. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +3 -1
  58. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
  59. package/dist/lib/parsers/helpers/parse-3d-tile-header.js +1 -0
  60. package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
  61. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +1 -0
  62. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
  63. package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +1 -0
  64. package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
  65. package/dist/lib/parsers/helpers/parse-utils.js +1 -0
  66. package/dist/lib/parsers/helpers/parse-utils.js.map +1 -0
  67. package/dist/lib/parsers/parse-3d-tile-batched-model.js +1 -0
  68. package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
  69. package/dist/lib/parsers/parse-3d-tile-composite.js +1 -0
  70. package/dist/lib/parsers/parse-3d-tile-composite.js.map +1 -0
  71. package/dist/lib/parsers/parse-3d-tile-gltf.js +1 -0
  72. package/dist/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
  73. package/dist/lib/parsers/parse-3d-tile-header.d.ts +2 -2
  74. package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
  75. package/dist/lib/parsers/parse-3d-tile-header.js +1 -0
  76. package/dist/lib/parsers/parse-3d-tile-header.js.map +1 -0
  77. package/dist/lib/parsers/parse-3d-tile-instanced-model.js +1 -0
  78. package/dist/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -0
  79. package/dist/lib/parsers/parse-3d-tile-point-cloud.js +1 -0
  80. package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
  81. package/dist/lib/parsers/parse-3d-tile.js +1 -0
  82. package/dist/lib/parsers/parse-3d-tile.js.map +1 -0
  83. package/dist/lib/utils/obb/s2-corners-to-obb.js +1 -0
  84. package/dist/lib/utils/obb/s2-corners-to-obb.js.map +1 -0
  85. package/dist/lib/utils/s2/converters/s2-to-boundary.js +1 -0
  86. package/dist/lib/utils/s2/converters/s2-to-boundary.js.map +1 -0
  87. package/dist/lib/utils/s2/converters/s2-to-obb-points.js +1 -0
  88. package/dist/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -0
  89. package/dist/lib/utils/s2/converters/s2-to-region.js +1 -0
  90. package/dist/lib/utils/s2/converters/s2-to-region.js.map +1 -0
  91. package/dist/lib/utils/s2/index.js +1 -0
  92. package/dist/lib/utils/s2/index.js.map +1 -0
  93. package/dist/lib/utils/s2/s2-geometry-functions.js +1 -0
  94. package/dist/lib/utils/s2/s2-geometry-functions.js.map +1 -0
  95. package/dist/lib/utils/s2/s2-token-functions.js +1 -0
  96. package/dist/lib/utils/s2/s2-token-functions.js.map +1 -0
  97. package/dist/lib/utils/s2/s2geometry/s2-cell-utils.js +1 -0
  98. package/dist/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -0
  99. package/dist/lib/utils/s2/s2geometry/s2-geometry.js +1 -0
  100. package/dist/lib/utils/s2/s2geometry/s2-geometry.js.map +1 -0
  101. package/dist/lib/utils/version.js +2 -1
  102. package/dist/lib/utils/version.js.map +1 -0
  103. package/dist/tile-3d-subtree-loader.js +1 -0
  104. package/dist/tile-3d-subtree-loader.js.map +1 -0
  105. package/dist/tile-3d-writer.js +1 -0
  106. package/dist/tile-3d-writer.js.map +1 -0
  107. package/dist/tiles-3d-loader.d.ts +2 -2
  108. package/dist/tiles-3d-loader.d.ts.map +1 -1
  109. package/dist/tiles-3d-loader.js +1 -0
  110. package/dist/tiles-3d-loader.js.map +1 -0
  111. package/dist/types.js +1 -0
  112. package/dist/types.js.map +1 -0
  113. package/package.json +12 -12
  114. package/src/3d-tiles-archive/3d-tiles-archive-archive.ts +7 -10
  115. package/src/3d-tiles-archive/3d-tiles-archive-parser.ts +7 -5
  116. package/src/3d-tiles-archive-loader.ts +4 -2
  117. package/src/cesium-ion-loader.ts +2 -2
  118. package/src/lib/classes/tile-3d-feature-table.ts +11 -1
  119. package/src/lib/parsers/helpers/parse-3d-tile-gltf-view.ts +2 -1
  120. package/src/lib/parsers/parse-3d-tile-header.ts +2 -2
  121. package/src/tiles-3d-loader.ts +2 -2
package/dist/index.cjs CHANGED
@@ -48,7 +48,7 @@ var import_loader_utils8 = require("@loaders.gl/loader-utils");
48
48
  var import_tiles2 = require("@loaders.gl/tiles");
49
49
 
50
50
  // dist/lib/utils/version.js
51
- var VERSION = true ? "4.4.0-alpha.0" : "latest";
51
+ var VERSION = true ? "4.4.0-alpha.9" : "latest";
52
52
 
53
53
  // dist/lib/constants.js
54
54
  var TILE3D_TYPE = {
@@ -150,7 +150,17 @@ var Tile3DFeatureTable = class {
150
150
  const cachedTypedArrays = this._cachedTypedArrays;
151
151
  let typedArray = cachedTypedArrays[propertyName];
152
152
  if (!typedArray) {
153
- typedArray = import_math.GLType.createTypedArray(componentType, array);
153
+ if (ArrayBuffer.isView(array)) {
154
+ const byteOffset = array.byteOffset;
155
+ const byteLength = array.byteLength;
156
+ const elementCount = byteLength / import_math.GLType.getByteSize(componentType);
157
+ typedArray = import_math.GLType.createTypedArray(componentType, array.buffer, byteOffset, elementCount);
158
+ } else if (array instanceof ArrayBuffer) {
159
+ typedArray = import_math.GLType.createTypedArray(componentType, array);
160
+ } else {
161
+ const ArrayType = import_math.GLType.getArrayType(componentType);
162
+ typedArray = new ArrayType(array);
163
+ }
154
164
  cachedTypedArrays[propertyName] = typedArray;
155
165
  }
156
166
  return typedArray;
@@ -1138,7 +1148,7 @@ async function extractGLTF(tile, gltfFormat, options, context) {
1138
1148
  }
1139
1149
  if (tile.gltfUrl) {
1140
1150
  const { fetch } = context;
1141
- const response = await fetch(tile.gltfUrl, options);
1151
+ const response = await fetch(tile.gltfUrl, options == null ? void 0 : options.core);
1142
1152
  tile.gltfArrayBuffer = await response.arrayBuffer();
1143
1153
  tile.gltfByteOffset = 0;
1144
1154
  }
@@ -2299,7 +2309,7 @@ var CesiumIonLoader = {
2299
2309
  };
2300
2310
 
2301
2311
  // dist/3d-tiles-archive-loader.js
2302
- var import_loader_utils10 = require("@loaders.gl/loader-utils");
2312
+ var import_zip3 = require("@loaders.gl/zip");
2303
2313
 
2304
2314
  // dist/3d-tiles-archive/3d-tiles-archive-parser.js
2305
2315
  var import_zip2 = require("@loaders.gl/zip");
@@ -2319,7 +2329,7 @@ var Tiles3DArchive = class extends import_zip.IndexedArchive {
2319
2329
  hashTable;
2320
2330
  /**
2321
2331
  * creates Tiles3DArchive handler
2322
- * @param fileProvider - FileProvider with the whole file
2332
+ * @param fileProvider - readable file handle with the whole archive
2323
2333
  * @param hashTable - hash info
2324
2334
  */
2325
2335
  constructor(fileProvider, hashTable, fileName) {
@@ -2355,11 +2365,11 @@ var Tiles3DArchive = class extends import_zip.IndexedArchive {
2355
2365
  if (byteOffset === void 0) {
2356
2366
  return null;
2357
2367
  }
2358
- const localFileHeader = await (0, import_zip.parseZipLocalFileHeader)(byteOffset, this.fileProvider);
2368
+ const localFileHeader = await (0, import_zip.parseZipLocalFileHeader)(byteOffset, this.file);
2359
2369
  if (!localFileHeader) {
2360
2370
  return null;
2361
2371
  }
2362
- const compressedFile = await this.fileProvider.slice(localFileHeader.fileDataOffset, localFileHeader.fileDataOffset + localFileHeader.compressedSize);
2372
+ const compressedFile = await (0, import_zip.readRange)(this.file, localFileHeader.fileDataOffset, localFileHeader.fileDataOffset + localFileHeader.compressedSize);
2363
2373
  const compressionMethod = COMPRESSION_METHODS[localFileHeader.compressionMethod];
2364
2374
  if (!compressionMethod) {
2365
2375
  throw Error("Only Deflation compression is supported");
@@ -2386,14 +2396,14 @@ var parse3DTilesArchive = async (fileProvider, cb) => {
2386
2396
  throw new Error("corrupted 3tz zip archive");
2387
2397
  }
2388
2398
  const fileDataOffset = localFileHeader.fileDataOffset;
2389
- const hashFile = await fileProvider.slice(fileDataOffset, fileDataOffset + localFileHeader.compressedSize);
2399
+ const hashFile = await (0, import_zip2.readRange)(fileProvider, fileDataOffset, fileDataOffset + localFileHeader.compressedSize);
2390
2400
  hashTable = (0, import_zip2.parseHashTable)(hashFile);
2391
2401
  }
2392
2402
  return new Tiles3DArchive(fileProvider, hashTable);
2393
2403
  };
2394
2404
 
2395
2405
  // dist/3d-tiles-archive-loader.js
2396
- var VERSION2 = true ? "4.4.0-alpha.0" : "latest";
2406
+ var VERSION2 = true ? "4.4.0-alpha.9" : "latest";
2397
2407
  var Tiles3DArchiveFileLoader = {
2398
2408
  dataType: null,
2399
2409
  batchType: null,
@@ -2408,22 +2418,22 @@ var Tiles3DArchiveFileLoader = {
2408
2418
  };
2409
2419
  async function parse3DTilesArchive2(data, options = {}) {
2410
2420
  var _a;
2411
- const archive = await parse3DTilesArchive(new import_loader_utils10.DataViewFile(new DataView(data)));
2421
+ const archive = await parse3DTilesArchive(new import_zip3.DataViewReadableFile(new DataView(data)));
2412
2422
  return archive.getFile(((_a = options["3d-tiles-archive"]) == null ? void 0 : _a.path) ?? "");
2413
2423
  }
2414
2424
 
2415
2425
  // dist/lib/encoders/encode-3d-tile.js
2416
- var import_loader_utils15 = require("@loaders.gl/loader-utils");
2426
+ var import_loader_utils14 = require("@loaders.gl/loader-utils");
2417
2427
 
2418
2428
  // dist/lib/encoders/helpers/encode-3d-tile-header.js
2419
- var import_loader_utils11 = require("@loaders.gl/loader-utils");
2429
+ var import_loader_utils10 = require("@loaders.gl/loader-utils");
2420
2430
  function encode3DTileHeader(tile, dataView, byteOffset) {
2421
2431
  const HEADER_SIZE = 12;
2422
2432
  if (!dataView) {
2423
2433
  return byteOffset + HEADER_SIZE;
2424
2434
  }
2425
2435
  const { magic, version = 1, byteLength = 12 } = tile;
2426
- (0, import_loader_utils11.assert)(Array.isArray(magic) && Number.isFinite(version) && Number.isFinite(byteLength));
2436
+ (0, import_loader_utils10.assert)(Array.isArray(magic) && Number.isFinite(version) && Number.isFinite(byteLength));
2427
2437
  dataView.setUint8(byteOffset + 0, magic[0]);
2428
2438
  dataView.setUint8(byteOffset + 1, magic[1]);
2429
2439
  dataView.setUint8(byteOffset + 2, magic[2]);
@@ -2457,7 +2467,7 @@ function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile
2457
2467
  }
2458
2468
 
2459
2469
  // dist/lib/encoders/encode-3d-tile-batched-model.js
2460
- var import_loader_utils12 = require("@loaders.gl/loader-utils");
2470
+ var import_loader_utils11 = require("@loaders.gl/loader-utils");
2461
2471
  function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
2462
2472
  const { featuresLength = 0, batchTable } = tile;
2463
2473
  const featureTableJson = {
@@ -2465,8 +2475,8 @@ function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
2465
2475
  };
2466
2476
  const featureTableJsonString = JSON.stringify(featureTableJson);
2467
2477
  const batchTableJsonString = batchTable ? JSON.stringify(batchTable) : "";
2468
- const featureTableJsonByteLength = (0, import_loader_utils12.padToNBytes)(featureTableJsonString.length, 8);
2469
- const batchTableJsonByteLength = batchTableJsonString ? (0, import_loader_utils12.padToNBytes)(batchTableJsonString.length, 8) : 0;
2478
+ const featureTableJsonByteLength = (0, import_loader_utils11.padToNBytes)(featureTableJsonString.length, 8);
2479
+ const batchTableJsonByteLength = batchTableJsonString ? (0, import_loader_utils11.padToNBytes)(batchTableJsonString.length, 8) : 0;
2470
2480
  tile = { magic: MAGIC_ARRAY.BATCHED_MODEL, ...tile };
2471
2481
  const byteOffsetStart = byteOffset;
2472
2482
  byteOffset = encode3DTileHeader(tile, dataView, byteOffset);
@@ -2477,20 +2487,20 @@ function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
2477
2487
  dataView.setUint32(24, 0, true);
2478
2488
  }
2479
2489
  byteOffset += 16;
2480
- byteOffset = (0, import_loader_utils12.copyPaddedStringToDataView)(dataView, byteOffset, featureTableJsonString, 8);
2490
+ byteOffset = (0, import_loader_utils11.copyPaddedStringToDataView)(dataView, byteOffset, featureTableJsonString, 8);
2481
2491
  if (batchTable) {
2482
- byteOffset = (0, import_loader_utils12.copyPaddedStringToDataView)(dataView, byteOffset, batchTableJsonString, 8);
2492
+ byteOffset = (0, import_loader_utils11.copyPaddedStringToDataView)(dataView, byteOffset, batchTableJsonString, 8);
2483
2493
  }
2484
2494
  const gltfEncoded = tile.gltfEncoded;
2485
2495
  if (gltfEncoded) {
2486
- byteOffset = (0, import_loader_utils12.copyBinaryToDataView)(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);
2496
+ byteOffset = (0, import_loader_utils11.copyBinaryToDataView)(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);
2487
2497
  }
2488
2498
  encode3DTileByteLength(dataView, byteOffsetStart, byteOffset - byteOffsetStart);
2489
2499
  return byteOffset;
2490
2500
  }
2491
2501
 
2492
2502
  // dist/lib/encoders/encode-3d-tile-instanced-model.js
2493
- var import_loader_utils13 = require("@loaders.gl/loader-utils");
2503
+ var import_loader_utils12 = require("@loaders.gl/loader-utils");
2494
2504
  function encodeInstancedModel3DTile(tile, dataView, byteOffset, options) {
2495
2505
  const { featuresLength = 1, gltfFormat = 1, gltfUri = "" } = tile;
2496
2506
  const gltfUriByteLength = gltfUri.length;
@@ -2511,14 +2521,14 @@ function encodeInstancedModel3DTile(tile, dataView, byteOffset, options) {
2511
2521
  dataView.setUint32(28, gltfFormat, true);
2512
2522
  }
2513
2523
  byteOffset += 20;
2514
- byteOffset += (0, import_loader_utils13.copyStringToDataView)(dataView, byteOffset, featureTableJsonString, featureTableJsonByteLength);
2515
- byteOffset += (0, import_loader_utils13.copyStringToDataView)(dataView, byteOffset, gltfUri, gltfUriByteLength);
2524
+ byteOffset += (0, import_loader_utils12.copyStringToDataView)(dataView, byteOffset, featureTableJsonString, featureTableJsonByteLength);
2525
+ byteOffset += (0, import_loader_utils12.copyStringToDataView)(dataView, byteOffset, gltfUri, gltfUriByteLength);
2516
2526
  encode3DTileByteLength(dataView, byteOffsetStart, byteOffset - byteOffsetStart);
2517
2527
  return byteOffset;
2518
2528
  }
2519
2529
 
2520
2530
  // dist/lib/encoders/encode-3d-tile-point-cloud.js
2521
- var import_loader_utils14 = require("@loaders.gl/loader-utils");
2531
+ var import_loader_utils13 = require("@loaders.gl/loader-utils");
2522
2532
  var DEFAULT_FEATURE_TABLE_JSON = {
2523
2533
  POINTS_LENGTH: 1,
2524
2534
  POSITIONS: {
@@ -2528,7 +2538,7 @@ var DEFAULT_FEATURE_TABLE_JSON = {
2528
2538
  function encodePointCloud3DTile(tile, dataView, byteOffset, options) {
2529
2539
  const { featureTableJson = DEFAULT_FEATURE_TABLE_JSON } = tile;
2530
2540
  let featureTableJsonString = JSON.stringify(featureTableJson);
2531
- featureTableJsonString = (0, import_loader_utils14.padStringToByteAlignment)(featureTableJsonString, 4);
2541
+ featureTableJsonString = (0, import_loader_utils13.padStringToByteAlignment)(featureTableJsonString, 4);
2532
2542
  const { featureTableJsonByteLength = featureTableJsonString.length } = tile;
2533
2543
  const featureTableBinary = new ArrayBuffer(12);
2534
2544
  const featureTableBinaryByteLength = featureTableBinary.byteLength;
@@ -2542,8 +2552,8 @@ function encodePointCloud3DTile(tile, dataView, byteOffset, options) {
2542
2552
  dataView.setUint32(byteOffset + 12, 0, true);
2543
2553
  }
2544
2554
  byteOffset += 16;
2545
- byteOffset += (0, import_loader_utils14.copyStringToDataView)(dataView, byteOffset, featureTableJsonString, featureTableJsonByteLength);
2546
- byteOffset += (0, import_loader_utils14.copyBinaryToDataView)(dataView, byteOffset, featureTableBinary, featureTableBinaryByteLength);
2555
+ byteOffset += (0, import_loader_utils13.copyStringToDataView)(dataView, byteOffset, featureTableJsonString, featureTableJsonByteLength);
2556
+ byteOffset += (0, import_loader_utils13.copyBinaryToDataView)(dataView, byteOffset, featureTableBinary, featureTableBinaryByteLength);
2547
2557
  encode3DTileByteLength(dataView, byteOffsetStart, byteOffset - byteOffsetStart);
2548
2558
  return byteOffset;
2549
2559
  }
@@ -2557,7 +2567,7 @@ function encode3DTile(tile, options) {
2557
2567
  return arrayBuffer;
2558
2568
  }
2559
2569
  function encode3DTileToDataView(tile, dataView, byteOffset, options) {
2560
- (0, import_loader_utils15.assert)(typeof tile.type === "string");
2570
+ (0, import_loader_utils14.assert)(typeof tile.type === "string");
2561
2571
  switch (tile.type) {
2562
2572
  case TILE3D_TYPE.COMPOSITE:
2563
2573
  return encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTileToDataView);