From 237e09c81d5c31e1cd8c38d1eed3b85c02e2e1bb Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sun, 12 Apr 2026 00:34:19 +0200 Subject: [PATCH] Add transform-pointer-intent.ts for handling pointer down events --- .../transform-pointer-intent.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/viewport-three/transform-pointer-intent.ts diff --git a/src/viewport-three/transform-pointer-intent.ts b/src/viewport-three/transform-pointer-intent.ts new file mode 100644 index 00000000..9e28d40a --- /dev/null +++ b/src/viewport-three/transform-pointer-intent.ts @@ -0,0 +1,31 @@ +import type { TransformSessionState } from "../core/transform-session"; +import type { ViewportPanelId } from "./viewport-layout"; + +export interface TransformPointerDownIntent { + commitActiveTransform: boolean; + allowGizmoInteraction: boolean; +} + +export function resolveTransformPointerDownIntent( + transformSession: TransformSessionState, + panelId: ViewportPanelId +): TransformPointerDownIntent { + if (transformSession.kind !== "active") { + return { + commitActiveTransform: false, + allowGizmoInteraction: true + }; + } + + if (transformSession.sourcePanelId !== panelId) { + return { + commitActiveTransform: false, + allowGizmoInteraction: false + }; + } + + return { + commitActiveTransform: true, + allowGizmoInteraction: false + }; +}