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

@@ -0,0 +1,28 @@
---
source: crates/kernel/tests/layer1_snapshots.rs
assertion_line: 176
expression: json
---
{
"id": "00000000-0000-0000-0000-000000000005",
"station": 100.0,
"skew_angle": 0.0,
"abutment_type": "reverse_t",
"breast_wall_height": 5000.0,
"breast_wall_thickness": 800.0,
"breast_wall_width": 12000.0,
"footing_length": 4000.0,
"footing_width": 13000.0,
"footing_thickness": 1000.0,
"wing_wall_left": {
"length": 4000.0,
"height": 4000.0,
"thickness": 500.0
},
"wing_wall_right": {
"length": 4000.0,
"height": 4000.0,
"thickness": 500.0
},
"material": "C40"
}

View File

@@ -0,0 +1,14 @@
---
source: crates/kernel/tests/layer1_snapshots.rs
assertion_line: 164
expression: json
---
{
"id": "00000000-0000-0000-0000-000000000003",
"station": 100.0,
"bearing_type": "elastomeric",
"plan_length": 350.0,
"plan_width": 350.0,
"total_height": 90.0,
"capacity_vertical": 2500.0
}

View File

@@ -0,0 +1,17 @@
---
source: crates/kernel/tests/layer1_snapshots.rs
assertion_line: 182
expression: json
---
{
"id": "00000000-0000-0000-0000-000000000006",
"station": 110.0,
"section": "h_section",
"web_height": 1260.0,
"web_thickness": 12.0,
"flange_width": 300.0,
"flange_thickness": 16.0,
"bay_count": 4,
"girder_spacing": 2500.0,
"material": "SS400"
}

View File

@@ -0,0 +1,16 @@
---
source: crates/kernel/tests/layer1_snapshots.rs
assertion_line: 158
expression: json
---
{
"id": "00000000-0000-0000-0000-000000000002",
"station_start": 100.0,
"station_end": 140.0,
"width_left": 5500.0,
"width_right": 5500.0,
"thickness": 220.0,
"haunch_depth": 100.0,
"cross_slope": 2.0,
"material": "C40"
}

View File

@@ -0,0 +1,14 @@
---
source: crates/kernel/tests/layer1_snapshots.rs
assertion_line: 188
expression: json
---
{
"id": "00000000-0000-0000-0000-000000000007",
"station": 100.0,
"joint_type": "rubber_type",
"gap_width": 50.0,
"total_width": 11000.0,
"depth": 100.0,
"movement_range": 30.0
}

View File

@@ -0,0 +1,25 @@
---
source: crates/kernel/tests/layer1_snapshots.rs
assertion_line: 152
expression: json
---
{
"id": "00000000-0000-0000-0000-000000000001",
"station_start": 100.0,
"station_end": 140.0,
"offset_from_alignment": 0.0,
"section_type": "psc_i",
"section": {
"kind": "PscI",
"total_height": 1800.0,
"top_flange_width": 600.0,
"top_flange_thickness": 150.0,
"bottom_flange_width": 700.0,
"bottom_flange_thickness": 180.0,
"web_thickness": 200.0,
"haunch": 50.0
},
"count": 5,
"spacing": 2500.0,
"material": "C50"
}

View File

@@ -0,0 +1,25 @@
---
source: crates/kernel/tests/layer1_snapshots.rs
assertion_line: 170
expression: json
---
{
"id": "00000000-0000-0000-0000-000000000004",
"station": 120.0,
"skew_angle": 0.0,
"pier_type": "single_column",
"column_shape": "circular",
"column_count": 1,
"column_spacing": 0.0,
"column_diameter": 1500.0,
"column_depth": 0.0,
"column_height": 8000.0,
"cap_beam": {
"length": 13000.0,
"width": 1200.0,
"depth": 1400.0,
"cantilever_left": 1000.0,
"cantilever_right": 1000.0
},
"material": "C40"
}