@loaders.gl/tile-converter 4.2.0-alpha.4 → 4.2.0-alpha.6

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 (192) hide show
  1. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +4 -4
  2. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  3. package/dist/3d-tiles-converter/3d-tiles-converter.js +349 -293
  4. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
  5. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +261 -200
  6. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +14 -5
  7. package/dist/3d-tiles-converter/helpers/load-i3s.d.ts.map +1 -1
  8. package/dist/3d-tiles-converter/helpers/load-i3s.js +83 -77
  9. package/dist/3d-tiles-converter/helpers/texture-atlas.js +44 -21
  10. package/dist/3d-tiles-converter/json-templates/tileset.js +32 -33
  11. package/dist/constants.js +0 -1
  12. package/dist/converter-cli.js +257 -234
  13. package/dist/converter.min.cjs +95 -105
  14. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  15. package/dist/deps-installer/deps-installer.js +78 -59
  16. package/dist/i3s-converter/helpers/attribute-metadata-info.js +210 -153
  17. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +1 -1
  18. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
  19. package/dist/i3s-converter/helpers/batch-ids-extensions.js +146 -103
  20. package/dist/i3s-converter/helpers/coordinate-converter.js +100 -65
  21. package/dist/i3s-converter/helpers/create-scene-server-path.js +14 -9
  22. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -1
  23. package/dist/i3s-converter/helpers/feature-attributes.js +170 -105
  24. package/dist/i3s-converter/helpers/geometry-attributes.d.ts +1 -1
  25. package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -1
  26. package/dist/i3s-converter/helpers/geometry-attributes.js +205 -212
  27. package/dist/i3s-converter/helpers/geometry-converter.d.ts +17 -3
  28. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  29. package/dist/i3s-converter/helpers/geometry-converter.js +1189 -830
  30. package/dist/i3s-converter/helpers/gltf-attributes.d.ts +1 -1
  31. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  32. package/dist/i3s-converter/helpers/gltf-attributes.js +109 -97
  33. package/dist/i3s-converter/helpers/load-3d-tiles.js +103 -66
  34. package/dist/i3s-converter/helpers/node-debug.js +98 -54
  35. package/dist/i3s-converter/helpers/node-index-document.d.ts +11 -4
  36. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -1
  37. package/dist/i3s-converter/helpers/node-index-document.js +255 -177
  38. package/dist/i3s-converter/helpers/node-pages.d.ts +1 -1
  39. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
  40. package/dist/i3s-converter/helpers/node-pages.js +299 -193
  41. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts +1 -1
  42. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -1
  43. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js +92 -60
  44. package/dist/i3s-converter/helpers/progress.d.ts.map +1 -1
  45. package/dist/i3s-converter/helpers/progress.js +139 -83
  46. package/dist/i3s-converter/helpers/tileset-traversal.d.ts +9 -2
  47. package/dist/i3s-converter/helpers/tileset-traversal.d.ts.map +1 -1
  48. package/dist/i3s-converter/helpers/tileset-traversal.js +33 -13
  49. package/dist/i3s-converter/i3s-converter.d.ts +7 -7
  50. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  51. package/dist/i3s-converter/i3s-converter.js +1165 -895
  52. package/dist/i3s-converter/json-templates/geometry-definitions.js +70 -79
  53. package/dist/i3s-converter/json-templates/layers.js +120 -121
  54. package/dist/i3s-converter/json-templates/metadata.js +19 -20
  55. package/dist/i3s-converter/json-templates/node.js +73 -71
  56. package/dist/i3s-converter/json-templates/scene-server.js +25 -26
  57. package/dist/i3s-converter/json-templates/shared-resources.js +107 -108
  58. package/dist/i3s-converter/json-templates/store.js +96 -94
  59. package/dist/i3s-converter/types.js +35 -23
  60. package/dist/i3s-server/app.js +15 -12
  61. package/dist/i3s-server/bin/i3s-server.min.cjs +69 -69
  62. package/dist/i3s-server/bin/www.js +16 -7
  63. package/dist/i3s-server/controllers/index-controller.js +18 -15
  64. package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -1
  65. package/dist/i3s-server/controllers/slpk-controller.js +24 -11
  66. package/dist/i3s-server/routes/index.js +13 -9
  67. package/dist/i3s-server/routes/slpk-router.d.ts.map +1 -1
  68. package/dist/i3s-server/routes/slpk-router.js +26 -19
  69. package/dist/i3s-server/utils/create-scene-server.js +15 -10
  70. package/dist/i3s-server/utils/server-utils.d.ts.map +1 -1
  71. package/dist/i3s-server/utils/server-utils.js +52 -32
  72. package/dist/index.cjs +616 -967
  73. package/dist/index.cjs.map +7 -0
  74. package/dist/index.d.ts +2 -2
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +0 -1
  77. package/dist/lib/json-schemas/conversion-dump-json-schema.js +243 -421
  78. package/dist/lib/utils/cli-utils.d.ts.map +1 -1
  79. package/dist/lib/utils/cli-utils.js +65 -36
  80. package/dist/lib/utils/compress-util.js +20 -15
  81. package/dist/lib/utils/conversion-dump.d.ts +10 -2
  82. package/dist/lib/utils/conversion-dump.d.ts.map +1 -1
  83. package/dist/lib/utils/conversion-dump.js +242 -197
  84. package/dist/lib/utils/file-utils.d.ts +1 -1
  85. package/dist/lib/utils/file-utils.d.ts.map +1 -1
  86. package/dist/lib/utils/file-utils.js +120 -74
  87. package/dist/lib/utils/geometry-utils.js +13 -7
  88. package/dist/lib/utils/lod-conversion-utils.js +65 -33
  89. package/dist/lib/utils/queue.js +12 -13
  90. package/dist/lib/utils/statistic-utills.d.ts +6 -23
  91. package/dist/lib/utils/statistic-utills.d.ts.map +1 -1
  92. package/dist/lib/utils/statistic-utills.js +58 -55
  93. package/dist/lib/utils/write-queue.d.ts +2 -2
  94. package/dist/lib/utils/write-queue.d.ts.map +1 -1
  95. package/dist/lib/utils/write-queue.js +72 -86
  96. package/dist/pgm-loader.js +17 -13
  97. package/dist/slpk-extractor/slpk-extractor.d.ts.map +1 -1
  98. package/dist/slpk-extractor/slpk-extractor.js +60 -50
  99. package/dist/slpk-extractor-cli.d.ts.map +1 -1
  100. package/dist/slpk-extractor-cli.js +90 -59
  101. package/dist/slpk-extractor.min.cjs +1 -1
  102. package/package.json +27 -26
  103. package/src/3d-tiles-converter/3d-tiles-converter.ts +21 -10
  104. package/src/3d-tiles-converter/helpers/b3dm-converter.ts +1 -0
  105. package/src/3d-tiles-converter/helpers/load-i3s.ts +3 -27
  106. package/src/converter-cli.ts +4 -2
  107. package/src/deps-installer/deps-installer.ts +7 -0
  108. package/src/i3s-converter/helpers/attribute-metadata-info.ts +1 -1
  109. package/src/i3s-converter/helpers/batch-ids-extensions.ts +3 -1
  110. package/src/i3s-converter/helpers/coordinate-converter.ts +2 -2
  111. package/src/i3s-converter/helpers/feature-attributes.ts +5 -2
  112. package/src/i3s-converter/helpers/geometry-attributes.ts +6 -5
  113. package/src/i3s-converter/helpers/geometry-converter.ts +118 -72
  114. package/src/i3s-converter/helpers/gltf-attributes.ts +12 -13
  115. package/src/i3s-converter/helpers/node-index-document.ts +18 -10
  116. package/src/i3s-converter/helpers/node-pages.ts +27 -29
  117. package/src/i3s-converter/helpers/preprocess-3d-tiles.ts +1 -0
  118. package/src/i3s-converter/helpers/progress.ts +1 -0
  119. package/src/i3s-converter/helpers/tileset-traversal.ts +22 -13
  120. package/src/i3s-converter/i3s-converter.ts +173 -114
  121. package/src/i3s-converter/json-templates/node.ts +1 -1
  122. package/src/i3s-server/bin/www.ts +6 -4
  123. package/src/i3s-server/controllers/slpk-controller.ts +4 -2
  124. package/src/i3s-server/routes/index.ts +10 -7
  125. package/src/i3s-server/routes/slpk-router.ts +22 -16
  126. package/src/i3s-server/utils/server-utils.ts +6 -4
  127. package/src/lib/utils/cli-utils.ts +2 -0
  128. package/src/lib/utils/conversion-dump.ts +35 -20
  129. package/src/lib/utils/file-utils.ts +11 -11
  130. package/src/lib/utils/statistic-utills.ts +5 -6
  131. package/src/lib/utils/write-queue.ts +2 -2
  132. package/src/slpk-extractor/slpk-extractor.ts +2 -1
  133. package/src/slpk-extractor-cli.ts +16 -8
  134. package/dist/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
  135. package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
  136. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
  137. package/dist/3d-tiles-converter/helpers/load-i3s.js.map +0 -1
  138. package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
  139. package/dist/3d-tiles-converter/json-templates/tileset.js.map +0 -1
  140. package/dist/constants.js.map +0 -1
  141. package/dist/converter-cli.js.map +0 -1
  142. package/dist/deps-installer/deps-installer.js.map +0 -1
  143. package/dist/i3s-converter/helpers/attribute-metadata-info.js.map +0 -1
  144. package/dist/i3s-converter/helpers/batch-ids-extensions.js.map +0 -1
  145. package/dist/i3s-converter/helpers/coordinate-converter.js.map +0 -1
  146. package/dist/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
  147. package/dist/i3s-converter/helpers/feature-attributes.js.map +0 -1
  148. package/dist/i3s-converter/helpers/geometry-attributes.js.map +0 -1
  149. package/dist/i3s-converter/helpers/geometry-converter.js.map +0 -1
  150. package/dist/i3s-converter/helpers/gltf-attributes.js.map +0 -1
  151. package/dist/i3s-converter/helpers/load-3d-tiles.js.map +0 -1
  152. package/dist/i3s-converter/helpers/node-debug.js.map +0 -1
  153. package/dist/i3s-converter/helpers/node-index-document.js.map +0 -1
  154. package/dist/i3s-converter/helpers/node-pages.js.map +0 -1
  155. package/dist/i3s-converter/helpers/preprocess-3d-tiles.js.map +0 -1
  156. package/dist/i3s-converter/helpers/progress.js.map +0 -1
  157. package/dist/i3s-converter/helpers/tileset-traversal.js.map +0 -1
  158. package/dist/i3s-converter/i3s-converter.js.map +0 -1
  159. package/dist/i3s-converter/json-templates/geometry-definitions.js.map +0 -1
  160. package/dist/i3s-converter/json-templates/layers.js.map +0 -1
  161. package/dist/i3s-converter/json-templates/metadata.js.map +0 -1
  162. package/dist/i3s-converter/json-templates/node.js.map +0 -1
  163. package/dist/i3s-converter/json-templates/scene-server.js.map +0 -1
  164. package/dist/i3s-converter/json-templates/shared-resources.js.map +0 -1
  165. package/dist/i3s-converter/json-templates/store.js.map +0 -1
  166. package/dist/i3s-converter/types.js.map +0 -1
  167. package/dist/i3s-server/README.md +0 -63
  168. package/dist/i3s-server/app.js.map +0 -1
  169. package/dist/i3s-server/bin/www.js.map +0 -1
  170. package/dist/i3s-server/certs/cert.pem +0 -19
  171. package/dist/i3s-server/certs/key.pem +0 -27
  172. package/dist/i3s-server/controllers/index-controller.js.map +0 -1
  173. package/dist/i3s-server/controllers/slpk-controller.js.map +0 -1
  174. package/dist/i3s-server/routes/index.js.map +0 -1
  175. package/dist/i3s-server/routes/slpk-router.js.map +0 -1
  176. package/dist/i3s-server/utils/create-scene-server.js.map +0 -1
  177. package/dist/i3s-server/utils/server-utils.js.map +0 -1
  178. package/dist/index.js.map +0 -1
  179. package/dist/lib/json-schemas/conversion-dump-json-schema.js.map +0 -1
  180. package/dist/lib/utils/cli-utils.js.map +0 -1
  181. package/dist/lib/utils/compress-util.js.map +0 -1
  182. package/dist/lib/utils/conversion-dump.js.map +0 -1
  183. package/dist/lib/utils/file-utils.js.map +0 -1
  184. package/dist/lib/utils/geometry-utils.js.map +0 -1
  185. package/dist/lib/utils/lod-conversion-utils.js.map +0 -1
  186. package/dist/lib/utils/queue.js.map +0 -1
  187. package/dist/lib/utils/statistic-utills.js.map +0 -1
  188. package/dist/lib/utils/write-queue.js.map +0 -1
  189. package/dist/pgm-loader.js.map +0 -1
  190. package/dist/slpk-extractor/slpk-extractor.js.map +0 -1
  191. package/dist/slpk-extractor-cli.js.map +0 -1
  192. package/src/lib/utils/statistic-utills.d.ts +0 -25
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/progress.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,qBAAa,QAAQ;IACnB,oFAAoF;IACpF,OAAO,CAAC,WAAW,CAAa;IAChC,kCAAkC;IAClC,OAAO,CAAC,UAAU,CAAa;IAC/B,qDAAqD;IACrD,OAAO,CAAC,SAAS,CAAa;IAC9B,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAa;IAC7B,uDAAuD;IACvD,OAAO,CAAC,uBAAuB,CAAa;IAC5C,yDAAyD;IACzD,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,KAAK,CAAkB;IAC/B;;;OAGG;IACH,OAAO,CAAC,0BAA0B,CAAa;IAC/C,iGAAiG;IACjG,OAAO,CAAC,SAAS,CAAS;IAC1B,kDAAkD;IAClD,OAAO,CAAC,OAAO,CAAe;gBAElB,OAAO,GAAE;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAA;KAAM;IAKtE,oFAAoF;IACpF,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,CAAC,UAAU,QAAA,EAIxB;IAED,kCAAkC;IAClC,IAAI,SAAS,WAEZ;IAED,IAAI,SAAS,CAAC,SAAS,QAAA,EAUtB;IAED;;OAEG;IACH,eAAe;IASf;;OAEG;IACH,cAAc;IAId;;;OAGG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAQ3B;;;OAGG;IACH,gBAAgB;IAKhB;;;OAGG;IACH,uBAAuB,IAAI,MAAM;IAMjC;;;OAGG;IACH,gBAAgB,IAAI;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI;IAUlE;;;;OAIG;IACH,sBAAsB,IAAI,MAAM;IAKhC;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAQvB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;CAIrC"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/progress.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,qBAAa,QAAQ;IACnB,oFAAoF;IACpF,OAAO,CAAC,WAAW,CAAa;IAChC,kCAAkC;IAClC,OAAO,CAAC,UAAU,CAAa;IAC/B,qDAAqD;IACrD,OAAO,CAAC,SAAS,CAAa;IAC9B,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAa;IAC7B,uDAAuD;IACvD,OAAO,CAAC,uBAAuB,CAAa;IAC5C,yDAAyD;IACzD,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,KAAK,CAAkB;IAC/B;;;OAGG;IACH,OAAO,CAAC,0BAA0B,CAAa;IAC/C,iGAAiG;IACjG,OAAO,CAAC,SAAS,CAAS;IAC1B,kDAAkD;IAClD,OAAO,CAAC,OAAO,CAAe;gBAElB,OAAO,GAAE;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAA;KAAM;IAMtE,oFAAoF;IACpF,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,CAAC,UAAU,QAAA,EAIxB;IAED,kCAAkC;IAClC,IAAI,SAAS,WAEZ;IAED,IAAI,SAAS,CAAC,SAAS,QAAA,EAUtB;IAED;;OAEG;IACH,eAAe;IASf;;OAEG;IACH,cAAc;IAId;;;OAGG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;IAQ3B;;;OAGG;IACH,gBAAgB;IAKhB;;;OAGG;IACH,uBAAuB,IAAI,MAAM;IAMjC;;;OAGG;IACH,gBAAgB,IAAI;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI;IAUlE;;;;OAIG;IACH,sBAAsB,IAAI,MAAM;IAKhC;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAQvB;;;OAGG;IACH,OAAO,CAAC,4BAA4B;CAIrC"}
@@ -1,92 +1,148 @@
1
1
  import process from 'process';
