Sprint 6/7/8 — Alignment 로더 + CSV 라운드트립 + IncrementalDb 스캐폴드

Sprint 6 (Alignment JSON 로더):
- AlignmentIR: from_file(), position_at(station), total_length_m()
- AlignmentStation, AlignmentSpecs in ir crate
- alignments/BR-001-test.json: 40m 직선 테스트 선형

Sprint 7 (CSV 라운드트립):
- csv_template.rs: girder_params() 레지스트리
- girder_to_csv_template(): 헤더+기본값 CSV 출력
- girder_from_csv(): CSV → Vec<GirderIR> 파싱
- 테스트 3개 (template, multi-row, invalid span)

Sprint 8 (IncrementalDb 스캐폴드):
- incremental_scene.rs: IncrementalBridge<K>
- 안정적 girder ID (슬롯 기반), DB 캐시 → X-translate
- Sprint 9에서 전체 Feature IncrementalDb 통합 예정

cargo test 60개 전부 통과

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-14 20:55:16 +09:00
parent 257630f64b
commit 263806b834
6 changed files with 377 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
{
"name": "BR-001-test",
"description": "테스트 직선 선형 — 40 m 경간 거더교",
"coordinate_system": "local",
"stations": [
{"station": 0.0, "x": 0.0, "y": 0.0, "z": 0.0},
{"station": 5.0, "x": 5000.0, "y": 0.0, "z": 0.0},
{"station": 10.0, "x": 10000.0, "y": 0.0, "z": 0.0},
{"station": 20.0, "x": 20000.0, "y": 0.0, "z": 0.0},
{"station": 30.0, "x": 30000.0, "y": 0.0, "z": 0.0},
{"station": 40.0, "x": 40000.0, "y": 0.0, "z": 0.0}
],
"specs": {
"type": "highway",
"design_speed": 80,
"lanes": 2,
"lane_width_mm": 3750
}
}