A reusable scrollable viewport. Scrolling must NOT be baked into individual widgets.
Needs:
- vertical scrolling
- optional horizontal scrolling
- clipping rendered content to viewport bounds
- scroll offset tracking
- page up/down, home/end
- keep-selected-item-visible behavior (scroll to show cursor)
Deliverable: src/scroll.sh with shellframe_scroll_* functions.
Effort: L (~1 day) | Phase: 3 | Deps: P2 clipping helpers
A reusable scrollable viewport. Scrolling must NOT be baked into individual widgets.
Needs:
Deliverable:
src/scroll.shwithshellframe_scroll_*functions.Effort: L (~1 day) | Phase: 3 | Deps: P2 clipping helpers