@loaders.gl/tile-converter 3.2.12 → 3.3.0-alpha.10

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 (251) hide show
  1. package/dist/3d-tiles-attributes-worker.d.ts +3 -3
  2. package/dist/3d-tiles-attributes-worker.d.ts.map +1 -1
  3. package/dist/3d-tiles-attributes-worker.js +2 -3
  4. package/dist/3d-tiles-attributes-worker.js.map +3 -3
  5. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +8 -0
  6. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  7. package/dist/3d-tiles-converter/3d-tiles-converter.js +57 -43
  8. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +5 -5
  9. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
  10. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +21 -17
  11. package/dist/converter-cli.js +43 -8
  12. package/dist/converter.min.js +24 -21
  13. package/dist/deps-installer/deps-installer.d.ts +5 -1
  14. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  15. package/dist/deps-installer/deps-installer.js +29 -1
  16. package/dist/dist.min.js +58405 -61237
  17. package/dist/es5/3d-tiles-attributes-worker.js +4 -7
  18. package/dist/es5/3d-tiles-attributes-worker.js.map +1 -1
  19. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +125 -210
  20. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  21. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +53 -85
  22. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  23. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +0 -8
  24. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  25. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +0 -5
  26. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  27. package/dist/es5/3d-tiles-converter/json-templates/tileset.js +0 -6
  28. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  29. package/dist/es5/bundle.js +0 -1
  30. package/dist/es5/bundle.js.map +1 -1
  31. package/dist/es5/constants.js.map +1 -1
  32. package/dist/es5/converter-cli.js +50 -60
  33. package/dist/es5/converter-cli.js.map +1 -1
  34. package/dist/es5/deps-installer/deps-installer.js +73 -28
  35. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  36. package/dist/es5/i3s-attributes-worker.js +3 -6
  37. package/dist/es5/i3s-attributes-worker.js.map +1 -1
  38. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +124 -0
  39. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
  40. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +2 -19
  41. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  42. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +0 -11
  43. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  44. package/dist/es5/i3s-converter/helpers/feature-attributes.js +184 -0
  45. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -0
  46. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +60 -51
  47. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  48. package/dist/es5/i3s-converter/helpers/geometry-converter.js +516 -356
  49. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  50. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +57 -43
  51. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  52. package/dist/es5/i3s-converter/helpers/node-debug.js +4 -23
  53. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -1
  54. package/dist/es5/i3s-converter/helpers/node-index-document.js +507 -0
  55. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -0
  56. package/dist/es5/i3s-converter/helpers/node-pages.js +462 -208
  57. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
  58. package/dist/es5/i3s-converter/i3s-converter.js +722 -1153
  59. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  60. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js +107 -0
  61. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  62. package/dist/es5/i3s-converter/json-templates/layers.js +2 -107
  63. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -1
  64. package/dist/es5/i3s-converter/json-templates/metadata.js +0 -2
  65. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -1
  66. package/dist/es5/i3s-converter/json-templates/node.js +2 -12
  67. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -1
  68. package/dist/es5/i3s-converter/json-templates/scene-server.js +0 -2
  69. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -1
  70. package/dist/es5/i3s-converter/json-templates/shared-resources.js +9 -32
  71. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -1
  72. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -1
  73. package/dist/es5/i3s-converter/types.js.map +1 -1
  74. package/dist/es5/i3s-server/app.js +0 -5
  75. package/dist/es5/i3s-server/app.js.map +1 -1
  76. package/dist/es5/i3s-server/controllers/index-controller.js +0 -16
  77. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
  78. package/dist/es5/i3s-server/routes/index.js +1 -10
  79. package/dist/es5/i3s-server/routes/index.js.map +1 -1
  80. package/dist/es5/index.js +0 -3
  81. package/dist/es5/index.js.map +1 -1
  82. package/dist/es5/lib/utils/compress-util.js +19 -74
  83. package/dist/es5/lib/utils/compress-util.js.map +1 -1
  84. package/dist/es5/lib/utils/file-utils.js +103 -47
  85. package/dist/es5/lib/utils/file-utils.js.map +1 -1
  86. package/dist/es5/lib/utils/lod-conversion-utils.js +0 -7
  87. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  88. package/dist/es5/lib/utils/queue.js +0 -14
  89. package/dist/es5/lib/utils/queue.js.map +1 -1
  90. package/dist/es5/lib/utils/statistic-utills.js +1 -46
  91. package/dist/es5/lib/utils/statistic-utills.js.map +1 -1
  92. package/dist/es5/lib/utils/write-queue.js +41 -82
  93. package/dist/es5/lib/utils/write-queue.js.map +1 -1
  94. package/dist/es5/pgm-loader.js +1 -8
  95. package/dist/es5/pgm-loader.js.map +1 -1
  96. package/dist/es5/workers/3d-tiles-attributes-worker.js +2 -9
  97. package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -1
  98. package/dist/es5/workers/i3s-attributes-worker.js +2 -10
  99. package/dist/es5/workers/i3s-attributes-worker.js.map +1 -1
  100. package/dist/esm/3d-tiles-attributes-worker.js +4 -2
  101. package/dist/esm/3d-tiles-attributes-worker.js.map +1 -1
  102. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +60 -77
  103. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  104. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +29 -50
  105. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  106. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +1 -0
  107. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  108. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +1 -4
  109. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  110. package/dist/esm/3d-tiles-converter/json-templates/tileset.js +0 -3
  111. package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  112. package/dist/esm/bundle.js +1 -1
  113. package/dist/esm/bundle.js.map +1 -1
  114. package/dist/esm/constants.js.map +1 -1
  115. package/dist/esm/converter-cli.js +46 -40
  116. package/dist/esm/converter-cli.js.map +1 -1
  117. package/dist/esm/deps-installer/deps-installer.js +30 -4
  118. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  119. package/dist/esm/i3s-attributes-worker.js +3 -1
  120. package/dist/esm/i3s-attributes-worker.js.map +1 -1
  121. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +113 -0
  122. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
  123. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +5 -6
  124. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  125. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +1 -0
  126. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  127. package/dist/esm/i3s-converter/helpers/feature-attributes.js +158 -0
  128. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -0
  129. package/dist/esm/i3s-converter/helpers/geometry-attributes.js +39 -33
  130. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  131. package/dist/esm/i3s-converter/helpers/geometry-converter.js +295 -196
  132. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  133. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +59 -34
  134. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  135. package/dist/esm/i3s-converter/helpers/node-debug.js +3 -13
  136. package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -1
  137. package/dist/esm/i3s-converter/helpers/node-index-document.js +197 -0
  138. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -0
  139. package/dist/esm/i3s-converter/helpers/node-pages.js +161 -87
  140. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
  141. package/dist/esm/i3s-converter/i3s-converter.js +216 -491
  142. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  143. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js +89 -0
  144. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  145. package/dist/esm/i3s-converter/json-templates/layers.js +2 -95
  146. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -1
  147. package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -1
  148. package/dist/esm/i3s-converter/json-templates/node.js +0 -4
  149. package/dist/esm/i3s-converter/json-templates/node.js.map +1 -1
  150. package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -1
  151. package/dist/esm/i3s-converter/json-templates/shared-resources.js +3 -15
  152. package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -1
  153. package/dist/esm/i3s-converter/json-templates/store.js.map +1 -1
  154. package/dist/esm/i3s-converter/types.js.map +1 -1
  155. package/dist/esm/i3s-server/app.js +0 -5
  156. package/dist/esm/i3s-server/app.js.map +1 -1
  157. package/dist/esm/i3s-server/controllers/index-controller.js +0 -5
  158. package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -1
  159. package/dist/esm/i3s-server/routes/index.js +0 -3
  160. package/dist/esm/i3s-server/routes/index.js.map +1 -1
  161. package/dist/esm/index.js.map +1 -1
  162. package/dist/esm/lib/utils/compress-util.js +19 -12
  163. package/dist/esm/lib/utils/compress-util.js.map +1 -1
  164. package/dist/esm/lib/utils/file-utils.js +54 -11
  165. package/dist/esm/lib/utils/file-utils.js.map +1 -1
  166. package/dist/esm/lib/utils/lod-conversion-utils.js +2 -6
  167. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
  168. package/dist/esm/lib/utils/queue.js +0 -4
  169. package/dist/esm/lib/utils/queue.js.map +1 -1
  170. package/dist/esm/lib/utils/statistic-utills.js +0 -11
  171. package/dist/esm/lib/utils/statistic-utills.js.map +1 -1
  172. package/dist/esm/lib/utils/write-queue.js +27 -38
  173. package/dist/esm/lib/utils/write-queue.js.map +1 -1
  174. package/dist/esm/pgm-loader.js +3 -1
  175. package/dist/esm/pgm-loader.js.map +1 -1
  176. package/dist/esm/workers/3d-tiles-attributes-worker.js +4 -1
  177. package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -1
  178. package/dist/esm/workers/i3s-attributes-worker.js +4 -1
  179. package/dist/esm/workers/i3s-attributes-worker.js.map +1 -1
  180. package/dist/i3s-attributes-worker.d.ts +7 -3
  181. package/dist/i3s-attributes-worker.d.ts.map +1 -1
  182. package/dist/i3s-attributes-worker.js +2 -3
  183. package/dist/i3s-attributes-worker.js.map +3 -3
  184. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +11 -0
  185. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -0
  186. package/dist/i3s-converter/helpers/batch-ids-extensions.js +141 -0
  187. package/dist/i3s-converter/helpers/coordinate-converter.d.ts +2 -2
  188. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
  189. package/dist/i3s-converter/helpers/feature-attributes.d.ts +56 -0
  190. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -0
  191. package/dist/i3s-converter/helpers/feature-attributes.js +216 -0
  192. package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -1
  193. package/dist/i3s-converter/helpers/geometry-attributes.js +42 -17
  194. package/dist/i3s-converter/helpers/geometry-converter.d.ts +18 -6
  195. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  196. package/dist/i3s-converter/helpers/geometry-converter.js +349 -99
  197. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  198. package/dist/i3s-converter/helpers/gltf-attributes.js +53 -21
  199. package/dist/i3s-converter/helpers/node-index-document.d.ts +91 -0
  200. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -0
  201. package/dist/i3s-converter/helpers/node-index-document.js +242 -0
  202. package/dist/i3s-converter/helpers/node-pages.d.ts +81 -42
  203. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
  204. package/dist/i3s-converter/helpers/node-pages.js +200 -92
  205. package/dist/i3s-converter/i3s-converter.d.ts +52 -108
  206. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  207. package/dist/i3s-converter/i3s-converter.js +218 -403
  208. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts +7 -0
  209. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts.map +1 -0
  210. package/dist/i3s-converter/json-templates/geometry-definitions.js +87 -0
  211. package/dist/i3s-converter/json-templates/layers.d.ts +1 -30
  212. package/dist/i3s-converter/json-templates/layers.d.ts.map +1 -1
  213. package/dist/i3s-converter/json-templates/layers.js +2 -86
  214. package/dist/i3s-converter/json-templates/shared-resources.js +3 -3
  215. package/dist/i3s-converter/types.d.ts +38 -8
  216. package/dist/i3s-converter/types.d.ts.map +1 -1
  217. package/dist/lib/utils/file-utils.d.ts +17 -1
  218. package/dist/lib/utils/file-utils.d.ts.map +1 -1
  219. package/dist/lib/utils/file-utils.js +64 -7
  220. package/dist/lib/utils/write-queue.d.ts +19 -3
  221. package/dist/lib/utils/write-queue.d.ts.map +1 -1
  222. package/dist/lib/utils/write-queue.js +21 -16
  223. package/dist/pgm-loader.d.ts.map +1 -1
  224. package/dist/pgm-loader.js +2 -1
  225. package/dist/workers/3d-tiles-attributes-worker.js +1 -1
  226. package/dist/workers/i3s-attributes-worker.js +1 -1
  227. package/package.json +18 -16
  228. package/src/3d-tiles-attributes-worker.ts +1 -1
  229. package/src/3d-tiles-converter/3d-tiles-converter.ts +71 -55
  230. package/src/3d-tiles-converter/helpers/b3dm-converter.ts +25 -18
  231. package/src/converter-cli.ts +54 -8
  232. package/src/deps-installer/deps-installer.ts +38 -2
  233. package/src/i3s-attributes-worker.ts +5 -1
  234. package/src/i3s-converter/helpers/batch-ids-extensions.ts +206 -0
  235. package/src/i3s-converter/helpers/coordinate-converter.ts +2 -2
  236. package/src/i3s-converter/helpers/feature-attributes.ts +247 -0
  237. package/src/i3s-converter/helpers/geometry-attributes.ts +46 -18
  238. package/src/i3s-converter/helpers/geometry-converter.ts +423 -111
  239. package/src/i3s-converter/helpers/gltf-attributes.ts +59 -24
  240. package/src/i3s-converter/helpers/node-index-document.ts +306 -0
  241. package/src/i3s-converter/helpers/node-pages.ts +222 -109
  242. package/src/i3s-converter/i3s-converter.ts +264 -487
  243. package/src/i3s-converter/json-templates/geometry-definitions.ts +83 -0
  244. package/src/i3s-converter/json-templates/layers.ts +2 -91
  245. package/src/i3s-converter/json-templates/shared-resources.ts +3 -3
  246. package/src/i3s-converter/types.ts +33 -2
  247. package/src/lib/utils/file-utils.ts +62 -7
  248. package/src/lib/utils/write-queue.ts +42 -19
  249. package/src/pgm-loader.ts +2 -2
  250. package/src/workers/3d-tiles-attributes-worker.ts +1 -1
  251. package/src/workers/i3s-attributes-worker.ts +2 -1
