feat(rebar): rebar strength per 규격 prefix as inputs on ③ (D SD300, H SD400, S SD500)

fyH and fyS become a grade per prefix (D · H · S), chosen from SD300 · SD400 · SD500. The defaults are the P1 values, so
the P1 results do not change. Each bar takes its grade from its 규격 (fyOf). The 철근표 has a 강도 column. Older files
that stored fyH / fyS are read into the grade map. Only fck is still an assumed value (I02). Approved 2026-10-23.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-10-23 09:51:36 +09:00
1 parent 398fa997e2
commit b3533b69df
11 files changed
+102 -37

No files matched your search

+2 -2
View File
@@ -68,8 +68,8 @@ describe('project file round trip (spec §8, plan B3)', () => {
describe('③ 공통 설정 in the project file', () => {
it('fck and fy are kept through save and open; older files get the defaults through the app', () => {
const p = sampleProject();
const withCommon = { ...p, common: { fck: 35, fyH: 400, fyS: 500 } };
expect(parseProject(serializeProject(withCommon)).common).toEqual({ fck: 35, fyH: 400, fyS: 500 });
const withCommon = { ...p, common: { fck: 35, grade: { D: 300, H: 400, S: 500 } } };
expect(parseProject(serializeProject(withCommon)).common).toEqual({ fck: 35, grade: { D: 300, H: 400, S: 500 } });
expect(parseProject(serializeProject(p)).common).toBeUndefined();
});
});