@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
@@ -1,11 +1,36 @@
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 });
9
+ var __commonJS = (cb, mod) => function __require() {
10
+ return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
11
+ };
4
12
  var __export = (target, all) => {
5
13
  __markAsModule(target);
6
14
  for (var name in all)
7
15
  __defProp(target, name, { get: all[name], enumerable: true });
8
16
  };
17
+ var __reExport = (target, module2, desc) => {
18
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
19
+ for (let key of __getOwnPropNames(module2))
20
+ if (!__hasOwnProp.call(target, key) && key !== "default")
21
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
22
+ }
23
+ return target;
24
+ };
25
+ var __toModule = (module2) => {
26
+ 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);
27
+ };
28
+
29
+ // (disabled):../worker-utils/src/lib/node/require-utils.node
30
+ var require_require_utils = __commonJS({
31
+ "(disabled):../worker-utils/src/lib/node/require-utils.node"() {
32
+ }
33
+ });
9
34
 
10
35
  // ../loader-utils/src/lib/env-utils/assert.ts
11
36
  function assert(condition, message) {
@@ -30,7 +55,7 @@
30
55
  var nodeVersion = matches && parseFloat(matches[1]) || 0;
31
56
 
32
57
  // ../worker-utils/src/lib/env-utils/version.ts
33
- var DEFAULT_VERSION = "beta";
58
+ var DEFAULT_VERSION = "latest";
34
59
  var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
35
60
  if (typeof __VERSION__ === "undefined") {
36
61
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
@@ -434,11 +459,14 @@
434
459
  }
435
460
 
436
461
  // ../worker-utils/src/lib/worker-api/get-worker-url.ts
437
- var NPM_TAG = "beta";
462
+ var NPM_TAG = "latest";
438
463
  function getWorkerURL(worker, options = {}) {
439
464
  const workerOptions = options[worker.id] || {};
440
465
  const workerFile = `${worker.id}-worker.js`;
441
466
  let url = workerOptions.workerUrl;
467
+ if (!url && worker.id === "compression") {
468
+ url = options.workerUrl;
469
+ }
442
470
  if (options._workerType === "test") {
443
471
  url = `modules/${worker.module}/dist/${workerFile}`;
444
472
  }
@@ -465,7 +493,8 @@
465
493
  }
466
494
 
467
495
  // ../worker-utils/src/lib/library-utils/library-utils.ts
468
- var LATEST = "beta";
496
+ var node = __toModule(require_require_utils());
497
+ var LATEST = "latest";
469
498
  var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
470
499
  var loadLibraryPromises = {};
471
500
  async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
@@ -501,7 +530,11 @@
501
530
  return await response2.arrayBuffer();
502
531
  }
503
532
  if (!isBrowser2) {
504
- return node.requireFromFile && await node.requireFromFile(libraryUrl);
533
+ try {
534
+ return node && node.requireFromFile && await node.requireFromFile(libraryUrl);
535
+ } catch {
536
+ return null;
537
+ }
505
538
  }
506
539
  if (isWorker) {
507
540
  return importScripts(libraryUrl);
@@ -1104,7 +1137,7 @@
1104
1137
  }
1105
1138
 
1106
1139
  // ../../node_modules/probe.gl/dist/esm/utils/hi-res-timestamp.js
