From 66e90b7ad84d8e19866db4b0fa7358c0baae15cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel?= Date: Mon, 25 May 2026 23:40:27 +0000 Subject: [PATCH] fix(studio): remove rootRect subtraction from overlay position formula elementRect.left/top from getBoundingClientRect() already reflects GSAP transforms in viewport coordinates. Subtracting rootRect.left/top cancels the transform, pinning overlays to the un-animated layout position. Use elementRect directly so overlays track elements during scroll (y: -500) and entrance (scale: 0.95) animations. --- .../studio/src/components/editor/domEditOverlayGeometry.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/studio/src/components/editor/domEditOverlayGeometry.ts b/packages/studio/src/components/editor/domEditOverlayGeometry.ts index 56620788d..bfebd852b 100644 --- a/packages/studio/src/components/editor/domEditOverlayGeometry.ts +++ b/packages/studio/src/components/editor/domEditOverlayGeometry.ts @@ -118,8 +118,8 @@ export function toOverlayRect( }); return { - left: iframeRect.left - overlayRect.left + (elementRect.left - rootRect.left) * rootScaleX, - top: iframeRect.top - overlayRect.top + (elementRect.top - rootRect.top) * rootScaleY, + left: iframeRect.left - overlayRect.left + elementRect.left * rootScaleX, + top: iframeRect.top - overlayRect.top + elementRect.top * rootScaleY, width: elementRect.width * rootScaleX, height: elementRect.height * rootScaleY, editScaleX: editScale.scaleX,