Skip to main content

Crate presentar_layout

Crate presentar_layout 

Source
Expand description

Layout engine for Presentar UI framework.

Implements Flexbox-inspired and CSS Grid layout with SIMD acceleration.

§ComputeBlock Grid Compositor

The compute_block module provides a compositor for managing TUI panel layouts:

  • Intrinsic Sizing: Widgets report min/preferred/max sizes via SizeHint
  • Cell Ownership: Prevents rendering conflicts via GridCompositor
  • Clipping: Enforces bounds at render time to prevent artifacts

See ComputeBlock and GridCompositor for details.

Structs§

ComputeBlock
A named region in the grid with ownership semantics.
FlexItem
Flex item properties.
GridArea
A named grid area spanning rows and columns.
GridCompositor
Grid compositor managing block ownership.
GridItem
Grid item placement properties.
GridLayout
Computed grid layout result.
GridTemplate
Grid template definition.
LayoutCache
Layout cache for memoizing measure results.
LayoutEngine
Layout engine with memoization.
Rect
Rectangle in terminal coordinates.
Size
Size in terminal cells (u16 for compatibility with ratatui).
SizeHint
Size hints for content-aware layout.

Enums§

ClipMode
Clipping behavior for blocks.
CompositorError
Errors from compositor operations.
FlexAlign
Cross axis alignment for flex layout.
FlexConstraint
Extended constraint with Fill support.
FlexDirection
Direction for flex layout.
FlexJustify
Main axis alignment for flex layout.
GridAlign
Alignment within a grid cell.
GridAutoFlow
Auto-placement flow direction.
TrackSize
A track size specification.

Traits§

IntrinsicSize
Trait for widgets with intrinsic sizing.

Functions§

auto_place_items
Auto-place items in a grid.
compute_grid_layout
Compute grid track sizes.
compute_intrinsic_layout
Compute layout respecting intrinsic sizes.