1107
- function getHiResTimestamp2() {
1140
+ function getHiResTimestamp() {
1108
1141
  let timestamp;
1109
1142
  if (isBrowser4 && window_3.performance) {
1110
1143
  timestamp = window_3.performance.now();
@@ -1151,8 +1184,8 @@
1151
1184
  }) {
1152
1185
  this.id = id;
1153
1186
  this.VERSION = VERSION3;
1154
- this._startTs = getHiResTimestamp2();
1155
- this._deltaTs = getHiResTimestamp2();
1187
+ this._startTs = getHiResTimestamp();
1188
+ this._deltaTs = getHiResTimestamp();
1156
1189
  this.LOG_THROTTLE_TIMEOUT = 0;
1157
1190
  this._storage = new LocalStorage("__probe-".concat(this.id, "__"), DEFAULT_SETTINGS);
1158
1191
  this.userData = {};
@@ -1173,10 +1206,10 @@
1173
1206
  return this._storage.config.level;
1174
1207
  }
1175
1208
  getTotal() {
1176
- return Number((getHiResTimestamp2() - this._startTs).toPrecision(10));
1209
+ return Number((getHiResTimestamp() - this._startTs).toPrecision(10));
1177
1210
  }
1178
1211
  getDelta() {
1179
- return Number((getHiResTimestamp2() - this._deltaTs).toPrecision(10));
1212
+ return Number((getHiResTimestamp() - this._deltaTs).toPrecision(10));
1180
1213
  }
1181
1214
  set priority(newPriority) {
1182
1215
  this.level = newPriority;
@@ -1331,11 +1364,11 @@
1331
1364
  assert3(method);
1332
1365
  opts.total = this.getTotal();
1333
1366
  opts.delta = this.getDelta();
1334
- this._deltaTs = getHiResTimestamp2();
1367
+ this._deltaTs = getHiResTimestamp();
1335
1368
  const tag = opts.tag || opts.message;
1336
1369
  if (opts.once) {
1337
1370
  if (!cache[tag]) {
1338
- cache[tag] = getHiResTimestamp2();
1371
+ cache[tag] = getHiResTimestamp();
1339
1372
  } else {
1340
1373
  return noop;
1341
1374
  }
@@ -5604,7 +5637,7 @@
5604
5637
  }
5605
5638
 
5606
5639
  // ../textures/src/lib/utils/version.ts
5607
- var VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
5640
+ var VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
5608
5641
 
5609
5642
  // ../textures/src/lib/parsers/basis-module-loader.ts
5610
5643
  var VERSION7 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
@@ -5675,8 +5708,8 @@
5675
5708
  });
5676
5709
  }
5677
5710
 
