///|
/// Common design recipes. Each recipe returns paths and can be combined in a layer.
pub fn checkerboard(
width : Double,
height : Double,
columns : Int,
rows : Int,
first : Color,
second : Color,
) -> Array[Motif] {
let result = []
if columns > 0 && rows > 0 {
let cell_width = width / columns.to_double()
let cell_height = height / rows.to_double()
for row in 0.. Array[Motif] {
let result = []
if columns > 0 && rows > 0 {
let sx = width / columns.to_double()
let sy = height / rows.to_double()
for row in 0.. Array[Motif] {
let result = []
if spacing > 0.0 {
let count = (bounds.width + bounds.height) / spacing
for i in 0.. Array[Motif] {
let result = []
let random = Random::new(seed)
for _ in 0.. Array[Motif] {
let result = []
for ring in 0.. Array[Motif] {
let result = []
if cols > 0 && rows > 0 {
let sx = width / cols.to_double()
let sy = height / rows.to_double()
for row in 0..