Commit Graph

4 Commits

Author SHA1 Message Date
minsung
e32c09df2d 품질 강화 — ADR-004 + IFC snapshot 테스트 + helper 유닛 + clippy 경고 정리
## ADR-004 (Output/reports/ADR-004-sprint-25-39-decisions.md)
Sprint 25~39 기간의 **15개 아키텍처 결정** 정리:
- D1~D9: 거더교 MVP 확장 (단면 분기·다경간·Skew 관례·방호벽·격벽·Camber·헌치·UI)
- D10~D13: IFC4X3 Add2 익스포터 4 결정 (크레이트 분리·형상 전략 3단계·GUID·Camber 근사)
- D14: proc-macro 스캐폴딩 (전면 #[param] 는 Feature 10+ 안정 후)
- D15: 변단면 거더 알고리즘 (소핏 lift + Y 선형보간)
- 미결 6항목 (Pset 확장·LinearPlacement·ElementAssembly·IfcPile·#[param] 전면·변단면 IFC)
- 테스트 커버리지 101개 현황표

## IFC 스냅샷 테스트 (crates/ifc/tests/snapshot_tests.rs)
insta 기반 회귀 방지, 8개 baseline:
- mask_guids(): 22자 IFC GUID 를 'GUID' 로 정규화 (결정적 비교 가능)
- 시나리오: 기본 단경간 PSC-I / 2경간 π형 / skew 15° / camber 50mm /
  Rectangle 단면 / parapets off
- mask_guids 자체 유닛 테스트 2개

## Mesh helper 유닛 테스트 (crates/viewer/src/bridge_scene.rs helper_tests)
순수 함수 9개 검증:
- apply_camber_mesh: zero 항등·midspan 도달값·경간 밖 미영향
- rotate_y_around_z: 0 회전 항등·90° 피봇 회전·정점 개수 보존
- apply_variable_depth: zero 항등·소핏 lift · 지점 0 lift

## clippy lib 경고 15+ → 0
- map_identity (kernel/expansion_joint.rs)
- unnecessary_lazy_evaluations ×4 (dsl/abutment·pier·csv_template — auto-fix)
- too_many_arguments (usd save_scene — allow with justification)
- clamp-like 패턴 ×7 (viewer bridge_scene/incremental_scene 의 .max(1).min(N) → .clamp(1, N))
- redundant_closure ×2 (project_file 의 `|e| Error::other(e)` → `Error::other`)
- redundant_guard ×1 (viewer KeyboardInput match guard → 패턴 내 직접 매치)

cargo clippy --workspace --lib: 0 경고.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 08:37:11 +09:00
minsung
d90ef2cfe1 ADR-003 후속 아키텍처 결정 추가
All checks were successful
Publish ParaWiki / build-and-deploy (push) Successful in 29s
12개 주제 병렬 조사 기반 결정 통합:
UI(Leptos+wgpu), IFC(ifc-lite-core), CI/CD(Gitea+GH 미러),
USD(Codeless schema), Alignment 단계 도입, WASM plugin 3단계,
Feature 카탈로그, FEM(MIDAS), LOD 300, 리본 12탭,
선택/필터, 설정 3계층 모델.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 16:42:06 +09:00
minsung
20761ca795 Feature DSL 아키텍처 ADR-002 추가
All checks were successful
Publish ParaWiki / build-and-deploy (push) Successful in 31s
cimery Feature DSL의 20개 기본 결정 정리.
Rust 내장 DSL + IR + salsa 증분 + 별도 evaluator,
CSV 라운드트립 UX, AI·diff 친화 저장 구조.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 16:15:34 +09:00
minsung
561d2ea4fd cimery 프로젝트명 확정 및 기술 스택 ADR-001 추가
도구 명칭을 cimery(Civil + BIM + -ery)로 확정. 웹(PWA)·데스크톱(Tauri) 듀얼
타깃의 Rust 기반 스택을 잠정 확정하고 근거와 후속 결정 항목을 ADR로 기록.

- 기하 커널: OpenCascade.js(웹) / opencascade-rs(데스크톱) 이원화, GeomKernel trait 추상화
- 렌더: wgpu → WebGPU
- 순수 Rust 공유 모듈: LPG 증분 엔진, FBM Feature, 선형·LRS
- 기존 C# 엔진은 알고리즘·지식만 승계

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