From df96991c9b538501e241d236879041f430081346 Mon Sep 17 00:00:00 2001 From: ypshim Date: Tue, 27 Oct 2026 14:01:49 +0900 Subject: [PATCH] =?UTF-8?q?fix(rebar):=20=EA=B8=B8=EC=9D=B4=20=EB=8B=A8?= =?UTF-8?q?=EB=A9=B4=EC=9D=98=20B12=20=ED=92=8D=EC=84=A0=EC=9D=84=20?= =?UTF-8?q?=EC=99=BC=EC=AA=BD=EC=9C=BC=EB=A1=9C=20=EC=98=AE=EA=B2=A8=20B11?= =?UTF-8?q?=20=EC=A7=80=EC=8B=9C=EC=84=A0=EA=B3=BC=20=EA=B5=AC=EB=B6=84,?= =?UTF-8?q?=20=EB=A7=90=EB=9A=9D=20=EA=B0=9C=EC=88=98=20=ED=85=8C=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - B12 풍선을 피복선 쪽으로 80 px 옮겨 B11 지시선과 떨어지게 함 - 말뚝 5개 위치 전부 그려지는지 테스트로 확인 Co-Authored-By: Claude Haiku 5.5 --- src/view/footing-section-l-svg.ts | 2 +- tests/footing-section-l-svg.test.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/view/footing-section-l-svg.ts b/src/view/footing-section-l-svg.ts index d10543d..938cffb 100644 --- a/src/view/footing-section-l-svg.ts +++ b/src/view/footing-section-l-svg.ts @@ -136,7 +136,7 @@ export function footingSectionLSvg(model: PierModel): string { const zB11 = js.length > 0 ? fs.cBottom + js[0] * fs.sV : fs.cBottom; const zB12 = zB11 + dB10; parts.push(bubble('B5', xa + 12, yTop, xa + 12, y(z.B5), COLOR.b5)); - parts.push(bubble('B12', xb - 40, yTop, xb, y(zB12), COLOR.b12)); + parts.push(bubble('B12', xb - 80, yTop, xb, y(zB12), COLOR.b12)); parts.push(bubble('B11', xb - 12, yTop + 0, x(xsL[xsL.length - 2]), y(zB11), COLOR.b11)); parts.push(bubble('B10-2', X0 - 18, y(fs.cBottom + (levels - 1) * fs.sV / 2), x(-L / 2 + depth2), y(fs.cBottom + (levels - 1) * fs.sV / 2), COLOR.b10)); diff --git a/tests/footing-section-l-svg.test.ts b/tests/footing-section-l-svg.test.ts index 4416fae..153e7d2 100644 --- a/tests/footing-section-l-svg.test.ts +++ b/tests/footing-section-l-svg.test.ts @@ -38,6 +38,11 @@ describe('확대기초 교각축 단면 (길이 L) (승인 2026-10-27)', () => { expect(svg).toContain('8@200=1600'); }); + it('말뚝은 길이 방향 5개 위치 (모델 s 1.5–10.5 m)로 모두 그려짐', () => { + expect(svg.split('class="pile"').length - 1).toBe(new Set(m.piles.map((p) => p.s)).size); + expect(new Set(m.piles.map((p) => p.s)).size).toBe(5); + }); + it('has bubbles for B5, B11, B12 and B10-2', () => { for (const name of ['B5', 'B11', 'B12', 'B10-2']) expect(svg).toContain(`data-bubble="${name}"`); });