@loaders.gl/i3s 4.0.0-alpha.18 → 4.0.0-alpha.19

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.
package/dist/dist.min.js CHANGED
@@ -1250,32 +1250,33 @@
1250
1250
  });
1251
1251
 
1252
1252
  // ../worker-utils/src/lib/library-utils/library-utils.ts
1253
- async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
1253
+ async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
1254
1254
  if (moduleName) {
1255
- libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
1255
+ libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
1256
1256
  }
1257
1257
  loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
1258
1258
  return await loadLibraryPromises[libraryUrl];
1259
1259
  }
1260
- function getLibraryUrl(library, moduleName, options) {
1261
- if (library.startsWith("http")) {
1260
+ function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
1261
+ if (!options.useLocalLibraries && library.startsWith("http")) {
1262
1262
  return library;
1263
1263
  }
1264
+ libraryName = libraryName || library;
1264
1265
  const modules = options.modules || {};
1265
- if (modules[library]) {
1266
- return modules[library];
1266
+ if (modules[libraryName]) {
1267
+ return modules[libraryName];
1267
1268
  }
1268
1269
  if (!isBrowser2) {
1269
- return `modules/${moduleName}/dist/libs/${library}`;
1270
+ return `modules/${moduleName}/dist/libs/${libraryName}`;
1270
1271
  }
1271
1272
  if (options.CDN) {
1272
1273
  assert2(options.CDN.startsWith("http"));
1273
- return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${library}`;
1274
+ return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${libraryName}`;
1274
1275
  }
1275
1276
  if (isWorker) {
1276
- return `../src/libs/${library}`;
1277
+ return `../src/libs/${libraryName}`;
1277
1278
  }
1278
- return `modules/${moduleName}/src/libs/${library}`;
1279
+ return `modules/${moduleName}/src/libs/${libraryName}`;
1279
1280
  }
1280
1281
  async function loadLibraryFromFile(libraryUrl) {
1281
1282
  if (libraryUrl.endsWith("wasm")) {
@@ -2672,6 +2673,7 @@
2672
2673
  mimeType: void 0,
2673
2674
  nothrow: false,
2674
2675
  log: new ConsoleLog(),
2676
+ useLocalLibraries: false,
2675
2677
  CDN: "https://unpkg.com/@loaders.gl",
2676
2678
  worker: true,
2677
2679
  maxConcurrency: 3,
@@ -7741,13 +7743,13 @@
7741
7743
  let wasmBinary;
7742
7744
  switch (options.draco && options.draco.decoderType) {
7743
7745
  case "js":
7744
- DracoDecoderModule = await loadLibrary(DRACO_JS_DECODER_URL, "draco", options);
7746
+ DracoDecoderModule = await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER], "draco", options, DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER);
7745
7747
  break;
7746
7748
  case "wasm":
7747
7749
  default:
7748
7750
  [DracoDecoderModule, wasmBinary] = await Promise.all([
7749
- await loadLibrary(DRACO_WASM_WRAPPER_URL, "draco", options),
7750
- await loadLibrary(DRACO_WASM_DECODER_URL, "draco", options)
7751
+ await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER], "draco", options, DRACO_EXTERNAL_LIBRARIES.DECODER),
7752
+ await loadLibrary(DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM], "draco", options, DRACO_EXTERNAL_LIBRARIES.DECODER_WASM)
7751
7753
  ]);
7752
7754
  }
7753
7755
  DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
@@ -7765,17 +7767,25 @@
7765
7767
  });
7766
7768
  });
7767
7769
  }
