Files
ParaWiki/PLAN.md
minsung 62ddf3aea6 cimery Sprint 1 — Rust 워크스페이스 + 전 계층 파이프라인
8개 크레이트 구현, cargo test 32개 전부 통과:
- core: Mm/M 단위 newtype, UnitExt 리터럴, FeatureError
- ir: GirderIR + 전 단면 파라미터(PSC-I/U/SteelBox/PlateI) serde JSON
- dsl: Girder builder + 검증 (경간 범위·count·spacing)
- kernel: GeomKernel trait + StubKernel (box mesh, AABB)
- incremental: dirty-tracking IncrementalDb (salsa 업그레이드 경로 주석)
- evaluator: 상태 없는 IR→kernel 브리지
- usd: USDA 1.0 텍스트 익스포트 (CimeryBridgeAPI·GirderAPI schema)
- viewer: wgpu 22 + winit 0.30 컬러 삼각형 (Sprint 1 proof-of-concept)

Sprint 2 다음 단계:
- opencascade-rs로 StubKernel 교체 (실제 PSC-I sweep)
- viewer에서 Girder Mesh 렌더 + 카메라 orbit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 17:46:14 +09:00

63 lines
2.9 KiB
Markdown

# PLAN.md — 앞으로 할 일
에이전트 시작 시 필독. 완료된 항목은 `PROGRESS.md`로 옮긴다.
## 작성·갱신 규칙
- 우선순위: **P0 (즉시)** · **P1 (다음 스프린트)** · **백로그**
- 항목 형식: `- [ ] 한 줄 설명 — (선택) 담당·의존 관계·참조 ADR`
- 작업 착수 시 `- [ ] → - [~]` (진행 중) 으로 바꾸고 담당/에이전트 메모.
- 완료 시 PROGRESS.md에 한 줄 추가하고 PLAN.md에서 제거.
- **새 과제 생길 때마다 우선순위대로 삽입.** 방치 금지.
---
## 현재 스프린트 (Current)
### P0 — 즉시 착수
(없음 — 사용자 신호 대기)
### P1 — 다음 단계 (사용자 승인 후 착수)
- [ ] **Sprint 2 — OCCT 실제 커널 연결** — opencascade-rs 크레이트로 StubKernel 대체. PSC I 거더 실제 B-rep sweep 생성. ADR-001 참조.
- [ ] **Sprint 2 — wgpu에 Girder Mesh 렌더** — StubKernel mesh를 viewer에서 실제 렌더링. 카메라 orbit(Revit ViewCube 방식).
---
## 백로그 (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개 이상 안정화** 후 게이팅.