feat(abut-rebar): ③ 교대 날개벽 3D 철근 (WR1–WR20, 좌 · 우)

- 날개벽 배근 경로(교대 s · t · z)를 교대 3D 철근에 추가. 선택 · 색 기준 공통
- 테스트: 철근표 = 3D 개수 (양측), 벽체 전면 뒤 · 저판 하면망 위

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
ypshimandClaude Haiku 5.5 committed 2026-11-04 18:00:42 +09:00
1 parent bac087ce63
commit e3c9ad0953
3 files changed
+49 -6

No files matched your search

+3 -2
View File
@@ -692,14 +692,15 @@ function setupScene(): void {
state.scene = scene;
setView(state.view);
}
// ③ 교대 (2026-11-04): with the piers hidden, the selected abutment's 저판 · 벽체 · 흉벽 rebar is the ③ rebar (표 · 3D 선택 공통).
// ③ 교대 (2026-11-04): with the piers hidden, the selected abutment's 저판 · 벽체 · 흉벽 · 날개벽 rebar is the ③ rebar (표 · 3D 선택 공통).
const abutRec = piersShown(state.stage, state.abutActive) ? undefined : state.abutments.find((a) => a.name === state.abutActive);
const abutGroup = abutRec ? abutGroupByName.get(abutRec.name) : undefined;
const footing = abutRec ? abutFootingBuilt(abutRec) : null;
if (abutRec && abutGroup && footing && footing.bottomEl !== undefined) {
const wall = abutWallBuilt(abutRec, footing.result);
const para = wall ? abutParapetBuilt(abutRec, wall) : null;
rebar3d = buildAbutRebar3D(footing.geom, footing.result, footing.skewK, footing.backM, footing.bottomEl, wall?.result, para?.result);
const wings = abutWingsBuilt(abutRec, footing.result).map((w) => w.result);
rebar3d = buildAbutRebar3D(footing.geom, footing.result, footing.skewK, footing.backM, footing.bottomEl, wall?.result, para?.result, wings);
rebar3d.group.applyMatrix4(abutGroup.matrix);
rebar3d.group.visible = state.stage === 'rebar';
rebar3d.setColorMode(state.rebarColor);