Sprint 14~22 — egui 리본 UI + OcctKernel B-rep + 가로보/신축이음 + 선형 좌표 + USD 익스포트 + WASM + CI/CD + 테스트 4층

Sprint 14: egui TopBottomPanel 리본 + CollapsingHeader SidePanel (상부구조·추가부재·선형·프로젝트)
Sprint 15: IncrementalDb 전 Feature 타입 확장 (girder→7종), dirty-tracking 20 unit tests
Sprint 16: Gitea + GitHub Actions CI/CD (check/test/clippy/fmt + 멀티플랫폼 릴리스)
Sprint 17: AlignmentTransform + AlignmentScene — 선형 국소 프레임 → 세계 좌표 변환
Sprint 18: OcctKernel 교각(16각형 기둥+코핑) + 교대(흉벽+푸팅+날개벽) B-rep
Sprint 19: CrossBeamIR + ExpansionJointIR — IR/DSL/kernel/scene 전 계층, sweep_profile_flat_x
Sprint 20: 테스트 4층 — Layer1 insta 스냅샷(7종), Layer2 기하 불변량(19), Layer3 두-커널(7), Layer4 proptest(7) — 61 tests pass
Sprint 21: cimery-usd PureRustKernel 실제 기하 변환 + BridgeExporter 증분 캐시
Sprint 22: viewer wasm feature + wasm-bindgen/web-sys + GitHub Actions Cloudflare Pages 배포

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-15 08:18:06 +09:00
parent 81349c97d2
commit 1f9ca3a00f
37 changed files with 3569 additions and 259 deletions

View File

@@ -8,6 +8,11 @@ edition.workspace = true
# Build: cargo run -p cimery-viewer --features occt
occt = ["cimery-kernel/occt"]
# WASM/PWA build target (Sprint 22, ADR-001 dual-target).
# Build: wasm-pack build crates/viewer --target web --features wasm
# NOTE: OCCT is never available for WASM; use PureRustKernel.
wasm = ["wasm-bindgen", "web-sys", "console_error_panic_hook"]
[[bin]]
name = "cimery-viewer"
path = "src/main.rs"
@@ -29,3 +34,9 @@ serde_json = { workspace = true }
egui = "0.29"
egui-wgpu = "0.29"
egui-winit = "0.29"
# WASM-only dependencies (Sprint 22)
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = { version = "0.2", optional = true }
web-sys = { version = "0.3", features = ["Window", "Document", "HtmlCanvasElement"], optional = true }
console_error_panic_hook = { version = "0.1", optional = true }