forked from 1b-agent/opencadstudio-upstream
Iced 0.14 batches all shader prepare() calls before any render() calls. Multiple ViewportPane widgets sharing the same Pipeline type overwrite each other's GPU buffers, causing the PaperSheet layer (full-canvas) to render the last viewport's model content — appearing full-screen. Fix: paper_canvas_view() now renders a single full-canvas PaperSheet widget. build_paper_sheet_primitive() is updated to include model-space content projected through each viewport's view matrix (via viewport_content_wires()), restoring the original working behaviour. ViewportPane::Paper mode and viewport_screen_rect() are kept with #[allow(dead_code)] — a per-viewport wgpu sub-renderer that accumulates data across frames could revive them in the future. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>