@loaders.gl/tile-converter 4.0.0-alpha.7 → 4.0.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/3d-tiles-attributes-worker.js +2 -2
  2. package/dist/3d-tiles-attributes-worker.js.map +2 -2
  3. package/dist/converter.min.js +67 -67
  4. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  5. package/dist/deps-installer/deps-installer.js +3 -2
  6. package/dist/dist.min.js +698 -340
  7. package/dist/es5/3d-tiles-attributes-worker.js +1 -1
  8. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  9. package/dist/es5/deps-installer/deps-installer.js +4 -3
  10. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  11. package/dist/es5/i3s-attributes-worker.js +1 -1
  12. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +2 -2
  13. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  14. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +6 -7
  15. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  16. package/dist/es5/i3s-converter/helpers/geometry-converter.js +25 -14
  17. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  18. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +45 -12
  19. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  20. package/dist/es5/i3s-converter/helpers/load-3d-tiles.js +82 -0
  21. package/dist/es5/i3s-converter/helpers/load-3d-tiles.js.map +1 -0
  22. package/dist/es5/i3s-converter/helpers/node-index-document.js +74 -45
  23. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -1
  24. package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js +111 -0
  25. package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -0
  26. package/dist/es5/i3s-converter/helpers/tileset-traversal.js +82 -0
  27. package/dist/es5/i3s-converter/helpers/tileset-traversal.js.map +1 -0
  28. package/dist/es5/i3s-converter/i3s-converter.js +545 -516
  29. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  30. package/dist/es5/i3s-converter/types.js +16 -0
  31. package/dist/es5/i3s-converter/types.js.map +1 -1
  32. package/dist/es5/i3s-server/README.md +19 -0
  33. package/dist/es5/i3s-server/app.js +10 -1
  34. package/dist/es5/i3s-server/app.js.map +1 -1
  35. package/dist/es5/i3s-server/controllers/slpk-controller.js +84 -0
  36. package/dist/es5/i3s-server/controllers/slpk-controller.js.map +1 -0
  37. package/dist/es5/i3s-server/routes/slpk-router.js +71 -0
  38. package/dist/es5/i3s-server/routes/slpk-router.js.map +1 -0
  39. package/dist/es5/i3s-server/utils/create-scene-server.js +17 -0
  40. package/dist/es5/i3s-server/utils/create-scene-server.js.map +1 -0
  41. package/dist/es5/lib/utils/file-utils.js +1 -1
  42. package/dist/es5/lib/utils/file-utils.js.map +1 -1
  43. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  44. package/dist/es5/pgm-loader.js +1 -1
  45. package/dist/esm/3d-tiles-attributes-worker.js +1 -1
  46. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  47. package/dist/esm/deps-installer/deps-installer.js +4 -3
  48. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  49. package/dist/esm/i3s-attributes-worker.js +1 -1
  50. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +2 -2
  51. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  52. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +6 -7
  53. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  54. package/dist/esm/i3s-converter/helpers/geometry-converter.js +19 -8
  55. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  56. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +49 -12
  57. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  58. package/dist/esm/i3s-converter/helpers/load-3d-tiles.js +35 -0
  59. package/dist/esm/i3s-converter/helpers/load-3d-tiles.js.map +1 -0
  60. package/dist/esm/i3s-converter/helpers/node-index-document.js +14 -1
  61. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -1
  62. package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js +48 -0
  63. package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -0
  64. package/dist/esm/i3s-converter/helpers/tileset-traversal.js +14 -0
  65. package/dist/esm/i3s-converter/helpers/tileset-traversal.js.map +1 -0
  66. package/dist/esm/i3s-converter/i3s-converter.js +134 -120
  67. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  68. package/dist/esm/i3s-converter/types.js +10 -1
  69. package/dist/esm/i3s-converter/types.js.map +1 -1
  70. package/dist/esm/i3s-server/README.md +19 -0
  71. package/dist/esm/i3s-server/app.js +11 -1
  72. package/dist/esm/i3s-server/app.js.map +1 -1
  73. package/dist/esm/i3s-server/controllers/slpk-controller.js +36 -0
  74. package/dist/esm/i3s-server/controllers/slpk-controller.js.map +1 -0
  75. package/dist/esm/i3s-server/routes/slpk-router.js +33 -0
  76. package/dist/esm/i3s-server/routes/slpk-router.js.map +1 -0
  77. package/dist/esm/i3s-server/utils/create-scene-server.js +16 -0
  78. package/dist/esm/i3s-server/utils/create-scene-server.js.map +1 -0
  79. package/dist/esm/lib/utils/file-utils.js +1 -1
  80. package/dist/esm/lib/utils/file-utils.js.map +1 -1
  81. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
  82. package/dist/esm/pgm-loader.js +1 -1
  83. package/dist/i3s-attributes-worker.js +2 -2
  84. package/dist/i3s-attributes-worker.js.map +2 -2
  85. package/dist/i3s-converter/helpers/batch-ids-extensions.js +2 -5
  86. package/dist/i3s-converter/helpers/coordinate-converter.d.ts +3 -4
  87. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
  88. package/dist/i3s-converter/helpers/coordinate-converter.js +8 -9
  89. package/dist/i3s-converter/helpers/geometry-converter.d.ts +9 -4
  90. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  91. package/dist/i3s-converter/helpers/geometry-converter.js +34 -12
  92. package/dist/i3s-converter/helpers/gltf-attributes.d.ts +22 -3
  93. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  94. package/dist/i3s-converter/helpers/gltf-attributes.js +61 -18
  95. package/dist/i3s-converter/helpers/load-3d-tiles.d.ts +18 -0
  96. package/dist/i3s-converter/helpers/load-3d-tiles.d.ts.map +1 -0
  97. package/dist/i3s-converter/helpers/load-3d-tiles.js +53 -0
  98. package/dist/i3s-converter/helpers/node-index-document.d.ts +8 -0
  99. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -1
  100. package/dist/i3s-converter/helpers/node-index-document.js +20 -2
  101. package/dist/i3s-converter/helpers/node-pages.js +1 -1
  102. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts +23 -0
  103. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -0
  104. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +76 -0
  105. package/dist/i3s-converter/helpers/tileset-traversal.d.ts +25 -0
  106. package/dist/i3s-converter/helpers/tileset-traversal.d.ts.map +1 -0
  107. package/dist/i3s-converter/helpers/tileset-traversal.js +29 -0
  108. package/dist/i3s-converter/i3s-converter.d.ts +40 -40
  109. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  110. package/dist/i3s-converter/i3s-converter.js +150 -126
  111. package/dist/i3s-converter/types.d.ts +18 -0
  112. package/dist/i3s-converter/types.d.ts.map +1 -1
  113. package/dist/i3s-converter/types.js +15 -0
  114. package/dist/i3s-server/app.d.ts.map +1 -1
  115. package/dist/i3s-server/app.js +9 -1
  116. package/dist/i3s-server/controllers/slpk-controller.d.ts +3 -0
  117. package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -0
  118. package/dist/i3s-server/controllers/slpk-controller.js +32 -0
  119. package/dist/i3s-server/routes/slpk-router.d.ts +3 -0
  120. package/dist/i3s-server/routes/slpk-router.d.ts.map +1 -0
  121. package/dist/i3s-server/routes/slpk-router.js +33 -0
  122. package/dist/i3s-server/utils/create-scene-server.d.ts +11 -0
  123. package/dist/i3s-server/utils/create-scene-server.d.ts.map +1 -0
  124. package/dist/i3s-server/utils/create-scene-server.js +14 -0
  125. package/dist/lib/utils/file-utils.d.ts.map +1 -1
  126. package/dist/lib/utils/file-utils.js +2 -1
  127. package/dist/lib/utils/lod-conversion-utils.d.ts +3 -2
  128. package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -1
  129. package/dist/lib/utils/lod-conversion-utils.js +1 -1
  130. package/package.json +15 -15
  131. package/src/3d-tiles-converter/3d-tiles-converter.ts +5 -5
  132. package/src/deps-installer/deps-installer.ts +3 -2
  133. package/src/i3s-converter/helpers/batch-ids-extensions.ts +2 -5
  134. package/src/i3s-converter/helpers/coordinate-converter.ts +11 -10
  135. package/src/i3s-converter/helpers/geometry-converter.ts +51 -19
  136. package/src/i3s-converter/helpers/gltf-attributes.ts +84 -21
  137. package/src/i3s-converter/helpers/load-3d-tiles.ts +68 -0
  138. package/src/i3s-converter/helpers/node-index-document.ts +22 -2
  139. package/src/i3s-converter/helpers/preprocess-3d-tiles.ts +81 -0
  140. package/src/i3s-converter/helpers/tileset-traversal.ts +51 -0
  141. package/src/i3s-converter/i3s-converter.ts +228 -178
  142. package/src/i3s-converter/types.ts +20 -0
  143. package/src/i3s-server/README.md +19 -0
  144. package/src/i3s-server/app.js +8 -1
  145. package/src/i3s-server/controllers/slpk-controller.js +38 -0
  146. package/src/i3s-server/routes/slpk-router.js +33 -0
  147. package/src/i3s-server/utils/create-scene-server.js +15 -0
  148. package/src/lib/utils/file-utils.ts +2 -1
  149. package/src/lib/utils/lod-conversion-utils.ts +6 -2
@@ -13,7 +13,6 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
13
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
  var _core = require("@loaders.gl/core");
16
- var _tiles = require("@loaders.gl/tiles");
17
16
  var _dTiles = require("@loaders.gl/3d-tiles");
18
17
  var _path = require("path");
19
18
  var _uuid = require("uuid");
@@ -35,6 +34,7 @@ var _sharedResources = require("./json-templates/shared-resources");
35
34
  var _nodeDebug = require("./helpers/node-debug");
36
35
  var _textures = require("@loaders.gl/textures");
37
36
  var _images = require("@loaders.gl/images");
37
+ var _types = require("./types");
38
38
  var _workerUtils = require("@loaders.gl/worker-utils");
39
39
  var _draco = require("@loaders.gl/draco");
40
40
  var _writeQueue = _interopRequireDefault(require("../lib/utils/write-queue"));
@@ -42,6 +42,11 @@ var _i3sAttributesWorker = require("../i3s-attributes-worker");
42
42
  var _constants = require("../constants");
43
43
  var _featureAttributes = require("./helpers/feature-attributes");
44
44
  var _nodeIndexDocument = require("./helpers/node-index-document");
45
+ var _load3dTiles = require("./helpers/load-3d-tiles");
46
+ var _core2 = require("@math.gl/core");
47
+ var _tiles = require("@loaders.gl/tiles");
48
+ var _tilesetTraversal = require("./helpers/tileset-traversal");
49
+ var _preprocess3dTiles = require("./helpers/preprocess-3d-tiles");
45
50
  var _process$env;
