Expand description
M.4 follow-up: pane geometry moved to lattice-core::ui::pane.
Re-exported here for transitional compatibility.
Structs§
- PaneId
- Process-monotonic pane id. Distinct from
BufferId: a pane holds a buffer + viewport, but two panes can show the same buffer. Allocated byPaneId::nextat split time. - Pane
Rect - Geometry rectangle in screen coordinates. Mirrors ratatui’s
Rectshape so the renderer can hand the result straight to the layout routines without an extra conversion. - Pane
State - One leaf in the pane tree. Carries the per-pane viewport state
for its content buffer; switching the active pane swaps these
fields with
App::cursor/App::scrollso motion code stays unchanged. - Pane
Tree - The pane tree owned by
App(DESIGN.md §5.9, lives inlattice-ui-tui). v1 supports arbitrary recursive splits; the sole constraint is that the active pane must always exist (closing the last pane is a no-op so the App is never “paneless”).
Enums§
- Pane
Direction <C-w>h/j/k/lcardinal navigation. Geometry-aware: walks the tree to find the spatial neighbour of the active pane.- Pane
Node - Internal node of the pane tree. Leaves reference a
PaneStateby index inPaneTree::leaves; splits hold two children with an explicit orientation and a ratio. New splits start atDEFAULT_SPLIT_RATIO;PaneTree::resize_active_splitandPaneTree::equalize_ratiosadjust them. - Split
Orientation - Direction the user pressed after
<C-w>to navigate or split.