2
2
  import { timeConverter } from "../../lib/utils/statistic-utills.js";
3
+ /** Defines a threshold that is used to check if the process velocity can be consifered trust. */
3
4
  const THRESHOLD_DEFAULT = 0.2;
5
+ /**
6
+ * Implements methods to keep track on the progress of a long process.
7
+ */
4
8
  export class Progress {
5
- constructor() {
6
- let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
- this._stepsTotal = 0;
8
- this._stepsDone = 0;
9
- this.startTime = 0;
10
- this.stopTime = 0;
11
- this.timeOfUpdatingStepsDone = 0;
12
- this.milliSecForOneStep = 0;
13
- this.trust = false;
14
- this.numberOfDigitsInPercentage = 0;
15
- this.threshold = void 0;
16
- this.getTime = void 0;
17
- this.getTime = options.getTime || process.hrtime.bigint;
18
- this.threshold = options.threshold || THRESHOLD_DEFAULT;
19
- }
20
- get stepsTotal() {
21
- return this._stepsTotal;
22
- }
23
- set stepsTotal(stepsTotal) {
24
- this._stepsTotal = stepsTotal;
25
- this.numberOfDigitsInPercentage = this.stepsTotal > 100 ? Math.ceil(Math.log10(this.stepsTotal)) - 2 : 0;
26
- }
27
- get stepsDone() {
28
- return this._stepsDone;
29
- }
30
- set stepsDone(stepsDone) {
31
- this._stepsDone = stepsDone;
32
- this.timeOfUpdatingStepsDone = this.getCurrentTimeInMilliSeconds();
33
- if (this._stepsDone) {
34
- const diff = this.timeOfUpdatingStepsDone - this.startTime;
35
- const milliSecForOneStep = diff / this._stepsDone;
36
- this.trust = this.isVelocityTrust(milliSecForOneStep, this.milliSecForOneStep);
37
- this.milliSecForOneStep = milliSecForOneStep;
9
+ /** Total amount of work, e.g. number of files to save or number of bytes to send */
10
+ _stepsTotal = 0;
11
+ /** Amount of work already done */
12
+ _stepsDone = 0;
13
+ /** Time in milli-seconds when the process started */
14
+ startTime = 0;
15
+ /** Time in milli-seconds when the process stopped */
16
+ stopTime = 0;
17
+ /** Time in milli-seconds when stepsDone was updated */
18
+ timeOfUpdatingStepsDone = 0;
19
+ /** Time in milli-seconds spent for performing one step*/
20
+ milliSecForOneStep = 0;
21
+ trust = false;
22
+ /**
23
+ * The number of digits to appear after decimal point in the string representation of the count of steps already done.
24
+ * It's calculated based on the total count of steps.
25
+ */
26
+ numberOfDigitsInPercentage = 0;
27
+ /** Defines a threshold that is used to check if the process velocity can be consifered trust. */
28
+ threshold;
29
+ /** Function that is used to get the time stamp */
30
+ getTime;
31
+ constructor(options = {}) {
32
+ // eslint-disable-next-line @typescript-eslint/unbound-method
33
+ this.getTime = options.getTime || process.hrtime.bigint;
34
+ this.threshold = options.threshold || THRESHOLD_DEFAULT;
38
35
  }
39
- }
40
- startMonitoring() {
41
- this.startTime = this.getCurrentTimeInMilliSeconds();
42
- this.milliSecForOneStep = 0;
43
- this.trust = false;
44
- this.timeOfUpdatingStepsDone = 0;
45
- this.stopTime = 0;
46
- this.stepsDone = 0;
47
- }
48
- stopMonitoring() {
49
- this.stopTime = this.getCurrentTimeInMilliSeconds();
50
- }
51
- getPercent() {
52
- if (!this._stepsTotal) {
53
- return null;
36
+ /** Total amount of work, e.g. number of files to save or number of bytes to send */
37
+ get stepsTotal() {
38
+ return this._stepsTotal;
54
39
  }
55
- const percent = this._stepsDone / this._stepsTotal * 100.0;
56
- return percent;
57
- }
58
- getPercentString() {
59
- const percent = this.getPercent();
60
- return percent !== null ? percent.toFixed(this.numberOfDigitsInPercentage) : '';
61
- }
62
- getTimeCurrentlyElapsed() {
63
- const currentTime = this.stopTime ? this.stopTime : this.getCurrentTimeInMilliSeconds();
64
- const diff = currentTime - this.startTime;
65
- return diff;
66
- }
67
- getTimeRemaining() {
68
- if (!this._stepsTotal || !this._stepsDone || !this.startTime) {
69
- return null;
40
+ set stepsTotal(stepsTotal) {
41
+ this._stepsTotal = stepsTotal;
42
+ this.numberOfDigitsInPercentage =
43
+ this.stepsTotal > 100 ? Math.ceil(Math.log10(this.stepsTotal)) - 2 : 0;
70
44
  }
71
- const timeRemainingInMilliSeconds = (this._stepsTotal - this._stepsDone) * this.milliSecForOneStep;
72
- return {
73
- timeRemaining: timeRemainingInMilliSeconds,
74
- trust: this.trust
75
- };
76
- }
77
- getTimeRemainingString() {
78
- const timeRemainingObject = this.getTimeRemaining();
79
- return timeRemainingObject !== null && timeRemainingObject !== void 0 && timeRemainingObject.trust ? timeConverter(timeRemainingObject.timeRemaining) : '';
80
- }
81
- isVelocityTrust(current, previous) {
82
- if (previous) {
83
- const dev = Math.abs((current - previous) / previous);
84
- return dev < this.threshold;
45
+ /** Amount of work already done */
46
+ get stepsDone() {
47
+ return this._stepsDone;
48
+ }
49
+ set stepsDone(stepsDone) {
50
+ this._stepsDone = stepsDone;
51
+ this.timeOfUpdatingStepsDone = this.getCurrentTimeInMilliSeconds();
52
+ if (this._stepsDone) {
53
+ const diff = this.timeOfUpdatingStepsDone - this.startTime;
54
+ const milliSecForOneStep = diff / this._stepsDone;
55
+ this.trust = this.isVelocityTrust(milliSecForOneStep, this.milliSecForOneStep);
56
+ this.milliSecForOneStep = milliSecForOneStep;
57
+ }
58
+ }
59
+ /**
60
+ * Saves the current time as we start monitoring the process.
61
+ */
62
+ startMonitoring() {
63
+ this.startTime = this.getCurrentTimeInMilliSeconds();
64
+ this.milliSecForOneStep = 0;
65
+ this.trust = false;
66
+ this.timeOfUpdatingStepsDone = 0;
67
+ this.stopTime = 0;
68
+ this.stepsDone = 0;
69
+ }
70
+ /**
71
+ * Saves the current time as we stop monitoring the process.
72
+ */
73
+ stopMonitoring() {
74
+ this.stopTime = this.getCurrentTimeInMilliSeconds();
75
+ }
76
+ /**
77
+ * Gets percentage of the work already done.
78
+ * @returns percentage of the work already done.
79
+ */
80
+ getPercent() {
81
+ if (!this._stepsTotal) {
82
+ return null;
83
+ }
84
+ const percent = (this._stepsDone / this._stepsTotal) * 100.0;
85
+ return percent;
86
+ }
87
+ /**
88
+ * Gets string representation of percentage of the work already done.
89
+ * @returns string representation of percentage or an empty string if the percetage value cannot be calculated.
90
+ */
91
+ getPercentString() {
92
+ const percent = this.getPercent();
93
+ return percent !== null ? percent.toFixed(this.numberOfDigitsInPercentage) : '';
94
+ }
95
+ /**
96
+ * Gets the time elapsed since the monitoring started
97
+ * @returns Number of milliseconds elapsed
98
+ */
99
+ getTimeCurrentlyElapsed() {
100
+ const currentTime = this.stopTime ? this.stopTime : this.getCurrentTimeInMilliSeconds();
101
+ const diff = currentTime - this.startTime;
102
+ return diff;
103
+ }
104
+ /**
105
+ * Gets the time remaining (expected at the moment of updating 'stepsDone') to complete the work.
106
+ * @returns Number of milliseconds remaining
107
+ */
108
+ getTimeRemaining() {
109
+ if (!this._stepsTotal || !this._stepsDone || !this.startTime) {
110
+ return null;
111
+ }
112
+ const timeRemainingInMilliSeconds = (this._stepsTotal - this._stepsDone) * this.milliSecForOneStep;
113
+ return { timeRemaining: timeRemainingInMilliSeconds, trust: this.trust };
114
+ }
115
+ /**
116
+ * Gets the string representation of the time remaining (expected at the moment of updating 'stepsDone') to complete the work.
117
+ * @returns string representation of the time remaining.
118
+ * It's an empty string if the time cannot be pedicted or it's still being calculated.
119
+ */
120
+ getTimeRemainingString() {
121
+ const timeRemainingObject = this.getTimeRemaining();
122
+ return timeRemainingObject?.trust ? timeConverter(timeRemainingObject.timeRemaining) : '';
123
+ }
124
+ /**
125
+ * Check if the computed velociy of the process can be considered trust.
126
+ * At the beginning of the process the number of samples collected ('time necessary to perform one step' averaged) is too small,
127
+ * which results in huge deviation of the cumputed velocity of the process.
128
+ * It makes sense to perform the check before reporting the time remainig so the end user is not confused.
129
+ * @param current - current value
130
+ * @param previous - previous value
131
+ * @returns true if the computed velociy can be considered trust, or false otherwise
132
+ */
133
+ isVelocityTrust(current, previous) {
134
+ if (previous) {
135
+ const dev = Math.abs((current - previous) / previous);
136
+ return dev < this.threshold;
137
+ }
138
+ return false;
139
+ }
140
+ /**
141
+ * Gets current time in milliseconds.
142
+ * @returns current time in milliseconds.
143
+ */
144
+ getCurrentTimeInMilliSeconds() {
145
+ // process.hrtime.bigint() returns the time in nanoseconds. We need the time in milliseconds.
146
+ return Number(this.getTime() / BigInt(1e6));
85
147
  }
86
- return false;
87
- }
88
- getCurrentTimeInMilliSeconds() {
89
- return Number(this.getTime() / BigInt(1e6));
90
- }
91
148
  }
92
- //# sourceMappingURL=progress.js.map
@@ -1,5 +1,5 @@
1
1
  import { Tiles3DTileJSONPostprocessed } from '@loaders.gl/3d-tiles';
2
- import { NodeIndexDocument } from './node-index-document';
2
+ import { NodeIndexDocument } from "./node-index-document.js";
3
3
  import { Matrix4 } from '@math.gl/core';
4
4
  /** Traversal props for the conversion stage */
5
5
  export type TraversalConversionProps = {
@@ -21,5 +21,12 @@ export type TraversalConversionProps = {
21
21
  * traversal at the some level of the tree
22
22
  * @returns void
23
23
  */
24
- export declare const traverseDatasetWith: <TProps>(tile: Tiles3DTileJSONPostprocessed, traversalProps: TProps, processTile: (tile: Tiles3DTileJSONPostprocessed, traversalProps: TProps) => Promise<TProps>, postprocessTile?: ((processResults: TProps[], currentTraversalProps: TProps) => Promise<void>) | undefined, maxDepth?: number, level?: number) => Promise<void>;
24
+ export declare const traverseDatasetWith: <TProps>({ tile, traversalProps, processTile, postprocessTile, maxDepth, level }: {
25
+ tile: Tiles3DTileJSONPostprocessed;
26
+ traversalProps: TProps;
27
+ processTile: (tile: Tiles3DTileJSONPostprocessed, traversalProps: TProps) => Promise<TProps>;
28
+ postprocessTile?: ((processResults: TProps[], currentTraversalProps: TProps) => Promise<void>) | undefined;
29
+ maxDepth?: number | undefined;
30
+ level?: number | undefined;
31
+ }) => Promise<void>;
25
32
  //# sourceMappingURL=tileset-traversal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tileset-traversal.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/tileset-traversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,4BAA4B,EAAC,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,+CAA+C;AAC/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,0GAA0G;IAC1G,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,iBACxB,4BAA4B,8CAEd,4BAA4B,8HAC+B,QAAQ,IAAI,CAAC,0BACjF,MAAM,qBAEhB,QAAQ,IAAI,CAkBd,CAAC"}
1
+ {"version":3,"file":"tileset-traversal.d.ts","sourceRoot":"","sources":["../../../src/i3s-converter/helpers/tileset-traversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,4BAA4B,EAAC,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAC,iBAAiB,EAAC,iCAA8B;AACxD,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,+CAA+C;AAC/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,0GAA0G;IAC1G,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB;UAQxB,4BAA4B;oBAClB,MAAM;wBACF,4BAA4B,kBAAkB,MAAM,KAAK,QAAQ,MAAM,CAAC;wCACzD,MAAM,EAAE,yBAAyB,MAAM,KAAK,QAAQ,IAAI,CAAC;;;MAG1F,QAAQ,IAAI,CAoBf,CAAC"}
@@ -1,14 +1,34 @@
1
- export const traverseDatasetWith = async function (tile, traversalProps, processTile, postprocessTile, maxDepth) {
2
- let level = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;
3
- if (maxDepth && level > maxDepth) {
4
- return;
5
- }
6
- const processResults = [];
7
- const newTraversalProps = await processTile(tile, traversalProps);
8
- processResults.push(newTraversalProps);
9
- for (const childTile of tile.children) {
10
- await traverseDatasetWith(childTile, newTraversalProps, processTile, postprocessTile, maxDepth, level + 1);
11
- }
12
- postprocessTile && (await postprocessTile(processResults, traversalProps));
1
+ /**
2
+ * Travesal of 3DTile tiles tree with making specific actions with each tile
3
+ * @param tile - 3DTiles tile JSON metadata
4
+ * @param traversalProps - traversal props used to pass data through recursive calls
5
+ * @param processTile - callback to make some actions with the current tile
6
+ * @param postprocessTile - callback to make some action after processing of the current tile and all the subtree
7
+ * @param maxDepth - max recursive calls number the travesal function will do. If not set, the traversal function will
8
+ * go through all the tree.
9
+ * This value is used to limit the convertion with only partial number of levels of the tileset
10
+ * @param level - counter to keep recursive calls number of the tiles tree. This value used to be able to break
11
+ * traversal at the some level of the tree
12
+ * @returns void
13
+ */
14
+ export const traverseDatasetWith = async ({ tile, traversalProps, processTile, postprocessTile, maxDepth, level = 0 }) => {
15
+ if (maxDepth && level > maxDepth) {
16
+ return;
17
+ }
18
+ const processResults = [];
19
+ const newTraversalProps = await processTile(tile, traversalProps);
20
+ processResults.push(newTraversalProps);
21
+ for (const childTile of tile.children) {
22
+ await traverseDatasetWith({
23
+ tile: childTile,
24
+ traversalProps: newTraversalProps,
25
+ processTile,
26
+ postprocessTile,
27
+ maxDepth,
28
+ level: level + 1
29
+ });
30
+ }
31
+ if (postprocessTile) {
32
+ await postprocessTile(processResults, traversalProps);
33
+ }
13
34
  };
14
- //# sourceMappingURL=tileset-traversal.js.map
@@ -1,15 +1,15 @@
1
- import { AttributeMetadataInfo } from './helpers/attribute-metadata-info';
1
+ import { AttributeMetadataInfo } from "./helpers/attribute-metadata-info.js";
2
2
  import type { Tiles3DLoaderOptions, Tiles3DTilesetJSONPostprocessed } from '@loaders.gl/3d-tiles';
3
- import type { WriteQueueItem } from '../lib/utils/write-queue';
3
+ import type { WriteQueueItem } from "../lib/utils/write-queue.js";
4
4
  import type { SceneLayer3D } from '@loaders.gl/i3s';
5
5
  import { Geoid } from '@math.gl/geoid';
6
- import NodePages from './helpers/node-pages';
6
+ import NodePages from "./helpers/node-pages.js";
7
7
  import { LoaderWithParser } from '@loaders.gl/loader-utils';
8
8
  import { I3SMaterialDefinition } from '@loaders.gl/i3s';
9
- import { PreprocessData } from './types';
10
- import WriteQueue from '../lib/utils/write-queue';
11
- import { Progress } from './helpers/progress';
12
- import { ConversionDump } from '../lib/utils/conversion-dump';
9
+ import { PreprocessData } from "./types.js";
10
+ import WriteQueue from "../lib/utils/write-queue.js";
11
+ import { Progress } from "./helpers/progress.js";
12
+ import { ConversionDump } from "../lib/utils/conversion-dump.js";
13
13
  /**
14
14
  * Converter from 3d-tiles tileset to i3s layer
15
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i3s-converter.d.ts","sourceRoot":"","sources":["../../src/i3s-converter/i3s-converter.ts"],"names":[],"mappings":"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"}