Commit Graph

42 Commits

Author SHA1 Message Date
minsung
e4ed82f8bc fix: occt.rs unused_mut 경고 제거
breast wall 메시 변수를 추가 수정 없이 바로 parts 에 push 하므로 mut 불필요.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 12:14:18 +09:00
minsung
750ac2247a fix: 카메라 회전 방향 반전
사용자 요청: 마우스 드래그 회전 방향이 직관과 반대라 반전.
- yaw:   delta_x * 0.005 부호 반전 (+= → -=)
- pitch: delta_y * 0.005 부호 반전 (-= → +=)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 12:04:12 +09:00
minsung
4b8a5db4a7 feat: 뷰어 타이틀에 빌드 timestamp 표시 — stale 바이너리 판별
사용자 스크린샷에서 타이틀이 'Sprint 4 — Full Bridge / OcctKernel' (구버전
문자열) 으로 표시됨 → 바이너리가 최근 수정(Ortho 카메라·받침 fix 등) 이후
재빌드되지 않은 채 실행 중임을 확인.

앞으로는 타이틀에 'cimery viewer [OcctKernel] — build 2026-04-15 HH:MM:SS'
형식으로 빌드 시각이 박혀서 실행 중 바이너리가 최신인지 즉시 판별 가능.

변경:
- crates/viewer/build.rs 추가:
  · Windows: PowerShell Get-Date, Unix: date 명령어 사용.
  · 실패 시 epoch 초로 폴백.
  · rerun-if-changed=src 로 소스 변경 시 자동 갱신.
- lib.rs: BUILD_TS = env!("BUILD_TIMESTAMP") 상수 도입, 타이틀 포맷 변경.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 11:07:33 +09:00
minsung
2cb549fd9f feat: Orthographic 카메라 추가 — 실측 확인용
사용자 피드백: 거더 높이 변경 시 차이가 미미해 보이는 것은 원근 투영의
시각 효과일 수 있음. 평행(Orthographic) 투영으로 보면 거리 무관 실측
크기가 그대로 보여 모델이 실제로 변하는지 객관적으로 확인 가능.

변경:
- camera.rs: Projection enum (Perspective / Orthographic) 추가.
  - Camera.projection 필드 + view_proj() 분기.
  - Ortho 반높이 = radius * tan(fov_y/2) → 전환 시 시각 스케일 일치.
  - toggle_projection() 메서드.
- lib.rs:
  - 카메라 초기값 projection: Perspective.
  - 키 O → 투영 토글.
  - egui 표시 섹션에 투영 버튼 추가 (◇ Perspective / ■ Ortho).

사용: 거더 높이 슬라이더 조정 → Apply → O 키로 Ortho 전환 → 모델 치수
실측 확인.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 10:20:59 +09:00
minsung
e986604f49 fix: 카메라 타겟이 항상 지반 아래를 가리키던 버그
[원인]
scene_extents 가 반환하는 BB 는 지반·교대 푸팅까지 포함 →
  top_y = girder_h + slab + 200
  bot_y = -(girder_h + 4000)
center Y = (top_y + bot_y)/2 = (slab - 3800)/2 ≈ -1790mm (지반 아래 1.8m)

더 큰 문제: top/bot 이 girder_h 에 따라 같은 비율로 변해서 center Y 는 고정.
→ girder_h 가 바뀌어도 카메라 타겟은 거더 중심을 추적하지 않음.
→ 거더가 실제론 커졌어도 카메라가 항상 지반 아래를 보기 때문에, 슬래브만
   화면 위쪽으로 멀어지고 거더는 그대로 있는 것처럼 인식됨.

[수정]
- rebuild_mesh(): zoom_extents 에 전달할 Y 범위를 [0, girder_h+slab] 로 제한
  → target Y = (girder_h + slab)/2, 거더·데크 중심으로 카메라가 추적.
- 초기 카메라: cy 를 scene_extents 중심 대신 (girder_h+slab)/2 로 설정.

결과: 거더 높이를 올리면 카메라 target 도 비례해 위로 이동 → 거더가 화면
중앙에서 자라는 것이 보이고, 슬래브는 그 위쪽에 붙어 함께 올라감.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 10:01:35 +09:00
minsung
24b15f15ec fix: 거더 높이 변경 시 씬 미갱신 + 받침 치수 오류 수정
[버그 1] Apply 후 카메라 자동 피트 누락
- rebuild_mesh() 에서 scene_extents 만 업데이트하고 camera target/radius 는
  갱신하지 않아, 거더 높이를 올려도 카메라가 구 씬 중심을 가리켜 변화가 안 보임.
