zakeke-configurator-react 0.1.372 → 0.1.374

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 (63) hide show
  1. package/README.md +283 -283
  2. package/dist/declarations/3D/src/Components/AR/AndroidAR.d.ts +7 -7
  3. package/dist/declarations/3D/src/Components/ActionExecutor/SceneActionExecutor.d.ts +87 -87
  4. package/dist/declarations/3D/src/Components/CollapseExplode/MeshLocationsManager.d.ts +44 -44
  5. package/dist/declarations/3D/src/Components/DesignManagers/MeshDesignManager.d.ts +166 -166
  6. package/dist/declarations/3D/src/Components/DesignManagers/SceneDesignManager.d.ts +63 -63
  7. package/dist/declarations/3D/src/Components/Draco/DracoCompression.d.ts +106 -106
  8. package/dist/declarations/3D/src/Components/Environment/EnvironmentManager.d.ts +43 -43
  9. package/dist/declarations/3D/src/Components/Glow/GlowManager.d.ts +26 -26
  10. package/dist/declarations/3D/src/Components/IncrementalFiles/IncrementalFiles.d.ts +26 -26
  11. package/dist/declarations/3D/src/Components/IncrementalFiles/MakeIncremental.d.ts +11 -11
  12. package/dist/declarations/3D/src/Components/InfoPointsManager/InfoPointsManager.d.ts +122 -122
  13. package/dist/declarations/3D/src/Components/MaterialsPreview/MaterialsPreview.d.ts +16 -16
  14. package/dist/declarations/3D/src/Components/MeshExpander/MeshExpander.d.ts +24 -24
  15. package/dist/declarations/3D/src/Components/NormalMap/ProceduralNormalMap.d.ts +30 -30
  16. package/dist/declarations/3D/src/Components/Preview3D/Preview3DConfigurationManager.d.ts +51 -51
  17. package/dist/declarations/3D/src/Components/ProceduralTextures/BaseProceduralTexture.d.ts +16 -16
  18. package/dist/declarations/3D/src/Components/ProceduralTextures/BlendProceduralTexture.d.ts +31 -31
  19. package/dist/declarations/3D/src/Components/ProceduralTextures/BlurXProceduralTexture.d.ts +23 -23
  20. package/dist/declarations/3D/src/Components/ProceduralTextures/BlurYProceduralTexture.d.ts +23 -23
  21. package/dist/declarations/3D/src/Components/ProceduralTextures/ForegroundBackgroundProceduralTexture.d.ts +26 -26
  22. package/dist/declarations/3D/src/Components/ProceduralTextures/MoveProceduralTexture.d.ts +23 -23
  23. package/dist/declarations/3D/src/Components/ProceduralTextures/MultiplyProceduralTexture.d.ts +23 -23
  24. package/dist/declarations/3D/src/Components/ProceduralTextures/NormalMapProceduralTexture.d.ts +35 -35
  25. package/dist/declarations/3D/src/Components/ProceduralTextures/OpacityProceduralTexture.d.ts +23 -23
  26. package/dist/declarations/3D/src/Components/ProceduralTextures/OverlayProceduralTexture.d.ts +23 -23
  27. package/dist/declarations/3D/src/Components/SceneHelper.d.ts +352 -352
  28. package/dist/declarations/3D/src/Components/ScenePreview/ScenePreview.d.ts +19 -19
  29. package/dist/declarations/3D/src/Components/SceneToBlobs/SceneToBlobs.d.ts +31 -31
  30. package/dist/declarations/3D/src/Components/Selector/ElementSelector.d.ts +42 -42
  31. package/dist/declarations/3D/src/Components/Shadows/InnerShadow.d.ts +18 -18
  32. package/dist/declarations/3D/src/Components/Shadows/OuterShadow.d.ts +16 -16
  33. package/dist/declarations/3D/src/Components/USDZ/UsdzHelper.d.ts +4 -4
  34. package/dist/declarations/3D/src/Enumerations.d.ts +15 -15
  35. package/dist/declarations/3D/src/Helpers/debounce.d.ts +8 -8
  36. package/dist/declarations/3D/src/Helpers/utils.d.ts +40 -40
  37. package/dist/declarations/3D/src/Interfaces/IDisposable.d.ts +9 -9
  38. package/dist/declarations/3D/src/Interfaces/ISceneEditor.d.ts +11 -11
  39. package/dist/declarations/3D/src/Interfaces/ISupportInitialize.d.ts +13 -13
  40. package/dist/declarations/3D/src/Interfaces/ITryOn.d.ts +76 -76
  41. package/dist/declarations/3D/src/Layers/AxesLayer.d.ts +17 -17
  42. package/dist/declarations/3D/src/Layers/LightsLayer.d.ts +31 -31
  43. package/dist/declarations/3D/src/Misc/Database.d.ts +20 -20
  44. package/dist/declarations/3D/src/Misc/DefaultAssetUrls.d.ts +51 -51
  45. package/dist/declarations/3D/src/Misc/Observable.d.ts +220 -220
  46. package/dist/declarations/3D/src/Misc/StringTools.d.ts +31 -31
  47. package/dist/declarations/3D/src/Misc/WorkerPool.d.ts +24 -24
  48. package/dist/declarations/3D/src/Viewers/MaterialEditor.d.ts +57 -57
  49. package/dist/declarations/3D/src/Viewers/SceneEditor.d.ts +676 -676
  50. package/dist/declarations/3D/src/Viewers/SceneViewer.d.ts +411 -411
  51. package/dist/declarations/3D/src/index.d.ts +61 -61
  52. package/dist/declarations/3D/src/types.d.ts +2 -2
  53. package/dist/declarations/composer/Admin/src/Pages/ParametricMeshesBuilder/uvHelpers.d.ts +1 -1
  54. package/dist/declarations/composer/Components/ChunkedTask.d.ts +16 -16
  55. package/dist/declarations/composer/Module/src/components/debug/debugPanel.d.ts +6 -6
  56. package/dist/declarations/composer/Module/src/components/tryOnViewer.d.ts +109 -109
  57. package/dist/declarations/composer/Module/src/environment.d.ts +1 -0
  58. package/dist/globals0.js +1 -1
  59. package/dist/globals1.js +1 -1
  60. package/dist/globals3.js +1 -1
  61. package/dist/index.js +76953 -76761
  62. package/dist/index.js.map +1 -1
  63. package/package.json +43 -43
