Overview of Virtual Viewport implementation
mainThe Virtual Viewport implementation (introduced in PR #4146) addresses performance issues (flickering, lag, and unbounded scrollbar growth) caused by rendering entire conversation histories in ink's append-only <Static> component.
Key Features included in V.2:
- Core Viewport: Efficiently renders only visible items.
- ASCII Scrollbar: Includes auto-hide animations.
- SGR Mouse Support: Enables mouse-wheel interaction.
- Keyboard Navigation: Supports scroll keys.
ui.useTerminalBufferGate: Allows switching between the legacy<Static>path and the newScrollableListpath.
Planned Features (V.3+):
- Scrollbar dragging and click-to-position.
- In-app
/search. - Alternate-buffer mode (full alt-screen takeover).