From bd63f48b9eecac08d2647bb48f8c0acb958cd6fc Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 6 Oct 2026 17:44:34 +0900 Subject: [PATCH] =?UTF-8?q?fix(B06):=20=ED=9A=A1=EB=8B=A8=EB=8F=84=20?= =?UTF-8?q?=EC=95=94=20=EA=B2=BD=EA=B3=84=20=EB=85=B8=EB=9E=80=20=EC=A0=90?= =?UTF-8?q?=EC=84=A0=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 암 경계선 그리기 · 호출 · 스타일 삭제 (암 구간 면적 · 수량 계산 그대로) - 쓰는 곳 없는 culvert-cut 스타일 삭제 Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7 --- B06_Section/B06_Section_UI_Cross_Design.ts | 5 +--- .../B06_Section_UI_Cross_Design_Surface.ts | 27 ------------------- B06_Section/B06_Section_UI_Cross_View.ts | 11 -------- .../B06_Section_UI_Style_Cross_Areas.css | 17 ------------ 4 files changed, 1 insertion(+), 59 deletions(-) diff --git a/B06_Section/B06_Section_UI_Cross_Design.ts b/B06_Section/B06_Section_UI_Cross_Design.ts index 47e973173..900f9c2c5 100644 --- a/B06_Section/B06_Section_UI_Cross_Design.ts +++ b/B06_Section/B06_Section_UI_Cross_Design.ts @@ -24,10 +24,7 @@ import type { SectionMode, SectionSample, } from "./B06_Section_Api_Fetch"; -export { - appendPavementOverlay, - appendRockBoundaryOverlay, -} from "./B06_Section_UI_Cross_Design_Surface"; +export { appendPavementOverlay } from "./B06_Section_UI_Cross_Design_Surface"; const SVG_NS = "http://www.w3.org/2000/svg"; diff --git a/B06_Section/B06_Section_UI_Cross_Design_Surface.ts b/B06_Section/B06_Section_UI_Cross_Design_Surface.ts index b35b73912..cf6419403 100644 --- a/B06_Section/B06_Section_UI_Cross_Design_Surface.ts +++ b/B06_Section/B06_Section_UI_Cross_Design_Surface.ts @@ -2,33 +2,6 @@ import type { CrossDesign } from "./B06_Section_Api_Fetch"; const SVG_NS = "http://www.w3.org/2000/svg"; -export function appendRockBoundaryOverlay( - svg: SVGElement, - samples: Array<{ offset_m?: number; elevation_m?: number | null; valid: boolean }>, - offsetM: number, - x: (offset: number) => number, - y: (elevation: number) => number, -): void { - const segments: string[][] = []; - let current: string[] = []; - for (const sample of samples) { - const elevation = sample.elevation_m; - if (sample.valid === false || elevation === null || !Number.isFinite(elevation ?? NaN)) { - if (current.length > 1) segments.push(current); - current = []; - continue; - } - current.push(`${x(sample.offset_m ?? 0)},${y((elevation as number) + offsetM)}`); - } - if (current.length > 1) segments.push(current); - for (const points of segments) { - const polyline = document.createElementNS(SVG_NS, "polyline"); - polyline.setAttribute("points", points.join(" ")); - polyline.setAttribute("class", "b06-chart__rock-boundary"); - svg.append(polyline); - } -} - export function appendPavementOverlay( svg: SVGElement, design: CrossDesign, diff --git a/B06_Section/B06_Section_UI_Cross_View.ts b/B06_Section/B06_Section_UI_Cross_View.ts index a24d78716..da4c41cf1 100644 --- a/B06_Section/B06_Section_UI_Cross_View.ts +++ b/B06_Section/B06_Section_UI_Cross_View.ts @@ -24,7 +24,6 @@ import { appendRevetmentOverlay, computeRevetmentLayout } from "./B06_Section_UI import { appendCrossDesignOverlay, appendPavementOverlay, - appendRockBoundaryOverlay, type RockBoundaryControl, } from "./B06_Section_UI_Cross_Design"; import { appendCardFooter, appendCardHeader } from "./B06_Section_UI_Cross_Card_Chrome"; @@ -476,16 +475,6 @@ export function createCrossSectionCard( // 사토장(유용토운반작업장) — 교본 6장 3절이 횡단도 표시를 요구한다. 값은 설계 결과에서 // 그대로 오고 여기서 다시 세지 않는다. 선 종류는 터파기 파선과 갈라 둔다. appendSpoilFillOverlay(plotLayer, section.design, x, toDisplayY); - // 암 경계선 = 지면선 복사 + 오프셋(계획선 기준 아님). - if (rockBoundary && section.design.geometry_preset === "rock") { - appendRockBoundaryOverlay( - plotLayer, - drawSamples, - rockBoundary.offsetFor(section), - x, - toDisplayY, - ); - } // 배수관 세트 — 조정창이 쓸 카드 상태를 받아 둔다(2026-08-19) · 링크 카드도 채운다(2026-08-24). culvertInletIsBasin = !!culvertLayout?.basin; culvertHiddenPipe = culvertLayout?.culvert.hidden_pipe === true; diff --git a/B06_Section/B06_Section_UI_Style_Cross_Areas.css b/B06_Section/B06_Section_UI_Style_Cross_Areas.css index 480c8b273..baca7195d 100644 --- a/B06_Section/B06_Section_UI_Style_Cross_Areas.css +++ b/B06_Section/B06_Section_UI_Style_Cross_Areas.css @@ -168,16 +168,6 @@ pointer-events: none; } -/* 암 경계선(설계선 복사 + 오프셋): 리핑암·발파암 구간 점선 */ -.b06-chart__rock-boundary { - fill: none; - stroke: var(--color-warning); - stroke-width: 1.6; - stroke-dasharray: 6 4; - stroke-linejoin: round; - opacity: 0.9; -} - /* 포장층 박스: 노면 양 끝점 기준 두께만큼 하향 채움 */ .b06-chart__pavement { fill: color-mix(in srgb, var(--color-text-secondary) 30%, transparent); @@ -294,13 +284,6 @@ fill: var(--color-text-secondary); } -/* 유입 보호공 공간 확보 절토선 — 말단에서 표준단면 절토경사로 지반까지 */ -.b06-chart__culvert-cut { - stroke: var(--color-warning); - stroke-width: 1.4; - stroke-dasharray: 5 3; -} - /* 기슭막이 돌 해칭 — 기운 띠 안에 한 줄로 쌓인 큰 돌(실무 도면 형상) */ .b06-chart__culvert-stone { fill: none;