@loaders.gl/i3s 4.0.0-alpha.21 → 4.0.0-alpha.23

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 (48) hide show
  1. package/dist/dist.min.js +91 -78
  2. package/dist/es5/arcgis-webscene-loader.js +1 -1
  3. package/dist/es5/i3s-attribute-loader.js +1 -1
  4. package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
  5. package/dist/es5/i3s-content-loader.js +1 -1
  6. package/dist/es5/i3s-loader.js +1 -1
  7. package/dist/es5/i3s-loader.js.map +1 -1
  8. package/dist/es5/i3s-node-page-loader.js +1 -1
  9. package/dist/es5/i3s-slpk-loader.js +3 -3
  10. package/dist/es5/i3s-slpk-loader.js.map +1 -1
  11. package/dist/es5/lib/parsers/parse-i3s-tile-content.js +34 -31
  12. package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
  13. package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
  14. package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
  15. package/dist/esm/arcgis-webscene-loader.js +1 -1
  16. package/dist/esm/i3s-attribute-loader.js +1 -1
  17. package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
  18. package/dist/esm/i3s-content-loader.js +1 -1
  19. package/dist/esm/i3s-loader.js +1 -1
  20. package/dist/esm/i3s-loader.js.map +1 -1
  21. package/dist/esm/i3s-node-page-loader.js +1 -1
  22. package/dist/esm/i3s-slpk-loader.js +2 -2
  23. package/dist/esm/i3s-slpk-loader.js.map +1 -1
  24. package/dist/esm/lib/parsers/parse-i3s-tile-content.js +5 -2
  25. package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
  26. package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
  27. package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
  28. package/dist/i3s-content-worker-node.js +41 -41
  29. package/dist/i3s-content-worker-node.js.map +3 -3
  30. package/dist/i3s-content-worker.js +43 -30
  31. package/dist/i3s-loader.d.ts +1 -2
  32. package/dist/i3s-loader.d.ts.map +1 -1
  33. package/dist/i3s-slpk-loader.d.ts +1 -1
  34. package/dist/i3s-slpk-loader.d.ts.map +1 -1
  35. package/dist/i3s-slpk-loader.js +2 -2
  36. package/dist/lib/parsers/parse-i3s-tile-content.d.ts +1 -1
  37. package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -1
  38. package/dist/lib/parsers/parse-i3s-tile-content.js +7 -8
  39. package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts +1 -1
  40. package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts.map +1 -1
  41. package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts +2 -1
  42. package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +1 -1
  43. package/package.json +9 -9
  44. package/src/i3s-loader.ts +1 -2
  45. package/src/i3s-slpk-loader.ts +2 -2
  46. package/src/lib/parsers/parse-i3s-tile-content.ts +7 -9
  47. package/src/lib/parsers/parse-slpk/parse-slpk.ts +1 -1
  48. package/src/lib/parsers/parse-slpk/slpk-archieve.ts +2 -1
package/dist/dist.min.js CHANGED
@@ -713,6 +713,15 @@
713
713
  }
714
714
  });
715
715
 
716
+ // ../loader-utils/src/loader-types.ts
717
+ async function parseFromContext(data, loaders, options, context) {
718
+ return context._parse(data, loaders, options, context);
719
+ }
720
+ var init_loader_types = __esm({
721
+ "../loader-utils/src/loader-types.ts"() {
722
+ }
723
+ });
724
+
716
725
  // ../loader-utils/src/lib/env-utils/assert.ts
717
726
  function assert(condition, message) {
718
727
  if (!condition) {
@@ -1765,9 +1774,48 @@
1765
1774
  }
1766
1775
  });
1767
1776
 
1777
+ // ../loader-utils/src/lib/file-provider/data-view-file.ts
1778
+ var toNumber, DataViewFile;
1779
+ var init_data_view_file = __esm({
1780
+ "../loader-utils/src/lib/file-provider/data-view-file.ts"() {
1781
+ toNumber = (bigint) => {
1782
+ if (bigint > Number.MAX_SAFE_INTEGER) {
1783
+ throw new Error("Offset is out of bounds");
1784
+ }
1785
+ return Number(bigint);
1786
+ };
1787
+ DataViewFile = class {
1788
+ constructor(file) {
1789
+ this.file = file;
1790
+ }
1791
+ async destroy() {
1792
+ }
1793
+ async getUint8(offset) {
1794
+ return this.file.getUint8(toNumber(offset));
1795
+ }
1796
+ async getUint16(offset) {
1797
+ return this.file.getUint16(toNumber(offset), true);
1798
+ }
1799
+ async getUint32(offset) {
1800
+ return this.file.getUint32(toNumber(offset), true);
1801
+ }
1802
+ async getBigUint64(offset) {
1803
+ return this.file.getBigUint64(toNumber(offset), true);
1804
+ }
1805
+ async slice(startOffset, endOffset) {
1806
+ return this.file.buffer.slice(toNumber(startOffset), toNumber(endOffset));
1807
+ }
1808
+ get length() {
1809
+ return BigInt(this.file.byteLength);
1810
+ }
1811
+ };
1812
+ }
1813
+ });
1814
+
1768
1815
  // ../loader-utils/src/index.ts
1769
1816
  var init_src2 = __esm({
1770
1817
  "../loader-utils/src/index.ts"() {
1818
+ init_loader_types();
1771
1819
  init_assert();
1772
1820
  init_globals();
1773
1821
  init_parse_with_worker();
@@ -1778,6 +1826,7 @@
1778
1826
  init_memory_conversion_utils();
1779
1827
  init_promisify();
1780
1828
  init_path();
1829
+ init_data_view_file();
1781
1830
  }
1782
1831
  });
1783
1832
 
