Files
ParaWiki/PROGRESS.md
minsung 0013182835 Sprint 29/30 — 지점부 격벽 + 거더 솟음
Sprint 29: Diaphragm (지점부 격벽).
- SceneParams.show_diaphragms 토글 (default true).
- 모든 지점(교대+교각) 에서 인접 거더 사이 RC 벽 배치:
  · 두께(span 방향): 300mm
  · 높이: girder_h (거더 soffit ~ top)
  · 폭: spacing - 250mm (web clearance 양쪽 125mm)
  · 지점 Z 기준 중앙 배치, skew 회전 동시 적용
- build_bridge_scene + build_selectable_scene 양쪽 구현.
- COL_DIAPHRAGM 색상 추가 (concrete 계열).
- UI: "격벽 (Diaphragm)" 체크박스.

Sprint 30: Camber (거더 솟음).
- SceneParams.camber_mid_mm (0~200mm, step 5mm) 추가.
- apply_camber_mesh(mesh, z0, z1, mid_mm) 헬퍼:
  u = z - z0 ∈ [0, span], y_off = 4·mid·u·(span-u)/span² (포물선).
  지점(u=0 또는 u=span) 에서는 0, 중앙 u=span/2 에서 최대 mid.
- 거더·데크에 경간마다 독립 적용. 다경간 교량도 경간별 정확한 solog.
- UI: "솟음 (mm)" 슬라이더.

ProjectFile: show_diaphragms + camber_mid_mm 필드 (default 값으로 v2 호환).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 14:01:58 +09:00

10 KiB
Raw Blame History

PROGRESS.md — 완료 내역

시간 역순(최신이 위). 에이전트 시작 시 필독. 작업 완료 시 한 줄 추가.

작성 규칙

  • 형식: - YYYY-MM-DD [유형] 한 줄 설명
  • 유형: adr · wiki · guide · meta(구조·규칙) · raw(원본 수집) · code(cimery 코드) · infra
  • 스냅샷 섹션은 의미 있는 변화가 생기면 갱신.

타임라인

2026-04-15 (계속)

  • code — Sprint 29~30: 거더교 MVP 추가 확장.
    • Sprint 29: 지점부 격벽 (Diaphragm). SceneParams.show_diaphragms 토글(default true). 모든 지점(교대·교각) 에서 인접 거더 사이 RC 벽 자동 배치. 두께 300mm(span 방향), 높이 = girder_h, 폭 = spacing - 250mm(web clearance). skew 회전 동시 적용. build_bridge_scene + build_selectable_scene 양쪽.
    • Sprint 30: 솟음 (Camber). SceneParams.camber_mid_mm(0~200mm) 추가. apply_camber_mesh() 헬퍼 — 경간 [z0, z1] 내 포물선 Y 오프셋 4·mid·u·(span-u)/span². 거더·데크에 경간마다 독립 적용. 지점에서는 0. UI "솟음(mm)" 슬라이더.
    • ProjectFile: show_diaphragms·camber_mid_mm 필드 (default 값).
  • code — Sprint 25~28: 거더교 MVP 완성도 보강.
    • Sprint 25: build_selectable_sceneSectionType::PscI 하드코딩 제거 → p.section_type 분기(PscI/SteelBox).
    • Sprint 26: 다경간 + 교각 배치. SceneParams.span_count(1~5) + pier_type(T형 SingleColumn / π형 MultiColumn) 추가. span_m 의미 변경: 경간당 길이. 씬 빌더가 경간마다 거더 세트 복제, 내부 지점에 피어 배치, 모든 지점에 받침·신축이음, 양 끝에 교대. pier_ir_for_params() 헬퍼(wiki Phase 1 MVP — CSB 2m·TB 2.5m 기본값).
    • Sprint 27: Skew 지원. SceneParams.skew_deg(-30~30°) 추가. rotate_y_around_z() 헬퍼로 교대·교각·받침·신축이음 Y축 회전. 거더·데크는 직선 유지(precast 관례).
    • Sprint 28: 방호벽 (Parapet) 기본 형상. 데크 양 엣지에 1200mm×500mm RC 박스 전 구간 연속, Y=데크 상면 기준.
    • ProjectFile v2: span_count·pier_type·skew_deg 필드 (v1 호환 default).
    • UI 리본: "경간 수" 슬라이더, "교각 형식" T/π 선택, "경사각(°)" 슬라이더.
    • 뷰어 타이틀에 build timestamp 주입(build.rs), stale 바이너리 판별 지원.
    • Ortho 카메라 추가 (키 O / egui 버튼): perspective ↔ 평행 투영 토글.
  • raw — raw/engineer-knowledge/cet-hmeg-pier-2021/ 신설. 한맥기술(2021) PierZainer 분석 리포트 v3 + Excel 수식 분석 + 9개 도면 + 발표/에러 리포트 인입(약 18 파일).
  • wiki — 교각 6개 페이지 컴파일: 교각 형식 분류 · 교각 4 레이어 구조 · 교각 파라미터 카탈로그 · 교각 자동계산 수식 · 교각 3점 기준좌표계 · 기둥 단면 형상 카탈로그. index.md "도메인: 교량" 카테고리 신규 6항목 추가, log.md 7건 기록.
  • code — Sprint 24: salsa 0.16 증분 쿼리 백엔드. --features salsa-backend로 활성화. SalsaIncrementalDb<K> — salsa #[query_group] + IR Eq 지원. 기존 IncrementalDb (수동) 완전 보존. 동일 공개 API. 테스트 20개 전부 통과 (수동 12 + salsa 8). cimery-ir 전 IR 구조체에 PartialEq 추가 + 수동 Eq impl (빌더 검증 도메인). Mesh + KernelError도 동일. cargo check --workspace 0 warnings. WASM: 수동 backend 유지, salsa는 WASM 안정화 후 기본값 승격 예정.
  • code — Sprint 23: Tauri v2 앱 래핑. cimery-app에 tauri v2 + tauri-plugin-dialog 적용. tauri.conf.json(창 설정·번들 설정) + capabilities/default.json + frontend/index.html(런처 UI: 홈·프로젝트·USD익스포트·CSV템플릿) + src/commands.rs(IPC: launch_viewer·new_project·open_project_dialog·save_project_dialog·export_usd_default·export_csv_template) + build.rs(tauri_build). cargo check --workspace 0 errors. 뷰어는 same-dir 바이너리 탐색 + PATH fallback으로 사이드카 실행. .github/workflows/release.yml Tauri bundle 3단계(viewer→tauri-bundle→release) 워크플로로 교체. Tauri v2 앱 래핑. cimery-app에 tauri v2 + tauri-plugin-dialog 적용. tauri.conf.json(창 설정·번들 설정) + capabilities/default.json + frontend/index.html(런처 UI: 홈·프로젝트·USD익스포트·CSV템플릿) + src/commands.rs(IPC: launch_viewer·new_project·open_project_dialog·save_project_dialog·export_usd_default·export_csv_template) + build.rs(tauri_build). cargo check --workspace 0 errors. 뷰어는 same-dir 바이너리 탐색 + PATH fallback으로 사이드카 실행. .github/workflows/release.yml Tauri bundle 3단계(viewer→tauri-bundle→release) 워크플로로 교체.

