From 24820fb6b025fc3bbf3667dd51c2d8f31552a18c Mon Sep 17 00:00:00 2001 From: Tanish Manku Date: Wed, 9 Apr 2025 15:30:20 -0700 Subject: [PATCH] Ignore dispatched click after gizmo is dragged --- .../app/pages/PageEnigma/Editor/keybinds_controls.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/frontend/editor3d/app/pages/PageEnigma/Editor/keybinds_controls.ts b/frontend/editor3d/app/pages/PageEnigma/Editor/keybinds_controls.ts index 4bf090f58b..d5cc5e120a 100644 --- a/frontend/editor3d/app/pages/PageEnigma/Editor/keybinds_controls.ts +++ b/frontend/editor3d/app/pages/PageEnigma/Editor/keybinds_controls.ts @@ -57,6 +57,7 @@ export class MouseControls { private kinMode: KinMode = KinMode.NONE; private fkHelper: FKHelper; private isBoneDragged: boolean = false; + private ignoreNextClick: boolean = false; constructor( camera: THREE.PerspectiveCamera, @@ -122,6 +123,10 @@ export class MouseControls { onFKControlsDragging(dragging: boolean) { this.isBoneDragged = dragging; + + // FIX: Window dispatches a click event after FK dragging is complete + // This flag can be used to ignore that when FK is adjusted + this.ignoreNextClick = true; } clearFKVisuals() { @@ -350,6 +355,13 @@ export class MouseControls { if (this.camera == undefined) { return; } + + // Ignore window clicks if FK is active and bone is being transformed + if (this.ignoreNextClick) { + this.ignoreNextClick = false; + return; + } + const camera_pos = new THREE.Vector3( parseFloat(this.camera.position.x.toFixed(2)), parseFloat(this.camera.position.y.toFixed(2)),