@@ -2715,6 +2764,11 @@
2715
2764
  loaders._state = loaders._state || {};
2716
2765
  return loaders._state;
2717
2766
  }
2767
+ function getGlobalLoaderOptions() {
2768
+ const state = getGlobalLoaderState();
2769
+ state.globalOptions = state.globalOptions || { ...DEFAULT_LOADER_OPTIONS };
2770
+ return state.globalOptions;
2771
+ }
2718
2772
  function normalizeOptions(options, loader, loaders, url) {
2719
2773
  loaders = loaders || [];
2720
2774
  loaders = Array.isArray(loaders) ? loaders : [loaders];
@@ -2795,17 +2849,11 @@
2795
2849
  options.baseUri = url;
2796
2850
  }
2797
2851
  }
2798
- var getGlobalLoaderOptions;
2799
2852
  var init_option_utils = __esm({
2800
2853
  "../core/src/lib/loader-utils/option-utils.ts"() {
2801
2854
  init_is_type();
2802
2855
  init_loggers();
2803
2856
  init_option_defaults();
2804
- getGlobalLoaderOptions = () => {
2805
- const state = getGlobalLoaderState();
2806
- state.globalOptions = state.globalOptions || { ...DEFAULT_LOADER_OPTIONS };
2807
- return state.globalOptions;
2808
- };
2809
2857
  }
2810
2858
  });
2811
2859
 
@@ -2926,8 +2974,10 @@
2926
2974
  reason = reason || (loader ? `matched MIME type ${type}` : "");
2927
2975
  loader = loader || findLoaderByInitialBytes(loaders, data);
2928
2976
  reason = reason || (loader ? `matched initial data ${getFirstCharacters(data)}` : "");
2929
- loader = loader || findLoaderByMIMEType(loaders, options?.fallbackMimeType);
2930
- reason = reason || (loader ? `matched fallback MIME type ${type}` : "");
2977
+ if (options?.fallbackMimeType) {
2978
+ loader = loader || findLoaderByMIMEType(loaders, options?.fallbackMimeType);
2979
+ reason = reason || (loader ? `matched fallback MIME type ${type}` : "");
2980
+ }
2931
2981
  if (reason) {
2932
2982
  log.log(1, `selectLoader selected ${loader?.name}: ${reason}.`);
2933
2983
  }
@@ -3023,7 +3073,7 @@
3023
3073
  }
3024
3074
  switch (typeof test) {
3025
3075
  case "function":
3026
- return test(data, loader);
3076
+ return test(data);
3027
3077
  case "string":
3028
3078
  const magic = getMagicString(data, byteOffset, test.length);
3029
3079
  return test === magic;
@@ -3296,7 +3346,7 @@
3296
3346
  return newContext;
3297
3347
  }
3298
3348
  function getLoadersFromContext(loaders, context) {
3299
- if (!context && loaders && !Array.isArray(loaders)) {
3349
+ if (loaders && !Array.isArray(loaders)) {
3300
3350
  return loaders;
3301
3351
  }
3302
3352
  let candidateLoaders;
@@ -3307,7 +3357,7 @@
3307
3357
  const contextLoaders = Array.isArray(context.loaders) ? context.loaders : [context.loaders];
3308
3358
  candidateLoaders = candidateLoaders ? [...candidateLoaders, ...contextLoaders] : contextLoaders;
3309
3359
  }
3310
- return candidateLoaders && candidateLoaders.length ? candidateLoaders : null;
3360
+ return candidateLoaders && candidateLoaders.length ? candidateLoaders : void 0;
3311
3361
  }
3312
3362
  var init_loader_context = __esm({
3313
3363
  "../core/src/lib/loader-utils/loader-context.ts"() {
@@ -3319,7 +3369,6 @@
3319
3369
 
3320
3370
  // ../core/src/lib/api/parse.ts
3321
3371
  async function parse(data, loaders, options, context) {
3322
- assert2(!context || typeof context === "object");
3323
3372
  if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) {
3324
3373
  context = void 0;
3325
3374
  options = loaders;
@@ -3335,7 +3384,7 @@
3335
3384
  return null;
3336
3385
  }
3337
3386
  options = normalizeOptions(options, loader, candidateLoaders, url);
3338
- context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context || null);
3387
+ context = getLoaderContext({ url, _parse: parse, loaders: candidateLoaders }, options, context || null);
3339
3388
  return await parseWithLoader(loader, data, options, context);
3340
3389
  }
3341
3390
  async function parseWithLoader(loader, data, options, context) {
@@ -8786,18 +8835,12 @@
8786
8835
  });
8787
8836
 
8788
8837
  // ../textures/src/compressed-texture-loader.ts