2026-04-14

  • wiki — cimery 실행 가이드 작성. 빌드·테스트·뷰어·USD·WASM·CI/CD·크레이트 구조 전체 실행 명령 문서화.
  • code — Sprint 20: 테스트 4층 완성. Layer1 IR 스냅샷(insta, 7종), Layer2 기하 불변량(19개), Layer3 두-커널 크로스체크(7개), Layer4 proptest(7개). 총 61개 테스트 전부 통과.
  • code — Sprint 22: WASM/PWA 빌드 지원. viewer feature wasm, wasm-bindgen/web-sys/console_error_panic_hook 의존성, .github/workflows/wasm.yml Cloudflare Pages 배포 워크플로.
  • code — Sprint 21: USD 전체 메시 익스포트. cimery-usd PureRustKernel 실제 기하 변환, BridgeExporter 증분 캐시, 전체 씬 익스포트 파이프라인.
  • code — Sprint 19: CrossBeam + ExpansionJoint. IR/DSL/kernel/scene 전 계층. CrossBeamIR, ExpansionJointIR, DSL 빌더 검증, sweep_profile_flat_x(), 씬 파라미터 확장.
  • code — Sprint 18: OcctKernel 교각·교대 B-rep. 16각형 기둥 + 코핑 + 날개벽 Workplane::xz().sketch().extrude() 구현.
  • code — Sprint 17: 선형 기반 좌표 변환. AlignmentTransform + AlignmentScene, 국소 프레임 → 세계 좌표 변환.
  • code — Sprint 16: CI/CD. Gitea .gitea/workflows/ci.yml, GitHub .github/workflows/ci.yml + release.yml 멀티플랫폼 빌드·릴리스.
  • code — Sprint 15: IncrementalDb 전 Feature 타입 확장. girder 전용 → 5종(girder·deck·bearing·pier·abutment·cross_beam·expansion_joint), 20개 단위 테스트.
  • code — Sprint 14: egui 리본 UI. TopBottomPanel 리본, 260px SidePanel CollapsingHeader 섹션(상부구조·추가부재·표시·선형·프로젝트·단축키).
  • code — Sprint 8: IncrementalDb 스캐폴드 (안정 ID, girder 캐시).
  • code — Sprint 7: CSV 라운드트립 — girder_to_csv_template() + girder_from_csv(), 테스트 3개.
  • code — Sprint 6: AlignmentIR JSON 로더 + test alignment BR-001.
  • code — Sprint 5: egui 속성 패널 + Apply 버튼. 한글 폰트(Malgun Gothic). 파라메트릭 씬 재생성.
  • code — Sprint 4: Full bridge scene (Girder×5 + DeckSlab + Bearing×10 + Abutment×2). Pan+ZoomExtents+표준뷰.
  • code — OcctKernel viewer 연결 완료. PSC-I B-rep I형 단면 렌더 확인 (스크린샷).
  • code — OcctKernel 구현 완료 (--features occt). PSC-I B-rep sweep + BRepMesh 테셀레이션. 빌드 확인.
  • code — cimery Sprint 1 구현 완료. 8 crates (core/ir/dsl/kernel/incremental/evaluator/usd/viewer), cargo test --workspace 32개 전부 통과. DSL→IR→salsa-style-db→evaluator→StubKernel→USD 파이프라인 검증.
  • meta — Revit API 가이드 Output/guides/revit-api-guide.md 추가됨.
  • meta — PLAN.md · PROGRESS.md 도입. 에이전트 간 작업 조정 프로토콜 확립.
  • meta — CLAUDE.md 린화. 상세 지침을 Output/guides/cimery-dev-guide.md · obsidian-cli.md로 분리. 프롬프트 토큰 절감.
  • adr — ADR-003 작성. 12개 후속 아키텍처 결정 (UI·IFC·CI/CD·USD·Alignment·Plugin·Feature 카탈로그·FEM·LOD·리본·선택/필터·설정). 병렬 조사 에이전트 기반.
  • adr — ADR-002 작성. Feature DSL 아키텍처 20개 기본 결정 (Internal Rust DSL·IR·salsa·Lazy/Reactive·evaluator·테스트 4층·Revit UX 호환).
  • adr — ADR-001 작성. 기술 스택 확정 (Rust + Tauri v2 + PWA 듀얼, OpenCascade.js/opencascade-rs, wgpu→WebGPU, GeomKernel trait).
  • meta — Cloudflare Pages 자동 배포 워크플로 (.gitea/workflows/publish.yml, Quartz 4 빌드 → parawiki.pages.dev).
  • meta — Pages 프로젝트 자동 생성 단계 추가.
  • infra — Gitea Actions Runner 동작 확인용 ping 워크플로 추가.
  • wiki — 위키 페이지 8건 컴파일: Revit 파라메트릭 아키텍처 · GCS 기하학적 구속조건 솔버 · PCE 파라메트릭 변경 엔진 · 파라메트릭 취약성 Davis 5가지 · Revit 조립 단위 분류 · 특징 형상 기반 모델링 FBM · 증분형 갱신 알고리즘 LPG · 선형 GIS 기반 좌표계.
  • meta — 위키 구조 초기화 (raw/ · wiki/ · Output/, Karpathy LLM Wiki 패턴).