5678
- // ../textures/src/lib/gl-constants.ts
5679
- var GL = {
5711
+ // ../textures/src/lib/gl-extensions.ts
5712
+ var GL_EXTENSIONS_CONSTANTS = {
5680
5713
  COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
5681
5714
  COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
5682
5715
  COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
@@ -5908,72 +5941,72 @@
5908
5941
 
5909
5942
  // ../textures/src/lib/utils/ktx-format-helper.ts
5910
5943
  var VULKAN_TO_WEBGL_FORMAT_MAP = {
5911
- 131: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,
5912
- 132: GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,
5913
- 133: GL.COMPRESSED_RGBA_S3TC_DXT1_EXT,
5914
- 134: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
5915
- 135: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,
5916
- 136: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
5917
- 137: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,
5918
- 138: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
5919
- 139: GL.COMPRESSED_RED_RGTC1_EXT,
5920
- 140: GL.COMPRESSED_SIGNED_RED_RGTC1_EXT,
5921
- 141: GL.COMPRESSED_RED_GREEN_RGTC2_EXT,
5922
- 142: GL.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
5923
- 147: GL.COMPRESSED_RGB8_ETC2,
5924
- 148: GL.COMPRESSED_SRGB8_ETC2,
5925
- 149: GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
5926
- 150: GL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
5927
- 151: GL.COMPRESSED_RGBA8_ETC2_EAC,
5928
- 152: GL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
5929
- 153: GL.COMPRESSED_R11_EAC,
5930
- 154: GL.COMPRESSED_SIGNED_R11_EAC,
5931
- 155: GL.COMPRESSED_RG11_EAC,
5932
- 156: GL.COMPRESSED_SIGNED_RG11_EAC,
5933
- 157: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,
5934
- 158: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
5935
- 159: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,
5936
- 160: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
5937
- 161: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,
5938
- 162: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
5939
- 163: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,
5940
- 164: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
5941
- 165: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,
5942
- 166: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
5943
- 167: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,
5944
- 168: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
5945
- 169: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,
5946
- 170: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
5947
- 171: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,
5948
- 172: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
5949
- 173: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,
5950
- 174: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
5951
- 175: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,
5952
- 176: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
5953
- 177: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,
5954
- 178: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
5955
- 179: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
5956
- 180: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
5957
- 181: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,
5958
- 182: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
5959
- 183: GL.COMPRESSED_RGBA_ASTC_12x12_KHR,
5960
- 184: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
5961
- 1000054e3: GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
5962
- 1000054001: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
5963
- 1000066e3: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,
5964
- 1000066001: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,
5965
- 1000066002: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,
5966
- 1000066003: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,
5967
- 1000066004: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,
5968
- 1000066005: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,
5969
- 1000066006: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,
5970
- 1000066007: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,
5971
- 1000066008: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,
5972
- 1000066009: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,
5973
- 1000066010: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,
5974
- 1000066011: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
5975
- 1000066012: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,
5976
- 1000066013: GL.COMPRESSED_RGBA_ASTC_12x12_KHR
5944
+ 131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
5945
+ 132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
5946
+ 133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
5947
+ 134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
5948
+ 135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
5949
+ 136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
5950
+ 137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
5951
+ 138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
5952
+ 139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
5953
+ 140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
5954
+ 141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
5955
+ 142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
5956
+ 147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
5957
+ 148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
5958
+ 149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
5959
+ 150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
5960
+ 151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
5961
+ 152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
5962
+ 153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
5963
+ 154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
5964
+ 155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
5965
+ 156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
5966
+ 157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
5967
+ 158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
5968
+ 159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
5969
+ 160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
5970
+ 161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
5971
+ 162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
5972
+ 163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
5973
+ 164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
5974
+ 165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
5975
+ 166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
5976
+ 167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
5977
+ 168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
5978
+ 169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
5979
+ 170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
5980
+ 171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
5981
+ 172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
5982
+ 173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
5983
+ 174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
5984
+ 175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
5985
+ 176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
5986
+ 177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
5987
+ 178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
5988
+ 179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
5989
+ 180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
5990
+ 181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
5991
+ 182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
5992
+ 183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
5993
+ 184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
5994
+ 1000054e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
5995
+ 1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
5996
+ 1000066e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
5997
+ 1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
5998
+ 1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
5999
+ 1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
6000
+ 1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
6001
+ 1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
6002
+ 1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
6003
+ 1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
6004
+ 1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
6005
+ 1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
6006
+ 1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
6007
+ 1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
6008
+ 1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
6009
+ 1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
5977
6010
  };
5978
6011
  function mapVkFormatToWebGL(vkFormat) {
5979
6012
  return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];
@@ -6015,19 +6048,43 @@
6015
6048
  });
6016
6049
  }
6017
6050
 
