@shapediver/viewer.shared.services 2.10.1-rc.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/converter/Converter.d.ts +15 -7
  2. package/dist/converter/Converter.d.ts.map +1 -1
  3. package/dist/converter/Converter.js +64 -55
  4. package/dist/converter/Converter.js.map +1 -1
  5. package/dist/dom-event-engine/DomEventEngine.js +9 -5
  6. package/dist/dom-event-engine/DomEventEngine.js.map +1 -1
  7. package/dist/dom-event-engine/IDomEventListener.js +2 -1
  8. package/dist/event-engine/EventEngine.js +16 -12
  9. package/dist/event-engine/EventEngine.js.map +1 -1
  10. package/dist/event-engine/EventTypes.d.ts +7 -2
  11. package/dist/event-engine/EventTypes.d.ts.map +1 -1
  12. package/dist/event-engine/EventTypes.js +24 -15
  13. package/dist/event-engine/EventTypes.js.map +1 -1
  14. package/dist/event-engine/interfaces/ICallback.js +2 -1
  15. package/dist/event-engine/interfaces/IEvent.js +2 -1
  16. package/dist/event-engine/interfaces/IEvent.js.map +1 -1
  17. package/dist/event-engine/interfaces/IListener.js +2 -1
  18. package/dist/http-client/HttpClient.d.ts +78 -2
  19. package/dist/http-client/HttpClient.d.ts.map +1 -1
  20. package/dist/http-client/HttpClient.js +177 -20
  21. package/dist/http-client/HttpClient.js.map +1 -1
  22. package/dist/http-client/HttpResponse.d.ts +1 -0
  23. package/dist/http-client/HttpResponse.d.ts.map +1 -1
  24. package/dist/http-client/HttpResponse.js +2 -1
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +81 -32
  28. package/dist/index.js.map +1 -1
  29. package/dist/input-validator/InputValidator.js +16 -9
  30. package/dist/input-validator/InputValidator.js.map +1 -1
  31. package/dist/logger/ErrorTypeGuards.js +55 -35
  32. package/dist/logger/ErrorTypeGuards.js.map +1 -1
  33. package/dist/logger/Logger.js +7 -3
  34. package/dist/logger/Logger.js.map +1 -1
  35. package/dist/logger/ShapeDiverBackendErrors.js +13 -7
  36. package/dist/logger/ShapeDiverBackendErrors.js.map +1 -1
  37. package/dist/logger/ShapeDiverError.js +9 -4
  38. package/dist/logger/ShapeDiverError.js.map +1 -1
  39. package/dist/logger/ShapeDiverViewerErrors.js +40 -25
  40. package/dist/logger/ShapeDiverViewerErrors.js.map +1 -1
  41. package/dist/performance-evaluator/PerformanceEvaluator.d.ts +13 -0
  42. package/dist/performance-evaluator/PerformanceEvaluator.d.ts.map +1 -1
  43. package/dist/performance-evaluator/PerformanceEvaluator.js +39 -3
  44. package/dist/performance-evaluator/PerformanceEvaluator.js.map +1 -1
  45. package/dist/settings-engine/SettingsEngine.js +20 -16
  46. package/dist/settings-engine/SettingsEngine.js.map +1 -1
  47. package/dist/state-engine/StateEngine.d.ts +1 -0
  48. package/dist/state-engine/StateEngine.d.ts.map +1 -1
  49. package/dist/state-engine/StateEngine.js +8 -4
  50. package/dist/state-engine/StateEngine.js.map +1 -1
  51. package/dist/state-engine/StatePromise.js +5 -1
  52. package/dist/state-engine/StatePromise.js.map +1 -1
  53. package/dist/system-info/SystemInfo.js +10 -3
  54. package/dist/system-info/SystemInfo.js.map +1 -1
  55. package/dist/type-check/TypeChecker.js +5 -1
  56. package/dist/type-check/TypeChecker.js.map +1 -1
  57. package/dist/uuid-generator/UuidGenerator.js +10 -6
  58. package/dist/uuid-generator/UuidGenerator.js.map +1 -1
  59. package/package.json +4 -4
  60. package/src/converter/Converter.ts +69 -64
  61. package/src/event-engine/EventTypes.ts +8 -2
  62. package/src/http-client/HttpClient.ts +204 -26
  63. package/src/http-client/HttpResponse.ts +3 -1
  64. package/src/index.ts +2 -2
  65. package/src/performance-evaluator/PerformanceEvaluator.ts +33 -3
  66. package/src/settings-engine/SettingsEngine.ts +1 -1
  67. package/src/state-engine/StateEngine.ts +2 -0
@@ -1,4 +1,6 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1
2
  export interface HttpResponse<T = any> {
2
3
  data: T;
3
- headers: any
4
+ headers: any,
5
+ size?: number
4
6
  }
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EventEngine } from './event-engine/EventEngine'
2
- import { EVENTTYPE, EVENTTYPE_CAMERA, EVENTTYPE_INTERACTION, EVENTTYPE_RENDERING, EVENTTYPE_SCENE, EVENTTYPE_SESSION, EVENTTYPE_TASK, EVENTTYPE_VIEWPORT, MainEventTypes } from './event-engine/EventTypes'
2
+ import { EVENTTYPE, EVENTTYPE_CAMERA, EVENTTYPE_INTERACTION, EVENTTYPE_OUTPUT, EVENTTYPE_RENDERING, EVENTTYPE_SCENE, EVENTTYPE_SESSION, EVENTTYPE_TASK, EVENTTYPE_VIEWPORT, MainEventTypes } from './event-engine/EventTypes'
3
3
  import { SettingsEngine } from './settings-engine/SettingsEngine'
