feat(B06): 소단 = 좌측 깊이 칸 숨김 · 횡단도 소단 고름 ▲▼ 만 · 측점 · 쪽마다 깊이 patch · 고름 조각 키 · 좌측 소단 상자 켬(194-1 · 194-2)

- 정의 「상세 내용」 = 폭만 · depth_m 표시 끔(옛 구간 값 = 기본값으로 읽음 · 새 기본 1 m)
- 짝: BermSpec 쪽마다 깊이 · side_berm ↔ sideBerm · 설계 결과 berm_depth_{side}_m 되싣기(파이썬 ↔ TS)
- 저장: patch berm_depth_{side}_m(≥ 0) · 재계산 살림 목록 짝(RD ↔ CR) · 세션 bermdepth
- 서버 [저장] 다시 셈 = 구조물 정본 소단 구간(load_berm_spans) + 측점 깊이 · 구간 지우면 소단 없음
- 고름: 소단 수평 단 = 높이만(▲ 0 에서 멈춤 · ▼ 사면 끝 앞 멈춤 · ◀▶ 막힘) · 사면 = 가로 · 노면 = 종단
- 고름을 조각 키(갈래 + 쪽 + 차례)로 기억 — 옮겨 다시 그려도 같은 조각
- 새 시험 test_194_1_berm_depth + helper · test_178_2 · test_54_26 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F3mdb91125mPoC6tpsQx4P
This commit is contained in:
2026-10-10 13:59:43 +09:00
co-authored by Claude Opus 5.5
parent e442777cc8
commit cb7a140c10
24 changed files with 1090 additions and 69 deletions
@@ -21,6 +21,7 @@ from common_util.common_util_cross_berm import (
BermSpec,
cut_profile_points,
fill_profile_points,
side_berm,
)
from common_util.common_util_cross_berm import elevation_at as berm_elevation_at
@@ -236,7 +237,9 @@ class _SectionGeometry:
edge_z = (
self.road_z(self.left_extent) if side == "left" else self.road_z(-self.right_extent)
)
points = fill_profile_points(start_dist, start_z, self.fill_ratio, self.berm, top_z=edge_z)
# 쪽마다 옮긴 깊이(194-1) — `side_berm`
berm = side_berm(self.berm, side)
points = fill_profile_points(start_dist, start_z, self.fill_ratio, berm, top_z=edge_z)
self._fill_points_cache[side] = points
return points