ifcviewer: move edge silhouette subsystem into ViewportCore (#84-s)

buildEdgePipeline, encodeEdgePass, releaseEdgeResources + the EDGE_WGSL
shader source all move to ViewportCore. The edge_bind_group_ + the
edges_enabled_ flag come along too (the latter aliased on VW so the
edge-toggle keybind keeps compiling).

The pass binds the now-core-side depth_view_ directly, so there's no
remaining cross-side state dependency for edge rendering. render()
still calls core_.encodeEdgePass(enc, surface_view) — once render()
itself moves, the call collapses to a sibling method invocation.
This commit is contained in:
Dion Moult
2026-06-06 18:26:57 +10:00
parent 138973830b
commit fa3b0f90d8
4 changed files with 205 additions and 168 deletions
+2 -2
View File
@@ -670,8 +670,8 @@ private:
WGPUBindGroupLayout& edge_bgl_;
WGPUPipelineLayout& edge_pipeline_layout_;
WGPURenderPipeline& edge_pipeline_;
WGPUBindGroup edge_bind_group_ = nullptr;
bool edges_enabled_ = true;
WGPUBindGroup& edge_bind_group_;
bool& edges_enabled_;
// Pivot visibility state — the gizmo itself lives in overlays_.
// The timer auto-hides the pivot after a wheel-zoom afterglow.