2026 03 01_issue_180_gl_to_wgpu_bridge_baseline_receipt - mark-ik/graphshell GitHub Wiki
Date: 2026-03-01
Issue: #180
Domain: Runtime-viewer bridge precondition for egui_glow -> egui_wgpu
Capture the current baseline before implementing the GL->wgpu bridge spike. This establishes measurable starting facts and narrows the first executable spike surface.
-
egui_wgpuis not yet present in dependencies.- Evidence:
Cargo.tomlcurrently includesegui_glowand noegui_wgpuentry.
- Evidence:
- Composited content callback path is GL-bound through Servo offscreen contexts.
- Evidence hotspot:
shell/desktop/workbench/compositor_adapter.rs - Key seam:
render_context.render_to_parent_callback()inregister_content_pass_from_render_context(...).
- Evidence hotspot:
- Runtime viewer composition currently depends on
OffscreenRenderingContextacross workbench/UI lifecycle modules.- Hotspots include:
shell/desktop/workbench/tile_compositor.rsshell/desktop/workbench/tile_render_pass.rsshell/desktop/workbench/tile_runtime.rsshell/desktop/ui/gui.rsshell/desktop/ui/gui_frame.rs
- Hotspots include:
Define the first spike as one composited content path only:
- Keep existing
egui_glowmainline untouched. - Add an isolated
wgpu-spike module behind feature gate and/or test harness entry. - Target one node-pane content surface and measure:
- copy count
- callback latency
- frame-time delta
- resize behavior
- repeated tile-rect update behavior
For each test run, capture:
- bridge path used (copy/interop strategy)
- tile rect + render size
- end-to-end callback time (us)
- presentation time (us)
- dropped/failed frame count
Implement a minimal bridge-spike harness that can run without replacing the active renderer backend, then record measured results in a follow-up receipt.
#183 remains blocked until this spike provides measured bridge viability evidence.