From 2361f318d46df5456bf4baa45bc63c14f1540503 Mon Sep 17 00:00:00 2001 From: minsung Date: Thu, 16 Apr 2026 08:44:30 +0900 Subject: [PATCH] =?UTF-8?q?cimery=20=EB=A3=A8=ED=8A=B8=20README=20+=20.git?= =?UTF-8?q?attributes=20(LF/CRLF=20=EA=B2=BD=EA=B3=A0=20=EC=A0=9C=EA=B1=B0?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## .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 --- cimery/.gitattributes | 19 +++++++++++++ cimery/README.md | 66 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 cimery/.gitattributes create mode 100644 cimery/README.md diff --git a/cimery/.gitattributes b/cimery/.gitattributes new file mode 100644 index 0000000..da4f704 --- /dev/null +++ b/cimery/.gitattributes @@ -0,0 +1,19 @@ +# cimery — Git 속성 +# +# Windows ↔ Unix LF/CRLF 경고 방지. Rust 소스는 LF 유지. + +* text=auto eol=lf + +# 이진 파일: 줄바꿈 변환 금지. +*.png binary +*.jpg binary +*.jpeg binary +*.ico binary +*.usda binary +*.usd binary +*.ifc text eol=lf + +# Windows 전용 스크립트는 CRLF 필요. +*.bat text eol=crlf +*.cmd text eol=crlf +*.ps1 text eol=crlf diff --git a/cimery/README.md b/cimery/README.md new file mode 100644 index 0000000..a405468 --- /dev/null +++ b/cimery/README.md @@ -0,0 +1,66 @@ +# 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).