3.2 KiB
3.2 KiB
| title | state | created_at | updated_at |
|---|---|---|---|
| TUI: navigation mode / block focus の設計 | planning | 2026-05-27T00:00:15Z | 2026-05-27T00:00:15Z |
Migration reference
- legacy_ticket: tickets/tui-navigation-mode-design.md
- migrated_from: TODO.md / tickets directory migration on 2026-05-27
TUI: navigation mode / block focus の設計
背景
TUI の操作は現在 composer を中心にしており、履歴 block / task 表示 / queued input / system 操作の間を移動する統一的な navigation model はまだない。今後 command mode、manual compact、rollback、Pod picker、queue 編集などが増えると、Ctrl/Alt shortcut だけでは操作体系が散らばる。
一方で、通常入力は最優先で守る必要がある。特に streaming 中の入力取りこぼしや rollback restore、Run 中 input queue を入れたことで、composer の文字入力を暗黙操作で壊さないことが重要になっている。
本チケットは navigation mode のアイデアを保持する設計 ticket であり、すぐ実装する前提ではない。
アイデア
- 通常は composer mode。
- 文字入力、Enter submit/queue、
@/#//補完を優先する。
- 文字入力、Enter submit/queue、
Escなど明示操作で navigation mode に入る。- 履歴 block / task pane / queued input / picker 的 UI に focus を移す。
- focus があることを視覚的に分かるようにする。
- navigation mode では
j/kまたは↑/↓で block focus / scroll を行う。i/Enter/Escで composer に戻る案。
- composer のカーソルが最上行にある時の
↑で履歴へ抜ける自然操作も候補。- ただし multi-line input / IME / completion / typed segment と衝突しやすいため、初期実装では慎重に扱う。
- 暗黙 focus 移動より、明示 navigation mode を優先する案が安全。
- command mode (
:) とは分ける。- command mode は system command 入力。
- navigation mode は画面上の対象選択 / scroll / block action。
検討事項
- mode 名と status/actionbar 表示。
- composer mode から navigation mode へ入る key。
- navigation mode から composer mode へ戻る key。
↑/↓を composer cursor movement と block focus movement のどちらに使うか。- block focus の単位。
- Turn header
- User message
- Assistant block
- Tool call/result
- System message
- Task row
- Queued input row
- focused block に対する action。
- copy
- expand/collapse
- retry/fork/rollback など将来操作
- scrollback と block focus の関係。
- search (
/ではなく別 key が必要。/は WorkflowRef と衝突する可能性)。 - mouse support を入れるか。
完了条件(未確定)
- navigation mode の keymap と UI 表示方針が決まる。
- composer 入力を壊さない focus 移動ルールが決まる。
- block focus の最小単位が決まる。
- command mode / queue / rollback / Pod picker と衝突しない。
- 実装 ticket に分割できる。
範囲外
- 今すぐの実装。
- command mode の実装(
tickets/tui-command-mode.md)。 - compact command の実装。
- Vim 完全互換。