@shapediver/viewer.shared.services 2.12.8 → 3.0.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 (72) hide show
  1. package/dist/converter/Converter.d.ts +5 -2
  2. package/dist/converter/Converter.d.ts.map +1 -1
  3. package/dist/converter/Converter.js +11 -10
  4. package/dist/converter/Converter.js.map +1 -1
  5. package/dist/dom-event-engine/DomEventEngine.d.ts +21 -31
  6. package/dist/dom-event-engine/DomEventEngine.d.ts.map +1 -1
  7. package/dist/dom-event-engine/DomEventEngine.js +101 -172
  8. package/dist/dom-event-engine/DomEventEngine.js.map +1 -1
  9. package/dist/dom-event-engine/IDomEventListener.d.ts +6 -10
  10. package/dist/dom-event-engine/IDomEventListener.d.ts.map +1 -1
  11. package/dist/event-engine/EventTypes.d.ts +199 -2
  12. package/dist/event-engine/EventTypes.d.ts.map +1 -1
  13. package/dist/event-engine/EventTypes.js +201 -10
  14. package/dist/event-engine/EventTypes.js.map +1 -1
  15. package/dist/http-client/HttpClient.d.ts +1 -1
  16. package/dist/http-client/HttpClient.d.ts.map +1 -1
  17. package/dist/http-client/HttpClient.js +7 -4
  18. package/dist/http-client/HttpClient.js.map +1 -1
  19. package/dist/index.d.ts +25 -21
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +54 -46
  22. package/dist/index.js.map +1 -1
  23. package/dist/logger/ErrorTypeGuards.d.ts +3 -1
  24. package/dist/logger/ErrorTypeGuards.d.ts.map +1 -1
  25. package/dist/logger/ErrorTypeGuards.js +8 -1
  26. package/dist/logger/ErrorTypeGuards.js.map +1 -1
  27. package/dist/logger/ShapeDiverError.d.ts +1 -0
  28. package/dist/logger/ShapeDiverError.d.ts.map +1 -1
  29. package/dist/logger/ShapeDiverError.js +1 -0
  30. package/dist/logger/ShapeDiverError.js.map +1 -1
  31. package/dist/logger/ShapeDiverViewerErrors.d.ts +4 -0
  32. package/dist/logger/ShapeDiverViewerErrors.d.ts.map +1 -1
  33. package/dist/logger/ShapeDiverViewerErrors.js +8 -1
  34. package/dist/logger/ShapeDiverViewerErrors.js.map +1 -1
  35. package/dist/settings-engine/SettingsEngine.d.ts +36 -16
  36. package/dist/settings-engine/SettingsEngine.d.ts.map +1 -1
  37. package/dist/settings-engine/SettingsEngine.js +45 -38
  38. package/dist/settings-engine/SettingsEngine.js.map +1 -1
  39. package/dist/state-engine/ISessionGlobalAccessObjectDefinition.d.ts +20 -0
  40. package/dist/state-engine/ISessionGlobalAccessObjectDefinition.d.ts.map +1 -0
  41. package/dist/state-engine/ISessionGlobalAccessObjectDefinition.js +3 -0
  42. package/dist/state-engine/ISessionGlobalAccessObjectDefinition.js.map +1 -0
  43. package/dist/state-engine/IViewportGlobalAccessObjectDefinition.d.ts +32 -0
  44. package/dist/state-engine/IViewportGlobalAccessObjectDefinition.d.ts.map +1 -0
  45. package/dist/state-engine/IViewportGlobalAccessObjectDefinition.js +3 -0
  46. package/dist/state-engine/IViewportGlobalAccessObjectDefinition.js.map +1 -0
  47. package/dist/state-engine/StateEngine.d.ts +7 -18
  48. package/dist/state-engine/StateEngine.d.ts.map +1 -1
  49. package/dist/state-engine/StateEngine.js +9 -9
  50. package/dist/state-engine/StateEngine.js.map +1 -1
  51. package/dist/system-info/SystemInfo.js +1 -1
  52. package/dist/system-info/SystemInfo.js.map +1 -1
  53. package/dist/utilities/base64.d.ts +3 -0
  54. package/dist/utilities/base64.d.ts.map +1 -0
  55. package/dist/utilities/base64.js +22 -0
  56. package/dist/utilities/base64.js.map +1 -0
  57. package/package.json +4 -4
  58. package/src/converter/Converter.ts +18 -17
  59. package/src/dom-event-engine/DomEventEngine.ts +118 -194
  60. package/src/dom-event-engine/IDomEventListener.ts +10 -10
  61. package/src/event-engine/EventTypes.ts +231 -41
  62. package/src/http-client/HttpClient.ts +7 -4
  63. package/src/index.ts +99 -43
  64. package/src/logger/ErrorTypeGuards.ts +8 -1
  65. package/src/logger/ShapeDiverError.ts +1 -0
  66. package/src/logger/ShapeDiverViewerErrors.ts +8 -0
  67. package/src/settings-engine/SettingsEngine.ts +101 -80
  68. package/src/state-engine/ISessionGlobalAccessObjectDefinition.ts +25 -0
  69. package/src/state-engine/IViewportGlobalAccessObjectDefinition.ts +29 -0
  70. package/src/state-engine/StateEngine.ts +16 -48
  71. package/src/system-info/SystemInfo.ts +1 -1
  72. package/src/utilities/base64.ts +15 -0
