Sprint 27/28 — Skew + 방호벽 + 관련 메타 갱신
Sprint 27: 경사각(Skew) 지원. - SceneParams.skew_deg (-30°~30°) 추가. - rotate_y_around_z(mesh, rad, pivot_z) 헬퍼: Y축 중심, 임의 Z pivot 회전. 정점·법선 동시 회전. - 적용 대상: 교대·교각·받침·신축이음 (각 지점 pivot_z 기준). - 거더·데크는 직선 유지 (precast 거더 스큐 교량의 일반 관례). - UI: "경사각(°)" 슬라이더. Sprint 28: 방호벽(Parapet) MVP. - 데크 양 엣지(half_w, -half_w) 에 1200mm×500mm RC 박스 전 구간 연속 배치. - Y 기준: 데크 상면 (girder_h + slab_thickness). - 색: COL_ABUTMENT 재사용 (콘크리트 브라운). - build_bridge_scene / build_selectable_scene 양쪽 추가. 선택 가능 씬에서는 "방호벽 (좌/우)" 라벨. ProjectFile v2: skew_deg 필드 (default 0.0). PROGRESS.md: Sprint 25~28 정리. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,9 @@ pub struct ProjectFile {
|
||||
pub span_count: usize,
|
||||
#[serde(default = "default_pier_type")]
|
||||
pub pier_type: String, // "single" | "multi"
|
||||
/// Sprint 27: 경사각 [deg]
|
||||
#[serde(default)]
|
||||
pub skew_deg: f32,
|
||||
}
|
||||
|
||||
fn default_true() -> bool { true }
|
||||
@@ -65,6 +68,7 @@ impl ProjectFile {
|
||||
cimery_core::PierType::MultiColumn => "multi".into(),
|
||||
_ => "single".into(),
|
||||
},
|
||||
skew_deg: p.skew_deg,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,6 +92,7 @@ impl ProjectFile {
|
||||
"multi" => cimery_core::PierType::MultiColumn,
|
||||
_ => cimery_core::PierType::SingleColumn,
|
||||
},
|
||||
skew_deg: self.skew_deg,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user