@shapediver/viewer.session-engine.session-engine 3.14.8 → 3.14.10

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 (47) hide show
  1. package/dist/implementation/OutputLoader.d.ts.map +1 -1
  2. package/dist/implementation/OutputLoader.js +4 -0
  3. package/dist/implementation/OutputLoader.js.map +1 -1
  4. package/dist/implementation/SessionEngine.d.ts.map +1 -1
  5. package/dist/implementation/SessionEngine.js +0 -4
  6. package/dist/implementation/SessionEngine.js.map +1 -1
  7. package/dist/implementation/SessionEngineCore.d.ts +49 -75
  8. package/dist/implementation/SessionEngineCore.d.ts.map +1 -1
  9. package/dist/implementation/SessionEngineCore.js +88 -265
  10. package/dist/implementation/SessionEngineCore.js.map +1 -1
  11. package/dist/implementation/SessionEngineFacade.d.ts +16 -11
  12. package/dist/implementation/SessionEngineFacade.d.ts.map +1 -1
  13. package/dist/implementation/SessionEngineFacade.js +19 -18
  14. package/dist/implementation/SessionEngineFacade.js.map +1 -1
  15. package/dist/implementation/managers/CustomizationManager.d.ts +41 -6
  16. package/dist/implementation/managers/CustomizationManager.d.ts.map +1 -1
  17. package/dist/implementation/managers/CustomizationManager.js +114 -56
  18. package/dist/implementation/managers/CustomizationManager.js.map +1 -1
  19. package/dist/implementation/managers/ExportManager.d.ts +49 -5
  20. package/dist/implementation/managers/ExportManager.d.ts.map +1 -1
  21. package/dist/implementation/managers/ExportManager.js +105 -42
  22. package/dist/implementation/managers/ExportManager.js.map +1 -1
  23. package/dist/implementation/managers/FileUploadManager.d.ts +41 -3
  24. package/dist/implementation/managers/FileUploadManager.d.ts.map +1 -1
  25. package/dist/implementation/managers/FileUploadManager.js +110 -67
  26. package/dist/implementation/managers/FileUploadManager.js.map +1 -1
  27. package/dist/implementation/managers/ModelStateManager.d.ts +42 -4
  28. package/dist/implementation/managers/ModelStateManager.d.ts.map +1 -1
  29. package/dist/implementation/managers/ModelStateManager.js +71 -24
  30. package/dist/implementation/managers/ModelStateManager.js.map +1 -1
  31. package/dist/implementation/managers/OutputManager.d.ts +48 -10
  32. package/dist/implementation/managers/OutputManager.d.ts.map +1 -1
  33. package/dist/implementation/managers/OutputManager.js +144 -84
  34. package/dist/implementation/managers/OutputManager.js.map +1 -1
  35. package/dist/implementation/managers/ParameterManager.d.ts +51 -4
  36. package/dist/implementation/managers/ParameterManager.d.ts.map +1 -1
  37. package/dist/implementation/managers/ParameterManager.js +164 -13
  38. package/dist/implementation/managers/ParameterManager.js.map +1 -1
  39. package/dist/implementation/managers/SettingsManager.d.ts +27 -2
  40. package/dist/implementation/managers/SettingsManager.d.ts.map +1 -1
  41. package/dist/implementation/managers/SettingsManager.js +120 -74
  42. package/dist/implementation/managers/SettingsManager.js.map +1 -1
  43. package/dist/implementation/managers/UtilsManager.d.ts +79 -17
  44. package/dist/implementation/managers/UtilsManager.d.ts.map +1 -1
  45. package/dist/implementation/managers/UtilsManager.js +187 -126
  46. package/dist/implementation/managers/UtilsManager.js.map +1 -1
  47. package/package.json +8 -8
@@ -1,16 +1,54 @@
1
- import { ResGetModelState } from "@shapediver/sdk.geometry-api-sdk-v2";
1
+ import { ResGetModelState, ResModelState } from "@shapediver/sdk.geometry-api-sdk-v2";
2
2
  import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
3
3
  import { SessionEngineCore } from "../SessionEngineCore";
