From 8675ba0b5d5deef87060d427466ce3473f75a46a Mon Sep 17 00:00:00 2001 From: vegard Date: Fri, 20 Mar 2026 03:08:51 +0000 Subject: [PATCH] Zoom-reset ankret til viewport-sentrum Reset til 100% justerer kameraposisjon slik at det du ser i midten forblir i midten. Gjelder dobbeltklikk og toolbar-knapp. Co-Authored-By: Claude Opus 4.6 (1M context) --- frontend/src/lib/components/canvas/Canvas.svelte | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/canvas/Canvas.svelte b/frontend/src/lib/components/canvas/Canvas.svelte index c55e7c5..ded668b 100644 --- a/frontend/src/lib/components/canvas/Canvas.svelte +++ b/frontend/src/lib/components/canvas/Canvas.svelte @@ -426,6 +426,18 @@ }; } + // --- Reset zoom (ankret til viewport-sentrum) --- + function resetZoom() { + const cx = viewport.width / 2; + const cy = viewport.height / 2; + const scale = 1.0 / camera.zoom; + camera = { + x: cx - scale * (cx - camera.x), + y: cy - scale * (cy - camera.y), + zoom: 1.0, + }; + } + // --- Fullscreen --- function toggleFullscreen() { isFullscreen = !isFullscreen; @@ -478,7 +490,7 @@ ondblclick={(e) => { if (!(e.target as HTMLElement).closest('[data-canvas-object-id]') && !(e.target as HTMLElement).closest('.canvas-toolbar')) { - camera = { ...camera, zoom: 1.0 }; + resetZoom(); } }} ontouchstart={handleTouchStart} @@ -496,7 +508,7 @@ title="Zoom ut (−15%)" aria-label="Zoom ut" >− - +