pub mod deduplicator;
pub mod dir_composition;
pub mod duplicate_waste;
pub mod extension_boxplot;
pub mod scatter_plot;
pub mod size_distribution;
pub mod temporal_timeline;
pub mod treemap;
pub trait StatsChart {
type Output;
fn compute(&mut self, snapshot: &crate::arena::FileArenaSnapshot) -> Self::Output;
}
pub struct StatContext<'a> {
pub selected_nodes: &'a mut std::collections::HashSet<u32>,
pub expanded_nodes: &'a mut std::collections::HashSet<u32>,
pub scroll_to_selected: &'a mut bool,
pub deduplicator_results: Option<
&'a std::sync::Arc<parking_lot::RwLock<crate::stats::deduplicator::DeduplicationResults>>,
>,
}
pub trait StatComponent {
fn render(
&mut self,
ui: &mut eframe::egui::Ui,
snapshot: &crate::arena::FileArenaSnapshot,
context: &mut StatContext,
);
}