fix(structure): 필수 칸 빈 옛 구조물도 다른 칸 · 측점 바꿈 바로 반영 · 빈 칸 표시 + 안내 한 줄(54-12)

- 실시간 반영이 빈 필수 칸에서 멈추고 포커스만 보내던 것 풂 · [추가] · 서버 [저장] 막기 그대로
- 빈 필수 칸 붉은 테두리 + 그 칸 상자 안 「필수 칸 비어 있음 — [저장] 전 채움」(B05 = B06)
- 시험 test_54_12_live_required · 옛 「실시간 멈춤」 기대 한 줄 바꿈

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013rJwJMVL4EE31y77TB11AP
This commit is contained in:
2026-10-06 11:40:39 +09:00
co-authored by Claude Opus 5.5
parent 8759fbf0ee
commit dfe1382377
7 changed files with 214 additions and 4 deletions
@@ -25,6 +25,7 @@ import { type FacilityAttributes } from "./B05_Profile_UI_Drainage_Facility";
import { field, optionDefaults } from "./B05_Profile_UI_Structures_Fields";
import {
hidesTypeSummary,
markRequired,
paintStale,
renderOptionFields as renderOptionFieldsInto,
} from "./B05_Profile_UI_Structures_Panel_Options";
@@ -99,12 +100,14 @@ export function createStructuresSection(
groupBoxes,
} = form;
/** 옵션 그룹 상자를 지금 종류 · 칸에 맞춰 다시 세움(PLAN 46-3) — 칸을 그린 뒤마다 부름. */
const regroup = (): void =>
const regroup = (): void => {
groupBoxes.render(
currentType(),
[optionRow, facilityOptions.root],
facilityFormKind(currentType()),
);
markRequired(optionInputs, optionRow); // 빈 필수 칸 안내 = 칸이 옮겨 간 상자 안(54-12)
};
/** 이 타입이 서브폼(계곡 통과 시설 부속)을 쓰는지 — 쓰면 레지스트리 옵션 칸 대신
* 서브폼이 그린다. 독립 기슭막이(D4)는 서브폼을 떠나 C군과 같은 레지스트리 옵션