From c0a4ce57ad15653a8ed6093b978d93c5536af136 Mon Sep 17 00:00:00 2001 From: ypshim Date: Fri, 23 Oct 2026 16:11:21 +0900 Subject: [PATCH] =?UTF-8?q?fix(view):=20the=20=EB=81=8A=EC=9D=8C=20marks?= =?UTF-8?q?=20are=20short=20"//"=20breaks,=20and=20the=20pile=20label=20si?= =?UTF-8?q?ts=20clear=20below=20them?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The break lines ran across the members at a slant. They are now two short slanted strokes on the column stub and across the pile group, and the pile label is moved below the break. Co-Authored-By: Claude Haiku 5.5 --- src/view/footing-svg.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/view/footing-svg.ts b/src/view/footing-svg.ts index 580e4cd..d25feff 100644 --- a/src/view/footing-svg.ts +++ b/src/view/footing-svg.ts @@ -13,6 +13,12 @@ const PILE_STUB = 4; const mm = (v: number) => Math.round(v * 1000); +/** A break mark (끊음): two short slanted strokes "//" centred on (x, y), so the member is shown as cut. */ +function breakMark(x: number, y: number, halfWidth: number): string { + const d = 0.12; + return ``; +} + function svgOf(x0: number, y0: number, w: number, h: number, label: string, body: string): string { const pw = Math.round(w * FOOTING_PX_PER_M); const ph = Math.round(h * FOOTING_PX_PER_M); @@ -68,15 +74,16 @@ export function footingSideSvg(model: PierModel): string { const col = model.columns[0]; if (col) { parts.push(``); - // Break marks on the column stub and at the pile bottom. - parts.push(``); + // Break mark on the column stub, at its middle. + parts.push(breakMark(col.s, -f.top - COLUMN_STUB / 2, col.diameter / 2 + 0.15)); } if (piles.length) { - parts.push(``); + // Break mark across the pile group, in the lower stub (the pile label sits below it). + parts.push(breakMark(f.s, -(botEl + 0.6), f.length / 2)); } parts.push(`h1 ${mm(f.top - f.bottom)}`); if (piles.length) { - parts.push(`말뚝 ${mm(pileLen)} (끊음)`); + parts.push(`말뚝 ${mm(pileLen)} (끊음)`); } void pileTop; return svgOf(x0, y0, w, h, '확대기초·말뚝 측면', parts.join(''));