현재 스냅샷 (Snapshot — 2026-04-15)

지식 저장소 (ParaWiki)

  • 위키 페이지 8건 (wiki/index.md 관리).
  • ADR 3건 (Output/reports/).
  • 개발 가이드 2건 (Output/guides/).
  • wiki/log.md 운영 중.
  • raw/ 수집 미개시 (PLAN.md 백로그 참조).

cimery 코드

  • Sprint 1~23 완료. cargo check --workspace 0 errors. cargo test -p cimery-kernel 61개 전부 통과.
  • 전체 파이프라인: DSL → IR → PureRustKernel → 전체 교량 씬 렌더 (egui+wgpu) → USD 익스포트 → 선형 좌표 변환.
  • OcctKernel(--features occt): 교각 B-rep + 교대 B-rep 구현 완료.
  • Tauri v2 앱 (Sprint 23): cimery-app이 Tauri v2 앱으로 전환. 런처 WebView UI + 7개 IPC 커맨드(뷰어 실행·프로젝트 관리·USD/CSV 익스포트). cargo tauri build로 Win MSI/NSIS·macOS DMG·Linux Deb/AppImage 생성 가능.
  • salsa 0.16 백엔드 (Sprint 24): SalsaIncrementalDb--features salsa-backend 활성화, 수동 tracking과 동일 API. 모든 IR + Mesh에 PartialEq + Eq 추가. cargo check --workspace 0 warnings.
  • CI/CD: Gitea Actions + GitHub Actions 3단계 릴리스(viewer sidecar→Tauri bundle→GitHub Release) 완료. WASM PWA 포함.
  • 테스트 4층: IR 스냅샷 · 기하 불변량 · 두-커널 크로스체크 · proptest 전부 완료.

아키텍처 결정 완성도

  • 기본 구조 결정(DSL·기술 스택·후속 12개) 완료.
  • 구현 고려사항(함정·체크리스트) 정리 완료.
  • 미결·재검토: FEM B9(자체 솔루션 보유 반영), IFC 5+USD 실제 표준화 진전 모니터링.