Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"판": 16,
|
||||
"판": 17,
|
||||
"schema_version": 1,
|
||||
"comment": "B05 구조물 타입 레지스트리 정본. 근거·옵션 상세는 PLAN.md 구조물 리스트와 resources/knowledge/technical_info/01_임도 참조. 2026-08-17 선택지 재편: B군(종단배수)·F군(생태/녹화)·G군(노면공)은 enabled:false 보존 — B05 선택지에서 빠지고 B06 개별 횡단도 옵션으로 재사용한다. 바닥막이(bed_sill)·생태연못(eco_pond)은 임도 미사용 확정으로 삭제. 배관·BOX암거·물넘이·세월교는 pipe_points.json 정본 관리(managed_by) — structures.json에 저장하지 않으며, 배관 부속(유형/집수정/기슭막이/돌붙임)·날개벽 옵션 정의는 B06/B07 필수 승격의 선언 근거다. ★기본값 원칙(2026-08-16 크로스체크 2차): default를 두는 것은 ①법정이 등급과 무관하게 못박은 단일 수치 ②사용자가 개발 단계에서 확정한 값 ③도메인 수치가 아닌 표시용 문자열, 이 셋뿐이다. 재료·형식 같은 설계자 판단 선택지와 미확정 제원은 default 없이 required로 두어 사용자가 직접 고르게 한다 (pipe_diameter_mm 1000 = 별표2 원칙값+사용자 확정 — 화이트리스트 등재). BOX암거 본체 2.0×2.0·날개벽 유입/유출 있음·짧은쪽 높이 1m·길이 2m·각도 45°는 2026-08-17 사용자 확정값이다 — 본체 규격은 실무 관측 규격(2.0×2.0·3.0×3.0)을 폼에서 프리셋 select로 받고 필요 시 사용자 지정으로 자유 입력하되, 저장 키는 body_width_m·body_height_m 숫자 그대로다(프리셋 전용 키를 만들지 않는다). 이 값들은 B05 서브폼이 실제로 받으므로 phase를 detail로 두지 않는다. ★보호공 개편(2026-08-17 사용자 지시): 구 `*_pitching`(있음/없음) + `*_pitching_finish`(찰/메) 두 축을 `*_protection` 한 축(돌붙임(찰)·돌붙임(메)·도수로)으로 합쳤다 — 도수로·산비탈수로(B4)는 유출부에서 돌붙임 대신 쓰는 공종이라 별도 구조물이 아니라 보호공 선택지로 받는다. \"없음\"은 삭제(물이 흐르는 자리라 보호공 필수). 치수는 배타 — 돌붙임이면 `*_protection_area_m2`(10㎡), 도수로면 `*_protection_width_m`(1m, 지식DB 수치 근거 없음·사용자 확정, 실무 확인 후 개선). 구 저장분은 `common_util_drainage_pipes.parse_pipe_points`가 새 키로 옮긴다.",
|
||||
"구조물군": {
|
||||
@@ -76,7 +76,8 @@
|
||||
"집수정"
|
||||
],
|
||||
"default": "집수정",
|
||||
"required": false
|
||||
"required": false,
|
||||
"default_basis": "사용자 확정 2026-10-06 배관 기본값 표(docs/raw/사용자요구/2026-10-05_수정요구.md)"
|
||||
},
|
||||
{
|
||||
"key": "wing_wall_type",
|
||||
@@ -154,7 +155,8 @@
|
||||
"unit": "m",
|
||||
"default": 1.5,
|
||||
"required": false,
|
||||
"phase": "detail"
|
||||
"phase": "detail",
|
||||
"default_basis": "사용자 확정 2026-10-06 배관 기본값 표(docs/raw/사용자요구/2026-10-05_수정요구.md)"
|
||||
},
|
||||
{
|
||||
"key": "inlet_revet_form",
|
||||
@@ -206,7 +208,8 @@
|
||||
"default": 1.5,
|
||||
"required": false,
|
||||
"phase": "detail",
|
||||
"empty_means": "비우면 관경 기준 최소 높이(관경 + 여유 0.5 를 0.1m 로 올림 + 근입 0.5)로 그리고 셈 — 횡단도·구조물도·표가 같은 값 · 최소라 수량은 미확정(금액 밖) · 2026-09-14 브레인 판정(옛 기본 2.5 걷음)"
|
||||
"empty_means": "비우면 관경 기준 최소 높이(관경 + 여유 0.5 를 0.1m 로 올림 + 근입 0.5)로 그리고 셈 — 횡단도·구조물도·표가 같은 값 · 최소라 수량은 미확정(금액 밖) · 2026-09-14 브레인 판정(옛 기본 2.5 걷음)",
|
||||
"default_basis": "사용자 확정 2026-10-06 배관 기본값 표(docs/raw/사용자요구/2026-10-05_수정요구.md)"
|
||||
},
|
||||
{
|
||||
"key": "outlet_type",
|
||||
@@ -232,7 +235,8 @@
|
||||
],
|
||||
"default": "돌쌓기(찰)",
|
||||
"required": false,
|
||||
"phase": "detail"
|
||||
"phase": "detail",
|
||||
"default_basis": "사용자 확정 2026-10-06 배관 기본값 표(docs/raw/사용자요구/2026-10-05_수정요구.md)"
|
||||
},
|
||||
{
|
||||
"key": "outlet_revet_length_m",
|
||||
@@ -268,7 +272,8 @@
|
||||
"default": 1.5,
|
||||
"required": false,
|
||||
"phase": "detail",
|
||||
"empty_means": "비우면 관경 기준 최소 높이(관경 + 여유 0.5 를 0.1m 로 올림 + 근입 0.5)로 그리고 셈 — 횡단도·구조물도·표가 같은 값 · 최소라 수량은 미확정(금액 밖) · 2026-09-14 브레인 판정(옛 기본 2.5 걷음)"
|
||||
"empty_means": "비우면 관경 기준 최소 높이(관경 + 여유 0.5 를 0.1m 로 올림 + 근입 0.5)로 그리고 셈 — 횡단도·구조물도·표가 같은 값 · 최소라 수량은 미확정(금액 밖) · 2026-09-14 브레인 판정(옛 기본 2.5 걷음)",
|
||||
"default_basis": "사용자 확정 2026-10-06 배관 기본값 표(docs/raw/사용자요구/2026-10-05_수정요구.md)"
|
||||
},
|
||||
{
|
||||
"key": "revet_foundation",
|
||||
@@ -1558,7 +1563,8 @@
|
||||
],
|
||||
"default": "돌쌓기(찰)",
|
||||
"required": false,
|
||||
"empty_means": "비우면 통나무·목재틀로 그림(횡단 기본 형태) — B05 로 옮긴 칸이라 필수로 안 막음(옛 흙막이 저장 보호)"
|
||||
"empty_means": "비우면 통나무·목재틀로 그림(횡단 기본 형태) — B05 로 옮긴 칸이라 필수로 안 막음(옛 흙막이 저장 보호)",
|
||||
"default_basis": "사용자 확정 2026-10-06 배관 기본값 표(docs/raw/사용자요구/2026-10-05_수정요구.md)"
|
||||
},
|
||||
{
|
||||
"key": "length_m",
|
||||
@@ -1576,7 +1582,8 @@
|
||||
"unit": "m",
|
||||
"default": 1.5,
|
||||
"required": false,
|
||||
"phase": "b05"
|
||||
"phase": "b05",
|
||||
"default_basis": "사용자 확정 2026-10-06 배관 기본값 표(docs/raw/사용자요구/2026-10-05_수정요구.md)"
|
||||
},
|
||||
{
|
||||
"key": "before_m",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -259,7 +259,12 @@ def test_slope_group_computes_range_from_length():
|
||||
options = {option.key: option for option in item.options}
|
||||
# ⚠ 옹벽만 높이 2.0 — 관측 원단위 자료가 반중력식 H=2.0 한 벌뿐(2026-09-14 A4 브레인 판정).
|
||||
expected = {
|
||||
"height_m": 2.0 if type_id == "retaining_wall" else 2.5,
|
||||
# 흙막이 높이 1.5 — 10-6 배관 기본값 표와 한 벌(54-36 · 사면안정 흙막이 일원화)
|
||||
"height_m": 2.0
|
||||
if type_id == "retaining_wall"
|
||||
else 1.5
|
||||
if type_id == "soil_guard"
|
||||
else 2.5,
|
||||
"length_m": 10,
|
||||
"before_m": 5,
|
||||
}
|
||||
@@ -435,7 +440,7 @@ def test_pipe_accessory_options_defined():
|
||||
for gone in ("inlet_revet_material", "inlet_revet_finish", "outlet_revet_finish"):
|
||||
assert gone not in options, f"pipe.{gone}는 형태로 합쳐졌다"
|
||||
assert options["inlet_type"].choices == ["기슭막이", "집수정"]
|
||||
assert options["inlet_type"].default == "기슭막이"
|
||||
assert options["inlet_type"].default == "집수정" # 10-6 배관 기본값 표(54-36)
|
||||
assert options["pipe_diameter_mm"].default == "1000"
|
||||
assert options["pipe_diameter_mm"].choices == ["800", "1000", "1200", "1500"]
|
||||
# 돌붙임은 바닥 구조라 형태 목록에서 뺐다 — 별도 항목이 있다(2026-08-17 지시 1).
|
||||
@@ -448,7 +453,7 @@ def test_pipe_accessory_options_defined():
|
||||
"바자",
|
||||
]
|
||||
assert options["inlet_revet_form"].default == "돌쌓기(찰)"
|
||||
assert options["outlet_revet_form"].default == "돌쌓기(메)"
|
||||
assert options["outlet_revet_form"].default == "돌쌓기(찰)" # 10-6 배관 기본값 표(54-36)
|
||||
# 유출구도 구조 항목을 둔다 — 선택지는 기슭막이뿐이지만 양식을 맞춘다(지시 2).
|
||||
assert options["outlet_type"].choices == ["기슭막이"]
|
||||
# 구 두 축(있음/없음 + 표면처리)은 남아 있으면 안 된다.
|
||||
@@ -461,11 +466,10 @@ def test_pipe_accessory_options_defined():
|
||||
"outlet_pitching_area_m2",
|
||||
):
|
||||
assert gone not in options, f"pipe.{gone}는 보호공으로 합쳐졌다"
|
||||
# 기본 치수 — 길이 10m. 높이는 **기본값 없음**(2026-09-14 브레인 판정): 비우면 관경 기준 최소
|
||||
# 높이로 횡단도·구조물도·표가 같은 값을 씀(옛 2.5 는 횡단도가 안 쓰던 근거 없는 값이라 걷음).
|
||||
# 기본 치수 — 길이 10m · 높이 1.5(10-6 배관 기본값 표 · 54-36 · 근거 default_basis).
|
||||
for side in ("inlet", "outlet"):
|
||||
assert options[f"{side}_revet_length_m"].default == 10
|
||||
assert options[f"{side}_revet_height_m"].default is None
|
||||
assert options[f"{side}_revet_height_m"].default == 1.5
|
||||
assert "관경 기준" in options[f"{side}_revet_height_m"].empty_means
|
||||
# 유무·길이·관경·유입 구조 = b05, 형태·치수 제원 = detail.
|
||||
for key in ("inlet_type", "inlet_revet_length_m", "outlet_revet_length_m"):
|
||||
|
||||
Reference in New Issue
Block a user