#![allow(clippy::uninlined_format_args)]
#![allow(clippy::needless_raw_string_hashes)]
#![allow(clippy::suboptimal_flops)]
#![allow(clippy::inefficient_to_string)]
#![allow(clippy::option_map_or_none)]
#![allow(clippy::format_push_string)]
#![allow(clippy::needless_range_loop)]
#![allow(clippy::if_same_then_else)]
#![allow(clippy::items_after_statements)]
#![allow(clippy::map_unwrap_or)]
mod app;
mod panels;
mod visualization;
pub use app::{
DecoderToken, JidokaAlerts, PipelineMetrics, WhisperApp, WhisperPanel, WhisperState,
};
pub use panels::render_whisper_dashboard;
pub use visualization::{
render_attention_heatmap, render_mel_spectrogram, render_waveform, MelDisplay, WaveformDisplay,
};
#[cfg(test)]
mod tests;