7768
- var DRACO_DECODER_VERSION, DRACO_ENCODER_VERSION, STATIC_DECODER_URL, DRACO_JS_DECODER_URL, DRACO_WASM_WRAPPER_URL, DRACO_WASM_DECODER_URL, DRACO_ENCODER_URL, loadDecoderPromise;
7770
+ var DRACO_DECODER_VERSION, DRACO_ENCODER_VERSION, STATIC_DECODER_URL, DRACO_EXTERNAL_LIBRARIES, DRACO_EXTERNAL_LIBRARY_URLS, loadDecoderPromise;
7769
7771
  var init_draco_module_loader = __esm({
7770
7772
  "../draco/src/lib/draco-module-loader.ts"() {
7771
7773
  init_src();
7772
7774
  DRACO_DECODER_VERSION = "1.5.5";
7773
7775
  DRACO_ENCODER_VERSION = "1.4.1";
7774
7776
  STATIC_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_DECODER_VERSION}`;
7775
- DRACO_JS_DECODER_URL = `${STATIC_DECODER_URL}/draco_decoder.js`;
7776
- DRACO_WASM_WRAPPER_URL = `${STATIC_DECODER_URL}/draco_wasm_wrapper.js`;
7777
- DRACO_WASM_DECODER_URL = `${STATIC_DECODER_URL}/draco_decoder.wasm`;
7778
- DRACO_ENCODER_URL = `https://raw.githubusercontent.com/google/draco/${DRACO_ENCODER_VERSION}/javascript/draco_encoder.js`;
7777
+ DRACO_EXTERNAL_LIBRARIES = {
7778
+ DECODER: "draco_wasm_wrapper.js",
7779
+ DECODER_WASM: "draco_decoder.wasm",
7780
+ FALLBACK_DECODER: "draco_decoder.js",
7781
+ ENCODER: "draco_encoder.js"
7782
+ };
7783
+ DRACO_EXTERNAL_LIBRARY_URLS = {
7784
+ [DRACO_EXTERNAL_LIBRARIES.DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER}`,
7785
+ [DRACO_EXTERNAL_LIBRARIES.DECODER_WASM]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER_WASM}`,
7786
+ [DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER}`,
7787
+ [DRACO_EXTERNAL_LIBRARIES.ENCODER]: `https://raw.githubusercontent.com/google/draco/${DRACO_ENCODER_VERSION}/javascript/${DRACO_EXTERNAL_LIBRARIES.ENCODER}`
7788
+ };
7779
7789
  }
7780
7790
  });
7781
7791
 
@@ -7823,8 +7833,8 @@
7823
7833
  let BASIS = null;
7824
7834
  let wasmBinary = null;
7825
7835
  [BASIS, wasmBinary] = await Promise.all([
7826
- await loadLibrary("basis_transcoder.js", "textures", options),
7827
- await loadLibrary("basis_transcoder.wasm", "textures", options)
7836
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options),
7837
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)
7828
7838
  ]);
7829
7839
  BASIS = BASIS || globalThis.BASIS;
7830
7840
  return await initializeBasisTranscoderModule(BASIS, wasmBinary);
@@ -7854,8 +7864,8 @@
7854
7864
  let BASIS_ENCODER = null;
7855
7865
  let wasmBinary = null;
7856
7866
  [BASIS_ENCODER, wasmBinary] = await Promise.all([
7857
- await loadLibrary(BASIS_CDN_ENCODER_JS, "textures", options),
7858
- await loadLibrary(BASIS_CDN_ENCODER_WASM, "textures", options)
7867
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options),
7868
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)
7859
7869
  ]);
7860
7870
  BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
7861
7871
  return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
@@ -7873,13 +7883,16 @@
7873
7883
  });
7874
7884
  });
7875
7885
  }
7876
- var VERSION8, BASIS_CDN_ENCODER_WASM, BASIS_CDN_ENCODER_JS, loadBasisTranscoderPromise, loadBasisEncoderPromise;
7886
+ var BASIS_EXTERNAL_LIBRARIES, loadBasisTranscoderPromise, loadBasisEncoderPromise;
7877
7887
  var init_basis_module_loader = __esm({
7878
7888
  "../textures/src/lib/parsers/basis-module-loader.ts"() {
7879
7889
  init_src();
7880
- VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
7881
- BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION8}/dist/libs/basis_encoder.wasm`;
7882
- BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION8}/dist/libs/basis_encoder.js`;
7890
+ BASIS_EXTERNAL_LIBRARIES = {
7891
+ TRANSCODER: "basis_transcoder.js",
7892
+ TRANSCODER_WASM: "basis_transcoder.wasm",
7893
+ ENCODER: "basis_encoder.js",
7894
+ ENCODER_WASM: "basis_encoder.wasm"
7895
+ };
7883
7896
  }
7884
7897
  });
7885
7898
 
@@ -9025,20 +9038,20 @@
9025
9038
  }
9026
9039
  return value;
