mirror of
https://github.com/stablyai/orca.git
synced 2026-10-09 08:02:35 +00:00
suspendPaneRendering blurred panes only on the WebGL-retention branch; the dispose branch — taken by every pane past MAX_RETAINED_HIDDEN_WEBGL_CONTEXTS=6 — did not. Make it unconditional so both branches leave a suspended pane in the same state. No measured cost is being fixed, and the earlier cursor-blink-timer rationale was wrong. Measured on Windows 11 against the shipped @xterm/xterm 6.1.0-beta.287 + @xterm/addon-webgl 0.20.0-beta.286, N=12 panes: display:none and inert each make Chromium fire a real blur on the pane's helper textarea, which pauses the WebGL blink interval on its own, and disposeWebgl() disposes the blink manager regardless. Hidden panes measured 0 interval fires and 0 rAF fires over 8s with and without the explicit blur. Focus is also a document-wide singleton, so "one timer per hidden pane" was never possible. Kept as defence in depth for opacity:0 without inert — TerminalOverlaySlot's startup probe inside an active worktree — the one hide mode that keeps focus.