refactor(abut): 교량받침 카드에서 받침 종류 · 용량 입력 삭제

- 받침 종류 · 용량 입력칸과 받침 규칙의 kind 값을 제거
- 예전 프로젝트 파일에 저장된 kind 값은 읽을 때 무시 (불러오기 오류 없음)
- 테스트 갱신. 전체 651건 통과, 타입 검사·빌드 통과

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Opus 5.5 committed 2026-11-03 18:40:16 +09:00
1 parent 6b969f4a7c
commit 796a267205
5 files changed
+7 -29

No files matched your search

+2 -4
View File
@@ -18,12 +18,10 @@ export interface AbutBearingRule {
widthMm: number;
/** 종단 기울기 S (%). */
slopePct: number;
/** 받침 종류 · 용량 (글자 입력). */
kind: string;
}
/** 기본값: 교각 솔플레이트 규칙과 같은 1000 × 1100 · −0.5 % (가정, QA-15). 받침 종류는 탄성받침 (Task yaml 응답). */
export const ABUT_BEARING_RULE_DEFAULT: AbutBearingRule = { lengthMm: 1000, widthMm: 1100, slopePct: -0.5, kind: '탄성받침' };
/** 기본값: 교각 솔플레이트 규칙과 같은 1000 × 1100 · −0.5 % (QA-15, 사용자 결정 2026-11-03). */
export const ABUT_BEARING_RULE_DEFAULT: AbutBearingRule = { lengthMm: 1000, widthMm: 1100, slopePct: -0.5 };
/** 받침블럭 평면 (mm, 정사각) and 몰탈패드 평면 (mm), spec_abut §4.2. */
export const ABUT_BLOCK_MM = 1200;
export const ABUT_PAD_PLAN_MM = 1000;
+2 -7
View File
@@ -96,14 +96,9 @@ export const BEARING_RULE_FIELDS: { key: 'lengthMm' | 'widthMm' | 'slopePct'; la
/**
* Changes one 받침 규칙 value. L and W must be greater than 0, S any number, and the rule must still build a solplate with
* the 교대 받침높이 H (the pier rule's checks). The 받침 종류 must not be empty.
* the 교대 받침높이 H (the pier rule's checks).
*/
export function applyBearingRule(rec: AbutRecord, key: keyof AbutBearingRule, value: number | string): AbutRecord {
if (key === 'kind') {
const kind = String(value).trim();
if (!kind) throw new Error('받침 종류 · 용량을 입력하세요.');
return { ...rec, bearingRule: { ...(rec.bearingRule ?? {}), kind } };
}
export function applyBearingRule(rec: AbutRecord, key: keyof AbutBearingRule, value: number): AbutRecord {
const n = Number(value);
if (!Number.isFinite(n)) throw new Error('솔플레이트 규칙 값은 숫자여야 합니다.');
const bearingRule = { ...(rec.bearingRule ?? {}), [key]: n };
+1
View File
@@ -131,6 +131,7 @@ export function checkStoredAbutments(list: unknown): void {
}
if (a.bearingRule !== undefined) {
for (const [key, v] of Object.entries(a.bearingRule)) {
// 'kind' (받침 종류) was stored by an earlier version and is ignored now (2026-11-03).
if (key === 'kind' ? typeof v !== 'string' : !finite(v)) throw new Error(`${who}: 받침 규칙 ${key}이(가) 맞지 않습니다.`);
}
}