@@ -1,50 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
21
-
22
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
-
26
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
-
28
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
18
  var _queue = require("./queue");
31
-
32
19
  var _process = _interopRequireDefault(require("process"));
33
-
34
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
35
-
36
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
-
38
22
  var MEMORY_LIMIT = 4 * 1024 * 1024 * 1024;
39
-
40
23
  var WriteQueue = function (_Queue) {
41
24
  (0, _inherits2.default)(WriteQueue, _Queue);
42
-
43
25
  var _super = _createSuper(WriteQueue);
44
-
45
26
  function WriteQueue() {
46
27
  var _this;
47
-
48
28
  var listeningInterval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2000;
49
29
  var writeConcurrency = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
50
30
  (0, _classCallCheck2.default)(this, WriteQueue);
@@ -58,37 +38,53 @@ var WriteQueue = function (_Queue) {
58
38
  _this.writeConcurrency = writeConcurrency;
59
39
  return _this;
60
40
  }
61
-
62
41
  (0, _createClass2.default)(WriteQueue, [{
63
42
  key: "enqueue",
64
43
  value: function () {
65
44
  var _enqueue = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(val) {
45
+ var writeImmediately,
46
+ _ref,
47
+ archiveKey,
48
+ writePromise,
49
+ result,
50
+ _args = arguments;
66
51
  return _regenerator.default.wrap(function _callee$(_context) {
67
52
  while (1) {
68
53
  switch (_context.prev = _context.next) {
69
54
  case 0:
55
+ writeImmediately = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;
56
+ if (!writeImmediately) {
57
+ _context.next = 9;
58
+ break;
59
+ }
60
+ _ref = val, archiveKey = _ref.archiveKey, writePromise = _ref.writePromise;
61
+ _context.next = 5;
62
+ return writePromise();
63
+ case 5:
64
+ result = _context.sent;
65
+ if (archiveKey && result) {
66
+ this.fileMap[archiveKey] = result;
67
+ }
68
+ _context.next = 13;
69
+ break;
70
+ case 9:
70
71
  (0, _get2.default)((0, _getPrototypeOf2.default)(WriteQueue.prototype), "enqueue", this).call(this, val);
71
-
72
72
  if (!(_process.default.memoryUsage().rss > MEMORY_LIMIT)) {
73
- _context.next = 4;
73
+ _context.next = 13;
74
74
  break;
75
75
  }
76
-
77
- _context.next = 4;
76
+ _context.next = 13;
78
77
  return this.startWrite();
79
-
80
- case 4:
78
+ case 13:
81
79
  case "end":
82
80
  return _context.stop();
83
81
  }
84
82
  }
85
83
  }, _callee, this);
86
84
  }));
87
-
88
85
  function enqueue(_x) {
89
86
  return _enqueue.apply(this, arguments);
90
87
  }
91
-
92
88
  return enqueue;
93
89
  }()
94
90
  }, {
@@ -112,37 +108,22 @@ var WriteQueue = function (_Queue) {
112
108
  switch (_context2.prev = _context2.next) {
113
109
  case 0:
114
110
  if (!this.writePromise) {
115
- _context2.next = 5;
116
- break;
111
+ this.writePromise = this.doWrite();
117
112
  }
118
-
119
113
  _context2.next = 3;
120
114
  return this.writePromise;
121
-
122
115
  case 3:
123
116
  this.writePromise = null;
124
- return _context2.abrupt("return");
125
-
126
- case 5:
127
- this.writePromise = this.doWrite();
128
- _context2.next = 8;
129
- return this.writePromise;
130
-
131
- case 8:
132
- this.writePromise = null;
133
-
134
- case 9:
117
+ case 4:
135
118
  case "end":
136
119
  return _context2.stop();
137
120
  }
138
121
  }
139
122
  }, _callee2, this);
140
123
  }));