8789
- var DEFAULT_TEXTURE_LOADER_OPTIONS, CompressedTextureWorkerLoader, CompressedTextureLoader;
8838
+ var CompressedTextureWorkerLoader, CompressedTextureLoader;
8790
8839
  var init_compressed_texture_loader = __esm({
8791
8840
  "../textures/src/compressed-texture-loader.ts"() {
8792
8841
  init_version4();
8793
8842
  init_parse_compressed_texture();
8794
8843
  init_parse_basis();
8795
- DEFAULT_TEXTURE_LOADER_OPTIONS = {
8796
- "compressed-texture": {
8797
- libraryPath: "libs/",
8798
- useBasis: false
8799
- }
8800
- };
8801
8844
  CompressedTextureWorkerLoader = {
8802
8845
  name: "Texture Containers",
8803
8846
  id: "compressed-texture",
@@ -8818,12 +8861,17 @@
8818
8861
  "application/octet-stream"
8819
8862
  ],
8820
8863
  binary: true,
8821
- options: DEFAULT_TEXTURE_LOADER_OPTIONS
8864
+ options: {
8865
+ "compressed-texture": {
8866
+ libraryPath: "libs/",
8867
+ useBasis: false
8868
+ }
8869
+ }
8822
8870
  };
8823
8871
  CompressedTextureLoader = {
8824
8872
  ...CompressedTextureWorkerLoader,
8825
8873
  parse: async (arrayBuffer, options) => {
8826
- if (options["compressed-texture"].useBasis) {
8874
+ if (options?.["compressed-texture"]?.useBasis) {
8827
8875
  options.basis = {
8828
8876
  format: {
8829
8877
  alpha: "BC3",
@@ -8833,7 +8881,8 @@
8833
8881
  containerFormat: "ktx2",
8834
8882
  module: "encoder"
8835
8883
  };
8836
- return (await parseBasis(arrayBuffer, options))[0];
8884
+ const result = await parseBasis(arrayBuffer, options);
8885
+ return result[0];
8837
8886
  }
8838
8887
  return parseCompressedTexture(arrayBuffer);
8839
8888
  }
@@ -9168,9 +9217,11 @@
9168
9217
  if (loader === ImageLoader) {
9169
9218
  const options2 = { ...tileOptions.textureLoaderOptions, image: { type: "data" } };
9170
9219
  try {
9171
- content.texture = await context.parse(arrayBuffer2, options2);
9220
+ const texture = await parseFromContext(arrayBuffer2, [], options2, context);
9221
+ content.texture = texture;
9172
9222
  } catch (e2) {
9173
- content.texture = await parse(arrayBuffer2, loader, options2);
9223
+ const texture = await parse(arrayBuffer2, loader, options2, context);
9224
+ content.texture = texture;
9174
9225
  }
9175
9226
  } else if (loader === CompressedTextureLoader || loader === BasisLoader) {
9176
9227
  let texture = await load(arrayBuffer2, loader, tileOptions.textureLoaderOptions);
@@ -9512,6 +9563,7 @@
9512
9563
  init_src3();
9513
9564
  init_esm2();
9514
9565
  init_esm3();
9566
+ init_src2();
9515
9567
  init_src4();
9516
9568
  init_src6();
9517
9569
  init_src7();
@@ -10532,44 +10584,6 @@
10532
10584
  }
10533
10585
  });
10534
10586
 
10535
- // ../zip/src/file-provider/data-view-file.ts
10536
- var toNumber, DataViewFile;
10537
- var init_data_view_file = __esm({
10538
- "../zip/src/file-provider/data-view-file.ts"() {
10539
- toNumber = (bigint) => {
10540
- if (bigint > Number.MAX_SAFE_INTEGER) {
10541
- throw new Error("Offset is out of bounds");
10542
- }
10543
- return Number(bigint);
10544
- };
10545
- DataViewFile = class {
10546
- constructor(file) {
10547
- this.file = file;
10548
- }
10549
- async destroy() {
10550
- }
10551
- async getUint8(offset) {
10552
- return this.file.getUint8(toNumber(offset));
10553
- }
10554
- async getUint16(offset) {
10555
- return this.file.getUint16(toNumber(offset), true);
10556
- }
10557
- async getUint32(offset) {
10558
- return this.file.getUint32(toNumber(offset), true);
10559
- }
10560
- async getBigUint64(offset) {
10561
- return this.file.getBigUint64(toNumber(offset), true);
10562
- }
10563
- async slice(startOffset, endOffset) {
10564
- return this.file.buffer.slice(toNumber(startOffset), toNumber(endOffset));
10565
- }
10566
- get length() {
10567
- return BigInt(this.file.byteLength);
10568
- }
10569
- };
10570
- }
10571
- });
10572
-
10573
10587
  // ../zip/src/parse-zip/search-from-the-end.ts
10574
10588
  var searchFromTheEnd;
10575
10589
  var init_search_from_the_end = __esm({
@@ -11038,17 +11052,6 @@
11038
11052
  }
11039
11053
  });
11040
11054
 
11041
- // ../zip/src/index.ts
11042
- var init_src9 = __esm({
11043
- "../zip/src/index.ts"() {
11044
- init_data_view_file();
11045
- init_cd_file_header();
11046
- init_local_file_header();
11047
- init_search_from_the_end();
11048
- init_hash_file_utility();
11049
- }
11050
- });
11051
-
11052
11055
  // ../compression/src/lib/compression.ts
11053
11056
  var Compression;
11054
11057
  var init_compression = __esm({
@@ -15332,19 +15335,29 @@
15332
15335
  });
15333
15336
 
15334
15337
  // ../compression/src/index.ts
15335
- var init_src10 = __esm({
15338
+ var init_src9 = __esm({
15336
15339
  "../compression/src/index.ts"() {
15337
15340
  init_gzip_compression();
15338
15341
  }
15339
15342
  });
15340
15343
 
15344
+ // ../zip/src/index.ts
15345
+ var init_src10 = __esm({
15346
+ "../zip/src/index.ts"() {
15347
+ init_cd_file_header();
15348
+ init_local_file_header();
15349
+ init_search_from_the_end();
15350
+ init_hash_file_utility();
15351
+ }
15352
+ });
15353
+
15341
15354
  // src/lib/parsers/parse-slpk/slpk-archieve.ts
15342
15355
  var import_md52, PATH_DESCRIPTIONS, SLPKArchive;
15343
15356
  var init_slpk_archieve = __esm({
15344
15357
  "src/lib/parsers/parse-slpk/slpk-archieve.ts"() {
15345
15358
  import_md52 = __toModule(require_md5());
15346
- init_src9();
15347
15359
  init_src10();
15360
+ init_src9();
15348
15361
  PATH_DESCRIPTIONS = [
15349
15362
  {
15350
15363
  test: /^$/,
@@ -15451,7 +15464,7 @@
15451
15464
  var parseSLPK;
15452
15465
  var init_parse_slpk = __esm({
15453
15466
  "src/lib/parsers/parse-slpk/parse-slpk.ts"() {
15454
- init_src9();
15467
+ init_src10();
15455
15468
  init_slpk_archieve();
15456
15469
  parseSLPK = async (fileProvider, cb) => {
15457
15470
  const hashCDOffset = await searchFromTheEnd(fileProvider, signature);
@@ -15483,7 +15496,7 @@
15483
15496
  var VERSION12, SLPKLoader;
15484
15497
  var init_i3s_slpk_loader = __esm({
15485
15498
  "src/i3s-slpk-loader.ts"() {
15486
- init_src9();
15499
+ init_src2();
15487
15500
  init_parse_slpk();
15488
15501
  VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
15489
15502
  SLPKLoader = {
@@ -8,7 +8,7 @@ exports.ArcGisWebSceneLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _parseArcgisWebscene = require("./lib/parsers/parse-arcgis-webscene");
11
- var VERSION = typeof "4.0.0-alpha.21" !== 'undefined' ? "4.0.0-alpha.21" : 'beta';
11
+ var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'beta';
12
12
  var ArcGisWebSceneLoader = {
13
13
  name: 'ArcGIS Web Scene Loader',
14
14
  id: 'arcgis-web-scene',
@@ -15,7 +15,7 @@ var _parseI3sAttribute = require("./lib/parsers/parse-i3s-attribute");
15
15
  var _urlUtils = require("./lib/utils/url-utils");
16
16
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
- var VERSION = typeof "4.0.0-alpha.21" !== 'undefined' ? "4.0.0-alpha.21" : 'latest';
18
+ var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
19
19
  var EMPTY_VALUE = '';
20
20
  var REJECTED_STATUS = 'rejected';
21
21
  var I3SAttributeLoader = {
@@ -8,7 +8,7 @@ exports.I3SBuildingSceneLayerLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _parseI3sBuildingSceneLayer = require("./lib/parsers/parse-i3s-building-scene-layer");
11
- var VERSION = typeof "4.0.0-alpha.21" !== 'undefined' ? "4.0.0-alpha.21" : 'beta';
11
+ var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'beta';
12
12
  var I3SBuildingSceneLayerLoader = {
13
13
  name: 'I3S Building Scene Layer',
14
14
  id: 'i3s-building-scene-layer',
@@ -8,7 +8,7 @@ exports.I3SContentLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _parseI3sTileContent = require("./lib/parsers/parse-i3s-tile-content");
11
- var VERSION = typeof "4.0.0-alpha.21" !== 'undefined' ? "4.0.0-alpha.21" : 'beta';
11
+ var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'beta';
12
12
  var I3SContentLoader = {
13
13
  name: 'I3S Content (Indexed Scene Layers)',
14
14
  id: 'i3s-content',
@@ -12,7 +12,7 @@ var _core = require("@loaders.gl/core");
12
12
  var _i3sContentLoader = require("./i3s-content-loader");
13
13
  var _parseI3s = require("./lib/parsers/parse-i3s");
14
14
  var _constants = require("./lib/parsers/constants");
15
- var VERSION = typeof "4.0.0-alpha.21" !== 'undefined' ? "4.0.0-alpha.21" : 'latest';
15
+ var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
16
16
  var TILESET_REGEX = /layers\/[0-9]+$/;
17
17
  var TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
18
18
  var SLPK_HEX = '504b0304';
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-loader.js","names":["_core","require","_i3sContentLoader","_parseI3s","_constants","VERSION","TILESET_REGEX","TILE_HEADER_REGEX","SLPK_HEX","POINT_CLOUD","I3SLoader","name","id","module","version","mimeTypes","parse","parseI3S","extensions","options","i3s","token","isTileset","isTileHeader","tile","tileset","_tileOptions","_tilesetOptions","useDracoGeometry","useCompressedTextures","decodeTextures","coordinateSystem","COORDINATE_SYSTEM","METER_OFFSETS","colorsByAttribute","exports","_x","_parseI3S","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","context","url","magicNumber","_args","wrap","_callee$","_context","prev","next","length","undefined","getMagicNumber","Error","test","parseTileset","sent","parseTile","parseTileContent","abrupt","stop","_x2","_x3","_parseTileContent","_callee2","arrayBuffer","_callee2$","_context2","I3SContentLoader","_x4","_x5","_x6","_parseTileset","_callee3","tilesetJson","tilesetPostprocessed","_callee3$","_context3","JSON","TextDecoder","decode","layerType","normalizeTilesetData","_x7","_x8","_parseTile","_callee4","_callee4$","_context4","normalizeTileData","ArrayBuffer","_toConsumableArray2","Uint8Array","map","value","toString","padStart","join"],"sources":["../../src/i3s-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parse} from '@loaders.gl/core';\nimport {I3SContentLoader} from './i3s-content-loader';\nimport {normalizeTileData, normalizeTilesetData} from './lib/parsers/parse-i3s';\nimport {COORDINATE_SYSTEM} from './lib/parsers/constants';\nimport {I3SParseOptions} from './types';\nimport {LoaderOptions} from './../../loader-utils/src/types';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nconst TILESET_REGEX = /layers\\/[0-9]+$/;\nconst TILE_HEADER_REGEX = /nodes\\/([0-9-]+|root)$/;\nconst SLPK_HEX = '504b0304';\nconst POINT_CLOUD = 'PointCloud';\n\nexport type I3SLoaderOptions = LoaderOptions & {\n i3s?: I3SParseOptions;\n};\n\n/**\n * Loader for I3S - Indexed 3D Scene Layer\n */\nexport const I3SLoader: LoaderWithParser = {\n name: 'I3S (Indexed Scene Layers)',\n id: 'i3s',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/octet-stream'],\n parse: parseI3S,\n extensions: ['bin'],\n options: {\n i3s: {\n token: null,\n isTileset: 'auto',\n isTileHeader: 'auto',\n tile: null,\n tileset: null,\n _tileOptions: null,\n _tilesetOptions: null,\n useDracoGeometry: true,\n useCompressedTextures: true,\n decodeTextures: true,\n coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS,\n colorsByAttribute: null\n }\n }\n};\n\nasync function parseI3S(data, options: I3SLoaderOptions = {}, context) {\n const url = context.url;\n options.i3s = options.i3s || {};\n const magicNumber = getMagicNumber(data);\n\n // check if file is slpk\n if (magicNumber === SLPK_HEX) {\n throw new Error('Files with .slpk extention currently are not supported by I3SLoader');\n }\n\n // auto detect file type based on url\n let isTileset;\n if (options.i3s.isTileset === 'auto') {\n isTileset = TILESET_REGEX.test(url);\n } else {\n isTileset = options.i3s.isTileset;\n }\n\n let isTileHeader;\n if (options.isTileHeader === 'auto') {\n isTileHeader = TILE_HEADER_REGEX.test(url);\n } else {\n isTileHeader = options.i3s.isTileHeader;\n }\n\n if (isTileset) {\n data = await parseTileset(data, options, context);\n } else if (isTileHeader) {\n data = await parseTile(data, context);\n } else {\n data = await parseTileContent(data, options);\n }\n\n return data;\n}\n\nasync function parseTileContent(arrayBuffer, options: I3SLoaderOptions) {\n return await parse(arrayBuffer, I3SContentLoader, options);\n}\n\nasync function parseTileset(data, options: I3SLoaderOptions, context) {\n const tilesetJson = JSON.parse(new TextDecoder().decode(data));\n\n if (tilesetJson?.layerType === POINT_CLOUD) {\n throw new Error('Point Cloud layers currently are not supported by I3SLoader');\n }\n\n const tilesetPostprocessed = await normalizeTilesetData(tilesetJson, options, context);\n return tilesetPostprocessed;\n}\n\nasync function parseTile(data, context) {\n data = JSON.parse(new TextDecoder().decode(data));\n return normalizeTileData(data, context);\n}\n\nfunction getMagicNumber(data) {\n if (data instanceof ArrayBuffer) {\n // slice binary data (4 bytes from the beginning) and transform it to hexadecimal numeral system\n return [...new Uint8Array(data, 0, 4)]\n .map((value) => value.toString(16).padStart(2, '0'))\n .join('');\n }\n return null;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"i3s-loader.js","names":["_core","require","_i3sContentLoader","_parseI3s","_constants","VERSION","TILESET_REGEX","TILE_HEADER_REGEX","SLPK_HEX","POINT_CLOUD","I3SLoader","name","id","module","version","mimeTypes","parse","parseI3S","extensions","options","i3s","token","isTileset","isTileHeader","tile","tileset","_tileOptions","_tilesetOptions","useDracoGeometry","useCompressedTextures","decodeTextures","coordinateSystem","COORDINATE_SYSTEM","METER_OFFSETS","colorsByAttribute","exports","_x","_parseI3S","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","context","url","magicNumber","_args","wrap","_callee$","_context","prev","next","length","undefined","getMagicNumber","Error","test","parseTileset","sent","parseTile","parseTileContent","abrupt","stop","_x2","_x3","_parseTileContent","_callee2","arrayBuffer","_callee2$","_context2","I3SContentLoader","_x4","_x5","_x6","_parseTileset","_callee3","tilesetJson","tilesetPostprocessed","_callee3$","_context3","JSON","TextDecoder","decode","layerType","normalizeTilesetData","_x7","_x8","_parseTile","_callee4","_callee4$","_context4","normalizeTileData","ArrayBuffer","_toConsumableArray2","Uint8Array","map","value","toString","padStart","join"],"sources":["../../src/i3s-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {parse} from '@loaders.gl/core';\nimport {I3SContentLoader} from './i3s-content-loader';\nimport {normalizeTileData, normalizeTilesetData} from './lib/parsers/parse-i3s';\nimport {COORDINATE_SYSTEM} from './lib/parsers/constants';\nimport {I3SParseOptions} from './types';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nconst TILESET_REGEX = /layers\\/[0-9]+$/;\nconst TILE_HEADER_REGEX = /nodes\\/([0-9-]+|root)$/;\nconst SLPK_HEX = '504b0304';\nconst POINT_CLOUD = 'PointCloud';\n\nexport type I3SLoaderOptions = LoaderOptions & {\n i3s?: I3SParseOptions;\n};\n\n/**\n * Loader for I3S - Indexed 3D Scene Layer\n */\nexport const I3SLoader: LoaderWithParser = {\n name: 'I3S (Indexed Scene Layers)',\n id: 'i3s',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/octet-stream'],\n parse: parseI3S,\n extensions: ['bin'],\n options: {\n i3s: {\n token: null,\n isTileset: 'auto',\n isTileHeader: 'auto',\n tile: null,\n tileset: null,\n _tileOptions: null,\n _tilesetOptions: null,\n useDracoGeometry: true,\n useCompressedTextures: true,\n decodeTextures: true,\n coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS,\n colorsByAttribute: null\n }\n }\n};\n\nasync function parseI3S(data, options: I3SLoaderOptions = {}, context) {\n const url = context.url;\n options.i3s = options.i3s || {};\n const magicNumber = getMagicNumber(data);\n\n // check if file is slpk\n if (magicNumber === SLPK_HEX) {\n throw new Error('Files with .slpk extention currently are not supported by I3SLoader');\n }\n\n // auto detect file type based on url\n let isTileset;\n if (options.i3s.isTileset === 'auto') {\n isTileset = TILESET_REGEX.test(url);\n } else {\n isTileset = options.i3s.isTileset;\n }\n\n let isTileHeader;\n if (options.isTileHeader === 'auto') {\n isTileHeader = TILE_HEADER_REGEX.test(url);\n } else {\n isTileHeader = options.i3s.isTileHeader;\n }\n\n if (isTileset) {\n data = await parseTileset(data, options, context);\n } else if (isTileHeader) {\n data = await parseTile(data, context);\n } else {\n data = await parseTileContent(data, options);\n }\n\n return data;\n}\n\nasync function parseTileContent(arrayBuffer, options: I3SLoaderOptions) {\n return await parse(arrayBuffer, I3SContentLoader, options);\n}\n\nasync function parseTileset(data, options: I3SLoaderOptions, context) {\n const tilesetJson = JSON.parse(new TextDecoder().decode(data));\n\n if (tilesetJson?.layerType === POINT_CLOUD) {\n throw new Error('Point Cloud layers currently are not supported by I3SLoader');\n }\n\n const tilesetPostprocessed = await normalizeTilesetData(tilesetJson, options, context);\n return tilesetPostprocessed;\n}\n\nasync function parseTile(data, context) {\n data = JSON.parse(new TextDecoder().decode(data));\n return normalizeTileData(data, context);\n}\n\nfunction getMagicNumber(data) {\n if (data instanceof ArrayBuffer) {\n // slice binary data (4 bytes from the beginning) and transform it to hexadecimal numeral system\n return [...new Uint8Array(data, 0, 4)]\n .map((value) => value.toString(16).padStart(2, '0'))\n .join('');\n }\n return null;\n}\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.I3SNodePageLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var VERSION = typeof "4.0.0-alpha.21" !== 'undefined' ? "4.0.0-alpha.21" : 'latest';
10
+ var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
11
11
  function parseNodePage(_x, _x2) {
12
12
  return _parseNodePage.apply(this, arguments);
13
13
  }
@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.SLPKLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _zip = require("@loaders.gl/zip");
10
+ var _loaderUtils = require("@loaders.gl/loader-utils");
11
11
  var _parseSlpk = require("./lib/parsers/parse-slpk/parse-slpk");
12
- var VERSION = typeof "4.0.0-alpha.21" !== 'undefined' ? "4.0.0-alpha.21" : 'latest';
12
+ var VERSION = typeof "4.0.0-alpha.23" !== 'undefined' ? "4.0.0-alpha.23" : 'latest';
13
13
  var SLPKLoader = {
14
14
  name: 'I3S SLPK (Scene Layer Package)',
15
15
  id: 'slpk',
@@ -34,7 +34,7 @@ function _parseSLPK() {
34
34
  case 0:
35
35
  options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
36
36
  _context.next = 3;
37
- return (0, _parseSlpk.parseSLPK)(new _zip.DataViewFile(new DataView(data)));
37
+ return (0, _parseSlpk.parseSLPK)(new _loaderUtils.DataViewFile(new DataView(data)));
38
38
  case 3:
39
39
  return _context.abrupt("return", _context.sent.getFile((_options$slpk$path = (_options$slpk = options.slpk) === null || _options$slpk === void 0 ? void 0 : _options$slpk.path) !== null && _options$slpk$path !== void 0 ? _options$slpk$path : '', (_options$slpk2 = options.slpk) === null || _options$slpk2 === void 0 ? void 0 : _options$slpk2.pathMode));
40
40
  case 4:
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-slpk-loader.js","names":["_zip","require","_parseSlpk","VERSION","SLPKLoader","name","id","module","version","mimeTypes","parse","parseSLPK","extensions","options","exports","_x","_parseSLPK","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","_options$slpk$path","_options$slpk","_options$slpk2","_args","wrap","_callee$","_context","prev","next","length","undefined","parseSLPKFromProvider","DataViewFile","DataView","abrupt","sent","getFile","slpk","path","pathMode","stop"],"sources":["../../src/i3s-slpk-loader.ts"],"sourcesContent":["import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {DataViewFile} from '@loaders.gl/zip';\nimport {parseSLPK as parseSLPKFromProvider} from './lib/parsers/parse-slpk/parse-slpk';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** options to load data from SLPK */\nexport type SLPKLoaderOptions = LoaderOptions & {\n slpk?: {\n /** path inside the slpk archive */\n path?: string;\n /** mode of the path */\n pathMode?: 'http' | 'raw';\n };\n};\n\n/**\n * Loader for SLPK - Scene Layer Package\n */\nexport const SLPKLoader: LoaderWithParser<Buffer, never, SLPKLoaderOptions> = {\n name: 'I3S SLPK (Scene Layer Package)',\n id: 'slpk',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/octet-stream'],\n parse: parseSLPK,\n extensions: ['slpk'],\n options: {}\n};\n\n/**\n * returns a single file from the slpk archive\n * @param data slpk archive data\n * @param options options\n * @returns requested file\n */\n\nasync function parseSLPK(data: ArrayBuffer, options: SLPKLoaderOptions = {}) {\n return (await parseSLPKFromProvider(new DataViewFile(new DataView(data)))).getFile(\n options.slpk?.path ?? '',\n options.slpk?.pathMode\n );\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAIA,IAAME,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAepE,IAAMC,UAA8D,GAAG;EAC5EC,IAAI,EAAE,gCAAgC;EACtCC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,KAAK,EAAEC,SAAS;EAChBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE,CAAC;AACZ,CAAC;AAACC,OAAA,CAAAV,UAAA,GAAAA,UAAA;AAAA,SASaO,SAASA,CAAAI,EAAA;EAAA,OAAAC,UAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,WAAA;EAAAA,UAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAxB,SAAAC,QAAyBC,IAAiB;IAAA,IAAAC,kBAAA,EAAAC,aAAA,EAAAC,cAAA;IAAA,IAAAd,OAAA;MAAAe,KAAA,GAAAV,SAAA;IAAA,OAAAG,YAAA,CAAAD,OAAA,CAAAS,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAEpB,OAA0B,GAAAe,KAAA,CAAAM,MAAA,QAAAN,KAAA,QAAAO,SAAA,GAAAP,KAAA,MAAG,CAAC,CAAC;UAAAG,QAAA,CAAAE,IAAA;UAAA,OAC3D,IAAAG,oBAAqB,EAAC,IAAIC,iBAAY,CAAC,IAAIC,QAAQ,CAACd,IAAI,CAAC,CAAC,CAAC;QAAA;UAAA,OAAAO,QAAA,CAAAQ,MAAA,WAAAR,QAAA,CAAAS,IAAA,CAAEC,OAAO,EAAAhB,kBAAA,IAAAC,aAAA,GAChFb,OAAO,CAAC6B,IAAI,cAAAhB,aAAA,uBAAZA,aAAA,CAAciB,IAAI,cAAAlB,kBAAA,cAAAA,kBAAA,GAAI,EAAE,GAAAE,cAAA,GACxBd,OAAO,CAAC6B,IAAI,cAAAf,cAAA,uBAAZA,cAAA,CAAciB,QAAQ;QAAA;QAAA;UAAA,OAAAb,QAAA,CAAAc,IAAA;MAAA;IAAA,GAAAtB,OAAA;EAAA,CAEzB;EAAA,OAAAP,UAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
1
+ {"version":3,"file":"i3s-slpk-loader.js","names":["_loaderUtils","require","_parseSlpk","VERSION","SLPKLoader","name","id","module","version","mimeTypes","parse","parseSLPK","extensions","options","exports","_x","_parseSLPK","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","_options$slpk$path","_options$slpk","_options$slpk2","_args","wrap","_callee$","_context","prev","next","length","undefined","parseSLPKFromProvider","DataViewFile","DataView","abrupt","sent","getFile","slpk","path","pathMode","stop"],"sources":["../../src/i3s-slpk-loader.ts"],"sourcesContent":["import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {DataViewFile} from '@loaders.gl/loader-utils';\nimport {parseSLPK as parseSLPKFromProvider} from './lib/parsers/parse-slpk/parse-slpk';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** options to load data from SLPK */\nexport type SLPKLoaderOptions = LoaderOptions & {\n slpk?: {\n /** path inside the slpk archive */\n path?: string;\n /** mode of the path */\n pathMode?: 'http' | 'raw';\n };\n};\n\n/**\n * Loader for SLPK - Scene Layer Package\n */\nexport const SLPKLoader: LoaderWithParser<Buffer, never, SLPKLoaderOptions> = {\n name: 'I3S SLPK (Scene Layer Package)',\n id: 'slpk',\n module: 'i3s',\n version: VERSION,\n mimeTypes: ['application/octet-stream'],\n parse: parseSLPK,\n extensions: ['slpk'],\n options: {}\n};\n\n/**\n * returns a single file from the slpk archive\n * @param data slpk archive data\n * @param options options\n * @returns requested file\n */\n\nasync function parseSLPK(data: ArrayBuffer, options: SLPKLoaderOptions = {}) {\n return (await parseSLPKFromProvider(new DataViewFile(new DataView(data)))).getFile(\n options.slpk?.path ?? '',\n options.slpk?.pathMode\n );\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAIA,IAAME,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAepE,IAAMC,UAA8D,GAAG;EAC5EC,IAAI,EAAE,gCAAgC;EACtCC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEL,OAAO;EAChBM,SAAS,EAAE,CAAC,0BAA0B,CAAC;EACvCC,KAAK,EAAEC,SAAS;EAChBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE,CAAC;AACZ,CAAC;AAACC,OAAA,CAAAV,UAAA,GAAAA,UAAA;AAAA,SASaO,SAASA,CAAAI,EAAA;EAAA,OAAAC,UAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,WAAA;EAAAA,UAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAxB,SAAAC,QAAyBC,IAAiB;IAAA,IAAAC,kBAAA,EAAAC,aAAA,EAAAC,cAAA;IAAA,IAAAd,OAAA;MAAAe,KAAA,GAAAV,SAAA;IAAA,OAAAG,YAAA,CAAAD,OAAA,CAAAS,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAEpB,OAA0B,GAAAe,KAAA,CAAAM,MAAA,QAAAN,KAAA,QAAAO,SAAA,GAAAP,KAAA,MAAG,CAAC,CAAC;UAAAG,QAAA,CAAAE,IAAA;UAAA,OAC3D,IAAAG,oBAAqB,EAAC,IAAIC,yBAAY,CAAC,IAAIC,QAAQ,CAACd,IAAI,CAAC,CAAC,CAAC;QAAA;UAAA,OAAAO,QAAA,CAAAQ,MAAA,WAAAR,QAAA,CAAAS,IAAA,CAAEC,OAAO,EAAAhB,kBAAA,IAAAC,aAAA,GAChFb,OAAO,CAAC6B,IAAI,cAAAhB,aAAA,uBAAZA,aAAA,CAAciB,IAAI,cAAAlB,kBAAA,cAAAA,kBAAA,GAAI,EAAE,GAAAE,cAAA,GACxBd,OAAO,CAAC6B,IAAI,cAAAf,cAAA,uBAAZA,cAAA,CAAciB,QAAQ;QAAA;QAAA;UAAA,OAAAb,QAAA,CAAAc,IAAA;MAAA;IAAA,GAAAtB,OAAA;EAAA,CAEzB;EAAA,OAAAP,UAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
@@ -12,6 +12,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
12
12
  var _core = require("@loaders.gl/core");
13
13
  var _core2 = require("@math.gl/core");
14
14
  var _geospatial = require("@math.gl/geospatial");
15
+ var _loaderUtils = require("@loaders.gl/loader-utils");
15
16
  var _images = require("@loaders.gl/images");
16
17
  var _draco = require("@loaders.gl/draco");
17
18
  var _textures = require("@loaders.gl/textures");
@@ -44,7 +45,7 @@ function parseI3STileContent(_x, _x2, _x3, _x4, _x5) {
44
45
  }
45
46
  function _parseI3STileContent() {
46
47
  _parseI3STileContent = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, tileOptions, tilesetOptions, options, context) {
47
- var content, _options$i3s, url, loader, response, _arrayBuffer, _options, texture;
48
+ var content, _options$i3s, url, loader, response, _arrayBuffer, _options, texture, _texture, _texture2;
48
49
  return _regenerator.default.wrap(function _callee$(_context) {
49
50
  while (1) switch (_context.prev = _context.next) {
50
51
  case 0:
@@ -59,7 +60,7 @@ function _parseI3STileContent() {
59
60
  texture: null
60
61
  };
61
62
  if (!tileOptions.textureUrl) {
62
- _context.next = 35;
63
+ _context.next = 37;
63
64
  break;
64
65
  }
65
66
  url = (0, _urlUtils.getUrlWithToken)(tileOptions.textureUrl, options === null || options === void 0 ? void 0 : (_options$i3s = options.i3s) === null || _options$i3s === void 0 ? void 0 : _options$i3s.token);
@@ -73,11 +74,11 @@ function _parseI3STileContent() {
73
74
  case 9:
74
75
  _arrayBuffer = _context.sent;
75
76
  if (!(options !== null && options !== void 0 && options.i3s.decodeTextures)) {
76
- _context.next = 34;
77
+ _context.next = 36;
77
78
  break;
78
79
  }
79
80
  if (!(loader === _images.ImageLoader)) {
80
- _context.next = 26;
81
+ _context.next = 28;
81
82
  break;
82
83
  }
83
84
  _options = _objectSpread(_objectSpread({}, tileOptions.textureLoaderOptions), {}, {
@@ -87,59 +88,61 @@ function _parseI3STileContent() {
87
88
  });
88
89
  _context.prev = 13;
89
90
  _context.next = 16;
90
- return context.parse(_arrayBuffer, _options);
91
+ return (0, _loaderUtils.parseFromContext)(_arrayBuffer, [], _options, context);
91
92
  case 16:
92
- content.texture = _context.sent;
93
- _context.next = 24;
93
+ texture = _context.sent;
94
+ content.texture = texture;
95
+ _context.next = 26;
94
96
  break;
95
- case 19:
96
- _context.prev = 19;
97
+ case 20:
98
+ _context.prev = 20;
97
99
  _context.t0 = _context["catch"](13);
98
- _context.next = 23;
99
- return (0, _core.parse)(_arrayBuffer, loader, _options);
100
- case 23:
101
- content.texture = _context.sent;
100
+ _context.next = 24;
101
+ return (0, _core.parse)(_arrayBuffer, loader, _options, context);
102
102
  case 24:
103
- _context.next = 32;
104
- break;
103
+ _texture = _context.sent;
104
+ content.texture = _texture;
105
105
  case 26:
106
+ _context.next = 34;
107
+ break;
108
+ case 28:
106
109
  if (!(loader === _textures.CompressedTextureLoader || loader === _textures.BasisLoader)) {
107
- _context.next = 32;
110
+ _context.next = 34;
108
111
  break;
109
112
  }
110
- _context.next = 29;
113
+ _context.next = 31;
111
114
  return (0, _core.load)(_arrayBuffer, loader, tileOptions.textureLoaderOptions);
112
- case 29:
113
- texture = _context.sent;
115
+ case 31:
116
+ _texture2 = _context.sent;
114
117
  if (loader === _textures.BasisLoader) {
115
- texture = texture[0];
118
+ _texture2 = _texture2[0];
116
119
  }
117
120
  content.texture = {
118
121
  compressed: true,
119
122
  mipmaps: false,
120
- width: texture[0].width,
121
- height: texture[0].height,
122
- data: texture
123
+ width: _texture2[0].width,
124
+ height: _texture2[0].height,
125
+ data: _texture2
123
126
  };
124
- case 32:
125
- _context.next = 35;
126
- break;
127
127
  case 34:
128
+ _context.next = 37;
129
+ break;
130
+ case 36:
128
131
  content.texture = _arrayBuffer;
129
- case 35:
132
+ case 37:
130
133
  content.material = makePbrMaterial(tileOptions.materialDefinition, content.texture);
131
134
  if (content.material) {
132
135
  content.texture = null;
133
136
  }
134
- _context.next = 39;
137
+ _context.next = 41;
135
138
  return parseI3SNodeGeometry(arrayBuffer, content, tileOptions, tilesetOptions, options);
136
- case 39:
139
+ case 41:
137
140
  return _context.abrupt("return", _context.sent);
138
- case 40:
141
+ case 42:
139
142
  case "end":
140
143
  return _context.stop();
141
144
  }
142
- }, _callee, null, [[13, 19]]);
145
+ }, _callee, null, [[13, 20]]);
143
146
  }));
144
147
  return _parseI3STileContent.apply(this, arguments);
145
148
  }