viewer: PureRustKernel로 교체 — PSC-I 단면 렌더 확인

StubKernel(박스) → PureRustKernel(실제 PSC-I 14-vertex 스위프).
플랜지·웹·헌치 형상 정상 렌더 확인 (스크린샷).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-14 19:06:24 +09:00
parent 9cbe76cc5e
commit 40857f39c5

View File

@@ -25,8 +25,8 @@ use winit::{
use wgpu::util::DeviceExt; use wgpu::util::DeviceExt;
use cimery_core::{MaterialGrade, SectionType}; use cimery_core::{MaterialGrade, SectionType};
use cimery_ir::{FeatureId, GirderIR, PscISectionParams, SectionParams}; use cimery_ir::{FeatureId, GirderIR, PscISectionParams, SectionParams};
use cimery_kernel::{GeomKernel, StubKernel}; use cimery_kernel::{GeomKernel, PureRustKernel};
use camera::{Camera, CameraUniform}; use camera::Camera;
// ─── Vertex ─────────────────────────────────────────────────────────────────── // ─── Vertex ───────────────────────────────────────────────────────────────────
@@ -148,7 +148,8 @@ impl RenderState {
spacing: 0.0, spacing: 0.0,
material: MaterialGrade::C50, material: MaterialGrade::C50,
}; };
let mesh = StubKernel.girder_mesh(&test_ir).expect("StubKernel mesh"); // Sprint 3: replace PureRustKernel with OcctKernel (--features occt)
let mesh = PureRustKernel.girder_mesh(&test_ir).expect("PureRustKernel mesh");
let verts: Vec<Vertex> = mesh.vertices.iter().zip(mesh.normals.iter()) let verts: Vec<Vertex> = mesh.vertices.iter().zip(mesh.normals.iter())
.map(|(p, n)| Vertex { position: *p, normal: *n }) .map(|(p, n)| Vertex { position: *p, normal: *n })
@@ -376,7 +377,7 @@ impl Default for CimeryApp {
impl ApplicationHandler for CimeryApp { impl ApplicationHandler for CimeryApp {
fn resumed(&mut self, event_loop: &ActiveEventLoop) { fn resumed(&mut self, event_loop: &ActiveEventLoop) {
let attrs = Window::default_attributes() let attrs = Window::default_attributes()
.with_title("cimery viewer [Sprint 2 — StubKernel]") .with_title("cimery viewer [Sprint 2 — PSC-I PureRustKernel]")
.with_inner_size(winit::dpi::LogicalSize::new(1280u32, 720u32)); .with_inner_size(winit::dpi::LogicalSize::new(1280u32, 720u32));
let window = Arc::new( let window = Arc::new(
event_loop.create_window(attrs).expect("create window"), event_loop.create_window(attrs).expect("create window"),