From 024e71a70d91e06138e8155f06d9b709a3524c5e Mon Sep 17 00:00:00 2001 From: webadderall <131426131+webadderall@users.noreply.github.com> Date: Tue, 5 May 2026 15:56:39 +1000 Subject: [PATCH] fix: restore minimal safe-zone cursor recentering --- .../video-editor/videoPlayback/cursorFollowCamera.test.ts | 4 ++-- .../video-editor/videoPlayback/cursorFollowCamera.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/video-editor/videoPlayback/cursorFollowCamera.test.ts b/src/components/video-editor/videoPlayback/cursorFollowCamera.test.ts index 8493623a..0fe59018 100644 --- a/src/components/video-editor/videoPlayback/cursorFollowCamera.test.ts +++ b/src/components/video-editor/videoPlayback/cursorFollowCamera.test.ts @@ -72,9 +72,9 @@ describe("computeCursorFollowFocus", () => { { snapToEdgesRatio: 0.25 }, ); - expect(firstShift.cx).toBeCloseTo(0.7, 6); + expect(firstShift.cx).toBeCloseTo(0.575, 6); expect(firstShift.cy).toBeCloseTo(0.5, 6); - expect(secondShift.cx).toBeCloseTo(0.7, 6); + expect(secondShift.cx).toBeCloseTo(0.595, 6); expect(secondShift.cy).toBeCloseTo(0.5, 6); }); diff --git a/src/components/video-editor/videoPlayback/cursorFollowCamera.ts b/src/components/video-editor/videoPlayback/cursorFollowCamera.ts index 75106a81..94727581 100644 --- a/src/components/video-editor/videoPlayback/cursorFollowCamera.ts +++ b/src/components/video-editor/videoPlayback/cursorFollowCamera.ts @@ -100,15 +100,15 @@ function recenterFocusWhenCursorLeavesSafeZone( let nextFocusY = currentFocus.cy; if (cursorFocus.cx < safeLeft) { - nextFocusX = cursorFocus.cx; + nextFocusX = cursorFocus.cx + halfSpan - safeZoneInset; } else if (cursorFocus.cx > safeRight) { - nextFocusX = cursorFocus.cx; + nextFocusX = cursorFocus.cx - halfSpan + safeZoneInset; } if (cursorFocus.cy < safeTop) { - nextFocusY = cursorFocus.cy; + nextFocusY = cursorFocus.cy + halfSpan - safeZoneInset; } else if (cursorFocus.cy > safeBottom) { - nextFocusY = cursorFocus.cy; + nextFocusY = cursorFocus.cy - halfSpan + safeZoneInset; } return clampFocusToScale(