Sprint 31/32 — 헌치 + 속성 패널 카테고리 재정리

Sprint 31: Haunch (데크 헌치).
- SceneParams.haunch_depth (0~300mm, step 10mm).
- 거더 상부와 데크 soffit 사이 600mm×haunch_d×span 블록을 경간별·거더별
  자동 배치. COL_DECK 로 색상 통일.
- 데크 위치: girder_h + slab_thickness → girder_h + haunch_depth + slab_thickness.
  6군데(build_bridge_scene + build_selectable_scene 의 데크·신축이음·방호벽)
  일괄 수정.
- camber + skew 동시 적용.
- UI: "헌치 (mm)" 슬라이더.

Sprint 32: 속성 패널 재정리.
- 누적 11개 슬라이더가 한 섹션에 섞여 혼잡 → 5개 CollapsingHeader 분리:
  · 상부구조 (경간·거더 관련 5항목)
  · 바닥판 (슬래브·헌치)
  · 선형·기하 (경사각·솟음)
  · 하부구조 (교각 형식)
  · 추가 부재 (가로보·신축이음·격벽 — 기존 유지)
  · 표시 (선형·투영 — 기존 유지)
- ps!($ui, ...) 매크로 hygiene 수정: ui 명시적 매개변수화로 macro_rules
  기본 hygiene 의 외부 캡처 문제 회피.
- "경간" 라벨 중복(span_m vs span_count) 해소: "경간 길이"/"경간 수".

ProjectFile: haunch_depth 필드 추가 (default 0.0).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-15 15:19:00 +09:00
parent 0013182835
commit 94ce89093f
4 changed files with 113 additions and 32 deletions

View File

@@ -44,6 +44,9 @@ pub struct ProjectFile {
/// Sprint 30: 솟음(Camber) 중앙값 [mm]
#[serde(default)]
pub camber_mid_mm: f32,
/// Sprint 31: 데크 헌치(Haunch) 깊이 [mm]
#[serde(default)]
pub haunch_depth: f32,
}
fn default_true() -> bool { true }
@@ -77,6 +80,7 @@ impl ProjectFile {
skew_deg: p.skew_deg,
show_diaphragms: p.show_diaphragms,
camber_mid_mm: p.camber_mid_mm,
haunch_depth: p.haunch_depth,
}
}
@@ -103,6 +107,7 @@ impl ProjectFile {
skew_deg: self.skew_deg,
show_diaphragms: self.show_diaphragms,
camber_mid_mm: self.camber_mid_mm,
haunch_depth: self.haunch_depth,
}
}