//! CLI tool to generate demo trajectory binary data for the WebGL frontend. //! Usage: cargo run -- [output_path] [trajectories] [steps] use trajectory_export::{export_trajectory_to_bin, generate_demo_data}; fn main() { let args: Vec = std::env::args().collect(); let output_path = args.get(1).map(|s| s.as_str()).unwrap_or("trajectory.bin"); let num_trajectories: usize = args.get(2).and_then(|s| s.parse().ok()).unwrap_or(1000); let num_steps: usize = args.get(3).and_then(|s| s.parse().ok()).unwrap_or(500); eprintln!("Generating {num_trajectories} trajectories × {num_steps} steps..."); let data = generate_demo_data(num_steps, num_trajectories, 0.01, 0.3); export_trajectory_to_bin(&data, output_path) .expect("Failed to export trajectory data"); let file_size = std::fs::metadata(output_path) .map(|m| m.len()) .unwrap_or(0); eprintln!("Output: {output_path} ({:.2} MB)", file_size as f64 / 1_048_576.0); eprintln!("Serve with: python -m http.server 8080"); eprintln!("Then open frontend/index.html and call:"); eprintln!(" window.loadFromBinary('http://localhost:8080/{output_path}', {num_trajectories}, {num_steps})"); }