141
-
142
124
  function startWrite() {
143
125
  return _startWrite.apply(this, arguments);
144
126
  }
145
-
146
127
  return startWrite;
147
128
  }()
148
129
  }, {
@@ -156,7 +137,6 @@ var WriteQueue = function (_Queue) {
156
137
  this.stopListening();
157
138
  _context3.next = 3;
158
139
  return this.startWrite();
159
-
160
140
  case 3:
161
141
  case "end":
162
142
  return _context3.stop();
@@ -164,70 +144,55 @@ var WriteQueue = function (_Queue) {
164
144
  }
165
145
  }, _callee3, this);
166
146
  }));
167
-
168
147
  function finalize() {
169
148
  return _finalize.apply(this, arguments);
170
149
  }
171
-
172
150
  return finalize;
173
151
  }()
174
152
  }, {
175
153
  key: "doWrite",
176
154
  value: function () {
177
155
  var _doWrite = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4() {
178
- var promises, archiveKeys, i, item, _ref, archiveKey, writePromise, writeResults;
179
-
156
+ var promises, archiveKeys, i, item, _ref2, archiveKey, writePromise, promise, writeResults;
180
157
  return _regenerator.default.wrap(function _callee4$(_context4) {
181
158
  while (1) {
182
159
  switch (_context4.prev = _context4.next) {
183
160
  case 0:
184
161
  if (!this.length) {
185
- _context4.next = 20;
162
+ _context4.next = 21;
186
163
  break;
187
164
  }
188
-
189
165
  promises = [];
190
166
  archiveKeys = [];
191
167
  i = 0;
192
-
193
168
  case 4:
194
169
  if (!(i < this.writeConcurrency)) {
195
- _context4.next = 14;
170
+ _context4.next = 15;
196
171
  break;
197
172
  }
198
-
199
173
  item = this.dequeue();
200
-
201
174
  if (item) {
202
175
  _context4.next = 8;
203
176
  break;
204
177
  }
205
-
206
- return _context4.abrupt("break", 14);
207
-
178
+ return _context4.abrupt("break", 15);
208
179
  case 8:
209
- _ref = item, archiveKey = _ref.archiveKey, writePromise = _ref.writePromise;
180
+ _ref2 = item, archiveKey = _ref2.archiveKey, writePromise = _ref2.writePromise;
210
181
  archiveKeys.push(archiveKey);
211
- promises.push(writePromise);
212
-
213
- case 11:
182
+ promise = writePromise();
183
+ promises.push(promise);
184
+ case 12:
214
185
  i++;
215
186
  _context4.next = 4;
216
187
  break;
217
-
218
- case 14:
219
- _context4.next = 16;
220
- return Promise.all(promises);
221
-
222
- case 16:
188
+ case 15:
189
+ _context4.next = 17;
190
+ return Promise.allSettled(promises);
191
+ case 17:
223
192
  writeResults = _context4.sent;
224
193
  this.updateFileMap(archiveKeys, writeResults);
225
194
  _context4.next = 0;
226
195
  break;
227
-
228
- case 20:
229
- this.writePromise = null;
230
-
231
196
  case 21:
232
197
  case "end":
233
198
  return _context4.stop();
@@ -235,11 +200,9 @@ var WriteQueue = function (_Queue) {
235
200
  }
236
201
  }, _callee4, this);
237
202
  }));
238
-
239
203
  function doWrite() {
240
204
  return _doWrite.apply(this, arguments);
241
205
  }
242
-
243
206
  return doWrite;
244
207
  }()
245
208
  }, {
@@ -247,17 +210,13 @@ var WriteQueue = function (_Queue) {
247
210
  value: function updateFileMap(archiveKeys, writeResults) {
248
211
  for (var i = 0; i < archiveKeys.length; i++) {
249
212
  var archiveKey = archiveKeys[i];
250
-
251
- if (!archiveKey) {
252
- continue;
213
+ if (archiveKey && 'value' in writeResults[i]) {
214
+ this.fileMap[archiveKey] = writeResults[i].value;
253
215
  }
254
-
255
- this.fileMap[archiveKey] = writeResults[i];
256
216
  }
257
217
  }
258
218
  }]);
