//! Render one PNG per decoration (in its era palette) plus one per palette
//! (on Breeze) into the directory given as the first argument, for eyeballing
//! chrome changes: `cargo run --release --example contact_sheet -- /tmp/sheet`
use bismuth::render::{chrome, palette, render_png, render_svg, CardSpec, Output};
fn main() -> anyhow::Result<()> {
let dir = std::path::PathBuf::from(std::env::args().nth(1).unwrap_or_else(|| "sheet".into()));
std::fs::create_dir_all(&dir)?;
let write = |name: String, spec: CardSpec| -> anyhow::Result<()> {
let svg = render_svg(&spec, Output::Standalone);
std::fs::write(dir.join(format!("{name}.svg")), &svg)?;
std::fs::write(dir.join(format!("{name}.png")), render_png(&svg, 1.0)?)?;
Ok(())
};
for c in chrome::CHROMES {
write(format!("chrome-{}", c.id), CardSpec { chrome: c.id.into(), ..CardSpec::default() })?;
}
for p in palette::PALETTES.iter() {
write(
format!("palette-{}", p.id),
CardSpec { palette: p.id.into(), line_numbers: true, ..CardSpec::default() },
)?;
}
println!("wrote {}", dir.display());
Ok(())
}
neiam
/bismuth
MOTHER-FUCKING-BISMUTH
public · Issues · Pulls · Labels · Forks · Compare · Actions success · Badges · Packages
⭐
Log in to mark this repository.
1.2 KiB · text
History
487bb12