///|
fn main {
  match @rectloom.sample_layout() {
    Ok(layout) => {
      println(@rectloom.to_report(layout))
      match @rectloom.to_ascii_preview(layout, cell_width=4, cell_height=4) {
        Ok(preview) => println(preview)
        Err(err) => println(@rectloom.error_message(err))
      }
      match @rectloom.compact_audit_summary(layout) {
        Ok(summary) => println(summary)
        Err(err) => println(@rectloom.error_message(err))
      }
      let fixture = @rectloom.fixture_rects(@rectloom.MixedIcons, 10)
      let options = @rectloom.fixture_options(@rectloom.MixedIcons)
      match @rectloom.recommend_candidate(fixture, options) {
        Ok(candidate) =>
          println(
            "recommended rank=\{candidate.rank} score=\{candidate.score} placed=\{candidate.layout.placements.length()} occupancy=\{candidate.layout.occupancy_permille}/1000",
          )
        Err(err) => println(@rectloom.error_message(err))
      }
    }
    Err(err) =>
      println("rectloom sample failed: \{@rectloom.error_message(err)}")
  }
}