4
+ /**
5
+ * Manager responsible for model states.
6
+ *
7
+ * The manager is created by the SessionEngineCore and can be accessed
8
+ * via the `modelStateManager` property.
9
+ */
4
10
  export declare class ModelStateManager {
5
- private readonly _sessionEngineCore;
6
- private readonly _utilsManager;
7
11
  private readonly _converter;
8
12
  private readonly _httpClient;
13
+ private readonly _sessionEngineCore;
14
+ private _modelState?;
15
+ private _modelStateId?;
16
+ private _modelStateValidationMode?;
9
17
  constructor(sessionEngineCore: SessionEngineCore);
10
- getModelState(modelStateId?: string): Promise<ResGetModelState>;
18
+ get modelState(): ResModelState | undefined;
19
+ set modelState(value: ResModelState | undefined);
20
+ get modelStateId(): string | undefined;
21
+ set modelStateId(value: string | undefined);
22
+ get modelStateValidationMode(): boolean | undefined;
23
+ set modelStateValidationMode(value: boolean | undefined);
24
+ /**
25
+ * Creates a new model state with the given parameter values and optional image and data.
26
+ *
27
+ * @param parameterValues Key-value pairs of parameter IDs and their corresponding values
28
+ * @param omitSessionParameterValues Whether to omit parameters that have not been explicitly set in the session
29
+ * @param image Optional image to associate with the model state
30
+ * @param data Optional additional data to associate with the model state
31
+ * @param arScene Optional AR scene to associate with the model state
32
+ * @param retry Whether to retry the request in case of failure
33
+ * @returns Promise with the ID of the created model state
34
+ */
11
35
  createModelState(parameterValues?: {
12
36
  [key: string]: unknown;
13
37
  }, omitSessionParameterValues?: boolean, image?: (() => string) | (() => Promise<string>) | string | Promise<string> | Blob | File, data?: Record<string, any>, arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File, retry?: boolean): Promise<string>;
38
+ /**
39
+ * Customizes the session using the provided model state.
40
+ *
41
+ * @param modelState The model state ID or the model state response object
42
+ * @param retry Whether to retry the request in case of failure
43
+ * @returns Promise with the root tree node of the customized session
44
+ */
14
45
  customizeWithModelState(modelState: string | ResGetModelState, retry?: boolean): Promise<ITreeNode>;
46
+ /**
47
+ * Retrieves a model state by its ID.
48
+ *
49
+ * @param modelStateId The ID of the model state to retrieve. If undefined, the current model state ID is used.
50
+ * @returns Promise with the model state information
51
+ */
52
+ getModelState(modelStateId?: string): Promise<ResGetModelState>;
15
53
  }
16
54
  //# sourceMappingURL=ModelStateManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelStateManager.d.ts","sourceRoot":"","sources":["../../../src/implementation/managers/ModelStateManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,gBAAgB,EAEhB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAW,MAAM,qCAAqC,CAAC;AAMxE,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAGvD,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;gBAEvC,iBAAiB,EAAE,iBAAiB;IAKnC,aAAa,CACzB,YAAY,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC;IAoBf,gBAAgB,CAC5B,eAAe,GAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAM,EAC9C,0BAA0B,GAAE,OAAe,EAC3C,KAAK,CAAC,EACH,CAAC,MAAM,MAAM,CAAC,GACd,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GACvB,MAAM,GACN,OAAO,CAAC,MAAM,CAAC,GACf,IAAI,GACJ,IAAI,EACP,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,OAAO,CAAC,EACL,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,GAC5B,WAAW,GACX,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GACrB,IAAI,GACJ,IAAI,EACP,KAAK,UAAQ,GACX,OAAO,CAAC,MAAM,CAAC;IA8GL,uBAAuB,CACnC,UAAU,EAAE,MAAM,GAAG,gBAAgB,EACrC,KAAK,UAAQ,GACX,OAAO,CAAC,SAAS,CAAC;CA6BrB"}
