immense 0.1.4

A library for building 3D structures with simple composable rules.
Documentation
use immense::*;
use std::fs::File;

struct Grid2D {
    rows: usize,
    cols: usize,
}

impl ToRule for Grid2D {
    fn to_rule(&self) -> Rule {
        rule![
            tf![
                Replicate::n(self.rows, Tf::ty(1.1)),
                Replicate::n(self.cols, Tf::tx(1.1)),
            ] =>
            cube(),
        ]
    }
}
fn main() {
    let mut output = File::create("grid2d.obj").expect("obj file");
    let meshes = Grid2D { rows: 2, cols: 2 }.to_rule().generate();
    write_meshes(ExportConfig::default(), meshes, &mut output).expect("rendered scene");
}