matcat 0.1.0

Material Categories & Variants — human-friendly layer on top of utomid chemistry.
Documentation

MatCat

Material Categories & Variants — a human-friendly layer on top of utomid.


🚀 Features

  • Group vague material categories (Metal, Plastic, Wood, …).
  • Map specific variants (Steel, PVC, Oak) to chemical definitions (utomid-based).
  • Handle uncertainty with confidence scores (probabilistic picks).
  • Human-friendly input, simulation-ready output.

📦 Installation

cargo add matcat

🔍 Example

use matcat::{Category, Variant, Material, MaterialConfidence};
use matcat::variants::example_variants;

fn main() {
    let variants = example_variants();

    let mat = Material::new(
        Category::Metal,
        vec![
            MaterialConfidence { variant: variants[0].clone(), confidence: 0.8 },
        ],
    );

    println!("Category: {}", mat.category.name());
    println!("Most likely: {:?}", mat.most_likely().unwrap().name);
}

📄 License

MIT © JD Plumbing