# TUI: マウスホイールでヒストリーをスクロール ## 背景 TUIのヒストリービューはキー操作(Shift+↑/↓、PageUp/PageDown、Ctrl+Home/End、Ctrl+[/])でスクロールできる。スクロール状態(`Scroll` 構造体・follow_tail・top_offset)も既に揃っており、ロジック的には外部から `scroll_up`/`scroll_down` を叩けば任意の手段でスクロール可能になっている。 一方で、現状のイベントループは `TermEvent::Key` / `Paste` / `Resize` のみを処理しており、マウスイベントは破棄される。crossterm のマウスキャプチャも有効化されていないため、ターミナル側にホイール入力すら届かない。 エディタ的に常駐するTUIとして、マウスホイールで直感的にヒストリーを遡れる体験を提供したい。 ## 要件 - フルスクリーンモード中にマウスホイールでヒストリービューをスクロールできる。 - ホイール上方向で過去方向(`scroll_up`)、下方向で末尾方向(`scroll_down`)に動く。1 notch あたりの行数は既存のキー操作(Shift+↑/↓)と同じ感覚で良い。 - マウスキャプチャの有効化はalt-screenに入っているあいだに限定し、終了時に確実に解除する(picker / spawn のインラインフェーズはネイティブのマウス挙動を保つ)。 - クリック・ドラッグ等のホイール以外のマウスイベントは現状無視で構わないが、最低限イベントループでマッチ漏れによるエラーが出ない形にする。 ## 完了条件 - フルスクリーンTUIでマウスホイールを回すと、ヒストリービューが上下に動く。 - TUIを正常終了・異常終了どちらでも、ターミナルのマウスキャプチャ状態が残らない。 - 既存のキー操作によるスクロール挙動に変化がない。 ## 範囲外 - ホイール以外のマウス操作(クリックでフォーカス移動、ドラッグ選択、スクロールバー表示など) - picker / spawn のインラインフェーズでのマウス対応 - ホイール感度の設定可能化 ## Review - 状態: Approve - レビュー詳細: [./tui-mouse-scroll.review.md](./tui-mouse-scroll.review.md) - 日付: 2026-05-01