- 수정: rebuild_mesh() 끝에 camera.zoom_extents(mn, mx) + update_camera() 추가.

[버그 2] bearing.rs plan_length / plan_width 방향 오류
- plan_length(350mm, 경간 방향)를 profile X(횡방향)에, plan_width(450mm, 횡방향)를
  sweep Z(경간방향)에 사용 → 받침이 90° 회전된 치수로 생성됨.
- Z 센터링 오프셋도 plan_width/2=225mm 로 계산 → 올바른 plan_length/2=175mm 보다
  50mm 더 교대 밖으로 튀어나옴 (스크린샷의 부유 블록).
- 수정:
  · bearing.rs: trans_dim=plan_width(profile X), span_dim=plan_length(sweep Z)
  · bridge_scene.rs: build_bridge_scene + build_selectable_scene 의 Z 오프셋을
    z - 225 → z - plan_length/2 = z - 175 로 변경.

cargo check --workspace 0 errors/warnings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 09:30:13 +09:00
minsung
824c18610b Sprint 23/24 — Tauri v2 앱 래핑 + salsa 0.16 증분 쿼리 백엔드
All checks were successful
Publish ParaWiki / build-and-deploy (push) Successful in 34s
Sprint 23: cimery-app을 Tauri v2 앱으로 전환.
- tauri.conf.json, capabilities/default.json, frontend/index.html 추가
- src/commands.rs: 7개 IPC 커맨드 (launch_viewer, 프로젝트 관리, USD/CSV 익스포트)
- 뷰어 사이드카: std::process::Command 방식 (PATH + exe-dir 탐색)
- release.yml: 3단계 멀티플랫폼 릴리스 워크플로로 교체

Sprint 24: cimery-incremental에 salsa 0.16 백엔드 추가.
- salsa_db.rs: BridgeQueryGroup + SalsaIncrementalDb<K>
- --features salsa-backend 로 활성화 (기본값: 수동 tracking, WASM 안전)
- IR 전 구조체 + Mesh + KernelError에 PartialEq/Eq 추가
- 테스트 20개 전부 통과 (수동 12 + salsa 8)
- cargo check --workspace 0 errors/warnings

기타: viewer/dsl 컴파일 경고 제거, wiki 실행 가이드 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 09:09:47 +09:00
minsung
1f9ca3a00f 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>
2026-04-15 08:18:06 +09:00
minsung
81349c97d2 Sprint 11/12/13 — 선택하이라이트 + 저장/로드 + Tauri앱 스켈레톤
Sprint 11 (Selection highlight + 단면 UI):
- FeatureDraw: CPU 정점 저장, update_highlight() — 선택 시 yellow-orange
- 렌더 루프: background mesh(지면+선형) + 피처별 독립 draw call 분리
- SceneParams: GirderSectionType (PscI / SteelBox), show_alignment
- egui: 단면형식 ComboBox, 선형표시 checkbox
- SteelBox 단면 지원 (span 비례 자동 치수)
- build_background_scene(): 지면+선형만 반환

Sprint 12 (Project save/load):
- project_file.rs: ProjectFile struct, to_params/from_params, save/load JSON
- egui: 💾 저장 / 📂 불러오기 버튼
- projects/ 폴더 자동 생성

Sprint 13 (Tauri app skeleton):
- crates/app/: Cargo.toml + main.rs (Tauri v2 통합 scaffold)
- 기동 시 PureRustKernel 동작 검증
- Tauri setup checklist 주석으로 문서화
- workspace에 cimery-app 추가

cargo check --workspace 통과

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:59:11 +09:00
minsung
5d89db5117 Sprint 9/10 — 지면+선형 시각화 + 피처 선택
Sprint 9 (bridge_scene):
- 지면(Ground plane): 교량 하부 어두운 올리브 색 평면
- 선형(Alignment): 주황색 얇은 봉 (Z축 방향 경간 전체)
- 색상 추가: COL_GROUND, COL_ALIGNMENT

Sprint 10 (selection):
- FeatureDraw: 피처별 GPU 버퍼 + AABB + 선택 상태
- build_selectable_scene(): 거더/슬래브/받침/교대 개별 메시
- ray_aabb(): 레이-AABB 교차 판정 (좌클릭 피킹)
- egui 패널: 선택된 피처 이름 오렌지색 표시
- 선택 하이라이트는 Sprint 11에서 색상 override로 구현

