@shapediver/viewer.session-engine.session-engine 3.2.8 → 3.3.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.
@@ -1,5 +1,5 @@
1
- import { ShapeDiverRequestExport, ShapeDiverRequestGltfUploadQueryConversion, ShapeDiverResponseDto, ShapeDiverResponseExport, ShapeDiverResponseFileInfo } from '@shapediver/sdk.geometry-api-sdk-v2';
2
1
  import { SettingsEngine } from '@shapediver/viewer.shared.services';
2
+ import { ShapeDiverRequestExport, ShapeDiverRequestGltfUploadQueryConversion, ShapeDiverResponseDto, ShapeDiverResponseExport, ShapeDiverResponseFileInfo, ShapeDiverResponseModelState } from '@shapediver/sdk.geometry-api-sdk-v2';
3
3
  import { IExport } from '../interfaces/dto/IExport';
4
4
  import { ISettingsSections } from '@shapediver/viewer.shared.types';
5
5
  import { IOutput } from '../interfaces/dto/IOutput';
@@ -10,6 +10,7 @@ import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
10
10
  import { OutputLoaderTaskEventInfo } from './OutputLoader';
11
11
  export declare class SessionEngine implements ISessionEngine {
12
12
  #private;
13
+ private readonly _converter;
13
14
  private readonly _eventEngine;
14
15
  private readonly _exports;
15
16
  private readonly _guid?;
@@ -41,6 +42,9 @@ export declare class SessionEngine implements ISessionEngine {
41
42
  private _jwtToken?;
42
43
  private _loadSdtf;
43
44
  private _modelId?;
45
+ private _modelState?;
46
+ private _modelStateId?;
47
+ private _modelStateValidationMode?;
44
48
  private _node;
45
49
  private _refreshJwtToken?;
46
50
  private _responseDto?;
@@ -66,6 +70,8 @@ export declare class SessionEngine implements ISessionEngine {
66
70
  excludeViewports?: string[];
67
71
  allowOutputLoading: boolean;
68
72
  loadSdtf: boolean;
73
+ modelStateId?: string;
74
+ modelStateValidationMode?: boolean;
69
75
  });
70
76
  get automaticSceneUpdate(): boolean;
71
77
  set automaticSceneUpdate(value: boolean);
@@ -83,6 +89,7 @@ export declare class SessionEngine implements ISessionEngine {
83
89
  get jwtToken(): string | undefined;
84
90
  get loadSdtf(): boolean;
85
91
  set loadSdtf(value: boolean);
92
+ get modelState(): ShapeDiverResponseModelState | undefined;
86
93
  get modelViewUrl(): string;
87
94
  get node(): ITreeNode;
88
95
  get outputs(): {
@@ -109,6 +116,9 @@ export declare class SessionEngine implements ISessionEngine {
109
116
  canGoForward(): boolean;
110
117
  cancelCustomization(): void;
111
118
  close(retry?: boolean): Promise<void>;
119
+ createModelState(parameterValues?: {
120
+ [key: string]: unknown;
121
+ }, omitSessionParameterValues?: boolean, image?: (() => string) | string | Blob | File, data?: Record<string, any>, arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File): Promise<string>;
112
122
  /**
113
123
  * Customizes the session with updated parameters to get the updated scene graph node.
114
124
  *
@@ -245,6 +255,18 @@ export declare class SessionEngine implements ISessionEngine {
245
255
  */
246
256
  private getFileParameterSet;
247
257
  private handleError;
258
+ /**
259
+ * Process the image input and return the image data and array buffer.
260
+ *
261
+ * In the case of the image being a Blob or File, the image data is constructed from the Blob or File.
262
+ * In the case of the image being a string, we check if it is a data URL or a URL.
263
+ * If it is a data URL, we convert it to a Blob and construct the image data from the Blob.
264
+ * If it is a URL, we download the image and return the image data and array buffer.
265
+ *
266
+ * @param image
267
+ * @returns
268
+ */
269
+ private processImageInput;
248
270
  private removeBusyMode;
249
271
  private removeFromSceneTree;
250
272
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SessionEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":"AAOA,OAAO,EAQH,cAAc,EAOjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAMH,uBAAuB,EAEvB,0CAA0C,EAE1C,qBAAqB,EAErB,wBAAwB,EAExB,0BAA0B,EAE1B,4BAA4B,EAK/B,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAGH,iBAAiB,EAKpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAEH,SAAS,EAGZ,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAgB,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAQzE,qBAAa,aAAc,YAAW,cAAc;;IAGhD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmC;IAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+C;IAC3E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiC;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwC;IACxE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IAiBzD,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,qBAAqB,CAAiB;IAC9C,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,2BAA2B,CAAkB;IACrD,OAAO,CAAC,UAAU,CAEX;IACP,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAKd;IACF,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAC,CAA+B;IACnD,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,yBAAyB,CAAC,CAAU;IAC5C,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IACjD,OAAO,CAAC,YAAY,CAAC,CAAwB;IAC7C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAmE;IAC1F,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,6BAA6B,CAAyB;IAM9D;;;OAGG;gBACS,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;KAAE;IA8BhS,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAED,IAAW,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAG7C;IAED,IAAW,aAAa,IAAI,OAAO,CAOlC;IAED,IAAW,0BAA0B,IAAI,OAAO,CAE/C;IAED,IAAW,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAEnD;IAED,IAAW,gBAAgB,IAAI,MAAM,EAAE,CAEtC;IAED,IAAW,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAG1C;IAED,IAAW,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAE,CAEhD;IAED,IAAW,IAAI,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAUjC;IAED,IAAW,UAAU,IAAI,4BAA4B,GAAG,SAAS,CAEhE;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,IAAI,IAAI,SAAS,CAE3B;IAED,IAAW,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAE,CAEhD;IAED,IAAW,aAAa,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAE,CAEtD;IAED,IAAW,eAAe,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAEvD;IAED,IAAW,UAAU,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;KAAE,CAE/D;IAED,IAAW,eAAe,IAAI,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAEhE;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,EAEpE;IAED,IAAW,cAAc,IAAI,cAAc,CAE1C;IAED,IAAW,MAAM,IAAI,MAAM,GAAG,SAAS,CAEtC;IAED,IAAW,cAAc,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,CAErF;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,EAEzF;IAED,IAAW,cAAc,IAAI,MAAM,GAAG,SAAS,CAE9C;IAMM,aAAa,CAAC,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAkI3E,SAAS,IAAI,OAAO;IAMpB,YAAY,IAAI,OAAO;IAIvB,mBAAmB;IAeb,KAAK,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAenC,gBAAgB,CACzB,eAAe,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAO,EACjD,0BAA0B,GAAE,OAAe,EAC3C,KAAK,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,EAC7C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAC3F,OAAO,CAAG,MAAM,CAAE;IAmErB;;;;;OAKG;IACU,SAAS,CAAC,KAAK,GAAE,OAAe,EAAE,qBAAqB,GAAE,OAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAoL7F,iBAAiB,CAAC,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,WAAW,UAAO,GAAG,OAAO,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;IAmCrI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IASrF,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;IAuB5B,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAoB5C;;;;OAIG;IACU,IAAI,CAAC,eAAe,CAAC,EAAE;QAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACzB,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDnB,yBAAyB,CAAC,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,aAAa,CAAC,EAAE,yBAAyB,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC;IAyD7L;;;;;;;OAOG;IACU,WAAW,CAAC,aAAa,SAAQ,OAAO,aAAc,EAAE,aAAa,EAAE,yBAAyB,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuCxJ;;;;;;;OAOG;IACU,mBAAmB,CAAC,WAAW,EAAE,qBAAqB,EAAE,aAAa,SAAQ,OAAO,aAAc,EAAE,aAAa,EAAE,yBAAyB,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgDvL,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAc9I,cAAc,CAAC,IAAI,EAAE,uBAAuB,EAAE,WAAW,GAAE,OAAe,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2BtJ,aAAa,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAqB3C,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC;IAW9C,qBAAqB,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAWnE;;;;;OAKG;IACU,oBAAoB,CAAC,OAAO,EAAE;QACvC,CAAC,GAAG,EAAE,MAAM,GAAG;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAA;SAClB,CAAA;KACJ,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAWnC;;;;;OAKG;IACU,oBAAoB,CAAC,OAAO,EAAE;QACvC,CAAC,GAAG,EAAE,MAAM,GAAG;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAA;SAClB,CAAA;KACJ,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAWnC;;;;;OAKG;IACU,uBAAuB,CAAC,UAAU,EAAE;QAC7C,CAAC,GAAG,EAAE,MAAM,GAAG;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAA;SAClB,CAAA;KACJ,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB5D,gBAAgB,CAAC,cAAc,GAAE,OAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAyDlE,WAAW,CAAC,KAAK,EAAE,MAAM;IAazB,aAAa,CAAC,aAAa,CAAC,EAAE,yBAAyB,EAAE,qBAAqB,GAAE,OAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAuHpH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BtG;;;;;;OAMG;IACU,oBAAoB,CAAC,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAuBtG,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,GAAE,0CAA4F,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiB5L,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,qBAAqB;IA6B7B;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;YAepB,iBAAiB;YAIjB,gBAAgB;IA6B9B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;YAUb,WAAW;IAmDzB;;;;;;;;;;OAUG;YACW,iBAAiB;IAqC/B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,mBAAmB;IAK3B;;;;;OAKG;YACW,OAAO;IAIrB,OAAO,CAAC,iBAAiB;YA0JX,sBAAsB;CAoBvC"}
@@ -23,8 +23,8 @@ var _SessionEngine_customizationBusyModes, _SessionEngine_customizationProcess,
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.SessionEngine = void 0;
25
25
  const viewer_settings_1 = require("@shapediver/viewer.settings");
26
- const sdk_geometry_api_sdk_v2_1 = require("@shapediver/sdk.geometry-api-sdk-v2");
27
26
  const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
27
+ const sdk_geometry_api_sdk_v2_1 = require("@shapediver/sdk.geometry-api-sdk-v2");
28
28
  const Export_1 = require("./dto/Export");
29
29
  const FileParameter_1 = require("./dto/FileParameter");
30
30
  const GumballParameter_1 = require("./dto/interaction/GumballParameter");
@@ -39,14 +39,15 @@ const SessionData_1 = require("./SessionData");
39
39
  const SessionTreeNode_1 = require("./SessionTreeNode");
40
40
  /* eslint-disable @typescript-eslint/no-empty-function */
41
41
  class SessionEngine {
42
- // #endregion Properties (46)
42
+ // #endregion Properties (50)
43
43
  // #region Constructors (1)
44
44
  /**
45
45
  * Can be use to initialize a session with the ticket/guid and modelViewUrl and returns a scene graph node with the result.
46
46
  * Can be use to customize the session with updated parameters to get the updated scene graph node.
47
47
  */
48
48
  constructor(properties) {
49
- // #region Properties (46)
49
+ // #region Properties (50)
50
+ this._converter = viewer_shared_services_1.Converter.instance;
50
51
  this._eventEngine = viewer_shared_services_1.EventEngine.instance;
51
52
  this._exports = {};
52
53
  this._httpClient = viewer_shared_services_1.HttpClient.instance;
@@ -94,6 +95,8 @@ class SessionEngine {
94
95
  this._jwtToken = properties.jwtToken;
95
96
  this._allowOutputLoading = properties.allowOutputLoading;
96
97
  this._loadSdtf = properties.loadSdtf;
98
+ this._modelStateId = properties.modelStateId;
99
+ this._modelStateValidationMode = properties.modelStateValidationMode;
97
100
  this._headers['X-ShapeDiver-BuildDate'] = properties.buildDate;
98
101
  this._headers['X-ShapeDiver-BuildVersion'] = properties.buildVersion;
99
102
  this._outputLoader = new OutputLoader_1.OutputLoader(this);
@@ -106,7 +109,7 @@ class SessionEngine {
106
109
  }
107
110
  }
108
111
  // #endregion Constructors (1)
109
- // #region Public Getters And Setters (27)
112
+ // #region Public Getters And Setters (28)
110
113
  get automaticSceneUpdate() {
111
114
  return this._automaticSceneUpdate;
112
115
  }
@@ -165,6 +168,9 @@ class SessionEngine {
165
168
  }))();
166
169
  }
167
170
  }
171
+ get modelState() {
172
+ return this._modelState;
173
+ }
168
174
  get modelViewUrl() {
169
175
  return this._modelViewUrl;
170
176
  }
@@ -204,8 +210,8 @@ class SessionEngine {
204
210
  get viewerSettings() {
205
211
  return this._viewerSettings;
206
212
  }
207
- // #endregion Public Getters And Setters (27)
208
- // #region Public Methods (29)
213
+ // #endregion Public Getters And Setters (28)
214
+ // #region Public Methods (30)
209
215
  applySettings(response, sections) {
210
216
  sections = sections || {};
211
217
  if (sections.session === undefined) {
@@ -366,6 +372,60 @@ class SessionEngine {
366
372
  }
367
373
  });
368
374
  }
375
+ createModelState(parameterValues = {}, omitSessionParameterValues = false, image, data, arScene) {
376
+ return __awaiter(this, void 0, void 0, function* () {
377
+ this.checkAvailability();
378
+ try {
379
+ const promises = [];
380
+ // process the parameters
381
+ const parameterSet = {};
382
+ promises.push(this.uploadFileParameters(parameterValues).then(() => {
383
+ // create a set of the current validated parameter values
384
+ for (const parameterId in this.parameters) {
385
+ // if the parameter has not been set, we do not include it in the parameter set if the omitSessionParameterValues flag is set
386
+ if (!(omitSessionParameterValues === true && parameterValues[parameterId] === undefined)) {
387
+ parameterSet[parameterId] = (' ' + this.parameters[parameterId].stringify(parameterValues[parameterId])).slice(1);
388
+ }
389
+ }
390
+ }));
391
+ // process the image input
392
+ let imageData;
393
+ let imageArrayBuffer;
394
+ if (image) {
395
+ promises.push(this.processImageInput(image)
396
+ .then(result => {
397
+ imageData = result === null || result === void 0 ? void 0 : result.imageData;
398
+ imageArrayBuffer = result === null || result === void 0 ? void 0 : result.arrayBuffer;
399
+ }));
400
+ }
401
+ // process the arScene input
402
+ let arSceneId;
403
+ if (arScene) {
404
+ promises.push(this._converter.convertToArrayBuffer(arScene)
405
+ .then(arSceneArrayBuffer => this._sdk.gltf.upload(this._sessionId, arSceneArrayBuffer, 'model/gltf-binary', sdk_geometry_api_sdk_v2_1.ShapeDiverRequestGltfUploadQueryConversion.SCENE))
406
+ .then(arSceneResponseDto => {
407
+ var _a;
408
+ arSceneId = (_a = arSceneResponseDto.gltf) === null || _a === void 0 ? void 0 : _a.sceneId;
409
+ }));
410
+ }
411
+ // wait for all promises to resolve
412
+ yield Promise.all(promises);
413
+ // create the model state
414
+ const response = yield this._sdk.modelState.create(this._sessionId, {
415
+ parameters: parameterSet,
416
+ data: data,
417
+ image: imageData,
418
+ arSceneId: arSceneId
419
+ });
420
+ if (imageData && imageArrayBuffer)
421
+ yield this._sdk.utils.uploadAsset(response.asset.modelState.href, imageArrayBuffer, response.asset.modelState.headers);
422
+ return response.modelState.id;
423
+ }
424
+ catch (e) {
425
+ throw this._httpClient.convertError(e);
426
+ }
427
+ });
428
+ }
369
429
  /**
370
430
  * Customizes the session with updated parameters to get the updated scene graph node.
371
431
  *
@@ -608,10 +668,10 @@ class SessionEngine {
608
668
  for (const parameterNameOrId in parameterValues)
609
669
  parameterSet[parameterNameOrId] = (' ' + parameterValues[parameterNameOrId]).slice(1);
610
670
  if (this._ticket) {
611
- this._responseDto = yield this._sdk.session.init(this._ticket, parameterSet);
671
+ this._responseDto = yield this._sdk.session.init(this._ticket, parameterSet, this._modelStateId, this._modelStateValidationMode);
612
672
  }
613
673
  else if (this._guid) {
614
- this._responseDto = yield this._sdk.session.initForModel(this._guid, parameterSet);
674
+ this._responseDto = yield this._sdk.session.initForModel(this._guid, parameterSet, this._modelStateId, this._modelStateValidationMode);
615
675
  }
616
676
  else {
617
677
  // we should never get here
@@ -622,6 +682,7 @@ class SessionEngine {
622
682
  this._viewerSettingsVersionBackend = this._responseDto.viewerSettingsVersion || viewer_settings_1.latestVersion;
623
683
  this._sessionId = this._responseDto.sessionId;
624
684
  this._modelId = (_b = this._responseDto.model) === null || _b === void 0 ? void 0 : _b.id;
685
+ this._modelState = this._responseDto.modelState;
625
686
  this._httpClient.addDataLoading(this._sessionId, {
626
687
  getAsset: this._sdk.asset.getAsset.bind(this._sdk.asset),
627
688
  downloadTexture: this._sdk.asset.downloadImage.bind(this._sdk.asset),
@@ -1194,8 +1255,8 @@ class SessionEngine {
1194
1255
  }
1195
1256
  });
1196
1257
  }
1197
- // #endregion Public Methods (29)
1198
- // #region Private Methods (17)
1258
+ // #endregion Public Methods (30)
1259
+ // #region Private Methods (18)
1199
1260
  _saveSessionSettings() {
1200
1261
  const parameters = this.parameters;
1201
1262
  const exports = this.exports;
@@ -1457,6 +1518,52 @@ class SessionEngine {
1457
1518
  }
1458
1519
  });
1459
1520
  }
1521
+ /**
1522
+ * Process the image input and return the image data and array buffer.
1523
+ *
1524
+ * In the case of the image being a Blob or File, the image data is constructed from the Blob or File.
1525
+ * In the case of the image being a string, we check if it is a data URL or a URL.
1526
+ * If it is a data URL, we convert it to a Blob and construct the image data from the Blob.
1527
+ * If it is a URL, we download the image and return the image data and array buffer.
1528
+ *
1529
+ * @param image
1530
+ * @returns
1531
+ */
1532
+ processImageInput(image) {
1533
+ return __awaiter(this, void 0, void 0, function* () {
1534
+ if (image instanceof File || image instanceof Blob)
1535
+ return this._converter.constructImageData(image);
1536
+ let imageString;
1537
+ if (typeof image === 'function') {
1538
+ imageString = image();
1539
+ }
1540
+ else {
1541
+ imageString = image;
1542
+ }
1543
+ if (imageString.startsWith('data:')) {
1544
+ // case where the image is a data URL
1545
+ const { blob, arrayBuffer } = this._converter.dataURLtoBlob(imageString);
1546
+ return {
1547
+ imageData: {
1548
+ format: blob.type,
1549
+ size: blob.size
1550
+ },
1551
+ arrayBuffer
1552
+ };
1553
+ }
1554
+ else {
1555
+ // case where the image is a URL
1556
+ const [arrayBuffer, type] = yield this._sdk.asset.downloadImage(this._sessionId, imageString);
1557
+ return {
1558
+ imageData: {
1559
+ format: type,
1560
+ size: arrayBuffer.byteLength
1561
+ },
1562
+ arrayBuffer
1563
+ };
1564
+ }
1565
+ });
1566
+ }
1460
1567
  removeBusyMode(busyId) {
1461
1568
  for (const r in this._stateEngine.viewportEngines) {
1462
1569
  if (this._stateEngine.viewportEngines[r] && this._stateEngine.viewportEngines[r].busy.includes(busyId))
@@ -1 +1 @@
1
- {"version":3,"file":"SessionEngine.js","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionEngine.js","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { ISettingsSections } from '@shapediver/viewer.shared.types';
5
5
  import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
6
6
  import { OutputLoaderTaskEventInfo } from '../implementation/OutputLoader';
7
7
  import { SettingsEngine } from '@shapediver/viewer.shared.services';
8
- import { ShapeDiverRequestCustomization, ShapeDiverRequestExport, ShapeDiverRequestGltfUploadQueryConversion, ShapeDiverResponseDto, ShapeDiverResponseExport, ShapeDiverResponseFileInfo } from '@shapediver/sdk.geometry-api-sdk-v2';
8
+ import { ShapeDiverRequestCustomization, ShapeDiverRequestExport, ShapeDiverRequestGltfUploadQueryConversion, ShapeDiverResponseDto, ShapeDiverResponseExport, ShapeDiverResponseFileInfo, ShapeDiverResponseModelState } from '@shapediver/sdk.geometry-api-sdk-v2';
9
9
  export interface ISessionEngine {
10
10
  readonly jwtToken?: string;
11
11
  canUploadGLTF: boolean;
@@ -16,6 +16,7 @@ export interface ISessionEngine {
16
16
  id: string;
17
17
  initialized: boolean;
18
18
  loadSdtf: boolean;
19
+ modelState?: ShapeDiverResponseModelState;
19
20
  modelViewUrl: string;
20
21
  outputs: {
21
22
  [key: string]: IOutput;
@@ -31,6 +32,9 @@ export interface ISessionEngine {
31
32
  canGoBack(): boolean;
32
33
  canGoForward(): boolean;
33
34
  close(): Promise<void>;
35
+ createModelState(parameterValues?: {
36
+ [key: string]: unknown;
37
+ }, omitSessionParameterValues?: boolean, image?: (() => string) | string | Blob | File, data?: Record<string, any>, arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File): Promise<string>;
34
38
  customize(force: boolean, waitForViewportUpdate?: boolean): Promise<ITreeNode | ShapeDiverResponseDto>;
35
39
  customizeParallel(parameterValues: {
36
40
  [key: string]: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ISessionEngine.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISessionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ISessionEngine.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISessionEngine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.session-engine.session-engine",
3
- "version": "3.2.8",
3
+ "version": "3.3.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -39,17 +39,17 @@
39
39
  "testEnvironment": "node"
40
40
  },
41
41
  "dependencies": {
42
- "@shapediver/sdk.geometry-api-sdk-v2": "1.10.0",
43
- "@shapediver/viewer.data-engine.shared-types": "3.2.8",
42
+ "@shapediver/sdk.geometry-api-sdk-v2": "1.11.0",
43
+ "@shapediver/viewer.data-engine.shared-types": "3.3.1",
44
44
  "@shapediver/viewer.settings": "1.0.2",
45
- "@shapediver/viewer.shared.build-data": "3.2.8",
46
- "@shapediver/viewer.shared.global-access-objects": "3.2.8",
47
- "@shapediver/viewer.shared.node-tree": "3.2.8",
48
- "@shapediver/viewer.shared.services": "3.2.8",
49
- "@shapediver/viewer.shared.types": "3.2.8",
45
+ "@shapediver/viewer.shared.build-data": "3.3.1",
46
+ "@shapediver/viewer.shared.global-access-objects": "3.3.1",
47
+ "@shapediver/viewer.shared.node-tree": "3.3.1",
48
+ "@shapediver/viewer.shared.services": "3.3.1",
49
+ "@shapediver/viewer.shared.types": "3.3.1",
50
50
  "@shapediver/viewer.utils.mime-type": "1.1.0",
51
51
  "axios": "^1.2.6",
52
52
  "gl-matrix": "3.3.0"
53
53
  },
54
- "gitHead": "a8c27c745498812d103635aeec6d5311d6e8c8e3"
54
+ "gitHead": "40c18b6ed3f4db41d1fb966945e8df97cb6fa333"
55
55
  }
@@ -5,6 +5,22 @@ import {
5
5
  validate,
6
6
  versions
7
7
  } from '@shapediver/viewer.settings';
8
+ import {
9
+ Converter,
10
+ EventEngine,
11
+ EVENTTYPE,
12
+ HttpClient,
13
+ HttpResponse,
14
+ Logger,
15
+ PerformanceEvaluator,
16
+ SettingsEngine,
17
+ ShapeDiverViewerError,
18
+ ShapeDiverViewerSessionError,
19
+ ShapeDiverViewerSettingsError,
20
+ StateEngine,
21
+ SystemInfo,
22
+ UuidGenerator
23
+ } from '@shapediver/viewer.shared.services';
8
24
  import {
9
25
  create,
10
26
  isGBResponseError,
@@ -12,33 +28,21 @@ import {
12
28
  ShapeDiverRequestConfigure,
13
29
  ShapeDiverRequestCustomization,
14
30
  ShapeDiverRequestExport,
31
+ ShapeDiverRequestFileUploadPart,
15
32
  ShapeDiverRequestGltfUploadQueryConversion,
33
+ ShapeDiverRequestModelState,
16
34
  ShapeDiverResponseDto,
17
35
  ShapeDiverResponseErrorType,
18
36
  ShapeDiverResponseExport,
19
37
  ShapeDiverResponseExportDefinitionType,
20
38
  ShapeDiverResponseFileInfo,
21
39
  ShapeDiverResponseModelComputationStatus,
40
+ ShapeDiverResponseModelState,
22
41
  ShapeDiverResponseOutput,
23
42
  ShapeDiverResponseParameter,
24
43
  ShapeDiverSdk,
25
44
  ShapeDiverSdkConfigType
26
45
  } from '@shapediver/sdk.geometry-api-sdk-v2';
27
- import {
28
- EventEngine,
29
- EVENTTYPE,
30
- HttpClient,
31
- HttpResponse,
32
- Logger,
33
- PerformanceEvaluator,
34
- SettingsEngine,
35
- ShapeDiverViewerError,
36
- ShapeDiverViewerSessionError,
37
- ShapeDiverViewerSettingsError,
38
- StateEngine,
39
- SystemInfo,
40
- UuidGenerator
41
- } from '@shapediver/viewer.shared.services';
42
46
  import { Export } from './dto/Export';
43
47
  import { FileParameter } from './dto/FileParameter';
44
48
  import { GumballParameter } from './dto/interaction/GumballParameter';
@@ -74,8 +78,9 @@ import { vec3 } from 'gl-matrix';
74
78
  /* eslint-disable @typescript-eslint/no-empty-function */
75
79
 
76
80
  export class SessionEngine implements ISessionEngine {
77
- // #region Properties (46)
81
+ // #region Properties (50)
78
82
 
83
+ private readonly _converter = Converter.instance;
79
84
  private readonly _eventEngine = EventEngine.instance;
80
85
  private readonly _exports: { [key: string]: IExport; } = {};
81
86
  private readonly _guid?: string;
@@ -130,6 +135,9 @@ export class SessionEngine implements ISessionEngine {
130
135
  private _jwtToken?: string;
131
136
  private _loadSdtf: boolean = false;
132
137
  private _modelId?: string;
138
+ private _modelState?: ShapeDiverResponseModelState;
139
+ private _modelStateId?: string;
140
+ private _modelStateValidationMode?: boolean;
133
141
  private _node: ITreeNode;
134
142
  private _refreshJwtToken?: () => Promise<string>;
135
143
  private _responseDto?: ShapeDiverResponseDto;
@@ -141,7 +149,7 @@ export class SessionEngine implements ISessionEngine {
141
149
  private _viewerSettingsVersion: string = latestVersion;
142
150
  private _viewerSettingsVersionBackend: string = latestVersion;
143
151
 
144
- // #endregion Properties (46)
152
+ // #endregion Properties (50)
145
153
 
146
154
  // #region Constructors (1)
147
155
 
@@ -149,7 +157,7 @@ export class SessionEngine implements ISessionEngine {
149
157
  * Can be use to initialize a session with the ticket/guid and modelViewUrl and returns a scene graph node with the result.
150
158
  * Can be use to customize the session with updated parameters to get the updated scene graph node.
151
159
  */
152
- constructor(properties: { id: string, ticket?: string, guid?: string, modelViewUrl: string, buildVersion: string, buildDate: string, jwtToken?: string, excludeViewports?: string[], allowOutputLoading: boolean, loadSdtf: boolean }) {
160
+ constructor(properties: { id: string, ticket?: string, guid?: string, modelViewUrl: string, buildVersion: string, buildDate: string, jwtToken?: string, excludeViewports?: string[], allowOutputLoading: boolean, loadSdtf: boolean, modelStateId?: string, modelStateValidationMode?: boolean }) {
153
161
  this._id = properties.id;
154
162
  this._node = new TreeNode(properties.id);
155
163
  this._guid = properties.guid;
@@ -159,8 +167,12 @@ export class SessionEngine implements ISessionEngine {
159
167
  this._jwtToken = properties.jwtToken;
160
168
  this._allowOutputLoading = properties.allowOutputLoading;
161
169
  this._loadSdtf = properties.loadSdtf;
170
+ this._modelStateId = properties.modelStateId;
171
+ this._modelStateValidationMode = properties.modelStateValidationMode;
172
+
162
173
  this._headers['X-ShapeDiver-BuildDate'] = properties.buildDate;
163
174
  this._headers['X-ShapeDiver-BuildVersion'] = properties.buildVersion;
175
+
164
176
  this._outputLoader = new OutputLoader(this);
165
177
 
166
178
  try {
@@ -173,7 +185,7 @@ export class SessionEngine implements ISessionEngine {
173
185
 
174
186
  // #endregion Constructors (1)
175
187
 
176
- // #region Public Getters And Setters (27)
188
+ // #region Public Getters And Setters (28)
177
189
 
178
190
  public get automaticSceneUpdate(): boolean {
179
191
  return this._automaticSceneUpdate;
@@ -246,6 +258,10 @@ export class SessionEngine implements ISessionEngine {
246
258
  }
247
259
  }
248
260
 
261
+ public get modelState(): ShapeDiverResponseModelState | undefined {
262
+ return this._modelState;
263
+ }
264
+
249
265
  public get modelViewUrl(): string {
250
266
  return this._modelViewUrl;
251
267
  }
@@ -298,9 +314,9 @@ export class SessionEngine implements ISessionEngine {
298
314
  return this._viewerSettings;
299
315
  }
300
316
 
301
- // #endregion Public Getters And Setters (27)
317
+ // #endregion Public Getters And Setters (28)
302
318
 
303
- // #region Public Methods (29)
319
+ // #region Public Methods (30)
304
320
 
305
321
  public applySettings(response: ShapeDiverResponseDto, sections?: ISettingsSections) {
306
322
  sections = sections || {};
@@ -472,6 +488,79 @@ export class SessionEngine implements ISessionEngine {
472
488
  }
473
489
  }
474
490
 
491
+ public async createModelState(
492
+ parameterValues: { [key: string]: unknown; } = {},
493
+ omitSessionParameterValues: boolean = false,
494
+ image?: (() => string) | string | Blob | File,
495
+ data?: Record<string, any>,
496
+ arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File
497
+ ): Promise < string > {
498
+ this.checkAvailability();
499
+
500
+ try {
501
+ const promises = [];
502
+
503
+ // process the parameters
504
+ const parameterSet: {
505
+ [key: string]: string
506
+ } = {};
507
+ promises.push(
508
+ this.uploadFileParameters(parameterValues).then(() => {
509
+ // create a set of the current validated parameter values
510
+ for (const parameterId in this.parameters) {
511
+ // if the parameter has not been set, we do not include it in the parameter set if the omitSessionParameterValues flag is set
512
+ if (!(omitSessionParameterValues === true && parameterValues[parameterId] === undefined)) {
513
+ parameterSet[parameterId] = (' ' + this.parameters[parameterId].stringify(parameterValues[parameterId])).slice(1);
514
+ }
515
+ }
516
+ })
517
+ );
518
+
519
+ // process the image input
520
+ let imageData: ShapeDiverRequestFileUploadPart | undefined;
521
+ let imageArrayBuffer: ArrayBuffer | undefined;
522
+ if (image) {
523
+ promises.push(
524
+ this.processImageInput(image)
525
+ .then(result => {
526
+ imageData = result?.imageData;
527
+ imageArrayBuffer = result?.arrayBuffer;
528
+ })
529
+ );
530
+ }
531
+
532
+ // process the arScene input
533
+ let arSceneId: string | undefined;
534
+ if (arScene) {
535
+ promises.push(
536
+ this._converter.convertToArrayBuffer(arScene)
537
+ .then(arSceneArrayBuffer => this._sdk.gltf.upload(this._sessionId!, arSceneArrayBuffer, 'model/gltf-binary', ShapeDiverRequestGltfUploadQueryConversion.SCENE))
538
+ .then(arSceneResponseDto => {
539
+ arSceneId = arSceneResponseDto.gltf?.sceneId;
540
+ })
541
+ );
542
+ }
543
+
544
+ // wait for all promises to resolve
545
+ await Promise.all(promises);
546
+
547
+ // create the model state
548
+ const response = await this._sdk.modelState.create(this._sessionId!, {
549
+ parameters: parameterSet,
550
+ data: data,
551
+ image: imageData,
552
+ arSceneId: arSceneId
553
+ } as ShapeDiverRequestModelState);
554
+
555
+ if (imageData && imageArrayBuffer)
556
+ await this._sdk.utils.uploadAsset(response.asset!.modelState!.href, imageArrayBuffer, response.asset!.modelState!.headers);
557
+
558
+ return response.modelState!.id!;
559
+ } catch (e) {
560
+ throw this._httpClient.convertError(e);
561
+ }
562
+ }
563
+
475
564
  /**
476
565
  * Customizes the session with updated parameters to get the updated scene graph node.
477
566
  *
@@ -765,9 +854,9 @@ export class SessionEngine implements ISessionEngine {
765
854
  parameterSet[parameterNameOrId] = (' ' + parameterValues[parameterNameOrId]).slice(1);
766
855
 
767
856
  if (this._ticket) {
768
- this._responseDto = await this._sdk.session.init(this._ticket, parameterSet);
857
+ this._responseDto = await this._sdk.session.init(this._ticket, parameterSet, this._modelStateId, this._modelStateValidationMode);
769
858
  } else if (this._guid) {
770
- this._responseDto = await this._sdk.session.initForModel(this._guid, parameterSet);
859
+ this._responseDto = await this._sdk.session.initForModel(this._guid, parameterSet, this._modelStateId, this._modelStateValidationMode);
771
860
  } else {
772
861
  // we should never get here
773
862
  throw new ShapeDiverViewerSessionError('Session.init: Initialization of session failed. Neither a ticket nor a guid are available.');
@@ -778,6 +867,7 @@ export class SessionEngine implements ISessionEngine {
778
867
  this._viewerSettingsVersionBackend = this._responseDto.viewerSettingsVersion || latestVersion;
779
868
  this._sessionId = this._responseDto.sessionId;
780
869
  this._modelId = this._responseDto.model?.id;
870
+ this._modelState = this._responseDto.modelState;
781
871
 
782
872
  this._httpClient.addDataLoading(this._sessionId!, {
783
873
  getAsset: this._sdk.asset.getAsset.bind(this._sdk.asset),
@@ -1331,8 +1421,8 @@ export class SessionEngine implements ISessionEngine {
1331
1421
  this.checkAvailability('file-upload');
1332
1422
  try {
1333
1423
  const result = await this._sdk.file.requestUpload(this._sessionId!, {
1334
- [parameterId]: {
1335
- size: data.size,
1424
+ [parameterId]: {
1425
+ size: data.size,
1336
1426
  format: type,
1337
1427
  filename: data.name === '' ? undefined : data.name
1338
1428
  }
@@ -1398,9 +1488,9 @@ export class SessionEngine implements ISessionEngine {
1398
1488
  }
1399
1489
  }
1400
1490
 
1401
- // #endregion Public Methods (29)
1491
+ // #endregion Public Methods (30)
1402
1492
 
1403
- // #region Private Methods (17)
1493
+ // #region Private Methods (18)
1404
1494
 
1405
1495
  private _saveSessionSettings() {
1406
1496
  const parameters = this.parameters;
@@ -1666,6 +1756,54 @@ export class SessionEngine implements ISessionEngine {
1666
1756
  }
1667
1757
  }
1668
1758
 
1759
+ /**
1760
+ * Process the image input and return the image data and array buffer.
1761
+ *
1762
+ * In the case of the image being a Blob or File, the image data is constructed from the Blob or File.
1763
+ * In the case of the image being a string, we check if it is a data URL or a URL.
1764
+ * If it is a data URL, we convert it to a Blob and construct the image data from the Blob.
1765
+ * If it is a URL, we download the image and return the image data and array buffer.
1766
+ *
1767
+ * @param image
1768
+ * @returns
1769
+ */
1770
+ private async processImageInput(image: (() => string) | string | Blob | File): Promise<{
1771
+ imageData: ShapeDiverRequestFileUploadPart,
1772
+ arrayBuffer: ArrayBuffer
1773
+ }> {
1774
+ if (image instanceof File || image instanceof Blob)
1775
+ return this._converter.constructImageData(image);
1776
+
1777
+ let imageString: string;
1778
+ if (typeof image === 'function') {
1779
+ imageString = image();
1780
+ } else {
1781
+ imageString = image;
1782
+ }
1783
+
1784
+ if (imageString.startsWith('data:')) {
1785
+ // case where the image is a data URL
1786
+ const { blob, arrayBuffer } = this._converter.dataURLtoBlob(imageString);
1787
+ return {
1788
+ imageData: {
1789
+ format: blob.type,
1790
+ size: blob.size
1791
+ },
1792
+ arrayBuffer
1793
+ };
1794
+ } else {
1795
+ // case where the image is a URL
1796
+ const [arrayBuffer, type] = await this._sdk.asset.downloadImage(this._sessionId!, imageString);
1797
+ return {
1798
+ imageData: {
1799
+ format: type,
1800
+ size: arrayBuffer.byteLength
1801
+ },
1802
+ arrayBuffer
1803
+ };
1804
+ }
1805
+ }
1806
+
1669
1807
  private removeBusyMode(busyId: string) {
1670
1808
  for (const r in this._stateEngine.viewportEngines) {
1671
1809
  if (this._stateEngine.viewportEngines[r] && this._stateEngine.viewportEngines[r]!.busy.includes(busyId))
@@ -1864,5 +2002,5 @@ export class SessionEngine implements ISessionEngine {
1864
2002
  await Promise.all(promises);
1865
2003
  }
1866
2004
 
1867
- // #endregion Private Methods (17)
2005
+ // #endregion Private Methods (18)
1868
2006
  }
@@ -11,11 +11,12 @@ import {
11
11
  ShapeDiverRequestGltfUploadQueryConversion,
12
12
  ShapeDiverResponseDto,
13
13
  ShapeDiverResponseExport,
14
- ShapeDiverResponseFileInfo
14
+ ShapeDiverResponseFileInfo,
15
+ ShapeDiverResponseModelState
15
16
  } from '@shapediver/sdk.geometry-api-sdk-v2';
16
17
 
17
18
  export interface ISessionEngine {
18
- // #region Properties (14)
19
+ // #region Properties (15)
19
20
 
20
21
  readonly jwtToken?: string;
21
22
 
@@ -25,6 +26,7 @@ export interface ISessionEngine {
25
26
  id: string;
26
27
  initialized: boolean;
27
28
  loadSdtf: boolean;
29
+ modelState?: ShapeDiverResponseModelState;
28
30
  modelViewUrl: string;
29
31
  outputs: { [key: string]: IOutput };
30
32
  parameters: { [key: string]: IParameter<unknown> };
@@ -33,14 +35,15 @@ export interface ISessionEngine {
33
35
  ticket?: string;
34
36
  updateCallback: ((newNode: ITreeNode, oldNode: ITreeNode) => void) | null;
35
37
 
36
- // #endregion Properties (14)
38
+ // #endregion Properties (15)
37
39
 
38
- // #region Public Methods (24)
40
+ // #region Public Methods (25)
39
41
 
40
42
  applySettings(response: ShapeDiverResponseDto, sections?: ISettingsSections): void;
41
43
  canGoBack(): boolean;
42
44
  canGoForward(): boolean;
43
45
  close(): Promise<void>;
46
+ createModelState(parameterValues?: { [key: string]: unknown; }, omitSessionParameterValues?: boolean, image?: (() => string) | string | Blob | File, data?: Record<string, any>, arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File): Promise<string>;
44
47
  customize(force: boolean, waitForViewportUpdate?: boolean): Promise<ITreeNode | ShapeDiverResponseDto>;
45
48
  customizeParallel(parameterValues: { [key: string]: string }, loadOutputs: boolean): Promise<ITreeNode | ShapeDiverResponseDto>;
46
49
  getFileInfo(parameterId: string, fileId: string): Promise<ShapeDiverResponseFileInfo>
@@ -62,5 +65,5 @@ export interface ISessionEngine {
62
65
  uploadFileParameters(parameterValues?: { [key: string]: string | File | Blob }): Promise<{ [key: string]: string }>
63
66
  uploadGLTF(blob: Blob, conversion?: ShapeDiverRequestGltfUploadQueryConversion): Promise<ShapeDiverResponseDto>;
64
67
 
65
- // #endregion Public Methods (24)
68
+ // #endregion Public Methods (25)
66
69
  }