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>
63 lines
2.9 KiB
Markdown
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개 이상 안정화** 후 게이팅.
|