cargo check 통과

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:49:57 +09:00
minsung
419c459074 bridge_scene: girder_height 파라미터 단면 기하학에 실제 반영
kds_standard() 대신 SceneParams.girder_height를 PscISectionParams.total_height에 연결.
슬래브 위치와 거더 단면 높이가 이제 함께 변경됨.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:33:14 +09:00
minsung
0d21035050 PROGRESS: Sprint 4~8 완료 기록
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:55:52 +09:00
minsung
263806b834 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>
2026-04-14 20:55:16 +09:00
minsung
257630f64b viewer: 슬라이더 자동적용 제거 — Apply 버튼 명시적 클릭만
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:51:13 +09:00
minsung
2550e13b10 viewer Sprint 5 완성 — 한글 폰트 + 슬라이더 자동 재생성
- Windows Malgun Gothic 폰트 로드 (한글 지원)
- param_slider! 매크로: drag_released() / lost_focus() 시 자동 rebuild_mesh()
- "▶ 적용 (Apply)" 버튼은 manual fallback으로 유지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:50:37 +09:00
minsung
a05e8f5dea viewer: egui depth format 불일치 수정 + 변수명 경고 제거
- egui_wgpu::Renderer:🆕 depth format None (UI는 depth 불필요)
- bridge_scene.rs: SPAN_M 등 snake_case로 전환

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:44:26 +09:00
minsung
23ddcfade0 Sprint 5 — 인터랙티브 파라메트릭 + egui 속성 패널
- SceneParams: 경간/거더수/간격/높이/슬래브두께 — 실시간 변경 가능
- egui SidePanel(좌측): 슬라이더 편집 → ▶ 적용 → 씬 재생성
- rebuild_mesh(): 파라미터 변경 시 GPU 버텍스·인덱스 버퍼 재생성
- wgpu 22 + egui-wgpu 0.29: forget_lifetime() 로 render pass 전달
- 3D 인코더와 egui 인코더 분리 (wgpu 22 lifetime 호환)
- build_bridge_scene(&SceneParams): 경간·거더수·간격 파라메트릭

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:35:43 +09:00
minsung
3645b85828 받침 중심 정렬 + 부재별 색상 구분
bearing.rs: X 중심, Y 하방향 (-h to 0) 기하학 수정
bridge_scene.rs: 받침 X 오프셋 제거 (girder 정렬)
Mesh: colors 필드 추가 + recolor() 메서드
sweep.rs / occt.rs: 기본 콘크리트 색 자동 채움
bridge_scene: 부재별 색상 (거더/슬래브/받침/교대)
shader.wgsl: base_color 입력 → 조명 계산에 적용

선택(Selection) 기능은 계획대로 별도 Sprint에 구현.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:26:40 +09:00
minsung
eac079f46c bridge_scene: 교대 X 이중 오프셋 수정 — 중심 정렬
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:18:57 +09:00
minsung
13b1c8dfe8 abutment: X/Z 방향 수정 — 흉벽이 경간에 수직으로 배치
kernel/abutment.rs:
- 흉벽(breast wall): X=횡단(bw_w), Y=높이(bw_h), Z=두께(bw_t) — 올바른 방향
- 기초(footing): X=횡단(ft_w), Y=두께(ft_t), Z=경간방향(ft_l)
- 날개벽(wing wall): ±X 방향으로 연장

viewer/lib.rs: unused imports 제거 (경고 해소)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:15:51 +09:00
minsung
096fc133c4 viewer: Pan + ZoomExtents + 표준 뷰 단축키
camera.rs:
- pan(dx, dy): Shift+중간버튼으로 target 이동 (화면 평면 이동)
- zoom_extents(mn, mx): E키로 전체 씬 맞춤
- set_standard_view(StandardView): 축 고정 뷰
- StandardView: Top(7) / Front(1) / Right(3) / Left(4) / Iso(Home)

lib.rs:
- shift_pressed 추적 (ModifiersChanged)
- Shift+중간버튼 드래그 → pan
- E → ZoomExtents
- 1/3/4/7/Home → 표준 뷰 스냅
- scene_mn/mx 저장 → zoom_extents에 전달

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:11:07 +09:00
minsung
3359475879 Sprint 4 — Full bridge scene (Girder×5 + DeckSlab + Bearing×10 + Abutment×2)
viewer/bridge_scene.rs: BridgeScene compositor
- 5× PSC-I Girder (2500mm c/c)
- DeckSlab (12000mm, 220mm thick, top of girders)
- 10× Elastomeric Bearing (5 per abutment end)
- 2× ReverseT Abutment (start & end)
- sweep::merge_meshes로 단일 메시 합성
- scene_extents()로 카메라 자동 배치

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:08:21 +09:00
minsung
37221b9ca7 PROGRESS: OcctKernel B-rep 렌더 확인 기록
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 20:03:16 +09:00
minsung
c20d5b21e1 viewer: --features occt 시 OcctKernel B-rep 렌더링 연결
- viewer/Cargo.toml: occt feature → cimery-kernel/occt 전파
- lib.rs: cfg(feature = "occt") 분기
  - OcctKernel: OCCT B-rep PSC-I + BRepMesh 테셀레이션
  - PureRustKernel: 기본값 (occt 없을 때)
