//! Details command implementation. //! //! Generates details.csv with comprehensive timing data for all //! track/condition/RQ combinations. use top_drives::AppError; use crate::commands::{load_my_cars_or_warn, run_analysis}; use crate::output::write_details_csv; /// Executes the details command: generates details.csv. pub async fn run_details( my_cars_path: &str, cars_db_path: &str, times_dir: &str, output_dir: &str, ) -> Result<(), AppError> { let my_data = load_my_cars_or_warn(my_cars_path)?; let (ctx, counts) = run_analysis(my_data, cars_db_path, times_dir).await?; write_details_csv(output_dir, &ctx, &counts)?; println!("Written: details.csv"); Ok(()) }