Expected behavior
Wheel input over an interactive terminal stays owned by that terminal at the top/bottom of its scrollback. Provider mouse reporting and alternate-screen arrow-key scrolling must keep working.
Actual behavior and reproduction
A real Electron 43 / xterm 6.0.0 probe mounts the production WebGL loader in a terminal nested under an overflow-auto panel, matching DebugPanel and AgentInlineTerminal. Normal wheel input moves terminal scrollback correctly and appending output preserves the scrolled position. At the bottom boundary, a further downward wheel gesture moves the parent panel by 120 CSS pixels while the terminal viewport remains at its bottom. The xterm custom scrollable stops consuming wheel input when it cannot move farther.
Impact
Scrolling in an inline terminal can unexpectedly move its surrounding panel instead. This is distinct from the GPU atlas corruption tracked in #789; it does not establish the cause of every reported scrolling symptom.
Acceptance criteria
Contain otherwise-unconsumed vertical wheel events within terminal content, retain xterm/provider ownership for scrollback and alternate/mouse modes, preserve modifier/browser gestures, dispose listeners with the terminal, and verify with behavioral tests plus a real Chromium wheel probe. Do not add per-scroll PTY writes, repaint loops, or React state updates.
Expected behavior
Wheel input over an interactive terminal stays owned by that terminal at the top/bottom of its scrollback. Provider mouse reporting and alternate-screen arrow-key scrolling must keep working.
Actual behavior and reproduction
A real Electron 43 / xterm 6.0.0 probe mounts the production WebGL loader in a terminal nested under an overflow-auto panel, matching DebugPanel and AgentInlineTerminal. Normal wheel input moves terminal scrollback correctly and appending output preserves the scrolled position. At the bottom boundary, a further downward wheel gesture moves the parent panel by 120 CSS pixels while the terminal viewport remains at its bottom. The xterm custom scrollable stops consuming wheel input when it cannot move farther.
Impact
Scrolling in an inline terminal can unexpectedly move its surrounding panel instead. This is distinct from the GPU atlas corruption tracked in #789; it does not establish the cause of every reported scrolling symptom.
Acceptance criteria
Contain otherwise-unconsumed vertical wheel events within terminal content, retain xterm/provider ownership for scrollback and alternate/mouse modes, preserve modifier/browser gestures, dispose listeners with the terminal, and verify with behavioral tests plus a real Chromium wheel probe. Do not add per-scroll PTY writes, repaint loops, or React state updates.