feat: device commands

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-10-13 15:37:16 +01:00
parent 73c75f941a
commit f74328dfa8
14 changed files with 330 additions and 22 deletions

49
src/cli/simulation/mod.rs Normal file
View File

@@ -0,0 +1,49 @@
use super::common::{
file::{Input, Output},
film::{FilmSimulationOptions, SimulationSelector},
};
use clap::Subcommand;
#[derive(Subcommand, Debug)]
pub enum SimulationCmd {
/// List simulations
#[command(alias = "l")]
List,
/// Get simulation
#[command(alias = "g")]
Get {
/// Simulation number or name
simulation: SimulationSelector,
},
/// Set simulation parameters
#[command(alias = "s")]
Set {
/// Simulation number or name
simulation: SimulationSelector,
#[command(flatten)]
film_simulation_options: FilmSimulationOptions,
},
/// Export simulation
#[command(alias = "e")]
Export {
/// Simulation number or name
simulation: SimulationSelector,
/// Output file (use '-' to write to stdout)
output_file: Output,
},
/// Import simulation
#[command(alias = "i")]
Import {
/// Simulation number
slot: u8,
/// Input file (use '-' to read from stdin)
input_file: Input,
},
}