@loaders.gl/i3s 3.1.0-beta.2 → 3.1.1

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 (90) hide show
  1. package/dist/bundle.js +373 -300
  2. package/dist/es5/bundle.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/i3s-attribute-loader.js +147 -62
  5. package/dist/es5/i3s-attribute-loader.js.map +1 -1
  6. package/dist/es5/i3s-building-scene-layer-loader.js +36 -8
  7. package/dist/es5/i3s-building-scene-layer-loader.js.map +1 -1
  8. package/dist/es5/i3s-content-loader.js +36 -10
  9. package/dist/es5/i3s-content-loader.js.map +1 -1
  10. package/dist/es5/i3s-loader.js +175 -51
  11. package/dist/es5/i3s-loader.js.map +1 -1
  12. package/dist/es5/i3s-node-page-loader.js +51 -8
  13. package/dist/es5/i3s-node-page-loader.js.map +1 -1
  14. package/dist/es5/index.js +6 -6
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/lib/helpers/i3s-nodepages-tiles.js +328 -173
  17. package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
  18. package/dist/es5/lib/parsers/constants.js +9 -28
  19. package/dist/es5/lib/parsers/constants.js.map +1 -1
  20. package/dist/es5/lib/parsers/parse-i3s-attribute.js +69 -27
  21. package/dist/es5/lib/parsers/parse-i3s-attribute.js.map +1 -1
  22. package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js +62 -28
  23. package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -1
  24. package/dist/es5/lib/parsers/parse-i3s-tile-content.js +416 -314
  25. package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
  26. package/dist/es5/lib/parsers/parse-i3s.js +109 -49
  27. package/dist/es5/lib/parsers/parse-i3s.js.map +1 -1
  28. package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js +8 -4
  29. package/dist/es5/lib/utils/convert-i3s-obb-to-mbs.js.map +1 -1
  30. package/dist/es5/lib/utils/url-utils.js +14 -17
  31. package/dist/es5/lib/utils/url-utils.js.map +1 -1
  32. package/dist/es5/types.js +10 -2
  33. package/dist/es5/types.js.map +1 -1
  34. package/dist/esm/i3s-attribute-loader.js +1 -1
  35. package/dist/esm/i3s-attribute-loader.js.map +1 -1
  36. package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
  37. package/dist/esm/i3s-building-scene-layer-loader.js.map +1 -1
  38. package/dist/esm/i3s-content-loader.js +1 -1
  39. package/dist/esm/i3s-content-loader.js.map +1 -1
  40. package/dist/esm/i3s-loader.js +1 -1
  41. package/dist/esm/i3s-loader.js.map +1 -1
  42. package/dist/esm/i3s-node-page-loader.js +1 -1
  43. package/dist/esm/i3s-node-page-loader.js.map +1 -1
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/lib/helpers/i3s-nodepages-tiles.js +33 -23
  46. package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
  47. package/dist/esm/lib/parsers/constants.js +2 -18
  48. package/dist/esm/lib/parsers/constants.js.map +1 -1
  49. package/dist/esm/lib/parsers/parse-i3s-tile-content.js +44 -61
  50. package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
  51. package/dist/esm/lib/parsers/parse-i3s.js +40 -25
  52. package/dist/esm/lib/parsers/parse-i3s.js.map +1 -1
  53. package/dist/esm/lib/utils/url-utils.js +2 -3
  54. package/dist/esm/lib/utils/url-utils.js.map +1 -1
  55. package/dist/esm/types.js +7 -0
  56. package/dist/esm/types.js.map +1 -1
  57. package/dist/i3s-building-scene-layer-loader.js +1 -1
  58. package/dist/i3s-content-loader.js +1 -1
  59. package/dist/i3s-content-worker.js +278 -201
  60. package/dist/index.d.ts +1 -1
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts +20 -20
  63. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -1
  64. package/dist/lib/helpers/i3s-nodepages-tiles.js +33 -32
  65. package/dist/lib/parsers/constants.d.ts +1 -17
  66. package/dist/lib/parsers/constants.d.ts.map +1 -1
  67. package/dist/lib/parsers/constants.js +3 -21
  68. package/dist/lib/parsers/parse-i3s-attribute.d.ts +1 -1
  69. package/dist/lib/parsers/parse-i3s-tile-content.d.ts +2 -2
  70. package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -1
  71. package/dist/lib/parsers/parse-i3s-tile-content.js +35 -61
  72. package/dist/lib/parsers/parse-i3s.d.ts +5 -3
  73. package/dist/lib/parsers/parse-i3s.d.ts.map +1 -1
  74. package/dist/lib/parsers/parse-i3s.js +37 -32
  75. package/dist/lib/utils/url-utils.d.ts +6 -6
  76. package/dist/lib/utils/url-utils.d.ts.map +1 -1
  77. package/dist/lib/utils/url-utils.js +5 -5
  78. package/dist/types.d.ts +289 -74
  79. package/dist/types.d.ts.map +1 -1
  80. package/dist/types.js +6 -1
  81. package/package.json +9 -9
  82. package/src/i3s-building-scene-layer-loader.ts +1 -1
  83. package/src/i3s-content-loader.ts +1 -1
  84. package/src/index.ts +3 -3
  85. package/src/lib/helpers/i3s-nodepages-tiles.ts +71 -55
  86. package/src/lib/parsers/constants.ts +2 -22
  87. package/src/lib/parsers/parse-i3s-tile-content.ts +74 -103
  88. package/src/lib/parsers/parse-i3s.ts +48 -37
  89. package/src/lib/utils/url-utils.ts +7 -7
  90. package/src/types.ts +302 -93