- 타이틀 자동: "OcctKernel B-rep" vs "PSC-I PureRustKernel"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:42:23 +09:00
minsung
0bc3f12688 OcctKernel 구현 — PSC-I B-rep sweep + BRepMesh 테셀레이션
- cimery-kernel/src/occt.rs: OcctKernel (--features occt 전용)
  - Workplane::xy().sketch()로 PSC-I 14-vertex 2D 프로파일 생성
  - Face::extrude(DVec3) → Solid (OCCT B-rep)
  - Mesher::try_new() + mesh() → 테셀레이션
  - cimery Mesh로 변환 (vertices/normals/indices)
  - 기타 Feature: PureRustKernel 위임
- kernel/Cargo.toml: glam 0.24 (opencascade-rs 동일 버전)
- cargo build --features occt 빌드 확인 완료

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:37:51 +09:00
minsung
bdacea5253 Sprint 3 — Must Feature 5종 추가 (상부→하부 순서)
상부 구조물:
- DeckSlabIR + DeckSlabBuilder + 기하학 (직사각형 슬래브 스위프)

연결부:
- BearingIR + BearingBuilder (카탈로그 기반, KDS 기본값 포함)

하부 구조물:
- PierIR + PierBuilder + 기하학 (다주 지원, 코핑 포함)
- AbutmentIR + AbutmentBuilder + 기하학 (흉벽 + 기초 + 날개벽)

core에 BearingType·PierType·ColumnShape·AbutmentType 열거형 추가
kernel: sweep.rs 공유 모듈 (sweep_profile_flat·box·prism·merge)
psc_i.rs → sweep.rs 의존으로 리팩터
GeomKernel trait에 4개 메서드 추가 (상부→하부 문서화 주석)

cargo test 57개 전부 통과

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:27:57 +09:00
minsung
40857f39c5 viewer: PureRustKernel로 교체 — PSC-I 단면 렌더 확인
StubKernel(박스) → PureRustKernel(실제 PSC-I 14-vertex 스위프).
플랜지·웹·헌치 형상 정상 렌더 확인 (스크린샷).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 19:06:24 +09:00
minsung
9cbe76cc5e cimery Sprint 2 — PSC-I 기하학 + viewer 개편 + OCCT optional
kernel:
- PureRustKernel: PSC-I 단면 14-vertex polygon 스위프, flat normals
  56 triangles / 168 vertices, 법선 단위벡터 검증 포함
- opencascade 의존성 optional feature (--features occt)로 격리
  → OCCT 없이도 전체 빌드 가능
- psc_i.rs: 프로파일 검증, AABB, 법선 테스트 6개

viewer:
- camera.rs: arcball orbit (middle-mouse drag + scroll zoom)
- shader.wgsl: MVP matrix uniform + 방향성 조명 (콘크리트 베이지)
- lib.rs: depth buffer, index 렌더, 실제 Mesh 업로드
  StubKernel → PureRustKernel → OcctKernel 교체 경로 문서화

CLAUDE.md: MVP 품질 원칙 강화 ("아키텍처 임의 변경 절대 불가")

cargo test --workspace (viewer 제외) 43개 전부 통과

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 18:48:10 +09:00
minsung
62ddf3aea6 cimery Sprint 1 — Rust 워크스페이스 + 전 계층 파이프라인
8개 크레이트 구현, cargo test 32개 전부 통과:
- core: Mm/M 단위 newtype, UnitExt 리터럴, FeatureError
- ir: GirderIR + 전 단면 파라미터(PSC-I/U/SteelBox/PlateI) serde JSON
- dsl: Girder builder + 검증 (경간 범위·count·spacing)
- kernel: GeomKernel trait + StubKernel (box mesh, AABB)
- incremental: dirty-tracking IncrementalDb (salsa 업그레이드 경로 주석)
- evaluator: 상태 없는 IR→kernel 브리지
- usd: USDA 1.0 텍스트 익스포트 (CimeryBridgeAPI·GirderAPI schema)
- viewer: wgpu 22 + winit 0.30 컬러 삼각형 (Sprint 1 proof-of-concept)

