From 0665c11c49e265b93f8a9b9394bdb52a3ae63945 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 2 Aug 2026 01:14:20 +0900 Subject: [PATCH] =?UTF-8?q?feat(B06):=20=ED=9A=A1=EB=8B=A8=EB=8F=84=20?= =?UTF-8?q?=ED=9C=A0=20=EC=A4=8C=20=EB=B0=A9=ED=96=A5=20=EB=B0=98=EC=A0=84?= =?UTF-8?q?=20=E2=80=94=20=EB=8B=B9=EA=B8=B0=EB=A9=B4=20=ED=99=95=EB=8C=80?= =?UTF-8?q?,=20=EB=B0=80=EB=A9=B4=20=EC=B6=95=EC=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit B04 2D 지도·B05 배수유역도와 같은 방향으로 맞췄다. viewBox 축소가 확대이므로 factor 판정만 deltaY > 0 기준으로 바꿨고, 커서 아래 지점 고정은 그대로다. Co-Authored-By: Claude Opus 5 (1M context) --- B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Cross_View.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Cross_View.ts b/B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Cross_View.ts index 834665005..badc0a0c5 100644 --- a/B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Cross_View.ts +++ b/B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Cross_View.ts @@ -141,7 +141,8 @@ function attachZoomPan(svg: SVGSVGElement, widthPx: number, heightPx: number): v const rect = svg.getBoundingClientRect(); const mx = vb.x + ((event.clientX - rect.left) / rect.width) * vb.w; const my = vb.y + ((event.clientY - rect.top) / rect.height) * vb.h; - const factor = event.deltaY < 0 ? 0.85 : 1 / 0.85; + // 휠을 **당기면 확대**, 밀면 축소한다 — B04·B05 2D 지도와 같은 방향(2026-08-02 사용자 지시). + const factor = event.deltaY > 0 ? 0.85 : 1 / 0.85; const nw = Math.min(base.w, Math.max(base.w / 8, vb.w * factor)); const nh = Math.min(base.h, Math.max(base.h / 8, vb.h * factor)); vb.x = mx - (mx - vb.x) * (nw / vb.w);