9027
9040
  }
9028
- var VERSION9, EMPTY_VALUE, REJECTED_STATUS, I3SAttributeLoader;
9041
+ var VERSION8, EMPTY_VALUE, REJECTED_STATUS, I3SAttributeLoader;
9029
9042
  var init_i3s_attribute_loader = __esm({
9030
9043
  "src/i3s-attribute-loader.ts"() {
9031
9044
  init_src3();
9032
9045
  init_parse_i3s_attribute();
9033
9046
  init_url_utils2();
9034
- VERSION9 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
9047
+ VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
9035
9048
  EMPTY_VALUE = "";
9036
9049
  REJECTED_STATUS = "rejected";
9037
9050
  I3SAttributeLoader = {
9038
9051
  name: "I3S Attribute",
9039
9052
  id: "i3s-attribute",
9040
9053
  module: "i3s",
9041
- version: VERSION9,
9054
+ version: VERSION8,
9042
9055
  mimeTypes: ["application/binary"],
9043
9056
  parse: async (arrayBuffer, options) => parseI3STileAttribute(arrayBuffer, options),
9044
9057
  extensions: ["bin"],
@@ -9521,17 +9534,17 @@
9521
9534
  }
9522
9535
  return await parseI3STileContent(data, tileOptions, tilesetOptions, options, context);
9523
9536
  }
9524
- var VERSION10, I3SContentLoader;
9537
+ var VERSION9, I3SContentLoader;
9525
9538
  var init_i3s_content_loader = __esm({
9526
9539
  "src/i3s-content-loader.ts"() {
9527
9540
  init_parse_i3s_tile_content();
9528
- VERSION10 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
9541
+ VERSION9 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
9529
9542
  I3SContentLoader = {
9530
9543
  name: "I3S Content (Indexed Scene Layers)",
9531
9544
  id: "i3s-content",
9532
9545
  module: "i3s",
9533
9546
  worker: true,
9534
- version: VERSION10,
9547
+ version: VERSION9,
9535
9548
  mimeTypes: ["application/octet-stream"],
9536
9549
  parse: parse3,
9537
9550
  extensions: ["bin"],
@@ -10135,15 +10148,15 @@
10135
10148
  async function parseNodePage(data, options) {
10136
10149
  return JSON.parse(new TextDecoder().decode(data));
10137
10150
  }
10138
- var VERSION11, I3SNodePageLoader;
10151
+ var VERSION10, I3SNodePageLoader;
10139
10152
  var init_i3s_node_page_loader = __esm({
10140
10153
  "src/i3s-node-page-loader.ts"() {
10141
- VERSION11 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
10154
+ VERSION10 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
10142
10155
  I3SNodePageLoader = {
10143
10156
  name: "I3S Node Page",
10144
10157
  id: "i3s-node-page",
10145
10158
  module: "i3s",
10146
- version: VERSION11,
10159
+ version: VERSION10,
10147
10160
  mimeTypes: ["application/json"],
10148
10161
  parse: parseNodePage,
10149
10162
  extensions: ["json"],
@@ -10407,6 +10420,7 @@
10407
10420
  }
10408
10421
  return {
10409
10422
  ...tileset,
10423
+ loader: I3SLoader,
10410
10424
  url,
10411
10425
  basePath: url,
10412
10426
  type: TILESET_TYPE.I3S,
@@ -10478,14 +10492,14 @@
10478
10492
  }
10479
10493
  return null;
10480
10494
  }
10481
- var VERSION12, TILESET_REGEX, TILE_HEADER_REGEX, SLPK_HEX, POINT_CLOUD, I3SLoader;
10495
+ var VERSION11, TILESET_REGEX, TILE_HEADER_REGEX, SLPK_HEX, POINT_CLOUD, I3SLoader;
10482
10496
  var init_i3s_loader = __esm({
10483
10497
  "src/i3s-loader.ts"() {
10484
10498
  init_src3();
10485
10499
  init_i3s_content_loader();
10486
10500
  init_parse_i3s();
10487
10501
  init_constants();
10488
- VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
10502
+ VERSION11 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
10489
10503
  TILESET_REGEX = /layers\/[0-9]+$/;
10490
10504
  TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
10491
10505
  SLPK_HEX = "504b0304";
@@ -10494,7 +10508,7 @@
10494
10508
  name: "I3S (Indexed Scene Layers)",
10495
10509
  id: "i3s",
10496
10510
  module: "i3s",
10497
- version: VERSION12,
10511
+ version: VERSION11,
10498
10512
  mimeTypes: ["application/octet-stream"],
10499
10513
  parse: parseI3S,
10500
10514
  extensions: ["bin"],
@@ -15439,17 +15453,17 @@
15439
15453
  async function parseSLPK2(data, options = {}) {
15440
15454
  return (await parseSLPK(new DataViewFileProvider(new DataView(data)))).getFile(options.slpk?.path ?? "", options.slpk?.pathMode);
15441
15455
  }
15442
- var VERSION13, SLPKLoader;
15456
+ var VERSION12, SLPKLoader;
15443
15457
  var init_i3s_slpk_loader = __esm({
15444
15458
  "src/i3s-slpk-loader.ts"() {
15445
15459
  init_parse_slpk();
15446
15460
  init_data_view_file_provider();
15447
- VERSION13 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
15461
+ VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
15448
15462
  SLPKLoader = {
15449
15463
  name: "I3S SLPK (Scene Layer Package)",
15450
15464
  id: "slpk",
15451
15465
  module: "i3s",
15452
- version: VERSION13,
15466
+ version: VERSION12,
15453
15467
  mimeTypes: ["application/octet-stream"],
15454
15468
  parse: parseSLPK2,
15455
15469
  extensions: ["slpk"],
@@ -15502,16 +15516,16 @@
15502
15516
  }
15503
15517
  return parseBuildingSceneLayer(data, context.url);
15504
15518
  }
15505
- var VERSION14, I3SBuildingSceneLayerLoader;
15519
+ var VERSION13, I3SBuildingSceneLayerLoader;
15506
15520
  var init_i3s_building_scene_layer_loader = __esm({
15507
15521
  "src/i3s-building-scene-layer-loader.ts"() {
15508
15522
  init_parse_i3s_building_scene_layer();
15509
- VERSION14 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
15523
+ VERSION13 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
15510
15524
  I3SBuildingSceneLayerLoader = {
15511
15525
  name: "I3S Building Scene Layer",
15512
15526
  id: "i3s-building-scene-layer",
15513
15527
  module: "i3s",
15514
- version: VERSION14,
15528
+ version: VERSION13,
15515
15529
  mimeTypes: ["application/json"],
15516
15530
  parse: parse4,
15517
15531
  extensions: ["json"],
@@ -15592,16 +15606,16 @@
15592
15606
  async function parse5(data) {
15593
15607
  return parseWebscene(data);
15594
15608
  }
15595
- var VERSION15, ArcGisWebSceneLoader;
15609
+ var VERSION14, ArcGisWebSceneLoader;
15596
15610
  var init_arcgis_webscene_loader = __esm({
15597
15611
  "src/arcgis-webscene-loader.ts"() {
15598
15612
  init_parse_arcgis_webscene();
15599
- VERSION15 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
15613
+ VERSION14 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
15600
15614
  ArcGisWebSceneLoader = {
15601
15615
  name: "ArcGIS Web Scene Loader",
15602
15616
  id: "arcgis-web-scene",
15603
15617
  module: "i3s",
15604
- version: VERSION15,
15618
+ version: VERSION14,
15605
15619
  mimeTypes: ["application/json"],
15606
15620
  parse: parse5,
15607
15621
  extensions: ["json"],
@@ -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.18" !== 'undefined' ? "4.0.0-alpha.18" : 'beta';
11
+ var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : '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.18" !== 'undefined' ? "4.0.0-alpha.18" : 'latest';
18
+ var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : '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.18" !== 'undefined' ? "4.0.0-alpha.18" : 'beta';
11
+ var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : '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.18" !== 'undefined' ? "4.0.0-alpha.18" : 'beta';
11
+ var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : '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.18" !== 'undefined' ? "4.0.0-alpha.18" : 'latest';
15
+ var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : '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';
@@ -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.18" !== 'undefined' ? "4.0.0-alpha.18" : 'latest';
10
+ var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'latest';
11
11
  function parseNodePage(_x, _x2) {
12
12
  return _parseNodePage.apply(this, arguments);
13
13
  }
@@ -9,7 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _parseSlpk = require("./lib/parsers/parse-slpk/parse-slpk");
11
11
  var _dataViewFileProvider = require("./lib/parsers/parse-zip/data-view-file-provider");
12
- var VERSION = typeof "4.0.0-alpha.18" !== 'undefined' ? "4.0.0-alpha.18" : 'latest';
12
+ var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'latest';
13
13
  var SLPKLoader = {
14
14
  name: 'I3S SLPK (Scene Layer Package)',
15
15
  id: 'slpk',
@@ -107,6 +107,7 @@ function _normalizeTilesetData() {
107
107
  root = _context.sent;
108
108
  case 12:
109
109
  return _context.abrupt("return", _objectSpread(_objectSpread({}, tileset), {}, {
110
+ loader: _i3sLoader.I3SLoader,
110
111
  url: url,
111
112
  basePath: url,
112
113
  type: _tiles.TILESET_TYPE.I3S,
@@ -1 +1 @@
1
- {"version":3,"file":"parse-i3s.js","names":["_culling","require","_geospatial","_core","_tiles","_i3sNodepagesTiles","_interopRequireDefault","_urlUtils","_i3sLoader","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","normalizeTileData","tile","context","url","contentUrl","geometryData","concat","href","textureUrl","textureData","attributeUrls","attributeData","generateTileAttributeUrls","children","normalizeTileNonUrlData","textureFormat","isDracoGeometry","_tile$lodSelection","_tile$lodSelection2","boundingVolume","mbs","sphere","_toConsumableArray2","Ellipsoid","WGS84","cartographicToCartesian","slice","obb","box","center","halfSize","quaternion","OrientedBoundingBox","fromCenterHalfSizeQuaternion","boundingSphere","getBoundingSphere","radius","lodMetricType","lodSelection","metricType","lodMetricValue","maxError","type","TILE_TYPE","MESH","refine","TILE_REFINEMENT","REPLACE","normalizeTilesetData","_x","_x2","_x3","_normalizeTilesetData","_asyncToGenerator2","_regenerator","mark","_callee","tileset","options","nodePagesTile","root","_options$i3s","rootNodeUrl","wrap","_callee$","_context","prev","next","nodePages","I3SNodePagesTiles","formTileFromNodePages","sent","getUrlWithToken","i3s","token","load","I3SLoader","loadContent","isTileHeader","isTileset","abrupt","basePath","TILESET_TYPE","I3S","stop"],"sources":["../../../../src/lib/parsers/parse-i3s.ts"],"sourcesContent":["import {OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\nimport {load} from '@loaders.gl/core';\nimport {TILE_TYPE, TILE_REFINEMENT, TILESET_TYPE} from '@loaders.gl/tiles';\nimport I3SNodePagesTiles from '../helpers/i3s-nodepages-tiles';\nimport {generateTileAttributeUrls, getUrlWithToken} from '../utils/url-utils';\nimport {\n I3STilesetHeader,\n I3STileHeader,\n Mbs,\n I3SMinimalNodeData,\n Node3DIndexDocument,\n SceneLayer3D\n} from '../../types';\nimport type {LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\nimport { I3SLoader } from '../../i3s-loader';\n\nexport function normalizeTileData(tile : Node3DIndexDocument, context: LoaderContext): I3STileHeader {\n const url: string = context.url || '';\n let contentUrl: string | undefined;\n if (tile.geometryData) {\n contentUrl = `${url}/${tile.geometryData[0].href}`;\n }\n\n let textureUrl: string | undefined;\n if (tile.textureData) {\n textureUrl = `${url}/${tile.textureData[0].href}`;\n }\n\n let attributeUrls: string[] | undefined;\n if (tile.attributeData) {\n attributeUrls = generateTileAttributeUrls(url, tile);\n }\n\n const children = tile.children || [];\n\n return normalizeTileNonUrlData({\n ...tile,\n children,\n url,\n contentUrl,\n textureUrl,\n textureFormat: 'jpg', // `jpg` format will cause `ImageLoader` usage that will be able to handle `png` as well\n attributeUrls,\n isDracoGeometry: false\n });\n}\n\nexport function normalizeTileNonUrlData(tile : I3SMinimalNodeData): I3STileHeader {\n const boundingVolume: {box?: number[]; sphere?: number[]} = {};\n let mbs: Mbs = [0, 0, 0, 1];\n if (tile.mbs) {\n mbs = tile.mbs;\n boundingVolume.sphere = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)), // cartesian center of sphere\n tile.mbs[3] // radius of sphere\n ] as Mbs;\n } else if (tile.obb) {\n boundingVolume.box = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center), // cartesian center of box\n ...tile.obb.halfSize, // halfSize\n ...tile.obb.quaternion // quaternion\n ];\n const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(\n boundingVolume.box.slice(0, 3),\n tile.obb.halfSize,\n tile.obb.quaternion\n );\n const boundingSphere = obb.getBoundingSphere();\n boundingVolume.sphere = [...boundingSphere.center , boundingSphere.radius] as Mbs;\n mbs = [...tile.obb.center, boundingSphere.radius] as Mbs;\n }\n\n const lodMetricType = tile.lodSelection?.[0].metricType;\n const lodMetricValue = tile.lodSelection?.[0].maxError;\n const type = TILE_TYPE.MESH;\n /**\n * I3S specification supports only REPLACE\n */\n const refine = TILE_REFINEMENT.REPLACE;\n\n return {...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, type, refine};\n}\n\nexport async function normalizeTilesetData(tileset : SceneLayer3D, options : LoaderOptions, context: LoaderContext): Promise<I3STilesetHeader> {\n const url = context.url;\n let nodePagesTile: I3SNodePagesTiles | undefined;\n let root: I3STileHeader;\n if (tileset.nodePages) {\n nodePagesTile = new I3SNodePagesTiles(tileset, url, options);\n root = await nodePagesTile.formTileFromNodePages(0);\n } else {\n // @ts-expect-error options is not properly typed\n const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);\n // eslint-disable-next-line no-use-before-define\n root = await load(rootNodeUrl, I3SLoader, {\n ...options,\n i3s: {\n // @ts-expect-error options is not properly typed\n ...options.i3s,\n loadContent: false, isTileHeader: true, isTileset: false}\n });\n }\n\n return {\n ...tileset,\n url,\n basePath: url,\n type: TILESET_TYPE.I3S,\n nodePagesTile,\n root,\n lodMetricType: root.lodMetricType,\n lodMetricValue: root.lodMetricValue\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"parse-i3s.js","names":["_culling","require","_geospatial","_core","_tiles","_i3sNodepagesTiles","_interopRequireDefault","_urlUtils","_i3sLoader","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","normalizeTileData","tile","context","url","contentUrl","geometryData","concat","href","textureUrl","textureData","attributeUrls","attributeData","generateTileAttributeUrls","children","normalizeTileNonUrlData","textureFormat","isDracoGeometry","_tile$lodSelection","_tile$lodSelection2","boundingVolume","mbs","sphere","_toConsumableArray2","Ellipsoid","WGS84","cartographicToCartesian","slice","obb","box","center","halfSize","quaternion","OrientedBoundingBox","fromCenterHalfSizeQuaternion","boundingSphere","getBoundingSphere","radius","lodMetricType","lodSelection","metricType","lodMetricValue","maxError","type","TILE_TYPE","MESH","refine","TILE_REFINEMENT","REPLACE","normalizeTilesetData","_x","_x2","_x3","_normalizeTilesetData","_asyncToGenerator2","_regenerator","mark","_callee","tileset","options","nodePagesTile","root","_options$i3s","rootNodeUrl","wrap","_callee$","_context","prev","next","nodePages","I3SNodePagesTiles","formTileFromNodePages","sent","getUrlWithToken","i3s","token","load","I3SLoader","loadContent","isTileHeader","isTileset","abrupt","loader","basePath","TILESET_TYPE","I3S","stop"],"sources":["../../../../src/lib/parsers/parse-i3s.ts"],"sourcesContent":["import {OrientedBoundingBox} from '@math.gl/culling';\nimport {Ellipsoid} from '@math.gl/geospatial';\nimport {load} from '@loaders.gl/core';\nimport {TILE_TYPE, TILE_REFINEMENT, TILESET_TYPE} from '@loaders.gl/tiles';\nimport I3SNodePagesTiles from '../helpers/i3s-nodepages-tiles';\nimport {generateTileAttributeUrls, getUrlWithToken} from '../utils/url-utils';\nimport {\n I3STilesetHeader,\n I3STileHeader,\n Mbs,\n I3SMinimalNodeData,\n Node3DIndexDocument,\n SceneLayer3D\n} from '../../types';\nimport type {LoaderOptions, LoaderContext} from '@loaders.gl/loader-utils';\nimport { I3SLoader } from '../../i3s-loader';\n\nexport function normalizeTileData(tile : Node3DIndexDocument, context: LoaderContext): I3STileHeader {\n const url: string = context.url || '';\n let contentUrl: string | undefined;\n if (tile.geometryData) {\n contentUrl = `${url}/${tile.geometryData[0].href}`;\n }\n\n let textureUrl: string | undefined;\n if (tile.textureData) {\n textureUrl = `${url}/${tile.textureData[0].href}`;\n }\n\n let attributeUrls: string[] | undefined;\n if (tile.attributeData) {\n attributeUrls = generateTileAttributeUrls(url, tile);\n }\n\n const children = tile.children || [];\n\n return normalizeTileNonUrlData({\n ...tile,\n children,\n url,\n contentUrl,\n textureUrl,\n textureFormat: 'jpg', // `jpg` format will cause `ImageLoader` usage that will be able to handle `png` as well\n attributeUrls,\n isDracoGeometry: false\n });\n}\n\nexport function normalizeTileNonUrlData(tile : I3SMinimalNodeData): I3STileHeader {\n const boundingVolume: {box?: number[]; sphere?: number[]} = {};\n let mbs: Mbs = [0, 0, 0, 1];\n if (tile.mbs) {\n mbs = tile.mbs;\n boundingVolume.sphere = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.mbs.slice(0, 3)), // cartesian center of sphere\n tile.mbs[3] // radius of sphere\n ] as Mbs;\n } else if (tile.obb) {\n boundingVolume.box = [\n ...Ellipsoid.WGS84.cartographicToCartesian(tile.obb.center), // cartesian center of box\n ...tile.obb.halfSize, // halfSize\n ...tile.obb.quaternion // quaternion\n ];\n const obb = new OrientedBoundingBox().fromCenterHalfSizeQuaternion(\n boundingVolume.box.slice(0, 3),\n tile.obb.halfSize,\n tile.obb.quaternion\n );\n const boundingSphere = obb.getBoundingSphere();\n boundingVolume.sphere = [...boundingSphere.center , boundingSphere.radius] as Mbs;\n mbs = [...tile.obb.center, boundingSphere.radius] as Mbs;\n }\n\n const lodMetricType = tile.lodSelection?.[0].metricType;\n const lodMetricValue = tile.lodSelection?.[0].maxError;\n const type = TILE_TYPE.MESH;\n /**\n * I3S specification supports only REPLACE\n */\n const refine = TILE_REFINEMENT.REPLACE;\n\n return {...tile, mbs, boundingVolume, lodMetricType, lodMetricValue, type, refine};\n}\n\nexport async function normalizeTilesetData(tileset : SceneLayer3D, options : LoaderOptions, context: LoaderContext): Promise<I3STilesetHeader> {\n const url = context.url;\n let nodePagesTile: I3SNodePagesTiles | undefined;\n let root: I3STileHeader;\n if (tileset.nodePages) {\n nodePagesTile = new I3SNodePagesTiles(tileset, url, options);\n root = await nodePagesTile.formTileFromNodePages(0);\n } else {\n // @ts-expect-error options is not properly typed\n const rootNodeUrl = getUrlWithToken(`${tileset.url}/nodes/root`, options.i3s?.token);\n // eslint-disable-next-line no-use-before-define\n root = await load(rootNodeUrl, I3SLoader, {\n ...options,\n i3s: {\n // @ts-expect-error options is not properly typed\n ...options.i3s,\n loadContent: false, isTileHeader: true, isTileset: false}\n });\n }\n\n return {\n ...tileset,\n loader: I3SLoader,\n url,\n basePath: url,\n type: TILESET_TYPE.I3S,\n nodePagesTile,\n root,\n lodMetricType: root.lodMetricType,\n lodMetricValue: root.lodMetricValue\n }\n}\n"],"mappings":"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"}