feat(B05): 세월교 접근선 구간을 3D 패치 리본에 포함
노견 → 벽 상단 접근선 구간이 패치에서 빠져 있어 좁은 좌측 패치 사이로 원지반이 드러나 보였다(2026-09-03 사용자 확정: 「패치로 덮기」). 접근선은 벽보다 위라 덮어도 관 구멍·L자 통로를 막지 않는다 — 벽 전면·유로는 종전대로 리본에 담지 않는다(2026-08-25 사용자 ②). 접근선 줄을 `patchPoints` 앞에 담고 `fillRuns` 에 한 장으로 실어 「구간 1줄 = 리본 1장」 규칙을 그대로 따른다. 검증 — typecheck·prettier 통과. 3D 육안 확인은 카메라 조작이 필요해 다음 화면 검증 묶음에서 함께 수행. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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: side.top.offset, elevation_m: side.top.elevation });
|
||||||
}
|
}
|
||||||
points.push({ offset_m: wall.points[2].offset, elevation_m: wall.points[2].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[] = [];
|
const patchPoints: OffsetPoint[] = [];
|
||||||
// 성토 구간은 **구간별로도** 담는다 — 패치 리본이 한 장씩 낸다(2026-08-27 사용자).
|
// 성토 구간은 **구간별로도** 담는다 — 패치 리본이 한 장씩 낸다(2026-08-27 사용자).
|
||||||
const fillRuns: OffsetPoint[][] = [];
|
const fillRuns: OffsetPoint[][] = [];
|
||||||
|
const approachRun = points.slice();
|
||||||
|
if (approachRun.length >= 2) {
|
||||||
|
patchPoints.push(...approachRun);
|
||||||
|
fillRuns.push(approachRun);
|
||||||
|
}
|
||||||
// 유출측 다단과 달리 세월교는 단 나눔이 없다 — 접지 후 절토선(kind="cut")은 뺀다.
|
// 유출측 다단과 달리 세월교는 단 나눔이 없다 — 접지 후 절토선(kind="cut")은 뺀다.
|
||||||
const fill = side.fillSegments.filter((segment) => segment.kind !== "cut");
|
const fill = side.fillSegments.filter((segment) => segment.kind !== "cut");
|
||||||
let kind: "cut" | "fill" = "fill";
|
let kind: "cut" | "fill" = "fill";
|
||||||
|
|||||||
Reference in New Issue
Block a user