From 679c8470726a108cd5aaff898ae733ba965413b4 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 4 Aug 2026 20:06:20 +0900 Subject: [PATCH] =?UTF-8?q?fix(B05):=20sticky=20Y=EC=B6=95=20=EC=95=B5?= =?UTF-8?q?=EC=BB=A4=EB=A5=BC=20=EC=B2=AB=20=EC=9E=90=EC=8B=9D=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=E2=80=94=20=EC=8A=A4=ED=81=AC=EB=A1=A4=20=EC=8B=9C?= =?UTF-8?q?=20=EC=B6=95=EC=9D=B4=20=EC=95=88=20=EB=B3=B4=EC=9D=B4=EB=8D=98?= =?UTF-8?q?=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0크기 sticky 앵커를 SVG 뒤에 붙이면 흐름 위치가 차트 아래로 밀려 가로 스크롤 시 축 오버레이가 화면 밖에 놓였다(스크롤 0에서는 SVG 자체 눈금이 보여 드러나지 않던 버그). B06과 같은 규칙(첫 자식 prepend)으로 통일 — 종단 표고축·유토곡선 ㎥축 모두 스크롤 800px 상태에서 좌측 고정·불투명 확인. Co-Authored-By: Claude Opus 5 (1M context) --- B05_wf2_Route/B05_wf2_Route_UI_Profile_MassHaul.ts | 3 ++- B05_wf2_Route/B05_wf2_Route_UI_Profile_Panel.ts | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/B05_wf2_Route/B05_wf2_Route_UI_Profile_MassHaul.ts b/B05_wf2_Route/B05_wf2_Route_UI_Profile_MassHaul.ts index 195e61b5..b39e65df 100644 --- a/B05_wf2_Route/B05_wf2_Route_UI_Profile_MassHaul.ts +++ b/B05_wf2_Route/B05_wf2_Route_UI_Profile_MassHaul.ts @@ -349,7 +349,8 @@ export function createRouteMassHaulPanel(onChanged: () => void): RouteMassHaulPa wrap.style.width = `${params.widthPx}px`; wrap.style.height = `${chartHeight}px`; wrap.append(chart); - if (massAxis) wrap.append(buildStickyYAxis(massAxis, chartHeight)); + // 앵커는 첫 자식 — SVG 뒤면 흐름 위치가 밀려 스크롤 시 축이 안 보인다(B06과 같은 규칙). + if (massAxis) wrap.prepend(buildStickyYAxis(massAxis, chartHeight)); scroll.replaceChildren(wrap); // 종단 스크롤러가 이미 옆으로 가 있으면 새로 그린 곡선도 같은 자리에서 시작한다. if (syncedMain) scroll.scrollLeft = syncedMain.scrollLeft; diff --git a/B05_wf2_Route/B05_wf2_Route_UI_Profile_Panel.ts b/B05_wf2_Route/B05_wf2_Route_UI_Profile_Panel.ts index 1fb386c0..e84cc6a2 100644 --- a/B05_wf2_Route/B05_wf2_Route_UI_Profile_Panel.ts +++ b/B05_wf2_Route/B05_wf2_Route_UI_Profile_Panel.ts @@ -580,7 +580,9 @@ export function createRouteProfilePanel( onAddPipe: (chainage) => callbacks?.onPipeAdd?.(chainage), }); // 가로 스크롤에도 고정되는 sticky Y축 오버레이(SVG와 같은 눈금·불투명 배경으로 값 누출 차단). - if (yAxis) chartWrap.append(buildStickyYAxis(yAxis, chartHeight)); + // 앵커(0크기 sticky)는 **첫 자식**이어야 한다 — SVG 뒤에 붙이면 흐름 위치가 차트 + // 아래로 밀려 스크롤 시 축이 화면에 안 보인다(2026-08-04 확인, B06과 같은 규칙). + if (yAxis) chartWrap.prepend(buildStickyYAxis(yAxis, chartHeight)); if (alignment) { chartWrap.append( createEditOverlay({