259
219
  return WriteQueue;
260
220
  }(_queue.Queue);
261
-
262
221
  exports.default = WriteQueue;
263
222
  //# sourceMappingURL=write-queue.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/write-queue.ts"],"names":["MEMORY_LIMIT","WriteQueue","listeningInterval","writeConcurrency","val","process","memoryUsage","rss","startWrite","intervalId","setInterval","bind","clearInterval","writePromise","doWrite","stopListening","length","promises","archiveKeys","i","item","dequeue","archiveKey","push","Promise","all","writeResults","updateFileMap","fileMap","Queue"],"mappings":"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","sourcesContent":["import {Queue} from './queue';\nimport process from 'process';\n\n/** Memory limit size is based on testing */\nconst MEMORY_LIMIT = 4 * 1024 * 1024 * 1024; // 4GB\n\nexport type WriteQueueItem = {\n archiveKey?: string;\n writePromise: Promise<string>;\n};\n\nexport default class WriteQueue<T extends WriteQueueItem> extends Queue<T> {\n private intervalId?: NodeJS.Timeout;\n public writePromise: Promise<void> | null = null;\n public fileMap: {[key: string]: string} = {};\n public listeningInterval: number;\n public writeConcurrency: number;\n\n constructor(listeningInterval: number = 2000, writeConcurrency: number = 400) {\n super();\n this.listeningInterval = listeningInterval;\n this.writeConcurrency = writeConcurrency;\n }\n\n async enqueue(val: T) {\n super.enqueue(val);\n /** https://nodejs.org/docs/latest-v14.x/api/process.html#process_process_memoryusage */\n if (process.memoryUsage().rss > MEMORY_LIMIT) {\n await this.startWrite();\n }\n }\n\n startListening() {\n this.intervalId = setInterval(this.startWrite.bind(this), this.listeningInterval);\n }\n\n stopListening() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n async startWrite(): Promise<void> {\n if (this.writePromise) {\n await this.writePromise;\n this.writePromise = null;\n return;\n }\n this.writePromise = this.doWrite();\n await this.writePromise;\n this.writePromise = null;\n }\n\n async finalize(): Promise<void> {\n this.stopListening();\n await this.startWrite();\n }\n\n private async doWrite(): Promise<void> {\n while (this.length) {\n const promises: Promise<string>[] = [];\n const archiveKeys: (string | undefined)[] = [];\n for (let i = 0; i < this.writeConcurrency; i++) {\n const item = this.dequeue();\n if (!item) {\n break;\n }\n const {archiveKey, writePromise} = item as WriteQueueItem;\n archiveKeys.push(archiveKey);\n promises.push(writePromise);\n }\n const writeResults = await Promise.all(promises);\n this.updateFileMap(archiveKeys, writeResults);\n }\n this.writePromise = null;\n }\n\n private updateFileMap(archiveKeys: (string | undefined)[], writeResults: string[]) {\n for (let i = 0; i < archiveKeys.length; i++) {\n const archiveKey = archiveKeys[i];\n if (!archiveKey) {\n continue;\n }\n this.fileMap[archiveKey] = writeResults[i];\n }\n }\n}\n"],"file":"write-queue.js"}