6018
- // ../textures/src/lib/parsers/parse-basis.js
6051
+ // ../textures/src/lib/parsers/parse-basis.ts
6019
6052
  var OutputFormat = {
6020
- etc1: { basisFormat: 0, compressed: true, format: GL.COMPRESSED_RGB_ETC1_WEBGL },
6053
+ etc1: {
6054
+ basisFormat: 0,
6055
+ compressed: true,
6056
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
6057
+ },
6021
6058
  etc2: { basisFormat: 1, compressed: true },
6022
- bc1: { basisFormat: 2, compressed: true, format: GL.COMPRESSED_RGB_S3TC_DXT1_EXT },
6023
- bc3: { basisFormat: 3, compressed: true, format: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT },
6059
+ bc1: {
6060
+ basisFormat: 2,
6061
+ compressed: true,
6062
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT
6063
+ },
6064
+ bc3: {
6065
+ basisFormat: 3,
6066
+ compressed: true,
6067
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
6068
+ },
6024
6069
  bc4: { basisFormat: 4, compressed: true },
6025
6070
  bc5: { basisFormat: 5, compressed: true },
6026
6071
  "bc7-m6-opaque-only": { basisFormat: 6, compressed: true },
6027
6072
  "bc7-m5": { basisFormat: 7, compressed: true },
6028
- "pvrtc1-4-rgb": { basisFormat: 8, compressed: true, format: GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG },
6029
- "pvrtc1-4-rgba": { basisFormat: 9, compressed: true, format: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG },
6030
- "astc-4x4": { basisFormat: 10, compressed: true, format: GL.COMPRESSED_RGBA_ASTC_4X4_KHR },
6073
+ "pvrtc1-4-rgb": {
6074
+ basisFormat: 8,
6075
+ compressed: true,
6076
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
6077
+ },
6078
+ "pvrtc1-4-rgba": {
6079
+ basisFormat: 9,
6080
+ compressed: true,
6081
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
6082
+ },
6083
+ "astc-4x4": {
6084
+ basisFormat: 10,
6085
+ compressed: true,
6086
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
6087
+ },
6031
6088
  "atc-rgb": { basisFormat: 11, compressed: true },
6032
6089
  "atc-rgba-interpolated-alpha": { basisFormat: 12, compressed: true },
6033
6090
  rgba32: { basisFormat: 13, compressed: false },
@@ -6210,12 +6267,12 @@
6210
6267
  DDPF_FOURCC: 4
6211
6268
  };
6212
6269
  var DDS_PIXEL_FORMATS = {
6213
- DXT1: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,
6214
- DXT3: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,
6215
- DXT5: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,
6216
- "ATC ": GL.COMPRESSED_RGB_ATC_WEBGL,
6217
- ATCA: GL.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
6218
- ATCI: GL.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
6270
+ DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
6271
+ DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
6272
+ DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
6273
+ "ATC ": GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
6274
+ ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
6275
+ ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
6219
6276
  };
6220
6277
  var getATCLevelSize = getDxt1LevelSize;
6221
6278
  var getATCALevelSize = getDxtXLevelSize;
@@ -6282,33 +6339,75 @@
6282
6339
  METADATA_SIZE_INDEX: 12
6283
6340
  };
6284
6341
  var PVR_PIXEL_FORMATS = {
6285
- 0: [GL.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
6286
- 1: [GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
6287
- 2: [GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
6288
- 3: [GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
6289
- 6: [GL.COMPRESSED_RGB_ETC1_WEBGL],
6290
- 7: [GL.COMPRESSED_RGB_S3TC_DXT1_EXT],
6291
- 9: [GL.COMPRESSED_RGBA_S3TC_DXT3_EXT],
6292
- 11: [GL.COMPRESSED_RGBA_S3TC_DXT5_EXT],
6293
- 22: [GL.COMPRESSED_RGB8_ETC2],
6294
- 23: [GL.COMPRESSED_RGBA8_ETC2_EAC],
6295
- 24: [GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
6296
- 25: [GL.COMPRESSED_R11_EAC],
6297
- 26: [GL.COMPRESSED_RG11_EAC],
6298
- 27: [GL.COMPRESSED_RGBA_ASTC_4X4_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],
6299
- 28: [GL.COMPRESSED_RGBA_ASTC_5X4_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],
6300
- 29: [GL.COMPRESSED_RGBA_ASTC_5X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],
6301
- 30: [GL.COMPRESSED_RGBA_ASTC_6X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],
6302
- 31: [GL.COMPRESSED_RGBA_ASTC_6X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],
6303
- 32: [GL.COMPRESSED_RGBA_ASTC_8X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],
6304
- 33: [GL.COMPRESSED_RGBA_ASTC_8X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],
6305
- 34: [GL.COMPRESSED_RGBA_ASTC_8X8_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],
6306
- 35: [GL.COMPRESSED_RGBA_ASTC_10X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],
6307
- 36: [GL.COMPRESSED_RGBA_ASTC_10X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],
6308
- 37: [GL.COMPRESSED_RGBA_ASTC_10X8_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],
6309
- 38: [GL.COMPRESSED_RGBA_ASTC_10X10_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],
6310
- 39: [GL.COMPRESSED_RGBA_ASTC_12X10_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],
6311
- 40: [GL.COMPRESSED_RGBA_ASTC_12X12_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]
6342
+ 0: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
6343
+ 1: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
6344
+ 2: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
6345
+ 3: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
6346
+ 6: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],
6347
+ 7: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],
6348
+ 9: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],
6349
+ 11: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],
6350
+ 22: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],
6351
+ 23: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],
6352
+ 24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
6353
+ 25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
6354
+ 26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
6355
+ 27: [
6356
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,
6357
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR
6358
+ ],
6359
+ 28: [
6360
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,
6361
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR
6362
+ ],
6363
+ 29: [
6364
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,
6365
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR
6366
+ ],
6367
+ 30: [
6368
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,
6369
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
6370
+ ],
6371
+ 31: [
6372
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
6373
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
6374
+ ],
6375
+ 32: [
6376
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
6377
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
6378
+ ],
6379
+ 33: [
6380
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
6381
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
6382
+ ],
6383
+ 34: [
6384
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
6385
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
6386
+ ],
6387
+ 35: [
6388
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
6389
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
6390
+ ],
6391
+ 36: [
6392
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
6393
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
6394
+ ],
6395
+ 37: [
6396
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
6397
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
6398
+ ],
6399
+ 38: [
6400
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
6401
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
6402
+ ],
6403
+ 39: [
6404
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
6405
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
6406
+ ],
6407
+ 40: [
6408
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
6409
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
6410
+ ]
6312
6411
  };