@@ -1,20 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SettingsEngine = void 0;
3
+ exports.SESSION_SETTINGS_MODE = exports.SettingsEngine = void 0;
4
4
  const viewer_settings_1 = require("@shapediver/viewer.settings");
5
- const EventEngine_1 = require("../event-engine/EventEngine");
6
- const Logger_1 = require("../logger/Logger");
7
5
  const ShapeDiverViewerErrors_1 = require("../logger/ShapeDiverViewerErrors");
6
+ // #endregion Type aliases (8)
7
+ // #region Classes (1)
8
8
  class SettingsEngine {
9
9
  constructor() {
10
- // #region Properties (8)
11
- this._eventEngine = EventEngine_1.EventEngine.instance;
12
- this._logger = Logger_1.Logger.instance;
10
+ // #region Properties (4)
13
11
  this._settings = (0, viewer_settings_1.Defaults)();
14
12
  // #endregion Private Methods (1)
15
13
  }
16
- // #endregion Properties (8)
17
- // #region Public Accessors (10)
14
+ // #endregion Properties (4)
15
+ // #region Public Getters And Setters (11)
18
16
  get ar() {
19
17
  return this._settings.ar;
20
18
  }
@@ -48,43 +46,23 @@ class SettingsEngine {
48
46
  get settingsJson() {
49
47
  return this._settingsJson;
50
48
  }
51
- // #endregion Public Accessors (10)
52
- // #region Public Methods (4)
53
- flatten() {
54
- const flattenObject = (ob) => {
55
- const toReturn = {};
56
- for (let i in ob) {
57
- if (!ob.hasOwnProperty(i))
58
- continue;
59
- if ((typeof ob[i]) == 'object') {
60
- const flatObject = flattenObject(ob[i]);
61
- for (var x in flatObject) {
62
- if (!flatObject.hasOwnProperty(x))
63
- continue;
64
- toReturn[i + '.' + x] = flatObject[x];
65
- }
66
- }
67
- else {
68
- toReturn[i] = ob[i];
69
- }
70
- }
71
- return toReturn;
72
- };
73
- return flattenObject(this.settings);
74
- }
49
+ // #endregion Public Getters And Setters (11)
50
+ // #region Public Methods (2)
75
51
  loadSettings(json) {
76
52
  this._settingsJson = json;
77
53
  if (JSON.stringify(json) !== JSON.stringify({})) {
78
- const prevVersions = ['1.0', '2.0', '3.0', '3.1', '3.2', '3.3', '3.4', '4.0'];
79
- for (let i = 0; i < prevVersions.length; i++) {
80
- const v = prevVersions[i];
54
+ for (let i = 0; i < viewer_settings_1.previousVersion.length; i++) {
55
+ const v = viewer_settings_1.previousVersion[i];
81
56
  try {
82
57
  (0, viewer_settings_1.validate)(json, v);
83
58
  this._settings = (0, viewer_settings_1.convert)(json, viewer_settings_1.latestVersion);
84
59
  this.cleanSettings(this._settings);
85
60
  return;
86
61
  }
87
- catch (e) { }
62
+ catch (e) {
63
+ // it's ok, we just try the next version
64
+ // only the latest version is expected to be valid
65
+ }
88
66
  }
89
67
  try {
90
68
  (0, viewer_settings_1.validate)(json, viewer_settings_1.latestVersion);
@@ -104,10 +82,10 @@ class SettingsEngine {
104
82
  reset() {
105
83
  this._settings = (0, viewer_settings_1.Defaults)();
106
84
  }
107
- // #endregion Public Methods (4)
85
+ // #endregion Public Methods (2)
108
86
  // #region Private Methods (1)
109
87
  cleanSettings(json) {
110
- for (let c in json.camera.cameras) {
88
+ for (const c in json.camera.cameras) {
111
89
  const camera = json.camera.cameras[c];
112
90
  if (camera.type === 'perspective') {
113
91
  const restrictions = camera.controls.restrictions;
@@ -150,4 +128,33 @@ class SettingsEngine {
150
128
  }
151
129
  }
152
130
  exports.SettingsEngine = SettingsEngine;
131
+ // #endregion Classes (1)
132
+ // #region Enums (1)
133
+ /**
134
+ * Session settings to be used by a viewport.
135
+ *
136
+ * The {@link https://help.shapediver.com/doc/Geometry-Backend.1863942173.html|ShapeDiver Geometry Backend}
137
+ * allows to persist settings of the viewer, individually for each model that it hosts. Persisting the settings
138
+ * of the viewer requires permissions which are typically only granted to the owner of the model. Editing
139
+ * of the settings typically happens on the model edit page of the ShapeDiver Platform.
140
+ *
141
+ * Whenever an instance of the viewer creates a session with a model, the settings are made available to the viewer.
142
+ * It is possible to use multiple sessions with different models from a single instance of the viewer.
143
+ * Therefore the viewer offers a choice on which settings to use.
144
+ */
145
+ var SESSION_SETTINGS_MODE;
146
+ (function (SESSION_SETTINGS_MODE) {
147
+ /** No settings of a session will be used for the viewport. */
148
+ SESSION_SETTINGS_MODE["NONE"] = "none";
149
+ /**
150
+ * The settings of the very first session created will be used for the viewport.
151
+ */
152
+ SESSION_SETTINGS_MODE["FIRST"] = "first";
153
+ /**
154
+ * Use this mode in case you want to assign a specific session identifier
155
+ * to the viewport, whose settings will be used.
156
+ */
157
+ SESSION_SETTINGS_MODE["MANUAL"] = "manual";
158
+ })(SESSION_SETTINGS_MODE = exports.SESSION_SETTINGS_MODE || (exports.SESSION_SETTINGS_MODE = {}));
159
+ // #endregion Enums (1)
153
160
  //# sourceMappingURL=SettingsEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsEngine.js","sourceRoot":"","sources":["../../src/settings-engine/SettingsEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsEngine.js","sourceRoot":"","sources":["../../src/settings-engine/SettingsEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { SettingsEngine } from '../settings-engine/SettingsEngine';
2
+ import { ShapeDiverRequestGltfUploadQueryConversion, ShapeDiverResponseDto } from '@shapediver/sdk.geometry-api-sdk-v2';
3
+ import { StatePromise } from './StatePromise';
4
+ /**
5
+ * Interface for the global access definition of a session.
6
+ * This interface is used to define the properties and methods that are available via the state engine for a session.
7
+ * This means that they can be called without having a direct reference to the session engine.
8
+ */
9
+ export interface ISessionGlobalAccessObjectDefinition {
10
+ readonly canUploadGLTF: boolean;
11
+ readonly id: string;
12
+ readonly initialOutputsLoaded: StatePromise<boolean>;
13
+ readonly initialized: StatePromise<boolean>;
14
+ readonly modelViewUrl: string;
15
+ readonly settingsEngine: SettingsEngine;
16
+ readonly settingsRegistered: StatePromise<boolean>;
17
+ isFirstSession: boolean;
18
+ uploadGLTF: (gltf: Blob, name: ShapeDiverRequestGltfUploadQueryConversion | undefined) => Promise<ShapeDiverResponseDto>;
19
+ }
20
+ //# sourceMappingURL=ISessionGlobalAccessObjectDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISessionGlobalAccessObjectDefinition.d.ts","sourceRoot":"","sources":["../../src/state-engine/ISessionGlobalAccessObjectDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,0CAA0C,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACxH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,oCAAoC;IAGjD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,oBAAoB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAEnD,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,0CAA0C,GAAG,SAAS,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAG5H"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISessionGlobalAccessObjectDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISessionGlobalAccessObjectDefinition.js","sourceRoot":"","sources":["../../src/state-engine/ISessionGlobalAccessObjectDefinition.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { SESSION_SETTINGS_MODE, SettingsEngine } from '../settings-engine/SettingsEngine';
2
+ import { StatePromise } from './StatePromise';
3
+ /**
4
+ * Interface for the global access definition of a viewport.
5
+ * This interface is used to define the properties and methods that are available via the state engine for a viewport.
6
+ * This means that they can be called without having a direct reference to the viewport engine.
7
+ */
8
+ export interface IViewportGlobalAccessObjectDefinition {
9
+ readonly boundingBoxCreated: StatePromise<boolean>;
10
+ readonly busy: string[];
11
+ readonly id: string;
12
+ readonly initialized: StatePromise<boolean>;
13
+ readonly sessionSettingsId?: string;
14
+ readonly sessionSettingsMode: SESSION_SETTINGS_MODE;
15
+ readonly settingsAssigned: StatePromise<boolean>;
16
+ applySettings: (sections?: {
17
+ ar?: boolean;
18
+ scene?: boolean;
19
+ camera?: boolean;
20
+ light?: boolean;
21
+ environment?: boolean;
22
+ general?: boolean;
23
+ postprocessing?: boolean;
24
+ }, settingsEngine?: SettingsEngine, updateViewport?: boolean) => Promise<void>;
25
+ assignSettingsEngine: (settingsEngine: SettingsEngine) => void;
26
+ displayErrorMessage: (message: string) => void;
27
+ environmentMapLoaded: StatePromise<boolean>;
28
+ reset: () => void;
29
+ saveSettings: (settingsEngine?: SettingsEngine) => void;
30
+ update: (id: string) => void;
31
+ }
32
+ //# sourceMappingURL=IViewportGlobalAccessObjectDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IViewportGlobalAccessObjectDefinition.d.ts","sourceRoot":"","sources":["../../src/state-engine/IViewportGlobalAccessObjectDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,qCAAqC;IAGlD,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;IACpD,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAEjD,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjP,oBAAoB,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,IAAI,CAAC;IAC/D,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,oBAAoB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,YAAY,EAAE,CAAC,cAAc,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACxD,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAGhC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IViewportGlobalAccessObjectDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IViewportGlobalAccessObjectDefinition.js","sourceRoot":"","sources":["../../src/state-engine/IViewportGlobalAccessObjectDefinition.ts"],"names":[],"mappings":""}
@@ -1,30 +1,19 @@
1
+ import { ISessionGlobalAccessObjectDefinition } from './ISessionGlobalAccessObjectDefinition';
2
+ import { IViewportGlobalAccessObjectDefinition } from './IViewportGlobalAccessObjectDefinition';
1
3
  import { StatePromise } from './StatePromise';
2
4
  export declare class StateEngine {
3
5
  private readonly _fontLoaded;
4
- private readonly _renderingEngines;
5
6
  private readonly _sessionEngines;
7
+ private readonly _viewportEngines;
6
8
  private static _instance;
7
9
  private constructor();
8
10
  static get instance(): StateEngine;
9
11
  get fontLoaded(): StatePromise<boolean>;
10
- get renderingEngines(): {
11
- [key: string]: {
12
- id: string;
13
- initialized: StatePromise<boolean>;
14
- settingsAssigned: StatePromise<boolean>;
15
- environmentMapLoaded: StatePromise<boolean>;
16
- boundingBoxCreated: StatePromise<boolean>;
17
- busy: string[];
18
- update: (id: string) => void;
19
- };
20
- };
21
12
  get sessionEngines(): {
22
- [key: string]: {
23
- id: string;
24
- initialized: StatePromise<boolean>;
25
- initialOutputsLoaded: StatePromise<boolean>;
26
- settingsRegistered: StatePromise<boolean>;
27
- };
13
+ [key: string]: ISessionGlobalAccessObjectDefinition;
14
+ };
15
+ get viewportEngines(): {
16
+ [key: string]: IViewportGlobalAccessObjectDefinition;
28
17
  };
29
18
  }
30
19
  //# sourceMappingURL=StateEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateEngine.d.ts","sourceRoot":"","sources":["../../src/state-engine/StateEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,qBAAa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6C;IACzE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAU3B;IACP,OAAO,CAAC,QAAQ,CAAC,eAAe,CAOzB;IAEP,OAAO,CAAC,MAAM,CAAC,SAAS,CAAc;IAMtC,OAAO;IAQP,WAAkB,QAAQ,gBAEzB;IAMD,IAAW,UAAU,IAAI,YAAY,CAAC,OAAO,CAAC,CAE7C;IAED,IAAW,gBAAgB,IAAI;QAC3B,CAAC,GAAG,EAAE,MAAM,GAAG;YACX,EAAE,EAAE,MAAM,CAAC;YACX,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACxC,oBAAoB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;SAC/B,CAAA;KACJ,CAEA;IAED,IAAW,cAAc,IAAI;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG;YACX,EAAE,EAAE,MAAM,CAAC;YACX,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,oBAAoB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;SAC7C,CAAA;KACJ,CAEA;CAGJ"}
1
+ {"version":3,"file":"StateEngine.d.ts","sourceRoot":"","sources":["../../src/state-engine/StateEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6C;IACzE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA+D;IAC/F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgE;IAEjG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAc;IAMtC,OAAO;IAQP,WAAkB,QAAQ,gBAEzB;IAMD,IAAW,UAAU,IAAI,YAAY,CAAC,OAAO,CAAC,CAE7C;IAED,IAAW,cAAc,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oCAAoC,CAAA;KAAE,CAEnF;IAED,IAAW,eAAe,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,qCAAqC,CAAA;KAAE,CAErF;CAGJ"}
@@ -3,31 +3,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StateEngine = void 0;
4
4
  const StatePromise_1 = require("./StatePromise");
5
5
  class StateEngine {
6
- // #endregion Properties (6)
6
+ // #endregion Properties (4)
7
7
  // #region Constructors (1)
8
8
  constructor() {
9
- // #region Properties (6)
9
+ // #region Properties (4)
10
10
  this._fontLoaded = new StatePromise_1.StatePromise();
11
- this._renderingEngines = {};
12
11
  this._sessionEngines = {};
12
+ this._viewportEngines = {};
13
13
  this._fontLoaded = new StatePromise_1.StatePromise();
14
14
  }
15
15
  // #endregion Constructors (1)
16
- // #region Public Static Accessors (1)
16
+ // #region Public Static Getters And Setters (1)
17
17
  static get instance() {
18
18
  return this._instance || (this._instance = new this());
19
19
  }
20
- // #endregion Public Static Accessors (1)
21
- // #region Public Accessors (3)
20
+ // #endregion Public Static Getters And Setters (1)
21
+ // #region Public Getters And Setters (3)
22
22
  get fontLoaded() {
23
23
  return this._fontLoaded;
24
24
  }
25
- get renderingEngines() {
26
- return this._renderingEngines;
27
- }
28
25
  get sessionEngines() {
29
26
  return this._sessionEngines;
30
27
  }
28
+ get viewportEngines() {
29
+ return this._viewportEngines;
30
+ }
31
31
  }
32
32
  exports.StateEngine = StateEngine;
33
33
  //# sourceMappingURL=StateEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StateEngine.js","sourceRoot":"","sources":["../../src/state-engine/StateEngine.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C,MAAa,WAAW;IA0BpB,4BAA4B;IAE5B,2BAA2B;IAE3B;QA7BA,yBAAyB;QAER,gBAAW,GAA0B,IAAI,2BAAY,EAAE,CAAC;QACxD,sBAAiB,GAU9B,EAAE,CAAC;QACU,oBAAe,GAO5B,EAAE,CAAC;QASH,IAAI,CAAC,WAAW,GAAG,IAAI,2BAAY,EAAE,CAAC;IAC1C,CAAC;IAED,8BAA8B;IAE9B,sCAAsC;IAE/B,MAAM,KAAK,QAAQ;QACtB,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,yCAAyC;IAEzC,+BAA+B;IAE/B,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,gBAAgB;QAWvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAW,cAAc;QAQrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;CAGJ;AA5ED,kCA4EC"}
1
+ {"version":3,"file":"StateEngine.js","sourceRoot":"","sources":["../../src/state-engine/StateEngine.ts"],"names":[],"mappings":";;;AAEA,iDAA8C;AAE9C,MAAa,WAAW;IASpB,4BAA4B;IAE5B,2BAA2B;IAE3B;QAZA,yBAAyB;QAER,gBAAW,GAA0B,IAAI,2BAAY,EAAE,CAAC;QACxD,oBAAe,GAA4D,EAAE,CAAC;QAC9E,qBAAgB,GAA6D,EAAE,CAAC;QAS7F,IAAI,CAAC,WAAW,GAAG,IAAI,2BAAY,EAAE,CAAC;IAC1C,CAAC;IAED,8BAA8B;IAE9B,gDAAgD;IAEzC,MAAM,KAAK,QAAQ;QACtB,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,mDAAmD;IAEnD,yCAAyC;IAEzC,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CAGJ;AA1CD,kCA0CC"}
@@ -74,7 +74,7 @@ class SystemInfo {
74
74
  get isIOS() {
75
75
  const osName = this._parser.getOS().name;
76
76
  return osName === 'iOS' ||
77
- (window.navigator && window.navigator.maxTouchPoints === 5 && window.navigator.platform === 'MacIntel');
77
+ (typeof window !== undefined && window.navigator && window.navigator.maxTouchPoints === 5 && window.navigator.platform === 'MacIntel');
78
78
  }
79
79
  /**
80
80
  * Check if we are running in an iframe
@@ -1 +1 @@
1
- {"version":3,"file":"SystemInfo.js","sourceRoot":"","sources":["../../src/system-info/SystemInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SystemInfo.js","sourceRoot":"","sources":["../../src/system-info/SystemInfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const atobCustom: (str: string) => string;
2
+ export declare const btoaCustom: (str: string) => string;
3
+ //# sourceMappingURL=base64.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/utilities/base64.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,MAMxC,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,MAMxC,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.btoaCustom = exports.atobCustom = void 0;
4
+ const atobCustom = (str) => {
5
+ if (typeof window !== 'undefined' && window.atob) {
6
+ return window.atob(str);
7
+ }
8
+ else {
9
+ return Buffer.from(str, 'base64').toString();
10
+ }
11
+ };
12
+ exports.atobCustom = atobCustom;
13
+ const btoaCustom = (str) => {
14
+ if (typeof window !== 'undefined' && window.btoa) {
15
+ return window.btoa(str);
16
+ }
17
+ else {
18
+ return Buffer.from(str).toString('base64');
19
+ }
20
+ };
21
+ exports.btoaCustom = btoaCustom;
22
+ //# sourceMappingURL=base64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/utilities/base64.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE;IAC9C,IAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3B;SAAM;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;KAChD;AACL,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB;AAEK,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE;IAC9C,IAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3B;SAAM;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KAC9C;AACL,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.shared.services",
3
- "version": "2.12.8",
3
+ "version": "3.0.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -41,8 +41,8 @@
41
41
  "dependencies": {
42
42
  "@ctrl/tinycolor": "^3.4.0",
43
43
  "@shapediver/sdk.geometry-api-sdk-v2": "1.8.2",
44
- "@shapediver/viewer.settings": "0.5.7",
45
- "@shapediver/viewer.shared.build-data": "2.12.8",
44
+ "@shapediver/viewer.settings": "1.0.2",
45
+ "@shapediver/viewer.shared.build-data": "3.0.1",
46
46
  "@types/dompurify": "^2.3.1",
47
47
  "@types/ua-parser-js": "^0.7.36",
48
48
  "@types/uuid": "^9.0.0",
@@ -52,5 +52,5 @@
52
52
  "ua-parser-js": "^0.7.28",
53
53
  "uuid": "^9.0.0"
54
54
  },
55
- "gitHead": "615c459595cdea9ceeca8a307d469c617ce36684"
55
+ "gitHead": "cae477cab82d2cddddec9cbea6fec7bc2392552b"
56
56
  }
@@ -1,7 +1,8 @@
1
- import { vec3 } from 'gl-matrix';
2
1
  import { ColorInput, TinyColor } from '@ctrl/tinycolor';
3
2
  import { HttpClient } from '../http-client/HttpClient';
4
3
  import { HttpResponse } from '../http-client/HttpResponse';
4
+ import { vec3 } from 'gl-matrix';
5
+ import { atobCustom, btoaCustom } from '../utilities/base64';
5
6
 
6
7
  export class Converter {
7
8
  // #region Properties (2)
@@ -12,13 +13,13 @@ export class Converter {
12
13
 
13
14
  // #endregion Properties (2)
14
15
 
15
- // #region Public Static Accessors (1)
16
+ // #region Public Static Getters And Setters (1)
16
17
 
17
18
  public static get instance() {
18
19
  return this._instance || (this._instance = new this());
19
20
  }
20
21
 
21
- // #endregion Public Static Accessors (1)
22
+ // #endregion Public Static Getters And Setters (1)
22
23
 
23
24
  // #region Public Methods (8)
24
25
 
@@ -30,7 +31,7 @@ export class Converter {
30
31
  reader.readAsDataURL(blob);
31
32
  });
32
33
  data = data.replace('data:image/svg+xml;base64,', '');
33
- data = atob(data);
34
+ data = atobCustom(data);
34
35
 
35
36
  const svgC = document.createElement('DIV');
36
37
  svgC.id = 'svgc';
@@ -81,7 +82,7 @@ export class Converter {
81
82
  while (i--)
82
83
  biStr[i] = String.fromCharCode(uInt8Array[i]);
83
84
 
84
- const base64Data = window.btoa(biStr.join(''));
85
+ const base64Data = btoaCustom(biStr.join(''));
85
86
  const imgDataUrl = 'data:' + response.headers['content-type'] + ';base64,' + base64Data;
86
87
 
87
88
  // replace url in SVG string
@@ -121,7 +122,7 @@ export class Converter {
121
122
  while (i--)
122
123
  biStr[i] = String.fromCharCode(uInt8Array[i]);
123
124
 
124
- const base64Data = window.btoa(biStr.join(''));
125
+ const base64Data = btoaCustom(biStr.join(''));
125
126
  const fontDataUrl = 'data:' + response.headers['content-type'] + ';base64,' + base64Data;
126
127
  if (fUrl.length > 0)
127
128
  cssString = cssString.replace(fUrl, fontDataUrl);
@@ -151,12 +152,12 @@ export class Converter {
151
152
  return img;
152
153
  }
153
154
 
154
- public async responseToImage(response: HttpResponse<ArrayBuffer | HTMLImageElement>, blob: Blob): Promise<HTMLImageElement> {
155
+ public async responseToImage(response: HttpResponse<{ buffer: ArrayBuffer, blob: Blob }>): Promise<HTMLImageElement> {
155
156
  // if we already receive and image, this conversion already happened
156
- if(response.data instanceof HTMLImageElement) return response.data;
157
-
157
+ if (response.data instanceof HTMLImageElement) return response.data;
158
+
158
159
  if (response.headers['content-type'] === 'image/svg+xml') {
159
- const img = await this.processSVG(blob);
160
+ const img = await this.processSVG(response.data.blob);
160
161
  return img;
161
162
  } else {
162
163
  const img = new Image();
@@ -165,7 +166,7 @@ export class Converter {
165
166
  img.onerror = reject;
166
167
  });
167
168
  img.crossOrigin = 'anonymous';
168
- img.src = URL.createObjectURL(blob);
169
+ img.src = URL.createObjectURL(response.data.blob);
169
170
  await promise;
170
171
  URL.revokeObjectURL(img.src);
171
172
  return img;
@@ -179,7 +180,7 @@ export class Converter {
179
180
  }
180
181
 
181
182
  public toColorArray(color: unknown): number[] {
182
- if(typeof color !== 'string' || !color.startsWith('#'))
183
+ if (typeof color !== 'string' || !color.startsWith('#'))
183
184
  color = this.toHexColor(color);
184
185
  const tColor = new TinyColor(color as ColorInput | undefined);
185
186
  const rgb = tColor.toRgb();
@@ -227,8 +228,8 @@ export class Converter {
227
228
  }
228
229
 
229
230
  // check if the input is a THREE.Color
230
- if ((color as THREE.Color).isColor && typeof (color as THREE.Color).getHexString == 'function') {
231
- const tc = new TinyColor((color as THREE.Color).getHexString());
231
+ if (typeof color === 'object' && 'isColor' in (color as object) && 'getHexString' in (color as object) && typeof (color as { getHexString: unknown }).getHexString === 'function'){
232
+ const tc = new TinyColor((color as { getHexString: () => string }).getHexString());
232
233
  return tc.isValid ? this.tinyColorToString(tc) : defColorString;
233
234
  }
234
235
 
@@ -296,15 +297,15 @@ export class Converter {
296
297
  return c.slice(0, c.length - 2);
297
298
  }
298
299
 
299
- public toVec3(point: vec3 | { x: number, y: number, z: number} | { X: number, Y: number, Z: number}): vec3 {
300
+ public toVec3(point: vec3 | { x: number, y: number, z: number } | { X: number, Y: number, Z: number }): vec3 {
300
301
  if (Array.isArray(point) && point.length >= 3 && typeof point[0] === 'number' && typeof point[1] === 'number' && typeof point[2] === 'number')
301
302
  return vec3.fromValues(point[0], point[1], point[2]);
302
303
 
303
- const pointCast1 = point as { x: number, y: number, z: number};
304
+ const pointCast1 = point as { x: number, y: number, z: number };
304
305
  if (((pointCast1.x || pointCast1.x === 0) && typeof pointCast1.x === 'number') && ((pointCast1.y || pointCast1.y === 0) && typeof pointCast1.y === 'number') && ((pointCast1.z || pointCast1.z === 0) && typeof pointCast1.z === 'number'))
305
306
  return vec3.fromValues(pointCast1.x, pointCast1.y, pointCast1.z);
306
307
 
307
- const pointCast2 = point as { X: number, Y: number, Z: number};
308
+ const pointCast2 = point as { X: number, Y: number, Z: number };
308
309
  if (((pointCast2.X || pointCast2.X === 0) && typeof pointCast2.X === 'number') && ((pointCast2.Y || pointCast2.Y === 0) && typeof pointCast2.Y === 'number') && ((pointCast2.Z || pointCast2.Z === 0) && typeof pointCast2.Z === 'number'))
309
310
  return vec3.fromValues(pointCast2.X, pointCast2.Y, pointCast2.Z);
310
311