46
51
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
47
52
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -75,6 +80,18 @@ var I3SConverter = function () {
75
80
  (0, _defineProperty2.default)(this, "conversionStartTime", [0, 0]);
76
81
  (0, _defineProperty2.default)(this, "refreshTokenTime", [0, 0]);
77
82
  (0, _defineProperty2.default)(this, "sourceTileset", null);
83
+ (0, _defineProperty2.default)(this, "loadOptions", {
84
+ _nodeWorkers: true,
85
+ reuseWorkers: true,
86
+ basis: {
87
+ format: 'rgba32',
88
+ workerUrl: './modules/textures/dist/basis-worker-node.js'
89
+ },
90
+ draco: {
91
+ workerUrl: './modules/draco/dist/draco-worker-node.js'
92
+ },
93
+ fetch: {}
94
+ });
78
95
  (0, _defineProperty2.default)(this, "geoidHeightModel", null);
79
96
  (0, _defineProperty2.default)(this, "Loader", _dTiles.Tiles3DLoader);
80
97
  (0, _defineProperty2.default)(this, "generateTextures", void 0);
@@ -83,6 +100,9 @@ var I3SConverter = function () {
83
100
  (0, _defineProperty2.default)(this, "workerSource", {});
84
101
  (0, _defineProperty2.default)(this, "writeQueue", new _writeQueue.default());
85
102
  (0, _defineProperty2.default)(this, "compressList", null);
103
+ (0, _defineProperty2.default)(this, "preprocessData", {
104
+ meshTopologyTypes: new Set()
105
+ });
86
106
  this.nodePages = new _nodePages.default(_fileUtils.writeFile, HARDCODED_NODES_PER_PAGE, this);
87
107
  this.options = {};
88
108
  this.layers0Path = '';
@@ -107,7 +127,7 @@ var I3SConverter = function () {
107
127
  key: "convert",
108
128
  value: function () {
109
129
  var _convert = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
110
- var tilesetName, slpk, egmFilePath, inputUrl, validate, outputPath, _options$draco, draco, sevenZipExe, maxDepth, token, generateTextures, generateBoundingVolumes, _options$instantNodeW, instantNodeWriting, _options$mergeMateria, mergeMaterials, _sourceTilesetJson$ro, _sourceTilesetJson$ro2, preloadOptions, tilesetOptions, sourceTilesetJson, workerFarm;
130
+ var tilesetName, slpk, egmFilePath, inputUrl, validate, outputPath, _options$draco, draco, sevenZipExe, maxDepth, token, generateTextures, generateBoundingVolumes, _options$instantNodeW, instantNodeWriting, _options$mergeMateria, mergeMaterials, preloadOptions, preprocessResult, workerFarm;
111
131
  return _regenerator.default.wrap(function _callee$(_context) {
112
132
  while (1) switch (_context.prev = _context.next) {
113
133
  case 0:
@@ -155,51 +175,54 @@ var I3SConverter = function () {
155
175
  return this._fetchPreloadOptions();
156
176
  case 24:
157
177
  preloadOptions = _context.sent;
158
- tilesetOptions = {
159
- loadOptions: {
160
- _nodeWorkers: true,
161
- reuseWorkers: true,
162
- basis: {
163
- format: 'rgba32'
164
- }
165
- }
166
- };
167
178
  if (preloadOptions.headers) {
168
- tilesetOptions.loadOptions.fetch = {
179
+ this.loadOptions.fetch = {
169
180
  headers: preloadOptions.headers
170
181
  };
171
182
  }
172
- Object.assign(tilesetOptions, preloadOptions);
173
- _context.next = 30;
174
- return (0, _core.load)(inputUrl, this.Loader, tilesetOptions.loadOptions);
175
- case 30:
176
- sourceTilesetJson = _context.sent;
177
- this.sourceTileset = new _tiles.Tileset3D(sourceTilesetJson, tilesetOptions);
178
- _context.next = 34;
179
- return this._createAndSaveTileset(outputPath, tilesetName, sourceTilesetJson === null || sourceTilesetJson === void 0 ? void 0 : (_sourceTilesetJson$ro = sourceTilesetJson.root) === null || _sourceTilesetJson$ro === void 0 ? void 0 : (_sourceTilesetJson$ro2 = _sourceTilesetJson$ro.boundingVolume) === null || _sourceTilesetJson$ro2 === void 0 ? void 0 : _sourceTilesetJson$ro2.region);
180
- case 34:
181
- _context.next = 36;
183
+ _context.next = 28;
184
+ return (0, _core.load)(inputUrl, this.Loader, this.loadOptions);
185
+ case 28:
186
+ this.sourceTileset = _context.sent;
187
+ _context.next = 31;
188
+ return this.preprocessConversion();
189
+ case 31:
190
+ preprocessResult = _context.sent;
191
+ if (!preprocessResult) {
192
+ _context.next = 37;
193
+ break;
194
+ }
195
+ _context.next = 35;
196
+ return this._createAndSaveTileset(outputPath, tilesetName);
197
+ case 35:
198
+ _context.next = 37;
182
199
  return this._finishConversion({
183
200
  slpk: Boolean(slpk),
184
201
  outputPath: outputPath,
185
202
  tilesetName: tilesetName
186
203
  });
187
- case 36:
188
- return _context.abrupt("return", sourceTilesetJson);
204
+ case 37:
205
+ _context.next = 42;
206
+ break;
189
207
  case 39:
190
208
  _context.prev = 39;
191
209
  _context.t0 = _context["catch"](21);
192
210
  throw _context.t0;
193
211
  case 42:
194
212
  _context.prev = 42;
213
+ _context.next = 45;
214
+ return this.writeQueue.finalize();
215
+ case 45:
195
216
  workerFarm = _workerUtils.WorkerFarm.getWorkerFarm({});
196
217
  workerFarm.destroy();
197
218
  return _context.finish(42);
198
- case 46:
219
+ case 48:
220
+ return _context.abrupt("return", 'success');
221
+ case 49:
199
222
  case "end":
200
223
  return _context.stop();
201
224
  }
202
- }, _callee, this, [[21, 39, 42, 46]]);
225
+ }, _callee, this, [[21, 39, 42, 48]]);
203
226
  }));
204
227
  function convert(_x) {
205
228
  return _convert.apply(this, arguments);
@@ -207,46 +230,136 @@ var I3SConverter = function () {
207
230
  return convert;
208
231
  }()
209
232
  }, {
210
- key: "_createAndSaveTileset",
233
+ key: "preprocessConversion",
211
234
  value: function () {
212
- var _createAndSaveTileset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(outputPath, tilesetName, boundingVolumeRegion) {
213
- var _this = this;
214
- var tilesetPath, sourceRootTile, boundingVolumes, rootNode, _iterator, _step, filePath;
235
+ var _preprocessConversion = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
236
+ var sourceRootTile, meshTopologyTypes;
215
237
  return _regenerator.default.wrap(function _callee2$(_context2) {
216
238
  while (1) switch (_context2.prev = _context2.next) {
217
239
  case 0:
218
- tilesetPath = (0, _path.join)("".concat(outputPath), "".concat(tilesetName));
219
- _context2.prev = 1;
240
+ console.log("Analyze source tileset");
241
+ sourceRootTile = this.sourceTileset.root;
220
242
  _context2.next = 4;
243
+ return (0, _tilesetTraversal.traverseDatasetWith)(sourceRootTile, null, this.analyzeTile.bind(this), undefined, this.options.maxDepth);
244
+ case 4:
245
+ meshTopologyTypes = this.preprocessData.meshTopologyTypes;
246
+ console.log("------------------------------------------------");
247
+ console.log("Preprocess results:");
248
+ console.log("glTF mesh topology types: ".concat(Array.from(meshTopologyTypes).join(', ')));
249
+ console.log("------------------------------------------------");
250
+ if (!(!meshTopologyTypes.has(_types.GltfPrimitiveModeString.TRIANGLES) && !meshTopologyTypes.has(_types.GltfPrimitiveModeString.TRIANGLE_STRIP))) {
251
+ _context2.next = 13;
252
+ break;
253
+ }
254
+ console.log('The tileset is of unsupported mesh topology types. The conversion will be interrupted.');
255
+ console.log("------------------------------------------------");
256
+ return _context2.abrupt("return", false);
257
+ case 13:
258
+ return _context2.abrupt("return", true);
259
+ case 14:
260
+ case "end":
261
+ return _context2.stop();
262
+ }
263
+ }, _callee2, this);
264
+ }));
265
+ function preprocessConversion() {
266
+ return _preprocessConversion.apply(this, arguments);
267
+ }
268
+ return preprocessConversion;
269
+ }()
270
+ }, {
271
+ key: "analyzeTile",
272
+ value: function () {
273
+ var _analyzeTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(sourceTile, traversalProps) {
274
+ var tileContent, tilePreprocessData;
275
+ return _regenerator.default.wrap(function _callee3$(_context3) {
276
+ while (1) switch (_context3.prev = _context3.next) {
277
+ case 0:
278
+ if (!(sourceTile.type === 'json')) {
279
+ _context3.next = 4;
280
+ break;
281
+ }
282
+ _context3.next = 3;
283
+ return (0, _load3dTiles.loadNestedTileset)(this.sourceTileset, sourceTile, this.loadOptions);
284
+ case 3:
285
+ return _context3.abrupt("return", null);
286
+ case 4:
287
+ if (sourceTile.id) {
288
+ console.log("[analyze]: ".concat(sourceTile.id));
289
+ }
290
+ _context3.next = 7;
291
+ return (0, _load3dTiles.loadTile3DContent)(this.sourceTileset, sourceTile, _objectSpread(_objectSpread({}, this.loadOptions), {}, {
292
+ '3d-tiles': _objectSpread(_objectSpread({}, this.loadOptions['3d-tiles']), {}, {
293
+ loadGLTF: false
294
+ })
295
+ }));
296
+ case 7:
297
+ tileContent = _context3.sent;
298
+ _context3.next = 10;
299
+ return (0, _preprocess3dTiles.analyzeTileContent)(sourceTile, tileContent);
300
+ case 10:
301
+ tilePreprocessData = _context3.sent;
302
+ (0, _preprocess3dTiles.mergePreprocessData)(this.preprocessData, tilePreprocessData);
303
+ return _context3.abrupt("return", null);
304
+ case 13:
305
+ case "end":
306
+ return _context3.stop();
307
+ }
308
+ }, _callee3, this);
309
+ }));
310
+ function analyzeTile(_x2, _x3) {
311
+ return _analyzeTile.apply(this, arguments);
312
+ }
313
+ return analyzeTile;
314
+ }()
315
+ }, {
316
+ key: "_createAndSaveTileset",
317
+ value: function () {
318
+ var _createAndSaveTileset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(outputPath, tilesetName) {
319
+ var _this$sourceTileset,
320
+ _this$sourceTileset$r,
321
+ _this$sourceTileset$r2,
322
+ _this = this;
323
+ var tilesetPath, sourceRootTile, sourceBoundingVolume, boundingVolumes, rootNode, _iterator, _step, filePath;
324
+ return _regenerator.default.wrap(function _callee4$(_context4) {
325
+ while (1) switch (_context4.prev = _context4.next) {
326
+ case 0:
327
+ tilesetPath = (0, _path.join)("".concat(outputPath), "".concat(tilesetName));
328
+ _context4.prev = 1;
329
+ _context4.next = 4;
221
330
  return (0, _fileUtils.removeDir)(tilesetPath);
222
331
  case 4:
223
- _context2.next = 8;
332
+ _context4.next = 8;
224
333
  break;
225
334
  case 6:
226
- _context2.prev = 6;
227
- _context2.t0 = _context2["catch"](1);
335
+ _context4.prev = 6;
336
+ _context4.t0 = _context4["catch"](1);
228
337
  case 8:
229
338
  this.layers0Path = (0, _path.join)(tilesetPath, 'SceneServer', 'layers', '0');
230
- this._formLayers0(tilesetName, boundingVolumeRegion);
231
339
  this.materialDefinitions = [];
232
340
  this.materialMap = new Map();
233
341
  sourceRootTile = this.sourceTileset.root;
234
- boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceRootTile, this.geoidHeightModel);
235
- _context2.next = 16;
342
+ sourceBoundingVolume = (0, _tiles.createBoundingVolume)(sourceRootTile.boundingVolume, new _core2.Matrix4(sourceRootTile.transform), null);
343
+ this._formLayers0(tilesetName, sourceBoundingVolume, (_this$sourceTileset = this.sourceTileset) === null || _this$sourceTileset === void 0 ? void 0 : (_this$sourceTileset$r = _this$sourceTileset.root) === null || _this$sourceTileset$r === void 0 ? void 0 : (_this$sourceTileset$r2 = _this$sourceTileset$r.boundingVolume) === null || _this$sourceTileset$r2 === void 0 ? void 0 : _this$sourceTileset$r2.region);
344
+ boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceBoundingVolume, this.geoidHeightModel);
345
+ _context4.next = 17;
236
346
  return this.nodePages.push({
237
347
  index: 0,
238
348
  lodThreshold: 0,
239
349
  obb: boundingVolumes.obb,
240
350
  children: []
241
351
  });
242
- case 16:
243
- _context2.next = 18;
352
+ case 17:
353
+ _context4.next = 19;
244
354
  return _nodeIndexDocument.NodeIndexDocument.createRootNode(boundingVolumes, this);
245
- case 18:
246
- rootNode = _context2.sent;
247
- _context2.next = 21;
248
- return this._convertNodesTree(rootNode, sourceRootTile);
249
- case 21:
355
+ case 19:
356
+ rootNode = _context4.sent;
357
+ _context4.next = 22;
358
+ return (0, _tilesetTraversal.traverseDatasetWith)(sourceRootTile, {
359
+ transform: new _core2.Matrix4(sourceRootTile.transform),
360
+ parentNodes: [rootNode]
361
+ }, this.convertTile.bind(this), this.finalizeTile.bind(this), this.options.maxDepth);
362
+ case 22:
250
363
  this.layers0.materialDefinitions = this.materialDefinitions;
251
364
  this.layers0.geometryDefinitions = (0, _jsonMapTransform.default)(this.geometryConfigs.map(function (config) {
252
365
  return {
@@ -260,63 +373,66 @@ var I3SConverter = function () {
260
373
  return attribute !== 'uv0';
261
374
  });
262
375
  }
263
- _context2.next = 26;
376
+ _context4.next = 27;
264
377
  return this._writeLayers0();
265
- case 26:
378
+ case 27:
266
379
  (0, _createSceneServerPath.createSceneServerPath)(tilesetName, this.layers0, tilesetPath);
267
380
  _iterator = _createForOfIteratorHelper(this.compressList || []);
268
- _context2.prev = 28;
381
+ _context4.prev = 29;
269
382
  _iterator.s();
270
- case 30:
383
+ case 31:
271
384
  if ((_step = _iterator.n()).done) {
272
- _context2.next = 38;
385
+ _context4.next = 39;
273
386
  break;
274
387
  }
275
388
  filePath = _step.value;
276
- _context2.next = 34;
389
+ _context4.next = 35;
277
390
  return (0, _compressUtil.compressFileWithGzip)(filePath);
278
- case 34:
279
- _context2.next = 36;
391
+ case 35:
392
+ _context4.next = 37;
280
393
  return (0, _fileUtils.removeFile)(filePath);
281
- case 36:
282
- _context2.next = 30;
394
+ case 37:
395
+ _context4.next = 31;
283
396
  break;
284
- case 38:
285
- _context2.next = 43;
397
+ case 39:
398
+ _context4.next = 44;
286
399
  break;
287
- case 40:
288
- _context2.prev = 40;
289
- _context2.t1 = _context2["catch"](28);
290
- _iterator.e(_context2.t1);
291
- case 43:
292
- _context2.prev = 43;
400
+ case 41:
401
+ _context4.prev = 41;
402
+ _context4.t1 = _context4["catch"](29);
403
+ _iterator.e(_context4.t1);
404
+ case 44:
405
+ _context4.prev = 44;
293
406
  _iterator.f();
294
- return _context2.finish(43);
295
- case 46:
296
- _context2.next = 48;
407
+ return _context4.finish(44);
408
+ case 47:
409
+ _context4.next = 49;
297
410
  return this.nodePages.save();
298
- case 48:
299
- _context2.next = 50;
411
+ case 49:
412
+ _context4.next = 51;
300
413
  return this.writeQueue.finalize();
301
- case 50:
302
- _context2.next = 52;
414
+ case 51:
415
+ _context4.next = 53;
303
416
  return this._createSlpk(tilesetPath);
304
- case 52:
417
+ case 53:
305
418
  case "end":
306
- return _context2.stop();
419
+ return _context4.stop();
307
420
  }
308
- }, _callee2, this, [[1, 6], [28, 40, 43, 46]]);
421
+ }, _callee4, this, [[1, 6], [29, 41, 44, 47]]);
309
422
  }));
