# cimery 토목 공학을 위한 파라메트릭 BIM 모델링 도구. Revit 의 토목 버전. MVP 타겟: 거더교. ## 현재 상태 (Sprint 39) 거더교 MVP 완성: | 영역 | 내용 | |---|---| | 기하 | PSC-I·SteelBox · 다경간 · Skew · Camber · 헌치 · 변단면 · 방호벽 · 격벽 | | 부재 | 거더·데크·교대·교각(T형/π형)·받침·가로보·신축이음 | | UI | egui 속성 패널 6 카테고리 · Perspective/Ortho 투영 토글 · 표준 뷰(1/3/7/Home) | | 저장 | JSON 프로젝트 · USD · IFC4X3 Add2 | | IFC | IfcAlignment · PSC-I 실제 단면 · Skew · Camber (10-segment) · Pset_BeamCommon | | 배포 | Tauri v2 (MSI/DMG/Deb) · WASM · CI/CD 3단계 | | 증분 | 수동 dirty tracking + salsa 백엔드 (feature gate) | | 테스트 | 4층(스냅샷·불변량·크로스체크·proptest) + IFC snapshot · 총 ~140 | ## 빌드 & 실행 ```bash # 전체 체크 / 테스트 cargo check --workspace --features occt cargo test --workspace # 뷰어 실행 (OCCT 백엔드) cargo run --release -p cimery-viewer --features occt # Tauri 앱 (런처 + 사이드카 뷰어) cargo tauri build -p cimery-app # MSI/DMG/Deb 번들 생성 # IFC 테스트 스냅샷 baseline 갱신 INSTA_UPDATE=always cargo test -p cimery-ifc --test snapshot_tests ``` ## 크레이트 구조 ``` cimery/crates/ ├── core ─── 단위 타입(Mm/M), 도메인 열거형 ├── ir ─── IR 구조체 + serde 직렬화 ├── dsl ─── Feature 빌더·검증 (Girder·Pier·Abutment 등) ├── kernel ─── GeomKernel trait + PureRust/Occt 백엔드 ├── incremental ─── 증분 DB (수동 + salsa 백엔드) ├── evaluator ─── IR → kernel 연결 ├── viewer ─── egui+wgpu 뷰어 + IFC 익스포트 버튼 ├── usd ─── USD 텍스트 익스포트 ├── ifc ─── IFC4X3 Add2 STEP Part21 익스포트 ├── macros ─── proc-macro (#[derive(ParamSummary)]) └── app ─── Tauri v2 데스크톱 런처 ``` 의존 방향: core → ir → {dsl, kernel, usd, ifc} → incremental → evaluator → viewer → app. ## 참조 문서 - **개발 지침**: `../Output/guides/cimery-dev-guide.md` - **아키텍처 결정**: `../Output/reports/ADR-001~004` - **ParaWiki 지식 저장소**: `../wiki/` - **작업 이력**: `../PROGRESS.md` - **할 일**: `../PLAN.md` ## 라이선스 MIT OR Apache-2.0 (workspace).