diff --git a/src/core/rendering/ActorRenderer.js b/src/core/rendering/ActorRenderer.js index 90542d7..34de012 100644 --- a/src/core/rendering/ActorRenderer.js +++ b/src/core/rendering/ActorRenderer.js @@ -96,6 +96,7 @@ export class ActorRenderer extends BaseRenderer { this.setupControls(new THREE.Vector3(0, 0.2, 0)); this.controls.autoRotate = false; + this._initialAutoRotate = false; this.raycaster = new THREE.Raycaster(); } diff --git a/src/core/rendering/BaseRenderer.js b/src/core/rendering/BaseRenderer.js index 9ce7f84..4cb55ad 100644 --- a/src/core/rendering/BaseRenderer.js +++ b/src/core/rendering/BaseRenderer.js @@ -41,8 +41,8 @@ export class BaseRenderer { setupControls(target) { this.controls = new OrbitControls(this.camera, this.canvas); - this.controls.enableZoom = false; - this.controls.enablePan = false; + this.controls.enableZoom = true; + this.controls.enablePan = true; this.controls.enableDamping = true; this.controls.dampingFactor = 0.1; this.controls.autoRotate = true; @@ -66,6 +66,15 @@ export class BaseRenderer { this.canvas.addEventListener('pointerdown', this._onPointerDown); this.canvas.addEventListener('pointermove', this._onPointerMove); + + this._initialAutoRotate = this.controls.autoRotate; + this.controls.saveState(); + } + + resetView() { + if (!this.controls) return; + this.controls.reset(); + this.controls.autoRotate = this._initialAutoRotate; } wasDragged() { diff --git a/src/lib/EditorTooltip.svelte b/src/lib/EditorTooltip.svelte index c178b3d..4918415 100644 --- a/src/lib/EditorTooltip.svelte +++ b/src/lib/EditorTooltip.svelte @@ -1,11 +1,26 @@