310
- function _createAndSaveTileset(_x2, _x3, _x4) {
423
+ function _createAndSaveTileset(_x4, _x5) {
311
424
  return _createAndSaveTileset2.apply(this, arguments);
312
425
  }
313
426
  return _createAndSaveTileset;
314
427
  }()
315
428
  }, {
316
429
  key: "_formLayers0",
317
- value: function _formLayers0(tilesetName, boundingVolumeRegion) {
318
- var _this$sourceTileset, _this$sourceTileset2, _this$sourceTileset2$;
319
- var fullExtent = (0, _coordinateConverter.convertBoundingVolumeToI3SFullExtent)(((_this$sourceTileset = this.sourceTileset) === null || _this$sourceTileset === void 0 ? void 0 : _this$sourceTileset.boundingVolume) || ((_this$sourceTileset2 = this.sourceTileset) === null || _this$sourceTileset2 === void 0 ? void 0 : (_this$sourceTileset2$ = _this$sourceTileset2.root) === null || _this$sourceTileset2$ === void 0 ? void 0 : _this$sourceTileset2$.boundingVolume));
430
+ value: function _formLayers0(tilesetName, sourceBoundingVolume, boundingVolumeRegion) {
431
+ var _this$sourceTileset2;
432
+ if (!((_this$sourceTileset2 = this.sourceTileset) !== null && _this$sourceTileset2 !== void 0 && _this$sourceTileset2.root)) {
433
+ return;
434
+ }
435
+ var fullExtent = (0, _coordinateConverter.convertBoundingVolumeToI3SFullExtent)(sourceBoundingVolume);
320
436
  if (boundingVolumeRegion) {
321
437
  fullExtent.zmin = boundingVolumeRegion[4];
322
438
  fullExtent.zmax = boundingVolumeRegion[5];
@@ -339,93 +455,19 @@ var I3SConverter = function () {
339
455
  };
340
456
  this.layers0 = (0, _jsonMapTransform.default)(layers0data, (0, _layers.LAYERS)());
341
457
  }
342
- }, {
343
- key: "_convertNodesTree",
344
- value: function () {
345
- var _convertNodesTree2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(rootNode, sourceRootTile) {
346
- var childNodes, _iterator2, _step2, childNode;
347
- return _regenerator.default.wrap(function _callee3$(_context3) {
348
- while (1) switch (_context3.prev = _context3.next) {
349
- case 0:
350
- _context3.next = 2;
351
- return this.sourceTileset._loadTile(sourceRootTile);
352
- case 2:
353
- if (!this.isContentSupported(sourceRootTile)) {
354
- _context3.next = 27;
355
- break;
356
- }
357
- _context3.next = 5;
358
- return this._createNode(rootNode, sourceRootTile, 0);
359
- case 5:
360
- childNodes = _context3.sent;
361
- _iterator2 = _createForOfIteratorHelper(childNodes);
362
- _context3.prev = 7;
363
- _iterator2.s();
364
- case 9:
365
- if ((_step2 = _iterator2.n()).done) {
366
- _context3.next = 15;
367
- break;
368
- }
369
- childNode = _step2.value;
370
- _context3.next = 13;
371
- return childNode.save();
372
- case 13:
373
- _context3.next = 9;
374
- break;
375
- case 15:
376
- _context3.next = 20;
377
- break;
378
- case 17:
379
- _context3.prev = 17;
380
- _context3.t0 = _context3["catch"](7);
381
- _iterator2.e(_context3.t0);
382
- case 20:
383
- _context3.prev = 20;
384
- _iterator2.f();
385
- return _context3.finish(20);
386
- case 23:
387
- _context3.next = 25;
388
- return rootNode.addChildren(childNodes);
389
- case 25:
390
- _context3.next = 29;
391
- break;
392
- case 27:
393
- _context3.next = 29;
394
- return this._addChildrenWithNeighborsAndWriteFile({
395
- parentNode: rootNode,
396
- sourceTiles: sourceRootTile.children,
397
- level: 1
398
- });
399
- case 29:
400
- _context3.next = 31;
401
- return sourceRootTile.unloadContent();
402
- case 31:
403
- _context3.next = 33;
404
- return rootNode.save();
405
- case 33:
406
- case "end":
407
- return _context3.stop();
408
- }
409
- }, _callee3, this, [[7, 17, 20, 23]]);
410
- }));
411
- function _convertNodesTree(_x5, _x6) {
412
- return _convertNodesTree2.apply(this, arguments);
413
- }
414
- return _convertNodesTree;
415
- }()
416
458
  }, {
417
459
  key: "_writeLayers0",
418
460
  value: function () {
419
- var _writeLayers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4() {
461
+ var _writeLayers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5() {
420
462
  var _this2 = this;
421
- return _regenerator.default.wrap(function _callee4$(_context4) {
422
- while (1) switch (_context4.prev = _context4.next) {
463
+ return _regenerator.default.wrap(function _callee5$(_context5) {
464
+ while (1) switch (_context5.prev = _context5.next) {
423
465
  case 0:
424
466
  if (!this.options.slpk) {
425
- _context4.next = 5;
467
+ _context5.next = 5;
426
468
  break;
427
469
  }
428
- _context4.next = 3;
470
+ _context5.next = 3;
429
471
  return this.writeQueue.enqueue({
430
472
  archiveKey: '3dSceneLayer.json.gz',
431
473
  writePromise: function writePromise() {
@@ -433,10 +475,10 @@ var I3SConverter = function () {
433
475
  }
434
476
  });
435
477
  case 3:
436
- _context4.next = 7;
478
+ _context5.next = 7;
437
479
  break;
438
480
  case 5:
439
- _context4.next = 7;
481
+ _context5.next = 7;
440
482
  return this.writeQueue.enqueue({
441
483
  writePromise: function writePromise() {
442
484
  return (0, _fileUtils.writeFile)(_this2.layers0Path, JSON.stringify(_this2.layers0));
@@ -444,9 +486,9 @@ var I3SConverter = function () {
444
486
  });
445
487
  case 7:
446
488
  case "end":
447
- return _context4.stop();
489
+ return _context5.stop();
448
490
  }
449
- }, _callee4, this);
491
+ }, _callee5, this);
450
492
  }));
451
493
  function _writeLayers0() {
452
494
  return _writeLayers.apply(this, arguments);
@@ -456,219 +498,216 @@ var I3SConverter = function () {
456
498
  }, {
457
499
  key: "_createSlpk",
458
500
  value: function () {
459
- var _createSlpk2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(tilesetPath) {
501
+ var _createSlpk2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(tilesetPath) {
460
502
  var slpkTilesetPath, slpkFileName;
461
- return _regenerator.default.wrap(function _callee5$(_context5) {
462
- while (1) switch (_context5.prev = _context5.next) {
503
+ return _regenerator.default.wrap(function _callee6$(_context6) {
504
+ while (1) switch (_context6.prev = _context6.next) {
463
505
  case 0:
464
506
  if (!this.options.slpk) {
465
- _context5.next = 12;
507
+ _context6.next = 12;
466
508
  break;
467
509
  }
468
510
  slpkTilesetPath = (0, _path.join)(tilesetPath, 'SceneServer', 'layers', '0');
469
511
  slpkFileName = "".concat(tilesetPath, ".slpk");
470
- _context5.next = 5;
512
+ _context6.next = 5;
471
513
  return (0, _compressUtil.compressWithChildProcess)(slpkTilesetPath, slpkFileName, 0, '.', this.options.sevenZipExe);
472
514
  case 5:
473
- _context5.prev = 5;
474
- _context5.next = 8;
515
+ _context6.prev = 5;
516
+ _context6.next = 8;
475
517
  return (0, _fileUtils.removeDir)(tilesetPath);
476
518
  case 8:
477
- _context5.next = 12;
519
+ _context6.next = 12;
478
520
  break;
479
521
  case 10:
480
- _context5.prev = 10;
481
- _context5.t0 = _context5["catch"](5);
522
+ _context6.prev = 10;
523
+ _context6.t0 = _context6["catch"](5);
482
524
  case 12:
483
525
  case "end":
484
- return _context5.stop();
526
+ return _context6.stop();
485
527
  }
486
- }, _callee5, this, [[5, 10]]);
528
+ }, _callee6, this, [[5, 10]]);
487
529
  }));
488
- function _createSlpk(_x7) {
530
+ function _createSlpk(_x6) {
489
531
  return _createSlpk2.apply(this, arguments);
490
532
  }
491
533
  return _createSlpk;
492
534
  }()
493
535
  }, {
494
- key: "_addChildrenWithNeighborsAndWriteFile",
536
+ key: "convertTile",
495
537
  value: function () {
496
- var _addChildrenWithNeighborsAndWriteFile2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(data) {
497
- return _regenerator.default.wrap(function _callee6$(_context6) {
498
- while (1) switch (_context6.prev = _context6.next) {
499
- case 0:
500
- _context6.next = 2;
501
- return this._addChildren(data);
502
- case 2:
503
- _context6.next = 4;
504
- return data.parentNode.addNeighbors();
505
- case 4:
506
- case "end":
507
- return _context6.stop();
508
- }
509
- }, _callee6, this);
510
- }));
511
- function _addChildrenWithNeighborsAndWriteFile(_x8) {
512
- return _addChildrenWithNeighborsAndWriteFile2.apply(this, arguments);
513
- }
514
- return _addChildrenWithNeighborsAndWriteFile;
515
- }()
516
- }, {
517
- key: "convertNestedTileset",
518
- value: function () {
519
- var _convertNestedTileset = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(_ref) {
520
- var parentNode, sourceTile, level;
538
+ var _convertTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(sourceTile, traversalProps) {
539
+ var parentNodes, transform, transformationMatrix, parentNode, childNodes, newTraversalProps;
521
540
  return _regenerator.default.wrap(function _callee7$(_context7) {
522
541
  while (1) switch (_context7.prev = _context7.next) {
523
542
  case 0:
524
- parentNode = _ref.parentNode, sourceTile = _ref.sourceTile, level = _ref.level;
525
- _context7.next = 3;
526
- return this.sourceTileset._loadTile(sourceTile);
527
- case 3:
543
+ if (!(sourceTile.type === 'json' || sourceTile.type === 'empty')) {
544
+ _context7.next = 6;
545
+ break;
546
+ }
547
+ if (!(sourceTile.type === 'json')) {
548
+ _context7.next = 5;
549
+ break;
550
+ }
551
+ if (sourceTile.id) {
552
+ console.log("[load]: ".concat(sourceTile.id));
553
+ }
528
554
  _context7.next = 5;
529
- return this._addChildren({
530
- parentNode: parentNode,
531
- sourceTiles: sourceTile.children,
532
- level: level + 1
533
- });
555
+ return (0, _load3dTiles.loadNestedTileset)(this.sourceTileset, sourceTile, this.loadOptions);
534
556
  case 5:
535
- _context7.next = 7;
536
- return sourceTile.unloadContent();
537
- case 7:
557
+ return _context7.abrupt("return", traversalProps);
558
+ case 6:
559
+ if (sourceTile.id) {
560
+ console.log("[convert]: ".concat(sourceTile.id));
561
+ }
562
+ parentNodes = traversalProps.parentNodes, transform = traversalProps.transform;
563
+ transformationMatrix = transform.clone();
564
+ if (sourceTile.transform) {
565
+ transformationMatrix = transformationMatrix.multiplyRight(sourceTile.transform);
566
+ }
567
+ parentNode = parentNodes[0];
568
+ _context7.next = 13;
569
+ return this._createNode(parentNode, sourceTile, transformationMatrix);
570
+ case 13:
571
+ childNodes = _context7.sent;
572
+ _context7.next = 16;
573
+ return parentNode.addChildren(childNodes);
574
+ case 16:
575
+ newTraversalProps = {
576
+ transform: transformationMatrix,
577
+ parentNodes: childNodes
578
+ };
579
+ return _context7.abrupt("return", newTraversalProps);
580
+ case 18:
538
581
  case "end":
539
582
  return _context7.stop();
540
583
  }
541
584
  }, _callee7, this);
542
585
  }));
543
- function convertNestedTileset(_x9) {
544
- return _convertNestedTileset.apply(this, arguments);
586
+ function convertTile(_x7, _x8) {
587
+ return _convertTile.apply(this, arguments);
545
588
  }
546
- return convertNestedTileset;
589
+ return convertTile;
547
590
  }()
548
591
  }, {
549
- key: "convertNode",
592
+ key: "finalizeTile",
550
593
  value: function () {
551
- var _convertNode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(_ref2) {
552
- var parentNode, sourceTile, level, childNodes;
594
+ var _finalizeTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8(conversionResults, currentTraversalProps) {
595
+ var _iterator2, _step2, result, _iterator4, _step4, node, _iterator3, _step3, _node;
553
596
  return _regenerator.default.wrap(function _callee8$(_context8) {
554
597
  while (1) switch (_context8.prev = _context8.next) {
555
598
  case 0:
556
- parentNode = _ref2.parentNode, sourceTile = _ref2.sourceTile, level = _ref2.level;
557
- _context8.next = 3;
558
- return this._createNode(parentNode, sourceTile, level);
559
- case 3:
560
- childNodes = _context8.sent;
561
- _context8.next = 6;
562
- return parentNode.addChildren(childNodes);
563
- case 6:
564
- case "end":
565
- return _context8.stop();
566
- }
567
- }, _callee8, this);
568
- }));
569
- function convertNode(_x10) {
570
- return _convertNode.apply(this, arguments);
571
- }
572
- return convertNode;
573
- }()
574
- }, {
575
- key: "_addChildren",
576
- value: function () {
577
- var _addChildren2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(data) {
578
- var sourceTiles, parentNode, level, _iterator3, _step3, sourceTile;
579
- return _regenerator.default.wrap(function _callee9$(_context9) {
580
- while (1) switch (_context9.prev = _context9.next) {
581
- case 0:
582
- sourceTiles = data.sourceTiles, parentNode = data.parentNode, level = data.level;
583
- if (!(this.options.maxDepth && level > this.options.maxDepth)) {
584
- _context9.next = 3;
585
- break;
586
- }
587
- return _context9.abrupt("return");
599
+ _iterator2 = _createForOfIteratorHelper(conversionResults);
600
+ _context8.prev = 1;
601
+ _iterator2.s();
588
602
  case 3:
589
- _iterator3 = _createForOfIteratorHelper(sourceTiles);
590
- _context9.prev = 4;
591
- _iterator3.s();
592
- case 6:
593
- if ((_step3 = _iterator3.n()).done) {
594
- _context9.next = 18;
603
+ if ((_step2 = _iterator2.n()).done) {
604
+ _context8.next = 24;
595
605
  break;
596
606
  }
597
- sourceTile = _step3.value;
598
- if (!(sourceTile.type === 'json')) {
599
- _context9.next = 13;
607
+ result = _step2.value;
608
+ _iterator4 = _createForOfIteratorHelper(result.parentNodes);
609
+ _context8.prev = 6;
610
+ _iterator4.s();
611
+ case 8:
612
+ if ((_step4 = _iterator4.n()).done) {
613
+ _context8.next = 14;
600
614
  break;
601
615
  }
602
- _context9.next = 11;
603
- return this.convertNestedTileset({
604
- parentNode: parentNode,
605
- sourceTile: sourceTile,
606
- level: level
607
- });
608
- case 11:
609
- _context9.next = 15;
616
+ node = _step4.value;
617
+ _context8.next = 12;
618
+ return node.addNeighbors();
619
+ case 12:
620
+ _context8.next = 8;
621
+ break;
622
+ case 14:
623
+ _context8.next = 19;
610
624
  break;
611
- case 13:
612
- _context9.next = 15;
613
- return this.convertNode({
614
- parentNode: parentNode,
615
- sourceTile: sourceTile,
616
- level: level
617
- });
618
- case 15:
619
- if (sourceTile.id) {
620
- console.log(sourceTile.id);
621
- }
622
625
  case 16:
623
- _context9.next = 6;
626
+ _context8.prev = 16;
627
+ _context8.t0 = _context8["catch"](6);
628
+ _iterator4.e(_context8.t0);
629
+ case 19:
630
+ _context8.prev = 19;
631
+ _iterator4.f();
632
+ return _context8.finish(19);
633
+ case 22:
634
+ _context8.next = 3;
624
635
  break;
625
- case 18:
626
- _context9.next = 23;
636
+ case 24:
637
+ _context8.next = 29;
627
638
  break;
628
- case 20:
629
- _context9.prev = 20;
630
- _context9.t0 = _context9["catch"](4);
631
- _iterator3.e(_context9.t0);
632
- case 23:
633
- _context9.prev = 23;
634
- _iterator3.f();
635
- return _context9.finish(23);
636
639
  case 26:
640
+ _context8.prev = 26;
641
+ _context8.t1 = _context8["catch"](1);
642
+ _iterator2.e(_context8.t1);
643
+ case 29:
644
+ _context8.prev = 29;
645
+ _iterator2.f();
646
+ return _context8.finish(29);
647
+ case 32:
648
+ _iterator3 = _createForOfIteratorHelper(currentTraversalProps.parentNodes);
649
+ _context8.prev = 33;
650
+ _iterator3.s();
651
+ case 35:
652
+ if ((_step3 = _iterator3.n()).done) {
653
+ _context8.next = 41;
654
+ break;
655
+ }
656
+ _node = _step3.value;
657
+ _context8.next = 39;
658
+ return _node.save();
659
+ case 39:
660
+ _context8.next = 35;
661
+ break;
662
+ case 41:
663
+ _context8.next = 46;
664
+ break;
665
+ case 43:
666
+ _context8.prev = 43;
667
+ _context8.t2 = _context8["catch"](33);
668
+ _iterator3.e(_context8.t2);
669
+ case 46:
670
+ _context8.prev = 46;
671
+ _iterator3.f();
672
+ return _context8.finish(46);
673
+ case 49:
637
674
  case "end":
638
- return _context9.stop();
675
+ return _context8.stop();
639
676
  }
640
- }, _callee9, this, [[4, 20, 23, 26]]);
677
+ }, _callee8, null, [[1, 26, 29, 32], [6, 16, 19, 22], [33, 43, 46, 49]]);
641
678
  }));
642
- function _addChildren(_x11) {
643
- return _addChildren2.apply(this, arguments);
679
+ function finalizeTile(_x9, _x10) {
680
+ return _finalizeTile.apply(this, arguments);
644
681
  }
645
- return _addChildren;
682
+ return finalizeTile;
646
683
  }()
647
684
  }, {
648
685
  key: "_createNode",
649
686
  value: function () {
650
- var _createNode2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee10(parentNode, sourceTile, level) {
687
+ var _createNode2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(parentNode, sourceTile, transformationMatrix) {
651
688
  var _this$layers, _this$layers$attribut;
652
- var boundingVolumes, propertyTable, resourcesData, nodes, nodeIds, nodesInPage, emptyResources, _iterator4, _step4, resources, lodSelection, maxScreenThresholdSQ, nodeInPage, nodeData, node, _console;
653
- return _regenerator.default.wrap(function _callee10$(_context10) {
654
- while (1) switch (_context10.prev = _context10.next) {
689
+ var tileContent, sourceBoundingVolume, boundingVolumes, propertyTable, resourcesData, nodes, nodeIds, nodesInPage, emptyResources, _iterator5, _step5, resources, lodSelection, maxScreenThresholdSQ, nodeInPage, nodeData, node, _console;
690
+ return _regenerator.default.wrap(function _callee9$(_context9) {
691
+ while (1) switch (_context9.prev = _context9.next) {
655
692
  case 0:
656
693
  this._checkAddRefinementTypeForTile(sourceTile);
657
- _context10.next = 3;
694
+ _context9.next = 3;
658
695
  return this._updateTilesetOptions();
659
696
  case 3:
660
- _context10.next = 5;
661
- return this.sourceTileset._loadTile(sourceTile);
697
+ _context9.next = 5;
698
+ return (0, _load3dTiles.loadTile3DContent)(this.sourceTileset, sourceTile, this.loadOptions);
662
699
  case 5:
663
- boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceTile, this.geoidHeightModel);
664
- propertyTable = (0, _geometryConverter.getPropertyTable)(sourceTile.content);
700
+ tileContent = _context9.sent;
701
+ sourceBoundingVolume = (0, _tiles.createBoundingVolume)(sourceTile.boundingVolume, transformationMatrix, null);
702
+ boundingVolumes = (0, _coordinateConverter.createBoundingVolumes)(sourceBoundingVolume, this.geoidHeightModel);
703
+ propertyTable = (0, _geometryConverter.getPropertyTable)(tileContent);
665
704
  if (propertyTable && !((_this$layers = this.layers0) !== null && _this$layers !== void 0 && (_this$layers$attribut = _this$layers.attributeStorageInfo) !== null && _this$layers$attribut !== void 0 && _this$layers$attribut.length)) {
666
705
  this._convertPropertyTableToNodeAttributes(propertyTable);
667
706
  }
668
- _context10.next = 10;
669
- return this._convertResources(sourceTile, parentNode.inPageId, propertyTable);
670
- case 10:
671
- resourcesData = _context10.sent;
707
+ _context9.next = 12;
708
+ return this._convertResources(sourceTile, transformationMatrix, sourceBoundingVolume, tileContent, parentNode.inPageId, propertyTable);
709
+ case 12:
710
+ resourcesData = _context9.sent;
672
711
  nodes = [];
673
712
  nodeIds = [];
674
713
  nodesInPage = [];
@@ -684,15 +723,15 @@ var I3SConverter = function () {
684
723
  featureCount: null,
685
724
  boundingVolumes: null
686
725
  };
687
- _iterator4 = _createForOfIteratorHelper(resourcesData || [emptyResources]);
688
- _context10.prev = 16;
689
- _iterator4.s();
690
- case 18:
691
- if ((_step4 = _iterator4.n()).done) {
692
- _context10.next = 42;
726
+ _iterator5 = _createForOfIteratorHelper(resourcesData || [emptyResources]);
727
+ _context9.prev = 18;
728
+ _iterator5.s();
729
+ case 20:
730
+ if ((_step5 = _iterator5.n()).done) {
731
+ _context9.next = 44;
693
732
  break;
694
733
  }
695
- resources = _step4.value;
734
+ resources = _step5.value;
696
735
  this.layersHasTexture = this.layersHasTexture || Boolean(resources.texture);
697
736
  if (this.generateBoundingVolumes && resources.boundingVolumes) {
698
737
  boundingVolumes = resources.boundingVolumes;
@@ -703,26 +742,26 @@ var I3SConverter = function () {
703
742
  }) || {
704
743
  maxError: 0
705
744
  };
706
- _context10.next = 26;
745
+ _context9.next = 28;
707
746
  return this._updateNodeInNodePages(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentNode.inPageId, resources);
708
- case 26:
709
- nodeInPage = _context10.sent;
710
- _context10.next = 29;
747
+ case 28:
748
+ nodeInPage = _context9.sent;
749
+ _context9.next = 31;
711
750
  return _nodeIndexDocument.NodeIndexDocument.createNodeIndexDocument(parentNode, boundingVolumes, lodSelection, nodeInPage, resources);
712
- case 29:
713
- nodeData = _context10.sent;
714
- _context10.next = 32;
751
+ case 31:
752
+ nodeData = _context9.sent;
753
+ _context9.next = 34;
715
754
  return new _nodeIndexDocument.NodeIndexDocument(nodeInPage.index, this).addData(nodeData);
716
- case 32:
717
- node = _context10.sent;
755
+ case 34:
756
+ node = _context9.sent;
718
757
  nodes.push(node);
719
758
  if (!nodeInPage.mesh) {
720
- _context10.next = 37;
759
+ _context9.next = 39;
721
760
  break;
722
761
  }
723
- _context10.next = 37;
762
+ _context9.next = 39;
724
763
  return this._writeResources(resources, node.id);
725
- case 37:
764
+ case 39:
726
765
  if (this.validate) {
727
766
  this.boundingVolumeWarnings = (0, _nodeDebug.validateNodeBoundingVolumes)(nodeData);
728
767
  if (this.boundingVolumeWarnings && this.boundingVolumeWarnings.length) {
@@ -731,37 +770,29 @@ var I3SConverter = function () {
731
770
  }
732
771
  nodeIds.push(nodeInPage.index);
733
772
  nodesInPage.push(nodeInPage);
734
- case 40:
735
- _context10.next = 18;
736
- break;
737
773
  case 42:
738
- _context10.next = 47;
774
+ _context9.next = 20;
739
775
  break;
740
776
  case 44:
741
- _context10.prev = 44;
742
- _context10.t0 = _context10["catch"](16);
743
- _iterator4.e(_context10.t0);
744
- case 47:
745
- _context10.prev = 47;
746
- _iterator4.f();
747
- return _context10.finish(47);
748
- case 50:
749
- sourceTile.unloadContent();
750
- _context10.next = 53;
751
- return this._addChildrenWithNeighborsAndWriteFile({
752
- parentNode: nodes[0],
753
- sourceTiles: sourceTile.children,
754
- level: level + 1
755
- });
777
+ _context9.next = 49;
778
+ break;
779
+ case 46:
780
+ _context9.prev = 46;
781
+ _context9.t0 = _context9["catch"](18);
782
+ _iterator5.e(_context9.t0);
783
+ case 49:
784
+ _context9.prev = 49;
785
+ _iterator5.f();
786
+ return _context9.finish(49);
787
+ case 52:
788
+ return _context9.abrupt("return", nodes);
756
789
  case 53:
757
- return _context10.abrupt("return", nodes);
758
- case 54:
759
790
  case "end":
760
- return _context10.stop();
791
+ return _context9.stop();
761
792
  }
762
- }, _callee10, this, [[16, 44, 47, 50]]);
793
+ }, _callee9, this, [[18, 46, 49, 52]]);
763
794
  }));
764
- function _createNode(_x12, _x13, _x14) {
795
+ function _createNode(_x11, _x12, _x13) {
765
796
  return _createNode2.apply(this, arguments);
766
797
  }
767
798
  return _createNode;
@@ -769,52 +800,52 @@ var I3SConverter = function () {
769
800
  }, {
770
801
  key: "_convertResources",
771
802
  value: function () {
772
- var _convertResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee12(sourceTile, parentId, propertyTable) {
803
+ var _convertResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee11(sourceTile, transformationMatrix, boundingVolume, tileContent, parentId, propertyTable) {
773
804
  var _this3 = this,
774
805
  _this$layers2;
775
806
  var draftObb, resourcesData;
776
- return _regenerator.default.wrap(function _callee12$(_context12) {
777
- while (1) switch (_context12.prev = _context12.next) {
807
+ return _regenerator.default.wrap(function _callee11$(_context11) {
808
+ while (1) switch (_context11.prev = _context11.next) {
778
809
  case 0:
779
- if (this.isContentSupported(sourceTile)) {
780
- _context12.next = 2;
810
+ if (!(!this.isContentSupported(sourceTile) || !tileContent)) {
811
+ _context11.next = 2;
781
812
  break;
782
813
  }
783
- return _context12.abrupt("return", null);
814
+ return _context11.abrupt("return", null);
784
815
  case 2:
785
816
  draftObb = {
786
817
  center: [],
787
818
  halfSize: [],
788
819
  quaternion: []
789
820
  };
790
- _context12.next = 5;
791
- return (0, _geometryConverter.default)(sourceTile.content, (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee11() {
792
- return _regenerator.default.wrap(function _callee11$(_context11) {
793
- while (1) switch (_context11.prev = _context11.next) {
821
+ _context11.next = 5;
822
+ return (0, _geometryConverter.default)(tileContent, transformationMatrix, boundingVolume, (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee10() {
823
+ return _regenerator.default.wrap(function _callee10$(_context10) {
824
+ while (1) switch (_context10.prev = _context10.next) {
794
825
  case 0:
795
- _context11.next = 2;
826
+ _context10.next = 2;
796
827
  return _this3.nodePages.push({
797
828
  index: 0,
798
829
  obb: draftObb
799
830
  }, parentId);
800
831
  case 2:
801
- return _context11.abrupt("return", _context11.sent.index);
832
+ return _context10.abrupt("return", _context10.sent.index);
802
833
  case 3:
803
834
  case "end":
804
- return _context11.stop();
835
+ return _context10.stop();
805
836
  }
806
- }, _callee11);
837
+ }, _callee10);
807
838
  })), propertyTable, this.featuresHashArray, (_this$layers2 = this.layers0) === null || _this$layers2 === void 0 ? void 0 : _this$layers2.attributeStorageInfo, this.options.draco, this.generateBoundingVolumes, this.options.mergeMaterials, this.geoidHeightModel, this.workerSource);
808
839
  case 5:
809
- resourcesData = _context12.sent;
810
- return _context12.abrupt("return", resourcesData);
840
+ resourcesData = _context11.sent;
841
+ return _context11.abrupt("return", resourcesData);
811
842
  case 7:
812
843
  case "end":
813
- return _context12.stop();
844
+ return _context11.stop();
814
845
  }
815
- }, _callee12, this);
846
+ }, _callee11, this);
816
847
  }));
817
- function _convertResources(_x15, _x16, _x17) {
848
+ function _convertResources(_x14, _x15, _x16, _x17, _x18, _x19) {
818
849
  return _convertResources2.apply(this, arguments);
819
850
  }
820
851
  return _convertResources;
@@ -822,10 +853,10 @@ var I3SConverter = function () {
822
853
  }, {
823
854
  key: "_updateNodeInNodePages",
824
855
  value: function () {
825
- var _updateNodeInNodePages2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee13(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
856
+ var _updateNodeInNodePages2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee12(maxScreenThresholdSQ, boundingVolumes, sourceTile, parentId, resources) {
826
857
  var meshMaterial, texture, vertexCount, featureCount, geometry, hasUvRegions, nodeInPage, nodeId, node, texelCountHint;
827
- return _regenerator.default.wrap(function _callee13$(_context13) {
828
- while (1) switch (_context13.prev = _context13.next) {
858
+ return _regenerator.default.wrap(function _callee12$(_context12) {
859
+ while (1) switch (_context12.prev = _context12.next) {
829
860
  case 0:
830
861
  meshMaterial = resources.meshMaterial, texture = resources.texture, vertexCount = resources.vertexCount, featureCount = resources.featureCount, geometry = resources.geometry, hasUvRegions = resources.hasUvRegions;
831
862
  nodeInPage = {
@@ -850,20 +881,20 @@ var I3SConverter = function () {
850
881
  }
851
882
  nodeId = resources.nodeId;
852
883
  if (nodeId) {
853
- _context13.next = 10;
884
+ _context12.next = 10;
854
885
  break;
855
886
  }
856
- _context13.next = 7;
887
+ _context12.next = 7;
857
888
  return this.nodePages.push(nodeInPage, parentId);
858
889
  case 7:
859
- node = _context13.sent;
860
- _context13.next = 13;
890
+ node = _context12.sent;
891
+ _context12.next = 13;
861
892
  break;
862
893
  case 10:
863
- _context13.next = 12;
894
+ _context12.next = 12;
864
895
  return this.nodePages.getNodeById(nodeId);
865
896
  case 12:
866
- node = _context13.sent;
897
+ node = _context12.sent;
867
898
  case 13:
868
899
  _nodePages.default.updateAll(node, nodeInPage);
869
900
  if (meshMaterial) {
@@ -882,14 +913,14 @@ var I3SConverter = function () {
882
913
  _nodePages.default.updateFeatureCountByNodeId(node, featureCount);
883
914
  }
884
915
  this.nodePages.saveNode(node);
885
- return _context13.abrupt("return", node);
916
+ return _context12.abrupt("return", node);
886
917
  case 21:
887
918
  case "end":
888
- return _context13.stop();
919
+ return _context12.stop();
889
920
  }
890
- }, _callee13, this);
921
+ }, _callee12, this);
891
922
  }));
892
- function _updateNodeInNodePages(_x18, _x19, _x20, _x21, _x22) {
923
+ function _updateNodeInNodePages(_x20, _x21, _x22, _x23, _x24) {
893
924
  return _updateNodeInNodePages2.apply(this, arguments);
894
925
  }
895
926
  return _updateNodeInNodePages;
@@ -897,32 +928,32 @@ var I3SConverter = function () {
897
928
  }, {
898
929
  key: "_writeResources",
899
930
  value: function () {
900
- var _writeResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee14(resources, nodePath) {
931
+ var _writeResources2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee13(resources, nodePath) {
901
932
  var geometryBuffer, compressedGeometry, texture, sharedResources, attributes, childPath, slpkChildPath;
902
- return _regenerator.default.wrap(function _callee14$(_context14) {
903
- while (1) switch (_context14.prev = _context14.next) {
933
+ return _regenerator.default.wrap(function _callee13$(_context13) {
934
+ while (1) switch (_context13.prev = _context13.next) {
904
935
  case 0:
905
936
  geometryBuffer = resources.geometry, compressedGeometry = resources.compressedGeometry, texture = resources.texture, sharedResources = resources.sharedResources, attributes = resources.attributes;
906
937
  childPath = (0, _path.join)(this.layers0Path, 'nodes', nodePath);
907
938
  slpkChildPath = (0, _path.join)('nodes', nodePath);
908
- _context14.next = 5;
939
+ _context13.next = 5;
909
940
  return this._writeGeometries(geometryBuffer, compressedGeometry, childPath, slpkChildPath);
910
941
  case 5:
911
- _context14.next = 7;
942
+ _context13.next = 7;
912
943
  return this._writeShared(sharedResources, childPath, slpkChildPath, nodePath);
913
944
  case 7:
914
- _context14.next = 9;
945
+ _context13.next = 9;
915
946
  return this._writeTexture(texture, childPath, slpkChildPath);
916
947
  case 9:
917
- _context14.next = 11;
948
+ _context13.next = 11;
918
949
  return this._writeAttributes(attributes, childPath, slpkChildPath);
919
950
  case 11:
920
951
  case "end":
921
- return _context14.stop();
952
+ return _context13.stop();
922
953
  }
923
- }, _callee14, this);
954
+ }, _callee13, this);
924
955
  }));
925
- function _writeResources(_x23, _x24) {
956
+ function _writeResources(_x25, _x26) {
926
957
  return _writeResources2.apply(this, arguments);
927
958
  }
928
959
  return _writeResources;
@@ -930,17 +961,17 @@ var I3SConverter = function () {
930
961
  }, {
931
962
  key: "_writeGeometries",
932
963
  value: function () {
933
- var _writeGeometries2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee15(geometryBuffer, compressedGeometry, childPath, slpkChildPath) {
964
+ var _writeGeometries2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee14(geometryBuffer, compressedGeometry, childPath, slpkChildPath) {
934
965
  var slpkGeometryPath, geometryPath, slpkCompressedGeometryPath, compressedGeometryPath;
935
- return _regenerator.default.wrap(function _callee15$(_context15) {
936
- while (1) switch (_context15.prev = _context15.next) {
966
+ return _regenerator.default.wrap(function _callee14$(_context14) {
967
+ while (1) switch (_context14.prev = _context14.next) {
937
968
  case 0:
938
969
  if (!this.options.slpk) {
939
- _context15.next = 6;
970
+ _context14.next = 6;
940
971
  break;
941
972
  }
942
973
  slpkGeometryPath = (0, _path.join)(childPath, 'geometries');
943
- _context15.next = 4;
974
+ _context14.next = 4;
944
975
  return this.writeQueue.enqueue({
945
976
  archiveKey: "".concat(slpkChildPath, "/geometries/0.bin.gz"),
946
977
  writePromise: function writePromise() {
@@ -948,11 +979,11 @@ var I3SConverter = function () {
948
979
  }
949
980
  });
950
981
  case 4:
951
- _context15.next = 9;
982
+ _context14.next = 9;
952
983
  break;
953
984
  case 6:
954
985
  geometryPath = (0, _path.join)(childPath, 'geometries/0/');
955
- _context15.next = 9;
986
+ _context14.next = 9;
956
987
  return this.writeQueue.enqueue({
957
988
  writePromise: function writePromise() {
958
989
  return (0, _fileUtils.writeFile)(geometryPath, geometryBuffer, 'index.bin');
@@ -960,15 +991,15 @@ var I3SConverter = function () {
960
991
  });
961
992
  case 9:
962
993
  if (!this.options.draco) {
963
- _context15.next = 19;
994
+ _context14.next = 19;
964
995
  break;
965
996
  }
966
997
  if (!this.options.slpk) {
967
- _context15.next = 16;
998
+ _context14.next = 16;
968
999
  break;
969
1000
  }
970
1001
  slpkCompressedGeometryPath = (0, _path.join)(childPath, 'geometries');
971
- _context15.next = 14;
1002
+ _context14.next = 14;
972
1003
  return this.writeQueue.enqueue({
973
1004
  archiveKey: "".concat(slpkChildPath, "/geometries/1.bin.gz"),
974
1005
  writePromise: function writePromise() {
@@ -976,11 +1007,11 @@ var I3SConverter = function () {
976
1007
  }
977
1008
  });
978
1009
  case 14:
979
- _context15.next = 19;
1010
+ _context14.next = 19;
980
1011
  break;
981
1012
  case 16:
982
1013
  compressedGeometryPath = (0, _path.join)(childPath, 'geometries/1/');
983
- _context15.next = 19;
1014
+ _context14.next = 19;
984
1015
  return this.writeQueue.enqueue({
985
1016
  writePromise: function writePromise() {
986
1017
  return (0, _fileUtils.writeFile)(compressedGeometryPath, compressedGeometry, 'index.bin');
@@ -988,11 +1019,11 @@ var I3SConverter = function () {
988
1019
  });
989
1020
  case 19:
990
1021
  case "end":
991
- return _context15.stop();
1022
+ return _context14.stop();
992
1023
  }
993
- }, _callee15, this);
1024
+ }, _callee14, this);
994
1025
  }));
995
- function _writeGeometries(_x25, _x26, _x27, _x28) {
1026
+ function _writeGeometries(_x27, _x28, _x29, _x30) {
996
1027
  return _writeGeometries2.apply(this, arguments);
997
1028
  }
998
1029
  return _writeGeometries;
@@ -1000,26 +1031,26 @@ var I3SConverter = function () {
1000
1031
  }, {
1001
1032
  key: "_writeShared",
1002
1033
  value: function () {
1003
- var _writeShared2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee16(sharedResources, childPath, slpkChildPath, nodePath) {
1034
+ var _writeShared2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee15(sharedResources, childPath, slpkChildPath, nodePath) {
1004
1035
  var sharedData, sharedDataStr, slpkSharedPath, sharedPath;
1005
- return _regenerator.default.wrap(function _callee16$(_context16) {
1006
- while (1) switch (_context16.prev = _context16.next) {
1036
+ return _regenerator.default.wrap(function _callee15$(_context15) {
1037
+ while (1) switch (_context15.prev = _context15.next) {
1007
1038
  case 0:
1008
1039
  if (sharedResources) {
1009
- _context16.next = 2;
1040
+ _context15.next = 2;
1010
1041
  break;
1011
1042
  }
1012
- return _context16.abrupt("return");
1043
+ return _context15.abrupt("return");
1013
1044
  case 2:
1014
1045
  sharedResources.nodePath = nodePath;
1015
1046
  sharedData = (0, _jsonMapTransform.default)(sharedResources, (0, _sharedResources.SHARED_RESOURCES)());
1016
1047
  sharedDataStr = JSON.stringify(sharedData);
1017
1048
  if (!this.options.slpk) {
1018
- _context16.next = 11;
1049
+ _context15.next = 11;
1019
1050
  break;
1020
1051
  }
1021
1052
  slpkSharedPath = (0, _path.join)(childPath, 'shared');
1022
- _context16.next = 9;
1053
+ _context15.next = 9;
1023
1054
  return this.writeQueue.enqueue({
1024
1055
  archiveKey: "".concat(slpkChildPath, "/shared/sharedResource.json.gz"),
1025
1056
  writePromise: function writePromise() {
@@ -1027,11 +1058,11 @@ var I3SConverter = function () {
1027
1058
  }
1028
1059
  });
1029
1060
  case 9:
1030
- _context16.next = 14;
1061
+ _context15.next = 14;
1031
1062
  break;
1032
1063
  case 11:
1033
1064
  sharedPath = (0, _path.join)(childPath, 'shared/');
1034
- _context16.next = 14;
1065
+ _context15.next = 14;
1035
1066
  return this.writeQueue.enqueue({
1036
1067
  writePromise: function writePromise() {
1037
1068
  return (0, _fileUtils.writeFile)(sharedPath, sharedDataStr);
@@ -1039,11 +1070,11 @@ var I3SConverter = function () {
1039
1070
  });
1040
1071
  case 14:
1041
1072
  case "end":
1042
- return _context16.stop();
1073
+ return _context15.stop();
1043
1074
  }
1044
- }, _callee16, this);
1075
+ }, _callee15, this);
1045
1076
  }));
1046
- function _writeShared(_x29, _x30, _x31, _x32) {
1077
+ function _writeShared(_x31, _x32, _x33, _x34) {
1047
1078
  return _writeShared2.apply(this, arguments);
1048
1079
  }
1049
1080
  return _writeShared;
@@ -1051,31 +1082,31 @@ var I3SConverter = function () {
1051
1082
  }, {
1052
1083
  key: "_writeTexture",
1053
1084
  value: function () {
1054
- var _writeTexture2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee17(texture, childPath, slpkChildPath) {
1085
+ var _writeTexture2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee16(texture, childPath, slpkChildPath) {
1055
1086
  var format, formats, textureData, copyArrayBuffer, arrayToEncode, ktx2TextureData, decodedFromKTX2TextureData;
1056
- return _regenerator.default.wrap(function _callee17$(_context17) {
1057
- while (1) switch (_context17.prev = _context17.next) {
1087
+ return _regenerator.default.wrap(function _callee16$(_context16) {
1088
+ while (1) switch (_context16.prev = _context16.next) {
1058
1089
  case 0:
1059
1090
  if (!texture) {
1060
- _context17.next = 27;
1091
+ _context16.next = 27;
1061
1092
  break;
1062
1093
  }
1063
1094
  format = this._getFormatByMimeType(texture === null || texture === void 0 ? void 0 : texture.mimeType);
1064
1095
  formats = [];
1065
1096
  textureData = texture.bufferView.data;
1066
- _context17.t0 = format;
1067
- _context17.next = _context17.t0 === 'jpg' ? 7 : _context17.t0 === 'png' ? 7 : _context17.t0 === 'ktx2' ? 18 : 26;
1097
+ _context16.t0 = format;
1098
+ _context16.next = _context16.t0 === 'jpg' ? 7 : _context16.t0 === 'png' ? 7 : _context16.t0 === 'ktx2' ? 18 : 26;
1068
1099
  break;
1069
1100
  case 7:
1070
1101
  formats.push({
1071
1102
  name: '0',
1072
1103
  format: format
1073
1104
  });
1074
- _context17.next = 10;
1105
+ _context16.next = 10;
1075
1106
  return this.writeTextureFile(textureData, '0', format, childPath, slpkChildPath);
1076
1107
  case 10:
1077
1108
  if (!this.generateTextures) {
1078
- _context17.next = 17;
1109
+ _context16.next = 17;
1079
1110
  break;
1080
1111
  }
1081
1112
  formats.push({
@@ -1091,20 +1122,20 @@ var I3SConverter = function () {
1091
1122
  reuseWorkers: true,
1092
1123
  _nodeWorkers: true
1093
1124
  }));
1094
- _context17.next = 17;
1125
+ _context16.next = 17;
1095
1126
  return this.writeTextureFile(ktx2TextureData, '1', 'ktx2', childPath, slpkChildPath);
1096
1127
  case 17:
1097
- return _context17.abrupt("break", 26);
1128
+ return _context16.abrupt("break", 26);
1098
1129
  case 18:
1099
1130
  formats.push({
1100
1131
  name: '1',
1101
1132
  format: format
1102
1133
  });
1103
- _context17.next = 21;
1134
+ _context16.next = 21;
1104
1135
  return this.writeTextureFile(textureData, '1', format, childPath, slpkChildPath);
1105
1136
  case 21:
1106
1137
  if (!this.generateTextures) {
1107
- _context17.next = 26;
1138
+ _context16.next = 26;
1108
1139
  break;
1109
1140
  }
1110
1141
  formats.push({
@@ -1112,7 +1143,7 @@ var I3SConverter = function () {
1112
1143
  format: 'jpg'
1113
1144
  });
1114
1145
  decodedFromKTX2TextureData = (0, _core.encode)(texture.image.data[0], _images.ImageWriter);
1115
- _context17.next = 26;
1146
+ _context16.next = 26;
1116
1147
  return this.writeTextureFile(decodedFromKTX2TextureData, '0', 'jpg', childPath, slpkChildPath);
1117
1148
  case 26:
1118
1149
  if (!this.layers0.textureSetDefinitions.length) {
@@ -1126,11 +1157,11 @@ var I3SConverter = function () {
1126
1157
  }
1127
1158
  case 27:
1128
1159
  case "end":
1129
- return _context17.stop();
1160
+ return _context16.stop();
1130
1161
  }
1131
- }, _callee17, this);
1162
+ }, _callee16, this);
1132
1163
  }));
1133
- function _writeTexture(_x33, _x34, _x35) {
1164
+ function _writeTexture(_x35, _x36, _x37) {
1134
1165
  return _writeTexture2.apply(this, arguments);
1135
1166
  }
1136
1167
  return _writeTexture;
@@ -1138,18 +1169,18 @@ var I3SConverter = function () {
1138
1169
  }, {
1139
1170
  key: "writeTextureFile",
1140
1171
  value: function () {
1141
- var _writeTextureFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee18(textureData, name, format, childPath, slpkChildPath) {
1172
+ var _writeTextureFile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee17(textureData, name, format, childPath, slpkChildPath) {
1142
1173
  var slpkTexturePath, compress, texturePath;
1143
- return _regenerator.default.wrap(function _callee18$(_context18) {
1144
- while (1) switch (_context18.prev = _context18.next) {
1174
+ return _regenerator.default.wrap(function _callee17$(_context17) {
1175
+ while (1) switch (_context17.prev = _context17.next) {
1145
1176
  case 0:
1146
1177
  if (!this.options.slpk) {
1147
- _context18.next = 7;
1178
+ _context17.next = 7;
1148
1179
  break;
1149
1180
  }
1150
1181
  slpkTexturePath = (0, _path.join)(childPath, 'textures');
1151
1182
  compress = false;
1152
- _context18.next = 5;
1183
+ _context17.next = 5;
1153
1184
  return this.writeQueue.enqueue({
1154
1185
  archiveKey: "".concat(slpkChildPath, "/textures/").concat(name, ".").concat(format),
1155
1186
  writePromise: function writePromise() {
@@ -1157,11 +1188,11 @@ var I3SConverter = function () {
1157
1188
  }
1158
1189
  });
1159
1190
  case 5:
1160
- _context18.next = 10;
1191
+ _context17.next = 10;
1161
1192
  break;
1162
1193
  case 7:
1163
1194
  texturePath = (0, _path.join)(childPath, "textures/".concat(name, "/"));
1164
- _context18.next = 10;
1195
+ _context17.next = 10;
1165
1196
  return this.writeQueue.enqueue({
1166
1197
  writePromise: function writePromise() {
1167
1198
  return (0, _fileUtils.writeFile)(texturePath, textureData, "index.".concat(format));
@@ -1169,11 +1200,11 @@ var I3SConverter = function () {
1169
1200
  });
1170
1201
  case 10:
1171
1202
  case "end":
1172
- return _context18.stop();
1203
+ return _context17.stop();
1173
1204
  }
1174
- }, _callee18, this);
1205
+ }, _callee17, this);
1175
1206
  }));
1176
- function writeTextureFile(_x36, _x37, _x38, _x39, _x40) {
1207
+ function writeTextureFile(_x38, _x39, _x40, _x41, _x42) {
1177
1208
  return _writeTextureFile.apply(this, arguments);
1178
1209
  }
1179
1210
  return writeTextureFile;
@@ -1181,7 +1212,7 @@ var I3SConverter = function () {
1181
1212
  }, {
1182
1213
  key: "_writeAttributes",
1183
1214
  value: function () {
1184
- var _writeAttributes2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee19() {
1215
+ var _writeAttributes2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee18() {
1185
1216
  var _this$layers3,
1186
1217
  _this$layers3$attribu,
1187
1218
  _this4 = this;
@@ -1190,30 +1221,30 @@ var I3SConverter = function () {
1190
1221
  slpkChildPath,
1191
1222
  _loop,
1192
1223
  index,
1193
- _args20 = arguments;
1194
- return _regenerator.default.wrap(function _callee19$(_context20) {
1195
- while (1) switch (_context20.prev = _context20.next) {
1224
+ _args19 = arguments;
1225
+ return _regenerator.default.wrap(function _callee18$(_context19) {
1226
+ while (1) switch (_context19.prev = _context19.next) {
1196
1227
  case 0:
1197
- attributes = _args20.length > 0 && _args20[0] !== undefined ? _args20[0] : [];
1198
- childPath = _args20.length > 1 ? _args20[1] : undefined;
1199
- slpkChildPath = _args20.length > 2 ? _args20[2] : undefined;
1228
+ attributes = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : [];
1229
+ childPath = _args19.length > 1 ? _args19[1] : undefined;
1230
+ slpkChildPath = _args19.length > 2 ? _args19[2] : undefined;
1200
1231
  if (!(attributes !== null && attributes !== void 0 && attributes.length && (_this$layers3 = this.layers0) !== null && _this$layers3 !== void 0 && (_this$layers3$attribu = _this$layers3.attributeStorageInfo) !== null && _this$layers3$attribu !== void 0 && _this$layers3$attribu.length)) {
1201
- _context20.next = 11;
1232
+ _context19.next = 11;
1202
1233
  break;
1203
1234
  }
1204
1235
  _loop = _regenerator.default.mark(function _loop() {
1205
1236
  var folderName, fileBuffer, slpkAttributesPath, attributesPath;
1206
- return _regenerator.default.wrap(function _loop$(_context19) {
1207
- while (1) switch (_context19.prev = _context19.next) {
1237
+ return _regenerator.default.wrap(function _loop$(_context18) {
1238
+ while (1) switch (_context18.prev = _context18.next) {
1208
1239
  case 0:
1209
1240
  folderName = _this4.layers0.attributeStorageInfo[index].key;
1210
1241
  fileBuffer = new Uint8Array(attributes[index]);
1211
1242
  if (!_this4.options.slpk) {
1212
- _context19.next = 8;
1243
+ _context18.next = 8;
1213
1244
  break;
1214
1245
  }
1215
1246
  slpkAttributesPath = (0, _path.join)(childPath, 'attributes', folderName);
1216
- _context19.next = 6;
1247
+ _context18.next = 6;
1217
1248
  return _this4.writeQueue.enqueue({
1218
1249
  archiveKey: "".concat(slpkChildPath, "/attributes/").concat(folderName, ".bin.gz"),
1219
1250
  writePromise: function writePromise() {
@@ -1221,11 +1252,11 @@ var I3SConverter = function () {
1221
1252
  }
1222
1253
  });
1223
1254
  case 6:
1224
- _context19.next = 11;
1255
+ _context18.next = 11;
1225
1256
  break;
1226
1257
  case 8:
1227
1258
  attributesPath = (0, _path.join)(childPath, "attributes/".concat(folderName, "/0"));
1228
- _context19.next = 11;
1259
+ _context18.next = 11;
1229
1260
  return _this4.writeQueue.enqueue({
1230
1261
  writePromise: function writePromise() {
1231
1262
  return (0, _fileUtils.writeFile)(attributesPath, fileBuffer, 'index.bin');
@@ -1233,26 +1264,26 @@ var I3SConverter = function () {
1233
1264
  });
1234
1265
  case 11:
1235
1266
  case "end":
1236
- return _context19.stop();
1267
+ return _context18.stop();
1237
1268
  }
1238
1269
  }, _loop);
1239
1270
  });
1240
1271
  index = 0;
1241
1272
  case 6:
1242
1273
  if (!(index < attributes.length)) {
1243
- _context20.next = 11;
1274
+ _context19.next = 11;
1244
1275
  break;
1245
1276
  }
1246
- return _context20.delegateYield(_loop(), "t0", 8);
1277
+ return _context19.delegateYield(_loop(), "t0", 8);
1247
1278
  case 8:
1248
1279
  index++;
1249
- _context20.next = 6;
1280
+ _context19.next = 6;
1250
1281
  break;
1251
1282
  case 11:
1252
1283
  case "end":
1253
- return _context20.stop();
1284
+ return _context19.stop();
1254
1285
  }
1255
- }, _callee19, this);
1286
+ }, _callee18, this);
1256
1287
  }));
1257
1288
  function _writeAttributes() {
1258
1289
  return _writeAttributes2.apply(this, arguments);
@@ -1323,17 +1354,17 @@ var I3SConverter = function () {
1323
1354
  }, {
1324
1355
  key: "_finishConversion",
1325
1356
  value: function () {
1326
- var _finishConversion2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee20(params) {
1357
+ var _finishConversion2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee19(params) {
1327
1358
  var _this$refinementCount, tilesCount, tilesWithAddRefineCount, addRefinementPercentage, filesSize, diff, conversionTime;
1328
- return _regenerator.default.wrap(function _callee20$(_context21) {
1329
- while (1) switch (_context21.prev = _context21.next) {
1359
+ return _regenerator.default.wrap(function _callee19$(_context20) {
1360
+ while (1) switch (_context20.prev = _context20.next) {
1330
1361
  case 0:
1331
1362
  _this$refinementCount = this.refinementCounter, tilesCount = _this$refinementCount.tilesCount, tilesWithAddRefineCount = _this$refinementCount.tilesWithAddRefineCount;
1332
1363
  addRefinementPercentage = tilesWithAddRefineCount ? tilesWithAddRefineCount / tilesCount * 100 : 0;
1333
- _context21.next = 4;
1364
+ _context20.next = 4;
1334
1365
  return (0, _statisticUtills.calculateFilesSize)(params);
1335
1366
  case 4:
1336
- filesSize = _context21.sent;
1367
+ filesSize = _context20.sent;
1337
1368
  diff = _process.default.hrtime(this.conversionStartTime);
1338
1369
  conversionTime = (0, _statisticUtills.timeConverter)(diff);
1339
1370
  console.log("------------------------------------------------");
@@ -1345,11 +1376,11 @@ var I3SConverter = function () {
1345
1376
  console.log("------------------------------------------------");
1346
1377
  case 14:
1347
1378
  case "end":
1348
- return _context21.stop();
1379
+ return _context20.stop();
1349
1380
  }
1350
- }, _callee20, this);
1381
+ }, _callee19, this);
1351
1382
  }));
1352
- function _finishConversion(_x41) {
1383
+ function _finishConversion(_x43) {
1353
1384
  return _finishConversion2.apply(this, arguments);
1354
1385
  }
1355
1386
  return _finishConversion;
@@ -1357,33 +1388,33 @@ var I3SConverter = function () {
1357
1388
  }, {
1358
1389
  key: "_fetchPreloadOptions",
1359
1390
  value: function () {
1360
- var _fetchPreloadOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee21() {
1391
+ var _fetchPreloadOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee20() {
1361
1392
  var options, preloadOptions;
1362
- return _regenerator.default.wrap(function _callee21$(_context22) {
1363
- while (1) switch (_context22.prev = _context22.next) {
1393
+ return _regenerator.default.wrap(function _callee20$(_context21) {
1394
+ while (1) switch (_context21.prev = _context21.next) {
1364
1395
  case 0:
1365
1396
  if (this.Loader.preload) {
1366
- _context22.next = 2;
1397
+ _context21.next = 2;
1367
1398
  break;
1368
1399
  }
1369
- return _context22.abrupt("return", {});
1400
+ return _context21.abrupt("return", {});
1370
1401
  case 2:
1371
1402
  options = {
1372
1403
  'cesium-ion': {
1373
1404
  accessToken: this.options.token || ION_DEFAULT_TOKEN
1374
1405
  }
1375
1406
  };
1376
- _context22.next = 5;
1407
+ _context21.next = 5;
1377
1408
  return this.Loader.preload(this.options.inputUrl, options);
1378
1409
  case 5:
1379
- preloadOptions = _context22.sent;
1410
+ preloadOptions = _context21.sent;
1380
1411
  this.refreshTokenTime = _process.default.hrtime();
1381
- return _context22.abrupt("return", _objectSpread(_objectSpread({}, options), preloadOptions));
1412
+ return _context21.abrupt("return", _objectSpread(_objectSpread({}, options), preloadOptions));
1382
1413
  case 8:
1383
1414
  case "end":
1384
- return _context22.stop();
1415
+ return _context21.stop();
1385
1416
  }
1386
- }, _callee21, this);
1417
+ }, _callee20, this);
1387
1418
  }));
1388
1419
  function _fetchPreloadOptions() {
1389
1420
  return _fetchPreloadOptions2.apply(this, arguments);
@@ -1393,35 +1424,34 @@ var I3SConverter = function () {
1393
1424
  }, {
1394
1425
  key: "_updateTilesetOptions",
1395
1426
  value: function () {
1396
- var _updateTilesetOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee22() {
1427
+ var _updateTilesetOptions2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee21() {
1397
1428
  var diff, preloadOptions;
1398
- return _regenerator.default.wrap(function _callee22$(_context23) {
1399
- while (1) switch (_context23.prev = _context23.next) {
1429
+ return _regenerator.default.wrap(function _callee21$(_context22) {
1430
+ while (1) switch (_context22.prev = _context22.next) {
1400
1431
  case 0:
1401
1432
  diff = _process.default.hrtime(this.refreshTokenTime);
1402
1433
  if (!(diff[0] < REFRESH_TOKEN_TIMEOUT)) {
1403
- _context23.next = 3;
1434
+ _context22.next = 3;
1404
1435
  break;
1405
1436
  }
1406
- return _context23.abrupt("return");
1437
+ return _context22.abrupt("return");
1407
1438
  case 3:
1408
1439
  this.refreshTokenTime = _process.default.hrtime();
1409
- _context23.next = 6;
1440
+ _context22.next = 6;
1410
1441
  return this._fetchPreloadOptions();
1411
1442
  case 6:
1412
- preloadOptions = _context23.sent;
1413
- this.sourceTileset.options = _objectSpread(_objectSpread({}, this.sourceTileset.options), preloadOptions);
1443
+ preloadOptions = _context22.sent;
1414
1444
  if (preloadOptions.headers) {
1415
- this.sourceTileset.loadOptions.fetch = _objectSpread(_objectSpread({}, this.sourceTileset.loadOptions.fetch), {}, {
1445
+ this.loadOptions.fetch = _objectSpread(_objectSpread({}, this.loadOptions.fetch), {}, {
1416
1446
  headers: preloadOptions.headers
1417
1447
  });
1418
1448
  console.log('Authorization Bearer token has been updated');
1419
1449
  }
1420
- case 9:
1450
+ case 8:
1421
1451
  case "end":
1422
- return _context23.stop();
1452
+ return _context22.stop();
1423
1453
  }
1424
- }, _callee22, this);
1454
+ }, _callee21, this);
1425
1455
  }));
1426
1456
  function _updateTilesetOptions() {
1427
1457
  return _updateTilesetOptions2.apply(this, arguments);
@@ -1440,65 +1470,64 @@ var I3SConverter = function () {
1440
1470
  }
1441
1471
  }, {
1442
1472
  key: "isContentSupported",
1443
- value: function isContentSupported(sourceRootTile) {
1444
- var _sourceRootTile$conte;
1445
- return ['b3dm', 'glTF'].includes(sourceRootTile === null || sourceRootTile === void 0 ? void 0 : (_sourceRootTile$conte = sourceRootTile.content) === null || _sourceRootTile$conte === void 0 ? void 0 : _sourceRootTile$conte.type);
1473
+ value: function isContentSupported(sourceTile) {
1474
+ return ['b3dm', 'glTF', 'scenegraph'].includes(sourceTile.type || '');
1446
1475
  }
1447
1476
  }, {
1448
1477
  key: "loadWorkers",
1449
1478
  value: function () {
1450
- var _loadWorkers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee23() {
1479
+ var _loadWorkers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee22() {
1451
1480
  var url, _sourceResponse, _source, _url, _sourceResponse2, _source2, i3sAttributesWorkerUrl, sourceResponse, source;
1452
- return _regenerator.default.wrap(function _callee23$(_context24) {
1453
- while (1) switch (_context24.prev = _context24.next) {
1481
+ return _regenerator.default.wrap(function _callee22$(_context23) {
1482
+ while (1) switch (_context23.prev = _context23.next) {
1454
1483
  case 0:
1455
1484
  console.log("Loading workers source...");
1456
1485
  if (!this.options.draco) {
1457
- _context24.next = 10;
1486
+ _context23.next = 10;
1458
1487
  break;
1459
1488
  }
1460
1489
  url = (0, _workerUtils.getWorkerURL)(_draco.DracoWriterWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1461
- _context24.next = 5;
1490
+ _context23.next = 5;
1462
1491
  return (0, _core.fetchFile)(url);
1463
1492
  case 5:
1464
- _sourceResponse = _context24.sent;
1465
- _context24.next = 8;
1493
+ _sourceResponse = _context23.sent;
1494
+ _context23.next = 8;
1466
1495
  return _sourceResponse.text();
1467
1496
  case 8:
1468
- _source = _context24.sent;
1497
+ _source = _context23.sent;
1469
1498
  this.workerSource.draco = _source;
1470
1499
  case 10:
1471
1500
  if (!this.generateTextures) {
1472
- _context24.next = 19;
1501
+ _context23.next = 19;
1473
1502
  break;
1474
1503
  }
1475
1504
  _url = (0, _workerUtils.getWorkerURL)(_textures.KTX2BasisWriterWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1476
- _context24.next = 14;
1505
+ _context23.next = 14;
1477
1506
  return (0, _core.fetchFile)(_url);
1478
1507
  case 14:
1479
- _sourceResponse2 = _context24.sent;
1480
- _context24.next = 17;
1508
+ _sourceResponse2 = _context23.sent;
1509
+ _context23.next = 17;
1481
1510
  return _sourceResponse2.text();
1482
1511
  case 17:
1483
- _source2 = _context24.sent;
1512
+ _source2 = _context23.sent;
1484
1513
  this.workerSource.ktx2 = _source2;
1485
1514
  case 19:
1486
1515
  i3sAttributesWorkerUrl = (0, _workerUtils.getWorkerURL)(_i3sAttributesWorker.I3SAttributesWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1487
- _context24.next = 22;
1516
+ _context23.next = 22;
1488
1517
  return (0, _core.fetchFile)(i3sAttributesWorkerUrl);
1489
1518
  case 22:
1490
- sourceResponse = _context24.sent;
1491
- _context24.next = 25;
1519
+ sourceResponse = _context23.sent;
1520
+ _context23.next = 25;
1492
1521
  return sourceResponse.text();
1493
1522
  case 25:
1494
- source = _context24.sent;
1523
+ source = _context23.sent;
1495
1524
  this.workerSource.I3SAttributes = source;
1496
1525
  console.log("Loading workers source completed!");
1497
1526
  case 28:
1498
1527
  case "end":
1499
- return _context24.stop();
1528
+ return _context23.stop();
1500
1529
  }
1501
- }, _callee23, this);
1530
+ }, _callee22, this);
1502
1531
  }));
1503
1532
  function loadWorkers() {
1504
1533
  return _loadWorkers.apply(this, arguments);