fix(구조물표): 323-9 ④ 작은 것 — 검사 글 띄어쓰기 「… · 구조물에 안 맞음」(화면 · 서버 짝) · 노선 끝(EP)처럼 같은 m 카드 둘이면 3D 관 · 세월교 · BOX 몸체를 한 번만(앞 카드 · ownsBodies)

- M02_SO_Def_Check.ts ↔ M02_SO_Check.py 글 · test_322_2_check_mirror 기대 글
- B05 3D: buildCorridorStructures 관 몸체 = 같은 m 앞 카드만 · 벽은 그대로(wallSweepAt)
- 시험: test_323_9_twin_cards_3d(세월교 · BOX 카드 둘 = 하나와 같음 · 고치기 전 두 배)

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 21:13:36 +09:00
co-authored by Claude Opus 5.5
parent e067a22439
commit dd35589079
7 changed files with 150 additions and 16 deletions
@@ -142,7 +142,7 @@ def _row_errors(doc: dict[str, Any], before: dict[str, Any] | None) -> list[str]
place = PLACE_KO.get(row["placement"], row["placement"])
owner = OWNER_KO.get(row["owner"], row["owner"])
if row["placement"] not in part["자리꼴"] or row["owner"] not in part["정본"]:
out.append(f"「{row['name']}」 {branch} 「{name}」 — {place} · {owner} 에 안 맞음")
out.append(f"「{row['name']}」 {branch} 「{name}」 — {place} · {owner}에 안 맞음")
for key in part["읽는 칸"]:
if key in keys and key in hidden:
out.append(
@@ -156,7 +156,7 @@ function rowErrors(doc: CheckDef, before: CheckDef | null): string[] {
const place = PLACE_KO[row.placement] ?? row.placement;
const owner = OWNER_KO[row.owner] ?? row.owner;
if (!part.자리꼴.includes(row.placement) || !part.정본.includes(row.owner))
out.push(`「${row.name}」 ${branch} 「${name}」 — ${place} · ${owner} 에 안 맞음`);
out.push(`「${row.name}」 ${branch} 「${name}」 — ${place} · ${owner}에 안 맞음`);
for (const key of part["읽는 칸"])
if (keys.has(key) && hidden.includes(key))
out.push(