PLAN.md — Sprint 39 완료 상태 반영 + P1 로드맵 재구성

Sprint 25~39 완료 사실 + ADR-004 작성 + 품질 패스(0 clippy 경고) 반영.

## 변경
- 완료 섹션: Sprint 1~22 → Sprint 1~39 범위 확장, 140+ 테스트 통과 기재.
- P1 재구성: 3개 큰 카테고리로 분류
  · IFC Phase 4 (ADR-004 C 미결 5항목: Pset 확장·LinearPlacement·
    ElementAssembly·IfcPile·변단면 IFC)
  · Feature DSL 성숙 (#[param] 전면 + 실제 사용처)
  · 뷰어·성능 (LOD·mesh 공유 vertex)
- 장기 과제에 opencascade.js WASM B-rep 추가.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-16 08:45:15 +09:00
parent 2361f318d4
commit 7e9b1a4f34

36
PLAN.md
View File

@@ -14,28 +14,38 @@
## 현재 스프린트 (Current) ## 현재 스프린트 (Current)
### P0 — 즉시 착수 ### P0 — 즉시 착수
(없음 — Sprint 14~22 전부 완료) (없음 — Sprint 14~39 전부 완료, 품질 패스·ADR-004 작성 완료)
### 완료된 것 (PROGRESS.md 참조) ### 완료된 것 (PROGRESS.md 참조)
- Sprint 1~22 전체 완료. `cargo test --workspace` 통과. - Sprint 1~39 전체 완료. 140+ 테스트 통과. `cargo clippy --workspace --lib`: 0 warnings.
- 파이프라인: DSL → IR → PureRustKernel + OcctKernel → egui+wgpu 씬 → USD 익스포트 - 기하: PSC-I·SteelBox · 다경간 · Skew · Camber · 헌치 · 변단면 · 방호벽 · 격벽
- 선형 좌표: AlignmentIR → 세계 좌표 변환 - 부재: 거더·데크·교대·교각(T/π)·받침·가로보·신축이음
- 추가 부재: CrossBeam + ExpansionJoint (Sprint 19) - UI: egui 6 카테고리 + Ortho 토글 + 표준 뷰
- CI/CD: Gitea + GitHub Actions 멀티플랫폼 + WASM/PWA (Sprints 16, 22) - 저장: JSON · USD · IFC4X3 Add2 (Phase 1~3c + Alignment + Pset_BeamCommon)
- 테스트 4층: insta 스냅샷·기하 불변량·두-커널·proptest (Sprint 20) - 인프라: Tauri v2 · salsa 백엔드 · proc-macro 스캐폴딩 · CI/CD · WASM
### P1 — 다음 단계 ### P1 — 다음 단계 (선택적 완성도)
- [x] **Tauri v2 앱 래핑**`cimery-app` crate를 Tauri v2로 감싸 데스크톱 설치 파일 생성 → PROGRESS.md 참조
- [x] **salsa 증분 쿼리 전환**`cimery-incremental` manual dirty tracking → salsa (Sprint 24 완료) → PROGRESS.md 참조
- [x] **Sprint 25~28 거더교 MVP 보강** — 단면 분기 수정 · 다경간+피어 · Skew · 방호벽 → PROGRESS.md
### P2 — 중기 과제 (MVP 확장) **IFC Phase 4 (ADR-004 C 미결 항목):**
- [ ] **IFC4X3 Add2 익스포터** (Gitea #4) — `cimery-ifc` 크레이트, STEP Part21 시리얼라이저, 핵심 엔티티 매핑(IfcBridge·IfcAlignment·IfcBeam·IfcColumn·IfcFooting·IfcPile·IfcBearing 등) - [ ] **Pset_BearingCommon, Pset_SlabCommon** — Pset_BeamCommon 과 동일 패턴 확장
- [ ] **IfcLinearPlacement** — 요소를 IfcAlignment 에 anchor (현재 IfcLocalPlacement 만)
- [ ] **IfcElementAssembly** — Pier(column + cap + footing) 그룹화
- [ ] **IfcPile** — IFC4X3 신규, 현재 IfcFooting 통합을 분리
- [ ] **변단면 거더 IFC 반영** — 현재 뷰어만, Sprint 37 Camber 세그먼트 분할 기법 재사용
**Feature DSL 성숙 (ADR-004 D14):**
- [ ] **`#[param(unit, range, default)]` 전면 attribute** — ADR-002 D 완전 구현 (현재 `#[derive(ParamSummary)]` 만)
- [ ] IR 구조체에 `#[derive(ParamSummary)]` 적용 (실제 사용처 시작)
**뷰어·성능:**
- [ ] **LOD 분리** — ADR-003 B10 (피어·교대 간소화 LOD, 원거리 mesh 축소)
- [ ] **mesh 공유 vertex** — 현재 각 feature 독립 버퍼. 성능 개선 여지.
--- ---
### 장기 과제 (표준 성숙 후 재검토) ### 장기 과제 (표준 성숙 후 재검토)
- [ ] **IFC5 익스포터** — bSI IFC5 표준 확정 후 재검토. 현재는 IFC4X3 Add2 가 인프라 스펙을 이미 흡수해 IFC5 는 급하지 않음. 릴리스 모니터링만. - [ ] **IFC5 익스포터** — bSI IFC5 표준 확정 후 재검토. 현재는 IFC4X3 Add2 가 인프라 스펙을 이미 흡수해 IFC5 는 급하지 않음. 릴리스 모니터링만.
- [ ] **opencascade.js WASM B-rep** — 웹에서도 B-rep 지원 (현재 WASM 은 PureRustKernel sweep 만)
## 백로그 (Backlog) ## 백로그 (Backlog)