use crate::cli::WindTunnelKitsuneScenarioCli;
use clap::Parser;
use wind_tunnel_runner::prelude::{ScenarioDefinitionBuilder, UserValuesConstraint};
pub struct KitsuneScenarioDefinitionBuilder<RV: UserValuesConstraint, AV: UserValuesConstraint> {
inner: ScenarioDefinitionBuilder<RV, AV>,
}
impl<RV: UserValuesConstraint, AV: UserValuesConstraint> KitsuneScenarioDefinitionBuilder<RV, AV> {
pub fn new_with_init(name: &str) -> anyhow::Result<Self> {
env_logger::init();
let cli = WindTunnelKitsuneScenarioCli::parse();
Ok(Self {
inner: ScenarioDefinitionBuilder::new(name, cli.try_into()?),
})
}
pub fn into_std(self) -> ScenarioDefinitionBuilder<RV, AV> {
self.inner
}
}