package/dist/bundle.js CHANGED
@@ -1,5 +1,10 @@
1
1
  (() => {
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3
8
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
4
9
  var __esm = (fn, res) => function __init() {
5
10
  return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res;
@@ -12,6 +17,17 @@
12
17
  for (var name in all)
13
18
  __defProp(target, name, { get: all[name], enumerable: true });
14
19
  };
20
+ var __reExport = (target, module2, desc) => {
21
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
22
+ for (let key of __getOwnPropNames(module2))
23
+ if (!__hasOwnProp.call(target, key) && key !== "default")
24
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
25
+ }
26
+ return target;
27
+ };
28
+ var __toModule = (module2) => {
29
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
30
+ };
15
31
 
16
32
  // ../loader-utils/src/lib/env-utils/assert.ts
17
33
  function assert(condition, message) {
@@ -48,7 +64,7 @@
48
64
  var DEFAULT_VERSION, VERSION;
49
65
  var init_version = __esm({
50
66
  "../worker-utils/src/lib/env-utils/version.ts"() {
51
- DEFAULT_VERSION = "beta";
67
+ DEFAULT_VERSION = "latest";
52
68
  VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
53
69
  if (typeof __VERSION__ === "undefined") {
54
70
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
@@ -463,6 +479,9 @@
463
479
  const workerOptions = options[worker.id] || {};
464
480
  const workerFile = `${worker.id}-worker.js`;
465
481
  let url = workerOptions.workerUrl;
482
+ if (!url && worker.id === "compression") {
483
+ url = options.workerUrl;
484
+ }
466
485
  if (options._workerType === "test") {
467
486
  url = `modules/${worker.module}/dist/${workerFile}`;
468
487
  }
@@ -481,7 +500,7 @@
481
500
  var init_get_worker_url = __esm({
482
501
  "../worker-utils/src/lib/worker-api/get-worker-url.ts"() {
483
502
  init_assert2();
484
- NPM_TAG = "beta";
503
+ NPM_TAG = "latest";
485
504
  }
486
505
  });
487
506
 
@@ -502,7 +521,7 @@
502
521
  });
503
522
 
504
523
  // (disabled):../worker-utils/src/lib/node/require-utils.node
505
- var init_require_utils = __esm({
524
+ var require_require_utils = __commonJS({
506
525
  "(disabled):../worker-utils/src/lib/node/require-utils.node"() {
507
526
  }
508
527
  });
@@ -541,7 +560,11 @@
541
560
  return await response2.arrayBuffer();
542
561
  }
543
562
  if (!isBrowser2) {
544
- return node.requireFromFile && await node.requireFromFile(libraryUrl);
563
+ try {
564
+ return node && node.requireFromFile && await node.requireFromFile(libraryUrl);
565
+ } catch {
566
+ return null;
567
+ }
545
568
  }
546
569
  if (isWorker) {
547
570
  return importScripts(libraryUrl);
@@ -568,14 +591,14 @@
568
591
  document.body.appendChild(script);
569
592
  return null;
570
593
  }
571
- var LATEST, VERSION2, loadLibraryPromises;
594
+ var node, LATEST, VERSION2, loadLibraryPromises;
572
595
  var init_library_utils = __esm({
573
596
  "../worker-utils/src/lib/library-utils/library-utils.ts"() {
574
597
  init_globals2();
575
- init_require_utils();
598
+ node = __toModule(require_require_utils());
576
599
  init_assert2();
577
600
  init_version();
578
- LATEST = "beta";
601
+ LATEST = "latest";
579
602
  VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
580
603
  loadLibraryPromises = {};
581
604
  }
@@ -726,35 +749,6 @@
726
749
  }
727
750
  });
728
751
 
729
- // ../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js
730
- var init_hi_res_timestamp = __esm({
731
- "../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js"() {
732
- }
733
- });
734
-
735
- // ../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js
736
- var init_stat = __esm({
737
- "../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js"() {
738
- init_hi_res_timestamp();
739
- }
740
- });
741
-
742
- // ../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js
743
- var init_stats = __esm({
744
- "../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js"() {
745
- init_stat();
746
- }
747
- });
748
-
749
- // ../../node_modules/@probe.gl/stats/dist/esm/index.js
750
- var init_esm = __esm({
751
- "../../node_modules/@probe.gl/stats/dist/esm/index.js"() {
752
- init_stats();
753
- init_stat();
754
- init_hi_res_timestamp();
755
- }
756
- });
757
-
758
752
  // ../loader-utils/src/lib/path-utils/file-aliases.ts
759
753
  function resolvePath(filename2) {
760
754
  for (const alias in fileAliases) {
@@ -1236,7 +1230,7 @@
1236
1230
  });
1237
1231
 
1238
1232
  // ../../node_modules/probe.gl/dist/esm/utils/hi-res-timestamp.js
1239
- function getHiResTimestamp2() {
1233
+ function getHiResTimestamp() {
1240
1234
  let timestamp;
1241
1235
  if (isBrowser4 && window_3.performance) {
1242
1236
  timestamp = window_3.performance.now();
@@ -1248,7 +1242,7 @@
1248
1242
  }
1249
1243
  return timestamp;
1250
1244
  }
1251
- var init_hi_res_timestamp2 = __esm({
1245
+ var init_hi_res_timestamp = __esm({
1252
1246
  "../../node_modules/probe.gl/dist/esm/utils/hi-res-timestamp.js"() {
1253
1247
  init_globals4();
1254
1248
  }
@@ -1375,7 +1369,7 @@
1375
1369
  init_color();
1376
1370
  init_autobind();
1377
1371
  init_assert3();
1378
- init_hi_res_timestamp2();
1372
+ init_hi_res_timestamp();
1379
1373
  originalConsole = {
1380
1374
  debug: isBrowser4 ? console.debug || console.log : console.log,
1381
1375
  log: console.log,
@@ -1399,8 +1393,8 @@
1399
1393
  }) {
1400
1394
  this.id = id;
1401
1395
  this.VERSION = VERSION3;
1402
- this._startTs = getHiResTimestamp2();
1403
- this._deltaTs = getHiResTimestamp2();
1396
+ this._startTs = getHiResTimestamp();
1397
+ this._deltaTs = getHiResTimestamp();
1404
1398
  this.LOG_THROTTLE_TIMEOUT = 0;
1405
1399
  this._storage = new LocalStorage("__probe-".concat(this.id, "__"), DEFAULT_SETTINGS);
1406
1400
  this.userData = {};
@@ -1421,10 +1415,10 @@
1421
1415
  return this._storage.config.level;
1422
1416
  }
1423
1417
  getTotal() {
1424
- return Number((getHiResTimestamp2() - this._startTs).toPrecision(10));
1418
+ return Number((getHiResTimestamp() - this._startTs).toPrecision(10));
1425
1419
  }
1426
1420
  getDelta() {
1427
- return Number((getHiResTimestamp2() - this._deltaTs).toPrecision(10));
1421
+ return Number((getHiResTimestamp() - this._deltaTs).toPrecision(10));
1428
1422
  }
1429
1423
  set priority(newPriority) {
1430
1424
  this.level = newPriority;
@@ -1579,11 +1573,11 @@
1579
1573
  assert3(method);
1580
1574
  opts.total = this.getTotal();
1581
1575
  opts.delta = this.getDelta();
1582
- this._deltaTs = getHiResTimestamp2();
1576
+ this._deltaTs = getHiResTimestamp();
1583
1577
  const tag = opts.tag || opts.message;
1584
1578
  if (opts.once) {
1585
1579
  if (!cache[tag]) {
1586
- cache[tag] = getHiResTimestamp2();
1580
+ cache[tag] = getHiResTimestamp();
1587
1581
  } else {
1588
1582
  return noop;
1589
1583
  }
@@ -1598,6 +1592,35 @@
1598
1592
  }
1599
1593
  });
1600
1594
 
1595
+ // ../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js
1596
+ var init_hi_res_timestamp2 = __esm({
1597
+ "../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js"() {
1598
+ }
1599
+ });
1600
+
1601
+ // ../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js
1602
+ var init_stat = __esm({
1603
+ "../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js"() {
1604
+ init_hi_res_timestamp2();
1605
+ }
1606
+ });
1607
+
1608
+ // ../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js
1609
+ var init_stats = __esm({
1610
+ "../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js"() {
1611
+ init_stat();
1612
+ }
1613
+ });
1614
+
1615
+ // ../../node_modules/@probe.gl/stats/dist/esm/index.js
1616
+ var init_esm = __esm({
1617
+ "../../node_modules/@probe.gl/stats/dist/esm/index.js"() {
1618
+ init_stats();
1619
+ init_stat();
1620
+ init_hi_res_timestamp2();
1621
+ }
1622
+ });
1623
+
1601
1624
  // ../../node_modules/probe.gl/dist/esm/index.js
1602
1625
  var esm_default;
1603
1626
  var init_esm2 = __esm({
@@ -7037,7 +7060,7 @@
7037
7060
  var VERSION6;
7038
7061
  var init_version4 = __esm({
7039
7062
  "../textures/src/lib/utils/version.ts"() {
7040
- VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
7063
+ VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
7041
7064
  }
7042
7065
  });
7043
7066
 
@@ -7114,11 +7137,11 @@
7114
7137
  }
7115
7138
  });
7116
7139
 
7117
- // ../textures/src/lib/gl-constants.ts
7118
- var GL;
7119
- var init_gl_constants = __esm({
7120
- "../textures/src/lib/gl-constants.ts"() {
7121
- GL = {
7140
+ // ../textures/src/lib/gl-extensions.ts
7141
+ var GL_EXTENSIONS_CONSTANTS;
7142
+ var init_gl_extensions = __esm({
7143
+ "../textures/src/lib/gl-extensions.ts"() {
7144
+ GL_EXTENSIONS_CONSTANTS = {
7122
7145
  COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
7123
7146
  COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
7124
7147
  COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
@@ -7363,74 +7386,74 @@
7363
7386
  var VULKAN_TO_WEBGL_FORMAT_MAP;
7364
7387
  var init_ktx_format_helper = __esm({
7365
7388
  "../textures/src/lib/utils/ktx-format-helper.ts"() {
7366
- init_gl_constants();
7389
+ init_gl_extensions();
7367
7390
  VULKAN_TO_WEBGL_FORMAT_MAP = {
7368
- 131: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,
7369
- 132: GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,
7370
- 133: GL.COMPRESSED_RGBA_S3TC_DXT1_EXT,
7371
- 134: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
7372
- 135: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,
7373
- 136: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
7374
- 137: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,
7375
- 138: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
7376
- 139: GL.COMPRESSED_RED_RGTC1_EXT,
7377
- 140: GL.COMPRESSED_SIGNED_RED_RGTC1_EXT,
7378
- 141: GL.COMPRESSED_RED_GREEN_RGTC2_EXT,
7379
- 142: GL.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
7380
- 147: GL.COMPRESSED_RGB8_ETC2,
7381
- 148: GL.COMPRESSED_SRGB8_ETC2,
7382
- 149: GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
7383
- 150: GL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
7384
- 151: GL.COMPRESSED_RGBA8_ETC2_EAC,
7385
- 152: GL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
7386
- 153: GL.COMPRESSED_R11_EAC,
7387
- 154: GL.COMPRESSED_SIGNED_R11_EAC,
7388
- 155: GL.COMPRESSED_RG11_EAC,
7389
- 156: GL.COMPRESSED_SIGNED_RG11_EAC,
7390
- 157: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,
7391
- 158: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
7392
- 159: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,
7393
- 160: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
7394
- 161: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,
7395
- 162: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
7396
- 163: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,
7397
- 164: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
7398
- 165: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,
7399
- 166: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
7400
- 167: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,
7401
- 168: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
7402
- 169: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,
7403
- 170: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
7404
- 171: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,
7405
- 172: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
7406
- 173: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,
7407
- 174: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
7408
- 175: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,
7409
- 176: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
7410
- 177: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,
7411
- 178: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
7412
- 179: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
7413
- 180: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
7414
- 181: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,
7415
- 182: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
7416
- 183: GL.COMPRESSED_RGBA_ASTC_12x12_KHR,
7417
- 184: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
7418
- 1000054e3: GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
7419
- 1000054001: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
7420
- 1000066e3: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,
7421
- 1000066001: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,
7422
- 1000066002: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,
7423
- 1000066003: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,
7424
- 1000066004: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,
7425
- 1000066005: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,
7426
- 1000066006: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,
7427
- 1000066007: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,
7428
- 1000066008: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,
7429
- 1000066009: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,
7430
- 1000066010: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,
7431
- 1000066011: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
7432
- 1000066012: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,
7433
- 1000066013: GL.COMPRESSED_RGBA_ASTC_12x12_KHR
7391
+ 131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
7392
+ 132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
7393
+ 133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
7394
+ 134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
7395
+ 135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
7396
+ 136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
7397
+ 137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
7398
+ 138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
7399
+ 139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
7400
+ 140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
7401
+ 141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
7402
+ 142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
7403
+ 147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
7404
+ 148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
7405
+ 149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
7406
+ 150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
7407
+ 151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
7408
+ 152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
7409
+ 153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
7410
+ 154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
7411
+ 155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
7412
+ 156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
7413
+ 157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
7414
+ 158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
7415
+ 159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
7416
+ 160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
7417
+ 161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
7418
+ 162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
7419
+ 163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
7420
+ 164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
7421
+ 165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
7422
+ 166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
7423
+ 167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
7424
+ 168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
7425
+ 169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
7426
+ 170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
7427
+ 171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
7428
+ 172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
7429
+ 173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
7430
+ 174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
7431
+ 175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
7432
+ 176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
7433
+ 177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
7434
+ 178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
7435
+ 179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
7436
+ 180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
7437
+ 181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
7438
+ 182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
7439
+ 183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
7440
+ 184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
7441
+ 1000054e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
7442
+ 1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
7443
+ 1000066e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
7444
+ 1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
7445
+ 1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
7446
+ 1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
7447
+ 1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
7448
+ 1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
7449
+ 1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
7450
+ 1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
7451
+ 1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
7452
+ 1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
7453
+ 1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
7454
+ 1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
7455
+ 1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
7456
+ 1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
7434
7457
  };
7435
7458
  }
7436
7459
  });
@@ -7479,7 +7502,7 @@
7479
7502
  }
7480
7503
  });
7481
7504
 
7482
- // ../textures/src/lib/parsers/parse-basis.js
7505
+ // ../textures/src/lib/parsers/parse-basis.ts
7483
7506
  async function parseBasis(data, options) {
7484
7507
  if (options.basis.containerFormat === "auto") {
7485
7508
  if (isKTX(data)) {
@@ -7615,23 +7638,47 @@
7615
7638
  }
7616
7639
  var OutputFormat;
7617
7640
  var init_parse_basis = __esm({
7618
- "../textures/src/lib/parsers/parse-basis.js"() {
7641
+ "../textures/src/lib/parsers/parse-basis.ts"() {
7619
7642
  init_basis_module_loader();
7620
- init_gl_constants();
7643
+ init_gl_extensions();
7621
7644
  init_texture_formats();
7622
7645
  init_parse_ktx();
7623
7646
  OutputFormat = {
7624
- etc1: { basisFormat: 0, compressed: true, format: GL.COMPRESSED_RGB_ETC1_WEBGL },
7647
+ etc1: {
7648
+ basisFormat: 0,
7649
+ compressed: true,
7650
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
7651
+ },
7625
7652
  etc2: { basisFormat: 1, compressed: true },
7626
- bc1: { basisFormat: 2, compressed: true, format: GL.COMPRESSED_RGB_S3TC_DXT1_EXT },
7627
- bc3: { basisFormat: 3, compressed: true, format: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT },
7653
+ bc1: {
7654
+ basisFormat: 2,
7655
+ compressed: true,
7656
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT
7657
+ },
7658
+ bc3: {
7659
+ basisFormat: 3,
7660
+ compressed: true,
7661
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
7662
+ },
7628
7663
  bc4: { basisFormat: 4, compressed: true },
7629
7664
  bc5: { basisFormat: 5, compressed: true },
7630
7665
  "bc7-m6-opaque-only": { basisFormat: 6, compressed: true },
7631
7666
  "bc7-m5": { basisFormat: 7, compressed: true },
7632
- "pvrtc1-4-rgb": { basisFormat: 8, compressed: true, format: GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG },
7633
- "pvrtc1-4-rgba": { basisFormat: 9, compressed: true, format: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG },
7634
- "astc-4x4": { basisFormat: 10, compressed: true, format: GL.COMPRESSED_RGBA_ASTC_4X4_KHR },
7667
+ "pvrtc1-4-rgb": {
7668
+ basisFormat: 8,
7669
+ compressed: true,
7670
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
7671
+ },
7672
+ "pvrtc1-4-rgba": {
7673
+ basisFormat: 9,
7674
+ compressed: true,
7675
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
7676
+ },
7677
+ "astc-4x4": {
7678
+ basisFormat: 10,
7679
+ compressed: true,
7680
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
7681
+ },
7635
7682
  "atc-rgb": { basisFormat: 11, compressed: true },
7636
7683
  "atc-rgba-interpolated-alpha": { basisFormat: 12, compressed: true },
7637
7684
  rgba32: { basisFormat: 13, compressed: false },
@@ -7717,7 +7764,7 @@
7717
7764
  var init_parse_dds = __esm({
7718
7765
  "../textures/src/lib/parsers/parse-dds.ts"() {
7719
7766
  init_src2();
7720
- init_gl_constants();
7767
+ init_gl_extensions();
7721
7768
  init_extract_mipmap_images();
7722
7769
  DDS_CONSTANTS = {
7723
7770
  MAGIC_NUMBER: 542327876,
@@ -7734,12 +7781,12 @@
7734
7781
  DDPF_FOURCC: 4
7735
7782
  };
7736
7783
  DDS_PIXEL_FORMATS = {
7737
- DXT1: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,
7738
- DXT3: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,
7739
- DXT5: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,
7740
- "ATC ": GL.COMPRESSED_RGB_ATC_WEBGL,
7741
- ATCA: GL.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
7742
- ATCI: GL.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
7784
+ DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
7785
+ DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
7786
+ DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
7787
+ "ATC ": GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
7788
+ ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
7789
+ ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
7743
7790
  };
7744
7791
  getATCLevelSize = getDxt1LevelSize;
7745
7792
  getATCALevelSize = getDxtXLevelSize;
@@ -7839,7 +7886,7 @@
7839
7886
  var PVR_CONSTANTS, PVR_PIXEL_FORMATS, PVR_SIZE_FUNCTIONS;
7840
7887
  var init_parse_pvr = __esm({
7841
7888
  "../textures/src/lib/parsers/parse-pvr.ts"() {
7842
- init_gl_constants();
7889
+ init_gl_extensions();
7843
7890
  init_extract_mipmap_images();
7844
7891
  PVR_CONSTANTS = {
7845
7892
  MAGIC_NUMBER: 55727696,
@@ -7855,33 +7902,75 @@
7855
7902
  METADATA_SIZE_INDEX: 12
7856
7903
  };
7857
7904
  PVR_PIXEL_FORMATS = {
7858
- 0: [GL.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
7859
- 1: [GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
7860
- 2: [GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
7861
- 3: [GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
7862
- 6: [GL.COMPRESSED_RGB_ETC1_WEBGL],
7863
- 7: [GL.COMPRESSED_RGB_S3TC_DXT1_EXT],
7864
- 9: [GL.COMPRESSED_RGBA_S3TC_DXT3_EXT],
7865
- 11: [GL.COMPRESSED_RGBA_S3TC_DXT5_EXT],
7866
- 22: [GL.COMPRESSED_RGB8_ETC2],
7867
- 23: [GL.COMPRESSED_RGBA8_ETC2_EAC],
7868
- 24: [GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
7869
- 25: [GL.COMPRESSED_R11_EAC],
7870
- 26: [GL.COMPRESSED_RG11_EAC],
7871
- 27: [GL.COMPRESSED_RGBA_ASTC_4X4_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],
7872
- 28: [GL.COMPRESSED_RGBA_ASTC_5X4_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],
7873
- 29: [GL.COMPRESSED_RGBA_ASTC_5X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],
7874
- 30: [GL.COMPRESSED_RGBA_ASTC_6X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],
7875
- 31: [GL.COMPRESSED_RGBA_ASTC_6X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],
7876
- 32: [GL.COMPRESSED_RGBA_ASTC_8X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],
7877
- 33: [GL.COMPRESSED_RGBA_ASTC_8X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],
7878
- 34: [GL.COMPRESSED_RGBA_ASTC_8X8_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],
7879
- 35: [GL.COMPRESSED_RGBA_ASTC_10X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],
7880
- 36: [GL.COMPRESSED_RGBA_ASTC_10X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],
7881
- 37: [GL.COMPRESSED_RGBA_ASTC_10X8_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],
7882
- 38: [GL.COMPRESSED_RGBA_ASTC_10X10_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],
7883
- 39: [GL.COMPRESSED_RGBA_ASTC_12X10_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],
7884
- 40: [GL.COMPRESSED_RGBA_ASTC_12X12_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]
7905
+ 0: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
7906
+ 1: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
7907
+ 2: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
7908
+ 3: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
7909
+ 6: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],
7910
+ 7: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],
7911
+ 9: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],
7912
+ 11: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],
7913
+ 22: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],
7914
+ 23: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],
7915
+ 24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
7916
+ 25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
7917
+ 26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
7918
+ 27: [
7919
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,
7920
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR
7921
+ ],
7922
+ 28: [
7923
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,
7924
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR
7925
+ ],
7926
+ 29: [
7927
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,
7928
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR
7929
+ ],
7930
+ 30: [
7931
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,
7932
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
7933
+ ],
7934
+ 31: [
7935
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
7936
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
7937
+ ],
7938
+ 32: [
7939
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
7940
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
7941
+ ],
7942
+ 33: [
7943
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
7944
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
7945
+ ],
7946
+ 34: [
7947
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
7948
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
7949
+ ],
7950
+ 35: [
7951
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
7952
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
7953
+ ],
7954
+ 36: [
7955
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
7956
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
7957
+ ],
7958
+ 37: [
7959
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
7960
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
7961
+ ],
7962
+ 38: [
7963
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
7964
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
7965
+ ],
7966
+ 39: [
7967
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
7968
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
7969
+ ],
7970
+ 40: [
7971
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
7972
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
7973
+ ]
7885
7974
  };
7886
7975
  PVR_SIZE_FUNCTIONS = {
7887
7976
  0: pvrtc2bppSize,
@@ -8002,12 +8091,34 @@
8002
8091
  }
8003
8092
  });
8004
8093
 
8094
+ // src/types.ts
8095
+ var DATA_TYPE, HeaderAttributeProperty;
8096
+ var init_types = __esm({
8097
+ "src/types.ts"() {
8098
+ (function(DATA_TYPE2) {
8099
+ DATA_TYPE2["UInt8"] = "UInt8";
8100
+ DATA_TYPE2["UInt16"] = "UInt16";
8101
+ DATA_TYPE2["UInt32"] = "UInt32";
8102
+ DATA_TYPE2["UInt64"] = "UInt64";
8103
+ DATA_TYPE2["Int16"] = "Int16";
8104
+ DATA_TYPE2["Int32"] = "Int32";
8105
+ DATA_TYPE2["Int64"] = "Int64";
8106
+ DATA_TYPE2["Float32"] = "Float32";
8107
+ DATA_TYPE2["Float64"] = "Float64";
8108
+ })(DATA_TYPE || (DATA_TYPE = {}));
8109
+ (function(HeaderAttributeProperty2) {
8110
+ HeaderAttributeProperty2["vertexCount"] = "vertexCount";
8111
+ HeaderAttributeProperty2["featureCount"] = "featureCount";
8112
+ })(HeaderAttributeProperty || (HeaderAttributeProperty = {}));
8113
+ }
8114
+ });
8115
+
8005
8116
  // src/lib/utils/url-utils.ts
8006
8117
  function getUrlWithToken(url, token = null) {
8007
8118
  return token ? `${url}?token=${token}` : url;
8008
8119
  }
8009
- function generateTileAttributeUrls(tile) {
8010
- const { url, attributeData } = tile;
8120
+ function generateTileAttributeUrls(url, tile) {
8121
+ const { attributeData = [] } = tile;
8011
8122
  const attributeUrls = [];
8012
8123
  for (let index = 0; index < attributeData.length; index++) {
8013
8124
  const attributeUrl = attributeData[index].href.replace("./", "");
@@ -8652,24 +8763,6 @@
8652
8763
  }
8653
8764
  });
8654
8765
 
8655
- // src/types.ts
8656
- var DATA_TYPE;
8657
- var init_types = __esm({
8658
- "src/types.ts"() {
8659
- (function(DATA_TYPE2) {
8660
- DATA_TYPE2["UInt8"] = "UInt8";
8661
- DATA_TYPE2["UInt16"] = "UInt16";
8662
- DATA_TYPE2["UInt32"] = "UInt32";
8663
- DATA_TYPE2["UInt64"] = "UInt64";
8664
- DATA_TYPE2["Int16"] = "Int16";
8665
- DATA_TYPE2["Int32"] = "Int32";
8666
- DATA_TYPE2["Int64"] = "Int64";
8667
- DATA_TYPE2["Float32"] = "Float32";
8668
- DATA_TYPE2["Float64"] = "Float64";
8669
- })(DATA_TYPE || (DATA_TYPE = {}));
8670
- }
8671
- });
8672
-
8673
8766
  // src/lib/parsers/constants.ts
8674
8767
  function getConstructorForDataFormat(dataType) {
8675
8768
  switch (dataType) {
@@ -8684,7 +8777,7 @@
8684
8777
  case DATA_TYPE.UInt64:
8685
8778
  return Float64Array;
8686
8779
  default:
8687
- return null;
8780
+ throw new Error(`parse i3s tile content: unknown type of data: ${dataType}`);
8688
8781
  }
8689
8782
  }
8690
8783
  function sizeOf(dataType) {
@@ -8703,10 +8796,10 @@
8703
8796
  case DATA_TYPE.Float64:
8704
8797
  return 8;
8705
8798
  default:
8706
- return NaN;
8799
+ throw new Error(`parse i3s tile content: unknown size of data: ${dataType}`);
8707
8800
  }
8708
8801
  }
8709
- var GL_TYPE_MAP, I3S_NAMED_VERTEX_ATTRIBUTES, I3S_NAMED_GEOMETRY_ATTRIBUTES, I3S_NAMED_HEADER_ATTRIBUTES, STRING_ATTRIBUTE_TYPE, OBJECT_ID_ATTRIBUTE_TYPE, FLOAT_64_TYPE, INT_16_ATTRIBUTE_TYPE, COORDINATE_SYSTEM;
8802
+ var GL_TYPE_MAP, STRING_ATTRIBUTE_TYPE, OBJECT_ID_ATTRIBUTE_TYPE, FLOAT_64_TYPE, INT_16_ATTRIBUTE_TYPE, COORDINATE_SYSTEM;
8710
8803
  var init_constants2 = __esm({
8711
8804
  "src/lib/parsers/constants.ts"() {
8712
8805
  init_esm5();
@@ -8718,22 +8811,6 @@
8718
8811
  UInt32: esm_default2.UNSIGNED_INT,
8719
8812
  UInt64: esm_default2.DOUBLE
8720
8813
  };
8721
- I3S_NAMED_VERTEX_ATTRIBUTES = {
8722
- position: "position",
8723
- normal: "normal",
8724
- uv0: "uv0",
8725
- color: "color",
8726
- region: "region"
8727
- };
8728
- I3S_NAMED_GEOMETRY_ATTRIBUTES = {
8729
- vertexAttributes: "vertexAttributes",
8730
- featureAttributeOrder: "featureAttributeOrder",
8731
- featureAttributes: "featureAttributes"
8732
- };
8733
- I3S_NAMED_HEADER_ATTRIBUTES = {
8734
- vertexCount: "vertexCount",
8735
- featureCount: "featureCount"
8736
- };
8737
8814
  STRING_ATTRIBUTE_TYPE = "String";
8738
8815
  OBJECT_ID_ATTRIBUTE_TYPE = "Oid32";
8739
8816
  FLOAT_64_TYPE = "Float64";
@@ -8751,26 +8828,24 @@
8751
8828
  // src/lib/parsers/parse-i3s-tile-content.ts
8752
8829
  function getLoaderForTextureFormat(textureFormat) {
8753
8830
  switch (textureFormat) {
8754
- case "jpeg":
8755
- case "png":
8756
- return ImageLoader;
8757
8831
  case "ktx-etc2":
8758
8832
  case "dds":
8759
8833
  return CompressedTextureLoader;
8760
8834
  case "ktx2":
8761
8835
  return BasisLoader;
8836
+ case "jpg":
8837
+ case "png":
8762
8838
  default:
8763
- return null;
8839
+ return ImageLoader;
8764
8840
  }
8765
8841
  }
8766
8842
  async function parseI3STileContent(arrayBuffer, tile, tileset, options, context) {
8767
8843
  tile.content = tile.content || {};
8768
8844
  tile.content.featureIds = tile.content.featureIds || null;
8769
- tile.content.featureData = constructFeatureDataStruct(tileset);
8770
8845
  tile.content.attributes = {};
8771
8846
  if (tile.textureUrl) {
8772
8847
  const url = getUrlWithToken(tile.textureUrl, options?.i3s?.token);
8773
- const loader = getLoaderForTextureFormat(tile.textureFormat) || ImageLoader;
8848
+ const loader = getLoaderForTextureFormat(tile.textureFormat);
8774
8849
  const response = await fetch(url);
8775
8850
  const arrayBuffer2 = await response.arrayBuffer();
8776
8851
  if (options?.i3s.decodeTextures) {
@@ -8799,9 +8874,9 @@
8799
8874
  if (tile.content.material) {
8800
8875
  tile.content.texture = null;
8801
8876
  }
8802
- return await parseI3SNodeGeometry(arrayBuffer, tile, options);
8877
+ return await parseI3SNodeGeometry(arrayBuffer, tile, tileset, options);
8803
8878
  }
8804
- async function parseI3SNodeGeometry(arrayBuffer, tile, options) {
8879
+ async function parseI3SNodeGeometry(arrayBuffer, tile, tileset, options) {
8805
8880
  if (!tile.content) {
8806
8881
  return tile;
8807
8882
  }
@@ -8810,6 +8885,7 @@
8810
8885
  let vertexCount;
8811
8886
  let byteOffset = 0;
8812
8887
  let featureCount = 0;
8888
+ let indices;
8813
8889
  if (tile.isDracoGeometry) {
8814
8890
  const decompressedGeometry = await parse(arrayBuffer, DracoLoader2, {
8815
8891
  draco: {
@@ -8817,7 +8893,7 @@
8817
8893
  }
8818
8894
  });
8819
8895
  vertexCount = decompressedGeometry.header.vertexCount;
8820
- const indices = decompressedGeometry.indices.value;
8896
+ indices = decompressedGeometry.indices?.value;
8821
8897
  const {
8822
8898
  POSITION,
8823
8899
  NORMAL,
@@ -8832,8 +8908,7 @@
8832
8908
  color: COLOR_0,
8833
8909
  uv0: TEXCOORD_0,
8834
8910
  uvRegion,
8835
- id: featureIndex,
8836
- indices
8911
+ id: featureIndex
8837
8912
  };
8838
8913
  updateAttributesMetadata(attributes, decompressedGeometry);
8839
8914
  const featureIds = getFeatureIdsFromFeatureIndexMetadata(featureIndex);
@@ -8841,8 +8916,13 @@
8841
8916
  flattenFeatureIdsByFeatureIndices(attributes, featureIds);
8842
8917
  }
8843
8918
  } else {
8844
- const { vertexAttributes, attributesOrder, featureAttributes, featureAttributeOrder } = content.featureData;
8845
- const headers = parseHeaders(content, arrayBuffer);
8919
+ const {
8920
+ vertexAttributes,
8921
+ ordering: attributesOrder,
8922
+ featureAttributes,
8923
+ featureAttributeOrder
8924
+ } = tileset.store.defaultGeometrySchema;
8925
+ const headers = parseHeaders(tileset, arrayBuffer);
8846
8926
  byteOffset = headers.byteOffset;
8847
8927
  vertexCount = headers.vertexCount;
8848
8928
  featureCount = headers.featureCount;
@@ -8866,7 +8946,7 @@
8866
8946
  texCoords: attributes.uv0,
8867
8947
  uvRegions: normalizeAttribute(attributes.uvRegion)
8868
8948
  };
8869
- content.indices = attributes.indices || null;
8949
+ content.indices = indices || null;
8870
8950
  if (attributes.id && attributes.id.value) {
8871
8951
  tile.content.featureIds = attributes.id.value;
8872
8952
  }
@@ -8904,41 +8984,25 @@
8904
8984
  attribute.normalized = true;
8905
8985
  return attribute;
8906
8986
  }
8907
- function constructFeatureDataStruct(tileset) {
8908
- const defaultGeometrySchema = tileset.store.defaultGeometrySchema;
8909
- const featureData = defaultGeometrySchema;
8910
- for (const geometryAttribute in I3S_NAMED_GEOMETRY_ATTRIBUTES) {
8911
- for (const namedAttribute in I3S_NAMED_VERTEX_ATTRIBUTES) {
8912
- const attribute = defaultGeometrySchema[geometryAttribute][namedAttribute];
8913
- if (attribute) {
8914
- const { byteOffset = 0, count = 0, valueType, valuesPerElement } = attribute;
8915
- featureData[geometryAttribute][namedAttribute] = {
8916
- valueType,
8917
- valuesPerElement,
8918
- byteOffset,
8919
- count
8920
- };
8921
- }
8922
- }
8923
- }
8924
- featureData.attributesOrder = defaultGeometrySchema.ordering;
8925
- return featureData;
8926
- }
8927
- function parseHeaders(content, arrayBuffer) {
8987
+ function parseHeaders(tileset, arrayBuffer) {
8928
8988
  let byteOffset = 0;
8929
8989
  let vertexCount = 0;
8930
8990
  let featureCount = 0;
8931
- content.featureData.header.forEach(({ property, type }) => {
8991
+ for (const { property, type } of tileset.store.defaultGeometrySchema.header) {
8932
8992
  const TypedArrayTypeHeader = getConstructorForDataFormat(type);
8933
- if (property === I3S_NAMED_HEADER_ATTRIBUTES.vertexCount) {
8934
- vertexCount = new TypedArrayTypeHeader(arrayBuffer, 0, 4)[0];
8935
- byteOffset += sizeOf(type);
8936
- }
8937
- if (property === I3S_NAMED_HEADER_ATTRIBUTES.featureCount) {
8938
- featureCount = new TypedArrayTypeHeader(arrayBuffer, 4, 4)[0];
8939
- byteOffset += sizeOf(type);
8993
+ switch (property) {
8994
+ case HeaderAttributeProperty.vertexCount:
8995
+ vertexCount = new TypedArrayTypeHeader(arrayBuffer, 0, 4)[0];
8996
+ byteOffset += sizeOf(type);
8997
+ break;
8998
+ case HeaderAttributeProperty.featureCount:
8999
+ featureCount = new TypedArrayTypeHeader(arrayBuffer, 4, 4)[0];
9000
+ byteOffset += sizeOf(type);
9001
+ break;
9002
+ default:
9003
+ break;
8940
9004
  }
8941
- });
9005
+ }
8942
9006
  return {
8943
9007
  vertexCount,
8944
9008
  featureCount,
@@ -8955,7 +9019,7 @@
8955
9019
  break;
8956
9020
  }
8957
9021
  const buffer = arrayBuffer.slice(byteOffset);
8958
- let value = [];
9022
+ let value;
8959
9023
  if (valueType === "UInt64") {
8960
9024
  value = parseUint64Values(buffer, count * valuesPerElement, sizeOf(valueType));
8961
9025
  } else {
@@ -8992,7 +9056,7 @@
8992
9056
  values.push(value);
8993
9057
  offset += attributeSize;
8994
9058
  }
8995
- return values;
9059
+ return new Uint32Array(values);
8996
9060
  }
8997
9061
  function parsePositions(attribute, tile) {
8998
9062
  const mbs = tile.mbs;
@@ -9059,7 +9123,9 @@
9059
9123
  if (pbrMaterial.pbrMetallicRoughness && pbrMaterial.pbrMetallicRoughness.baseColorFactor) {
9060
9124
  pbrMaterial.pbrMetallicRoughness.baseColorFactor = convertColorFormat(pbrMaterial.pbrMetallicRoughness.baseColorFactor);
9061
9125
  }
9062
- setMaterialTexture(pbrMaterial, texture);
9126
+ if (texture) {
9127
+ setMaterialTexture(pbrMaterial, texture);
9128
+ }
9063
9129
  return pbrMaterial;
9064
9130
  }
9065
9131
  function convertColorFormat(colorFactor) {
@@ -9121,7 +9187,7 @@
9121
9187
  attributes.id.value = result;
9122
9188
  }
9123
9189
  function getFeatureIdsFromFeatureIndexMetadata(featureIndex) {
9124
- return featureIndex && featureIndex.metadata && featureIndex.metadata["i3s-feature-ids"] && featureIndex.metadata["i3s-feature-ids"].intArray;
9190
+ return featureIndex?.metadata?.["i3s-feature-ids"]?.intArray;
9125
9191
  }
9126
9192
  var scratchVector5, I3S_ATTRIBUTE_TYPE;
9127
9193
  var init_parse_i3s_tile_content = __esm({
@@ -9132,6 +9198,7 @@
9132
9198
  init_src4();
9133
9199
  init_src6();
9134
9200
  init_src7();
9201
+ init_types();
9135
9202
  init_url_utils();
9136
9203
  init_constants2();
9137
9204
  scratchVector5 = new Vector3([0, 0, 0]);
@@ -9149,7 +9216,7 @@
9149
9216
  var init_i3s_content_loader = __esm({
9150
9217
  "src/i3s-content-loader.ts"() {
9151
9218
  init_parse_i3s_tile_content();
9152
- VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
9219
+ VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
9153
9220
  I3SContentLoader = {
9154
9221
  name: "I3S Content (Indexed Scene Layers)",
9155
9222
  id: "i3s-content",
@@ -9709,8 +9776,8 @@
9709
9776
  this.textureDefinitionsSelectedFormats = [];
9710
9777
  this.textureLoaderOptions = {};
9711
9778
  this.tileset = { ...tileset };
9712
- this.nodesPerPage = tileset.nodePages.nodesPerPage;
9713
- this.lodSelectionMetricType = tileset.nodePages.lodSelectionMetricType;
9779
+ this.nodesPerPage = tileset.nodePages?.nodesPerPage || 64;
9780
+ this.lodSelectionMetricType = tileset.nodePages?.lodSelectionMetricType;
9714
9781
  this.options = options;
9715
9782
  this.initSelectedFormatsForTextureDefinitions(tileset);
9716
9783
  }
@@ -9737,21 +9804,21 @@
9737
9804
  for (const child of node2.children || []) {
9738
9805
  const childNode = await this.getNodeById(child);
9739
9806
  children.push({
9740
- id: child,
9807
+ id: child.toString(),
9741
9808
  obb: childNode.obb
9742
9809
  });
9743
9810
  }
9744
- let contentUrl = null;
9745
- let textureUrl = null;
9746
- let materialDefinition = null;
9747
- let textureFormat = "jpeg";
9811
+ let contentUrl;
9812
+ let textureUrl;
9813
+ let materialDefinition;
9814
+ let textureFormat = "jpg";
9748
9815
  let attributeUrls = [];
9749
9816
  let isDracoGeometry = false;
9750
9817
  if (node2 && node2.mesh) {
9751
- const { url, isDracoGeometry: isDracoGeometryResult } = node2.mesh.geometry && this.getContentUrl(node2.mesh.geometry) || { url: null, isDracoGeometry: null };
9818
+ const { url, isDracoGeometry: isDracoGeometryResult } = node2.mesh.geometry && this.getContentUrl(node2.mesh.geometry) || { isDracoGeometry: false };
9752
9819
  contentUrl = url;
9753
9820
  isDracoGeometry = isDracoGeometryResult;
9754
- const [textureData, nodeMaterialDefinition] = this.getInformationFromMaterial(node2.mesh.material);
9821
+ const { textureData, materialDefinition: nodeMaterialDefinition } = this.getInformationFromMaterial(node2.mesh.material);
9755
9822
  materialDefinition = nodeMaterialDefinition;
9756
9823
  textureFormat = textureData.format || textureFormat;
9757
9824
  if (textureData.name) {
@@ -9763,7 +9830,7 @@
9763
9830
  }
9764
9831
  const lodSelection = this.getLodSelection(node2);
9765
9832
  return normalizeTileNonUrlData({
9766
- id,
9833
+ id: id.toString(),
9767
9834
  lodSelection,
9768
9835
  obb: node2.obb,
9769
9836
  contentUrl,
@@ -9777,7 +9844,7 @@
9777
9844
  });
9778
9845
  }
9779
9846
  getContentUrl(meshGeometryData) {
9780
- let result = {};
9847
+ let result = null;
9781
9848
  const geometryDefinition = this.tileset.geometryDefinitions[meshGeometryData.definition];
9782
9849
  let geometryIndex = -1;
9783
9850
  if (this.options.i3s && this.options.i3s.useDracoGeometry) {
@@ -9810,17 +9877,18 @@
9810
9877
  return lodSelection;
9811
9878
  }
9812
9879
  getInformationFromMaterial(material) {
9813
- const textureDataDefault = { name: null, format: null };
9880
+ const informationFromMaterial = { textureData: { name: null } };
9814
9881
  if (material) {
9815
- const materialDefinition = this.tileset.materialDefinitions[material.definition];
9816
- const textureSetDefinitionIndex = materialDefinition && materialDefinition.pbrMetallicRoughness && materialDefinition.pbrMetallicRoughness.baseColorTexture && materialDefinition.pbrMetallicRoughness.baseColorTexture.textureSetDefinitionId;
9817
- if (textureSetDefinitionIndex || textureSetDefinitionIndex === 0) {
9818
- const textureData = this.textureDefinitionsSelectedFormats[textureSetDefinitionIndex] || textureDataDefault;
9819
- return [textureData, materialDefinition];
9882
+ const materialDefinition = this.tileset.materialDefinitions?.[material.definition];
9883
+ if (materialDefinition) {
9884
+ informationFromMaterial.materialDefinition = materialDefinition;
9885
+ const textureSetDefinitionIndex = materialDefinition?.pbrMetallicRoughness?.baseColorTexture?.textureSetDefinitionId;
9886
+ if (typeof textureSetDefinitionIndex === "number") {
9887
+ informationFromMaterial.textureData = this.textureDefinitionsSelectedFormats[textureSetDefinitionIndex] || informationFromMaterial.textureData;
9888
+ }
9820
9889
  }
9821
- return [textureDataDefault, materialDefinition];
9822
9890
  }
9823
- return [textureDataDefault, null];
9891
+ return informationFromMaterial;
9824
9892
  }
9825
9893
  initSelectedFormatsForTextureDefinitions(tileset) {
9826
9894
  this.textureDefinitionsSelectedFormats = [];
@@ -9868,49 +9936,54 @@
9868
9936
 
9869
9937
  // src/lib/parsers/parse-i3s.ts
9870
9938
  function normalizeTileData(tile, options, context) {
9871
- tile.url = context.url;
9872
- if (tile.featureData) {
9873
- tile.featureUrl = `${tile.url}/${tile.featureData[0].href}`;
9874
- }
9939
+ const url = context.url || "";
9940
+ let contentUrl;
9875
9941
  if (tile.geometryData) {
9876
- tile.contentUrl = `${tile.url}/${tile.geometryData[0].href}`;
9942
+ contentUrl = `${url}/${tile.geometryData[0].href}`;
9877
9943
  }
9944
+ let textureUrl;
9878
9945
  if (tile.textureData) {
9879
- tile.textureUrl = `${tile.url}/${tile.textureData[0].href}`;
9946
+ textureUrl = `${url}/${tile.textureData[0].href}`;
9880
9947
  }
9948
+ let attributeUrls;
9881
9949
  if (tile.attributeData) {
9882
- tile.attributeUrls = generateTileAttributeUrls(tile);
9883
- }
9884
- return normalizeTileNonUrlData(tile);
9950
+ attributeUrls = generateTileAttributeUrls(url, tile);
9951
+ }
9952
+ return normalizeTileNonUrlData({
9953
+ ...tile,
9954
+ url,
9955
+ contentUrl,
9956
+ textureUrl,
9957
+ attributeUrls,
9958
+ isDracoGeometry: false
9959
+ });
9885
9960
  }
9886
9961
  function normalizeTileNonUrlData(tile) {
9887
- const box = tile.obb ? [
9888
- ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center),
9889
- ...tile.obb.halfSize,
9890
- ...tile.obb.quaternion
9891
- ] : void 0;
9892
- let sphere;
9962
+ const boundingVolume = {};
9963
+ let mbs = [0, 0, 0, 1];
9893
9964
  if (tile.mbs) {
9894
- sphere = [
9965
+ mbs = tile.mbs;
9966
+ boundingVolume.sphere = [
9895
9967
  ...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)),
9896
9968
  tile.mbs[3]
9897
9969
  ];
9898
- } else if (box) {
9899
- const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(box.slice(0, 3), tile.obb.halfSize, tile.obb.quaternion);
9970
+ } else if (tile.obb) {
9971
+ boundingVolume.box = [
9972
+ ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center),
9973
+ ...tile.obb.halfSize,
9974
+ ...tile.obb.quaternion
9975
+ ];
9976
+ const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(boundingVolume.box.slice(0, 3), tile.obb.halfSize, tile.obb.quaternion);
9900
9977
  const boundingSphere = obb.getBoundingSphere();
9901
- sphere = [...boundingSphere.center, boundingSphere.radius];
9902
- tile.mbs = [...tile.obb.center, boundingSphere.radius];
9978
+ boundingVolume.sphere = [...boundingSphere.center, boundingSphere.radius];
9979
+ mbs = [...tile.obb.center, boundingSphere.radius];
9903
9980
  }
9904
- tile.boundingVolume = {
9905
- sphere,
9906
- box
9907
- };
9908
- tile.lodMetricType = tile.lodSelection[0].metricType;
9909
- tile.lodMetricValue = tile.lodSelection[0].maxError;
9910
- tile.transformMatrix = tile.transform;
9911
- tile.type = TILE_TYPE.MESH;
9912
- tile.refine = TILE_REFINEMENT.REPLACE;
9913
- return tile;
9981
+ const lodMetricType = tile.lodSelection?.[0].metricType;
9982
+ const lodMetricValue = tile.lodSelection?.[0].maxError;
9983
+ const transformMatrix = tile.transform;
9984
+ const type = TILE_TYPE.MESH;
9985
+ const refine = TILE_REFINEMENT.REPLACE;
9986
+ return { ...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, transformMatrix, type, refine };
9914
9987
  }
9915
9988
  async function normalizeTilesetData(tileset, options, context) {
9916
9989
  tileset.url = context.url;
@@ -10252,7 +10325,7 @@
10252
10325
  var init_i3s_building_scene_layer_loader = __esm({
10253
10326
  "src/i3s-building-scene-layer-loader.ts"() {
10254
10327
  init_parse_i3s_building_scene_layer();
10255
- VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
10328
+ VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
10256
10329
  I3SBuildingSceneLayerLoader = {
10257
10330
  name: "I3S Building Scene Layer",
10258
10331
  id: "i3s-building-scene-layer",