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
//! TUI Dataset Viewer Module
//!
//! Provides terminal-based visualization of Arrow datasets.
//! Designed for pure WASM compatibility with zero JavaScript dependencies.
//!
//! # Architecture
//!
//! The TUI module follows the presentar-terminal architecture:
//! - `DatasetAdapter` - Uniform access to Arrow datasets
//! - `DatasetViewer` - Scrollable table widget
//! - `SchemaInspector` - Schema display widget
//! - `RowDetailView` - Expanded row view widget
//!
//! # WASM Compatibility
//!
//! All components are designed for `wasm32-unknown-unknown`:
//! - No panic paths (no unwrap/expect)
//! - No filesystem access in WASM mode
//! - No threading (single-threaded model)
//! - Zero JavaScript dependencies
//!
//! # Example
//!
//! ```ignore
//! use alimentar::tui::{DatasetAdapter, DatasetViewer};
//! use alimentar::ArrowDataset;
//!
//! // Load dataset
//! let dataset = ArrowDataset::from_parquet("data.parquet")?;
//! let adapter = DatasetAdapter::from_dataset(&dataset)?;
//!
//! // Create viewer
//! let viewer = DatasetViewer::new(adapter);
//!
//! // Render to canvas
//! viewer.paint(&mut canvas);
//! ```
// Public exports
pub use DatasetAdapter;
pub use ;
pub use ;
pub use RowDetailView;
pub use SchemaInspector;
pub use ScrollState;
pub use DatasetViewer;