## 뷰어 통합 - `cimery-viewer` → `cimery-ifc` 의존성 추가. - `project_file::scene_params_to_ifc()` 변환 함수: SceneParams 의 모든 파라미터(경간 수·교각 형식·skew·헌치·단면 종류·신축이음) 를 BridgeExportParams 로 전부 매핑. - egui 프로젝트 섹션에 "📤 IFC4X3 익스포트" 버튼. 현재 파라미터 상태로 즉시 `projects/bridge.ifc` 생성. - `project_file::default_ifc_path()` 헬퍼. ## Pset_BeamCommon (IFC Phase 3a) - `write_pset_beam_common()`: 4개 속성 · Reference (IFCIDENTIFIER) — 거더 라벨 · Span (IFCLENGTHMEASURE) — mm · LoadBearing (IFCBOOLEAN) — .T. · IsExternal (IFCBOOLEAN) — .F. - IFCRELDEFINESBYPROPERTIES 로 각 IFCBEAM 에 연결. - `IfcSectionKind` public re-export (viewer 에서 직접 참조). ## 테스트 - pset_beam_common_attached_to_girders 추가. 17개 전체 통과. - cargo check --workspace --features occt: 0 errors. Phase 3 남은 로드맵: - IfcAlignment + IfcLinearPlacement - Camber 반영 (현재 직선 girder 만) - Pset_BearingCommon, Pset_SlabCommon - IfcElementAssembly 로 Pier(column+capbeam) 그룹화 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
44 lines
1.4 KiB
TOML
44 lines
1.4 KiB
TOML
[package]
|
|
name = "cimery-viewer"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[features]
|
|
# Enable OcctKernel (requires OCCT — see cimery/CLAUDE.md).
|
|
# Build: cargo run -p cimery-viewer --features occt
|
|
occt = ["cimery-kernel/occt"]
|
|
|
|
# WASM/PWA build target (Sprint 22, ADR-001 dual-target).
|
|
# Build: wasm-pack build crates/viewer --target web --features wasm
|
|
# NOTE: OCCT is never available for WASM; use PureRustKernel.
|
|
wasm = ["wasm-bindgen", "web-sys", "console_error_panic_hook"]
|
|
|
|
[[bin]]
|
|
name = "cimery-viewer"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
cimery-kernel = { workspace = true }
|
|
cimery-ifc = { workspace = true }
|
|
log = { workspace = true }
|
|
env_logger = { workspace = true }
|
|
wgpu = "22"
|
|
winit = "0.30"
|
|
bytemuck = { version = "1", features = ["derive"] }
|
|
pollster = "0.3"
|
|
glam = "0.29"
|
|
cimery-ir = { workspace = true }
|
|
cimery-core = { workspace = true }
|
|
cimery-incremental = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
egui = "0.29"
|
|
egui-wgpu = "0.29"
|
|
egui-winit = "0.29"
|
|
|
|
# WASM-only dependencies (Sprint 22)
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
wasm-bindgen = { version = "0.2", optional = true }
|
|
web-sys = { version = "0.3", features = ["Window", "Document", "HtmlCanvasElement"], optional = true }
|
|
console_error_panic_hook = { version = "0.1", optional = true }
|