feat(rebar): 현장타설 말뚝 · 다주형 코핑 형상과 철근 계산

- 현장타설 기둥·말뚝 형상(cast-in-place-shape)과 주철근·횡철근·커플러 계산(rebar/cast-in-place, cast-layout)
- 다주형 코핑 철근(multicol-coping), 기둥 높이 · 양단부 연장
- 철근표 요약 · 재료 수량 · 3D 뷰 연결과 삽도(cast-rebar-svg)
- 검사 기준 갱신과 회귀 테스트, 검증 스크립트 보관

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-11-06 13:15:01 +09:00
1 parent 3922b330d5
commit 2e0bfb6fc8
29 files changed
+1750 -71

No files matched your search

+5 -3
View File
@@ -33,9 +33,11 @@ describe('조각 길이 (승인 2026-10-23): 여러 길이를 가진 행', () =>
expect(total(row('C12'))).toBeGreaterThan(0);
});
it('P1 and P2 pieces: each splice piece counts all the bars (230)', () => {
expect(row('P1').pieces!.every((p) => p.count === 230)).toBe(true);
expect(row('P2').pieces!.every((p) => p.count === 230)).toBe(true);
it('P1 and P2 pieces: each level has 46 bars, giving 230 physical pieces in all', () => {
expect(row('P1').pieces!.every((p) => p.count === 46)).toBe(true);
expect(row('P2').pieces!.every((p) => p.count === 46)).toBe(true);
expect(bars(row('P1'))).toBe(row('P1').count);
expect(bars(row('P2'))).toBe(row('P2').count);
expect(row('P1').pieces!.length).toBeGreaterThan(1);
});