feat: Bind to frame when frame-bound object hidden part is approached

This commit is contained in:
Mark Tolmacs
2025-10-21 18:28:44 +02:00
parent 7e10773ecf
commit 12c67386cf
2 changed files with 41 additions and 36 deletions

View File

@@ -596,15 +596,15 @@ export const getBindingStrategyForDraggingBindingElementEndpoints = (
return {
start: startDragged
? {
mode: "inside",
element: hoveredElement,
mode: "orbit",
element: enclosingFrame,
focusPoint: globalPoint,
}
: start,
end: endDragged
? {
mode: "inside",
element: hoveredElement,
mode: "orbit",
element: enclosingFrame,
focusPoint: globalPoint,
}
: end,

View File

@@ -409,8 +409,12 @@ const renderBindingHighlightForBindableElement = (
const radius = 0.5 * (Math.min(element.width, element.height) / 2);
// Draw center snap area
if (!isFrameLikeElement(element)) {
context.save();
context.translate(element.x + appState.scrollX, element.y + appState.scrollY);
context.translate(
element.x + appState.scrollX,
element.y + appState.scrollY,
);
const PROGRESS_RATIO = (1 / BIND_MODE_TIMEOUT) * remainingTime;
@@ -447,6 +451,7 @@ const renderBindingHighlightForBindableElement = (
context.fill();
context.restore();
}
return {
runtime: (state?.runtime ?? 0) + deltaTime,