feat(구조물표): 322-2 M02 표 화면 — 탭 셋(한눈 표 · 종류별 · 부품) · 반영 · 부품 · 알약 색 저장 · 목록 + enabled 함께 · 검사 짝(화면 = 서버 · 1-3 규칙 · 만든 뒤 고정) · 명세 폼 보임 따름 · 판 알림

- 한눈 표(M02_SO_Def_Table): 군 · 종류 ▲▼ · 이름 · 목록 · 자리꼴 · 정본(고정) · 횡단도 · 카드 이름 · 형상(+ 벽 기본 형태 · 물빼기) · 알약 색 · 3D · 검사 · 처음 값 = 흐림 「기본」 · 바꿈 = 진함 · [처음 값으로]
- 종류별: 반영 칸 + 명세 이름 나무 줄마다 보임(컨테이너 = 그 안 칸) · 못 숨김 · 미리보기 숨김 따름 · 「안 씀」 = 목록 B06 만
- 부품 탭(M02_SO_Def_Parts): 부품 · 읽는 칸 · 자리꼴 · 정본 · 쓰는 종류 · 켬/끔(정의 부품 = 끈 것만)
- 편집 손질(M02_SO_Def_Reflect): 처음 값이면 반영에서 지움 · [저장] 때 enabled = 목록 both 일 때만 참
- 검사 짝 M02_SO_Def_Check.ts ↔ M02_SO_Check.py(글까지 같음): 반영 · 부품 꼴 · 형상 none → 횡단도 none · 부품 자리꼴 · 정본 · 기본값 없는 읽는 칸 새로 숨김 금지(앞 판 숨김 그대로) · 종류 지우기 · 자리꼴 · 정본 · 군 글자 · 선택지 값 고정 · 서버 check(doc, 지금 판) · 앞 판 없으면 꼴만
- 명세 폼: 쓰는 옵션 키가 모두 숨긴 칸 · 상자는 안 그림(값 그대로) · B05 · B06 시설 · 구조물 명세 폼이 정의 「표시」를 따름
- 판 알림: GET 구조물 목록에 definition_version · structures.json 판 ≠ 지금 판이면 「구조물 정의가 판 N 으로 바뀜 — 저장하면 반영」 한 번
- 시험: test_322_2_check_mirror(거울 · 규칙 · 반영 손질 · 서버 저장 · 422) · 판 알림 · 옛 정의 화면 시험 = 선택지 값 대신 이름 표 · 못 숨김 아닌 칸

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
This commit is contained in:
2026-10-14 15:40:38 +09:00
co-authored by Claude Opus 5.5
parent bbd6254892
commit 3abd2bdfd4
26 changed files with 1635 additions and 34 deletions
@@ -125,6 +125,48 @@ const TEXT = {
Pick: ["왼쪽에서 구조물 종류를 고름", "Pick a structure type on the left"],
Detail: ["B06 전용", "B06 only"],
Save: ["저장", "Save"],
TabTable: ["한눈 표", "Overview"],
TabKinds: ["종류별", "By type"],
TabParts: ["부품", "Parts"],
TableNote: [
"종류마다 B05 · B06 반영 한 줄 — 목록 · 횡단도 · 카드 이름 · 형상 · 3D 는 코드 부품 중에서 고름 · 흐린 칸 = 처음 값(기본) · 진한 칸 = 바꾼 값 · 자리꼴 · 정본은 만든 뒤 고정",
"One row per type — pick parts for list · cross section · card name · shape · 3D; faded = default, bold = changed",
],
ColFamily: ["군", "Family"],
ColKind: ["종류", "Type"],
ColName: ["이름", "Name"],
ColList: ["목록", "List"],
ColPlacement: ["자리꼴", "Placement"],
ColOwner: ["정본", "Owner"],
ColStation: ["횡단도", "Cross section"],
ColTitle: ["카드 이름", "Card name"],
ColShape: ["형상", "Shape"],
ColShapeOpts: ["형상칸", "Shape fields"],
ColColor: ["알약 색", "Pill color"],
Col3D: ["3D", "3D"],
ColCheck: ["검사", "Check"],
ListBoth: ["B05 · B06", "B05 · B06"],
ListB06: ["B06 만", "B06 only"],
ListHidden: ["안 보임", "Hidden"],
OffNone: ["없음", "None"],
TitleName: ["종류 이름", "Type name"],
Default: ["기본", "Default"],
Fixed: ["고정", "Fixed"],
Reset: ["처음 값으로", "Reset"],
Ok: ["통과", "OK"],
WallForm: ["기본 형태", "Default form"],
Weep: ["물빼기", "Weep holes"],
ReflectHead: ["B05 · B06 반영", "B05 · B06 use"],
ShownCol: ["보임", "Shown"],
CannotHide: ["못 숨김", "Required"],
PartsNote: [
"코드가 그리는 방법(부품) — 끄면 그 부품을 쓰는 종류는 그 갈래가 없음으로 · 읽는 칸 = 그 부품이 쓰는 옵션(숨기지 못함)",
"Code drawing parts — turning a part off makes its users fall back to none; read fields cannot be hidden",
],
PartRead: ["읽는 칸", "Reads"],
PartFits: ["맞는 자리꼴 · 정본", "Fits"],
PartUsers: ["쓰는 종류", "Used by"],
PartOn: ["켬", "On"],
Stale: [
"그 사이 정의가 바뀜 — 새로 받았으니 다시 고쳐 주세요",
"Changed meanwhile — reloaded, please edit again",