1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//! Layout system for TUI widgets
//!
//! This module provides a flexible layout system that allows agents to customize
//! how widgets are arranged in the terminal UI.
//!
//! # Layout Templates
//!
//! The easiest way to define a layout is using a template:
//!
//! ```ignore
//! // Standard layout (chat + input + status bar)
//! core.set_layout(LayoutTemplate::standard());
//!
//! // With sidebar
//! core.set_layout(LayoutTemplate::with_sidebar("file_browser", 40));
//!
//! // Minimal (no status bar)
//! core.set_layout(LayoutTemplate::minimal());
//! ```
//!
//! # Custom Layouts
//!
//! For full control, use a closure or implement `LayoutProvider`:
//!
//! ```ignore
//! core.set_layout(LayoutTemplate::custom_fn(|area, ctx, sizes| {
//! // Use ratatui Layout directly
//! let chunks = Layout::default()
//! .direction(Direction::Vertical)
//! .constraints([Constraint::Min(1), Constraint::Length(5)])
//! .split(area);
//!
//! LayoutResult {
//! widget_areas: [(widget_ids::CHAT_VIEW, chunks[0])].into(),
//! ..Default::default()
//! }
//! }));
//! ```
// Re-export shared types
pub use ;
// Re-export template
pub use LayoutTemplate;
// Re-export layout options
pub use StandardOptions;
pub use ;
pub use ;
pub use MinimalOptions;