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

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 (300) hide show
  1. package/bin/i3s-server.js +4 -0
  2. package/bin/slpk-extractor.js +4 -0
  3. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +5 -5
  4. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  5. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +10 -5
  6. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
  7. package/dist/3d-tiles-converter/helpers/load-i3s.d.ts +10 -0
  8. package/dist/3d-tiles-converter/helpers/load-i3s.d.ts.map +1 -0
  9. package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts +2 -1
  10. package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts.map +1 -1
  11. package/dist/converter.min.js +172 -103
  12. package/dist/deps-installer/deps-installer.d.ts +3 -2
  13. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  14. package/dist/dist.min.js +32715 -32567
  15. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +97 -117
  16. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  17. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +24 -22
  18. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  19. package/dist/es5/3d-tiles-converter/helpers/load-i3s.js +63 -0
  20. package/dist/es5/3d-tiles-converter/helpers/load-i3s.js.map +1 -0
  21. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  22. package/dist/es5/converter-cli.js +25 -65
  23. package/dist/es5/converter-cli.js.map +1 -1
  24. package/dist/es5/deps-installer/deps-installer.js +113 -39
  25. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  26. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +45 -15
  27. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  28. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  29. package/dist/es5/i3s-converter/helpers/feature-attributes.js +8 -18
  30. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -1
  31. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +83 -43
  32. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  33. package/dist/es5/i3s-converter/helpers/geometry-converter.js +100 -102
  34. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  35. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  36. package/dist/es5/i3s-converter/helpers/load-3d-tiles.js +70 -4
  37. package/dist/es5/i3s-converter/helpers/load-3d-tiles.js.map +1 -1
  38. package/dist/es5/i3s-converter/helpers/node-index-document.js +3 -2
  39. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -1
  40. package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js +47 -12
  41. package/dist/es5/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -1
  42. package/dist/es5/i3s-converter/i3s-converter.js +187 -174
  43. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  44. package/dist/es5/i3s-converter/types.js +11 -11
  45. package/dist/es5/i3s-converter/types.js.map +1 -1
  46. package/dist/es5/i3s-server/README.md +46 -2
  47. package/dist/es5/i3s-server/app.js +23 -15
  48. package/dist/es5/i3s-server/app.js.map +1 -1
  49. package/dist/es5/i3s-server/bin/www.js +33 -0
  50. package/dist/es5/i3s-server/bin/www.js.map +1 -0
  51. package/dist/es5/i3s-server/controllers/index-controller.js +23 -22
  52. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
  53. package/dist/es5/i3s-server/controllers/slpk-controller.js +35 -38
  54. package/dist/es5/i3s-server/controllers/slpk-controller.js.map +1 -1
  55. package/dist/es5/i3s-server/routes/index.js +2 -2
  56. package/dist/es5/i3s-server/routes/index.js.map +1 -1
  57. package/dist/es5/i3s-server/routes/slpk-router.js +14 -13
  58. package/dist/es5/i3s-server/routes/slpk-router.js.map +1 -1
  59. package/dist/es5/i3s-server/utils/create-scene-server.js +7 -4
  60. package/dist/es5/i3s-server/utils/create-scene-server.js.map +1 -1
  61. package/dist/es5/i3s-server/utils/server-utils.js +49 -0
  62. package/dist/es5/i3s-server/utils/server-utils.js.map +1 -0
  63. package/dist/es5/lib/utils/cli-utils.js +57 -0
  64. package/dist/es5/lib/utils/cli-utils.js.map +1 -0
  65. package/dist/es5/lib/utils/compress-util.js +1 -1
  66. package/dist/es5/lib/utils/compress-util.js.map +1 -1
  67. package/dist/es5/lib/utils/lod-conversion-utils.js +10 -4
  68. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  69. package/dist/es5/pgm-loader.js +11 -3
  70. package/dist/es5/pgm-loader.js.map +1 -1
  71. package/dist/es5/slpk-extractor/slpk-extractor.js +171 -0
  72. package/dist/es5/slpk-extractor/slpk-extractor.js.map +1 -0
  73. package/dist/es5/slpk-extractor-cli.js +117 -0
  74. package/dist/es5/slpk-extractor-cli.js.map +1 -0
  75. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +51 -58
  76. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  77. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +12 -11
  78. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  79. package/dist/esm/3d-tiles-converter/helpers/load-i3s.js +32 -0
  80. package/dist/esm/3d-tiles-converter/helpers/load-i3s.js.map +1 -0
  81. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  82. package/dist/esm/converter-cli.js +8 -48
  83. package/dist/esm/converter-cli.js.map +1 -1
  84. package/dist/esm/deps-installer/deps-installer.js +38 -12
  85. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  86. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +28 -11
  87. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  88. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  89. package/dist/esm/i3s-converter/helpers/feature-attributes.js +10 -8
  90. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -1
  91. package/dist/esm/i3s-converter/helpers/geometry-attributes.js +77 -34
  92. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  93. package/dist/esm/i3s-converter/helpers/geometry-converter.js +60 -61
  94. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  95. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  96. package/dist/esm/i3s-converter/helpers/load-3d-tiles.js +33 -4
  97. package/dist/esm/i3s-converter/helpers/load-3d-tiles.js.map +1 -1
  98. package/dist/esm/i3s-converter/helpers/node-index-document.js +2 -1
  99. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -1
  100. package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js +37 -12
  101. package/dist/esm/i3s-converter/helpers/preprocess-3d-tiles.js.map +1 -1
  102. package/dist/esm/i3s-converter/i3s-converter.js +101 -73
  103. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  104. package/dist/esm/i3s-converter/types.js +9 -9
  105. package/dist/esm/i3s-converter/types.js.map +1 -1
  106. package/dist/esm/i3s-server/README.md +46 -2
  107. package/dist/esm/i3s-server/app.js +13 -11
  108. package/dist/esm/i3s-server/app.js.map +1 -1
  109. package/dist/esm/i3s-server/bin/i3s-server.min.js +516 -0
  110. package/dist/esm/i3s-server/bin/www.js +30 -0
  111. package/dist/esm/i3s-server/bin/www.js.map +1 -0
  112. package/dist/esm/i3s-server/controllers/index-controller.js +4 -7
  113. package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -1
  114. package/dist/esm/i3s-server/controllers/slpk-controller.js +9 -26
  115. package/dist/esm/i3s-server/controllers/slpk-controller.js.map +1 -1
  116. package/dist/esm/i3s-server/routes/index.js +1 -1
  117. package/dist/esm/i3s-server/routes/index.js.map +1 -1
  118. package/dist/esm/i3s-server/routes/slpk-router.js +5 -11
  119. package/dist/esm/i3s-server/routes/slpk-router.js.map +1 -1
  120. package/dist/esm/i3s-server/utils/create-scene-server.js +2 -5
  121. package/dist/esm/i3s-server/utils/create-scene-server.js.map +1 -1
  122. package/dist/esm/i3s-server/utils/server-utils.js +40 -0
  123. package/dist/esm/i3s-server/utils/server-utils.js.map +1 -0
  124. package/dist/esm/lib/utils/cli-utils.js +47 -0
  125. package/dist/esm/lib/utils/cli-utils.js.map +1 -0
  126. package/dist/esm/lib/utils/compress-util.js +1 -1
  127. package/dist/esm/lib/utils/compress-util.js.map +1 -1
  128. package/dist/esm/lib/utils/lod-conversion-utils.js +6 -4
  129. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
  130. package/dist/esm/pgm-loader.js +7 -4
  131. package/dist/esm/pgm-loader.js.map +1 -1
  132. package/dist/esm/slpk-extractor/slpk-extractor.js +63 -0
  133. package/dist/esm/slpk-extractor/slpk-extractor.js.map +1 -0
  134. package/dist/esm/slpk-extractor-cli.js +74 -0
  135. package/dist/esm/slpk-extractor-cli.js.map +1 -0
  136. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +15 -2
  137. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
  138. package/dist/i3s-converter/helpers/coordinate-converter.d.ts +1 -2
  139. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
  140. package/dist/i3s-converter/helpers/feature-attributes.d.ts +8 -8
  141. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -1
  142. package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -1
  143. package/dist/i3s-converter/helpers/geometry-converter.d.ts +9 -9
  144. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  145. package/dist/i3s-converter/helpers/gltf-attributes.d.ts +3 -3
  146. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  147. package/dist/i3s-converter/helpers/load-3d-tiles.d.ts +15 -0
  148. package/dist/i3s-converter/helpers/load-3d-tiles.d.ts.map +1 -1
  149. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -1
  150. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts +4 -5
  151. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -1
  152. package/dist/i3s-converter/i3s-converter.d.ts +3 -2
  153. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  154. package/dist/i3s-converter/types.d.ts +48 -7
  155. package/dist/i3s-converter/types.d.ts.map +1 -1
  156. package/dist/i3s-server/app.d.ts +1 -2
  157. package/dist/i3s-server/app.d.ts.map +1 -1
  158. package/dist/i3s-server/bin/www.d.ts +3 -0
  159. package/dist/i3s-server/bin/www.d.ts.map +1 -0
  160. package/dist/i3s-server/controllers/index-controller.d.ts +6 -1
  161. package/dist/i3s-server/controllers/index-controller.d.ts.map +1 -1
  162. package/dist/i3s-server/controllers/slpk-controller.d.ts +13 -2
  163. package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -1
  164. package/dist/i3s-server/routes/index.d.ts +1 -2
  165. package/dist/i3s-server/routes/index.d.ts.map +1 -1
  166. package/dist/i3s-server/routes/slpk-router.d.ts +2 -2
  167. package/dist/i3s-server/routes/slpk-router.d.ts.map +1 -1
  168. package/dist/i3s-server/utils/create-scene-server.d.ts +11 -5
  169. package/dist/i3s-server/utils/create-scene-server.d.ts.map +1 -1
  170. package/dist/i3s-server/utils/server-utils.d.ts +24 -0
  171. package/dist/i3s-server/utils/server-utils.d.ts.map +1 -0
  172. package/dist/lib/utils/cli-utils.d.ts +34 -0
  173. package/dist/lib/utils/cli-utils.d.ts.map +1 -0
  174. package/dist/lib/utils/lod-conversion-utils.d.ts +2 -2
  175. package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -1
  176. package/dist/pgm-loader.d.ts +9 -2
  177. package/dist/pgm-loader.d.ts.map +1 -1
  178. package/dist/slpk-extractor/slpk-extractor.d.ts +23 -0
  179. package/dist/slpk-extractor/slpk-extractor.d.ts.map +1 -0
  180. package/dist/slpk-extractor-cli.d.ts +17 -0
  181. package/dist/slpk-extractor-cli.d.ts.map +1 -0
  182. package/dist/slpk-extractor.min.js +189 -0
  183. package/package.json +27 -21
  184. package/src/3d-tiles-converter/3d-tiles-converter.ts +65 -69
  185. package/src/3d-tiles-converter/helpers/b3dm-converter.ts +23 -19
  186. package/src/3d-tiles-converter/helpers/load-i3s.ts +52 -0
  187. package/src/3d-tiles-converter/helpers/texture-atlas.ts +6 -2
  188. package/src/converter-cli.ts +16 -74
  189. package/src/deps-installer/deps-installer.ts +56 -11
  190. package/src/i3s-converter/helpers/batch-ids-extensions.ts +77 -32
  191. package/src/i3s-converter/helpers/coordinate-converter.ts +1 -2
  192. package/src/i3s-converter/helpers/feature-attributes.ts +23 -18
  193. package/src/i3s-converter/helpers/geometry-attributes.ts +81 -44
  194. package/src/i3s-converter/helpers/geometry-converter.ts +149 -126
  195. package/src/i3s-converter/helpers/gltf-attributes.ts +9 -10
  196. package/src/i3s-converter/helpers/load-3d-tiles.ts +61 -5
  197. package/src/i3s-converter/helpers/node-index-document.ts +5 -1
  198. package/src/i3s-converter/helpers/preprocess-3d-tiles.ts +70 -21
  199. package/src/i3s-converter/i3s-converter.ts +145 -73
  200. package/src/i3s-converter/types.ts +49 -7
  201. package/src/i3s-server/README.md +46 -2
  202. package/src/i3s-server/{app.js → app.ts} +11 -9
  203. package/src/i3s-server/bin/www.ts +38 -0
  204. package/src/i3s-server/controllers/{index-controller.js → index-controller.ts} +10 -9
  205. package/src/i3s-server/controllers/slpk-controller.ts +32 -0
  206. package/src/i3s-server/routes/{index.js → index.ts} +2 -1
  207. package/src/i3s-server/routes/{slpk-router.js → slpk-router.ts} +5 -10
  208. package/src/i3s-server/utils/create-scene-server.ts +20 -0
  209. package/src/i3s-server/utils/server-utils.ts +70 -0
  210. package/src/lib/utils/cli-utils.ts +78 -0
  211. package/src/lib/utils/compress-util.ts +1 -1
  212. package/src/lib/utils/lod-conversion-utils.ts +10 -6
  213. package/src/pgm-loader.ts +15 -7
  214. package/src/slpk-extractor/slpk-extractor.ts +101 -0
  215. package/src/slpk-extractor-cli.ts +128 -0
  216. package/dist/3d-tiles-attributes-worker.d.ts +0 -28
  217. package/dist/3d-tiles-attributes-worker.d.ts.map +0 -1
  218. package/dist/3d-tiles-attributes-worker.js +0 -3
  219. package/dist/3d-tiles-attributes-worker.js.map +0 -7
  220. package/dist/3d-tiles-converter/3d-tiles-converter.js +0 -288
  221. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +0 -269
  222. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +0 -23
  223. package/dist/3d-tiles-converter/helpers/texture-atlas.js +0 -52
  224. package/dist/3d-tiles-converter/json-templates/tileset.js +0 -43
  225. package/dist/bundle.js +0 -5
  226. package/dist/constants.js +0 -4
  227. package/dist/converter-cli.js +0 -280
  228. package/dist/deps-installer/deps-installer.js +0 -63
  229. package/dist/es5/3d-tiles-attributes-worker.js +0 -25
  230. package/dist/es5/3d-tiles-attributes-worker.js.map +0 -1
  231. package/dist/es5/i3s-attributes-worker.js +0 -25
  232. package/dist/es5/i3s-attributes-worker.js.map +0 -1
  233. package/dist/es5/i3s-server/bin/www +0 -102
  234. package/dist/es5/workers/3d-tiles-attributes-worker.js +0 -28
  235. package/dist/es5/workers/3d-tiles-attributes-worker.js.map +0 -1
  236. package/dist/es5/workers/i3s-attributes-worker.js +0 -30
  237. package/dist/es5/workers/i3s-attributes-worker.js.map +0 -1
  238. package/dist/esm/3d-tiles-attributes-worker.js +0 -16
  239. package/dist/esm/3d-tiles-attributes-worker.js.map +0 -1
  240. package/dist/esm/i3s-attributes-worker.js +0 -16
  241. package/dist/esm/i3s-attributes-worker.js.map +0 -1
  242. package/dist/esm/i3s-server/bin/www +0 -102
  243. package/dist/esm/workers/3d-tiles-attributes-worker.js +0 -8
  244. package/dist/esm/workers/3d-tiles-attributes-worker.js.map +0 -1
  245. package/dist/esm/workers/i3s-attributes-worker.js +0 -7
  246. package/dist/esm/workers/i3s-attributes-worker.js.map +0 -1
  247. package/dist/i3s-attributes-worker.d.ts +0 -45
  248. package/dist/i3s-attributes-worker.d.ts.map +0 -1
  249. package/dist/i3s-attributes-worker.js +0 -9
  250. package/dist/i3s-attributes-worker.js.map +0 -7
  251. package/dist/i3s-converter/helpers/batch-ids-extensions.js +0 -138
  252. package/dist/i3s-converter/helpers/coordinate-converter.js +0 -123
  253. package/dist/i3s-converter/helpers/create-scene-server-path.js +0 -28
  254. package/dist/i3s-converter/helpers/feature-attributes.js +0 -216
  255. package/dist/i3s-converter/helpers/geometry-attributes.js +0 -202
  256. package/dist/i3s-converter/helpers/geometry-converter.js +0 -1225
  257. package/dist/i3s-converter/helpers/gltf-attributes.js +0 -128
  258. package/dist/i3s-converter/helpers/load-3d-tiles.js +0 -53
  259. package/dist/i3s-converter/helpers/node-debug.js +0 -120
  260. package/dist/i3s-converter/helpers/node-index-document.js +0 -268
  261. package/dist/i3s-converter/helpers/node-pages.js +0 -316
  262. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +0 -76
  263. package/dist/i3s-converter/helpers/tileset-traversal.js +0 -29
  264. package/dist/i3s-converter/i3s-converter.js +0 -911
  265. package/dist/i3s-converter/json-templates/geometry-definitions.js +0 -87
  266. package/dist/i3s-converter/json-templates/layers.js +0 -139
  267. package/dist/i3s-converter/json-templates/metadata.js +0 -25
  268. package/dist/i3s-converter/json-templates/node.js +0 -89
  269. package/dist/i3s-converter/json-templates/scene-server.js +0 -31
  270. package/dist/i3s-converter/json-templates/shared-resources.js +0 -129
  271. package/dist/i3s-converter/json-templates/store.js +0 -103
  272. package/dist/i3s-converter/types.js +0 -17
  273. package/dist/i3s-server/app.js +0 -22
  274. package/dist/i3s-server/controllers/index-controller.js +0 -23
  275. package/dist/i3s-server/controllers/slpk-controller.js +0 -32
  276. package/dist/i3s-server/routes/index.js +0 -16
  277. package/dist/i3s-server/routes/slpk-router.js +0 -33
  278. package/dist/i3s-server/utils/create-scene-server.js +0 -14
  279. package/dist/index.js +0 -10
  280. package/dist/lib/utils/compress-util.js +0 -257
  281. package/dist/lib/utils/file-utils.js +0 -139
  282. package/dist/lib/utils/geometry-utils.js +0 -18
  283. package/dist/lib/utils/lod-conversion-utils.js +0 -76
  284. package/dist/lib/utils/queue.js +0 -18
  285. package/dist/lib/utils/statistic-utills.js +0 -64
  286. package/dist/lib/utils/write-queue.js +0 -80
  287. package/dist/pgm-loader.js +0 -24
  288. package/dist/workers/3d-tiles-attributes-worker.d.ts +0 -2
  289. package/dist/workers/3d-tiles-attributes-worker.d.ts.map +0 -1
  290. package/dist/workers/3d-tiles-attributes-worker.js +0 -9
  291. package/dist/workers/i3s-attributes-worker.d.ts +0 -2
  292. package/dist/workers/i3s-attributes-worker.d.ts.map +0 -1
  293. package/dist/workers/i3s-attributes-worker.js +0 -5
  294. package/src/3d-tiles-attributes-worker.ts +0 -43
  295. package/src/i3s-attributes-worker.ts +0 -59
  296. package/src/i3s-server/bin/www +0 -102
  297. package/src/i3s-server/controllers/slpk-controller.js +0 -38
  298. package/src/i3s-server/utils/create-scene-server.js +0 -15
  299. package/src/workers/3d-tiles-attributes-worker.ts +0 -6
  300. package/src/workers/i3s-attributes-worker.ts +0 -7
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const queue_1 = require("./queue");
7
- const process_1 = __importDefault(require("process"));
8
- /** Memory limit size is based on testing */
9
- const MEMORY_LIMIT = 4 * 1024 * 1024 * 1024; // 4GB
10
- class WriteQueue extends queue_1.Queue {
11
- constructor(listeningInterval = 2000, writeConcurrency = 400) {
12
- super();
13
- this.writePromise = null;
14
- this.fileMap = {};
15
- this.listeningInterval = listeningInterval;
16
- this.writeConcurrency = writeConcurrency;
17
- }
18
- async enqueue(val, writeImmediately = false) {
19
- if (writeImmediately) {
20
- const { archiveKey, writePromise } = val;
21
- const result = await writePromise();
22
- if (archiveKey && result) {
23
- this.fileMap[archiveKey] = result;
24
- }
25
- }
26
- else {
27
- super.enqueue(val);
28
- /** https://nodejs.org/docs/latest-v14.x/api/process.html#process_process_memoryusage */
29
- if (process_1.default.memoryUsage().rss > MEMORY_LIMIT) {
30
- await this.startWrite();
31
- }
32
- }
33
- }
34
- startListening() {
35
- this.intervalId = setInterval(this.startWrite.bind(this), this.listeningInterval);
36
- }
37
- stopListening() {
38
- if (this.intervalId) {
39
- clearInterval(this.intervalId);
40
- }
41
- }
42
- async startWrite() {
43
- if (!this.writePromise) {
44
- this.writePromise = this.doWrite();
45
- }
46
- await this.writePromise;
47
- this.writePromise = null;
48
- }
49
- async finalize() {
50
- this.stopListening();
51
- await this.startWrite();
52
- }
53
- async doWrite() {
54
- while (this.length) {
55
- const promises = [];
56
- const archiveKeys = [];
57
- for (let i = 0; i < this.writeConcurrency; i++) {
58
- const item = this.dequeue();
59
- if (!item) {
60
- break;
61
- }
62
- const { archiveKey, writePromise } = item;
63
- archiveKeys.push(archiveKey);
64
- const promise = writePromise();
65
- promises.push(promise);
66
- }
67
- const writeResults = await Promise.allSettled(promises);
68
- this.updateFileMap(archiveKeys, writeResults);
69
- }
70
- }
71
- updateFileMap(archiveKeys, writeResults) {
72
- for (let i = 0; i < archiveKeys.length; i++) {
73
- const archiveKey = archiveKeys[i];
74
- if (archiveKey && 'value' in writeResults[i]) {
75
- this.fileMap[archiveKey] = writeResults[i].value;
76
- }
77
- }
78
- }
79
- }
80
- exports.default = WriteQueue;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PGMLoader = void 0;
4
- const geoid_1 = require("@math.gl/geoid");
5
- // __VERSION__ is injected by babel-plugin-version-inline
6
- // @ts-ignore TS2304: Cannot find name '__VERSION__'.
7
- const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
8
- /**
9
- * Loader for PGM - Netpbm grayscale image format
10
- */
11
- exports.PGMLoader = {
12
- name: 'PGM - Netpbm grayscale image format',
13
- id: 'pgm',
14
- module: 'tile-converter',
15
- version: VERSION,
16
- mimeTypes: ['image/x-portable-graymap'],
17
- // @ts-expect-error LoaderOptions does not have cubic parameter
18
- parse: async (arrayBuffer, options) => (0, geoid_1.parsePGM)(new Uint8Array(arrayBuffer), options),
19
- extensions: ['pgm'],
20
- options: {
21
- // TODO - use pgm namespace
22
- cubic: false
23
- }
24
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=3d-tiles-attributes-worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"3d-tiles-attributes-worker.d.ts","sourceRoot":"","sources":["../../src/workers/3d-tiles-attributes-worker.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const worker_utils_1 = require("@loaders.gl/worker-utils");
7
- const b3dm_converter_1 = __importDefault(require("../3d-tiles-converter/helpers/b3dm-converter"));
8
- const b3dmConverter = new b3dm_converter_1.default();
9
- (0, worker_utils_1.createWorker)(async (data, options = {}) => b3dmConverter.convert(data, options.featureAttributes));
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=i3s-attributes-worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i3s-attributes-worker.d.ts","sourceRoot":"","sources":["../../src/workers/i3s-attributes-worker.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const worker_utils_1 = require("@loaders.gl/worker-utils");
4
- const geometry_converter_1 = require("../i3s-converter/helpers/geometry-converter");
5
- (0, worker_utils_1.createWorker)(async (data, options = {}) => await (0, geometry_converter_1.convertAttributes)(data, options.materialAndTextureList, options.useCartesianPositions));
@@ -1,43 +0,0 @@
1
- import type {WorkerObject} from '@loaders.gl/worker-utils';
2
- import type {FeatureAttribute} from '@loaders.gl/i3s';
3
-
4
- import {processOnWorker} from '@loaders.gl/worker-utils';
5
-
6
- // __VERSION__ is injected by babel-plugin-version-inline
7
- // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
- const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
9
-
10
- export type Tile3DAttributesWorkerOptions = {
11
- featureAttributes: FeatureAttribute | null;
12
- source: string;
13
- };
14
-
15
- export type I3SAttributesData = {
16
- tileContent: any;
17
- textureFormat: string;
18
- };
19
-
20
- /**
21
- * I3S Attributes Worker to handle B3DM object
22
- */
23
- export const Tile3dAttributesWorker = {
24
- id: '3d-tiles-attributes',
25
- name: '3DTiles Attributes Worker',
26
- module: 'tile-converter',
27
- version: VERSION,
28
- options: {
29
- featureAttributes: null
30
- }
31
- };
32
-
33
- /**
34
- * Performs I3S attributes transformation
35
- */
36
- export function transform3DTilesAttributesOnWorker(
37
- i3sAttributesData: I3SAttributesData,
38
- options: Tile3DAttributesWorkerOptions
39
- ): Promise<ArrayBuffer> {
40
- return processOnWorker(Tile3dAttributesWorker, i3sAttributesData, options);
41
- }
42
-
43
- export const _typecheckI3SAttributesWorker: WorkerObject = Tile3dAttributesWorker;
@@ -1,59 +0,0 @@
1
- import type {WorkerObject} from '@loaders.gl/worker-utils';
2
- import type {ConvertedAttributes} from './i3s-converter/types';
3
- import type {Matrix4, Vector3} from '@math.gl/core';
4
- import type {GLTFNodePostprocessed} from '@loaders.gl/gltf';
5
-
6
- import {processOnWorker} from '@loaders.gl/worker-utils';
7
-
8
- // __VERSION__ is injected by babel-plugin-version-inline
9
- // @ts-ignore TS2304: Cannot find name '__VERSION__'.
10
- const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
11
-
12
- export type I3SAttributesWorkerOptions = {
13
- _nodeWorkers: boolean;
14
- reuseWorkers: boolean;
15
- useCartesianPositions: boolean;
16
- source: string;
17
- };
18
-
19
- export type TextureImageProperties = {
20
- data: Uint8Array;
21
- compressed?: boolean;
22
- height?: number;
23
- width?: number;
24
- components?: number;
25
- mimeType?: string;
26
- };
27
-
28
- export type B3DMAttributesData = {
29
- gltfMaterials?: {id: string}[];
30
- nodes: GLTFNodePostprocessed[];
31
- images: (null | TextureImageProperties)[];
32
- cartographicOrigin: Vector3;
33
- cartesianModelMatrix: Matrix4;
34
- };
35
-
36
- /**
37
- * I3S Attributes Worker to handle B3DM object
38
- */
39
- export const I3SAttributesWorker = {
40
- id: 'i3s-attributes',
41
- name: 'I3S Attributes Worker',
42
- module: 'tile-converter',
43
- version: VERSION,
44
- options: {
45
- useCartesianPositions: false
46
- }
47
- };
48
-
49
- /**
50
- * Performs I3S attributes transformation
51
- */
52
- export function transformI3SAttributesOnWorker(
53
- attributesData: B3DMAttributesData,
54
- options: I3SAttributesWorkerOptions
55
- ): Promise<Map<string, ConvertedAttributes>> {
56
- return processOnWorker(I3SAttributesWorker, attributesData, options);
57
- }
58
-
59
- export const _typecheckI3SAttributesWorker: WorkerObject = I3SAttributesWorker;
@@ -1,102 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Module dependencies.
5
- */
6
-
7
- const app = require('../app');
8
- const debug = require('debug')('i3s-server:server');
9
- const https = require('https');
10
- const http = require('http');
11
- const fs = require('fs');
12
- const path = require('path');
13
-
14
- /**
15
- * Get port from environment and store in Express.
16
- */
17
-
18
- const httpPort = normalizePort(process.env.PORT || '80'); // eslint-disable-line no-process-env, no-undef
19
- const httpsPort = normalizePort(process.env.HTTPS_PORT || '443'); // eslint-disable-line no-process-env, no-undef
20
-
21
- /**
22
- * Create HTTP server.
23
- */
24
-
25
- const options = {
26
- key: fs.readFileSync(path.join(__dirname, '../certs/key.pem')),
27
- cert: fs.readFileSync(path.join(__dirname, '../certs/cert.pem'))
28
- };
29
-
30
- const httpServer = http.createServer(app);
31
- const httpsServer = https.createServer(options, app);
32
-
33
- /**
34
- * Listen on provided port, on all network interfaces.
35
- */
36
-
37
- httpServer.listen(httpPort);
38
- httpServer.on('error', formErrorHandler(httpPort));
39
- httpServer.on('listening', formListeningHandler(httpServer));
40
-
41
- httpsServer.listen(httpsPort);
42
- httpsServer.on('error', formErrorHandler(httpsPort));
43
- httpsServer.on('listening', formListeningHandler(httpsServer));
44
-
45
- /**
46
- * Normalize a port into a number, string, or false.
47
- */
48
-
49
- function normalizePort(val) {
50
- const chkPort = parseInt(val, 10);
51
-
52
- if (isNaN(chkPort)) {
53
- // named pipe
54
- return val;
55
- }
56
-
57
- if (chkPort >= 0) {
58
- // port number
59
- return chkPort;
60
- }
61
-
62
- return false;
63
- }
64
-
65
- /**
66
- * Event listener for HTTP/HTTPS server "error" event.
67
- */
68
-
69
- function formErrorHandler(optionalPort) {
70
- return function onError(error) {
71
- if (error.syscall !== 'listen') {
72
- throw error;
73
- }
74
-
75
- const bind = typeof port === 'string' ? `Pipe ${optionalPort}`: `Port ${optionalPort}`;
76
-
77
- // handle specific listen errors with friendly messages
78
- switch (error.code) {
79
- case 'EACCES':
80
- console.error(`${bind} requires elevated privileges`);// eslint-disable-line no-console, no-undef
81
- process.exit(1);// eslint-disable-line no-process-exit, no-undef
82
- break;
83
- case 'EADDRINUSE':
84
- console.error(`${bind} is already in use`);// eslint-disable-line no-console, no-undef
85
- process.exit(1);// eslint-disable-line no-process-exit, no-undef
86
- break;
87
- default:
88
- throw error;
89
- }
90
- }
91
- }
92
-
93
- /**
94
- * Event listener for HTTP/HTTPS server "listening" event.
95
- */
96
- function formListeningHandler(optionalServer) {
97
- return function onListening() {
98
- const addr = optionalServer.address();
99
- const bind = typeof addr === 'string' ? `pipe ${addr}` : `port ${addr.port}`;
100
- debug(`Listening on ${bind}`);
101
- }
102
- }
@@ -1,38 +0,0 @@
1
- require('@loaders.gl/polyfills');
2
- const {fetchFile, parse} = require('@loaders.gl/core');
3
- const {SLPKLoader} = require('@loaders.gl/i3s');
4
- const path = require('path');
5
-
6
- let slpkArchive;
7
-
8
- const loadArchive = async (fullLayerPath) => {
9
- slpkArchive = await (await fetchFile(fullLayerPath)).arrayBuffer();
10
- };
11
-
12
- const I3S_LAYER_PATH = process.env.I3sLayerPath || ''; // eslint-disable-line no-process-env, no-undef
13
- const FULL_LAYER_PATH = path.join(process.cwd(), I3S_LAYER_PATH); // eslint-disable-line no-undef
14
-
15
- loadArchive(FULL_LAYER_PATH);
16
-
17
- async function getFileByUrl(url) {
18
- const trimmedPath = /^\/?(.*)\/?$/.exec(url);
19
- let uncompressedFile;
20
- if (trimmedPath) {
21
- try {
22
- uncompressedFile = Buffer.from(
23
- await parse(slpkArchive, SLPKLoader, {
24
- slpk: {
25
- path: trimmedPath[1],
26
- pathMode: 'http'
27
- }
28
- })
29
- );
30
- } catch (e) {}
31
- }
32
- return uncompressedFile;
33
- }
34
-
35
- module.exports = {
36
- loadArchive,
37
- getFileByUrl
38
- };
@@ -1,15 +0,0 @@
1
- const {v4: uuidv4} = require('uuid');
2
-
3
- const createSceneServer = (name, layer) => {
4
- return {
5
- serviceItemId: uuidv4().replace(/-/gi, ''),
6
- serviceName: name,
7
- name,
8
- currentVersion: '10.7',
9
- serviceVersion: '1.8',
10
- supportedBindings: ['REST'],
11
- layers: [layer]
12
- };
13
- };
14
-
15
- module.exports = createSceneServer;
@@ -1,6 +0,0 @@
1
- import {createWorker} from '@loaders.gl/worker-utils';
2
- import B3dmConverter from '../3d-tiles-converter/helpers/b3dm-converter';
3
-
4
- const b3dmConverter = new B3dmConverter();
5
-
6
- createWorker(async (data, options = {}) => b3dmConverter.convert(data, options.featureAttributes));
@@ -1,7 +0,0 @@
1
- import {createWorker} from '@loaders.gl/worker-utils';
2
- import {convertAttributes} from '../i3s-converter/helpers/geometry-converter';
3
-
4
- createWorker(
5
- async (data, options = {}) =>
6
- await convertAttributes(data, options.materialAndTextureList, options.useCartesianPositions)
7
- );