diff --git a/src/app/editor-store.ts b/src/app/editor-store.ts index c3ebe7a6..b511cbc7 100644 --- a/src/app/editor-store.ts +++ b/src/app/editor-store.ts @@ -95,10 +95,7 @@ export class EditorStore { return; } - if (this.toolMode !== "play") { - this.previousEditingToolMode = this.toolMode; - } - + this.previousEditingToolMode = this.toolMode; this.toolMode = "play"; this.emit(); } diff --git a/src/viewport-three/viewport-host.ts b/src/viewport-three/viewport-host.ts index a6dc4f28..6c9689cf 100644 --- a/src/viewport-three/viewport-host.ts +++ b/src/viewport-three/viewport-host.ts @@ -16,9 +16,7 @@ import { MeshStandardMaterial, PerspectiveCamera, Raycaster, - RepeatWrapping, Scene, - SRGBColorSpace, Vector2, Vector3, WebGLRenderer @@ -314,7 +312,14 @@ export class ViewportHost { for (const mesh of renderObjects.meshes) { mesh.geometry.dispose(); - mesh.material.dispose(); + + if (Array.isArray(mesh.material)) { + for (const material of mesh.material) { + material.dispose(); + } + } else { + mesh.material.dispose(); + } } }