@loaders.gl/tile-converter 3.2.0-alpha.2 → 3.2.0

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 (82) hide show
  1. package/dist/3d-tiles-attributes-worker.js +1 -1
  2. package/dist/3d-tiles-attributes-worker.js.map +1 -1
  3. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +1 -1
  4. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  5. package/dist/3d-tiles-converter/3d-tiles-converter.js +5 -0
  6. package/dist/constants.d.ts +2 -0
  7. package/dist/constants.d.ts.map +1 -0
  8. package/dist/constants.js +4 -0
  9. package/dist/converter-cli.d.ts +2 -0
  10. package/dist/converter-cli.d.ts.map +1 -0
  11. package/dist/converter-cli.js +232 -0
  12. package/dist/converter.min.js +68 -68
  13. package/dist/deps-installer/deps-installer.d.ts +11 -1
  14. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  15. package/dist/deps-installer/deps-installer.js +10 -0
  16. package/dist/dist.min.js +147 -171
  17. package/dist/es5/3d-tiles-attributes-worker.js +1 -1
  18. package/dist/es5/3d-tiles-attributes-worker.js.map +1 -1
  19. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +33 -22
  20. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  21. package/dist/es5/constants.js +9 -0
  22. package/dist/es5/constants.js.map +1 -0
  23. package/dist/es5/converter-cli.js +306 -0
  24. package/dist/es5/converter-cli.js.map +1 -0
  25. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  26. package/dist/es5/i3s-attributes-worker.js +1 -1
  27. package/dist/es5/i3s-attributes-worker.js.map +1 -1
  28. package/dist/es5/i3s-converter/helpers/geometry-converter.js +4 -4
  29. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  30. package/dist/es5/i3s-converter/i3s-converter.js +84 -49
  31. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  32. package/dist/es5/i3s-converter/json-templates/layers.js +29 -0
  33. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -1
  34. package/dist/es5/index.js +0 -24
  35. package/dist/es5/index.js.map +1 -1
  36. package/dist/es5/pgm-loader.js +1 -1
  37. package/dist/es5/pgm-loader.js.map +1 -1
  38. package/dist/esm/3d-tiles-attributes-worker.js +1 -1
  39. package/dist/esm/3d-tiles-attributes-worker.js.map +1 -1
  40. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +7 -1
  41. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  42. package/dist/esm/constants.js +2 -0
  43. package/dist/esm/constants.js.map +1 -0
  44. package/dist/esm/converter-cli.js +230 -0
  45. package/dist/esm/converter-cli.js.map +1 -0
  46. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  47. package/dist/esm/i3s-attributes-worker.js +1 -1
  48. package/dist/esm/i3s-attributes-worker.js.map +1 -1
  49. package/dist/esm/i3s-converter/helpers/geometry-converter.js +4 -4
  50. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  51. package/dist/esm/i3s-converter/i3s-converter.js +57 -29
  52. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  53. package/dist/esm/i3s-converter/json-templates/layers.js +25 -0
  54. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -1
  55. package/dist/esm/index.js +0 -3
  56. package/dist/esm/index.js.map +1 -1
  57. package/dist/esm/pgm-loader.js +1 -1
  58. package/dist/esm/pgm-loader.js.map +1 -1
  59. package/dist/i3s-attributes-worker.js +1 -1
  60. package/dist/i3s-attributes-worker.js.map +2 -2
  61. package/dist/i3s-converter/helpers/geometry-converter.js +3 -3
  62. package/dist/i3s-converter/i3s-converter.d.ts +0 -2
  63. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  64. package/dist/i3s-converter/i3s-converter.js +42 -18
  65. package/dist/i3s-converter/json-templates/layers.d.ts +4 -0
  66. package/dist/i3s-converter/json-templates/layers.d.ts.map +1 -1
  67. package/dist/i3s-converter/json-templates/layers.js +24 -0
  68. package/dist/index.d.ts +0 -3
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +1 -7
  71. package/package.json +20 -18
  72. package/src/3d-tiles-converter/3d-tiles-converter.ts +7 -2
  73. package/src/constants.ts +2 -0
  74. package/src/converter-cli.ts +310 -0
  75. package/src/deps-installer/{deps-installer.js → deps-installer.ts} +11 -1
  76. package/src/i3s-converter/helpers/geometry-converter.ts +4 -4
  77. package/src/i3s-converter/i3s-converter.ts +46 -29
  78. package/src/i3s-converter/json-templates/layers.ts +25 -0
  79. package/src/index.ts +0 -5
  80. package/dist/es5/deps-installer/deps-installer.d.ts +0 -10
  81. package/dist/esm/deps-installer/deps-installer.d.ts +0 -10
  82. package/src/deps-installer/deps-installer.d.ts +0 -10
