feat(rebar): block rebar settings card and C–C section on the ③ bearing tab

- Six inputs with their ranges and P1 defaults; a change regenerates the pier.
- The 적용 블럭 line shows the blocks (분리 n개 or 일체 n쌍, 전체).
- view/block-rebar-svg.ts: the section C–C along the 교축 with the S2 dots, the
  S1 lines and legs, and the dimensions (block widths, the S2 layout).
- 받침블럭 철근 설정 is tracked for changes (defaults vs the current draft).

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-26 14:12:36 +09:00
1 parent a6f362df56
commit 38bb26eda5
4 files changed
+130 -1

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
import { describe, expect, it } from 'vitest';
import { buildPier } from '../src/core/geometry';
import { blockRebarSectionSvg } from '../src/view/block-rebar-svg';
import { loadP1 } from './helpers';
describe('받침블럭 배근 단면 C–C (승인 2026-10-26)', () => {
it('shows the block widths 1200 and the 98 gap, and the S2 layout 7@125=875 for a separate pier', () => {
const svg = blockRebarSectionSvg(buildPier(loadP1()));
expect(svg).toContain('>1200<');
expect(svg).toContain('162.5 · 7@125=875 · 162.5');
});
it('a 일체 pier shows the 2500 block and the 19 S2 bars (18@125 = 2250 between the first and last)', () => {
const svg = blockRebarSectionSvg(buildPier({ ...loadP1(), bearingLayout: '일체' }));
expect(svg).toContain('>2500<');
expect(svg).toContain('@125=2250');
});
});