fix(M02): 45-5 구조물 조합 분류 표 · 카드 셋 사이 간격 107px → 12px · 표 아래 줄 · 카드 칸 위 줄 없앰

- 카드가 보일 때 표 자리 최소 높이 240px 풀어 표 높이만큼만
- 카드 칸 위 구분선 · 안쪽 여백 12px 없앰(메인 칸 간격 하나만)
- 조합 분류 표 틀 아래 줄 없앰(마지막 줄 칸 선이 표를 닫음)
- 확인 시나리오 resources/tester/ui_checks/45-5_분류표_카드_간격.js

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
This commit is contained in:
2026-10-05 12:47:31 +09:00
co-authored by Claude Opus 5.5
parent 6eb3c551be
commit 4ee2a4b74b
2 changed files with 43 additions and 4 deletions
@@ -0,0 +1,32 @@
/* 45-5 — M02 구조물 조합 상세(항목 고른 화면) · 분류 표와 카드 셋(도면 정보 · 일위대가 · 면적산출) 사이 간격 · 구분선
* 시작 화면: M02 마스터 템플릿 · 마스터 층(#/m02-master-template?open=구조물조합&root=master) · 나무에 item1 이 있음
* 부르는 법: orca eval --expression "$(cat 이 파일)" (async 식 · JSON 글을 돌려줌)
* 기대 수치:
* - gap = 표 틀 아래 끝 ~ 첫 카드 위 끝 = 메인 칸 간격(12px 안팎 · 옛 107px)
* - tableLine = 0(표 틀 아래 줄 없음) · lastRow > 0(마지막 줄 칸 선이 표를 닫음)
* - cardsLine = 0 · cardsPad = 0(카드 칸 위 줄 · 안쪽 여백 없음) · hr = 0
*/
(async () => {
const w = (ms) => new Promise((r) => setTimeout(r, ms));
document.querySelector('[data-node="i|item1"]').click();
for (
let t = 0;
t < 5000 && !document.querySelector(".m02-struct:not([hidden]) .m02-struct__card");
t += 100
)
await w(100);
await w(300);
const scroll = document.querySelector(".m02-main__host .ui-sheet__scroll");
const struct = document.querySelector(".m02-struct");
const card = struct.querySelector(".m02-struct__card");
const cells = scroll.querySelectorAll("th, td");
const cs = (e) => getComputedStyle(e);
return JSON.stringify({
gap: Math.round(card.getBoundingClientRect().top - scroll.getBoundingClientRect().bottom),
tableLine: parseFloat(cs(scroll).borderBottomWidth),
lastRow: parseFloat(cs(cells[cells.length - 1]).borderBottomWidth),
cardsLine: parseFloat(cs(struct).borderTopWidth),
cardsPad: parseFloat(cs(struct).paddingTop),
hr: document.querySelectorAll(".m02-main hr").length,
});
})();