feat(b06,b08): 관 기준벽도 벽 몸 ∩ 성토 폐회로 겹침을 줄 사유로 — 다단에만 뜨면 「다단만 문제」로 읽힘(㉡)

서버 Node 가 기준벽 역할별 넓이를 design.wall_fill_overlap 에 남기고 B08 이 다단 목록 통(base 표시 칸)으로 읽어 기준벽 줄 비고에 붙임 · 호출부(Router_Material) 안 늘림 · 936be972 빈 저장: 관 9 곳 유출 벽 258.12 1.417 · 720 1.403 · 804.18 1.166 · 982.64 0.807 · 620 0.136 · 440 0.046 · 533.98 0.004 · 85.05/900 0㎡ · 이 프로젝트 기준벽은 모두 미확정(금액 밖)이라 비고 안 뜸 · 벽 칸을 적으면 「1.42㎡ × 10m ≈ 14.2㎥」 · 금액 변화 0

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
This commit is contained in:
2026-09-14 15:02:43 +09:00
co-authored by Claude Opus 5
parent eb79091e00
commit c7b9956bf3
4 changed files with 83 additions and 11 deletions
+20
View File
@@ -139,6 +139,26 @@ def test_서버가_벽_몸_겹침을_잰다() -> None:
assert "wallBodyInFillM2(" in LAYOUTS and "fill_overlap_m2" in LAYOUTS
def test_관_기준벽도_겹침_사유가_뜬다() -> None:
"""2026-09-14 브레인 ㉡ — 같은 겹침이 관 기준벽에도 있음. 다단에만 뜨면 「다단만 문제」로 읽힘.
258.12 실측 유출 벽 몸 1.417㎡ 가 성토 폐회로 안."""
designs = [
{"chainage_m": 85.0, "design": {"extra_walls": [], "wall_fill_overlap": {"outlet": 1.417}}}
]
rows = facility_structures([POINT], extra_walls_from_designs(designs))
by_label = {
row["attachment_label"]: " ".join(row["notes"])
for row in rows
if row.get("notes") is not None
}
outlet = next(text for label, text in by_label.items() if "유출" in label)
inlet = next(text for label, text in by_label.items() if "유입" in label)
assert "성토 면적에도" in outlet and "1.42㎡" in outlet and "14.2㎥" in outlet
assert "성토 면적에도" not in inlet # 잰 값이 없는 벽엔 지어내지 않음
assert not _tiers(rows) # 기준벽 값이 다단 줄로 새지 않음
assert "wall_fill_overlap" in LAYOUTS and '"wall_fill_overlap"' in PREBUILD
def test_목록이_없으면_종전과_같다() -> None:
assert not _tiers(facility_structures([POINT]))
assert not _tiers(facility_structures([POINT], {}))