6313
6412
  var PVR_SIZE_FUNCTIONS = {
6314
6413
  0: pvrtc2bppSize,
@@ -6482,6 +6581,25 @@
6482
6581
  }
6483
6582
  };
6484
6583
 
6584
+ // src/types.ts
6585
+ var DATA_TYPE;
6586
+ (function(DATA_TYPE2) {
6587
+ DATA_TYPE2["UInt8"] = "UInt8";
6588
+ DATA_TYPE2["UInt16"] = "UInt16";
6589
+ DATA_TYPE2["UInt32"] = "UInt32";
6590
+ DATA_TYPE2["UInt64"] = "UInt64";
6591
+ DATA_TYPE2["Int16"] = "Int16";
6592
+ DATA_TYPE2["Int32"] = "Int32";
6593
+ DATA_TYPE2["Int64"] = "Int64";
6594
+ DATA_TYPE2["Float32"] = "Float32";
6595
+ DATA_TYPE2["Float64"] = "Float64";
6596
+ })(DATA_TYPE || (DATA_TYPE = {}));
6597
+ var HeaderAttributeProperty;
6598
+ (function(HeaderAttributeProperty2) {
6599
+ HeaderAttributeProperty2["vertexCount"] = "vertexCount";
6600
+ HeaderAttributeProperty2["featureCount"] = "featureCount";
6601
+ })(HeaderAttributeProperty || (HeaderAttributeProperty = {}));
6602
+
6485
6603
  // src/lib/utils/url-utils.ts
6486
6604
  function getUrlWithToken(url, token = null) {
6487
6605
  return token ? `${url}?token=${token}` : url;
@@ -7105,20 +7223,6 @@
7105
7223
  GPU_DISJOINT_EXT: 36795
7106
7224
  };
7107
7225
 
7108
- // src/types.ts
7109
- var DATA_TYPE;
7110
- (function(DATA_TYPE2) {
7111
- DATA_TYPE2["UInt8"] = "UInt8";
7112
- DATA_TYPE2["UInt16"] = "UInt16";
7113
- DATA_TYPE2["UInt32"] = "UInt32";
7114
- DATA_TYPE2["UInt64"] = "UInt64";
7115
- DATA_TYPE2["Int16"] = "Int16";
7116
- DATA_TYPE2["Int32"] = "Int32";
7117
- DATA_TYPE2["Int64"] = "Int64";
7118
- DATA_TYPE2["Float32"] = "Float32";
7119
- DATA_TYPE2["Float64"] = "Float64";
7120
- })(DATA_TYPE || (DATA_TYPE = {}));
7121
-
7122
7226
  // src/lib/parsers/constants.ts