1
+ {"version":3,"file":"ModelStateManager.d.ts","sourceRoot":"","sources":["../../../src/implementation/managers/ModelStateManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,gBAAgB,EAChB,aAAa,EAEb,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAW,MAAM,qCAAqC,CAAC;AAOxE,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAEvD,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,yBAAyB,CAAC,CAAU;gBAEhC,iBAAiB,EAAE,iBAAiB;IAIhD,IAAW,UAAU,IAAI,aAAa,GAAG,SAAS,CAEjD;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,EAGrD;IAED,IAAW,YAAY,IAAI,MAAM,GAAG,SAAS,CAE5C;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEhD;IAED,IAAW,wBAAwB,IAAI,OAAO,GAAG,SAAS,CAEzD;IAED,IAAW,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAE7D;IAED;;;;;;;;;;OAUG;IACU,gBAAgB,CAC5B,eAAe,GAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAM,EAC9C,0BAA0B,GAAE,OAAe,EAC3C,KAAK,CAAC,EACH,CAAC,MAAM,MAAM,CAAC,GACd,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GACvB,MAAM,GACN,OAAO,CAAC,MAAM,CAAC,GACf,IAAI,GACJ,IAAI,EACP,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,OAAO,CAAC,EACL,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,GAC5B,WAAW,GACX,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GACrB,IAAI,GACJ,IAAI,EACP,KAAK,UAAQ,GACX,OAAO,CAAC,MAAM,CAAC;IA8GlB;;;;;;OAMG;IACU,uBAAuB,CACnC,UAAU,EAAE,MAAM,GAAG,gBAAgB,EACrC,KAAK,UAAQ,GACX,OAAO,CAAC,SAAS,CAAC;IA+BrB;;;;;OAKG;IACU,aAAa,CACzB,YAAY,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC;CAmB5B"}
@@ -13,31 +13,51 @@ exports.ModelStateManager = void 0;
13
13
  const sdk_geometry_api_sdk_v2_1 = require("@shapediver/sdk.geometry-api-sdk-v2");
14
14
  const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
15
15
  const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
16
+ /**
17
+ * Manager responsible for model states.
18
+ *
19
+ * The manager is created by the SessionEngineCore and can be accessed
20
+ * via the `modelStateManager` property.
21
+ */
16
22
  class ModelStateManager {
17
23
  constructor(sessionEngineCore) {
18
24
  this._converter = viewer_shared_services_1.Converter.instance;
19
25
  this._httpClient = viewer_shared_services_1.HttpClient.instance;
20
26
  this._sessionEngineCore = sessionEngineCore;
21
- this._utilsManager = sessionEngineCore.utilsManager;
22
27
  }
23
- getModelState(modelStateId) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- this._utilsManager.checkAvailability();
26
- try {
27
- const id = modelStateId || this._sessionEngineCore.modelStateId;
28
- if (!id)
29
- throw new viewer_shared_services_1.ShapeDiverViewerSessionError("Session.getModelState: No model state id available.");
30
- const response = (yield new sdk_geometry_api_sdk_v2_1.ModelStateApi(this._sessionEngineCore.sdkConfig).getModelState(id)).data;
31
- return response;
32
- }
33
- catch (e) {
34
- throw this._httpClient.convertError(e);
35
- }
36
- });
28
+ get modelState() {
29
+ return this._modelState;
30
+ }
31
+ set modelState(value) {
32
+ this._modelState = value;
33
+ this._modelStateId = value === null || value === void 0 ? void 0 : value.id;
34
+ }
35
+ get modelStateId() {
36
+ return this._modelStateId;
37
+ }
38
+ set modelStateId(value) {
39
+ this._modelStateId = value;
37
40
  }
