diff --git a/B05_Profile/B05_Profile_UI_Corridor_Station_Structure.ts b/B05_Profile/B05_Profile_UI_Corridor_Station_Structure.ts index c96fb326..e0c6913f 100644 --- a/B05_Profile/B05_Profile_UI_Corridor_Station_Structure.ts +++ b/B05_Profile/B05_Profile_UI_Corridor_Station_Structure.ts @@ -176,12 +176,18 @@ export function fordSilhouettes(section: CrossSection): StructureSilhouette[] { points.push({ offset_m: side.top.offset, elevation_m: side.top.elevation }); } points.push({ offset_m: wall.points[2].offset, elevation_m: wall.points[2].elevation }); - // 패치 리본(잘린 자리 다시 그리기)은 **성토부선만** 담는다 — 벽 전면·유로를 - // 리본으로 덮으면 관 구멍과 L자 통로가 막힌다(2026-08-25 사용자 ②). 벽·바닥은 - // 구조물 솔리드가 그린다. + // 패치 리본(잘린 자리 다시 그리기)은 **성토부선과 접근선까지** 담는다 — 벽 전면·유로는 + // 여전히 담지 않는다(리본으로 덮으면 관 구멍과 L자 통로가 막힌다, 2026-08-25 사용자 ②). + // 접근선(노견 → 벽 상단)은 벽보다 위라 덮어도 구멍을 막지 않는데, 이 구간을 비워 두니 + // 좁은 좌측 패치 사이로 원지반이 드러나 보였다(2026-09-03 사용자 확정: 「패치로 덮기」). const patchPoints: OffsetPoint[] = []; // 성토 구간은 **구간별로도** 담는다 — 패치 리본이 한 장씩 낸다(2026-08-27 사용자). const fillRuns: OffsetPoint[][] = []; + const approachRun = points.slice(); + if (approachRun.length >= 2) { + patchPoints.push(...approachRun); + fillRuns.push(approachRun); + } // 유출측 다단과 달리 세월교는 단 나눔이 없다 — 접지 후 절토선(kind="cut")은 뺀다. const fill = side.fillSegments.filter((segment) => segment.kind !== "cut"); let kind: "cut" | "fill" = "fill";