7123
7227
  function getConstructorForDataFormat(dataType) {
7124
7228
  switch (dataType) {
@@ -7133,7 +7237,7 @@
7133
7237
  case DATA_TYPE.UInt64:
7134
7238
  return Float64Array;
7135
7239
  default:
7136
- return null;
7240
+ throw new Error(`parse i3s tile content: unknown type of data: ${dataType}`);
7137
7241
  }
7138
7242
  }
7139
7243
  var GL_TYPE_MAP = {
@@ -7143,22 +7247,6 @@
7143
7247
  UInt32: esm_default2.UNSIGNED_INT,
7144
7248
  UInt64: esm_default2.DOUBLE
7145
7249
  };
7146
- var I3S_NAMED_VERTEX_ATTRIBUTES = {
7147
- position: "position",
7148
- normal: "normal",
7149
- uv0: "uv0",
7150
- color: "color",
7151
- region: "region"
7152
- };
7153
- var I3S_NAMED_GEOMETRY_ATTRIBUTES = {
7154
- vertexAttributes: "vertexAttributes",
7155
- featureAttributeOrder: "featureAttributeOrder",
7156
- featureAttributes: "featureAttributes"
7157
- };
7158
- var I3S_NAMED_HEADER_ATTRIBUTES = {
7159
- vertexCount: "vertexCount",
7160
- featureCount: "featureCount"
7161
- };
7162
7250
  function sizeOf(dataType) {
7163
7251
  switch (dataType) {
7164
7252
  case DATA_TYPE.UInt8:
@@ -7175,7 +7263,7 @@
7175
7263
  case DATA_TYPE.Float64:
7176
7264
  return 8;
7177
7265
  default:
7178
- return NaN;
7266
+ throw new Error(`parse i3s tile content: unknown size of data: ${dataType}`);
7179
7267
  }
7180
7268
  }
7181
7269
  var COORDINATE_SYSTEM;
@@ -7191,27 +7279,25 @@
7191
7279
  var scratchVector5 = new Vector3([0, 0, 0]);
7192
7280
  function getLoaderForTextureFormat(textureFormat) {
7193
7281
  switch (textureFormat) {
7194
- case "jpeg":
7195
- case "png":
7196
- return ImageLoader;
7197
7282
  case "ktx-etc2":
7198
7283
  case "dds":
7199
7284
  return CompressedTextureLoader;
7200
7285
  case "ktx2":
7201
7286
  return BasisLoader;
7287
+ case "jpg":
7288
+ case "png":
7202
7289
  default:
7203
- return null;
7290
+ return ImageLoader;
7204
7291
  }
7205
7292
  }
7206
7293
  var I3S_ATTRIBUTE_TYPE = "i3s-attribute-type";
