From 02d740d8ca8f79ae15a139dbb55bce0d38a1afd4 Mon Sep 17 00:00:00 2001 From: ypshim Date: Thu, 22 Oct 2026 11:48:18 +0900 Subject: [PATCH] fix(view): left-align the rebar table text and clarify the C14 note MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - The 번호·규격 and 비고 columns of the ③ table read left to right; the note wraps instead of stretching the table. - C14 note: "위 2줄 11본씩, 아래 5 · 6 · 3 · 2 (합 38)". Co-Authored-By: Claude Haiku 5.5 --- src/core/rebar/summary.ts | 2 +- src/main.ts | 2 +- src/style.css | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/core/rebar/summary.ts b/src/core/rebar/summary.ts index 026f5b1..bf17db8 100644 --- a/src/core/rebar/summary.ts +++ b/src/core/rebar/summary.ts @@ -66,7 +66,7 @@ export function rebarSummary(model: PierModel): { rows: RebarRow[]; warnings: Re const side = sideRows(41.288, 42.538); rows.push({ member: 'coping', name: 'C12', size: 'H25', count: side.c12.length, length: null, note: `측면, 경사 하면에서 끊김, 일자 ${SIDE_LENGTHS.C12[0]}–${SIDE_LENGTHS.C12[4]}` }); rows.push({ member: 'coping', name: 'C13', size: 'H25', count: side.c13.length, length: SIDE_LENGTHS.C13, note: '측면, 끝면까지' }); - rows.push({ member: 'coping', name: 'C14', size: 'H19', count: c14Total(), length: STEP_LENGTHS.C14, note: `직각 수평 ${C14_COUNTS.upperLines * C14_COUNTS.upperPerLine}+${C14_COUNTS.lower.join('+')}` }); + rows.push({ member: 'coping', name: 'C14', size: 'H19', count: c14Total(), length: STEP_LENGTHS.C14, note: `위 ${C14_COUNTS.upperLines} 줄 ${C14_COUNTS.upperPerLine}본씩, 아래 ${C14_COUNTS.lower.join(' · ')} (합 ${c14Total()})` }); rows.push({ member: 'coping', name: 'C15', size: 'H19', count: STEP_BAR_COUNTS.C15, length: STEP_LENGTHS.C15, note: '계단부, 가장 높은 구간 (거꾸로 U)' }); rows.push({ member: 'coping', name: 'C16', size: 'H19', count: STEP_BAR_COUNTS.C16, length: STEP_LENGTHS.C16[0], note: `계단부, 3·4구간 (${STEP_LENGTHS.C16[0]} / ${STEP_LENGTHS.C16[1]})` }); diff --git a/src/main.ts b/src/main.ts index e3722b4..235060f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -717,7 +717,7 @@ function renderRebar(): void { const { rows, warnings } = rebarSummary(pier.model); $('rebar-note').textContent = `${pier.input.name} · 형상 기준 계산 · 값은 기본값 기준 문서 규칙`; const shown = rows.filter((r) => r.member === state.rebarMember); - const table = el('table', undefined, 'grid-table'); + const table = el('table', undefined, 'grid-table rebar-table'); const head = el('thead'); const hr = el('tr'); for (const h of ['번호', '규격', '개수', '길이 (mm)', '비고']) hr.appendChild(el('th', h)); diff --git a/src/style.css b/src/style.css index dd455d7..76c202e 100644 --- a/src/style.css +++ b/src/style.css @@ -678,3 +678,12 @@ body { background: #eef1f4; font-family: 'Noto Sans KR', system-ui, sans-serif; .pile-row.warn { color: #8a4b00; } .warn-text { color: #8a4b00; font-size: 12px; } +/* 철근표 (③): text columns read left to right; the note column wraps instead of stretching. */ +.rebar-table td:nth-child(1), +.rebar-table td:nth-child(2), +.rebar-table th:nth-child(1), +.rebar-table th:nth-child(2), +.rebar-table td:nth-child(5), +.rebar-table th:nth-child(5) { text-align: left; } +.rebar-table td:nth-child(5) { white-space: normal; min-width: 260px; } +