diff --git a/B06_Section/B06_Section_UI_Cross_Structure_Panel.ts b/B06_Section/B06_Section_UI_Cross_Structure_Panel.ts index dd2c5a01..3349554f 100644 --- a/B06_Section/B06_Section_UI_Cross_Structure_Panel.ts +++ b/B06_Section/B06_Section_UI_Cross_Structure_Panel.ts @@ -525,9 +525,8 @@ export function buildStructurePanel( : movable ? L("B06_Cross_Revet_Inlet") : L("B06_Cross_Struct_InletBasin"); - // 독립 기슭막이(관 숨김)는 유입·유출이 같은 성토 벽이다 — 집수정 형식 선택을 - // 숨기고 유입측에도 단 수 행을 준다(2026-08-29 사용자: 좌우 조작 통일). - const ownTiers = deps.hiddenPipe() && key === "inlet"; + // 독립 기슭막이(관 숨김)는 유입·유출이 같은 성토 벽이다 — 집수정 형식 선택만 숨긴다 + // (단 수 행은 아래에서 기슭막이 기준벽이면 언제나 준다). // 형식 선택은 유입측에서만, 이동·높이 조작은 기슭막이(집수정 제외)만. structureRow.classList.toggle("is-hidden", key !== "inlet" || deps.hiddenPipe()); if (key === "inlet" && !deps.hiddenPipe()) { @@ -594,14 +593,13 @@ export function buildStructurePanel( : tierChannel === "basin" ? deps.basinExtraState() : { canAdd: false, count: 0 }; + // 기슭막이 기준벽(배관 유입·유출, 독립 좌·우)에서는 **항상** 보인다(2026-08-30 + // 사용자). 링크 카드에서 만져도 제어기가 소유 측점 값을 고치므로 안전하다. + // 집수정 유입은 계류측 단이 설 자리가 있을 때만 — 벽이 아니라 구체다. + const revetWall = (key === "inlet" || key === "outlet") && !isBasin; extraRow.classList.toggle( "is-hidden", - deps.isLinkedCard() || - !( - tierChannel === "outlet" || - (tierChannel === "basin" && - (ownTiers || (isBasin && (tiers.canAdd || tiers.count > 0)))) - ), + !revetWall && !(isBasin && tierChannel === "basin" && (tiers.canAdd || tiers.count > 0)), ); currentCount = tiers.count; countValue.textContent = `${tiers.count}단`; @@ -622,7 +620,12 @@ export function buildStructurePanel( linkToggle.button.title = levelled ? LINK_LOCKED_TITLE : LINK_TITLE; gradeToggle.button.classList.toggle("is-hidden", currentSpan === null); gradeToggle.set(!levelled); - optionParts.row.classList.toggle("is-hidden", linkState === null && currentSpan === null); + // 옵션(연동·경사)도 기슭막이 기준벽에서는 항상 자리를 지킨다 — 상태 따라 + // 나타났다 사라지면 아래 행들이 널뛴다(2026-08-30 사용자). + optionParts.row.classList.toggle( + "is-hidden", + !revetWall && linkState === null && currentSpan === null, + ); const adjust = deps.adjustFor(key); // 정보는 항목당 한 행(2026-08-22 사용자) — 0이면 "자동", 좌우는 안/바깥, // 상하는 위/아래로 적는다.