use tsify::Tsify;
#[derive(serde::Serialize, Tsify)]
#[serde(rename_all = "camelCase")]
#[tsify(into_wasm_abi)]
pub struct GroupedMeshResult {
pub positions: Vec<f64>,
pub normals: Vec<f64>,
pub indices: Vec<u32>,
pub face_offsets: Vec<u32>,
}
#[derive(serde::Serialize, Tsify)]
#[tsify(into_wasm_abi)]
pub struct UvMeshResult {
pub positions: Vec<f64>,
pub normals: Vec<f64>,
pub indices: Vec<u32>,
pub uvs: Vec<f64>,
}
#[derive(serde::Serialize, Tsify)]
#[tsify(into_wasm_abi)]
pub struct BoundingBoxResult {
pub min_x: f64,
pub min_y: f64,
pub min_z: f64,
pub max_x: f64,
pub max_y: f64,
pub max_z: f64,
}
#[derive(serde::Serialize, Tsify)]
#[serde(rename_all = "camelCase")]
#[tsify(into_wasm_abi)]
pub struct EvolutionResult {
pub solid: u32,
pub generated: Vec<u32>,
pub modified: Vec<u32>,
}
#[derive(serde::Serialize, Tsify)]
#[tsify(into_wasm_abi)]
pub struct SketchSolveResult {
pub converged: bool,
pub points: Vec<f64>,
pub residual: f64,
}