#![allow(clippy::missing_const_for_fn)]
#![allow(clippy::suboptimal_flops)]
#![allow(clippy::cast_lossless)]
#![allow(clippy::use_self)] #![allow(clippy::uninlined_format_args)] #![allow(clippy::needless_range_loop)] #![allow(clippy::bool_to_int_with_if)] #![allow(clippy::manual_map)] #![allow(clippy::match_same_arms)] #![allow(clippy::explicit_iter_loop)] #![allow(clippy::semicolon_if_nothing_returned)] #![allow(clippy::format_collect)] #![allow(clippy::needless_pass_by_value)] #![allow(clippy::redundant_closure)] #![allow(clippy::struct_excessive_bools)] #![allow(clippy::manual_clamp)] #![allow(clippy::cast_possible_wrap)] #![allow(clippy::nonminimal_bool)] #![allow(clippy::option_map_or_none)] #![allow(clippy::redundant_closure_for_method_calls)] #![allow(clippy::to_string_trait_impl)] #![allow(clippy::map_clone)] #![allow(clippy::derivable_impls)] #![allow(clippy::if_same_then_else)] #![allow(clippy::too_many_lines)] #![allow(clippy::needless_borrow)] #![allow(clippy::manual_str_repeat)] #![allow(clippy::unreadable_literal)] #![allow(clippy::iter_cloned_collect)] #![allow(clippy::or_fun_call)] #![allow(clippy::struct_field_names)] #![allow(clippy::items_after_statements)] #![allow(clippy::collapsible_if)] #![allow(clippy::map_unwrap_or)] #![allow(clippy::implicit_clone)] #![allow(clippy::doc_markdown)] #[cfg(test)]
const _DESIGN_PRINCIPLES_TESTS: &str = include_str!("../tests/design_principles_interface.rs");
mod app;
pub mod cli;
mod color;
pub mod compute_block;
pub mod direct;
mod error;
mod input;
pub mod perf_trace;
pub mod random_seed;
pub mod seed;
pub mod theme;
pub mod tools;
pub mod widgets;
#[cfg(feature = "ptop")]
pub mod ptop;
pub use app::{AsyncCollector, QaTimings, Snapshot, SnapshotReceiver, TuiApp, TuiConfig};
pub use color::ColorMode;
pub use direct::{Cell, CellBuffer, DiffRenderer, DirectTerminalCanvas, Modifiers};
pub use error::TuiError;
pub use input::{InputHandler, KeyBinding};
pub use theme::{Gradient, Theme};
pub use widgets::{
truncate,
Axis,
BarStyle,
BinStrategy,
Border,
BorderStyle,
BoxPlot,
BoxStats,
BrailleGraph,
ColumnHighlight,
CompactBreakdown,
ConfusionMatrix,
CpuGrid,
Cursor,
CurveData,
CurveMode,
EmaConfig,
EmptyState,
FocusRing,
ForceGraph,
ForceParams,
Gauge,
GaugeMode,
GraphEdge,
GraphMode,
GraphNode,
HealthStatus,
HeatBarStyle,
HeatScheme,
Heatmap,
HeatmapCell,
HeatmapPalette,
Histogram,
HistogramOrientation,
HorizonGraph,
HorizonScheme,
HugePages,
LegendPosition,
LineChart,
LineStyle,
LossCurve,
LossSeries,
MarkerStyle,
MatrixPalette,
MemoryBar,
MemorySegment,
Meter,
MicroHeatBar,
MultiBarGraph,
MultiBarMode,
NetworkInterface,
NetworkPanel,
NodeId,
Normalization,
Orientation,
ProcessEntry,
ProcessSort,
ProcessState,
ProcessTable,
RocPrCurve,
RowHighlight,
ScatterAxis,
ScatterPlot,
Segment,
SegmentedMeter,
Series,
Simplification,
Sparkline,
Table,
TitleBar,
TitleBarPosition,
TitleBarStyle,
Tree,
TreeNode,
Treemap,
TreemapLayout,
TreemapNode,
TrendDirection,
ViolinData,
ViolinOrientation,
ViolinPlot,
ViolinStats,
DIMMED_BG,
SELECTION_ACCENT,
SELECTION_BG,
SELECTION_GUTTER,
};
pub use presentar_core::{
Brick, BrickAssertion, BrickBudget, BrickVerification, Canvas, Color, Constraints, Point, Rect,
Size, TextStyle, Widget,
};
pub use random_seed::{
get_seed, init_from_env, set_global_seed, with_seed, SeededRng, DEFAULT_SEED,
};
pub use compute_block::{
ComputeBlock, ComputeBlockId, CpuFrequencyBlock, CpuGovernor, CpuGovernorBlock,
FrequencyScalingState, GpuThermalBlock, GpuThermalState, GpuVramBlock, HugePagesBlock,
LoadTrendBlock, MemPressureBlock, MemoryPressureLevel, SimdInstructionSet, SparklineBlock,
TrendDirection as ComputeTrendDirection,
};