# PLAN.md — 앞으로 할 일 에이전트 시작 시 필독. 완료된 항목은 `PROGRESS.md`로 옮긴다. ## 작성·갱신 규칙 - 우선순위: **P0 (즉시)** · **P1 (다음 스프린트)** · **백로그** - 항목 형식: `- [ ] 한 줄 설명 — (선택) 담당·의존 관계·참조 ADR` - 작업 착수 시 `- [ ] → - [~]` (진행 중) 으로 바꾸고 담당/에이전트 메모. - 완료 시 PROGRESS.md에 한 줄 추가하고 PLAN.md에서 제거. - **새 과제 생길 때마다 우선순위대로 삽입.** 방치 금지. --- ## 현재 스프린트 (Current) ### P0 — 즉시 착수 (없음 — Sprint 6/7/8 완료) ### 완료된 것 (PROGRESS.md 참조) - Sprint 1~8: 전체 파이프라인 + 뷰어 + egui 패널 + Alignment + CSV + IncrementalDb - 상부 구조물: Deck Slab → Cross Beam - 연결부: Bearing - 하부 구조물: Pier → Abutment ### P1 — 다음 단계 - [ ] **Sprint 3 — OcctKernel** (`--features occt`) — VS Dev Cmd에서 `cargo clean && cargo build -p cimery-kernel --features occt` --- ## 백로그 (Backlog) ### 지식 수집 (raw/) - [ ] `raw/standards/ifc5-usd/` — bSI IFC5 + USD 전환 자료 (로드맵·워킹그룹) - [ ] `raw/standards/openusd-aeco/` — AOUSD AECO IG 레퍼런스 - [ ] `raw/tools/revit/` — Revit 조작 관습 표·단축키·UX 스크린샷 (로컬 매뉴얼 없음) ### cimery 아키텍처·공용 크레이트 - [ ] 단위 newtype 크레이트 (`Mm`·`M` 등) + 경계 함수 시그니처 규약 - [ ] `GeomKernel` trait 설계 + OpenCascade.js·opencascade-rs 최소 구현 - [ ] salsa Feature 단위 query 프로토타입 (IR 무효화·증분 재계산 검증) - [ ] 테스트 4층 CI 골격 (insta·기하 불변량·두 커널 cross-check·proptest) - [ ] Leptos + wgpu 뷰포트 프로토타입 (빈 뷰포트 + 리본 뼈대) - [ ] CSV 라운드트립 최소 파이프라인 (`#[param]` 메타 → CSV → DSL 생성) ### Feature 카탈로그 (MVP Must, 거더교 v1) - [ ] Girder Feature 정의 (엔드-투-엔드 먼저, 위 P1에 연결) - [ ] Deck Slab Feature 정의 - [ ] Pier Feature 정의 - [ ] Abutment Feature 정의 - [ ] Bearing Feature 정의 - [ ] Alignment 자체 포맷 로더 ### 인프라·배포 - [ ] Gitea Actions → GitHub Actions 미러 설정 (Win/macOS 빌드·서명·릴리스) - [ ] Tauri v2 updater Ed25519 키 생성·시크릿 등록 - [ ] Cloudflare Pages `cimery-web.pages.dev` 프로젝트 준비 - [ ] Windows 코드서명 경로 확정 (Azure Trusted Signing) ### ADR 개정 대상 - [ ] ADR-003 B9(FEM) — 자체 솔루션 보유 반영하여 갱신. MIDAS·IFC SAV 전략의 비중 재조정. --- ## 의존 관계 (Dependencies) - P1의 "첫 Girder 엔드-투-엔드"는 **cimery 저장소 스캐폴딩** 선행. - Feature 카탈로그 Must 6개 중 **Girder를 엔드-투-엔드 먼저**, 나머지는 후속 확장. - WASM plugin 승격(A6 v2)은 **핵심 Feature 10개 이상 안정화** 후 게이팅.