@@ -77,6 +77,10 @@ var _writeQueue = _interopRequireDefault(require("../lib/utils/write-queue"));
77
77
 
78
78
  var _i3sAttributesWorker = require("../i3s-attributes-worker");
79
79
 
80
+ var _constants = require("../constants");
81
+
82
+ var _process$env;
83
+
80
84
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
81
85
 
82
86
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -87,7 +91,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
87
91
 
88
92
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
89
93
 
90
- var ION_DEFAULT_TOKEN = _process.default.env.IonToken || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlYWMxMzcyYy0zZjJkLTQwODctODNlNi01MDRkZmMzMjIxOWIiLCJpZCI6OTYyMCwic2NvcGVzIjpbImFzbCIsImFzciIsImdjIl0sImlhdCI6MTU2Mjg2NjI3M30.1FNiClUyk00YH_nWfSGpiQAjR5V2OvREDq1PJ5QMjWQ';
94
+ var ION_DEFAULT_TOKEN = ((_process$env = _process.default.env) === null || _process$env === void 0 ? void 0 : _process$env.IonToken) || 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlYWMxMzcyYy0zZjJkLTQwODctODNlNi01MDRkZmMzMjIxOWIiLCJpZCI6OTYyMCwic2NvcGVzIjpbImFzbCIsImFzciIsImdjIl0sImlhdCI6MTU2Mjg2NjI3M30.1FNiClUyk00YH_nWfSGpiQAjR5V2OvREDq1PJ5QMjWQ';
91
95
  var HARDCODED_NODES_PER_PAGE = 64;
92
96
  var _3D_TILES = '3DTILES';
93
97
  var _3D_OBJECT_LAYER_TYPE = '3DObject';
@@ -149,6 +153,15 @@ var I3SConverter = function () {
149
153
  while (1) {
150
154
  switch (_context.prev = _context.next) {
151
155
  case 0:
156
+ if (!_core.isBrowser) {
157
+ _context.next = 3;
158
+ break;
159
+ }
160
+
161
+ console.log(_constants.BROWSER_ERROR_MESSAGE);
162
+ return _context.abrupt("return", _constants.BROWSER_ERROR_MESSAGE);
163
+
164
+ case 3:
152
165
  this.conversionStartTime = _process.default.hrtime();
153
166
  tilesetName = options.tilesetName, slpk = options.slpk, egmFilePath = options.egmFilePath, inputUrl = options.inputUrl, validate = options.validate, outputPath = options.outputPath, draco = options.draco, sevenZipExe = options.sevenZipExe, maxDepth = options.maxDepth, token = options.token, generateTextures = options.generateTextures, generateBoundingVolumes = options.generateBoundingVolumes;
154
167
  this.options = {
@@ -167,10 +180,10 @@ var I3SConverter = function () {
167
180
  this.writeQueue = new _writeQueue.default();
168
181
  this.writeQueue.startListening();
169
182
  console.log('Loading egm file...');
170
- _context.next = 12;
183
+ _context.next = 15;
171
184
  return (0, _core.load)(egmFilePath, _pgmLoader.PGMLoader);
172
185
 
173
- case 12:
186
+ case 15:
174
187
  this.geoidHeightModel = _context.sent;
175
188
  console.log('Loading egm file completed!');
176
189
 
@@ -178,14 +191,15 @@ var I3SConverter = function () {
178
191
  this.nodePages.useWriteFunction(_fileUtils.writeFileForSlpk);
179
192
  }
180
193
 
181
- _context.next = 17;
194
+ _context.next = 20;
182
195
  return this.loadWorkers();
183
196
 
184
- case 17:
185
- _context.next = 19;
197
+ case 20:
198
+ _context.prev = 20;
199
+ _context.next = 23;
186
200
  return this._fetchPreloadOptions();
187
201
 
188
- case 19:
202
+ case 23:
189
203
  preloadOptions = _context.sent;
190
204
  tilesetOptions = {
191
205
  loadOptions: {
@@ -202,34 +216,43 @@ var I3SConverter = function () {
202
216
  }
203
217
 
204
218
  Object.assign(tilesetOptions, preloadOptions);
205
- _context.next = 25;
219
+ _context.next = 29;
206
220
  return (0, _core.load)(inputUrl, this.Loader, tilesetOptions.loadOptions);
207
221
 
208
- case 25:
222
+ case 29:
209
223
  sourceTilesetJson = _context.sent;
210
224
  this.sourceTileset = new _tiles.Tileset3D(sourceTilesetJson, tilesetOptions);
211
- _context.next = 29;
225
+ _context.next = 33;
212
226
  return this._createAndSaveTileset(outputPath, tilesetName);
213
227
 
214
- case 29:
215
- _context.next = 31;
228
+ case 33:
229
+ _context.next = 35;
216
230
  return this._finishConversion({
217
231
  slpk: Boolean(slpk),
218
232
  outputPath: outputPath,
219
233
  tilesetName: tilesetName
220
234
  });
221
235
 
222
- case 31:
236
+ case 35:
237
+ return _context.abrupt("return", sourceTilesetJson);
238
+
239
+ case 38:
240
+ _context.prev = 38;
241
+ _context.t0 = _context["catch"](20);
242
+ throw _context.t0;
243
+
244
+ case 41:
245
+ _context.prev = 41;
223
246
  workerFarm = _workerUtils.WorkerFarm.getWorkerFarm({});
224
247
  workerFarm.destroy();
225
- return _context.abrupt("return", sourceTilesetJson);
248
+ return _context.finish(41);
226
249
 
227
- case 34:
250
+ case 45:
228
251
  case "end":
229
252
  return _context.stop();
230
253
  }
231
254
  }
232
- }, _callee, this);
255
+ }, _callee, this, [[20, 38, 41, 45]]);
233
256
  }));
