| @@ -10,11 +10,18 @@ import { | |||
| IViewerPlugin, | |||
| IViewerPluginSync, | |||
| Texture, | |||
| ThreeViewer, UndoManagerPlugin, | |||
| ThreeViewer, | |||
| UndoManagerPlugin, | |||
| uploadFile, | |||
| Vector2, | |||
| Vector3, | |||
| Vector4, UiObjectConfig, WebGLCubeRenderTarget, WebGLMultipleRenderTargets, WebGLRenderTarget, | |||
| Vector4, | |||
| UiObjectConfig, | |||
| WebGLCubeRenderTarget, | |||
| WebGLMultipleRenderTargets, | |||
| WebGLRenderTarget, | |||
| windowDialogWrapper, | |||
| htmlDialogWrapper, | |||
| } from 'threepipe' | |||
| export class BlueprintJsUiPlugin extends UiConfigRendererBlueprint implements IViewerPluginSync { | |||
| @@ -49,6 +56,7 @@ export class BlueprintJsUiPlugin extends UiConfigRendererBlueprint implements IV | |||
| viewer.addEventListener('postRender', this._postRender) | |||
| viewer.addEventListener('preFrame', this._preFrame) | |||
| viewer.addEventListener('postFrame', this._postFrame) | |||
| if (ThreeViewer.Dialog === windowDialogWrapper) ThreeViewer.Dialog = htmlDialogWrapper | |||
| const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency | |||
| const manager = undo?.undoManager | |||
| if (manager) { | |||
| @@ -16,12 +16,6 @@ import { | |||
| import {WebGLPathTracer} from 'three-gpu-pathtracer' | |||
| import {WebGLPathTracer2} from './WebGLPathTracer2' | |||
| // @ts-expect-error polyfill for new threejs | |||
| Scene.prototype.backgroundRotation = new Euler(0, 0, 0, 'XYZ') | |||
| // @ts-expect-error polyfill | |||
| Scene.prototype.environmentRotation = new Euler(0, 0, 0, 'XYZ') | |||
| /** | |||
| * ThreeGpuPathTracerPlugin | |||
| * | |||
| @@ -414,5 +408,12 @@ export class ThreeGpuPathTracerPlugin extends AViewerPluginSync { | |||
| // this.tracer = undefined | |||
| } | |||
| } | |||
| static { | |||
| // @ts-expect-error polyfill for new threejs | |||
| Scene.prototype.backgroundRotation = new Euler(0, 0, 0, 'XYZ') | |||
| // @ts-expect-error polyfill | |||
| Scene.prototype.environmentRotation = new Euler(0, 0, 0, 'XYZ') | |||
| } | |||
| } | |||
| @@ -8,24 +8,26 @@ import { | |||
| CustomContextMenu, | |||
| downloadBlob, | |||
| getOrCall, | |||
| htmlDialogWrapper, | |||
| IEvent, | |||
| IViewerPlugin, | |||
| IViewerPluginSync, | |||
| mobileAndTabletCheck, | |||
| onChange, | |||
| Texture, | |||
| ThreeViewer, | |||
| uiDropdown, | |||
| uiFolderContainer, | |||
| UiObjectConfig, | |||
| UndoManagerPlugin, | |||
| uploadFile, | |||
| Vector2, | |||
| Vector3, | |||
| Texture, | |||
| Vector4, | |||
| UndoManagerPlugin, | |||
| WebGLRenderTarget, | |||
| WebGLCubeRenderTarget, | |||
| WebGLMultipleRenderTargets, | |||
| mobileAndTabletCheck, | |||
| WebGLRenderTarget, | |||
| windowDialogWrapper, | |||
| } from 'threepipe' | |||
| import styles from './tpTheme.css?inline' | |||
| import {tpImageInputGenerator} from './tpImageInputGenerator' | |||
| @@ -75,6 +77,7 @@ export class TweakpaneUiPlugin extends UiConfigRendererTweakpane implements IVie | |||
| viewer.addEventListener('postRender', this._postRender) | |||
| viewer.addEventListener('preFrame', this._preFrame) | |||
| viewer.addEventListener('postFrame', this._postFrame) | |||
| if (ThreeViewer.Dialog === windowDialogWrapper) ThreeViewer.Dialog = htmlDialogWrapper | |||
| const undo = viewer.getOrAddPluginSync(UndoManagerPlugin) // yes, manual dependency | |||
| if (undo?.undoManager) { | |||
| this._lastManager?.dispose() | |||