Skip to main content

Module tui

Module tui 

Source
Expand description

TUI dataset viewer module 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

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);

Structs§

DatasetViewer
A scrollable table view for displaying Arrow datasets
RowDetailView
Row detail view widget for displaying a single record
SchemaInspector
Schema inspector widget for displaying dataset schema
ScrollState
Scroll state for navigating large datasets

Enums§

DatasetAdapter
Adapter providing uniform access to Arrow datasets for TUI rendering
TuiError
TUI-specific error type

Functions§

display_width
Calculate the display width of a string
format_array_value
Format an Arrow array value at the given row index as a display string
truncate_string
Truncate a string to fit within a maximum display width

Type Aliases§

TuiResult
Result type for TUI operations