1
+ {"version":3,"file":"write-queue.js","names":["MEMORY_LIMIT","WriteQueue","listeningInterval","writeConcurrency","val","writeImmediately","archiveKey","writePromise","result","fileMap","process","memoryUsage","rss","startWrite","intervalId","setInterval","bind","clearInterval","doWrite","stopListening","length","promises","archiveKeys","i","item","dequeue","push","promise","Promise","allSettled","writeResults","updateFileMap","value","Queue"],"sources":["../../../../src/lib/utils/write-queue.ts"],"sourcesContent":["import {Queue} from './queue';\nimport process from 'process';\n\n/** Memory limit size is based on testing */\nconst MEMORY_LIMIT = 4 * 1024 * 1024 * 1024; // 4GB\n\nexport type WriteQueueItem = {\n archiveKey?: string;\n /**\n * writePromise() returns a Promise that will be awaited in Promise.allSettled(promises);\n * Arguments for this call are specified in writeQueue.enqueue call like this:\n * await writeQueue.enqueue({\n * archiveKey: `nodePages/xxx.json.gz`,\n * writePromise: () => writeFileForSlpk(slpkPath, data, `xxx.json`)\n * });\n * Note, a function like writeFileForSlpk should NOT be called when initializing the object for enqueue().\n * If he function is called, the promise will be created\n * and the function will allocate resources (file descriptors) for file writing.\n * It will be done for ALL items in the queue, which is not supposed to happen.\n * That's why the function should be passed as\n * writePromise: () => writeFileForSlpk(slpkPath, content, `xxx.json`)\n * instead of\n * writePromise: writeFileForSlpk(slpkPath, content, `xxx.json`) // INCORRECT !\n */\n writePromise: () => Promise<string | null>;\n};\n\nexport default class WriteQueue<T extends WriteQueueItem> extends Queue<T> {\n private intervalId?: NodeJS.Timeout;\n public writePromise: Promise<void> | null = null;\n public fileMap: {[key: string]: string} = {};\n public listeningInterval: number;\n public writeConcurrency: number;\n\n constructor(listeningInterval: number = 2000, writeConcurrency: number = 400) {\n super();\n this.listeningInterval = listeningInterval;\n this.writeConcurrency = writeConcurrency;\n }\n\n async enqueue(val: T, writeImmediately: boolean = false) {\n if (writeImmediately) {\n const {archiveKey, writePromise} = val as WriteQueueItem;\n const result = await writePromise();\n if (archiveKey && result) {\n this.fileMap[archiveKey] = result;\n }\n } else {\n super.enqueue(val);\n /** https://nodejs.org/docs/latest-v14.x/api/process.html#process_process_memoryusage */\n if (process.memoryUsage().rss > MEMORY_LIMIT) {\n await this.startWrite();\n }\n }\n }\n\n startListening() {\n this.intervalId = setInterval(this.startWrite.bind(this), this.listeningInterval);\n }\n\n stopListening() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n async startWrite(): Promise<void> {\n if (!this.writePromise) {\n this.writePromise = this.doWrite();\n }\n await this.writePromise;\n this.writePromise = null;\n }\n\n async finalize(): Promise<void> {\n this.stopListening();\n await this.startWrite();\n }\n\n private async doWrite(): Promise<void> {\n while (this.length) {\n const promises: Promise<string | null>[] = [];\n const archiveKeys: (string | undefined)[] = [];\n for (let i = 0; i < this.writeConcurrency; i++) {\n const item = this.dequeue();\n if (!item) {\n break;\n }\n const {archiveKey, writePromise} = item as WriteQueueItem;\n archiveKeys.push(archiveKey);\n const promise = writePromise();\n promises.push(promise);\n }\n const writeResults = await Promise.allSettled(promises);\n this.updateFileMap(archiveKeys, writeResults);\n }\n }\n\n private updateFileMap(\n archiveKeys: (string | undefined)[],\n writeResults: PromiseSettledResult<string | null>[]\n ) {\n for (let i = 0; i < archiveKeys.length; i++) {\n const archiveKey = archiveKeys[i];\n if (archiveKey && 'value' in writeResults[i]) {\n this.fileMap[archiveKey] = (writeResults[i] as PromiseFulfilledResult<string>).value;\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,19 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.PGMLoader = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _geoid = require("@math.gl/geoid");
11
+ var VERSION = typeof "3.3.0-alpha.10" !== 'undefined' ? "3.3.0-alpha.10" : 'latest';
15
12
 
16
- var VERSION = typeof "3.2.12" !== 'undefined' ? "3.2.12" : 'latest';
17
13
  var PGMLoader = {
18
14
  name: 'PGM - Netpbm grayscale image format',
19
15
  id: 'pgm',
@@ -27,7 +23,6 @@ var PGMLoader = {
27
23
  switch (_context.prev = _context.next) {
28
24
  case 0:
29
25
  return _context.abrupt("return", (0, _geoid.parsePGM)(new Uint8Array(arrayBuffer), options));
30
-
31
26
  case 1:
32
27
  case "end":
33
28
  return _context.stop();
@@ -35,11 +30,9 @@ var PGMLoader = {
35
30
  }
36
31
  }, _callee);
37
32
  }));
