chore: 네 창 작업 269건 main 반영 (2026-09-09) #13

Merged
eomsangdon merged 269 commits from main_desktop_1 into main 2026-09-09 18:21:28 +09:00
2 changed files with 35 additions and 0 deletions
Showing only changes of commit d6a64700fc - Show all commits
@@ -936,6 +936,9 @@ EXPANDERS = {
# 이고 그 안의 계산이 같다. 갈래·사유는 `_UnitQuantity_Revetment` 가 든다(늦게 부른다 —
# 그쪽이 이 모듈의 `stone_masonry` 를 쓰므로 위에서 부르면 맞물린다).
"revetment": lambda h, l, o, f=None, r="": _revetment()(h, l, o, f, r),
# 골막이·바닥막이는 돌 계열이나 **돌쌓기 식을 그대로 못 쓴다** — 까닭은 그 모듈에 적었다.
"erosion_check": lambda h, l, o, f=None, r="": _stone_kin()("erosion_check"),
"bed_sill": lambda h, l, o, f=None, r="": _stone_kin()("bed_sill"),
# ⚠⚠ **큰돌쌓기(`boulder_masonry`)를 여기에 두지 않는다** (2026-09-07 발견).
# 큰돌쌓기는 품셈 **13-6** 이고 돌쌓기는 **13-4** 다 — **규격 축이 다르다.**
# 돌쌓기는 **뒷길이**(35·45·55·60㎝), 큰돌쌓기는 **직경**(40~60·60~80·80~100㎝).
@@ -946,6 +949,13 @@ EXPANDERS = {
}
def _stone_kin():
"""골막이·바닥막이 사유 함수 — 늦게 가져온다(서로 부르는 것을 푸는 자리)."""
from B08_Quantity.B08_Quantity_Engine_UnitQuantity_Revetment import stone_kin_withheld
return stone_kin_withheld
def _revetment():
"""기슭막이 전개 함수를 늦게 가져온다 — 서로 부르는 것을 풀기 위한 자리."""
from B08_Quantity.B08_Quantity_Engine_UnitQuantity_Revetment import revetment
@@ -43,6 +43,20 @@ WITHHELD_FORMS: dict[str, str] = {
"바자": "바자얽기(품셈 5-15)는 별도 일위대가를 만들어 잇기로 확정(2026-09-09 ⑧-4)",
}
#: 골막이·바닥막이 — **왜 아직 안 서는지**. 둘 다 돌 계열이나 돌쌓기 식을 그대로 못 쓴다.
#: ⚠ 근거 없는 식을 만들지 않는다(2026-09-09 확인). 칸·표가 오면 그때 붙인다.
STONE_KIN_WITHHELD: dict[str, str] = {
"erosion_check": (
"골막이는 돌쌓기와 **두께식·밑수·단위가 다름**(소광리 정본 「골막이(찰)(치수조서연결)」 "
"실측) — 평균두께 {(0.45+0.1H)+(0.45+0.4H)}÷2 · 밑수 「돌쌓기+돌붙임」 · 개소당. "
"게다가 정면적이 사다리꼴이라 **상장·하장 칸이 있어야** 셈이 서는데 등록부에 없음"
),
"bed_sill": (
"바닥막이는 형태가 **돌붙임**(품셈 13-5)이라 돌쌓기(13-4) 표를 못 씀 — "
"밑수도 면적(㎡)이라 축이 다름. 돌붙임 원단위 미확보"
),
}
#: 돌쌓기 식이 계수를 가르는 데 쓰는 칸 — 기슭막이 등록부에 아직 없는 것을 알린다.
STONE_SPEC_KEYS: tuple[tuple[str, str], ...] = (
("back_len_cm", "뒷길이"),
@@ -79,3 +93,14 @@ def revetment(
"— 그 값이 고임돌·야면석·채움콘크리트 계수를 가름"
)
return components, notes
def stone_kin_withheld(type_id: str) -> tuple[list[Component], list[str]]:
"""골막이·바닥막이 — **식을 안 두는 까닭**만 낸다.
⚠ 돌 계열이라 `stone_masonry` 를 부르고 싶어지는 자리다. 실제로 부르면 **값이 나오므로**
아무 시험도 안 잡는다 — 오늘 큰돌쌓기에서 같은 일이 있었다(직경 60~80㎝ 가 「뒷길이
45㎝」 계수로 돌던 자리). 그래서 **일부러 안 부른다.**
"""
why = STONE_KIN_WITHHELD.get(type_id)
return [], [why] if why else []