7207
7294
  async function parseI3STileContent(arrayBuffer, tile, tileset, options, context) {
7208
7295
  tile.content = tile.content || {};
7209
7296
  tile.content.featureIds = tile.content.featureIds || null;
7210
- tile.content.featureData = constructFeatureDataStruct(tileset);
7211
7297
  tile.content.attributes = {};
7212
7298
  if (tile.textureUrl) {
7213
7299
  const url = getUrlWithToken(tile.textureUrl, options?.i3s?.token);
7214
- const loader = getLoaderForTextureFormat(tile.textureFormat) || ImageLoader;
7300
+ const loader = getLoaderForTextureFormat(tile.textureFormat);
7215
7301
  const response = await fetch(url);
7216
7302
  const arrayBuffer2 = await response.arrayBuffer();
7217
7303
  if (options?.i3s.decodeTextures) {
@@ -7240,9 +7326,9 @@
7240
7326
  if (tile.content.material) {
7241
7327
  tile.content.texture = null;
7242
7328
  }
7243
- return await parseI3SNodeGeometry(arrayBuffer, tile, options);
7329
+ return await parseI3SNodeGeometry(arrayBuffer, tile, tileset, options);
7244
7330
  }
7245
- async function parseI3SNodeGeometry(arrayBuffer, tile, options) {
7331
+ async function parseI3SNodeGeometry(arrayBuffer, tile, tileset, options) {
7246
7332
  if (!tile.content) {
7247
7333
  return tile;
7248
7334
  }
@@ -7251,6 +7337,7 @@
7251
7337
  let vertexCount;
7252
7338
  let byteOffset = 0;
7253
7339
  let featureCount = 0;
7340
+ let indices;
7254
7341
  if (tile.isDracoGeometry) {
7255
7342
  const decompressedGeometry = await parse(arrayBuffer, DracoLoader2, {
7256
7343
  draco: {
@@ -7258,7 +7345,7 @@
7258
7345
  }
7259
7346
  });
7260
7347
  vertexCount = decompressedGeometry.header.vertexCount;
7261
- const indices = decompressedGeometry.indices.value;
7348
+ indices = decompressedGeometry.indices?.value;
7262
7349
  const {
7263
7350
  POSITION,
7264
7351
  NORMAL,
@@ -7273,8 +7360,7 @@
7273
7360
  color: COLOR_0,
7274
7361
  uv0: TEXCOORD_0,
7275
7362
  uvRegion,
7276
- id: featureIndex,
7277
- indices
7363
+ id: featureIndex
7278
7364
  };
7279
7365
  updateAttributesMetadata(attributes, decompressedGeometry);
7280
7366
  const featureIds = getFeatureIdsFromFeatureIndexMetadata(featureIndex);
@@ -7282,8 +7368,13 @@
7282
7368
  flattenFeatureIdsByFeatureIndices(attributes, featureIds);
7283
7369
  }
7284
7370
  } else {
7285
- const { vertexAttributes, attributesOrder, featureAttributes, featureAttributeOrder } = content.featureData;
7286
- const headers = parseHeaders(content, arrayBuffer);
7371
+ const {
7372
+ vertexAttributes,
7373
+ ordering: attributesOrder,
7374
+ featureAttributes,
7375
+ featureAttributeOrder
7376
+ } = tileset.store.defaultGeometrySchema;
7377
+ const headers = parseHeaders(tileset, arrayBuffer);
7287
7378
  byteOffset = headers.byteOffset;
7288
7379
  vertexCount = headers.vertexCount;
7289
7380
  featureCount = headers.featureCount;
@@ -7307,7 +7398,7 @@
7307
7398
  texCoords: attributes.uv0,
7308
7399
  uvRegions: normalizeAttribute(attributes.uvRegion)
7309
7400
  };
7310
- content.indices = attributes.indices || null;
7401
+ content.indices = indices || null;
7311
7402
  if (attributes.id && attributes.id.value) {
7312
7403
  tile.content.featureIds = attributes.id.value;
7313
7404
  }
@@ -7345,41 +7436,25 @@
7345
7436
  attribute.normalized = true;
7346
7437
  return attribute;
7347
7438
  }
7348
- function constructFeatureDataStruct(tileset) {
7349
- const defaultGeometrySchema = tileset.store.defaultGeometrySchema;
7350
- const featureData = defaultGeometrySchema;
7351
- for (const geometryAttribute in I3S_NAMED_GEOMETRY_ATTRIBUTES) {
7352
- for (const namedAttribute in I3S_NAMED_VERTEX_ATTRIBUTES) {
7353
- const attribute = defaultGeometrySchema[geometryAttribute][namedAttribute];
7354
- if (attribute) {
7355
- const { byteOffset = 0, count = 0, valueType, valuesPerElement } = attribute;
7356
- featureData[geometryAttribute][namedAttribute] = {
7357
- valueType,
7358
- valuesPerElement,
7359
- byteOffset,
7360
- count
7361
- };
7362
- }
7363
- }
7364
- }
7365
- featureData.attributesOrder = defaultGeometrySchema.ordering;
7366
- return featureData;
7367
- }
7368
- function parseHeaders(content, arrayBuffer) {
7439
+ function parseHeaders(tileset, arrayBuffer) {
7369
7440
  let byteOffset = 0;
7370
7441
  let vertexCount = 0;
7371
7442
  let featureCount = 0;
7372
- content.featureData.header.forEach(({ property, type }) => {
7443
+ for (const { property, type } of tileset.store.defaultGeometrySchema.header) {
7373
7444
  const TypedArrayTypeHeader = getConstructorForDataFormat(type);
7374
- if (property === I3S_NAMED_HEADER_ATTRIBUTES.vertexCount) {
7375
- vertexCount = new TypedArrayTypeHeader(arrayBuffer, 0, 4)[0];
7376
- byteOffset += sizeOf(type);
7377
- }
7378
- if (property === I3S_NAMED_HEADER_ATTRIBUTES.featureCount) {
7379
- featureCount = new TypedArrayTypeHeader(arrayBuffer, 4, 4)[0];
7380
- byteOffset += sizeOf(type);
7445
+ switch (property) {
7446
+ case HeaderAttributeProperty.vertexCount:
7447
+ vertexCount = new TypedArrayTypeHeader(arrayBuffer, 0, 4)[0];
7448
+ byteOffset += sizeOf(type);
7449
+ break;
7450
+ case HeaderAttributeProperty.featureCount:
7451
+ featureCount = new TypedArrayTypeHeader(arrayBuffer, 4, 4)[0];
7452
+ byteOffset += sizeOf(type);
7453
+ break;
7454
+ default:
7455
+ break;
7381
7456
  }
7382
- });
7457
+ }
7383
7458
  return {
7384
7459
  vertexCount,
7385
7460
  featureCount,
@@ -7396,7 +7471,7 @@
7396
7471
  break;
7397
7472
  }
7398
7473
  const buffer = arrayBuffer.slice(byteOffset);
7399
- let value = [];
7474
+ let value;
7400
7475
  if (valueType === "UInt64") {
7401
7476
  value = parseUint64Values(buffer, count * valuesPerElement, sizeOf(valueType));
7402
7477
  } else {
@@ -7433,7 +7508,7 @@
7433
7508
  values.push(value);
7434
7509
  offset += attributeSize;
7435
7510
  }
7436
- return values;
7511
+ return new Uint32Array(values);
7437
7512
  }
7438
7513
  function parsePositions(attribute, tile) {
7439
7514
  const mbs = tile.mbs;
@@ -7500,7 +7575,9 @@
7500
7575
  if (pbrMaterial.pbrMetallicRoughness && pbrMaterial.pbrMetallicRoughness.baseColorFactor) {
7501
7576
  pbrMaterial.pbrMetallicRoughness.baseColorFactor = convertColorFormat(pbrMaterial.pbrMetallicRoughness.baseColorFactor);
7502
7577
  }
7503
- setMaterialTexture(pbrMaterial, texture);
7578
+ if (texture) {
7579
+ setMaterialTexture(pbrMaterial, texture);
7580
+ }
7504
7581
  return pbrMaterial;
7505
7582
  }
7506
7583
  function convertColorFormat(colorFactor) {
@@ -7562,11 +7639,11 @@
7562
7639
  attributes.id.value = result;
7563
7640
  }
7564
7641
  function getFeatureIdsFromFeatureIndexMetadata(featureIndex) {
7565
- return featureIndex && featureIndex.metadata && featureIndex.metadata["i3s-feature-ids"] && featureIndex.metadata["i3s-feature-ids"].intArray;
7642
+ return featureIndex?.metadata?.["i3s-feature-ids"]?.intArray;
7566
7643
  }
7567
7644
 
7568
7645
  // src/i3s-content-loader.ts
7569
- var VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
7646
+ var VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
7570
7647
  var I3SContentLoader = {
7571
7648
  name: "I3S Content (Indexed Scene Layers)",
7572
7649
  id: "i3s-content",