pub enum StrategyKind {
Sequence {
axis: Axis,
gap: f32,
ratio: Option<f32>,
},
MasterStack {
master_ratio: f32,
gap: f32,
},
Deck {
master_ratio: f32,
gap: f32,
},
CenteredMaster {
master_ratio: f32,
gap: f32,
},
BinarySplit {
spiral: bool,
ratio: f32,
gap: f32,
},
Dashboard {
columns: GridColumnMode,
gap: f32,
spans: Arc<[CardSpan]>,
auto_rows: bool,
},
ActivePanel {
variant: ActivePanelVariant,
bar_height: f32,
},
Window {
panel_count: usize,
gap: f32,
},
Slotted {
slots: Arc<[SlotDef]>,
gap: f32,
axis: Axis,
},
}Expand description
Behavioral strategy for a layout, determining how add/remove/move/focus mutations are applied to the tree.
Variants§
Sequence
Linear sequence of equal panels (split, columns).
Fields
MasterStack
One master panel with a vertical stack (master-stack).
Fields
Deck
Master panel with a deck of one-at-a-time stack panels (deck).
Fields
CenteredMaster
Master panel centered between two side stacks (centered-master).
Fields
BinarySplit
Recursive binary split (dwindle, spiral).
Fields
Dashboard
CSS-grid dashboard with per-card column spans (dashboard, grid, columns).
Fields
columns: GridColumnModeColumn mode (fixed count, auto-fill, or auto-fit).
ActivePanel
Only one panel visible at a time (monocle, tabbed, stacked).
Fields
variant: ActivePanelVariantWhich sub-variant of active-panel layout.
Window
Scrollable window showing N adjacent panels (scrollable/NIRI).
Fields
Slotted
Fixed-slot layout with named positions (sidebar, holy-grail).
Implementations§
Source§impl StrategyKind
impl StrategyKind
Sourcepub fn supports_move(&self) -> bool
pub fn supports_move(&self) -> bool
Whether this strategy supports the move operation.
Whether this strategy supports spatial focus navigation.
Strategies that hide most panels (ActivePanel, Window) don’t
produce meaningful spatial relationships — use focus_next/focus_prev.
Trait Implementations§
Source§impl Clone for StrategyKind
impl Clone for StrategyKind
Source§fn clone(&self) -> StrategyKind
fn clone(&self) -> StrategyKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more