38
-
39
33
  function parse(_x, _x2) {
40
34
  return _parse.apply(this, arguments);
41
35
  }
42
-
43
36
  return parse;
44
37
  }(),
45
38
  extensions: ['pgm'],
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/pgm-loader.ts"],"names":["VERSION","PGMLoader","name","id","module","version","mimeTypes","parse","arrayBuffer","options","Uint8Array","extensions","cubic"],"mappings":";;;;;;;;;;;;;AAMA;;AAFA,IAAMA,OAAO,GAAG,oBAAuB,WAAvB,cAAmD,QAAnE;AAOO,IAAMC,SAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,qCADmC;AAEzCC,EAAAA,EAAE,EAAE,KAFqC;AAGzCC,EAAAA,MAAM,EAAE,gBAHiC;AAIzCC,EAAAA,OAAO,EAAEL,OAJgC;AAKzCM,EAAAA,SAAS,EAAE,CAAC,0BAAD,CAL8B;AAMzCC,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBC,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAgC,qBAAS,IAAIC,UAAJ,CAAeF,WAAf,CAAT,EAAsCC,OAAtC,CAAhC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KANoC;AAOzCE,EAAAA,UAAU,EAAE,CAAC,KAAD,CAP6B;AAQzCF,EAAAA,OAAO,EAAE;AAEPG,IAAAA,KAAK,EAAE;AAFA;AARgC,CAApC","sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nimport {parsePGM} from '@math.gl/geoid';\n\n/**\n * Loader for PGM - Netpbm grayscale image format\n */\nexport const PGMLoader: LoaderWithParser = {\n name: 'PGM - Netpbm grayscale image format',\n id: 'pgm',\n module: 'tile-converter',\n version: VERSION,\n mimeTypes: ['image/x-portable-graymap'],\n parse: async (arrayBuffer, options) => parsePGM(new Uint8Array(arrayBuffer), options),\n extensions: ['pgm'],\n options: {\n // TODO - use pgm namespace\n cubic: false\n }\n};\n"],"file":"pgm-loader.js"}
1
+ {"version":3,"file":"pgm-loader.js","names":["VERSION","PGMLoader","name","id","module","version","mimeTypes","parse","arrayBuffer","options","parsePGM","Uint8Array","extensions","cubic"],"sources":["../../src/pgm-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parsePGM} from '@math.gl/geoid';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/**\n * Loader for PGM - Netpbm grayscale image format\n */\nexport const PGMLoader: LoaderWithParser = {\n name: 'PGM - Netpbm grayscale image format',\n id: 'pgm',\n module: 'tile-converter',\n version: VERSION,\n mimeTypes: ['image/x-portable-graymap'],\n // @ts-expect-error LoaderOptions does not have cubic parameter\n parse: async (arrayBuffer, options) => parsePGM(new Uint8Array(arrayBuffer), options),\n extensions: ['pgm'],\n options: {\n // TODO - use pgm namespace\n cubic: false\n }\n};\n"],"mappings":";;;;;;;;;AACA;AAIA,IAAMA,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;;AAKpE,IAAMC,SAA2B,GAAG;EACzCC,IAAI,EAAE,qCAAqC;EAC3CC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,gBAAgB;EACxBC,OAAO,EAAEL,OAAO;EAChBM,SAAS,EAAE,CAAC,0BAA0B,CAAC;EAEvCC,KAAK;IAAA,uEAAE,iBAAOC,WAAW,EAAEC,OAAO;MAAA;QAAA;UAAA;YAAA;cAAA,iCAAK,IAAAC,eAAQ,EAAC,IAAIC,UAAU,CAACH,WAAW,CAAC,EAAEC,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACrFG,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBH,OAAO,EAAE;IAEPI,KAAK,EAAE;EACT;AACF,CAAC;AAAC"}
@@ -1,27 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
-
9
6
  var _workerUtils = require("@loaders.gl/worker-utils");
10
-
11
7
  var _b3dmConverter = _interopRequireDefault(require("../3d-tiles-converter/helpers/b3dm-converter"));
12
-
13
8
  var b3dmConverter = new _b3dmConverter.default();
14
9
  (0, _workerUtils.createWorker)(function () {
15
10
  var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data) {
16
11
  var options,
17
- _args = arguments;
12
+ _args = arguments;
18
13
  return _regenerator.default.wrap(function _callee$(_context) {
19
14
  while (1) {
20
15
  switch (_context.prev = _context.next) {
21
16
  case 0:
22
17
  options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
23
- return _context.abrupt("return", b3dmConverter.convert(data, options.attributes));
24
-
18
+ return _context.abrupt("return", b3dmConverter.convert(data, options.featureAttributes));
25
19
  case 2:
26
20
  case "end":
27
21
  return _context.stop();
@@ -29,7 +23,6 @@ var b3dmConverter = new _b3dmConverter.default();
29
23
  }
30
24
  }, _callee);
31
25
  }));
32
-
33
26
  return function (_x) {
34
27
  return _ref.apply(this, arguments);
35
28
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/workers/3d-tiles-attributes-worker.ts"],"names":["b3dmConverter","B3dmConverter","data","options","convert","attributes"],"mappings":";;;;;;;;AAAA;;AACA;;AAEA,IAAMA,aAAa,GAAG,IAAIC,sBAAJ,EAAtB;AAEA;AAAA,uEAAa,iBAAOC,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAaC,YAAAA,OAAb,2DAAuB,EAAvB;AAAA,6CAA8BH,aAAa,CAACI,OAAd,CAAsBF,IAAtB,EAA4BC,OAAO,CAACE,UAApC,CAA9B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAb;;AAAA;AAAA;AAAA;AAAA","sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport B3dmConverter from '../3d-tiles-converter/helpers/b3dm-converter';\n\nconst b3dmConverter = new B3dmConverter();\n\ncreateWorker(async (data, options = {}) => b3dmConverter.convert(data, options.attributes));\n"],"file":"3d-tiles-attributes-worker.js"}
1
+ {"version":3,"file":"3d-tiles-attributes-worker.js","names":["b3dmConverter","B3dmConverter","createWorker","data","options","convert","featureAttributes"],"sources":["../../../src/workers/3d-tiles-attributes-worker.ts"],"sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport B3dmConverter from '../3d-tiles-converter/helpers/b3dm-converter';\n\nconst b3dmConverter = new B3dmConverter();\n\ncreateWorker(async (data, options = {}) => b3dmConverter.convert(data, options.featureAttributes));\n"],"mappings":";;;;;AAAA;AACA;AAEA,IAAMA,aAAa,GAAG,IAAIC,sBAAa,EAAE;AAEzC,IAAAC,yBAAY;EAAA,qEAAC,iBAAOC,IAAI;IAAA;MAAA;IAAA;MAAA;QAAA;UAAA;YAAEC,OAAO,2DAAG,CAAC,CAAC;YAAA,iCAAKJ,aAAa,CAACK,OAAO,CAACF,IAAI,EAAEC,OAAO,CAACE,iBAAiB,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA;EAAA;IAAA;EAAA;AAAA,IAAC"}
@@ -1,30 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
-
9
6
  var _workerUtils = require("@loaders.gl/worker-utils");
10
-
11
7
  var _geometryConverter = require("../i3s-converter/helpers/geometry-converter");
12
-
13
8
  (0, _workerUtils.createWorker)(function () {
14
9
  var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data) {
15
10
  var options,
16
- _args = arguments;
11
+ _args = arguments;
17
12
  return _regenerator.default.wrap(function _callee$(_context) {
18
13
  while (1) {
19
14
  switch (_context.prev = _context.next) {
20
15
  case 0:
21
16
  options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
22
17
  _context.next = 3;
23
- return (0, _geometryConverter.convertAttributes)(data, options.useCartesianPositions);
24
-
18
+ return (0, _geometryConverter.convertAttributes)(data, options.materialAndTextureList, options.useCartesianPositions);
25
19
  case 3:
26
20
  return _context.abrupt("return", _context.sent);
27
-
28
21
  case 4:
29
22
  case "end":
30
23
  return _context.stop();
@@ -32,7 +25,6 @@ var _geometryConverter = require("../i3s-converter/helpers/geometry-converter");
32
25
  }
33
26
  }, _callee);
34
27
  }));
35
-
36
28
  return function (_x) {
37
29
  return _ref.apply(this, arguments);
38
30
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/workers/i3s-attributes-worker.ts"],"names":["data","options","useCartesianPositions"],"mappings":";;;;;;;;AAAA;;AACA;;AAEA;AAAA,uEACE,iBAAOA,IAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAaC,YAAAA,OAAb,2DAAuB,EAAvB;AAAA;AAAA,mBAAoC,0CAAkBD,IAAlB,EAAwBC,OAAO,CAACC,qBAAhC,CAApC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GADF;;AAAA;AAAA;AAAA;AAAA","sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport {convertAttributes} from '../i3s-converter/helpers/geometry-converter';\n\ncreateWorker(\n async (data, options = {}) => await convertAttributes(data, options.useCartesianPositions)\n);\n"],"file":"i3s-attributes-worker.js"}
1
+ {"version":3,"file":"i3s-attributes-worker.js","names":["createWorker","data","options","convertAttributes","materialAndTextureList","useCartesianPositions"],"sources":["../../../src/workers/i3s-attributes-worker.ts"],"sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport {convertAttributes} from '../i3s-converter/helpers/geometry-converter';\n\ncreateWorker(\n async (data, options = {}) =>\n await convertAttributes(data, options.materialAndTextureList, options.useCartesianPositions)\n);\n"],"mappings":";;;;;AAAA;AACA;AAEA,IAAAA,yBAAY;EAAA,qEACV,iBAAOC,IAAI;IAAA;MAAA;IAAA;MAAA;QAAA;UAAA;YAAEC,OAAO,2DAAG,CAAC,CAAC;YAAA;YAAA,OACjB,IAAAC,oCAAiB,EAACF,IAAI,EAAEC,OAAO,CAACE,sBAAsB,EAAEF,OAAO,CAACG,qBAAqB,CAAC;UAAA;YAAA;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA;EAAA;IAAA;EAAA;AAAA,IAC/F"}
@@ -1,14 +1,16 @@
1
1
  import { processOnWorker } from '@loaders.gl/worker-utils';
2
- const VERSION = typeof "3.2.12" !== 'undefined' ? "3.2.12" : 'latest';
2
+
3
+ const VERSION = typeof "3.3.0-alpha.10" !== 'undefined' ? "3.3.0-alpha.10" : 'latest';
3
4
  export const Tile3dAttributesWorker = {
4
5
  id: '3d-tiles-attributes',
5
6
  name: '3DTiles Attributes Worker',
6
7
  module: 'tile-converter',
7
8
  version: VERSION,
8
9
  options: {
9
- attributes: null
10
+ featureAttributes: null
10
11
  }
11
12
  };
13
+
12
14
  export function transform3DTilesAttributesOnWorker(i3sAttributesData, options) {
13
15
  return processOnWorker(Tile3dAttributesWorker, i3sAttributesData, options);
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/3d-tiles-attributes-worker.ts"],"names":["processOnWorker","VERSION","Tile3dAttributesWorker","id","name","module","version","options","attributes","transform3DTilesAttributesOnWorker","i3sAttributesData","_typecheckI3SAttributesWorker"],"mappings":"AAGA,SAAQA,eAAR,QAA8B,0BAA9B;AAIA,MAAMC,OAAO,GAAG,oBAAuB,WAAvB,cAAmD,QAAnE;AAeA,OAAO,MAAMC,sBAAsB,GAAG;AACpCC,EAAAA,EAAE,EAAE,qBADgC;AAEpCC,EAAAA,IAAI,EAAE,2BAF8B;AAGpCC,EAAAA,MAAM,EAAE,gBAH4B;AAIpCC,EAAAA,OAAO,EAAEL,OAJ2B;AAKpCM,EAAAA,OAAO,EAAE;AACPC,IAAAA,UAAU,EAAE;AADL;AAL2B,CAA/B;AAaP,OAAO,SAASC,kCAAT,CACLC,iBADK,EAELH,OAFK,EAGiB;AACtB,SAAOP,eAAe,CAACE,sBAAD,EAAyBQ,iBAAzB,EAA4CH,OAA5C,CAAtB;AACD;AAED,OAAO,MAAMI,6BAA2C,GAAGT,sBAApD","sourcesContent":["import type {WorkerObject} from '@loaders.gl/worker-utils';\nimport type {FeatureAttribute} from '@loaders.gl/i3s';\n\nimport {processOnWorker} from '@loaders.gl/worker-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type Tile3DAttributesWorkerOptions = {\n featureAttributes: FeatureAttribute | null;\n source: string;\n};\n\nexport type I3SAttributesData = {\n tileContent: any;\n textureFormat: string;\n};\n\n/**\n * I3S Attributes Worker to handle B3DM object\n */\nexport const Tile3dAttributesWorker = {\n id: '3d-tiles-attributes',\n name: '3DTiles Attributes Worker',\n module: 'tile-converter',\n version: VERSION,\n options: {\n attributes: null\n }\n};\n\n/**\n * Performs I3S attributes transformation\n */\nexport function transform3DTilesAttributesOnWorker(\n i3sAttributesData: I3SAttributesData,\n options: Tile3DAttributesWorkerOptions\n): Promise<ArrayBuffer> {\n return processOnWorker(Tile3dAttributesWorker, i3sAttributesData, options);\n}\n\nexport const _typecheckI3SAttributesWorker: WorkerObject = Tile3dAttributesWorker;\n"],"file":"3d-tiles-attributes-worker.js"}
1
+ {"version":3,"file":"3d-tiles-attributes-worker.js","names":["processOnWorker","VERSION","Tile3dAttributesWorker","id","name","module","version","options","featureAttributes","transform3DTilesAttributesOnWorker","i3sAttributesData","_typecheckI3SAttributesWorker"],"sources":["../../src/3d-tiles-attributes-worker.ts"],"sourcesContent":["import type {WorkerObject} from '@loaders.gl/worker-utils';\nimport type {FeatureAttribute} from '@loaders.gl/i3s';\n\nimport {processOnWorker} from '@loaders.gl/worker-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type Tile3DAttributesWorkerOptions = {\n featureAttributes: FeatureAttribute | null;\n source: string;\n};\n\nexport type I3SAttributesData = {\n tileContent: any;\n textureFormat: string;\n};\n\n/**\n * I3S Attributes Worker to handle B3DM object\n */\nexport const Tile3dAttributesWorker = {\n id: '3d-tiles-attributes',\n name: '3DTiles Attributes Worker',\n module: 'tile-converter',\n version: VERSION,\n options: {\n featureAttributes: null\n }\n};\n\n/**\n * Performs I3S attributes transformation\n */\nexport function transform3DTilesAttributesOnWorker(\n i3sAttributesData: I3SAttributesData,\n options: Tile3DAttributesWorkerOptions\n): Promise<ArrayBuffer> {\n return processOnWorker(Tile3dAttributesWorker, i3sAttributesData, options);\n}\n\nexport const _typecheckI3SAttributesWorker: WorkerObject = Tile3dAttributesWorker;\n"],"mappings":"AAGA,SAAQA,eAAe,QAAO,0BAA0B;;AAIxD,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAe3E,OAAO,MAAMC,sBAAsB,GAAG;EACpCC,EAAE,EAAE,qBAAqB;EACzBC,IAAI,EAAE,2BAA2B;EACjCC,MAAM,EAAE,gBAAgB;EACxBC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE;IACPC,iBAAiB,EAAE;EACrB;AACF,CAAC;;AAKD,OAAO,SAASC,kCAAkC,CAChDC,iBAAoC,EACpCH,OAAsC,EAChB;EACtB,OAAOP,eAAe,CAACE,sBAAsB,EAAEQ,iBAAiB,EAAEH,OAAO,CAAC;AAC5E;AAEA,OAAO,MAAMI,6BAA2C,GAAGT,sBAAsB"}