4
4
  import { StateEngine } from './state-engine/StateEngine'
5
5
  import { SystemInfo } from './system-info/SystemInfo'
@@ -23,7 +23,7 @@ import { isViewerError, isViewerUnknownError, isViewerDataProcessingError, isVie
23
23
 
24
24
  export {
25
25
  EventEngine, EVENTTYPE, MainEventTypes, IEvent,
26
- EVENTTYPE_CAMERA, EVENTTYPE_RENDERING, EVENTTYPE_SCENE, EVENTTYPE_SESSION, EVENTTYPE_VIEWPORT, EVENTTYPE_INTERACTION, EVENTTYPE_TASK
26
+ EVENTTYPE_CAMERA, EVENTTYPE_OUTPUT, EVENTTYPE_RENDERING, EVENTTYPE_SCENE, EVENTTYPE_SESSION, EVENTTYPE_VIEWPORT, EVENTTYPE_INTERACTION, EVENTTYPE_TASK
27
27
  }
28
28
 
29
29
  export {
@@ -8,6 +8,7 @@ export class PerformanceEvaluator {
8
8
  section: {
9
9
  [key: string]: {
10
10
  start: number;
11
+ continued?: number;
11
12
  end?: number;
12
13
  duration?: number;
13
14
  };
@@ -26,7 +27,21 @@ export class PerformanceEvaluator {
26
27
 
27
28
  // #endregion Public Static Accessors (1)
28
29
 
29
- // #region Public Methods (6)
30
+ // #region Public Methods (8)
31
+
32
+ /**
33
+ * Continue the performance evaluation.
34
+ *
35
+ * @param id
36
+ */
37
+ public continueSection(sectionId: string): void {
38
+ if (!this._eval) return;
39
+ if (this._eval.end) return;
40
+ if (!this._eval.section[sectionId]) return;
41
+ if (this._eval.section[sectionId].end) return;
42
+
43
+ this._eval.section[sectionId].continued = performance.now();
44
+ }
30
45
 
31
46
  /**
32
47
  * End the performance evaluation and calculate the duration.
@@ -54,7 +69,7 @@ export class PerformanceEvaluator {
54
69
 
55
70
  this._eval.section[sectionId].end = performance.now();
56
71
 
57
- this._eval.section[sectionId].duration = this._eval.section[sectionId].end! - this._eval.section[sectionId].start;
72
+ this._eval.section[sectionId].duration = (this._eval.section[sectionId].duration || 0) + (this._eval.section[sectionId].end! - (this._eval.section[sectionId].continued || this._eval.section[sectionId].start));
58
73
  }
59
74
 
60
75
  /**
@@ -67,6 +82,7 @@ export class PerformanceEvaluator {
67
82
  section: {
68
83
  [key: string]: {
69
84
  start: number,
85
+ continued?: number,
70
86
  end?: number,
71
87
  duration?: number
72
88
  }
@@ -87,6 +103,20 @@ export class PerformanceEvaluator {
87
103
  return `Performance Evaluation: ${e!.duration}ms\n`;
88
104
  }
89
105
 
106
+ /**
107
+ * Pause the performance evaluation.
108
+ *
109
+ * @param id
110
+ */
111
+ public pauseSection(sectionId: string): void {
112
+ if (!this._eval) return;
113
+ if (this._eval.end) return;
114
+ if (!this._eval.section[sectionId]) return;
115
+ if (this._eval.section[sectionId].end) return;
116
+
117
+ this._eval.section[sectionId].duration = (this._eval.section[sectionId].duration || 0) + performance.now() - (this._eval.section[sectionId].continued || this._eval.section[sectionId].start);
118
+ }
119
+
90
120
  /**
91
121
  * Start the evaluation with a specific id.
92
122
  *
@@ -112,5 +142,5 @@ export class PerformanceEvaluator {
112
142
  }
113
143
  }
114
144
 
115
- // #endregion Public Methods (6)
145
+ // #endregion Public Methods (8)
116
146
  }
@@ -97,7 +97,7 @@ export class SettingsEngine {
97
97
  this._settingsJson = json;
98
98
  if (JSON.stringify(json) !== JSON.stringify({})) {
99
99
 
100
- const prevVersions = ['1.0', '2.0', '3.0', '3.1', '3.2', '3.3', '3.4'];
100
+ const prevVersions = ['1.0', '2.0', '3.0', '3.1', '3.2', '3.3', '3.4', '4.0'];
101
101
  for(let i = 0; i < prevVersions.length; i++) {
102
102
  const v = prevVersions[i];
103
103
 
@@ -19,6 +19,7 @@ export class StateEngine {
19
19
  [key: string]: {
20
20
  id: string,
21
21
  initialized: StatePromise<boolean>,
22
+ initialOutputsLoaded: StatePromise<boolean>,
22
23
  settingsRegistered: StatePromise<boolean>,
23
24
  }
24
25
  } = {};
@@ -67,6 +68,7 @@ export class StateEngine {
67
68
  [key: string]: {
68
69
  id: string,
69
70
  initialized: StatePromise<boolean>,
71
+ initialOutputsLoaded: StatePromise<boolean>,
70
72
  settingsRegistered: StatePromise<boolean>,
71
73
  }
72
74
  } {