41
+ get modelStateValidationMode() {
42
+ return this._modelStateValidationMode;
43
+ }
44
+ set modelStateValidationMode(value) {
45
+ this._modelStateValidationMode = value;
46
+ }
47
+ /**
48
+ * Creates a new model state with the given parameter values and optional image and data.
49
+ *
50
+ * @param parameterValues Key-value pairs of parameter IDs and their corresponding values
51
+ * @param omitSessionParameterValues Whether to omit parameters that have not been explicitly set in the session
52
+ * @param image Optional image to associate with the model state
53
+ * @param data Optional additional data to associate with the model state
54
+ * @param arScene Optional AR scene to associate with the model state
55
+ * @param retry Whether to retry the request in case of failure
56
+ * @returns Promise with the ID of the created model state
57
+ */
38
58
  createModelState(parameterValues = {}, omitSessionParameterValues = false, image, data, arScene, retry = false) {
39
59
  return __awaiter(this, void 0, void 0, function* () {
40
- this._utilsManager.checkAvailability();
60
+ this._sessionEngineCore.utilsManager.checkAvailability();
41
61
  try {
42
62
  const promises = [];
43
63
  // process the parameters
@@ -47,12 +67,12 @@ class ModelStateManager {
47
67
  .then(() => {
48
68
  // create a set of the current validated parameter values
49
69
  for (const parameterId in this._sessionEngineCore
50
- .parameters) {
70
+ .parameterManager.parameters) {
51
71
  // if the parameter has not been set, we do not include it in the parameter set if the omitSessionParameterValues flag is set
52
72
  if (!(omitSessionParameterValues === true &&
53
73
  parameterValues[parameterId] === undefined)) {
54
74
  parameterSet[parameterId] = (" " +
55
- this._sessionEngineCore.parameters[parameterId].stringify(parameterValues[parameterId])).slice(1);
75
+ this._sessionEngineCore.parameterManager.parameters[parameterId].stringify(parameterValues[parameterId])).slice(1);
56
76
  }
57
77
  }
58
78
  }));
@@ -60,7 +80,7 @@ class ModelStateManager {
60
80
  let imageData;
61
81
  let imageArrayBuffer;
62
82
  if (image) {
63
- promises.push(this._utilsManager
83
+ promises.push(this._sessionEngineCore.utilsManager
64
84
  .processImageInput(image)
65
85
  .then((result) => {
66
86
  imageData = result === null || result === void 0 ? void 0 : result.imageData;
@@ -94,14 +114,21 @@ class ModelStateManager {
94
114
  return response.modelState.id;
95
115
  }
96
116
  catch (e) {
97
- yield this._utilsManager.handleError(e, retry);
117
+ yield this._sessionEngineCore.utilsManager.handleError(e, retry);
98
118
  return yield this.createModelState(parameterValues, omitSessionParameterValues, image, data, arScene, true);
99
119
  }
100
120
  });
101
121
  }
122
+ /**
123
+ * Customizes the session using the provided model state.
124
+ *
125
+ * @param modelState The model state ID or the model state response object
126
+ * @param retry Whether to retry the request in case of failure
127
+ * @returns Promise with the root tree node of the customized session
128
+ */
102
129
  customizeWithModelState(modelState, retry = false) {
103
130
  return __awaiter(this, void 0, void 0, function* () {
104
- this._utilsManager.checkAvailability();
131
+ this._sessionEngineCore.utilsManager.checkAvailability();
105
132
  try {
106
133
  // get the model state if it is not already a response
107
134
  let response;
@@ -115,16 +142,36 @@ class ModelStateManager {
115
142
  return new viewer_shared_node_tree_1.TreeNode();
116
143
  // read out the parameter values from the model state
117
144
  for (const parameterId in response.modelState.parameters)
118
- this._sessionEngineCore.parameters[parameterId].value =
119
- response.modelState.parameters[parameterId];
145
+ this._sessionEngineCore.parameterManager.parameters[parameterId].value = response.modelState.parameters[parameterId];
120
146
  return this._sessionEngineCore.customizationManager.customize();
121
147
  }
122
148
  catch (e) {
123
- yield this._utilsManager.handleError(e, retry);
149
+ yield this._sessionEngineCore.utilsManager.handleError(e, retry);
124
150
  return yield this.customizeWithModelState(modelState, true);
125
151
  }
126
152
  });
127
153
  }
154
+ /**
155
+ * Retrieves a model state by its ID.
156
+ *
157
+ * @param modelStateId The ID of the model state to retrieve. If undefined, the current model state ID is used.
158
+ * @returns Promise with the model state information
159
+ */
160
+ getModelState(modelStateId) {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ this._sessionEngineCore.utilsManager.checkAvailability();
163
+ try {
164
+ const id = modelStateId || this._modelStateId;
165
+ if (!id)
166
+ throw new viewer_shared_services_1.ShapeDiverViewerSessionError("Session.getModelState: No model state id available.");
167
+ const response = (yield new sdk_geometry_api_sdk_v2_1.ModelStateApi(this._sessionEngineCore.sdkConfig).getModelState(id)).data;
168
+ return response;
169
+ }
170
+ catch (e) {
171
+ throw this._httpClient.convertError(e);
172
+ }
173
+ });
174
+ }
128
175
  }
129
176
  exports.ModelStateManager = ModelStateManager;
130
177
  //# sourceMappingURL=ModelStateManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelStateManager.js","sourceRoot":"","sources":["../../../src/implementation/managers/ModelStateManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelStateManager.js","sourceRoot":"","sources":["../../../src/implementation/managers/ModelStateManager.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,59 @@
1
1
  import { ResBase } from "@shapediver/sdk.geometry-api-sdk-v2";
2
2
  import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
3
3
  import { ITaskEventDescription } from "@shapediver/viewer.shared.types";
4
+ import { IOutput } from "../../interfaces/dto/IOutput";
4
5
  import { ISessionTreeNode } from "../../interfaces/ISessionTreeNode";
5
6
  import { SessionEngineCore } from "../SessionEngineCore";
7
+ /**
8
+ * Manager responsible for outputs.
9
+ *
10
+ * The manager is created by the SessionEngineCore and can be accessed
11
+ * via the `outputManager` property.
12
+ */
6
13
  export declare class OutputManager {
7
- private readonly _outputLoader;
8
- private readonly _sessionEngineCore;
9
14
  private readonly _eventEngine;
10
15
  private readonly _logger;
11
- private readonly _uuidGenerator;
16
+ private readonly _outputLoader;
17
+ private readonly _outputs;
18
+ private readonly _outputsFreeze;
19
+ private readonly _sessionEngineCore;
12
20
  private readonly _stateEngine;
13
- private readonly _utilsManager;
21
+ private readonly _uuidGenerator;
22
+ private _allowOutputLoading;
14
23
  constructor(sessionEngineCore: SessionEngineCore);
15
- get loadSdtf(): boolean;
24
+ init(): void;
25
+ get allowOutputLoading(): boolean;
26
+ set allowOutputLoading(value: boolean);
16
27
  get jwtToken(): string | undefined;
28
+ get loadSdtf(): boolean;
29
+ get outputs(): {
30
+ [key: string]: IOutput;
31
+ };
32
+ get outputsFreeze(): {
33
+ [key: string]: boolean;
34
+ };
17
35
  get reloadSdtf(): boolean;
18
36
  set reloadSdtf(value: boolean);
37
+ /**
38
+ * Create outputs from the response DTO.
39
+ */
40
+ createOutputsFromDto(): void;
19
41
  getCurrentOutputVersions(): {
20
42
  [key: string]: string;
21
43
  };
44
+ /**
45
+ * Load cached outputs in parallel.
46
+ *
47
+ * @param outputMapping mapping of output ids to their versions
48
+ * @param taskEventInfo optional task event info
49
+ * @param retry whether to retry the request in case of failure
50
+ * @returns promise with a mapping of output ids to their scene graph nodes
51
+ */
52
+ loadCachedOutputsParallel(outputMapping: {
53
+ [key: string]: string;
54
+ }, taskEventInfo?: ITaskEventDescription, retry?: boolean): Promise<{
55
+ [key: string]: ITreeNode | undefined;
56
+ }>;
22
57
  /**
23
58
  * Load the outputs and return the scene graph node of the result.
24
59
  * In case the outputs have a delay property, another customization request with the parameter set is sent.
@@ -28,11 +63,6 @@ export declare class OutputManager {
28
63
  * @returns promise with a scene graph node
29
64
  */
30
65
  loadOutputs(cancelRequest: (() => boolean) | undefined, taskEventInfo: ITaskEventDescription, retry?: boolean): Promise<ISessionTreeNode>;
31
- loadCachedOutputsParallel(outputMapping: {
32
- [key: string]: string;
33
- }, taskEventInfo?: ITaskEventDescription, retry?: boolean): Promise<{
34
- [key: string]: ITreeNode | undefined;
35
- }>;
36
66
  /**
37
67
  * Load the outputs and return the scene graph node of the result.
38
68
  * In case the outputs have a delay property, another customization request with the parameter set is sent.
@@ -56,6 +86,14 @@ export declare class OutputManager {
56
86
  tooltip: string;
57
87
  };
58
88
  }, retry?: boolean): Promise<boolean>;
89
+ /**
90
+ * Update the outputs and return the scene graph node of the result.
91
+ * In case the outputs have a delay property, another customization request with the parameter set is sent.
92
+ *
93
+ * @param taskEventInfo optional task event info
94
+ * @param waitForViewportUpdate whether to wait for the viewport update callbacks before returning
95
+ * @returns promise with a scene graph node
96
+ */
59
97
  updateOutputs(taskEventInfo?: ITaskEventDescription, waitForViewportUpdate?: boolean): Promise<ITreeNode>;
60
98
  }
61
99
  //# sourceMappingURL=OutputManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OutputManager.d.ts","sourceRoot":"","sources":["../../../src/implementation/managers/OutputManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,OAAO,EAIP,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAQ9D,OAAO,EAEN,qBAAqB,EAErB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AAKnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAIvD,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IAEzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;gBAEjC,iBAAiB,EAAE,iBAAiB;IAMhD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAEnC;IAEM,wBAAwB,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC;IAI1D;;;;;;;OAOG;IACU,WAAW,CACvB,aAAa,SAAQ,OAAO,aAAc,EAC1C,aAAa,EAAE,qBAAqB,EACpC,KAAK,UAAQ,GACX,OAAO,CAAC,gBAAgB,CAAC;IA6Df,yBAAyB,CACrC,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,EACtC,aAAa,CAAC,EAAE,qBAAqB,EACrC,KAAK,UAAQ,GACX,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAC,CAAC;IAuFlD;;;;;;;OAOG;IACU,mBAAmB,CAC/B,WAAW,EAAE,OAAO,EACpB,aAAa,SAAQ,OAAO,aAAc,EAC1C,aAAa,EAAE,qBAAqB,EACpC,KAAK,UAAQ,GACX,OAAO,CAAC,gBAAgB,CAAC;IA+E5B;;;;;OAKG;IACU,oBAAoB,CAChC,OAAO,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;SAChB,CAAC;KACF,EACD,KAAK,UAAQ,GACX,OAAO,CAAC,OAAO,CAAC;IAgBN,aAAa,CACzB,aAAa,CAAC,EAAE,qBAAqB,EACrC,qBAAqB,GAAE,OAAe,GACpC,OAAO,CAAC,SAAS,CAAC;CAgQrB"}
1
+ {"version":3,"file":"OutputManager.d.ts","sourceRoot":"","sources":["../../../src/implementation/managers/OutputManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,OAAO,EAIP,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAQ9D,OAAO,EAEN,qBAAqB,EAErB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,OAAO,EAAC,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AAKnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAGvD;;;;;GAKG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IAEzD,OAAO,CAAC,mBAAmB,CAAiB;gBAEhC,iBAAiB,EAAE,iBAAiB;IAKzC,IAAI,IAAI,IAAI;IAInB,IAAW,kBAAkB,IAAI,OAAO,CAEvC;IAED,IAAW,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAE3C;IAED,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,OAAO,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAE7C;IAED,IAAW,aAAa,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAEnD;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAEnC;IAED;;OAEG;IACI,oBAAoB,IAAI,IAAI;IA0B5B,wBAAwB,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC;IAI1D;;;;;;;OAOG;IACU,yBAAyB,CACrC,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,EACtC,aAAa,CAAC,EAAE,qBAAqB,EACrC,KAAK,UAAQ,GACX,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;KAAC,CAAC;IAwFlD;;;;;;;OAOG;IACU,WAAW,CACvB,aAAa,SAAQ,OAAO,aAAc,EAC1C,aAAa,EAAE,qBAAqB,EACpC,KAAK,UAAQ,GACX,OAAO,CAAC,gBAAgB,CAAC;IAmE5B;;;;;;;OAOG;IACU,mBAAmB,CAC/B,WAAW,EAAE,OAAO,EACpB,aAAa,SAAQ,OAAO,aAAc,EAC1C,aAAa,EAAE,qBAAqB,EACpC,KAAK,UAAQ,GACX,OAAO,CAAC,gBAAgB,CAAC;IAsF5B;;;;;OAKG;IACU,oBAAoB,CAChC,OAAO,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG;YACd,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,CAAC;SAChB,CAAC;KACF,EACD,KAAK,UAAQ,GACX,OAAO,CAAC,OAAO,CAAC;IAmBnB;;;;;;;OAOG;IACU,aAAa,CACzB,aAAa,CAAC,EAAE,qBAAqB,EACrC,qBAAqB,GAAE,OAAe,GACpC,OAAO,CAAC,SAAS,CAAC;CAwQrB"}