## .gitattributes - * text=auto eol=lf → Rust 소스·설정파일 LF 통일. - .png/.jpg/.ico/.usd binary 마킹. - .bat/.cmd/.ps1 Windows 스크립트는 CRLF 유지. - 매 커밋마다 뜨던 "LF will be replaced by CRLF" 경고 해소. ## cimery/README.md 신설 - Sprint 39 현재 상태 요약표 (기하/부재/UI/저장/IFC/배포/증분/테스트). - 빌드 & 실행 예시 (check/test/run/tauri build/insta update). - 크레이트 구조 트리 (11 crates) + 의존 방향. - 참조 문서 링크 (dev-guide·ADR·ParaWiki·PROGRESS·PLAN). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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 |
빌드 & 실행
# 전체 체크 / 테스트
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).