@@ -1,411 +1,411 @@
1
- import { ComposerScript, SceneActionsExecutor } from '../Components/ActionExecutor/SceneActionExecutor';
2
- import { MeshLocationsManager } from '../Components/CollapseExplode/MeshLocationsManager';
3
- import { SceneDesignManager } from '../Components/DesignManagers/SceneDesignManager';
4
- import { EnvironmentManager } from '../Components/Environment/EnvironmentManager';
5
- import { GlowManager } from '../Components/Glow/GlowManager';
6
- import { InfoPointContentHiddenListener, InfoPointContentShownListener, InfoPointPickedEventListener, InfoPointsManager, InfoPointsManagerStyle } from '../Components/InfoPointsManager/InfoPointsManager';
7
- import { SceneHelper } from '../Components/SceneHelper';
8
- import { IDisposable } from '../Interfaces/IDisposable';
9
- import { Nullable } from '../types';
10
- export type GroupPickedEventArgs = {
11
- groupID: number;
12
- };
13
- export type GroupPickedEventListener = (evt: GroupPickedEventArgs) => void;
14
- export type FocusAttributesEventArgs = {
15
- groups: {
16
- groupId: number;
17
- visibleAttributes: number[];
18
- hiddenAttributes: number[];
19
- }[];
20
- };
21
- export type FocusAttributesEventListener = (evt: FocusAttributesEventArgs) => void;
22
- export type ShowResizableCanvasEventArgs = {
23
- colorId: number;
24
- sideIds: number[];
25
- width: number;
26
- height: number;
27
- depth: number;
28
- borderRadius: number;
29
- type: 'colored' | 'mirrored';
30
- borderColor: string;
31
- columns: number;
32
- rows: number;
33
- };
34
- export type ArFileFormat = 'usdz' | 'glTF' | 'glb';
35
- export declare enum BroadcastChannelEventType {
36
- CameraMovement = "camera-movement",
37
- ScriptExecution = "script-execution",
38
- DesignChanged = "design-changed"
39
- }
40
- export type DracoDecodingResult = {
41
- indices?: BABYLON.IndicesArray;
42
- positions?: BABYLON.FloatArray;
43
- normals?: BABYLON.FloatArray;
44
- uvs?: BABYLON.FloatArray;
45
- uvs2?: BABYLON.FloatArray;
46
- };
47
- export type DracoDecodingCallback = (result: DracoDecodingResult) => void;
48
- export type SceneViewerOptions = {
49
- configPreview: boolean;
50
- defaultBackgroundColor?: string;
51
- showGround?: boolean;
52
- };
53
- export declare class SceneViewer implements IDisposable {
54
- protected _zkScene: Nullable<Zakeke.Scene>;
55
- protected _zkModel: Nullable<MPlaza.Model>;
56
- protected _canvasID: string;
57
- protected _canvas: Nullable<HTMLCanvasElement>;
58
- protected _domElement: Nullable<HTMLElement>;
59
- private _lastWidth;
60
- private _lastHeight;
61
- protected _engine: Nullable<BABYLON.Engine>;
62
- protected _scene: Nullable<BABYLON.Scene>;
63
- private _bindedResize;
64
- private _elementSelector;
65
- protected _sceneHelper: Nullable<SceneHelper>;
66
- protected _environmentManager: Nullable<EnvironmentManager>;
67
- protected _glowManager: Nullable<GlowManager>;
68
- protected _sceneActionsExecutor: Nullable<SceneActionsExecutor>;
69
- private _renderingNeeded;
70
- private _renderingPaused;
71
- protected _autoRender: boolean;
72
- protected _antialias: boolean;
73
- protected _postProcesses: BABYLON.PostProcess[];
74
- protected _camera: Nullable<BABYLON.Camera>;
75
- protected _hemiLight: Nullable<BABYLON.HemisphericLight>;
76
- protected _pointLight: Nullable<BABYLON.PointLight>;
77
- protected _highlightColor: string;
78
- protected _highlightSize: number;
79
- protected _highlightLayer: Nullable<BABYLON.HighlightLayer>;
80
- protected _highlightBlurHorizontalSize: number;
81
- protected _highlightBlurVerticalSize: number;
82
- protected _highlightAnimationID: Nullable<number>;
83
- protected _highlightCurrentMeshes: BABYLON.AbstractMesh[];
84
- protected _highlightNextMeshes: BABYLON.AbstractMesh[];
85
- protected _deviceType: MPlaza.DeviceType;
86
- private _destroyed;
87
- protected _sceneDesignManager: Nullable<SceneDesignManager>;
88
- protected _meshLocationsManager: Nullable<MeshLocationsManager>;
89
- private _groupPickedListeners;
90
- private _focusAttributesListeners;
91
- private _designNotifyMessageListeners;
92
- private _designRemoveMessageListeners;
93
- private _designEventMessages;
94
- private _onDelayLoadingStart;
95
- private _onDelayLoadingProgress;
96
- private _onDelayLoadingSuccess;
97
- private _onDelayLoadingError;
98
- private _infoPointPickedListeners;
99
- private _infoPointContentShownListeners;
100
- private _infoPointContentHiddenListeners;
101
- private _beginAssetsLoadingListeners;
102
- private _endAssetsLoadingListeners;
103
- private _nextSceneMeshesLoadedListeners;
104
- private _nextSceneTexturesLoadedListeners;
105
- private _beginSceneLoadingListeners;
106
- private _endSceneLoadingListeners;
107
- private _arFileUrls;
108
- private _designTextureResolution;
109
- private _configPreview;
110
- private _defaultBackgroundColor;
111
- private _grids;
112
- private _dracoCompression;
113
- protected _infoPointsManager: Nullable<InfoPointsManager>;
114
- protected _infoPointsManagerStyle: Nullable<InfoPointsManagerStyle>;
115
- protected _canShowInfoPoints: boolean;
116
- protected _canShowInfoPointsContent: boolean;
117
- private _broadcastChannel;
118
- private _isHologramSource;
119
- private _isHologram;
120
- private _lastResizableMeshID;
121
- private _brandLogoButton;
122
- private _advancedTexture;
123
- private _performanceInfo;
124
- private _currentRotation;
125
- private _isRotating;
126
- get zkScene(): Nullable<Zakeke.Scene>;
127
- get zkModel(): Nullable<MPlaza.Model>;
128
- get canvas(): Nullable<HTMLCanvasElement>;
129
- get engine(): Nullable<BABYLON.Engine>;
130
- get scene(): Nullable<BABYLON.Scene>;
131
- get autoRender(): boolean;
132
- set autoRender(value: boolean);
133
- get antialias(): boolean;
134
- set antialias(value: boolean);
135
- get isLowEndDevice(): boolean | null;
136
- get isHologramSource(): boolean;
137
- set isHologramSource(value: boolean);
138
- get isHologram(): boolean;
139
- set isHologram(value: boolean);
140
- getAntialiasEnabled(): boolean;
141
- setAntialiasEnabled(value: boolean): void;
142
- getARScale(): boolean;
143
- setARScale(value: boolean): void;
144
- getUseMaterialOffloading(): boolean;
145
- setUseMaterialOffloading(value: boolean): void;
146
- getPrefetchMeshes(): boolean;
147
- setPrefetchMeshes(value: boolean): void;
148
- getPrefetchMaterials(): boolean;
149
- setPrefetchMaterials(value: boolean): void;
150
- getShowHideInfoPoints(): boolean;
151
- setShowHideInfoPoints(value: boolean): void;
152
- get camera(): Nullable<BABYLON.Camera>;
153
- get deviceType(): MPlaza.DeviceType;
154
- set deviceType(value: MPlaza.DeviceType);
155
- getDeviceType(): MPlaza.DeviceType;
156
- get highlightColor(): string;
157
- set highlightColor(value: string);
158
- get highlightSize(): number;
159
- set highlightSize(value: number);
160
- get destroyed(): boolean;
161
- get onDelayLoadingStart(): Nullable<(evt: any) => void>;
162
- set onDelayLoadingStart(callback: Nullable<(evt: any) => void>);
163
- get onDelayLoadingProgress(): Nullable<(evt: any) => void>;
164
- set onDelayLoadingProgress(callback: Nullable<(evt: any) => void>);
165
- get onDelayLoadingSuccess(): Nullable<(evt: any) => void>;
166
- set onDelayLoadingSuccess(callback: Nullable<(evt: any) => void>);
167
- get onDelayLoadingError(): Nullable<(evt: any) => void>;
168
- set onDelayLoadingError(callback: Nullable<(evt: any) => void>);
169
- private get dracoCompression();
170
- get infoPointsShown(): boolean;
171
- get infoPointsManagerStyle(): Nullable<InfoPointsManagerStyle>;
172
- set infoPointsManagerStyle(style: Nullable<InfoPointsManagerStyle>);
173
- get canShowInfoPoints(): boolean;
174
- set canShowInfoPoints(value: boolean);
175
- get canShowInfoPointsContent(): boolean;
176
- set canShowInfoPointsContent(value: boolean);
177
- protected constructor(options?: SceneViewerOptions | boolean);
178
- static createSceneViewerAsync(options?: SceneViewerOptions | boolean): Promise<SceneViewer>;
179
- dispose(): void;
180
- setCameraLocked: (isBlocked?: boolean) => void;
181
- protected initAsync(): Promise<void>;
182
- protected init3DEngineAsync(): Promise<void>;
183
- protected createCanvas(): HTMLCanvasElement;
184
- private removeCanvas;
185
- private deleteEngine;
186
- protected deleteScene(): void;
187
- protected deleteComponents(): void;
188
- private disposeInfoPointsManager;
189
- protected disposePostProcesses(): void;
190
- protected emptyArFileCache(): void;
191
- resetSceneAsync(): Promise<void>;
192
- private closeBroadcastChannel;
193
- private openBroadcastChannel;
194
- private getOrCreateBroadcastChannel;
195
- protected createEngine(): void;
196
- createBrandLogoButton(): BABYLON.GUI.Button;
197
- createEmptySceneAsync(): Promise<void>;
198
- protected setupSceneAsync(): Promise<void>;
199
- onBeforeRender(): void;
200
- render(): void;
201
- protected checkRendering(): void;
202
- private resetPerformanceInfo;
203
- private checkPerformance;
204
- protected setupAntialiasPostProcesses(): void;
205
- protected createAntialiasPostProcesses(): void;
206
- protected canEnableAntialiasing(): boolean;
207
- protected enableAntialiasing(): void;
208
- protected disableAntialiasing(clearPostProcessed?: boolean): void;
209
- setRenderingNeeded(): void;
210
- setLongRenderingNeeded(): void;
211
- refreshRendering(): void;
212
- pauseRendering(): void;
213
- resumeRendering(): void;
214
- setLoadingScreen(loadingScreen: BABYLON.ILoadingScreen): void;
215
- private setRenderingOnDelayLoaded;
216
- protected createHighlightLayer(): void;
217
- protected setupHighlightLayerIntensity(): void;
218
- protected updateHighlightLayerExcludedDesignMeshes(): void;
219
- protected createDOMElement(): void;
220
- protected removeDomElement(): void;
221
- appendTo(element: HTMLElement): void;
222
- detach(): void;
223
- updateView(): void;
224
- protected resize(): void;
225
- switchFullScreen(parent: any): void;
226
- protected setupGlowManager(): void;
227
- protected setupSceneActionsExecutorAsync(): Promise<void>;
228
- restoreCameraState(): void;
229
- protected fixEnvironmentTexture(): void;
230
- checkSceneEmptyEnvironmentTexture(): void;
231
- protected setDefaultSceneEnvironmentTexture(): void;
232
- protected setSceneEnvironmentTexture(url: string, rotationY?: number, extensions?: string[], files?: string[], onLoad?: () => void): void;
233
- loadSceneFromModelAsync(zkModel: Nullable<MPlaza.Model>, zkScene: Zakeke.Scene, onProgress?: Nullable<(event: BABYLON.ISceneLoaderProgressEvent) => void>): Promise<void>;
234
- loadSceneFromModelDataAsync(zkModel: Nullable<MPlaza.Model>, zkScene: Zakeke.Scene, sceneJson: string, onProgress?: Nullable<(event: BABYLON.ISceneLoaderProgressEvent) => void>): Promise<void>;
235
- protected preSceneFileLoading(): void;
236
- protected postSceneFileLoading(): void;
237
- loadSceneFromRemoteFilesAsync(rootUrl: string, sceneFileName: string, onProgress?: Nullable<(event: BABYLON.ISceneLoaderProgressEvent) => void>): Promise<void>;
238
- getSkyboxTexture(): Nullable<BABYLON.BaseTexture> | undefined;
239
- loadSceneFromRemoteFilesAsync_OLD(rootUrl: string, sceneFileName: string, onProgress?: Nullable<(event: BABYLON.ISceneLoaderProgressEvent) => void>): Promise<void>;
240
- protected checkSceneShaderMaterials(zkScene: Zakeke.Scene): void;
241
- protected checkShaderMaterial(zkMaterial: Zakeke.Material): void;
242
- protected setupShadersStore(shaderInfo: {
243
- name: string;
244
- vertex: string;
245
- fragment: string;
246
- }): void;
247
- isRealMesh(mesh: any): boolean;
248
- countSceneMeshes(): number;
249
- getVisibleMeshes(): BABYLON.AbstractMesh[];
250
- getSceneBoundingInfo(): Nullable<BABYLON.BoundingInfo>;
251
- selectMesh(id: string): void;
252
- unselectMesh(id: string): void;
253
- unselectAllMeshes(): void;
254
- selectUnselectMesh(id: string, select: boolean): void;
255
- selectSingleMesh(mesh: BABYLON.AbstractMesh): void;
256
- unselectSingleMesh(mesh: BABYLON.AbstractMesh): void;
257
- selectMeshesWithMaterial(materialID: string): void;
258
- unselectMeshesWithMaterial(materialID: string): void;
259
- selectUnselectMeshesWithMaterial(materialID: string, select: boolean): void;
260
- protected onPointerDown(evt: BABYLON.IPointerEvent, pickInfo: BABYLON.PickingInfo): void;
261
- protected getSelectedRootMesh(): Nullable<BABYLON.AbstractMesh>;
262
- getMeshByID(id: string): Nullable<BABYLON.AbstractMesh>;
263
- getMeshByName(id: string): Nullable<BABYLON.AbstractMesh>;
264
- getMaterialByID(id: string): Nullable<BABYLON.Material>;
265
- setCameraLocation(locationID: string, onlyAngleOfView?: boolean, animate?: boolean): void;
266
- adjustCamera(animate?: boolean): void;
267
- zoomIn(): void;
268
- zoomOut(): void;
269
- zoom(perc: number): void;
270
- setCameraPivot(meshID: string | null | undefined): void;
271
- setCameraZoomEnabled(enabled: boolean): void;
272
- executeScriptAsync(script: ComposerScript): Promise<void>;
273
- executeActionsAsync(attributeID: Nullable<number>, selectedValue: Nullable<string>, actions: MPlaza.AttributeSceneAction[]): Promise<void>;
274
- prefetchMeshesForUnselectedOptionsAsync(actions: MPlaza.AttributeSceneAction[]): Promise<void>;
275
- prefetchDataForUnselectedOptionsAsync(actions: MPlaza.AttributeSceneAction[]): Promise<void>;
276
- refreshEnvironment(): void;
277
- highlightMeshes(meshes: BABYLON.AbstractMesh[]): void;
278
- highlightGroupForMesh(mesh: BABYLON.AbstractMesh): void;
279
- highlightGroupByID(groupID: number): void;
280
- highlightGroup(zkGroup: Nullable<MPlaza.AttributeGroup>): void;
281
- getGroupForMesh(mesh: BABYLON.AbstractMesh): Nullable<MPlaza.AttributeGroup>;
282
- highlightAttributeByID(attributeID: number): void;
283
- highlightAttribute(zkAttribute: Nullable<MPlaza.Attribute>): void;
284
- getVisibleHiddenAttributesForMesh(mesh: BABYLON.AbstractMesh): {
285
- groupId: number;
286
- visibleAttributes: number[];
287
- hiddenAttributes: number[];
288
- }[];
289
- protected fireGroupPickedEvent(e: GroupPickedEventArgs): void;
290
- addGroupPickedListener(listenerFunction: GroupPickedEventListener): void;
291
- protected fireFocusAttributesEvent(e: FocusAttributesEventArgs): void;
292
- addFocusAttributesListener(listenerFunction: FocusAttributesEventListener): void;
293
- addNotifyMessageListener(listener: (sideID: number, itemGuid: string, type: number, title: string, message: string, closable: boolean, requiredWidth: number, requiredHeight: number, addToCartDisabledIfVisible: boolean) => void): void;
294
- addRemoveMessageListener(listener: (sideID: number, itemGuid: string) => void): void;
295
- setEventMessages(eventMessages: any): void;
296
- addInfoPointPickedListener(listenerFunction: InfoPointPickedEventListener): void;
297
- addInfoPointContentShownListener(listenerFunction: InfoPointContentShownListener): void;
298
- addInfoPointContentHiddenListener(listenerFunction: InfoPointContentHiddenListener): void;
299
- addBeginAssetsLoadingListener(callback: () => void): void;
300
- private fireBeginAssetsLoadingEvent;
301
- addEndAssetsLoadingListener(callback: () => void): void;
302
- private fireEndAssetsLoadingEvent;
303
- addNextSceneMeshesLoadedListeners(callback: (meshLoaded: number, maxMeshes: number) => Promise<void>): void;
304
- private fireNextSceneMeshesLoadedEvent;
305
- addNextSceneTextureLoadedListeners(callback: (textureLoaded: number, maxTexture: number) => Promise<void>): void;
306
- private fireNextSceneTextureLoadedEvent;
307
- addBeginSceneLoadingListener(callback: () => void): void;
308
- private fireBeginSceneLoadingEvent;
309
- addEndSceneLoadingListener(callback: () => void): void;
310
- private fireEndSceneLoadingEvent;
311
- getSceneScreenshotAsync(width: number, height: number): Promise<Nullable<string>>;
312
- getSceneContentScreenshotAsync(width: any, height: any, padding?: number, zkDesign?: MPlaza.Design | null, legacyScreenshot?: boolean, camera?: Zakeke.SceneCameraLocation | null): Promise<Nullable<string>>;
313
- protected preSceneContentScreenshot(): void;
314
- protected postSceneContentScreenshot(): void;
315
- protected preSceneMaterialScreenshot(): void;
316
- protected postSceneMaterialScreenshot(): void;
317
- getMaterialScreenshotAsync(materialID: string, width: number, height: number): Promise<Nullable<string>>;
318
- clearListeners(): void;
319
- renderDesignAsync(zkDesign: MPlaza.Design, showDesign?: boolean): Promise<void>;
320
- resetDesign(): void;
321
- clearMeshDesignManagers(): void;
322
- refreshMeshesDesignAsync(meshes: Nullable<BABYLON.AbstractMesh[]>, effect: Nullable<MPlaza.ModelSceneMeshDesignEffect>): Promise<void>;
323
- refreshMeshDesignAsync(meshID: string, submeshID?: number, effect?: MPlaza.ModelSceneMeshDesignEffect): Promise<void>;
324
- setCustomizerGrids(grids: MPlaza.Grid[]): void;
325
- removeDesignItem(guid: string): void;
326
- addDesignItemText(settings: any, sideId: number): void | undefined;
327
- addDesignItemImage(imageID: number, sideId: number): Promise<void>;
328
- getDesignItemsInfo(): MPlaza.ItemInfo[];
329
- setDesignItemText(guid: string, text: string): void;
330
- setDesignItemBold(guid: string, bold: boolean): void;
331
- setDesignItemItalic(guid: string, italic: boolean): void;
332
- setDesignItemColor(guid: string, color: string): void;
333
- setDesignItemFontFamily(guid: string, fontFamily: string): void;
334
- setDesignItemImage(guid: string, image: MPlaza.Image): Promise<void>;
335
- setItemTextOnPath(guid: string, areaId: number, value: boolean): void;
336
- removeDesignItemImage(guid: string): void;
337
- setDesignVisibility(meshId: string, opacity: boolean): void;
338
- setupShaderMaterialsCameraPosition(): void;
339
- setupShaderMaterialCameraPosition(material: BABYLON.Material): void;
340
- setMeshLocation(locationID: string): void;
341
- explodeMeshes(): Promise<void>;
342
- collapseMeshes(): Promise<void>;
343
- dracoDecodingFunction(filename: string, fileBytes: ArrayBuffer, callback: DracoDecodingCallback): void;
344
- private decodeDracoFile;
345
- exportSceneToBabylon(): Nullable<string>;
346
- exportVisibleMeshesToBabylon(): Nullable<string>;
347
- exportMeshesForTyOnToBabylon(): Promise<Nullable<string>>;
348
- exportMeshToBabylon(meshID: string): Promise<Nullable<string>>;
349
- downloadMeshToBabylon(meshID: string): Promise<void>;
350
- saveSceneOnDatabaseAsync(fileId: string): Promise<void>;
351
- saveVisibleMeshesOnDatabaseAsync(fileId: string): Promise<void>;
352
- saveGlbOnDatabaseAsync(fileId: string): Promise<void>;
353
- private getArFileUrlCacheKey;
354
- private getCachedArFileUrl;
355
- private cacheArFileUrl;
356
- exportMeshToGLBBlob(meshID: string): Promise<Blob | null>;
357
- exportSceneToUsdzAsync(sceneID?: string, sceneCode?: string, useCacheWithDesign?: boolean): Promise<Nullable<string>>;
358
- loadFromGlbUrl(url: string, sceneConfig?: any): Promise<void>;
359
- exportMeshToUsdzAsync(meshID: string): Promise<Nullable<string>>;
360
- exportSceneToRemoteGlTFAsync(sceneID?: string, sceneCode?: string, useCacheWithDesign?: boolean): Promise<Nullable<string>>;
361
- exportMeshToRemoteGlTFAsync(meshID: string): Promise<Nullable<string>>;
362
- exportSceneToRemoteGLBAsync(sceneID?: string, sceneCode?: string, useCacheWithDesign?: boolean): Promise<Nullable<string>>;
363
- exportMeshToRemoteGLBAsync(meshID: string): Promise<Nullable<string>>;
364
- exportSceneToARAsync(): Promise<{
365
- format: string;
366
- arFileUrl: string;
367
- }[]>;
368
- exportMeshToARAsync(meshID: string): Promise<{
369
- format: string;
370
- arFileUrl: string;
371
- }[]>;
372
- isAREnabled(): boolean;
373
- exportSceneToLocalGLBAsync(): Promise<Blob | string | null>;
374
- downloadSceneLocalGLBAsync(): Promise<void>;
375
- exportSceneToLocalUSDZAsync(): Promise<string | null>;
376
- downloadSceneLocalUSDZAsync(): Promise<void>;
377
- getSceneRootUrl(): Promise<Nullable<string>>;
378
- isTryOnMeshVisibleEnabledToShow(): boolean;
379
- getTryOnMeshVisible(): BABYLON.Mesh | null;
380
- getTryOnFineTuningMeshVisible(): BABYLON.Mesh | null;
381
- refreshInfoPoints(): void;
382
- private getInfoPointsManagerStyle;
383
- private updateInfoPointsManagerStyle;
384
- showInfoPoints(): void;
385
- hideInfoPoints(): void;
386
- reloadAllLoadingErrorTexturesAsync(): Promise<void>;
387
- reloadMaterialLoadingErrorTexturesAsync(material: BABYLON.Material): Promise<void>;
388
- reloadLoadingErrorTextureAsync(texture: BABYLON.BaseTexture): Promise<void>;
389
- isTextureLoadingError(texture: BABYLON.BaseTexture): boolean;
390
- materialHasLoadingErrorTextues(material: BABYLON.Material): boolean;
391
- notifyCameraMovement(): void;
392
- notifyScriptExecution(script: ComposerScript): void;
393
- notifyDesignChanged(zkDesign: MPlaza.Design): void;
394
- protected notifyActionExecution(attributeID: Nullable<number>, selectedValue: Nullable<string>, actions: MPlaza.AttributeSceneAction[]): void;
395
- protected attachBroadcastChannelEventHandlers(): void;
396
- protected detachBroadcastChannelEventHandlers(): void;
397
- private onBroadcastMessageReceived;
398
- private processCameraMovementEvent;
399
- private processScriptExecution;
400
- private processDesignChanged;
401
- private showResizableCanvasModel;
402
- showResizableCanvasPerCurrentSide(args: ShowResizableCanvasEventArgs & {
403
- currentSideId: number;
404
- }): Promise<void>;
405
- showResizableCanvasPerVariant(args: ShowResizableCanvasEventArgs & {
406
- sidesIds: number[];
407
- }): Promise<void>;
408
- clearResizableProduct(): void;
409
- switchMode(mode: 'upload' | 'resizable'): void;
410
- rotate(angle: number, animate: boolean): Promise<void>;
411
- }
1
+ import { ComposerScript, SceneActionsExecutor } from '../Components/ActionExecutor/SceneActionExecutor';
2
+ import { MeshLocationsManager } from '../Components/CollapseExplode/MeshLocationsManager';
3
+ import { SceneDesignManager } from '../Components/DesignManagers/SceneDesignManager';
4
+ import { EnvironmentManager } from '../Components/Environment/EnvironmentManager';
5
+ import { GlowManager } from '../Components/Glow/GlowManager';
6
+ import { InfoPointContentHiddenListener, InfoPointContentShownListener, InfoPointPickedEventListener, InfoPointsManager, InfoPointsManagerStyle } from '../Components/InfoPointsManager/InfoPointsManager';
7
+ import { SceneHelper } from '../Components/SceneHelper';
8
+ import { IDisposable } from '../Interfaces/IDisposable';
9
+ import { Nullable } from '../types';
10
+ export type GroupPickedEventArgs = {
11
+ groupID: number;
12
+ };
13
+ export type GroupPickedEventListener = (evt: GroupPickedEventArgs) => void;
14
+ export type FocusAttributesEventArgs = {
15
+ groups: {
16
+ groupId: number;
17
+ visibleAttributes: number[];
18
+ hiddenAttributes: number[];
19
+ }[];
20
+ };
21
+ export type FocusAttributesEventListener = (evt: FocusAttributesEventArgs) => void;
22
+ export type ShowResizableCanvasEventArgs = {
23
+ colorId: number;
24
+ sideIds: number[];
25
+ width: number;
26
+ height: number;
27
+ depth: number;
28
+ borderRadius: number;
29
+ type: 'colored' | 'mirrored';
30
+ borderColor: string;
31
+ columns: number;
32
+ rows: number;
33
+ };
34
+ export type ArFileFormat = 'usdz' | 'glTF' | 'glb';
35
+ export declare enum BroadcastChannelEventType {
36
+ CameraMovement = "camera-movement",
37
+ ScriptExecution = "script-execution",
38
+ DesignChanged = "design-changed"
39
+ }
40
+ export type DracoDecodingResult = {
41
+ indices?: BABYLON.IndicesArray;
42
+ positions?: BABYLON.FloatArray;
43
+ normals?: BABYLON.FloatArray;
44
+ uvs?: BABYLON.FloatArray;
45
+ uvs2?: BABYLON.FloatArray;
46
+ };
47
+ export type DracoDecodingCallback = (result: DracoDecodingResult) => void;
48
+ export type SceneViewerOptions = {
49
+ configPreview: boolean;
50
+ defaultBackgroundColor?: string;
51
+ showGround?: boolean;
52
+ };
53
+ export declare class SceneViewer implements IDisposable {
54
+ protected _zkScene: Nullable<Zakeke.Scene>;
55
+ protected _zkModel: Nullable<MPlaza.Model>;
56
+ protected _canvasID: string;
57
+ protected _canvas: Nullable<HTMLCanvasElement>;
58
+ protected _domElement: Nullable<HTMLElement>;
59
+ private _lastWidth;
60
+ private _lastHeight;
61
+ protected _engine: Nullable<BABYLON.Engine>;
62
+ protected _scene: Nullable<BABYLON.Scene>;
63
+ private _bindedResize;
64
+ private _elementSelector;
65
+ protected _sceneHelper: Nullable<SceneHelper>;
66
+ protected _environmentManager: Nullable<EnvironmentManager>;
67
+ protected _glowManager: Nullable<GlowManager>;
68
+ protected _sceneActionsExecutor: Nullable<SceneActionsExecutor>;
69
+ private _renderingNeeded;
70
+ private _renderingPaused;
71
+ protected _autoRender: boolean;
72
+ protected _antialias: boolean;
73
+ protected _postProcesses: BABYLON.PostProcess[];
74
+ protected _camera: Nullable<BABYLON.Camera>;
75
+ protected _hemiLight: Nullable<BABYLON.HemisphericLight>;
76
+ protected _pointLight: Nullable<BABYLON.PointLight>;
77
+ protected _highlightColor: string;
78
+ protected _highlightSize: number;
79
+ protected _highlightLayer: Nullable<BABYLON.HighlightLayer>;
80
+ protected _highlightBlurHorizontalSize: number;
81
+ protected _highlightBlurVerticalSize: number;
82
+ protected _highlightAnimationID: Nullable<number>;
83
+ protected _highlightCurrentMeshes: BABYLON.AbstractMesh[];
84
+ protected _highlightNextMeshes: BABYLON.AbstractMesh[];
85
+ protected _deviceType: MPlaza.DeviceType;
86
+ private _destroyed;
87
+ protected _sceneDesignManager: Nullable<SceneDesignManager>;
88
+ protected _meshLocationsManager: Nullable<MeshLocationsManager>;
89
+ private _groupPickedListeners;
90
+ private _focusAttributesListeners;
91
+ private _designNotifyMessageListeners;
92
+ private _designRemoveMessageListeners;
93
+ private _designEventMessages;
94
+ private _onDelayLoadingStart;
95
+ private _onDelayLoadingProgress;
96
+ private _onDelayLoadingSuccess;
97
+ private _onDelayLoadingError;
98
+ private _infoPointPickedListeners;
99
+ private _infoPointContentShownListeners;
100
+ private _infoPointContentHiddenListeners;
101
+ private _beginAssetsLoadingListeners;
102
+ private _endAssetsLoadingListeners;
103
+ private _nextSceneMeshesLoadedListeners;
104
+ private _nextSceneTexturesLoadedListeners;
105
+ private _beginSceneLoadingListeners;
106
+ private _endSceneLoadingListeners;
107
+ private _arFileUrls;
108
+ private _designTextureResolution;
109
+ private _configPreview;
110
+ private _defaultBackgroundColor;
111
+ private _grids;
112
+ private _dracoCompression;
113
+ protected _infoPointsManager: Nullable<InfoPointsManager>;
114
+ protected _infoPointsManagerStyle: Nullable<InfoPointsManagerStyle>;
115
+ protected _canShowInfoPoints: boolean;
116
+ protected _canShowInfoPointsContent: boolean;
117
+ private _broadcastChannel;
118
+ private _isHologramSource;
119
+ private _isHologram;
120
+ private _lastResizableMeshID;
121
+ private _brandLogoButton;
122
+ private _advancedTexture;
123
+ private _performanceInfo;
124
+ private _currentRotation;
125
+ private _isRotating;
126
+ get zkScene(): Nullable<Zakeke.Scene>;
127
+ get zkModel(): Nullable<MPlaza.Model>;
128
+ get canvas(): Nullable<HTMLCanvasElement>;
129
+ get engine(): Nullable<BABYLON.Engine>;
130
+ get scene(): Nullable<BABYLON.Scene>;
131
+ get autoRender(): boolean;
132
+ set autoRender(value: boolean);
133
+ get antialias(): boolean;
134
+ set antialias(value: boolean);
135
+ get isLowEndDevice(): boolean | null;
136
+ get isHologramSource(): boolean;
137
+ set isHologramSource(value: boolean);
138
+ get isHologram(): boolean;
139
+ set isHologram(value: boolean);
140
+ getAntialiasEnabled(): boolean;
141
+ setAntialiasEnabled(value: boolean): void;
142
+ getARScale(): boolean;
143
+ setARScale(value: boolean): void;
144
+ getUseMaterialOffloading(): boolean;
145
+ setUseMaterialOffloading(value: boolean): void;
146
+ getPrefetchMeshes(): boolean;
147
+ setPrefetchMeshes(value: boolean): void;
148
+ getPrefetchMaterials(): boolean;
149
+ setPrefetchMaterials(value: boolean): void;
150
+ getShowHideInfoPoints(): boolean;
151
+ setShowHideInfoPoints(value: boolean): void;
152
+ get camera(): Nullable<BABYLON.Camera>;
153
+ get deviceType(): MPlaza.DeviceType;
154
+ set deviceType(value: MPlaza.DeviceType);
155
+ getDeviceType(): MPlaza.DeviceType;
156
+ get highlightColor(): string;
157
+ set highlightColor(value: string);
158
+ get highlightSize(): number;
159
+ set highlightSize(value: number);
160
+ get destroyed(): boolean;
161
+ get onDelayLoadingStart(): Nullable<(evt: any) => void>;
162
+ set onDelayLoadingStart(callback: Nullable<(evt: any) => void>);
163
+ get onDelayLoadingProgress(): Nullable<(evt: any) => void>;
164
+ set onDelayLoadingProgress(callback: Nullable<(evt: any) => void>);
165
+ get onDelayLoadingSuccess(): Nullable<(evt: any) => void>;
166
+ set onDelayLoadingSuccess(callback: Nullable<(evt: any) => void>);
167
+ get onDelayLoadingError(): Nullable<(evt: any) => void>;
168
+ set onDelayLoadingError(callback: Nullable<(evt: any) => void>);
169
+ private get dracoCompression();
170
+ get infoPointsShown(): boolean;
171
+ get infoPointsManagerStyle(): Nullable<InfoPointsManagerStyle>;
172
+ set infoPointsManagerStyle(style: Nullable<InfoPointsManagerStyle>);
173
+ get canShowInfoPoints(): boolean;
174
+ set canShowInfoPoints(value: boolean);
175
+ get canShowInfoPointsContent(): boolean;
176
+ set canShowInfoPointsContent(value: boolean);
177
+ protected constructor(options?: SceneViewerOptions | boolean);
178
+ static createSceneViewerAsync(options?: SceneViewerOptions | boolean): Promise<SceneViewer>;
179
+ dispose(): void;
180
+ setCameraLocked: (isBlocked?: boolean) => void;
181
+ protected initAsync(): Promise<void>;
182
+ protected init3DEngineAsync(): Promise<void>;
183
+ protected createCanvas(): HTMLCanvasElement;
184
+ private removeCanvas;
185
+ private deleteEngine;
186
+ protected deleteScene(): void;
187
+ protected deleteComponents(): void;
188
+ private disposeInfoPointsManager;
189
+ protected disposePostProcesses(): void;
190
+ protected emptyArFileCache(): void;
191
+ resetSceneAsync(): Promise<void>;
192
+ private closeBroadcastChannel;
193
+ private openBroadcastChannel;
194
+ private getOrCreateBroadcastChannel;
195
+ protected createEngine(): void;
196
+ createBrandLogoButton(): BABYLON.GUI.Button;
197
+ createEmptySceneAsync(): Promise<void>;
198
+ protected setupSceneAsync(): Promise<void>;
199
+ onBeforeRender(): void;
200
+ render(): void;
201
+ protected checkRendering(): void;
202
+ private resetPerformanceInfo;
203
+ private checkPerformance;
204
+ protected setupAntialiasPostProcesses(): void;
205
+ protected createAntialiasPostProcesses(): void;
206
+ protected canEnableAntialiasing(): boolean;
207
+ protected enableAntialiasing(): void;
208
+ protected disableAntialiasing(clearPostProcessed?: boolean): void;
209
+ setRenderingNeeded(): void;
210
+ setLongRenderingNeeded(): void;
211
+ refreshRendering(): void;
212
+ pauseRendering(): void;
213
+ resumeRendering(): void;
214
+ setLoadingScreen(loadingScreen: BABYLON.ILoadingScreen): void;
215
+ private setRenderingOnDelayLoaded;
216
+ protected createHighlightLayer(): void;
217
+ protected setupHighlightLayerIntensity(): void;
218
+ protected updateHighlightLayerExcludedDesignMeshes(): void;
219
+ protected createDOMElement(): void;
220
+ protected removeDomElement(): void;
221
+ appendTo(element: HTMLElement): void;
222
+ detach(): void;
223
+ updateView(): void;
224
+ protected resize(): void;
225
+ switchFullScreen(parent: any): void;
226
+ protected setupGlowManager(): void;
227
+ protected setupSceneActionsExecutorAsync(): Promise<void>;
228
+ restoreCameraState(): void;
229
+ protected fixEnvironmentTexture(): void;
230
+ checkSceneEmptyEnvironmentTexture(): void;
231
+ protected setDefaultSceneEnvironmentTexture(): void;
232
+ protected setSceneEnvironmentTexture(url: string, rotationY?: number, extensions?: string[], files?: string[], onLoad?: () => void): void;
233
+ loadSceneFromModelAsync(zkModel: Nullable<MPlaza.Model>, zkScene: Zakeke.Scene, onProgress?: Nullable<(event: BABYLON.ISceneLoaderProgressEvent) => void>): Promise<void>;
234
+ loadSceneFromModelDataAsync(zkModel: Nullable<MPlaza.Model>, zkScene: Zakeke.Scene, sceneJson: string, onProgress?: Nullable<(event: BABYLON.ISceneLoaderProgressEvent) => void>): Promise<void>;
235
+ protected preSceneFileLoading(): void;
236
+ protected postSceneFileLoading(): void;
237
+ loadSceneFromRemoteFilesAsync(rootUrl: string, sceneFileName: string, onProgress?: Nullable<(event: BABYLON.ISceneLoaderProgressEvent) => void>): Promise<void>;
238
+ getSkyboxTexture(): Nullable<BABYLON.BaseTexture> | undefined;
239
+ loadSceneFromRemoteFilesAsync_OLD(rootUrl: string, sceneFileName: string, onProgress?: Nullable<(event: BABYLON.ISceneLoaderProgressEvent) => void>): Promise<void>;
240
+ protected checkSceneShaderMaterials(zkScene: Zakeke.Scene): void;
241
+ protected checkShaderMaterial(zkMaterial: Zakeke.Material): void;
242
+ protected setupShadersStore(shaderInfo: {
243
+ name: string;
244
+ vertex: string;
245
+ fragment: string;
246
+ }): void;
247
+ isRealMesh(mesh: any): boolean;
248
+ countSceneMeshes(): number;
249
+ getVisibleMeshes(): BABYLON.AbstractMesh[];
250
+ getSceneBoundingInfo(): Nullable<BABYLON.BoundingInfo>;
251
+ selectMesh(id: string): void;
252
+ unselectMesh(id: string): void;
253
+ unselectAllMeshes(): void;
254
+ selectUnselectMesh(id: string, select: boolean): void;
255
+ selectSingleMesh(mesh: BABYLON.AbstractMesh): void;
256
+ unselectSingleMesh(mesh: BABYLON.AbstractMesh): void;
257
+ selectMeshesWithMaterial(materialID: string): void;
258
+ unselectMeshesWithMaterial(materialID: string): void;
259
+ selectUnselectMeshesWithMaterial(materialID: string, select: boolean): void;
260
+ protected onPointerDown(evt: BABYLON.IPointerEvent, pickInfo: BABYLON.PickingInfo): void;
261
+ protected getSelectedRootMesh(): Nullable<BABYLON.AbstractMesh>;
262
+ getMeshByID(id: string): Nullable<BABYLON.AbstractMesh>;
263
+ getMeshByName(id: string): Nullable<BABYLON.AbstractMesh>;
264
+ getMaterialByID(id: string): Nullable<BABYLON.Material>;
265
+ setCameraLocation(locationID: string, onlyAngleOfView?: boolean, animate?: boolean): void;
266
+ adjustCamera(animate?: boolean): void;
267
+ zoomIn(): void;
268
+ zoomOut(): void;
269
+ zoom(perc: number): void;
270
+ setCameraPivot(meshID: string | null | undefined): void;
271
+ setCameraZoomEnabled(enabled: boolean): void;
272
+ executeScriptAsync(script: ComposerScript): Promise<void>;
273
+ executeActionsAsync(attributeID: Nullable<number>, selectedValue: Nullable<string>, actions: MPlaza.AttributeSceneAction[]): Promise<void>;
274
+ prefetchMeshesForUnselectedOptionsAsync(actions: MPlaza.AttributeSceneAction[]): Promise<void>;
275
+ prefetchDataForUnselectedOptionsAsync(actions: MPlaza.AttributeSceneAction[]): Promise<void>;
276
+ refreshEnvironment(): void;
277
+ highlightMeshes(meshes: BABYLON.AbstractMesh[]): void;
278
+ highlightGroupForMesh(mesh: BABYLON.AbstractMesh): void;
279
+ highlightGroupByID(groupID: number): void;
280
+ highlightGroup(zkGroup: Nullable<MPlaza.AttributeGroup>): void;
281
+ getGroupForMesh(mesh: BABYLON.AbstractMesh): Nullable<MPlaza.AttributeGroup>;
282
+ highlightAttributeByID(attributeID: number): void;
283
+ highlightAttribute(zkAttribute: Nullable<MPlaza.Attribute>): void;
284
+ getVisibleHiddenAttributesForMesh(mesh: BABYLON.AbstractMesh): {
285
+ groupId: number;
286
+ visibleAttributes: number[];
287
+ hiddenAttributes: number[];
288
+ }[];
289
+ protected fireGroupPickedEvent(e: GroupPickedEventArgs): void;
290
+ addGroupPickedListener(listenerFunction: GroupPickedEventListener): void;
291
+ protected fireFocusAttributesEvent(e: FocusAttributesEventArgs): void;
292
+ addFocusAttributesListener(listenerFunction: FocusAttributesEventListener): void;
293
+ addNotifyMessageListener(listener: (sideID: number, itemGuid: string, type: number, title: string, message: string, closable: boolean, requiredWidth: number, requiredHeight: number, addToCartDisabledIfVisible: boolean) => void): void;
294
+ addRemoveMessageListener(listener: (sideID: number, itemGuid: string) => void): void;
295
+ setEventMessages(eventMessages: any): void;
296
+ addInfoPointPickedListener(listenerFunction: InfoPointPickedEventListener): void;
297
+ addInfoPointContentShownListener(listenerFunction: InfoPointContentShownListener): void;
298
+ addInfoPointContentHiddenListener(listenerFunction: InfoPointContentHiddenListener): void;
299
+ addBeginAssetsLoadingListener(callback: () => void): void;
300
+ private fireBeginAssetsLoadingEvent;
301
+ addEndAssetsLoadingListener(callback: () => void): void;
302
+ private fireEndAssetsLoadingEvent;
303
+ addNextSceneMeshesLoadedListeners(callback: (meshLoaded: number, maxMeshes: number) => Promise<void>): void;
304
+ private fireNextSceneMeshesLoadedEvent;
305
+ addNextSceneTextureLoadedListeners(callback: (textureLoaded: number, maxTexture: number) => Promise<void>): void;
306
+ private fireNextSceneTextureLoadedEvent;
307
+ addBeginSceneLoadingListener(callback: () => void): void;
308
+ private fireBeginSceneLoadingEvent;
309
+ addEndSceneLoadingListener(callback: () => void): void;
310
+ private fireEndSceneLoadingEvent;
311
+ getSceneScreenshotAsync(width: number, height: number): Promise<Nullable<string>>;
312
+ getSceneContentScreenshotAsync(width: any, height: any, padding?: number, zkDesign?: MPlaza.Design | null, legacyScreenshot?: boolean, camera?: Zakeke.SceneCameraLocation | null): Promise<Nullable<string>>;
313
+ protected preSceneContentScreenshot(): void;
314
+ protected postSceneContentScreenshot(): void;
315
+ protected preSceneMaterialScreenshot(): void;
316
+ protected postSceneMaterialScreenshot(): void;
317
+ getMaterialScreenshotAsync(materialID: string, width: number, height: number): Promise<Nullable<string>>;
318
+ clearListeners(): void;
319
+ renderDesignAsync(zkDesign: MPlaza.Design, showDesign?: boolean): Promise<void>;
320
+ resetDesign(): void;
321
+ clearMeshDesignManagers(): void;
322
+ refreshMeshesDesignAsync(meshes: Nullable<BABYLON.AbstractMesh[]>, effect: Nullable<MPlaza.ModelSceneMeshDesignEffect>): Promise<void>;
323
+ refreshMeshDesignAsync(meshID: string, submeshID?: number, effect?: MPlaza.ModelSceneMeshDesignEffect): Promise<void>;
324
+ setCustomizerGrids(grids: MPlaza.Grid[]): void;
325
+ removeDesignItem(guid: string): void;
326
+ addDesignItemText(settings: any, sideId: number): void | undefined;
327
+ addDesignItemImage(imageID: number, sideId: number): Promise<void>;
328
+ getDesignItemsInfo(): MPlaza.ItemInfo[];
329
+ setDesignItemText(guid: string, text: string): void;
330
+ setDesignItemBold(guid: string, bold: boolean): void;
331
+ setDesignItemItalic(guid: string, italic: boolean): void;
332
+ setDesignItemColor(guid: string, color: string): void;
333
+ setDesignItemFontFamily(guid: string, fontFamily: string): void;
334
+ setDesignItemImage(guid: string, image: MPlaza.Image): Promise<void>;
335
+ setItemTextOnPath(guid: string, areaId: number, value: boolean): void;
336
+ removeDesignItemImage(guid: string): void;
337
+ setDesignVisibility(meshId: string, opacity: boolean): void;
338
+ setupShaderMaterialsCameraPosition(): void;
339
+ setupShaderMaterialCameraPosition(material: BABYLON.Material): void;
340
+ setMeshLocation(locationID: string): void;
341
+ explodeMeshes(): Promise<void>;
342
+ collapseMeshes(): Promise<void>;
343
+ dracoDecodingFunction(filename: string, fileBytes: ArrayBuffer, callback: DracoDecodingCallback): void;
344
+ private decodeDracoFile;
345
+ exportSceneToBabylon(): Nullable<string>;
346
+ exportVisibleMeshesToBabylon(): Nullable<string>;
347
+ exportMeshesForTyOnToBabylon(): Promise<Nullable<string>>;
348
+ exportMeshToBabylon(meshID: string): Promise<Nullable<string>>;
349
+ downloadMeshToBabylon(meshID: string): Promise<void>;
350
+ saveSceneOnDatabaseAsync(fileId: string): Promise<void>;
351
+ saveVisibleMeshesOnDatabaseAsync(fileId: string): Promise<void>;
352
+ saveGlbOnDatabaseAsync(fileId: string): Promise<void>;
353
+ private getArFileUrlCacheKey;
354
+ private getCachedArFileUrl;
355
+ private cacheArFileUrl;
356
+ exportMeshToGLBBlob(meshID: string): Promise<Blob | null>;
357
+ exportSceneToUsdzAsync(sceneID?: string, sceneCode?: string, useCacheWithDesign?: boolean): Promise<Nullable<string>>;
358
+ loadFromGlbUrl(url: string, sceneConfig?: any): Promise<void>;
359
+ exportMeshToUsdzAsync(meshID: string): Promise<Nullable<string>>;
360
+ exportSceneToRemoteGlTFAsync(sceneID?: string, sceneCode?: string, useCacheWithDesign?: boolean): Promise<Nullable<string>>;
361
+ exportMeshToRemoteGlTFAsync(meshID: string): Promise<Nullable<string>>;
362
+ exportSceneToRemoteGLBAsync(sceneID?: string, sceneCode?: string, useCacheWithDesign?: boolean): Promise<Nullable<string>>;
363
+ exportMeshToRemoteGLBAsync(meshID: string): Promise<Nullable<string>>;
364
+ exportSceneToARAsync(): Promise<{
365
+ format: string;
366
+ arFileUrl: string;
367
+ }[]>;
368
+ exportMeshToARAsync(meshID: string): Promise<{
369
+ format: string;
370
+ arFileUrl: string;
371
+ }[]>;
372
+ isAREnabled(): boolean;
373
+ exportSceneToLocalGLBAsync(): Promise<Blob | string | null>;
374
+ downloadSceneLocalGLBAsync(): Promise<void>;
375
+ exportSceneToLocalUSDZAsync(): Promise<string | null>;
376
+ downloadSceneLocalUSDZAsync(): Promise<void>;
377
+ getSceneRootUrl(): Promise<Nullable<string>>;
378
+ isTryOnMeshVisibleEnabledToShow(): boolean;
379
+ getTryOnMeshVisible(): BABYLON.Mesh | null;
380
+ getTryOnFineTuningMeshVisible(): BABYLON.Mesh | null;
381
+ refreshInfoPoints(): void;
382
+ private getInfoPointsManagerStyle;
383
+ private updateInfoPointsManagerStyle;
384
+ showInfoPoints(): void;
385
+ hideInfoPoints(): void;
386
+ reloadAllLoadingErrorTexturesAsync(): Promise<void>;
387
+ reloadMaterialLoadingErrorTexturesAsync(material: BABYLON.Material): Promise<void>;
388
+ reloadLoadingErrorTextureAsync(texture: BABYLON.BaseTexture): Promise<void>;
389
+ isTextureLoadingError(texture: BABYLON.BaseTexture): boolean;
390
+ materialHasLoadingErrorTextues(material: BABYLON.Material): boolean;
391
+ notifyCameraMovement(): void;
392
+ notifyScriptExecution(script: ComposerScript): void;
393
+ notifyDesignChanged(zkDesign: MPlaza.Design): void;
394
+ protected notifyActionExecution(attributeID: Nullable<number>, selectedValue: Nullable<string>, actions: MPlaza.AttributeSceneAction[]): void;
395
+ protected attachBroadcastChannelEventHandlers(): void;
396
+ protected detachBroadcastChannelEventHandlers(): void;
397
+ private onBroadcastMessageReceived;
398
+ private processCameraMovementEvent;
399
+ private processScriptExecution;
400
+ private processDesignChanged;
401
+ private showResizableCanvasModel;
402
+ showResizableCanvasPerCurrentSide(args: ShowResizableCanvasEventArgs & {
403
+ currentSideId: number;
404
+ }): Promise<void>;
405
+ showResizableCanvasPerVariant(args: ShowResizableCanvasEventArgs & {
406
+ sidesIds: number[];
407
+ }): Promise<void>;
408
+ clearResizableProduct(): void;
409
+ switchMode(mode: 'upload' | 'resizable'): void;
410
+ rotate(angle: number, animate: boolean): Promise<void>;
411
+ }