Sprint 2 다음 단계:
- opencascade-rs로 StubKernel 교체 (실제 PSC-I sweep)
- viewer에서 Girder Mesh 렌더 + 카메라 orbit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 17:46:14 +09:00
minsung
919855c1e8 Revit API 참조 상세를 분리 문서로 이동
CLAUDE.md에서 Revit API 섹션 제거 → Output/guides/revit-api-guide.md로 분리.
CLAUDE.md 권위 문서 테이블에 포인터 한 줄만 유지.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 17:36:48 +09:00
minsung
b4a8714793 Revit API Developer's Guide MD 변환본 추가 (368 페이지)
Revit 2026 공식 Developer's Guide HTML → MD 변환.
Output/revit-api-guide/에 8개 카테고리 폴더로 정리.
CLAUDE.md에 참조 규칙 추가, .gitignore에 .scratch/ 제외.

소스: help.autodesk.com/view/RVT/2026/ENU (CC BY-NC-SA 3.0)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 17:33:42 +09:00
minsung
3bd01e31c9 에이전트 협업 인프라 구축 — .claude/ 확장
All checks were successful
Publish ParaWiki / build-and-deploy (push) Successful in 29s
- PLAN.md · PROGRESS.md 도입: 병렬 에이전트 조정 지점
- CLAUDE.md 린화 + 에이전트 작업 흐름 섹션 (상세는 Output/guides/로 분리)
- Output/guides/cimery-dev-guide.md, obsidian-cli.md 신설
- Agents: cimery-architect-researcher, adr-drafter
- Commands: /plan, /progress, /adr, /research, /cimery-start
- Skill: plan-commit
- Hooks: raw/ 쓰기 차단, SessionStart PLAN/PROGRESS 주입,
  wiki/ADR 변경 시 log 갱신 알림, auto-approve (deny 훅 우선 유지)
- .gitignore: .claude/ 공유 자산 포함, 로컬 상태·바이너리만 유지 제외

Closes #3

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 17:21: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
minsung
b011197401 탐색기 가독성 개선 (색상 띠 + 간격)
All checks were successful
Publish ParaWiki / build-and-deploy (push) Successful in 32s
긴 한국어 제목 구분성 향상을 위해 각 항목에 좌측 색상 띠와 점선 구분선 추가.
빌드 시 quartz-custom/custom.scss가 Quartz 기본 custom.scss를 덮어씀.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 12:02:40 +09:00
minsung
5aaf63eff5 Pages 프로젝트 자동 생성 단계 추가
All checks were successful
Publish ParaWiki / build-and-deploy (push) Successful in 33s
첫 배포 시 프로젝트가 없어서 실패했던 문제 수정.
배포 전에 project create를 시도하고, 이미 존재하면 continue-on-error로 통과.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 11:52:29 +09:00
minsung
9fd924d8a9 Cloudflare Pages 자동 배포 워크플로 추가
Some checks failed
Publish ParaWiki / build-and-deploy (push) Failing after 27s
wiki/ 변경 시 Quartz 4로 빌드하여 parawiki.pages.dev에 자동 배포.
Gitea Actions Runner가 Quartz 클론 → 의존성 설치 → content 교체 → 빌드 → wrangler deploy.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 11:47:54 +09:00
minsung
3bd47aec01 Gitea Actions Runner 동작 확인용 ping 워크플로 추가
All checks were successful
Ping (runner check) / ping (push) Successful in 3s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 11:19:49 +09:00
minsung
0324c6d102 위키 콘텐츠 및 작업 규칙 정비
- wiki/ 초기 페이지 추가 (index, log, 주요 개념 9종)
- Output/, wiki/ 하위 CLAUDE.md 규칙 파일 추가
- .gitignore 추가 (.obsidian, .claude, raw, Backup 등 제외)
- CLAUDE.md 프로젝트 규칙 갱신

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 11:14:46 +09:00
minsung
9d0e948bfd Add 나의 핵심 맥락.md and CLAUDE.md for ParaWiki foundation
ParaWiki는 AI가 읽고 활용할 파라메트릭 모델링 지식 저장소로, 최종 산출물은
토목용 파라메트릭 모델링 도구. 이번 커밋은 프로젝트의 핵심 맥락과 AI 작업 지침을 확정.

- MVP: 거더교, 설계자·시공사 대상, 철근 설계는 v2 이후
- 잠정 설계 원칙 3가지(비패밀리/증분 인터랙티브/선형·GIS)
- 저장소 작성 규칙: 한국어+영어 병기, AI 우선 구조

Refs #1

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 09:38:57 +09:00
f3e3fd2211 Initial commit 2026-04-14 08:21:10 +09:00