feat(rebar): piece lengths for C9–C13 and P1·P2 so the 재료표 has no missing bars

A row can now carry pieces (length, count). C9, C10, C11 and C9·C11 사이 have U and 삿갓 pieces per position (3 loops each);
C12 and C13 have 일자 and ㄷ pieces per bar; P1 and P2 have their splice pieces, each counting all the bars. The
재료표 totals from the pieces, so no bar is left out. 개수 stays the 철근표 count; the piece count is kept beside it. The
삿갓 length h − 100 is an assumption (Q-K5) and is noted on the ④ screen.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-23 10:27:17 +09:00
1 parent 99c71b7277
commit e999b11a21
6 files changed
+98 -23

No files matched your search

+3 -4
View File
@@ -22,11 +22,10 @@ describe('철근재료표 (승인 2026-10-23)', () => {
}
});
it('bars with no length yet are listed as missing and kept out of the totals', () => {
it('a row with several lengths is totalled from its pieces, not left out', () => {
const q = buildQuantity(rows, DEFAULT_MATERIAL);
expect(q.missing).toContain('C9');
expect(q.missing).toContain('C11');
expect(q.groups.flatMap((g) => g.diameters.flatMap((d) => d.lines.map((l) => l.name)))).not.toContain('C9');
expect(q.missing).toEqual([]);
expect(q.groups.flatMap((g) => g.diameters.flatMap((d) => d.lines.map((l) => l.name)))).toContain('C9');
});
it('couplers are counted, not weighed', () => {