feat(abut): 벽체·흉벽 카드를 시안대로 정리 (구간 표, 교좌면 폭, 형상 카드 상시 표시)
- 형상 카드(삽도, 입력 격자, 확인 필요 노트)를 접히는 편집 영역 밖으로 옮김. 벽체·흉벽 카드를 열면 편집 토글과 무관하게 보임 - 전면 입력 라벨을 "교좌면 폭 (흉벽 전면 기준, mm)"으로 바꿈 (시안의 교좌면 폭 1600과 같은 값) - 구간 표 추가: 구간, 시작, 끝, 교좌면 EL, 받침블럭 높이, 벽체 높이 (모델과 부재에서 계산) - 확인 필요 패널은 아직 형상 카드 안(입력 격자 아래)에 있음. 시안처럼 오른쪽 열로 옮기지는 않음 - 테스트 641건 통과, 타입 검사·빌드 통과. 브라우저 시각 확인은 미실시 Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a14497a771
commit
842d372312
5 files changed
+46
-7
No files matched your search
+20
-1
@@ -7,7 +7,7 @@ import { parseWorkbook, type SheetReport } from './core/parseWorkbook';
|
||||
import { parseAbutments, toAbutInput, type AbutRecord } from './core/abut/parse';
|
||||
import { buildAbut } from './core/abut/geometry';
|
||||
import { structureOrder } from './core/abut/order';
|
||||
import { ABUT_DETAIL_LABELS, abutInputRows, abutSummaryRows } from './core/abut/summary';
|
||||
import { ABUT_DETAIL_LABELS, ABUT_SEGMENT_HEADER, abutInputRows, abutSegmentRows, abutSummaryRows } from './core/abut/summary';
|
||||
import { applyAbutEdit, applyBearingEdit, applyShapeEdit, ABUT_EDIT_FIELDS, SHAPE_EDIT_FIELDS, restoreAbutDefault, setWingForm } from './core/abut/edit';
|
||||
import { ABUT_SHAPE_DEFAULT, resolveShape } from './core/abut/shape';
|
||||
import { abutShown, piersShown } from './core/abut/visibility';
|
||||
@@ -894,6 +894,25 @@ function fillAbutSlot(slot: (typeof ABUT_SLOTS)[keyof typeof ABUT_SLOTS], rec: A
|
||||
});
|
||||
shape.append(lab, input, el('span', `기본 ${ABUT_SHAPE_DEFAULT[f.key]}`, 'muted small'));
|
||||
}
|
||||
// 구간 표 (시안 하단): one row per 교좌면 step, from the model (2026-11-03).
|
||||
if (planCard) {
|
||||
try {
|
||||
const model = buildAbut(toAbutInput(rec));
|
||||
const members = buildMembers(model, { bottomEl: rec.foundationBottomEl, pileLengthMm: rec.pileLengthMm }, rec.shape);
|
||||
const table = document.createElement('table');
|
||||
table.className = 'abut-seg';
|
||||
const thead = table.createTHead().insertRow();
|
||||
for (const h of ABUT_SEGMENT_HEADER) thead.append(el('th', h));
|
||||
const tbody = table.createTBody();
|
||||
for (const row of abutSegmentRows(model, members)) {
|
||||
const tr = tbody.insertRow();
|
||||
for (const cell of row) tr.append(el('td', cell));
|
||||
}
|
||||
shape.append(table);
|
||||
} catch {
|
||||
// A model that does not build shows no 구간 표 (the errors are reported on import).
|
||||
}
|
||||
}
|
||||
// 확인 필요 (spec_abut, 시안 오른쪽 패널): the open 교대 questions that touch the shape (2026-11-03).
|
||||
if (planCard) {
|
||||
const qa = el('div', undefined, 'abut-qa');
|
||||
|
||||
Reference in new issue
Block a user