All checks were successful
Publish ParaWiki / build-and-deploy (push) Successful in 30s
## Output/guides/cimery-dev-guide.md
- related-adr 에 ADR-004 추가, updated 2026-04-15.
- 권위 순서: ADR-004 삽입.
- 아키텍처 파이프라인 다이어그램: salsa(Sprint 24), USD(21), IFC4X3(33~36)
구현 스프린트 표기.
- Feature 카탈로그 실제 구현 현황 반영:
Must v1: 다경간·PSC-I/SteelBox·T형/π형 피어 전부 완료.
Should v1.1: Diaphragm·Haunch·Skew·Camber·Variable Depth 구현 완료.
- 구현 우선순위: "수직 관통 완료" 현황 추가.
## cimery/CLAUDE.md
- 크레이트 구조 Sprint 39 현황으로 재작성:
· ifc/ 신규 (Sprint 33~36)
· macros/ 신규 (Sprint 38)
· app/ (Sprint 23)
· 의존 방향 업데이트: core → ir → {dsl, kernel, usd, ifc}
- 업그레이드 경로 표: 5개 축(incremental/kernel/viewer/dsl/ifc) 의
현재·다음 단계 표.
- 참조 ADR 목록에 ADR-004 추가.
## wiki/log.md
- ADR-004 entry 추가 (2026-04-15).
PROGRESS.md 는 이전 커밋에서 반영 완료.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
cimery/CLAUDE.md
cimery 코드베이스 개발 지침. 최상위 CLAUDE.md + Output/guides/cimery-dev-guide.md의 상세판.
크레이트 구조 (Sprint 39 현황)
crates/
├── core/ 단위 타입(Mm·M), 에러, 도메인 열거형 ← 모두 의존
├── ir/ IR 구조체 + serde JSON 직렬화 ← dsl·kernel·usd·ifc 의존
├── dsl/ Girder 등 Feature 빌더 + 검증 ← ir 의존
├── kernel/ GeomKernel trait + StubKernel/PureRust/Occt ← ir 의존
├── incremental/ 증분 계산 DB (수동 + salsa 백엔드) ← kernel·ir 의존
├── evaluator/ IR → kernel 연결 레이어 ← incremental·kernel 의존
├── viewer/ egui+wgpu 뷰어, IFC 익스포트 통합 ← kernel·ifc 의존
├── usd/ USD 텍스트 익스포트 ← ir 의존
├── ifc/ IFC4X3 Add2 STEP Part21 익스포터 ← ir·core 의존 (Sprint 33~36)
├── macros/ proc-macro: #[derive(ParamSummary)] ← 독립 (Sprint 38)
└── app/ Tauri v2 데스크톱 런처 ← 전 크레이트 의존
의존 방향: core → ir → { dsl, kernel, usd, ifc } → incremental → evaluator → viewer → app
개발 규칙
- 단위 강제: 구조물
Mm(f64), 선형M(f64).UnitExttrait로 리터럴 지원. - 암묵 변환 금지:
From<Mm> for M존재하나 반드시 명시적으로 호출. - 결정론: 같은 IR JSON → 같은 기하. 연산 순서 고정.
- 테스트 4층: IR 스냅샷 (insta) · 기하 불변량 · 두 커널 cross-check · proptest.
- StubKernel: 실제 OCCT 전 기하 검증용. 박스 형태 반환. Sprint 1 전용.
- cargo check 우선: 먼저 컴파일되게 만들고, 최적화는 나중에.
빌드
# 전체 체크
cargo check --workspace
# 전체 테스트
cargo test --workspace
# 특정 크레이트
cargo test -p cimery-core
업그레이드 경로 — 완료·진행·대기
| 경로 | 현재 | 다음 |
|---|---|---|
incremental |
수동 + salsa-backend 양쪽 (Sprint 24) | WASM salsa 승격 |
kernel |
PureRust + OcctKernel(데스크톱) | opencascade.js(웹) |
viewer |
egui+wgpu 전체 씬 + Ortho 토글 | LOD · 성능 최적화 |
dsl |
builder + #[derive(ParamSummary)] 스캐폴딩 |
#[param(unit,range,default)] 전면 |
ifc |
IFC4X3 Add2 Phase 1~3b + Pset_BeamCommon | LinearPlacement · ElementAssembly |
참조 ADR
- ADR-001: 기술 스택 (Rust + Tauri/PWA, OCCT, wgpu)
- ADR-002: Feature DSL 아키텍처 (builder, IR, salsa, evaluator, 테스트 4층)
- ADR-003: 후속 결정 (Feature 카탈로그, LOD, UX)
- ADR-004: Sprint 25~39 결정 (거더교 MVP 확장·IFC4X3 Add2·proc-macro 스캐폴딩)