Confirmation dialogs (clear-all etc.) flickered wildly on mouse move in QtWebEngine: their overlays used full-viewport backdrop-filter blur(4px), which forces the compositor to re-rasterize the entire backdrop every invalidated frame.
Sweep of the same defect class across style.css:
- #styled-confirm-overlay / #cookbook-gguf-delete-overlay / #styled-prompt-overlay: blur replaced with flat rgba(0,0,0,0.6) dim (the reported flicker)
- .doc-editor-pane / .notes-pane / .note-fullscreen-overlay: will-change hints that outlive their 200-300ms entry animations, pinning full-pane compositor textures (VRAM the local model needs)
- Six graphics-editor/gallery blurs converted to flat translucency (three were behind 94-96% opaque backgrounds — invisible effect, full per-frame cost; .ge-drop-overlay-msg blurred during drag, the worst case)
- theme-frosted keeps its blur: the effect is the opt-in theme and it already suppresses nested blurs
Guard tests: backdrop-filter allowed only under body.theme-frosted; will-change only mode-scoped; full-screen overlays keep a dim.
Develop commits: 675fe40, 8613e26, 10759b6 (+ test comment-strip fix). Upstream-candidate.
Confirmation dialogs (clear-all etc.) flickered wildly on mouse move in QtWebEngine: their overlays used full-viewport backdrop-filter blur(4px), which forces the compositor to re-rasterize the entire backdrop every invalidated frame.
Sweep of the same defect class across style.css:
Guard tests: backdrop-filter allowed only under body.theme-frosted; will-change only mode-scoped; full-screen overlays keep a dim.
Develop commits: 675fe40, 8613e26, 10759b6 (+ test comment-strip fix). Upstream-candidate.