234
257
 
235
258
  function convert(_x) {
@@ -342,7 +365,8 @@ var I3SConverter = function () {
342
365
  nodePages: {
343
366
  nodesPerPage: HARDCODED_NODES_PER_PAGE
344
367
  },
345
- compressGeometry: this.options.draco
368
+ compressGeometry: this.options.draco,
369
+ fullExtent: fullExtent
346
370
  };
347
371
  this.layers0 = (0, _jsonMapTransform.default)(layers0data, (0, _layers.LAYERS)());
348
372
  }
@@ -1294,7 +1318,7 @@ var I3SConverter = function () {
1294
1318
  switch (_context15.prev = _context15.next) {
1295
1319
  case 0:
1296
1320
  if (!texture) {
1297
- _context15.next = 33;
1321
+ _context15.next = 25;
1298
1322
  break;
1299
1323
  }
1300
1324
 
@@ -1302,7 +1326,7 @@ var I3SConverter = function () {
1302
1326
  formats = [];
1303
1327
  textureData = texture.bufferView.data;
1304
1328
  _context15.t0 = format;
1305
- _context15.next = _context15.t0 === 'jpg' ? 7 : _context15.t0 === 'png' ? 7 : _context15.t0 === 'ktx2' ? 20 : 32;
1329
+ _context15.next = _context15.t0 === 'jpg' ? 7 : _context15.t0 === 'png' ? 7 : _context15.t0 === 'ktx2' ? 16 : 24;
1306
1330
  break;
1307
1331
 
1308
1332
  case 7:
@@ -1315,7 +1339,7 @@ var I3SConverter = function () {
1315
1339
 
1316
1340
  case 10:
1317
1341
  if (!this.generateTextures) {
1318
- _context15.next = 19;
1342
+ _context15.next = 15;
1319
1343
  break;
1320
1344
  }
1321
1345
 
@@ -1323,30 +1347,28 @@ var I3SConverter = function () {
1323
1347
  name: '1',
1324
1348
  format: 'ktx2'
1325
1349
  });
1326
- _context15.t1 = Uint8Array;
1350
+ ktx2TextureData = (0, _core.encode)(texture.image, _textures.KTX2BasisWriterWorker, _objectSpread(_objectSpread({}, _textures.KTX2BasisWriterWorker.options), {}, {
1351
+ source: this.workerSource.ktx2,
1352
+ reuseWorkers: true,
1353
+ _nodeWorkers: true
1354
+ }));
1327
1355
  _context15.next = 15;
1328
- return (0, _core.encode)(texture.image, _textures.KTX2BasisWriter);
1329
-
1330
- case 15:
1331
- _context15.t2 = _context15.sent;
1332
- ktx2TextureData = new _context15.t1(_context15.t2);
1333
- _context15.next = 19;
1334
1356
  return this.writeTextureFile(ktx2TextureData, '1', 'ktx2', childPath, slpkChildPath);
1335
1357
 
1336
- case 19:
1337
- return _context15.abrupt("break", 32);
1358
+ case 15:
1359
+ return _context15.abrupt("break", 24);
1338
1360
 
1339
- case 20:
1361
+ case 16:
1340
1362
  formats.push({
1341
1363
  name: '1',
1342
1364
  format: format
1343
1365
  });
1344
- _context15.next = 23;
1366
+ _context15.next = 19;
1345
1367
  return this.writeTextureFile(textureData, '1', format, childPath, slpkChildPath);
1346
1368
 
1347
- case 23:
1369
+ case 19:
1348
1370
  if (!this.generateTextures) {
1349
- _context15.next = 32;
1371
+ _context15.next = 24;
1350
1372
  break;
1351
1373
  }
1352
1374
 
@@ -1354,24 +1376,18 @@ var I3SConverter = function () {
1354
1376
  name: '0',
1355
1377
  format: 'jpg'
1356
1378
  });
1357
- _context15.t3 = Uint8Array;
1358
- _context15.next = 28;
1359
- return (0, _core.encode)(texture.image.data[0], _images.ImageWriter);
1360
-
1361
- case 28:
1362
- _context15.t4 = _context15.sent;
1363
- decodedFromKTX2TextureData = new _context15.t3(_context15.t4);
1364
- _context15.next = 32;
1379
+ decodedFromKTX2TextureData = (0, _core.encode)(texture.image.data[0], _images.ImageWriter);
1380
+ _context15.next = 24;
1365
1381
  return this.writeTextureFile(decodedFromKTX2TextureData, '0', 'jpg', childPath, slpkChildPath);
1366
1382
 
1367
- case 32:
1383
+ case 24:
1368
1384
  if (!this.layers0.textureSetDefinitions.length) {
1369
1385
  this.layers0.textureSetDefinitions.push({
1370
1386
  formats: formats
1371
1387
  });
1372
1388
  }
1373
1389
 
1374
- case 33:
1390
+ case 25:
1375
1391
  case "end":
1376
1392
  return _context15.stop();
1377
1393
  }
@@ -1844,7 +1860,7 @@ var I3SConverter = function () {
1844
1860
  key: "loadWorkers",
1845
1861
  value: function () {
1846
1862
  var _loadWorkers = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee21() {
1847
- var url, _sourceResponse, _source, i3sAttributesWorkerUrl, sourceResponse, source;
1863
+ var url, _sourceResponse, _source, _url, _sourceResponse2, _source2, i3sAttributesWorkerUrl, sourceResponse, source;
1848
1864
 
1849
1865
  return _regenerator.default.wrap(function _callee21$(_context21) {
1850
1866
  while (1) {
@@ -1871,21 +1887,40 @@ var I3SConverter = function () {
1871
1887
  this.workerSource.draco = _source;
1872
1888
 
1873
1889
  case 10:
1890
+ if (!this.generateTextures) {
1891
+ _context21.next = 19;
1892
+ break;
1893
+ }
1894
+
1895
+ _url = (0, _workerUtils.getWorkerURL)(_textures.KTX2BasisWriterWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1896
+ _context21.next = 14;
1897
+ return (0, _core.fetchFile)(_url);
1898
+
1899
+ case 14:
1900
+ _sourceResponse2 = _context21.sent;
1901
+ _context21.next = 17;
1902
+ return _sourceResponse2.text();
1903
+
1904
+ case 17:
1905
+ _source2 = _context21.sent;
1906
+ this.workerSource.ktx2 = _source2;
1907
+
1908
+ case 19:
1874
1909
  i3sAttributesWorkerUrl = (0, _workerUtils.getWorkerURL)(_i3sAttributesWorker.I3SAttributesWorker, _objectSpread({}, (0, _core.getLoaderOptions)()));
1875
- _context21.next = 13;
1910
+ _context21.next = 22;
1876
1911
  return (0, _core.fetchFile)(i3sAttributesWorkerUrl);
1877
1912
 
1878
- case 13:
1913
+ case 22:
1879
1914
  sourceResponse = _context21.sent;
1880
- _context21.next = 16;
1915
+ _context21.next = 25;
1881
1916
  return sourceResponse.text();
1882
1917
 
1883
- case 16:
1918
+ case 25:
1884
1919
  source = _context21.sent;
1885
1920
  this.workerSource.I3SAttributes = source;
1886
1921
  console.log("Loading workers source completed!");
1887
1922
 
1888
- case 19:
1923
+ case 28:
1889
1924
  case "end":
1890
1925
  return _context21.stop();
1891
1926
  }