From 7ab4816eddaf1fbbc5d3a5ec023ae4e47c3bfac7 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 6 Aug 2026 18:15:33 +0900 Subject: [PATCH] =?UTF-8?q?feat(B05):=20=EA=B3=B5=EC=82=AC=20=EC=8B=9C?= =?UTF-8?q?=EC=9E=91=EC=A0=90=20=EC=BB=A8=ED=85=8C=EC=9D=B4=EB=84=88?= =?UTF-8?q?=EB=A5=BC=20=EC=8B=9C=EC=9E=91=20=EC=B8=A1=EC=A0=90=20=EB=B0=8F?= =?UTF-8?q?=20=EC=83=98=ED=94=8C=EB=A7=81=20=EC=84=A4=EC=A0=95=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=9D=BC=EC=9B=90=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 컨테이너 제목 변경: 측점 및 샘플링 설정 → 시작 측점 및 샘플링 설정 - 시작 측점·시작 누가거리(m) 2열 행을 통합 컨테이너 최상단으로 이동, 별도 공사 시작점 섹션 제거 (2026-08-06 사용자 지시) - 동작 로직(표시 오프셋 콜백)은 그대로 — 배치만 이동 실측: 통합 컨테이너 최상단 배치 확인, 콘솔 에러 0. Co-Authored-By: Claude Fable 5 --- B05_wf2_Route/B05_wf2_Route_UI_Panel.ts | 8 ++++---- ui_template/ui_template_locale_b2.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/B05_wf2_Route/B05_wf2_Route_UI_Panel.ts b/B05_wf2_Route/B05_wf2_Route_UI_Panel.ts index 42306706..940c2d8b 100644 --- a/B05_wf2_Route/B05_wf2_Route_UI_Panel.ts +++ b/B05_wf2_Route/B05_wf2_Route_UI_Panel.ts @@ -312,9 +312,10 @@ export function createRoutePanel(callbacks: PanelCallbacks) { ); gradeLine.body.append(terrainField.root, criteriaNote, gradeAdvanced); - // 공사 시작점 — 이전 공사에 이어 시공할 때 0측점을 임의 측점/누가거리로 시작 표기한다. + // 공사 시작 기준 — 이전 공사에 이어 시공할 때 0측점을 임의 측점/누가거리로 시작 표기한다. // (내부 chainage는 0기준 유지, 측점 라벨·누가거리 "표시"만 이 값만큼 이동.) 기본값 0/0. - const startBasis = section("공사 시작점"); + // 별도 "공사 시작점" 컨테이너를 없애고 "시작 측점 및 샘플링 설정" 최상단으로 일원화 + // (2026-08-06 사용자 지시). const startStation = numberField("시작 측점", "0"); startStation.step = "1"; startStation.min = "0"; @@ -323,7 +324,7 @@ export function createRoutePanel(callbacks: PanelCallbacks) { const startRow = document.createElement("div"); startRow.className = "b05-route__field-row"; startRow.append(startStation.wrapper, startCumulative.wrapper); - startBasis.body.append(startRow); + sectionOptions.body.prepend(startRow); const stationDisplayOffset = (): { station: number; cumulative: number } => ({ station: Math.max(0, Math.round(Number(startStation.value) || 0)), cumulative: Number(startCumulative.value) || 0, @@ -390,7 +391,6 @@ export function createRoutePanel(callbacks: PanelCallbacks) { gradeLine.root, contour.root, sectionOptions.root, - startBasis.root, irregular.root, palette.root, selected.root, diff --git a/ui_template/ui_template_locale_b2.ts b/ui_template/ui_template_locale_b2.ts index a236d0ac..dbc21766 100644 --- a/ui_template/ui_template_locale_b2.ts +++ b/ui_template/ui_template_locale_b2.ts @@ -142,7 +142,7 @@ export const ui_locales_b2 = { B05_Route_Solve_Failed: ["경로 탐색에 실패했습니다.", "Route solve failed."], B05_Route_Confirm_Success: ["경로를 확정했습니다.", "Route confirmed."], B05_Route_Confirm_Failed: ["경로 확정에 실패했습니다.", "Route confirm failed."], - B05_Route_Group_SectionOptions: ["측점 및 샘플링 설정", "Station & Sampling Settings"], + B05_Route_Group_SectionOptions: ["시작 측점 및 샘플링 설정", "Start Station & Sampling Settings"], B05_Route_Field_StationInterval: ["측점 간격(m)", "Station interval (m)"], B05_Route_Field_CrossHalfWidth: ["횡단 반폭(m)", "Cross half-width (m)"], B05_Route_Field_CrossSample: ["횡단 샘플 간격(m)", "Cross sample interval (m)"],