use std::path::PathBuf;
use super::settings::resolve_settings;
use super::spec::Output;
use super::{generate, BodyError};
use crate::config::EnclosureConfig;
pub(crate) fn generate_step(
circuit_json: &str,
manifest: EnclosureConfig,
path: PathBuf,
) -> Result<f64, BodyError> {
let forced = EnclosureConfig {
format: Some("step".to_string()),
..Default::default()
};
let settings = resolve_settings(forced, manifest)?;
let outputs = vec![Output {
format: "step",
path,
}];
let spec = generate(circuit_json, &settings, outputs)?;
Ok(spec.board_z + spec.board_thickness / 2.0)
}