{"version":1,"patterns":{"aberdeen-bond":{
  "schema": 1,
  "id": "aberdeen-bond",
  "name": "Aberdeen bond",
  "category": "stone",
  "parameters": {
    "length": { "value": 450, "min": 100, "max": 1200, "label": "Slab length" },
    "width": { "value": 250, "min": 60, "max": 800, "label": "Slab width" },
    "settWidth": { "expr": "2 * width / 5" },
    "settHeight": { "expr": "width / 3" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "length + settWidth", "settHeight"] },
    { "rect": ["length", "settHeight", "length + settWidth", "2 * settHeight"] },
    { "rect": ["length", "2 * settHeight", "length + settWidth", "width"] }
  ],
  "lattice": { "a": ["length + settWidth", "0"], "b": ["(length + settWidth) / 2", "width"] }
}
,"abstract-check":{
  "schema": 1,
  "id": "abstract-check",
  "name": "Abstract check",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 900,
      "min": 120,
      "max": 3000,
      "label": "Tile side"
    },
    "unit": {
      "expr": "edge / 6"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "2 * unit",
          "0"
        ],
        [
          "3 * unit",
          "3 * unit"
        ],
        [
          "0",
          "2 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * unit",
          "0"
        ],
        [
          "6 * unit",
          "0"
        ],
        [
          "6 * unit",
          "4 * unit"
        ],
        [
          "3 * unit",
          "3 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * unit"
        ],
        [
          "3 * unit",
          "3 * unit"
        ],
        [
          "4 * unit",
          "6 * unit"
        ],
        [
          "0",
          "6 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * unit",
          "3 * unit"
        ],
        [
          "6 * unit",
          "4 * unit"
        ],
        [
          "6 * unit",
          "6 * unit"
        ],
        [
          "4 * unit",
          "6 * unit"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "edge"
    ]
  }
}
,"acoustic-slat-panel":{
  "schema": 1,
  "id": "acoustic-slat-panel",
  "name": "Acoustic slat panel",
  "category": "wood",
  "coverage": "partial",
  "parameters": {
    "width": { "value": 27, "min": 5, "max": 28, "label": "Slat width" },
    "pitch": { "value": 40, "min": 29, "max": 200, "label": "Slat pitch" },
    "length": { "value": 2400, "min": 300, "max": 3000, "label": "Slat length" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] }
  ],
  "lattice": {
    "a": ["length", "0"],
    "b": ["0", "pitch"]
  }
}
,"alternating-disc-and-oval-band":{
  "schema": 1,
  "id": "alternating-disc-and-oval-band",
  "name": "Alternating disc and oval band",
  "category": "ceramic",
  "parameters": {
    "bandWidth": {
      "value": 85,
      "min": 20,
      "max": 150,
      "label": "Bar width"
    },
    "length": {
      "value": 360,
      "min": 320,
      "max": 1500,
      "label": "Course height"
    },
    "half": {
      "expr": "length / 2"
    }
  },
  "tiles": [
    {
      "start": [
        "0",
        "half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "half"
            ],
            "from": [
              "0",
              "half"
            ],
            "to": [
              "2 * bandWidth",
              "half"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "half"
            ],
            "from": [
              "2 * bandWidth",
              "half"
            ],
            "to": [
              "0",
              "half"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "half"
            ],
            "from": [
              "0",
              "half"
            ],
            "to": [
              "1 * bandWidth",
              "half + bandWidth"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1 * bandWidth",
        "half + bandWidth"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "half"
            ],
            "from": [
              "1 * bandWidth",
              "half + bandWidth"
            ],
            "to": [
              "2 * bandWidth",
              "half"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "half + bandWidth"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * bandWidth",
        "half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "half"
            ],
            "from": [
              "2 * bandWidth",
              "half"
            ],
            "to": [
              "1 * bandWidth",
              "half - bandWidth"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1 * bandWidth",
        "half - bandWidth"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "half"
            ],
            "from": [
              "1 * bandWidth",
              "half - bandWidth"
            ],
            "to": [
              "0",
              "half"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "half - bandWidth"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "1 * length + length"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "1 * length + half"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "2 * bandWidth",
              "1 * length + half"
            ],
            "to": [
              "0",
              "1 * length + half"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1 * length + length"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "1 * length + half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "0",
              "1 * length + half"
            ],
            "to": [
              "1 * bandWidth",
              "1 * length + half - bandWidth"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1 * length + half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * bandWidth",
        "1 * length + half"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "1 * length + half - bandWidth"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "1 * bandWidth",
              "1 * length + half - bandWidth"
            ],
            "to": [
              "2 * bandWidth",
              "1 * length + half"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "2 * length + 0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "2 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "2 * length + half"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "2 * length + half"
            ],
            "from": [
              "2 * bandWidth",
              "2 * length + half"
            ],
            "to": [
              "0",
              "2 * length + half"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "2 * length + 0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "2 * length + half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "2 * length + half"
            ],
            "from": [
              "0",
              "2 * length + half"
            ],
            "to": [
              "1 * bandWidth",
              "2 * length + half + bandWidth"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "2 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "2 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "2 * length + half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * bandWidth",
        "2 * length + half"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "2 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "2 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "2 * length + half + bandWidth"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "2 * length + half"
            ],
            "from": [
              "1 * bandWidth",
              "2 * length + half + bandWidth"
            ],
            "to": [
              "2 * bandWidth",
              "2 * length + half"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "length"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "half"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "half"
            ],
            "from": [
              "6 * bandWidth",
              "half"
            ],
            "to": [
              "4 * bandWidth",
              "half"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "length"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "half"
            ],
            "from": [
              "4 * bandWidth",
              "half"
            ],
            "to": [
              "5 * bandWidth",
              "half - bandWidth"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "6 * bandWidth",
        "half"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "half - bandWidth"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "half"
            ],
            "from": [
              "5 * bandWidth",
              "half - bandWidth"
            ],
            "to": [
              "6 * bandWidth",
              "half"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "1 * length + 0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "1 * length + half"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "6 * bandWidth",
              "1 * length + half"
            ],
            "to": [
              "4 * bandWidth",
              "1 * length + half"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "1 * length + 0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "1 * length + half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "4 * bandWidth",
              "1 * length + half"
            ],
            "to": [
              "5 * bandWidth",
              "1 * length + half + bandWidth"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "1 * length + half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "6 * bandWidth",
        "1 * length + half"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "1 * length + half + bandWidth"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "5 * bandWidth",
              "1 * length + half + bandWidth"
            ],
            "to": [
              "6 * bandWidth",
              "1 * length + half"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "2 * length + half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "2 * length + half"
            ],
            "from": [
              "4 * bandWidth",
              "2 * length + half"
            ],
            "to": [
              "6 * bandWidth",
              "2 * length + half"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "2 * length + half"
            ],
            "from": [
              "6 * bandWidth",
              "2 * length + half"
            ],
            "to": [
              "4 * bandWidth",
              "2 * length + half"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "2 * length + half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "2 * length + half"
            ],
            "from": [
              "4 * bandWidth",
              "2 * length + half"
            ],
            "to": [
              "5 * bandWidth",
              "2 * length + half + bandWidth"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "2 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "2 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "2 * length + half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "5 * bandWidth",
        "2 * length + half + bandWidth"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "2 * length + half"
            ],
            "from": [
              "5 * bandWidth",
              "2 * length + half + bandWidth"
            ],
            "to": [
              "6 * bandWidth",
              "2 * length + half"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "2 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "2 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "2 * length + half + bandWidth"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "6 * bandWidth",
        "2 * length + half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "2 * length + half"
            ],
            "from": [
              "6 * bandWidth",
              "2 * length + half"
            ],
            "to": [
              "5 * bandWidth",
              "2 * length + half - bandWidth"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "2 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "2 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "2 * length + half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "5 * bandWidth",
        "2 * length + half - bandWidth"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "2 * length + half"
            ],
            "from": [
              "5 * bandWidth",
              "2 * length + half - bandWidth"
            ],
            "to": [
              "4 * bandWidth",
              "2 * length + half"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "2 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "2 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "2 * length + half - bandWidth"
            ]
          }
        }
      ]
    },
    {
      "rect": [
        "2 * bandWidth",
        "0",
        "3 * bandWidth",
        "length"
      ]
    },
    {
      "rect": [
        "2 * bandWidth",
        "1 * length + 0",
        "3 * bandWidth",
        "1 * length + length"
      ]
    },
    {
      "rect": [
        "2 * bandWidth",
        "2 * length + 0",
        "3 * bandWidth",
        "2 * length + length"
      ]
    },
    {
      "rect": [
        "3 * bandWidth",
        "0",
        "4 * bandWidth",
        "length"
      ]
    },
    {
      "rect": [
        "3 * bandWidth",
        "1 * length + 0",
        "4 * bandWidth",
        "1 * length + length"
      ]
    },
    {
      "rect": [
        "3 * bandWidth",
        "2 * length + 0",
        "4 * bandWidth",
        "2 * length + length"
      ]
    },
    {
      "rect": [
        "6 * bandWidth",
        "0",
        "7 * bandWidth",
        "length"
      ]
    },
    {
      "rect": [
        "6 * bandWidth",
        "1 * length + 0",
        "7 * bandWidth",
        "1 * length + length"
      ]
    },
    {
      "rect": [
        "6 * bandWidth",
        "2 * length + 0",
        "7 * bandWidth",
        "2 * length + length"
      ]
    },
    {
      "rect": [
        "7 * bandWidth",
        "0",
        "8 * bandWidth",
        "length"
      ]
    },
    {
      "rect": [
        "7 * bandWidth",
        "1 * length + 0",
        "8 * bandWidth",
        "1 * length + length"
      ]
    },
    {
      "rect": [
        "7 * bandWidth",
        "2 * length + 0",
        "8 * bandWidth",
        "2 * length + length"
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * bandWidth",
      "0"
    ],
    "b": [
      "0",
      "3 * length"
    ]
  }
}
,"alternating-fish-scale":{
  "schema": 1,
  "id": "alternating-fish-scale",
  "name": "Alternating fish scale",
  "category": "ceramic",
  "parameters": {
    "radius": { "value": 75, "min": 15, "max": 400, "label": "Scale radius" },
    "two": { "expr": "2 * radius" },
    "three": { "expr": "3 * radius" }
  },
  "tiles": [
    { "path": [
      { "arc": { "center": ["0", "radius"], "from": ["0", "two"], "to": ["0", "0"], "clockwise": false } },
      { "arc": { "center": ["radius", "0"], "from": ["0", "0"], "to": ["radius", "radius"], "clockwise": true } },
      { "arc": { "center": ["radius", "two"], "from": ["radius", "radius"], "to": ["0", "two"], "clockwise": true } }
    ] },
    { "path": [
      { "arc": { "center": ["two", "radius"], "from": ["three", "radius"], "to": ["radius", "radius"], "clockwise": false } },
      { "arc": { "center": ["radius", "0"], "from": ["radius", "radius"], "to": ["two", "0"], "clockwise": true } },
      { "arc": { "center": ["three", "0"], "from": ["two", "0"], "to": ["three", "radius"], "clockwise": true } }
    ] }
  ],
  "lattice": { "a": ["radius", "radius"], "b": ["two", "-two"] }
}
,"alternating-oval-band":{
  "schema": 1,
  "id": "alternating-oval-band",
  "name": "Alternating oval band",
  "category": "ceramic",
  "parameters": {
    "bandWidth": {
      "value": 85,
      "min": 20,
      "max": 150,
      "label": "Bar width"
    },
    "length": {
      "value": 360,
      "min": 320,
      "max": 1500,
      "label": "Course height"
    },
    "half": {
      "expr": "length / 2"
    }
  },
  "tiles": [
    {
      "start": [
        "0",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "half"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "half"
            ],
            "from": [
              "2 * bandWidth",
              "half"
            ],
            "to": [
              "0",
              "half"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "half"
            ],
            "from": [
              "0",
              "half"
            ],
            "to": [
              "1 * bandWidth",
              "half + bandWidth"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * bandWidth",
        "half"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "half + bandWidth"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "half"
            ],
            "from": [
              "1 * bandWidth",
              "half + bandWidth"
            ],
            "to": [
              "2 * bandWidth",
              "half"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "1 * length + length"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "1 * length + half"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "2 * bandWidth",
              "1 * length + half"
            ],
            "to": [
              "0",
              "1 * length + half"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1 * length + length"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "1 * length + half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "0",
              "1 * length + half"
            ],
            "to": [
              "1 * bandWidth",
              "1 * length + half - bandWidth"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1 * length + half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * bandWidth",
        "1 * length + half"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * bandWidth",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1 * bandWidth",
              "1 * length + half - bandWidth"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "1 * bandWidth",
              "1 * length + half - bandWidth"
            ],
            "to": [
              "2 * bandWidth",
              "1 * length + half"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "length"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "half"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "half"
            ],
            "from": [
              "6 * bandWidth",
              "half"
            ],
            "to": [
              "4 * bandWidth",
              "half"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "length"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "half"
            ],
            "from": [
              "4 * bandWidth",
              "half"
            ],
            "to": [
              "5 * bandWidth",
              "half - bandWidth"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "6 * bandWidth",
        "half"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "half - bandWidth"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "half"
            ],
            "from": [
              "5 * bandWidth",
              "half - bandWidth"
            ],
            "to": [
              "6 * bandWidth",
              "half"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "1 * length + 0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "1 * length + 0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "1 * length + half"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "6 * bandWidth",
              "1 * length + half"
            ],
            "to": [
              "4 * bandWidth",
              "1 * length + half"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "1 * length + 0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "4 * bandWidth",
        "1 * length + half"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "4 * bandWidth",
              "1 * length + half"
            ],
            "to": [
              "5 * bandWidth",
              "1 * length + half + bandWidth"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * bandWidth",
              "1 * length + half"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "6 * bandWidth",
        "1 * length + half"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "1 * length + length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * bandWidth",
              "1 * length + half + bandWidth"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * bandWidth",
              "1 * length + half"
            ],
            "from": [
              "5 * bandWidth",
              "1 * length + half + bandWidth"
            ],
            "to": [
              "6 * bandWidth",
              "1 * length + half"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "2 * bandWidth",
        "0",
        "3 * bandWidth",
        "length"
      ]
    },
    {
      "rect": [
        "2 * bandWidth",
        "1 * length + 0",
        "3 * bandWidth",
        "1 * length + length"
      ]
    },
    {
      "rect": [
        "3 * bandWidth",
        "0",
        "4 * bandWidth",
        "length"
      ]
    },
    {
      "rect": [
        "3 * bandWidth",
        "1 * length + 0",
        "4 * bandWidth",
        "1 * length + length"
      ]
    },
    {
      "rect": [
        "6 * bandWidth",
        "0",
        "7 * bandWidth",
        "length"
      ]
    },
    {
      "rect": [
        "6 * bandWidth",
        "1 * length + 0",
        "7 * bandWidth",
        "1 * length + length"
      ]
    },
    {
      "rect": [
        "7 * bandWidth",
        "0",
        "8 * bandWidth",
        "length"
      ]
    },
    {
      "rect": [
        "7 * bandWidth",
        "1 * length + 0",
        "8 * bandWidth",
        "1 * length + length"
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * bandWidth",
      "0"
    ],
    "b": [
      "0",
      "2 * length"
    ]
  }
}
,"alternating-parallelogram":{
  "schema": 1,
  "id": "alternating-parallelogram",
  "name": "Alternating parallelogram",
  "category": "stone",
  "parameters": {
    "width": { "value": 150, "min": 20, "max": 800, "label": "Paver width" },
    "length": { "value": 600, "min": 60, "max": 2000, "label": "Paver side" },
    "skew": { "expr": "width" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["width", "skew"], ["width", "skew + length"], ["0", "length"]] },
    { "polygon": [["width", "skew"], ["2 * width", "0"], ["2 * width", "length"], ["width", "skew + length"]] }
  ],
  "lattice": { "a": ["2 * width", "0"], "b": ["0", "length"] }
}
,"alternating-split-panel":{
  "schema": 1,
  "id": "alternating-split-panel",
  "name": "Alternating split panel",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 20,
      "min": 5,
      "max": 120,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "10 * moduleSize",
          "0"
        ],
        [
          "16 * moduleSize",
          "0"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "0",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "10 * moduleSize",
          "0"
        ],
        [
          "10 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "0"
        ],
        [
          "32 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "16 * moduleSize",
          "0"
        ],
        [
          "32 * moduleSize",
          "0"
        ],
        [
          "26 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "5 * moduleSize",
        "10 * moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "16 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "21 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "21 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "21 * moduleSize",
        "6 * moduleSize",
        "26 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "10 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "0",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "21 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "32 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "21 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "26 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "16 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "0",
          "32 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "32 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "21 * moduleSize",
        "11 * moduleSize",
        "26 * moduleSize"
      ]
    },
    {
      "rect": [
        "22 * moduleSize",
        "22 * moduleSize",
        "27 * moduleSize",
        "27 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "27 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "27 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "32 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "0",
          "32 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "22 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "27 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "32 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "32 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-32 * moduleSize"
    ]
  }
},"angled-trapezoid-paver":{
  "schema": 1,
  "id": "angled-trapezoid-paver",
  "name": "Angled trapezoid paver",
  "category": "stone",
  "parameters": {
    "height": { "value": 200, "min": 40, "max": 900, "label": "Course height" },
    "narrow": { "expr": "height / 5" },
    "wide": { "expr": "3 * height / 5" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["wide", "0"], ["narrow", "height"], ["0", "height"]] },
    { "polygon": [["wide", "0"], ["height", "0"], ["height", "height"], ["narrow", "height"]] },
    { "polygon": [["height", "0"], ["2 * height - wide", "0"], ["2 * height - narrow", "height"], ["height", "height"]] },
    { "polygon": [["2 * height - wide", "0"], ["2 * height", "0"], ["2 * height", "height"], ["2 * height - narrow", "height"]] }
  ],
  "lattice": { "a": ["2 * height", "0"], "b": ["height", "height"] }
}
,"arabesque-floral":{
  "schema": 1,
  "id": "arabesque-floral",
  "name": "Arabesque floral",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 300,
      "min": 80,
      "max": 1200,
      "label": "Cell width"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.240466101695 * edge",
          "1.481991525424 * edge"
        ],
        [
          "0.22563559322 * edge",
          "1.451271186441 * edge"
        ],
        [
          "0.209745762712 * edge",
          "1.421610169492 * edge"
        ],
        [
          "0.191737288136 * edge",
          "1.393008474576 * edge"
        ],
        [
          "0.171610169492 * edge",
          "1.365466101695 * edge"
        ],
        [
          "0.151483050847 * edge",
          "1.338983050847 * edge"
        ],
        [
          "0.129237288136 * edge",
          "1.313559322034 * edge"
        ],
        [
          "0.10593220339 * edge",
          "1.289194915254 * edge"
        ],
        [
          "0.080508474576 * edge",
          "1.265889830508 * edge"
        ],
        [
          "0.055084745763 * edge",
          "1.244703389831 * edge"
        ],
        [
          "0.027542372881 * edge",
          "1.224576271186 * edge"
        ],
        [
          "0",
          "1.205508474576 * edge"
        ],
        [
          "0.027542372881 * edge",
          "1.186440677966 * edge"
        ],
        [
          "0.055084745763 * edge",
          "1.166313559322 * edge"
        ],
        [
          "0.080508474576 * edge",
          "1.145127118644 * edge"
        ],
        [
          "0.10593220339 * edge",
          "1.121822033898 * edge"
        ],
        [
          "0.129237288136 * edge",
          "1.097457627119 * edge"
        ],
        [
          "0.151483050847 * edge",
          "1.072033898305 * edge"
        ],
        [
          "0.171610169492 * edge",
          "1.045550847458 * edge"
        ],
        [
          "0.191737288136 * edge",
          "1.018008474576 * edge"
        ],
        [
          "0.209745762712 * edge",
          "0.989406779661 * edge"
        ],
        [
          "0.22563559322 * edge",
          "0.959745762712 * edge"
        ],
        [
          "0.240466101695 * edge",
          "0.929025423729 * edge"
        ],
        [
          "0.254237288136 * edge",
          "0.898305084746 * edge"
        ],
        [
          "0.28813559322 * edge",
          "0.890889830508 * edge"
        ],
        [
          "0.320974576271 * edge",
          "0.880296610169 * edge"
        ],
        [
          "0.352754237288 * edge",
          "0.864406779661 * edge"
        ],
        [
          "0.382415254237 * edge",
          "0.845338983051 * edge"
        ],
        [
          "0.409957627119 * edge",
          "0.823093220339 * edge"
        ],
        [
          "0.433262711864 * edge",
          "0.797669491525 * edge"
        ],
        [
          "0.454449152542 * edge",
          "0.76906779661 * edge"
        ],
        [
          "0.471398305085 * edge",
          "0.738347457627 * edge"
        ],
        [
          "0.485169491525 * edge",
          "0.70656779661 * edge"
        ],
        [
          "0.493644067797 * edge",
          "0.672669491525 * edge"
        ],
        [
          "0.498940677966 * edge",
          "0.637711864407 * edge"
        ],
        [
          "0.5 * edge",
          "0.602754237288 * edge"
        ],
        [
          "0.501059322034 * edge",
          "0.637711864407 * edge"
        ],
        [
          "0.506355932203 * edge",
          "0.672669491525 * edge"
        ],
        [
          "0.514830508475 * edge",
          "0.70656779661 * edge"
        ],
        [
          "0.528601694915 * edge",
          "0.738347457627 * edge"
        ],
        [
          "0.545550847458 * edge",
          "0.76906779661 * edge"
        ],
        [
          "0.566737288136 * edge",
          "0.797669491525 * edge"
        ],
        [
          "0.590042372881 * edge",
          "0.823093220339 * edge"
        ],
        [
          "0.617584745763 * edge",
          "0.845338983051 * edge"
        ],
        [
          "0.647245762712 * edge",
          "0.864406779661 * edge"
        ],
        [
          "0.679025423729 * edge",
          "0.880296610169 * edge"
        ],
        [
          "0.71186440678 * edge",
          "0.890889830508 * edge"
        ],
        [
          "0.745762711864 * edge",
          "0.898305084746 * edge"
        ],
        [
          "0.759533898305 * edge",
          "0.929025423729 * edge"
        ],
        [
          "0.77436440678 * edge",
          "0.959745762712 * edge"
        ],
        [
          "0.790254237288 * edge",
          "0.989406779661 * edge"
        ],
        [
          "0.808262711864 * edge",
          "1.018008474576 * edge"
        ],
        [
          "0.828389830508 * edge",
          "1.045550847458 * edge"
        ],
        [
          "0.848516949153 * edge",
          "1.072033898305 * edge"
        ],
        [
          "0.870762711864 * edge",
          "1.097457627119 * edge"
        ],
        [
          "0.89406779661 * edge",
          "1.121822033898 * edge"
        ],
        [
          "0.919491525424 * edge",
          "1.145127118644 * edge"
        ],
        [
          "0.944915254237 * edge",
          "1.166313559322 * edge"
        ],
        [
          "0.972457627119 * edge",
          "1.186440677966 * edge"
        ],
        [
          "edge",
          "1.205508474576 * edge"
        ],
        [
          "0.998940677966 * edge",
          "1.20656779661 * edge"
        ],
        [
          "0.972457627119 * edge",
          "1.224576271186 * edge"
        ],
        [
          "0.944915254237 * edge",
          "1.244703389831 * edge"
        ],
        [
          "0.919491525424 * edge",
          "1.265889830508 * edge"
        ],
        [
          "0.89406779661 * edge",
          "1.289194915254 * edge"
        ],
        [
          "0.870762711864 * edge",
          "1.313559322034 * edge"
        ],
        [
          "0.848516949153 * edge",
          "1.338983050847 * edge"
        ],
        [
          "0.828389830508 * edge",
          "1.365466101695 * edge"
        ],
        [
          "0.808262711864 * edge",
          "1.393008474576 * edge"
        ],
        [
          "0.790254237288 * edge",
          "1.421610169492 * edge"
        ],
        [
          "0.77436440678 * edge",
          "1.451271186441 * edge"
        ],
        [
          "0.759533898305 * edge",
          "1.481991525424 * edge"
        ],
        [
          "0.745762711864 * edge",
          "1.512711864407 * edge"
        ],
        [
          "0.71186440678 * edge",
          "1.520127118644 * edge"
        ],
        [
          "0.679025423729 * edge",
          "1.530720338983 * edge"
        ],
        [
          "0.647245762712 * edge",
          "1.546610169492 * edge"
        ],
        [
          "0.617584745763 * edge",
          "1.565677966102 * edge"
        ],
        [
          "0.590042372881 * edge",
          "1.587923728814 * edge"
        ],
        [
          "0.566737288136 * edge",
          "1.613347457627 * edge"
        ],
        [
          "0.545550847458 * edge",
          "1.641949152542 * edge"
        ],
        [
          "0.528601694915 * edge",
          "1.672669491525 * edge"
        ],
        [
          "0.514830508475 * edge",
          "1.704449152542 * edge"
        ],
        [
          "0.506355932203 * edge",
          "1.738347457627 * edge"
        ],
        [
          "0.501059322034 * edge",
          "1.773305084746 * edge"
        ],
        [
          "0.5 * edge",
          "1.808262711864 * edge"
        ],
        [
          "0.498940677966 * edge",
          "1.773305084746 * edge"
        ],
        [
          "0.493644067797 * edge",
          "1.738347457627 * edge"
        ],
        [
          "0.485169491525 * edge",
          "1.704449152542 * edge"
        ],
        [
          "0.471398305085 * edge",
          "1.672669491525 * edge"
        ],
        [
          "0.454449152542 * edge",
          "1.641949152542 * edge"
        ],
        [
          "0.433262711864 * edge",
          "1.613347457627 * edge"
        ],
        [
          "0.409957627119 * edge",
          "1.587923728814 * edge"
        ],
        [
          "0.382415254237 * edge",
          "1.565677966102 * edge"
        ],
        [
          "0.352754237288 * edge",
          "1.546610169492 * edge"
        ],
        [
          "0.320974576271 * edge",
          "1.530720338983 * edge"
        ],
        [
          "0.28813559322 * edge",
          "1.520127118644 * edge"
        ],
        [
          "0.254237288136 * edge",
          "1.512711864407 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.790254237288 * edge",
          "0.989406779661 * edge"
        ],
        [
          "0.77436440678 * edge",
          "0.959745762712 * edge"
        ],
        [
          "0.759533898305 * edge",
          "0.929025423729 * edge"
        ],
        [
          "0.745762711864 * edge",
          "0.898305084746 * edge"
        ],
        [
          "0.71186440678 * edge",
          "0.890889830508 * edge"
        ],
        [
          "0.679025423729 * edge",
          "0.880296610169 * edge"
        ],
        [
          "0.647245762712 * edge",
          "0.864406779661 * edge"
        ],
        [
          "0.617584745763 * edge",
          "0.845338983051 * edge"
        ],
        [
          "0.590042372881 * edge",
          "0.823093220339 * edge"
        ],
        [
          "0.566737288136 * edge",
          "0.797669491525 * edge"
        ],
        [
          "0.545550847458 * edge",
          "0.76906779661 * edge"
        ],
        [
          "0.528601694915 * edge",
          "0.738347457627 * edge"
        ],
        [
          "0.514830508475 * edge",
          "0.70656779661 * edge"
        ],
        [
          "0.506355932203 * edge",
          "0.672669491525 * edge"
        ],
        [
          "0.501059322034 * edge",
          "0.637711864407 * edge"
        ],
        [
          "0.5 * edge",
          "0.602754237288 * edge"
        ],
        [
          "0.501059322034 * edge",
          "0.567796610169 * edge"
        ],
        [
          "0.506355932203 * edge",
          "0.532838983051 * edge"
        ],
        [
          "0.514830508475 * edge",
          "0.498940677966 * edge"
        ],
        [
          "0.528601694915 * edge",
          "0.467161016949 * edge"
        ],
        [
          "0.545550847458 * edge",
          "0.436440677966 * edge"
        ],
        [
          "0.566737288136 * edge",
          "0.407838983051 * edge"
        ],
        [
          "0.590042372881 * edge",
          "0.382415254237 * edge"
        ],
        [
          "0.617584745763 * edge",
          "0.360169491525 * edge"
        ],
        [
          "0.647245762712 * edge",
          "0.341101694915 * edge"
        ],
        [
          "0.679025423729 * edge",
          "0.325211864407 * edge"
        ],
        [
          "0.71186440678 * edge",
          "0.314618644068 * edge"
        ],
        [
          "0.745762711864 * edge",
          "0.307203389831 * edge"
        ],
        [
          "0.759533898305 * edge",
          "0.276483050847 * edge"
        ],
        [
          "0.77436440678 * edge",
          "0.245762711864 * edge"
        ],
        [
          "0.790254237288 * edge",
          "0.216101694915 * edge"
        ],
        [
          "0.808262711864 * edge",
          "0.1875 * edge"
        ],
        [
          "0.828389830508 * edge",
          "0.159957627119 * edge"
        ],
        [
          "0.848516949153 * edge",
          "0.133474576271 * edge"
        ],
        [
          "0.870762711864 * edge",
          "0.108050847458 * edge"
        ],
        [
          "0.89406779661 * edge",
          "0.083686440678 * edge"
        ],
        [
          "0.919491525424 * edge",
          "0.060381355932 * edge"
        ],
        [
          "0.944915254237 * edge",
          "0.039194915254 * edge"
        ],
        [
          "0.972457627119 * edge",
          "0.01906779661 * edge"
        ],
        [
          "0.998940677966 * edge",
          "0.001059322034 * edge"
        ],
        [
          "edge",
          "0"
        ],
        [
          "1.027542372881 * edge",
          "0.01906779661 * edge"
        ],
        [
          "1.055084745763 * edge",
          "0.039194915254 * edge"
        ],
        [
          "1.080508474576 * edge",
          "0.060381355932 * edge"
        ],
        [
          "1.10593220339 * edge",
          "0.083686440678 * edge"
        ],
        [
          "1.129237288136 * edge",
          "0.108050847458 * edge"
        ],
        [
          "1.151483050847 * edge",
          "0.133474576271 * edge"
        ],
        [
          "1.171610169492 * edge",
          "0.159957627119 * edge"
        ],
        [
          "1.191737288136 * edge",
          "0.1875 * edge"
        ],
        [
          "1.209745762712 * edge",
          "0.216101694915 * edge"
        ],
        [
          "1.22563559322 * edge",
          "0.245762711864 * edge"
        ],
        [
          "1.240466101695 * edge",
          "0.276483050847 * edge"
        ],
        [
          "1.254237288136 * edge",
          "0.307203389831 * edge"
        ],
        [
          "1.28813559322 * edge",
          "0.314618644068 * edge"
        ],
        [
          "1.320974576271 * edge",
          "0.325211864407 * edge"
        ],
        [
          "1.352754237288 * edge",
          "0.341101694915 * edge"
        ],
        [
          "1.382415254237 * edge",
          "0.360169491525 * edge"
        ],
        [
          "1.409957627119 * edge",
          "0.382415254237 * edge"
        ],
        [
          "1.433262711864 * edge",
          "0.407838983051 * edge"
        ],
        [
          "1.454449152542 * edge",
          "0.436440677966 * edge"
        ],
        [
          "1.471398305085 * edge",
          "0.467161016949 * edge"
        ],
        [
          "1.485169491525 * edge",
          "0.498940677966 * edge"
        ],
        [
          "1.493644067797 * edge",
          "0.532838983051 * edge"
        ],
        [
          "1.498940677966 * edge",
          "0.567796610169 * edge"
        ],
        [
          "1.5 * edge",
          "0.602754237288 * edge"
        ],
        [
          "1.498940677966 * edge",
          "0.637711864407 * edge"
        ],
        [
          "1.493644067797 * edge",
          "0.672669491525 * edge"
        ],
        [
          "1.485169491525 * edge",
          "0.70656779661 * edge"
        ],
        [
          "1.471398305085 * edge",
          "0.738347457627 * edge"
        ],
        [
          "1.454449152542 * edge",
          "0.76906779661 * edge"
        ],
        [
          "1.433262711864 * edge",
          "0.797669491525 * edge"
        ],
        [
          "1.409957627119 * edge",
          "0.823093220339 * edge"
        ],
        [
          "1.382415254237 * edge",
          "0.845338983051 * edge"
        ],
        [
          "1.352754237288 * edge",
          "0.864406779661 * edge"
        ],
        [
          "1.320974576271 * edge",
          "0.880296610169 * edge"
        ],
        [
          "1.28813559322 * edge",
          "0.890889830508 * edge"
        ],
        [
          "1.254237288136 * edge",
          "0.898305084746 * edge"
        ],
        [
          "1.240466101695 * edge",
          "0.929025423729 * edge"
        ],
        [
          "1.22563559322 * edge",
          "0.959745762712 * edge"
        ],
        [
          "1.209745762712 * edge",
          "0.989406779661 * edge"
        ],
        [
          "1.191737288136 * edge",
          "1.018008474576 * edge"
        ],
        [
          "1.171610169492 * edge",
          "1.045550847458 * edge"
        ],
        [
          "1.151483050847 * edge",
          "1.072033898305 * edge"
        ],
        [
          "1.129237288136 * edge",
          "1.097457627119 * edge"
        ],
        [
          "1.10593220339 * edge",
          "1.121822033898 * edge"
        ],
        [
          "1.080508474576 * edge",
          "1.145127118644 * edge"
        ],
        [
          "1.055084745763 * edge",
          "1.166313559322 * edge"
        ],
        [
          "1.027542372881 * edge",
          "1.186440677966 * edge"
        ],
        [
          "edge",
          "1.205508474576 * edge"
        ],
        [
          "0.972457627119 * edge",
          "1.186440677966 * edge"
        ],
        [
          "0.944915254237 * edge",
          "1.166313559322 * edge"
        ],
        [
          "0.919491525424 * edge",
          "1.145127118644 * edge"
        ],
        [
          "0.89406779661 * edge",
          "1.121822033898 * edge"
        ],
        [
          "0.870762711864 * edge",
          "1.097457627119 * edge"
        ],
        [
          "0.848516949153 * edge",
          "1.072033898305 * edge"
        ],
        [
          "0.828389830508 * edge",
          "1.045550847458 * edge"
        ],
        [
          "0.808262711864 * edge",
          "1.018008474576 * edge"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "1.205508474576 * edge"
    ]
  }
},"arabesque-lantern":{
  "schema": 1,
  "id": "arabesque-lantern",
  "name": "Arabesque lantern",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 300,
      "min": 60,
      "max": 1200,
      "label": "Cell width"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.192105263158 * width",
          "1.794736842105 * width"
        ],
        [
          "0.165789473684 * width",
          "1.789473684211 * width"
        ],
        [
          "0.139473684211 * width",
          "1.778947368421 * width"
        ],
        [
          "0.113157894737 * width",
          "1.768421052632 * width"
        ],
        [
          "0.089473684211 * width",
          "1.752631578947 * width"
        ],
        [
          "0.068421052632 * width",
          "1.734210526316 * width"
        ],
        [
          "0.050000000000 * width",
          "1.713157894737 * width"
        ],
        [
          "0.034210526316 * width",
          "1.689473684211 * width"
        ],
        [
          "0.021052631579 * width",
          "1.665789473684 * width"
        ],
        [
          "0.010526315789 * width",
          "1.639473684211 * width"
        ],
        [
          "0.002631578947 * width",
          "1.613157894737 * width"
        ],
        [
          "0",
          "1.584210526316 * width"
        ],
        [
          "0",
          "1.557894736842 * width"
        ],
        [
          "0",
          "1.528947368421 * width"
        ],
        [
          "0.005263157895 * width",
          "1.502631578947 * width"
        ],
        [
          "0.010526315789 * width",
          "1.476315789474 * width"
        ],
        [
          "0.021052631579 * width",
          "1.452631578947 * width"
        ],
        [
          "0.034210526316 * width",
          "1.428947368421 * width"
        ],
        [
          "0.052631578947 * width",
          "1.407894736842 * width"
        ],
        [
          "0.071052631579 * width",
          "1.386842105263 * width"
        ],
        [
          "0.092105263158 * width",
          "1.371052631579 * width"
        ],
        [
          "0.113157894737 * width",
          "1.355263157895 * width"
        ],
        [
          "0.139473684211 * width",
          "1.344736842105 * width"
        ],
        [
          "0.165789473684 * width",
          "1.336842105263 * width"
        ],
        [
          "0.192105263158 * width",
          "1.334210526316 * width"
        ],
        [
          "0.192105263158 * width",
          "1.273684210526 * width"
        ],
        [
          "0.218421052632 * width",
          "1.268421052632 * width"
        ],
        [
          "0.244736842105 * width",
          "1.257894736842 * width"
        ],
        [
          "0.271052631579 * width",
          "1.247368421053 * width"
        ],
        [
          "0.292105263158 * width",
          "1.231578947368 * width"
        ],
        [
          "0.313157894737 * width",
          "1.213157894737 * width"
        ],
        [
          "0.331578947368 * width",
          "1.192105263158 * width"
        ],
        [
          "0.350000000000 * width",
          "1.168421052632 * width"
        ],
        [
          "0.363157894737 * width",
          "1.144736842105 * width"
        ],
        [
          "0.373684210526 * width",
          "1.118421052632 * width"
        ],
        [
          "0.378947368421 * width",
          "1.092105263158 * width"
        ],
        [
          "0.384210526316 * width",
          "1.063157894737 * width"
        ],
        [
          "0.384210526316 * width",
          "1.036842105263 * width"
        ],
        [
          "0.500000000000 * width",
          "1.036842105263 * width"
        ],
        [
          "0.500000000000 * width",
          "1.063157894737 * width"
        ],
        [
          "0.502631578947 * width",
          "1.092105263158 * width"
        ],
        [
          "0.510526315789 * width",
          "1.118421052632 * width"
        ],
        [
          "0.521052631579 * width",
          "1.144736842105 * width"
        ],
        [
          "0.534210526316 * width",
          "1.168421052632 * width"
        ],
        [
          "0.550000000000 * width",
          "1.192105263158 * width"
        ],
        [
          "0.568421052632 * width",
          "1.213157894737 * width"
        ],
        [
          "0.589473684211 * width",
          "1.231578947368 * width"
        ],
        [
          "0.613157894737 * width",
          "1.247368421053 * width"
        ],
        [
          "0.639473684211 * width",
          "1.257894736842 * width"
        ],
        [
          "0.665789473684 * width",
          "1.268421052632 * width"
        ],
        [
          "0.692105263158 * width",
          "1.273684210526 * width"
        ],
        [
          "0.692105263158 * width",
          "1.334210526316 * width"
        ],
        [
          "0.718421052632 * width",
          "1.336842105263 * width"
        ],
        [
          "0.744736842105 * width",
          "1.344736842105 * width"
        ],
        [
          "0.768421052632 * width",
          "1.355263157895 * width"
        ],
        [
          "0.792105263158 * width",
          "1.371052631579 * width"
        ],
        [
          "0.813157894737 * width",
          "1.386842105263 * width"
        ],
        [
          "0.831578947368 * width",
          "1.407894736842 * width"
        ],
        [
          "0.847368421053 * width",
          "1.428947368421 * width"
        ],
        [
          "0.860526315789 * width",
          "1.452631578947 * width"
        ],
        [
          "0.871052631579 * width",
          "1.476315789474 * width"
        ],
        [
          "0.878947368421 * width",
          "1.502631578947 * width"
        ],
        [
          "0.881578947368 * width",
          "1.528947368421 * width"
        ],
        [
          "0.884210526316 * width",
          "1.557894736842 * width"
        ],
        [
          "0.884210526316 * width",
          "1.584210526316 * width"
        ],
        [
          "0.878947368421 * width",
          "1.613157894737 * width"
        ],
        [
          "0.873684210526 * width",
          "1.639473684211 * width"
        ],
        [
          "0.863157894737 * width",
          "1.665789473684 * width"
        ],
        [
          "0.850000000000 * width",
          "1.689473684211 * width"
        ],
        [
          "0.831578947368 * width",
          "1.713157894737 * width"
        ],
        [
          "0.813157894737 * width",
          "1.734210526316 * width"
        ],
        [
          "0.792105263158 * width",
          "1.752631578947 * width"
        ],
        [
          "0.771052631579 * width",
          "1.768421052632 * width"
        ],
        [
          "0.744736842105 * width",
          "1.778947368421 * width"
        ],
        [
          "0.718421052632 * width",
          "1.789473684211 * width"
        ],
        [
          "0.692105263158 * width",
          "1.794736842105 * width"
        ],
        [
          "0.692105263158 * width",
          "1.855263157895 * width"
        ],
        [
          "0.665789473684 * width",
          "1.857894736842 * width"
        ],
        [
          "0.639473684211 * width",
          "1.865789473684 * width"
        ],
        [
          "0.613157894737 * width",
          "1.876315789474 * width"
        ],
        [
          "0.592105263158 * width",
          "1.892105263158 * width"
        ],
        [
          "0.571052631579 * width",
          "1.907894736842 * width"
        ],
        [
          "0.552631578947 * width",
          "1.928947368421 * width"
        ],
        [
          "0.534210526316 * width",
          "1.950000000000 * width"
        ],
        [
          "0.521052631579 * width",
          "1.973684210526 * width"
        ],
        [
          "0.510526315789 * width",
          "1.997368421053 * width"
        ],
        [
          "0.505263157895 * width",
          "2.023684210526 * width"
        ],
        [
          "0.500000000000 * width",
          "2.050000000000 * width"
        ],
        [
          "0.500000000000 * width",
          "2.078947368421 * width"
        ],
        [
          "0.384210526316 * width",
          "2.078947368421 * width"
        ],
        [
          "0.381578947368 * width",
          "2.050000000000 * width"
        ],
        [
          "0.378947368421 * width",
          "2.023684210526 * width"
        ],
        [
          "0.371052631579 * width",
          "1.997368421053 * width"
        ],
        [
          "0.360526315789 * width",
          "1.973684210526 * width"
        ],
        [
          "0.347368421053 * width",
          "1.950000000000 * width"
        ],
        [
          "0.331578947368 * width",
          "1.928947368421 * width"
        ],
        [
          "0.313157894737 * width",
          "1.907894736842 * width"
        ],
        [
          "0.292105263158 * width",
          "1.892105263158 * width"
        ],
        [
          "0.268421052632 * width",
          "1.876315789474 * width"
        ],
        [
          "0.244736842105 * width",
          "1.865789473684 * width"
        ],
        [
          "0.218421052632 * width",
          "1.857894736842 * width"
        ],
        [
          "0.192105263158 * width",
          "1.855263157895 * width"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "width",
      "0"
    ],
    "b": [
      "0.500000000000 * width",
      "0.521052631579 * width"
    ]
  }
},"arabesque":{
  "schema": 1,
  "id": "arabesque",
  "name": "Arabesque",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 146.05, "min": 30, "max": 600, "label": "Width (tip to tip)" },
    "aspect": { "expr": "196.85 / 146.05" },
    "bulge": { "expr": "0.12" },
    "halfWidth": { "expr": "width / 2" },
    "halfHeight": { "expr": "width * aspect / 2" },
    "halfDiagonal": { "expr": "sqrt(halfWidth * halfWidth + halfHeight * halfHeight)" },
    "centerDistance": { "expr": "halfDiagonal / 2 * (1 - 4 * bulge * bulge) / (8 * bulge)" },
    "centerOffsetX": { "expr": "-halfHeight / halfDiagonal * centerDistance" },
    "centerOffsetY": { "expr": "halfWidth / halfDiagonal * centerDistance" }
  },
  "tiles": [
    {
      "path": [
        { "arc": { "center": ["halfWidth / 4 + centerOffsetX", "-3 * halfHeight / 4 + centerOffsetY"], "from": ["0", "-halfHeight"], "to": ["halfWidth / 2", "-halfHeight / 2"], "clockwise": false } },
        { "arc": { "center": ["3 * halfWidth / 4 - centerOffsetX", "-halfHeight / 4 - centerOffsetY"], "from": ["halfWidth / 2", "-halfHeight / 2"], "to": ["halfWidth", "0"], "clockwise": true } },
        { "arc": { "center": ["3 * halfWidth / 4 + centerOffsetX", "halfHeight / 4 - centerOffsetY"], "from": ["halfWidth", "0"], "to": ["halfWidth / 2", "halfHeight / 2"], "clockwise": false } },
        { "arc": { "center": ["halfWidth / 4 - centerOffsetX", "3 * halfHeight / 4 + centerOffsetY"], "from": ["halfWidth / 2", "halfHeight / 2"], "to": ["0", "halfHeight"], "clockwise": true } },
        { "arc": { "center": ["-halfWidth / 4 - centerOffsetX", "3 * halfHeight / 4 - centerOffsetY"], "from": ["0", "halfHeight"], "to": ["-halfWidth / 2", "halfHeight / 2"], "clockwise": false } },
        { "arc": { "center": ["-3 * halfWidth / 4 + centerOffsetX", "halfHeight / 4 + centerOffsetY"], "from": ["-halfWidth / 2", "halfHeight / 2"], "to": ["-halfWidth", "0"], "clockwise": true } },
        { "arc": { "center": ["-3 * halfWidth / 4 - centerOffsetX", "-halfHeight / 4 + centerOffsetY"], "from": ["-halfWidth", "0"], "to": ["-halfWidth / 2", "-halfHeight / 2"], "clockwise": false } },
        { "arc": { "center": ["-halfWidth / 4 + centerOffsetX", "-3 * halfHeight / 4 - centerOffsetY"], "from": ["-halfWidth / 2", "-halfHeight / 2"], "to": ["0", "-halfHeight"], "clockwise": true } }
      ]
    }
  ],
  "lattice": { "a": ["-halfWidth", "halfHeight"], "b": ["halfWidth", "halfHeight"] }
}
,"arch-and-stripe-panel":{
  "schema": 1,
  "id": "arch-and-stripe-panel",
  "name": "Arch and stripe panel",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "overallSize"
        ],
        [
          "0.375 * overallSize",
          "overallSize"
        ],
        [
          "0.375 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.125 * overallSize",
          "2 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.100694444444 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.100694444444 * overallSize",
          "0.722222222222 * overallSize"
        ],
        [
          "0.104166666667 * overallSize",
          "0.763888888889 * overallSize"
        ],
        [
          "0.121527777778 * overallSize",
          "0.798611111111 * overallSize"
        ],
        [
          "0.142361111111 * overallSize",
          "0.829861111111 * overallSize"
        ],
        [
          "0.173611111111 * overallSize",
          "0.854166666667 * overallSize"
        ],
        [
          "0.211805555556 * overallSize",
          "0.868055555556 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.288194444444 * overallSize",
          "0.868055555556 * overallSize"
        ],
        [
          "0.326388888889 * overallSize",
          "0.854166666667 * overallSize"
        ],
        [
          "0.357638888889 * overallSize",
          "0.829861111111 * overallSize"
        ],
        [
          "0.378472222222 * overallSize",
          "0.798611111111 * overallSize"
        ],
        [
          "0.395833333333 * overallSize",
          "0.763888888889 * overallSize"
        ],
        [
          "0.399305555556 * overallSize",
          "0.722222222222 * overallSize"
        ],
        [
          "0.399305555556 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.100694444444 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.100694444444 * overallSize",
          "0.159722222222 * overallSize"
        ],
        [
          "0.399305555556 * overallSize",
          "0.159722222222 * overallSize"
        ],
        [
          "0.399305555556 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.3125 * overallSize",
          "2 * overallSize"
        ],
        [
          "0.3125 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.375 * overallSize",
          "2 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "1.5 * overallSize"
        ],
        [
          "0",
          "overallSize"
        ],
        [
          "0.125 * overallSize",
          "overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.399305555556 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.399305555556 * overallSize",
          "0.722222222222 * overallSize"
        ],
        [
          "0.395833333333 * overallSize",
          "0.763888888889 * overallSize"
        ],
        [
          "0.378472222222 * overallSize",
          "0.798611111111 * overallSize"
        ],
        [
          "0.357638888889 * overallSize",
          "0.829861111111 * overallSize"
        ],
        [
          "0.326388888889 * overallSize",
          "0.854166666667 * overallSize"
        ],
        [
          "0.288194444444 * overallSize",
          "0.868055555556 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.211805555556 * overallSize",
          "0.868055555556 * overallSize"
        ],
        [
          "0.173611111111 * overallSize",
          "0.854166666667 * overallSize"
        ],
        [
          "0.142361111111 * overallSize",
          "0.829861111111 * overallSize"
        ],
        [
          "0.121527777778 * overallSize",
          "0.798611111111 * overallSize"
        ],
        [
          "0.104166666667 * overallSize",
          "0.763888888889 * overallSize"
        ],
        [
          "0.100694444444 * overallSize",
          "0.722222222222 * overallSize"
        ],
        [
          "0.100694444444 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.875 * overallSize",
          "overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.625 * overallSize",
          "0"
        ],
        [
          "0.625 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5625 * overallSize",
          "overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.9375 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.875 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0"
        ],
        [
          "0.9375 * overallSize",
          "0"
        ],
        [
          "0.9375 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.625 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0"
        ],
        [
          "0.6875 * overallSize",
          "0"
        ],
        [
          "0.6875 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.600694444444 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.600694444444 * overallSize",
          "1.159722222222 * overallSize"
        ],
        [
          "0.899305555556 * overallSize",
          "1.159722222222 * overallSize"
        ],
        [
          "0.899305555556 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.899305555556 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.899305555556 * overallSize",
          "1.722222222222 * overallSize"
        ],
        [
          "0.895833333333 * overallSize",
          "1.763888888889 * overallSize"
        ],
        [
          "0.878472222222 * overallSize",
          "1.798611111111 * overallSize"
        ],
        [
          "0.857638888889 * overallSize",
          "1.829861111111 * overallSize"
        ],
        [
          "0.826388888889 * overallSize",
          "1.854166666667 * overallSize"
        ],
        [
          "0.788194444444 * overallSize",
          "1.868055555556 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.875 * overallSize"
        ],
        [
          "0.711805555556 * overallSize",
          "1.868055555556 * overallSize"
        ],
        [
          "0.673611111111 * overallSize",
          "1.854166666667 * overallSize"
        ],
        [
          "0.642361111111 * overallSize",
          "1.829861111111 * overallSize"
        ],
        [
          "0.621527777778 * overallSize",
          "1.798611111111 * overallSize"
        ],
        [
          "0.604166666667 * overallSize",
          "1.763888888889 * overallSize"
        ],
        [
          "0.600694444444 * overallSize",
          "1.722222222222 * overallSize"
        ],
        [
          "0.600694444444 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.899305555556 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.899305555556 * overallSize",
          "1.159722222222 * overallSize"
        ],
        [
          "0.600694444444 * overallSize",
          "1.159722222222 * overallSize"
        ],
        [
          "0.600694444444 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "2 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.600694444444 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.600694444444 * overallSize",
          "1.722222222222 * overallSize"
        ],
        [
          "0.604166666667 * overallSize",
          "1.763888888889 * overallSize"
        ],
        [
          "0.621527777778 * overallSize",
          "1.798611111111 * overallSize"
        ],
        [
          "0.642361111111 * overallSize",
          "1.829861111111 * overallSize"
        ],
        [
          "0.673611111111 * overallSize",
          "1.854166666667 * overallSize"
        ],
        [
          "0.711805555556 * overallSize",
          "1.868055555556 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.875 * overallSize"
        ],
        [
          "0.788194444444 * overallSize",
          "1.868055555556 * overallSize"
        ],
        [
          "0.826388888889 * overallSize",
          "1.854166666667 * overallSize"
        ],
        [
          "0.857638888889 * overallSize",
          "1.829861111111 * overallSize"
        ],
        [
          "0.878472222222 * overallSize",
          "1.798611111111 * overallSize"
        ],
        [
          "0.895833333333 * overallSize",
          "1.763888888889 * overallSize"
        ],
        [
          "0.899305555556 * overallSize",
          "1.722222222222 * overallSize"
        ],
        [
          "0.899305555556 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "overallSize",
          "1.5 * overallSize"
        ],
        [
          "overallSize",
          "2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.8125 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.8125 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6875 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.6875 * overallSize",
          "0"
        ],
        [
          "0.75 * overallSize",
          "0"
        ],
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.375 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "overallSize"
        ],
        [
          "0.4375 * overallSize",
          "overallSize"
        ],
        [
          "0.4375 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.4375 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0"
        ],
        [
          "0.875 * overallSize",
          "0"
        ],
        [
          "0.875 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * overallSize"
        ],
        [
          "0",
          "1.5 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.125 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "overallSize"
        ],
        [
          "0.1875 * overallSize",
          "overallSize"
        ],
        [
          "0.1875 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.0625 * overallSize",
          "2 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.625 * overallSize",
          "overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.8125 * overallSize",
          "overallSize"
        ],
        [
          "0.8125 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.1875 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.1875 * overallSize",
          "overallSize"
        ],
        [
          "0.25 * overallSize",
          "overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "2 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.3125 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.3125 * overallSize",
          "2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.399305555556 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.399305555556 * overallSize",
          "0.159722222222 * overallSize"
        ],
        [
          "0.100694444444 * overallSize",
          "0.159722222222 * overallSize"
        ],
        [
          "0.100694444444 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "2 * overallSize"
    ]
  }
}
,"arch-tile":{
  "schema": 1,
  "id": "arch-tile",
  "name": "Arch tile",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 100,
      "min": 20,
      "max": 600,
      "label": "Column width"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "width",
        "4 * width"
      ]
    },
    {
      "rect": [
        "width",
        "0",
        "2 * width",
        "4 * width"
      ]
    },
    {
      "start": [
        "2 * width",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * width",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * width",
              "2 * width"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * width",
              "2 * width"
            ],
            "from": [
              "4 * width",
              "2 * width"
            ],
            "to": [
              "2 * width",
              "2 * width"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "2 * width",
              "0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * width",
        "2 * width"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "3 * width",
              "2 * width"
            ],
            "from": [
              "2 * width",
              "2 * width"
            ],
            "to": [
              "3 * width",
              "3 * width"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "3 * width",
              "4 * width"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * width",
              "4 * width"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * width",
              "2 * width"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "4 * width",
        "2 * width"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * width",
              "4 * width"
            ]
          }
        },
        {
          "line": {
            "to": [
              "3 * width",
              "4 * width"
            ]
          }
        },
        {
          "line": {
            "to": [
              "3 * width",
              "3 * width"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * width",
              "2 * width"
            ],
            "from": [
              "3 * width",
              "3 * width"
            ],
            "to": [
              "4 * width",
              "2 * width"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "4 * width",
              "2 * width"
            ]
          }
        }
      ]
    },
    {
      "rect": [
        "2 * width",
        "4 * width",
        "3 * width",
        "8 * width"
      ]
    },
    {
      "rect": [
        "3 * width",
        "4 * width",
        "4 * width",
        "8 * width"
      ]
    },
    {
      "start": [
        "0",
        "4 * width"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * width",
              "4 * width"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * width",
              "6 * width"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width",
              "6 * width"
            ],
            "from": [
              "2 * width",
              "6 * width"
            ],
            "to": [
              "0",
              "6 * width"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "4 * width"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "6 * width"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "width",
              "6 * width"
            ],
            "from": [
              "0",
              "6 * width"
            ],
            "to": [
              "width",
              "7 * width"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "width",
              "8 * width"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "8 * width"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "6 * width"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * width",
        "6 * width"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * width",
              "8 * width"
            ]
          }
        },
        {
          "line": {
            "to": [
              "width",
              "8 * width"
            ]
          }
        },
        {
          "line": {
            "to": [
              "width",
              "7 * width"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width",
              "6 * width"
            ],
            "from": [
              "width",
              "7 * width"
            ],
            "to": [
              "2 * width",
              "6 * width"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "2 * width",
              "6 * width"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * width",
      "0"
    ],
    "b": [
      "0",
      "8 * width"
    ]
  }
},"arrow-block":{
  "schema": 1,
  "id": "arrow-block",
  "name": "Arrow block",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 100, "min": 30, "max": 300, "label": "Width" },
    "length": { "value": 200, "min": 50, "max": 600, "label": "Length" },
    "point": { "expr": "0.5" },
    "tipHeight": { "expr": "point * width" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["width / 2", "tipHeight"],
        ["width", "0"],
        ["width", "length"],
        ["width / 2", "length + tipHeight"],
        ["0", "length"]
      ]
    }
  ],
  "lattice": {
    "a": ["width", "0"],
    "b": ["0", "length"]
  }
}
,"art-deco-vee-band":{
  "schema": 1,
  "id": "art-deco-vee-band",
  "name": "Art deco vee band",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 150, "min": 20, "max": 800, "label": "Vee width" },
    "length": { "value": 500, "min": 40, "max": 2000, "label": "Tile height" },
    "bandWidth": { "value": 50, "min": 5, "max": 400, "label": "Narrow band" },
    "wideBand": { "expr": "8 * bandWidth / 5" },
    "span": { "expr": "width + 2 * bandWidth + wideBand" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["width / 2", "0"], ["0", "length"]] },
    { "polygon": [["width / 2", "0"], ["width / 2", "length"], ["0", "length"]] },
    { "polygon": [["width / 2", "0"], ["width", "length"], ["width / 2", "length"]] },
    { "polygon": [["width / 2", "0"], ["width", "0"], ["width", "length"]] },
    { "rect": ["width", "0", "width + bandWidth", "length"] },
    { "rect": ["width + bandWidth", "0", "width + bandWidth + wideBand", "length"] },
    { "rect": ["width + bandWidth + wideBand", "0", "span", "length"] }
  ],
  "lattice": { "a": ["span", "0"], "b": ["0", "length"] }
}
,"ashlar":{
  "schema": 1,
  "id": "ashlar",
  "name": "Ashlar",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 200, "min": 20, "max": 1000, "label": "Smallest tile side" }
  },
  "tiles": [
    { "rect": ["moduleSize", "0", "2 * moduleSize", "moduleSize"] },
    { "rect": ["2 * moduleSize", "0", "5 * moduleSize", "2 * moduleSize"] },
    { "rect": ["0", "moduleSize", "2 * moduleSize", "3 * moduleSize"] },
    { "rect": ["2 * moduleSize", "2 * moduleSize", "4 * moduleSize", "3 * moduleSize"] },
    { "rect": ["5 * moduleSize", "moduleSize", "6 * moduleSize", "2 * moduleSize"] },
    { "rect": ["4 * moduleSize", "2 * moduleSize", "6 * moduleSize", "4 * moduleSize"] },
    { "rect": ["6 * moduleSize", "3 * moduleSize", "7 * moduleSize", "5 * moduleSize"] },
    { "rect": ["moduleSize", "3 * moduleSize", "4 * moduleSize", "6 * moduleSize"] },
    { "rect": ["4 * moduleSize", "4 * moduleSize", "6 * moduleSize", "5 * moduleSize"] },
    { "rect": ["4 * moduleSize", "5 * moduleSize", "5 * moduleSize", "6 * moduleSize"] },
    { "rect": ["5 * moduleSize", "5 * moduleSize", "7 * moduleSize", "7 * moduleSize"] }
  ],
  "lattice": { "a": ["6 * moduleSize", "0"], "b": ["0", "6 * moduleSize"] }
}
,"azulejo-arrow-tile":{
  "schema": 1,
  "id": "azulejo-arrow-tile",
  "name": "Azulejo arrow tile",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 105,
      "min": 40,
      "max": 190,
      "label": "Tile width"
    },
    "length": {
      "value": 110,
      "min": 100,
      "max": 400,
      "label": "Tile height"
    },
    "half": {
      "expr": "width / 2"
    },
    "point": {
      "expr": "length - width / 2"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "half",
          "0"
        ],
        [
          "width",
          "0"
        ],
        [
          "width",
          "length"
        ],
        [
          "half",
          "point"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "half",
          "0"
        ],
        [
          "half",
          "point"
        ],
        [
          "0",
          "length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "half",
          "point"
        ],
        [
          "width",
          "length"
        ],
        [
          "half",
          "length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "half",
          "point"
        ],
        [
          "half",
          "length"
        ],
        [
          "0",
          "length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "half",
          "2 * length"
        ],
        [
          "width",
          "2 * length"
        ],
        [
          "width",
          "length"
        ],
        [
          "half",
          "2 * length - point"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * length"
        ],
        [
          "half",
          "2 * length"
        ],
        [
          "half",
          "2 * length - point"
        ],
        [
          "0",
          "length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "half",
          "2 * length - point"
        ],
        [
          "half",
          "length"
        ],
        [
          "width",
          "length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "half",
          "2 * length - point"
        ],
        [
          "0",
          "length"
        ],
        [
          "half",
          "length"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "width",
      "0"
    ],
    "b": [
      "0",
      "2 * length"
    ]
  }
}
,"banded-diagonal-check":{
  "schema": 1,
  "id": "banded-diagonal-check",
  "name": "Banded diagonal check",
  "category": "stone",
  "parameters": {
    "edge": {
      "value": 250,
      "min": 50,
      "max": 1500,
      "label": "Square side"
    },
    "bandWidth": {
      "value": 70,
      "min": 5,
      "max": 500,
      "label": "Band width"
    },
    "halfDiagonal": {
      "expr": "edge / sqrt(2)"
    },
    "bandStep": {
      "expr": "bandWidth / sqrt(2)"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "-halfDiagonal"
        ],
        [
          "halfDiagonal",
          "0"
        ],
        [
          "0",
          "halfDiagonal"
        ],
        [
          "-halfDiagonal",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "-halfDiagonal"
        ],
        [
          "bandStep",
          "-halfDiagonal - bandStep"
        ],
        [
          "halfDiagonal + bandStep",
          "-bandStep"
        ],
        [
          "halfDiagonal",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfDiagonal",
          "0"
        ],
        [
          "halfDiagonal + bandStep",
          "bandStep"
        ],
        [
          "bandStep",
          "halfDiagonal + bandStep"
        ],
        [
          "0",
          "halfDiagonal"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * halfDiagonal",
      "0"
    ],
    "b": [
      "-halfDiagonal",
      "halfDiagonal + 2 * bandStep"
    ]
  }
}
,"banded-mitred-panel":{
  "schema": 1,
  "id": "banded-mitred-panel",
  "name": "Banded mitred panel",
  "category": "ceramic",
  "parameters": {
    "length": { "value": 204, "min": 40, "max": 2000, "label": "Panel width" },
    "width": { "value": 170.4, "min": 40, "max": 2000, "label": "Panel height" },
    "bandWidth": { "value": 54, "min": 5, "max": 600, "label": "Band course" },
    "insetAlong": { "expr": "length * 0.3395" },
    "insetAcross": { "expr": "width * 0.3395" },
    "near": { "expr": "bandWidth + width * 0.3395" },
    "far": { "expr": "bandWidth + width - width * 0.3395" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "bandWidth"] },
    { "polygon": [["0", "bandWidth"], ["length", "bandWidth"], ["length - insetAlong", "near"], ["insetAlong", "near"]] },
    { "polygon": [["length", "bandWidth"], ["length", "bandWidth + width"], ["length - insetAlong", "far"], ["length - insetAlong", "near"]] },
    { "polygon": [["length", "bandWidth + width"], ["0", "bandWidth + width"], ["insetAlong", "far"], ["length - insetAlong", "far"]] },
    { "polygon": [["0", "bandWidth + width"], ["0", "bandWidth"], ["insetAlong", "near"], ["insetAlong", "far"]] },
    { "rect": ["insetAlong", "near", "length - insetAlong", "far"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "bandWidth + width"] }
}
,"banded-octagon-weave":{
  "schema": 1,
  "id": "banded-octagon-weave",
  "name": "Banded octagon weave",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "overallSize",
          "0.554744525547 * overallSize"
        ],
        [
          "overallSize",
          "1.109489051095 * overallSize"
        ],
        [
          "0.686131386861 * overallSize",
          "0.832116788321 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.686131386861 * overallSize",
          "0.832116788321 * overallSize"
        ],
        [
          "overallSize",
          "1.109489051095 * overallSize"
        ],
        [
          "0.948905109489 * overallSize",
          "1.153284671533 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "0.875912408759 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.36496350365 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.408759124088 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.408759124088 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.36496350365 * overallSize",
          "1.430656934307 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.408759124088 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.591240875912 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.591240875912 * overallSize",
          "1.985401459854 * overallSize"
        ],
        [
          "0.408759124088 * overallSize",
          "1.985401459854 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.63503649635 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.948905109489 * overallSize",
          "1.153284671533 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "1.430656934307 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.051094890511 * overallSize",
          "-0.043795620438 * overallSize"
        ],
        [
          "0.36496350365 * overallSize",
          "0.233576642336 * overallSize"
        ],
        [
          "0.313868613139 * overallSize",
          "0.277372262774 * overallSize"
        ],
        [
          "0",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.408759124088 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.591240875912 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.591240875912 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.408759124088 * overallSize",
          "1.430656934307 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.554744525547 * overallSize"
        ],
        [
          "0.313868613139 * overallSize",
          "0.277372262774 * overallSize"
        ],
        [
          "0.36496350365 * overallSize",
          "0.233576642336 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "0.233576642336 * overallSize"
        ],
        [
          "0.686131386861 * overallSize",
          "0.277372262774 * overallSize"
        ],
        [
          "overallSize",
          "0.554744525547 * overallSize"
        ],
        [
          "0.686131386861 * overallSize",
          "0.832116788321 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.36496350365 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.313868613139 * overallSize",
          "0.832116788321 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.591240875912 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "1.985401459854 * overallSize"
        ],
        [
          "0.591240875912 * overallSize",
          "1.985401459854 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.313868613139 * overallSize",
          "0.832116788321 * overallSize"
        ],
        [
          "0.36496350365 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.051094890511 * overallSize",
          "1.153284671533 * overallSize"
        ],
        [
          "0",
          "1.109489051095 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.36496350365 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.36496350365 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.051094890511 * overallSize",
          "1.153284671533 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.591240875912 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "0.875912408759 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.591240875912 * overallSize",
          "1.430656934307 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.36496350365 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.36496350365 * overallSize",
          "1.985401459854 * overallSize"
        ],
        [
          "0.051094890511 * overallSize",
          "1.70802919708 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.948905109489 * overallSize",
          "-0.043795620438 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "0.686131386861 * overallSize",
          "0.277372262774 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "0.233576642336 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.63503649635 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.948905109489 * overallSize",
          "1.70802919708 * overallSize"
        ],
        [
          "0.63503649635 * overallSize",
          "1.985401459854 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.554744525547 * overallSize"
        ],
        [
          "0.313868613139 * overallSize",
          "0.832116788321 * overallSize"
        ],
        [
          "0",
          "1.109489051095 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.313868613139 * overallSize",
          "0.277372262774 * overallSize"
        ],
        [
          "0",
          "0.554744525547 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.36496350365 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.408759124088 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.408759124088 * overallSize",
          "1.985401459854 * overallSize"
        ],
        [
          "0.36496350365 * overallSize",
          "1.985401459854 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.554744525547 * overallSize"
        ],
        [
          "0.686131386861 * overallSize",
          "0.277372262774 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.63503649635 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "0.948905109489 * overallSize",
          "1.153284671533 * overallSize"
        ],
        [
          "overallSize",
          "1.109489051095 * overallSize"
        ],
        [
          "1.313868613139 * overallSize",
          "1.386861313869 * overallSize"
        ],
        [
          "1.36496350365 * overallSize",
          "1.430656934307 * overallSize"
        ],
        [
          "1.051094890511 * overallSize",
          "1.70802919708 * overallSize"
        ],
        [
          "overallSize",
          "1.751824817518 * overallSize"
        ],
        [
          "0.686131386861 * overallSize",
          "1.474452554745 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "1.751824817518 * overallSize"
    ]
  },
  "coverage": "partial"
}
,"banner-panel":{
  "schema": 1,
  "id": "banner-panel",
  "name": "Banner panel",
  "category": "wood",
  "parameters": {
    "cellSize": {
      "value": 600,
      "min": 200,
      "max": 2000,
      "label": "Panel side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.75 * cellSize",
          "0.25 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.256 * cellSize"
        ],
        [
          "0.749 * cellSize",
          "0.263 * cellSize"
        ],
        [
          "0.749 * cellSize",
          "0.269 * cellSize"
        ],
        [
          "0.747 * cellSize",
          "0.276 * cellSize"
        ],
        [
          "0.746 * cellSize",
          "0.282 * cellSize"
        ],
        [
          "0.744 * cellSize",
          "0.289 * cellSize"
        ],
        [
          "0.742 * cellSize",
          "0.295 * cellSize"
        ],
        [
          "0.739 * cellSize",
          "0.301 * cellSize"
        ],
        [
          "0.737 * cellSize",
          "0.307 * cellSize"
        ],
        [
          "0.733 * cellSize",
          "0.312 * cellSize"
        ],
        [
          "0.73 * cellSize",
          "0.318 * cellSize"
        ],
        [
          "0.726 * cellSize",
          "0.323 * cellSize"
        ],
        [
          "0.722 * cellSize",
          "0.329 * cellSize"
        ],
        [
          "0.718 * cellSize",
          "0.334 * cellSize"
        ],
        [
          "0.709 * cellSize",
          "0.343 * cellSize"
        ],
        [
          "0.699 * cellSize",
          "0.351 * cellSize"
        ],
        [
          "0.693 * cellSize",
          "0.355 * cellSize"
        ],
        [
          "0.688 * cellSize",
          "0.358 * cellSize"
        ],
        [
          "0.67 * cellSize",
          "0.367 * cellSize"
        ],
        [
          "0.664 * cellSize",
          "0.369 * cellSize"
        ],
        [
          "0.657 * cellSize",
          "0.371 * cellSize"
        ],
        [
          "0.645 * cellSize",
          "0.373 * cellSize"
        ],
        [
          "0.638 * cellSize",
          "0.374 * cellSize"
        ],
        [
          "0.632 * cellSize",
          "0.375 * cellSize"
        ],
        [
          "0.369 * cellSize",
          "0.375 * cellSize"
        ],
        [
          "0.362 * cellSize",
          "0.374 * cellSize"
        ],
        [
          "0.356 * cellSize",
          "0.373 * cellSize"
        ],
        [
          "0.349 * cellSize",
          "0.372 * cellSize"
        ],
        [
          "0.343 * cellSize",
          "0.371 * cellSize"
        ],
        [
          "0.336 * cellSize",
          "0.369 * cellSize"
        ],
        [
          "0.33 * cellSize",
          "0.367 * cellSize"
        ],
        [
          "0.318 * cellSize",
          "0.361 * cellSize"
        ],
        [
          "0.313 * cellSize",
          "0.358 * cellSize"
        ],
        [
          "0.307 * cellSize",
          "0.355 * cellSize"
        ],
        [
          "0.302 * cellSize",
          "0.351 * cellSize"
        ],
        [
          "0.296 * cellSize",
          "0.347 * cellSize"
        ],
        [
          "0.291 * cellSize",
          "0.343 * cellSize"
        ],
        [
          "0.287 * cellSize",
          "0.338 * cellSize"
        ],
        [
          "0.282 * cellSize",
          "0.334 * cellSize"
        ],
        [
          "0.278 * cellSize",
          "0.329 * cellSize"
        ],
        [
          "0.274 * cellSize",
          "0.323 * cellSize"
        ],
        [
          "0.27 * cellSize",
          "0.318 * cellSize"
        ],
        [
          "0.267 * cellSize",
          "0.312 * cellSize"
        ],
        [
          "0.264 * cellSize",
          "0.307 * cellSize"
        ],
        [
          "0.258 * cellSize",
          "0.295 * cellSize"
        ],
        [
          "0.256 * cellSize",
          "0.289 * cellSize"
        ],
        [
          "0.254 * cellSize",
          "0.282 * cellSize"
        ],
        [
          "0.253 * cellSize",
          "0.276 * cellSize"
        ],
        [
          "0.252 * cellSize",
          "0.269 * cellSize"
        ],
        [
          "0.251 * cellSize",
          "0.263 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.256 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.25 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.000053165669691 * cellSize",
              "0.874946834330309 * cellSize"
            ],
            "from": [
              "cellSize",
              "cellSize"
            ],
            "to": [
              "0.875 * cellSize",
              "0.875 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.125 * cellSize",
              "0.875 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "-0.000163395952978 * cellSize",
              "0.874836604047022 * cellSize"
            ],
            "from": [
              "0.125 * cellSize",
              "0.875 * cellSize"
            ],
            "to": [
              "0",
              "cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.25 * cellSize",
          "0.75 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.737 * cellSize"
        ],
        [
          "0.251 * cellSize",
          "0.73 * cellSize"
        ],
        [
          "0.253 * cellSize",
          "0.724 * cellSize"
        ],
        [
          "0.254 * cellSize",
          "0.718 * cellSize"
        ],
        [
          "0.256 * cellSize",
          "0.711 * cellSize"
        ],
        [
          "0.258 * cellSize",
          "0.705 * cellSize"
        ],
        [
          "0.261 * cellSize",
          "0.699 * cellSize"
        ],
        [
          "0.263 * cellSize",
          "0.693 * cellSize"
        ],
        [
          "0.267 * cellSize",
          "0.687 * cellSize"
        ],
        [
          "0.27 * cellSize",
          "0.682 * cellSize"
        ],
        [
          "0.274 * cellSize",
          "0.676 * cellSize"
        ],
        [
          "0.282 * cellSize",
          "0.666 * cellSize"
        ],
        [
          "0.291 * cellSize",
          "0.657 * cellSize"
        ],
        [
          "0.301 * cellSize",
          "0.649 * cellSize"
        ],
        [
          "0.307 * cellSize",
          "0.645 * cellSize"
        ],
        [
          "0.312 * cellSize",
          "0.642 * cellSize"
        ],
        [
          "0.33 * cellSize",
          "0.633 * cellSize"
        ],
        [
          "0.336 * cellSize",
          "0.631 * cellSize"
        ],
        [
          "0.343 * cellSize",
          "0.629 * cellSize"
        ],
        [
          "0.349 * cellSize",
          "0.628 * cellSize"
        ],
        [
          "0.355 * cellSize",
          "0.626 * cellSize"
        ],
        [
          "0.362 * cellSize",
          "0.626 * cellSize"
        ],
        [
          "0.368 * cellSize",
          "0.625 * cellSize"
        ],
        [
          "0.631 * cellSize",
          "0.625 * cellSize"
        ],
        [
          "0.638 * cellSize",
          "0.626 * cellSize"
        ],
        [
          "0.644 * cellSize",
          "0.626 * cellSize"
        ],
        [
          "0.651 * cellSize",
          "0.628 * cellSize"
        ],
        [
          "0.657 * cellSize",
          "0.629 * cellSize"
        ],
        [
          "0.664 * cellSize",
          "0.631 * cellSize"
        ],
        [
          "0.67 * cellSize",
          "0.633 * cellSize"
        ],
        [
          "0.682 * cellSize",
          "0.639 * cellSize"
        ],
        [
          "0.687 * cellSize",
          "0.642 * cellSize"
        ],
        [
          "0.693 * cellSize",
          "0.645 * cellSize"
        ],
        [
          "0.698 * cellSize",
          "0.649 * cellSize"
        ],
        [
          "0.704 * cellSize",
          "0.653 * cellSize"
        ],
        [
          "0.709 * cellSize",
          "0.657 * cellSize"
        ],
        [
          "0.713 * cellSize",
          "0.662 * cellSize"
        ],
        [
          "0.718 * cellSize",
          "0.666 * cellSize"
        ],
        [
          "0.726 * cellSize",
          "0.676 * cellSize"
        ],
        [
          "0.73 * cellSize",
          "0.682 * cellSize"
        ],
        [
          "0.733 * cellSize",
          "0.687 * cellSize"
        ],
        [
          "0.742 * cellSize",
          "0.705 * cellSize"
        ],
        [
          "0.744 * cellSize",
          "0.711 * cellSize"
        ],
        [
          "0.746 * cellSize",
          "0.718 * cellSize"
        ],
        [
          "0.748 * cellSize",
          "0.73 * cellSize"
        ],
        [
          "0.749 * cellSize",
          "0.737 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.743 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.75 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0.125 * cellSize",
        "0.875 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.875 * cellSize",
              "0.875 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.875053165669688 * cellSize",
              "0.749946834330312 * cellSize"
            ],
            "from": [
              "0.875 * cellSize",
              "0.875 * cellSize"
            ],
            "to": [
              "0.75 * cellSize",
              "0.75 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.25 * cellSize",
              "0.75 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.124836604047024 * cellSize",
              "0.749836604047024 * cellSize"
            ],
            "from": [
              "0.25 * cellSize",
              "0.75 * cellSize"
            ],
            "to": [
              "0.125 * cellSize",
              "0.875 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0.75 * cellSize",
        "0.75 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.75 * cellSize",
              "0.25 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.62495531053004 * cellSize",
              "0.24995531053004 * cellSize"
            ],
            "from": [
              "0.75 * cellSize",
              "0.25 * cellSize"
            ],
            "to": [
              "0.625 * cellSize",
              "0.375 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0.625 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.624816252843328 * cellSize",
              "0.750183747156672 * cellSize"
            ],
            "from": [
              "0.625 * cellSize",
              "0.625 * cellSize"
            ],
            "to": [
              "0.75 * cellSize",
              "0.75 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "cellSize",
          "cellSize"
        ],
        [
          "0.994 * cellSize",
          "cellSize"
        ],
        [
          "0.987 * cellSize",
          "0.999 * cellSize"
        ],
        [
          "0.981 * cellSize",
          "0.998 * cellSize"
        ],
        [
          "0.974 * cellSize",
          "0.997 * cellSize"
        ],
        [
          "0.968 * cellSize",
          "0.996 * cellSize"
        ],
        [
          "0.961 * cellSize",
          "0.994 * cellSize"
        ],
        [
          "0.955 * cellSize",
          "0.992 * cellSize"
        ],
        [
          "0.943 * cellSize",
          "0.986 * cellSize"
        ],
        [
          "0.938 * cellSize",
          "0.983 * cellSize"
        ],
        [
          "0.932 * cellSize",
          "0.98 * cellSize"
        ],
        [
          "0.927 * cellSize",
          "0.976 * cellSize"
        ],
        [
          "0.921 * cellSize",
          "0.972 * cellSize"
        ],
        [
          "0.916 * cellSize",
          "0.968 * cellSize"
        ],
        [
          "0.912 * cellSize",
          "0.963 * cellSize"
        ],
        [
          "0.907 * cellSize",
          "0.959 * cellSize"
        ],
        [
          "0.899 * cellSize",
          "0.949 * cellSize"
        ],
        [
          "0.895 * cellSize",
          "0.943 * cellSize"
        ],
        [
          "0.892 * cellSize",
          "0.938 * cellSize"
        ],
        [
          "0.883 * cellSize",
          "0.92 * cellSize"
        ],
        [
          "0.879 * cellSize",
          "0.908 * cellSize"
        ],
        [
          "0.878 * cellSize",
          "0.901 * cellSize"
        ],
        [
          "0.877 * cellSize",
          "0.895 * cellSize"
        ],
        [
          "0.876 * cellSize",
          "0.888 * cellSize"
        ],
        [
          "0.875 * cellSize",
          "0.882 * cellSize"
        ],
        [
          "0.875 * cellSize",
          "0.119 * cellSize"
        ],
        [
          "0.876 * cellSize",
          "0.112 * cellSize"
        ],
        [
          "0.877 * cellSize",
          "0.106 * cellSize"
        ],
        [
          "0.878 * cellSize",
          "0.099 * cellSize"
        ],
        [
          "0.879 * cellSize",
          "0.093 * cellSize"
        ],
        [
          "0.881 * cellSize",
          "0.086 * cellSize"
        ],
        [
          "0.883 * cellSize",
          "0.08 * cellSize"
        ],
        [
          "0.889 * cellSize",
          "0.068 * cellSize"
        ],
        [
          "0.892 * cellSize",
          "0.063 * cellSize"
        ],
        [
          "0.895 * cellSize",
          "0.057 * cellSize"
        ],
        [
          "0.899 * cellSize",
          "0.052 * cellSize"
        ],
        [
          "0.903 * cellSize",
          "0.046 * cellSize"
        ],
        [
          "0.907 * cellSize",
          "0.041 * cellSize"
        ],
        [
          "0.912 * cellSize",
          "0.037 * cellSize"
        ],
        [
          "0.916 * cellSize",
          "0.032 * cellSize"
        ],
        [
          "0.921 * cellSize",
          "0.028 * cellSize"
        ],
        [
          "0.927 * cellSize",
          "0.024 * cellSize"
        ],
        [
          "0.932 * cellSize",
          "0.02 * cellSize"
        ],
        [
          "0.938 * cellSize",
          "0.017 * cellSize"
        ],
        [
          "0.943 * cellSize",
          "0.014 * cellSize"
        ],
        [
          "0.955 * cellSize",
          "0.008 * cellSize"
        ],
        [
          "0.961 * cellSize",
          "0.006 * cellSize"
        ],
        [
          "0.968 * cellSize",
          "0.004 * cellSize"
        ],
        [
          "0.974 * cellSize",
          "0.003 * cellSize"
        ],
        [
          "0.981 * cellSize",
          "0.002 * cellSize"
        ],
        [
          "0.987 * cellSize",
          "0.001 * cellSize"
        ],
        [
          "0.994 * cellSize",
          "0"
        ],
        [
          "cellSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.875 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.869 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.862 * cellSize",
          "0.874 * cellSize"
        ],
        [
          "0.856 * cellSize",
          "0.873 * cellSize"
        ],
        [
          "0.849 * cellSize",
          "0.872 * cellSize"
        ],
        [
          "0.843 * cellSize",
          "0.871 * cellSize"
        ],
        [
          "0.836 * cellSize",
          "0.869 * cellSize"
        ],
        [
          "0.83 * cellSize",
          "0.867 * cellSize"
        ],
        [
          "0.818 * cellSize",
          "0.861 * cellSize"
        ],
        [
          "0.813 * cellSize",
          "0.858 * cellSize"
        ],
        [
          "0.807 * cellSize",
          "0.855 * cellSize"
        ],
        [
          "0.802 * cellSize",
          "0.851 * cellSize"
        ],
        [
          "0.796 * cellSize",
          "0.847 * cellSize"
        ],
        [
          "0.791 * cellSize",
          "0.843 * cellSize"
        ],
        [
          "0.787 * cellSize",
          "0.838 * cellSize"
        ],
        [
          "0.782 * cellSize",
          "0.834 * cellSize"
        ],
        [
          "0.774 * cellSize",
          "0.824 * cellSize"
        ],
        [
          "0.77 * cellSize",
          "0.818 * cellSize"
        ],
        [
          "0.767 * cellSize",
          "0.813 * cellSize"
        ],
        [
          "0.758 * cellSize",
          "0.795 * cellSize"
        ],
        [
          "0.754 * cellSize",
          "0.783 * cellSize"
        ],
        [
          "0.753 * cellSize",
          "0.776 * cellSize"
        ],
        [
          "0.752 * cellSize",
          "0.77 * cellSize"
        ],
        [
          "0.751 * cellSize",
          "0.763 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.757 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.244 * cellSize"
        ],
        [
          "0.751 * cellSize",
          "0.237 * cellSize"
        ],
        [
          "0.752 * cellSize",
          "0.231 * cellSize"
        ],
        [
          "0.753 * cellSize",
          "0.224 * cellSize"
        ],
        [
          "0.754 * cellSize",
          "0.218 * cellSize"
        ],
        [
          "0.756 * cellSize",
          "0.211 * cellSize"
        ],
        [
          "0.758 * cellSize",
          "0.205 * cellSize"
        ],
        [
          "0.764 * cellSize",
          "0.193 * cellSize"
        ],
        [
          "0.767 * cellSize",
          "0.188 * cellSize"
        ],
        [
          "0.77 * cellSize",
          "0.182 * cellSize"
        ],
        [
          "0.774 * cellSize",
          "0.177 * cellSize"
        ],
        [
          "0.778 * cellSize",
          "0.171 * cellSize"
        ],
        [
          "0.782 * cellSize",
          "0.166 * cellSize"
        ],
        [
          "0.787 * cellSize",
          "0.162 * cellSize"
        ],
        [
          "0.791 * cellSize",
          "0.157 * cellSize"
        ],
        [
          "0.796 * cellSize",
          "0.153 * cellSize"
        ],
        [
          "0.802 * cellSize",
          "0.149 * cellSize"
        ],
        [
          "0.807 * cellSize",
          "0.145 * cellSize"
        ],
        [
          "0.813 * cellSize",
          "0.142 * cellSize"
        ],
        [
          "0.818 * cellSize",
          "0.139 * cellSize"
        ],
        [
          "0.83 * cellSize",
          "0.133 * cellSize"
        ],
        [
          "0.836 * cellSize",
          "0.131 * cellSize"
        ],
        [
          "0.843 * cellSize",
          "0.129 * cellSize"
        ],
        [
          "0.849 * cellSize",
          "0.128 * cellSize"
        ],
        [
          "0.856 * cellSize",
          "0.127 * cellSize"
        ],
        [
          "0.862 * cellSize",
          "0.126 * cellSize"
        ],
        [
          "0.869 * cellSize",
          "0.125 * cellSize"
        ],
        [
          "0.875 * cellSize",
          "0.125 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0.125 * cellSize",
        "0.125 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.875 * cellSize",
              "0.125 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.000067332336359 * cellSize",
              "0.125067332336359 * cellSize"
            ],
            "from": [
              "0.875 * cellSize",
              "0.125 * cellSize"
            ],
            "to": [
              "cellSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.000304325454732 * cellSize",
              "0.124695674545268 * cellSize"
            ],
            "from": [
              "0",
              "0"
            ],
            "to": [
              "0.125 * cellSize",
              "0.125 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * cellSize",
          "0.625 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.375 * cellSize"
        ],
        [
          "0.625 * cellSize",
          "0.375 * cellSize"
        ],
        [
          "0.625 * cellSize",
          "0.625 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0.25 * cellSize",
        "0.25 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.75 * cellSize",
              "0.25 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.875139344144986 * cellSize",
              "0.250139344144986 * cellSize"
            ],
            "from": [
              "0.75 * cellSize",
              "0.25 * cellSize"
            ],
            "to": [
              "0.875 * cellSize",
              "0.125 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.125 * cellSize",
              "0.125 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.12493375284333 * cellSize",
              "0.25006624715667 * cellSize"
            ],
            "from": [
              "0.125 * cellSize",
              "0.125 * cellSize"
            ],
            "to": [
              "0.25 * cellSize",
              "0.25 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0.25 * cellSize",
        "0.75 * cellSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.37505316566969 * cellSize",
              "0.75005316566969 * cellSize"
            ],
            "from": [
              "0.25 * cellSize",
              "0.75 * cellSize"
            ],
            "to": [
              "0.375 * cellSize",
              "0.625 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.375 * cellSize",
              "0.375 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.37516316566969 * cellSize",
              "0.24983683433031 * cellSize"
            ],
            "from": [
              "0.375 * cellSize",
              "0.375 * cellSize"
            ],
            "to": [
              "0.25 * cellSize",
              "0.25 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.25 * cellSize",
              "0.75 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0",
          "cellSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.013 * cellSize",
          "0"
        ],
        [
          "0.02 * cellSize",
          "0.001 * cellSize"
        ],
        [
          "0.026 * cellSize",
          "0.003 * cellSize"
        ],
        [
          "0.032 * cellSize",
          "0.004 * cellSize"
        ],
        [
          "0.039 * cellSize",
          "0.006 * cellSize"
        ],
        [
          "0.045 * cellSize",
          "0.008 * cellSize"
        ],
        [
          "0.051 * cellSize",
          "0.011 * cellSize"
        ],
        [
          "0.057 * cellSize",
          "0.013 * cellSize"
        ],
        [
          "0.063 * cellSize",
          "0.017 * cellSize"
        ],
        [
          "0.068 * cellSize",
          "0.02 * cellSize"
        ],
        [
          "0.074 * cellSize",
          "0.024 * cellSize"
        ],
        [
          "0.084 * cellSize",
          "0.032 * cellSize"
        ],
        [
          "0.093 * cellSize",
          "0.041 * cellSize"
        ],
        [
          "0.101 * cellSize",
          "0.051 * cellSize"
        ],
        [
          "0.105 * cellSize",
          "0.057 * cellSize"
        ],
        [
          "0.108 * cellSize",
          "0.062 * cellSize"
        ],
        [
          "0.117 * cellSize",
          "0.08 * cellSize"
        ],
        [
          "0.119 * cellSize",
          "0.086 * cellSize"
        ],
        [
          "0.121 * cellSize",
          "0.093 * cellSize"
        ],
        [
          "0.122 * cellSize",
          "0.099 * cellSize"
        ],
        [
          "0.124 * cellSize",
          "0.105 * cellSize"
        ],
        [
          "0.124 * cellSize",
          "0.112 * cellSize"
        ],
        [
          "0.125 * cellSize",
          "0.118 * cellSize"
        ],
        [
          "0.125 * cellSize",
          "0.881 * cellSize"
        ],
        [
          "0.124 * cellSize",
          "0.888 * cellSize"
        ],
        [
          "0.124 * cellSize",
          "0.894 * cellSize"
        ],
        [
          "0.122 * cellSize",
          "0.901 * cellSize"
        ],
        [
          "0.121 * cellSize",
          "0.907 * cellSize"
        ],
        [
          "0.119 * cellSize",
          "0.914 * cellSize"
        ],
        [
          "0.117 * cellSize",
          "0.92 * cellSize"
        ],
        [
          "0.111 * cellSize",
          "0.932 * cellSize"
        ],
        [
          "0.108 * cellSize",
          "0.937 * cellSize"
        ],
        [
          "0.105 * cellSize",
          "0.943 * cellSize"
        ],
        [
          "0.101 * cellSize",
          "0.948 * cellSize"
        ],
        [
          "0.097 * cellSize",
          "0.954 * cellSize"
        ],
        [
          "0.093 * cellSize",
          "0.959 * cellSize"
        ],
        [
          "0.088 * cellSize",
          "0.963 * cellSize"
        ],
        [
          "0.084 * cellSize",
          "0.968 * cellSize"
        ],
        [
          "0.074 * cellSize",
          "0.976 * cellSize"
        ],
        [
          "0.068 * cellSize",
          "0.98 * cellSize"
        ],
        [
          "0.063 * cellSize",
          "0.983 * cellSize"
        ],
        [
          "0.045 * cellSize",
          "0.992 * cellSize"
        ],
        [
          "0.039 * cellSize",
          "0.994 * cellSize"
        ],
        [
          "0.032 * cellSize",
          "0.996 * cellSize"
        ],
        [
          "0.02 * cellSize",
          "0.998 * cellSize"
        ],
        [
          "0.013 * cellSize",
          "0.999 * cellSize"
        ],
        [
          "0.007 * cellSize",
          "cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.125 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.125 * cellSize",
          "0.125 * cellSize"
        ],
        [
          "0.138 * cellSize",
          "0.125 * cellSize"
        ],
        [
          "0.145 * cellSize",
          "0.126 * cellSize"
        ],
        [
          "0.151 * cellSize",
          "0.128 * cellSize"
        ],
        [
          "0.157 * cellSize",
          "0.129 * cellSize"
        ],
        [
          "0.164 * cellSize",
          "0.131 * cellSize"
        ],
        [
          "0.17 * cellSize",
          "0.133 * cellSize"
        ],
        [
          "0.176 * cellSize",
          "0.136 * cellSize"
        ],
        [
          "0.182 * cellSize",
          "0.138 * cellSize"
        ],
        [
          "0.188 * cellSize",
          "0.142 * cellSize"
        ],
        [
          "0.193 * cellSize",
          "0.145 * cellSize"
        ],
        [
          "0.199 * cellSize",
          "0.149 * cellSize"
        ],
        [
          "0.209 * cellSize",
          "0.157 * cellSize"
        ],
        [
          "0.218 * cellSize",
          "0.166 * cellSize"
        ],
        [
          "0.226 * cellSize",
          "0.176 * cellSize"
        ],
        [
          "0.23 * cellSize",
          "0.182 * cellSize"
        ],
        [
          "0.233 * cellSize",
          "0.187 * cellSize"
        ],
        [
          "0.242 * cellSize",
          "0.205 * cellSize"
        ],
        [
          "0.244 * cellSize",
          "0.211 * cellSize"
        ],
        [
          "0.246 * cellSize",
          "0.218 * cellSize"
        ],
        [
          "0.247 * cellSize",
          "0.224 * cellSize"
        ],
        [
          "0.249 * cellSize",
          "0.23 * cellSize"
        ],
        [
          "0.249 * cellSize",
          "0.237 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.243 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.756 * cellSize"
        ],
        [
          "0.249 * cellSize",
          "0.763 * cellSize"
        ],
        [
          "0.249 * cellSize",
          "0.769 * cellSize"
        ],
        [
          "0.247 * cellSize",
          "0.776 * cellSize"
        ],
        [
          "0.246 * cellSize",
          "0.782 * cellSize"
        ],
        [
          "0.244 * cellSize",
          "0.789 * cellSize"
        ],
        [
          "0.242 * cellSize",
          "0.795 * cellSize"
        ],
        [
          "0.236 * cellSize",
          "0.807 * cellSize"
        ],
        [
          "0.233 * cellSize",
          "0.812 * cellSize"
        ],
        [
          "0.23 * cellSize",
          "0.818 * cellSize"
        ],
        [
          "0.226 * cellSize",
          "0.823 * cellSize"
        ],
        [
          "0.222 * cellSize",
          "0.829 * cellSize"
        ],
        [
          "0.218 * cellSize",
          "0.834 * cellSize"
        ],
        [
          "0.213 * cellSize",
          "0.838 * cellSize"
        ],
        [
          "0.209 * cellSize",
          "0.843 * cellSize"
        ],
        [
          "0.199 * cellSize",
          "0.851 * cellSize"
        ],
        [
          "0.193 * cellSize",
          "0.855 * cellSize"
        ],
        [
          "0.188 * cellSize",
          "0.858 * cellSize"
        ],
        [
          "0.17 * cellSize",
          "0.867 * cellSize"
        ],
        [
          "0.164 * cellSize",
          "0.869 * cellSize"
        ],
        [
          "0.157 * cellSize",
          "0.871 * cellSize"
        ],
        [
          "0.145 * cellSize",
          "0.873 * cellSize"
        ],
        [
          "0.138 * cellSize",
          "0.874 * cellSize"
        ],
        [
          "0.132 * cellSize",
          "0.875 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.375 * cellSize",
          "0.625 * cellSize"
        ],
        [
          "0.375 * cellSize",
          "0.375 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.375 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.625 * cellSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "cellSize",
      "0"
    ],
    "b": [
      "0",
      "cellSize"
    ]
  }
}
,"bar-grating":{
  "schema": 1,
  "id": "bar-grating",
  "name": "Bar grating",
  "category": "metal",
  "parameters": {
    "length": { "value": 100, "min": 10, "max": 500, "label": "Cross bar pitch" },
    "width": { "value": 30, "min": 8, "max": 300, "label": "Bearing bar pitch" },
    "wallWidth": { "value": 5, "min": 1, "max": 7, "label": "Bar width" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "length", "width"],
      "holes": [
        {
          "rect": [
            "wallWidth / 2",
            "wallWidth / 2",
            "length - wallWidth / 2",
            "width - wallWidth / 2"
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["length", "0"],
    "b": ["0", "width"]
  }
}
,"barrel-wave-plank":{
  "schema": 1,
  "id": "barrel-wave-plank",
  "name": "Barrel wave plank",
  "category": "wood",
  "parameters": {
    "length": {
      "value": 200,
      "min": 60,
      "max": 2000,
      "label": "Plank length"
    },
    "width": {
      "value": 20,
      "min": 5,
      "max": 400,
      "label": "Width at the ends"
    },
    "amplitude": {
      "expr": "length / 16"
    },
    "arcRadius": {
      "expr": "(length * length / 4 + amplitude * amplitude) / (4 * amplitude)"
    },
    "halfSwell": {
      "expr": "amplitude / 2"
    }
  },
  "tiles": [
    {
      "start": [
        "0",
        "0"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "-arcRadius"
            ],
            "from": [
              "0",
              "0"
            ],
            "to": [
              "length / 4",
              "-halfSwell"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "length / 2",
              "arcRadius - amplitude"
            ],
            "from": [
              "length / 4",
              "-halfSwell"
            ],
            "to": [
              "length / 2",
              "-amplitude"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "length / 2",
              "arcRadius - amplitude"
            ],
            "from": [
              "length / 2",
              "-amplitude"
            ],
            "to": [
              "3 * length / 4",
              "-halfSwell"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "length",
              "-arcRadius"
            ],
            "from": [
              "3 * length / 4",
              "-halfSwell"
            ],
            "to": [
              "length",
              "0"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "length",
              "width"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "length",
              "width + arcRadius"
            ],
            "from": [
              "length",
              "width"
            ],
            "to": [
              "3 * length / 4",
              "width + halfSwell"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "length / 2",
              "width + amplitude - arcRadius"
            ],
            "from": [
              "3 * length / 4",
              "width + halfSwell"
            ],
            "to": [
              "length / 2",
              "width + amplitude"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "length / 2",
              "width + amplitude - arcRadius"
            ],
            "from": [
              "length / 2",
              "width + amplitude"
            ],
            "to": [
              "length / 4",
              "width + halfSwell"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "width + arcRadius"
            ],
            "from": [
              "length / 4",
              "width + halfSwell"
            ],
            "to": [
              "0",
              "width"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "length / 2",
      "width + amplitude"
    ]
  }
},"basketweave-with-dot":{
  "schema": 1,
  "id": "basketweave-with-dot",
  "name": "Basketweave with dot",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 50.8, "min": 5, "max": 600, "label": "Tile width" },
    "dotSize": { "value": 25.4, "min": 2, "max": 300, "label": "Dot side" },
    "blockSize": { "expr": "width + 2 * dotSize" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "blockSize"] },
    { "rect": ["width", "dotSize", "width + blockSize", "dotSize + width"] },
    { "rect": ["width", "0", "width + dotSize", "dotSize"] },
    { "rect": ["width", "blockSize - dotSize", "width + dotSize", "blockSize"] }
  ],
  "lattice": { "a": ["width + dotSize", "width + dotSize"], "b": ["-2 * width - 2 * dotSize", "0"] }
}
,"basketweave":{
  "schema": 1,
  "id": "basketweave",
  "name": "Basketweave",
  "category": "wood",
  "parameters": {
    "length": { "value": 200, "min": 40, "max": 2000, "label": "Plank length" },
    "planks": { "value": 2, "min": 2, "max": 10, "label": "Planks per block", "unit": "none" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "planks" }, "rect": ["0", "k * length / planks", "length", "(k + 1) * length / planks"] },
    { "repeat": { "index": "k", "count": "planks" }, "rect": ["length + k * length / planks", "0", "length + (k + 1) * length / planks", "length"] }
  ],
  "lattice": { "a": ["2 * length", "0"], "b": ["length", "length"] }
}
,"beavertail-tile":{
  "schema": 1,
  "id": "beavertail-tile",
  "name": "Beavertail tile",
  "category": "lapped",
  "parameters": {
    "width": { "value": 165, "min": 50, "max": 600, "label": "Tile width" },
    "gauge": { "value": 100, "min": 30, "max": 400, "label": "Gauge (course step)" },
    "tailRatio": { "expr": "0.15" },
    "tail": { "expr": "min(gauge * tailRatio, width / 2)" },
    "arcRadius": { "expr": "(width * width / 4 + tail * tail) / (2 * tail)" }
  },
  "tiles": [
    {
      "path": [
        { "arc": { "center": ["width / 2", "arcRadius"], "from": ["0", "tail"], "to": ["width", "tail"], "clockwise": false } },
        { "line": { "to": ["width", "gauge"] } },
        { "arc": { "center": ["width", "gauge + arcRadius"], "from": ["width", "gauge"], "to": ["width / 2", "gauge + tail"], "clockwise": true } },
        { "arc": { "center": ["0", "gauge + arcRadius"], "from": ["width / 2", "gauge + tail"], "to": ["0", "gauge"], "clockwise": true } },
        { "line": { "to": ["0", "tail"] } }
      ],
      "grain": ["0", "1"]
    }
  ],
  "lattice": { "a": ["width", "0"], "b": ["width / 2", "gauge"] },
  "lap": {"rows": 165, "batten": 25}
}
,"bent-strip-check":{
  "schema": 1,
  "id": "bent-strip-check",
  "name": "Bent strip check",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 300, "min": 60, "max": 600, "label": "Block width" },
    "length": { "value": 480, "min": 320, "max": 2000, "label": "Block height" },
    "step": { "expr": "width / 4" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["3 * step", "0"], ["2 * step", "step"], ["2 * step", "length - step"], ["step", "length"], ["0", "length"]] },
    { "polygon": [["3 * step", "0"], ["4 * step", "0"], ["4 * step", "length"], ["step", "length"], ["2 * step", "length - step"], ["2 * step", "step"]] },
    { "polygon": [["4 * step", "0"], ["5 * step", "0"], ["6 * step", "step"], ["6 * step", "length - step"], ["7 * step", "length"], ["4 * step", "length"]] },
    { "polygon": [["5 * step", "0"], ["8 * step", "0"], ["8 * step", "length"], ["7 * step", "length"], ["6 * step", "length - step"], ["6 * step", "step"]] },
    { "polygon": [["0", "length"], ["step", "length"], ["2 * step", "length + step"], ["2 * step", "2 * length - step"], ["3 * step", "2 * length"], ["0", "2 * length"]] },
    { "polygon": [["step", "length"], ["4 * step", "length"], ["4 * step", "2 * length"], ["3 * step", "2 * length"], ["2 * step", "2 * length - step"], ["2 * step", "length + step"]] },
    { "polygon": [["4 * step", "length"], ["7 * step", "length"], ["6 * step", "length + step"], ["6 * step", "2 * length - step"], ["5 * step", "2 * length"], ["4 * step", "2 * length"]] },
    { "polygon": [["7 * step", "length"], ["8 * step", "length"], ["8 * step", "2 * length"], ["5 * step", "2 * length"], ["6 * step", "2 * length - step"], ["6 * step", "length + step"]] }
  ],
  "lattice": { "a": ["2 * width", "0"], "b": ["0", "2 * length"] }
}
,"block-parquet-pave":{
  "schema": 1,
  "id": "block-parquet-pave",
  "name": "Block parquet (pave)",
  "category": "wood",
  "parameters": {
    "width": { "value": 114.3, "min": 20, "max": 600, "label": "Tile width (length = 2 x width)" }
  },
  "tiles": [
    {"rect": ["0", "0", "width", "2 * width"]},
    {"rect": ["width", "0", "2 * width", "2 * width"]},
    {"rect": ["0", "2 * width", "2 * width", "3 * width"]},
    {"rect": ["0", "3 * width", "2 * width", "4 * width"]}
  ],
  "lattice": {"a": ["2 * width", "width"], "b": ["0", "4 * width"]}
}
,"block-parquet-weave":{
  "schema": 1,
  "id": "block-parquet-weave",
  "name": "Block parquet (weave)",
  "category": "wood",
  "parameters": {
    "width": { "value": 114.3, "min": 20, "max": 600, "label": "Tile width (length = 2 x width)" }
  },
  "tiles": [
    {"rect": ["0", "0", "width", "2 * width"]},
    {"rect": ["width", "0", "2 * width", "2 * width"]},
    {"rect": ["0", "2 * width", "2 * width", "3 * width"]}
  ],
  "lattice": {"a": ["2 * width", "3 * width / 2"], "b": ["0", "3 * width"]}
}
,"board-and-batten":{
  "schema": 1,
  "id": "board-and-batten",
  "name": "Board and batten",
  "category": "wood",
  "parameters": {
    "width": { "value": 150, "min": 50, "max": 600, "label": "Board width" },
    "bandWidth": { "value": 50, "min": 15, "max": 200, "label": "Batten width" },
    "length": { "value": 3600, "min": 1200, "max": 6000, "label": "Board length" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "length"] },
    { "rect": ["width", "0", "width + bandWidth", "length"] }
  ],
  "lattice": {
    "a": ["width + bandWidth", "0"],
    "b": ["0", "length"]
  }
}
,"bordered-stripe-tile":{
  "schema": 1,
  "id": "bordered-stripe-tile",
  "name": "Bordered stripe tile",
  "category": "ceramic",
  "parameters": {
    "overallSize": { "value": 313.6, "min": 60, "max": 1500, "label": "Tile size" },
    "border": { "expr": "overallSize * 0.159439" },
    "stripes": { "expr": "24" },
    "stripeWidth": { "expr": "(overallSize - 2 * border) / stripes" },
    "half": { "expr": "overallSize / 2" },
    "far": { "expr": "overallSize - border" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["half", "0"], ["half", "border"], ["border", "border"], ["border", "half"], ["0", "half"]] },
    { "polygon": [["half", "0"], ["overallSize", "0"], ["overallSize", "half"], ["far", "half"], ["far", "border"], ["half", "border"]] },
    { "polygon": [["0", "half"], ["border", "half"], ["border", "far"], ["half", "far"], ["half", "overallSize"], ["0", "overallSize"]] },
    { "polygon": [["half", "far"], ["far", "far"], ["far", "half"], ["overallSize", "half"], ["overallSize", "overallSize"], ["half", "overallSize"]] },
    {
      "repeat": { "index": "k", "count": "stripes" },
      "rect": ["border + k * stripeWidth", "border", "border + (k + 1) * stripeWidth", "far"]
    }
  ],
  "lattice": { "a": ["overallSize", "0"], "b": ["0", "overallSize"] }
}
,"bowtie-paver":{
  "schema": 1,
  "id": "bowtie-paver",
  "name": "Bowtie paver",
  "category": "stone",
  "parameters": {
    "length": { "value": 400, "min": 80, "max": 1200, "label": "Paver length" },
    "width": { "value": 280, "min": 60, "max": 900, "label": "Paver width" },
    "notchDepth": { "expr": "width / 8" },
    "notchEdge": { "expr": "length / 5" },
    "floorEdge": { "expr": "3 * length / 10" }
  },
  "tiles": [
    { "polygon": [
      ["0", "0"], ["notchEdge", "0"], ["floorEdge", "notchDepth"], ["length - floorEdge", "notchDepth"], ["length - notchEdge", "0"], ["length", "0"],
      ["length", "width"], ["length - notchEdge", "width"], ["length - floorEdge", "width - notchDepth"], ["floorEdge", "width - notchDepth"], ["notchEdge", "width"], ["0", "width"]
    ] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["length / 2", "width - notchDepth"] }
}
,"broken-course-square-grid":{
  "schema": 1,
  "id": "broken-course-square-grid",
  "name": "Broken course square grid",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 900,
      "min": 180,
      "max": 3600,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.666666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.833333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "overallSize"
        ],
        [
          "0",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.333333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.722222222222 * overallSize",
          "overallSize"
        ],
        [
          "0.75 * overallSize",
          "overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.722222222222 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.694444444444 * overallSize",
          "overallSize"
        ],
        [
          "0.694444444444 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.125 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.194444444444 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.194444444444 * overallSize",
          "overallSize"
        ],
        [
          "0.222222222222 * overallSize",
          "overallSize"
        ],
        [
          "0.222222222222 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.444444444444 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.444444444444 * overallSize",
          "overallSize"
        ],
        [
          "0.472222222222 * overallSize",
          "overallSize"
        ],
        [
          "0.472222222222 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.694444444444 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.694444444444 * overallSize",
          "overallSize"
        ],
        [
          "0.722222222222 * overallSize",
          "overallSize"
        ],
        [
          "0.722222222222 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.944444444444 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.944444444444 * overallSize",
          "overallSize"
        ],
        [
          "0.972222222222 * overallSize",
          "overallSize"
        ],
        [
          "0.972222222222 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "1.194444444444 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.194444444444 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.972222222222 * overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.972222222222 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.916666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.944444444444 * overallSize",
          "overallSize"
        ],
        [
          "0.944444444444 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.472222222222 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.472222222222 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.416666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.444444444444 * overallSize",
          "overallSize"
        ],
        [
          "0.444444444444 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.194444444444 * overallSize",
          "overallSize"
        ],
        [
          "0.194444444444 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.222222222222 * overallSize",
          "overallSize"
        ],
        [
          "0.25 * overallSize",
          "overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.166666666667 * overallSize"
        ],
        [
          "0.222222222222 * overallSize",
          "1.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.166666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.166666666667 * overallSize",
          "0"
        ],
        [
          "0.166666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0"
        ],
        [
          "0.833333333333 * overallSize",
          "0"
        ],
        [
          "0.833333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0"
        ],
        [
          "0.333333333333 * overallSize",
          "0"
        ],
        [
          "0.333333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.666666666667 * overallSize",
          "0"
        ],
        [
          "0.666666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "1.194444444444 * overallSize"
    ]
  }
}
,"broken-herringbone":{
  "schema": 1,
  "id": "broken-herringbone",
  "name": "Broken herringbone",
  "category": "wood",
  "parameters": {
    "length": {
      "value": 600,
      "min": 100,
      "max": 3000,
      "label": "Plank length"
    },
    "width": {
      "value": 120,
      "min": 20,
      "max": 600,
      "label": "Plank width"
    },
    "lengthW": {
      "expr": "length * sqrt(2) / 2"
    },
    "widthW": {
      "expr": "width * sqrt(2)"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "-1 * lengthW / 2 - 1 * widthW / 2",
          "1 * lengthW / 2 + 1 * widthW / 2"
        ],
        [
          "-1 * lengthW / 2",
          "1 * lengthW / 2 + widthW"
        ],
        [
          "-3 * lengthW / 2",
          "3 * lengthW / 2 + widthW"
        ],
        [
          "-3 * lengthW / 2 - 1 * widthW / 2",
          "3 * lengthW / 2 + 1 * widthW / 2"
        ]
      ],
      "grain": [
        "-1",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "-1 * lengthW / 2",
          "1 * lengthW / 2 + widthW"
        ],
        [
          "1 * lengthW / 2",
          "3 * lengthW / 2 + widthW"
        ],
        [
          "1 * lengthW / 2 - 1 * widthW / 2",
          "3 * lengthW / 2 + 3 * widthW / 2"
        ],
        [
          "-1 * lengthW / 2 - 1 * widthW / 2",
          "1 * lengthW / 2 + 3 * widthW / 2"
        ]
      ],
      "grain": [
        "1",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "-1 * lengthW / 2 - 1 * widthW / 2",
          "1 * lengthW / 2 + 3 * widthW / 2"
        ],
        [
          "-1 * lengthW / 2",
          "1 * lengthW / 2 + 2 * widthW"
        ],
        [
          "-lengthW",
          "lengthW + 2 * widthW"
        ],
        [
          "-lengthW - 1 * widthW / 2",
          "lengthW + 3 * widthW / 2"
        ]
      ],
      "grain": [
        "-1",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "-1 * lengthW / 2",
          "1 * lengthW / 2"
        ],
        [
          "0",
          "lengthW"
        ],
        [
          "-1 * widthW / 2",
          "lengthW + 1 * widthW / 2"
        ],
        [
          "-1 * lengthW / 2 - 1 * widthW / 2",
          "1 * lengthW / 2 + 1 * widthW / 2"
        ]
      ],
      "grain": [
        "1",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "lengthW"
        ],
        [
          "1 * lengthW / 2",
          "3 * lengthW / 2"
        ],
        [
          "1 * lengthW / 2 - 1 * widthW / 2",
          "3 * lengthW / 2 + 1 * widthW / 2"
        ],
        [
          "-1 * widthW / 2",
          "lengthW + 1 * widthW / 2"
        ]
      ],
      "grain": [
        "1",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "lengthW - 1 * widthW / 2",
          "lengthW - 1 * widthW / 2"
        ],
        [
          "lengthW",
          "lengthW"
        ],
        [
          "1 * lengthW / 2",
          "3 * lengthW / 2"
        ],
        [
          "1 * lengthW / 2 - 1 * widthW / 2",
          "3 * lengthW / 2 - 1 * widthW / 2"
        ]
      ],
      "grain": [
        "-1",
        "1"
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * lengthW",
      "0"
    ],
    "b": [
      "0",
      "2 * widthW"
    ]
  }
}
,"broken-range-ashlar":{
  "schema": 1,
  "id": "broken-range-ashlar",
  "name": "Broken range ashlar",
  "category": "stone",
  "parameters": {
    "minimumLength": { "value": 140, "min": 60, "max": 600, "label": "Shortest stone" },
    "minimumWidth": { "value": 60, "min": 30, "max": 200, "label": "Lowest course" },
    "tileWidthStep": { "expr": "minimumLength / 2" },
    "tileHeightStep": { "expr": "minimumWidth / 2" },
    "splitShare": { "expr": "0.35" }
  },
  "generator": {
    "randomAshlar": {
      "width": "24 * tileWidthStep",
      "height": "30 * tileHeightStep",
      "minimumTileWidth": "2 * tileWidthStep",
      "maximumTileWidth": "7 * tileWidthStep",
      "tileWidthStep": "tileWidthStep",
      "minimumTileHeight": "2 * tileHeightStep",
      "maximumTileHeight": "6 * tileHeightStep",
      "tileHeightStep": "tileHeightStep",
      "minimumStagger": "tileWidthStep",
      "splitShare": "splitShare",
      "seed": "seed"
    }
  }
}
,"cairo":{
  "schema": 1,
  "id": "cairo",
  "name": "Cairo",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 100, "min": 20, "max": 500, "label": "Equal side" },
    "unitLength": { "expr": "edge / sqrt(10)" }
  },
  "tiles": [
    { "polygon": [["-2 * unitLength", "0"], ["2 * unitLength", "0"], ["3 * unitLength", "3 * unitLength"], ["0", "4 * unitLength"], ["-3 * unitLength", "3 * unitLength"]] },
    {
      "polygon": [["-2 * unitLength", "0"], ["2 * unitLength", "0"], ["3 * unitLength", "3 * unitLength"], ["0", "4 * unitLength"], ["-3 * unitLength", "3 * unitLength"]],
      "transform": [{ "rotate": { "angle": 180, "center": ["0", "0"] } }]
    },
    {
      "polygon": [["-2 * unitLength", "0"], ["2 * unitLength", "0"], ["3 * unitLength", "3 * unitLength"], ["0", "4 * unitLength"], ["-3 * unitLength", "3 * unitLength"]],
      "transform": [{ "rotate": { "angle": 90, "center": ["0", "0"] } }, { "translate": ["0", "6 * unitLength"] }]
    },
    {
      "polygon": [["-2 * unitLength", "0"], ["2 * unitLength", "0"], ["3 * unitLength", "3 * unitLength"], ["0", "4 * unitLength"], ["-3 * unitLength", "3 * unitLength"]],
      "transform": [{ "rotate": { "angle": 270, "center": ["0", "0"] } }, { "translate": ["-6 * unitLength", "0"] }]
    }
  ],
  "lattice": { "a": ["12 * unitLength", "0"], "b": ["6 * unitLength", "6 * unitLength"] }
}
,"capsule-and-taper-panel":{
 "schema": 1,
 "id": "capsule-and-taper-panel",
 "name": "Capsule and taper panel",
 "category": "ceramic",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 166.0,
   "min": 16.6,
   "max": 996.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.194861 * overallSize",
     "1.309800 * overallSize"
    ],
    [
     "0.192641 * overallSize",
     "1.283232 * overallSize"
    ],
    [
     "0.190913 * overallSize",
     "1.256627 * overallSize"
    ],
    [
     "0.189680 * overallSize",
     "1.229998 * overallSize"
    ],
    [
     "0.188940 * overallSize",
     "1.203352 * overallSize"
    ],
    [
     "0.188693 * overallSize",
     "1.176693 * overallSize"
    ],
    [
     "0.188940 * overallSize",
     "1.150034 * overallSize"
    ],
    [
     "0.189680 * overallSize",
     "1.123387 * overallSize"
    ],
    [
     "0.190913 * overallSize",
     "1.096758 * overallSize"
    ],
    [
     "0.192641 * overallSize",
     "1.070154 * overallSize"
    ],
    [
     "0.194861 * overallSize",
     "1.043585 * overallSize"
    ],
    [
     "0.197547 * overallSize",
     "1.017338 * overallSize"
    ],
    [
     "0.216628 * overallSize",
     "0.980702 * overallSize"
    ],
    [
     "0.242639 * overallSize",
     "0.948429 * overallSize"
    ],
    [
     "0.274493 * overallSize",
     "0.921916 * overallSize"
    ],
    [
     "0.310952 * overallSize",
     "0.902203 * overallSize"
    ],
    [
     "0.350581 * overallSize",
     "0.890056 * overallSize"
    ],
    [
     "0.391825 * overallSize",
     "0.885953 * overallSize"
    ],
    [
     "0.433069 * overallSize",
     "0.890056 * overallSize"
    ],
    [
     "0.472699 * overallSize",
     "0.902203 * overallSize"
    ],
    [
     "0.509152 * overallSize",
     "0.921916 * overallSize"
    ],
    [
     "0.541012 * overallSize",
     "0.948429 * overallSize"
    ],
    [
     "0.567023 * overallSize",
     "0.980702 * overallSize"
    ],
    [
     "0.586103 * overallSize",
     "1.017338 * overallSize"
    ],
    [
     "0.588790 * overallSize",
     "1.043585 * overallSize"
    ],
    [
     "0.591010 * overallSize",
     "1.070154 * overallSize"
    ],
    [
     "0.592737 * overallSize",
     "1.096758 * overallSize"
    ],
    [
     "0.593965 * overallSize",
     "1.123387 * overallSize"
    ],
    [
     "0.594705 * overallSize",
     "1.150034 * overallSize"
    ],
    [
     "0.594952 * overallSize",
     "1.176693 * overallSize"
    ],
    [
     "0.594705 * overallSize",
     "1.203352 * overallSize"
    ],
    [
     "0.593965 * overallSize",
     "1.229999 * overallSize"
    ],
    [
     "0.592737 * overallSize",
     "1.256627 * overallSize"
    ],
    [
     "0.591010 * overallSize",
     "1.283232 * overallSize"
    ],
    [
     "0.588790 * overallSize",
     "1.309800 * overallSize"
    ],
    [
     "0.586075 * overallSize",
     "1.336328 * overallSize"
    ],
    [
     "0.468593 * overallSize",
     "2.388675 * overallSize"
    ],
    [
     "0.314721 * overallSize",
     "2.388675 * overallSize"
    ],
    [
     "0.197576 * overallSize",
     "1.336328 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.351105 * overallSize",
     "1.903128 * overallSize"
    ],
    [
     "-0.325992 * overallSize",
     "1.842494 * overallSize"
    ],
    [
     "-0.286040 * overallSize",
     "1.790430 * overallSize"
    ],
    [
     "-0.233975 * overallSize",
     "1.750478 * overallSize"
    ],
    [
     "-0.173342 * overallSize",
     "1.725365 * overallSize"
    ],
    [
     "-0.108277 * overallSize",
     "1.716796 * overallSize"
    ],
    [
     "-0.043212 * overallSize",
     "1.725365 * overallSize"
    ],
    [
     "0.017421 * overallSize",
     "1.750478 * overallSize"
    ],
    [
     "0.069486 * overallSize",
     "1.790430 * overallSize"
    ],
    [
     "0.109437 * overallSize",
     "1.842494 * overallSize"
    ],
    [
     "0.134551 * overallSize",
     "1.903128 * overallSize"
    ],
    [
     "0.143133 * overallSize",
     "1.968292 * overallSize"
    ],
    [
     "0.143133 * overallSize",
     "2.388675 * overallSize"
    ],
    [
     "-0.359879 * overallSize",
     "2.388675 * overallSize"
    ],
    [
     "-0.359687 * overallSize",
     "1.968292 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.363066 * overallSize",
     "2.812247 * overallSize"
    ],
    [
     "-0.354331 * overallSize",
     "2.878281 * overallSize"
    ],
    [
     "-0.328867 * overallSize",
     "2.939624 * overallSize"
    ],
    [
     "-0.288448 * overallSize",
     "2.992067 * overallSize"
    ],
    [
     "-0.235826 * overallSize",
     "3.032472 * overallSize"
    ],
    [
     "-0.174363 * overallSize",
     "3.057978 * overallSize"
    ],
    [
     "-0.108386 * overallSize",
     "3.066667 * overallSize"
    ],
    [
     "-0.042541 * overallSize",
     "3.057978 * overallSize"
    ],
    [
     "0.018815 * overallSize",
     "3.032547 * overallSize"
    ],
    [
     "0.071496 * overallSize",
     "2.992102 * overallSize"
    ],
    [
     "0.111914 * overallSize",
     "2.939400 * overallSize"
    ],
    [
     "0.137314 * overallSize",
     "2.878031 * overallSize"
    ],
    [
     "0.145970 * overallSize",
     "2.812247 * overallSize"
    ],
    [
     "0.145970 * overallSize",
     "2.391705 * overallSize"
    ],
    [
     "0.281251 * overallSize",
     "2.391705 * overallSize"
    ],
    [
     "-0.001615 * overallSize",
     "4.781627 * overallSize"
    ],
    [
     "-0.028714 * overallSize",
     "4.781627 * overallSize"
    ],
    [
     "0.088732 * overallSize",
     "3.729607 * overallSize"
    ],
    [
     "0.091453 * overallSize",
     "3.703017 * overallSize"
    ],
    [
     "0.093678 * overallSize",
     "3.676393 * overallSize"
    ],
    [
     "0.095406 * overallSize",
     "3.649760 * overallSize"
    ],
    [
     "0.096643 * overallSize",
     "3.623076 * overallSize"
    ],
    [
     "0.097385 * overallSize",
     "3.596345 * overallSize"
    ],
    [
     "0.097632 * overallSize",
     "3.569631 * overallSize"
    ],
    [
     "0.097385 * overallSize",
     "3.542944 * overallSize"
    ],
    [
     "0.096643 * overallSize",
     "3.516213 * overallSize"
    ],
    [
     "0.095406 * overallSize",
     "3.489529 * overallSize"
    ],
    [
     "0.093678 * overallSize",
     "3.462896 * overallSize"
    ],
    [
     "0.091450 * overallSize",
     "3.436244 * overallSize"
    ],
    [
     "0.088712 * overallSize",
     "3.409555 * overallSize"
    ],
    [
     "0.069124 * overallSize",
     "3.371880 * overallSize"
    ],
    [
     "0.042826 * overallSize",
     "3.339263 * overallSize"
    ],
    [
     "0.010513 * overallSize",
     "3.312367 * overallSize"
    ],
    [
     "-0.026473 * overallSize",
     "3.292370 * overallSize"
    ],
    [
     "-0.066529 * overallSize",
     "3.280084 * overallSize"
    ],
    [
     "-0.108512 * overallSize",
     "3.275886 * overallSize"
    ],
    [
     "-0.150351 * overallSize",
     "3.280048 * overallSize"
    ],
    [
     "-0.190411 * overallSize",
     "3.292319 * overallSize"
    ],
    [
     "-0.227531 * overallSize",
     "3.312367 * overallSize"
    ],
    [
     "-0.259850 * overallSize",
     "3.339263 * overallSize"
    ],
    [
     "-0.286148 * overallSize",
     "3.371880 * overallSize"
    ],
    [
     "-0.305736 * overallSize",
     "3.409555 * overallSize"
    ],
    [
     "-0.308474 * overallSize",
     "3.436244 * overallSize"
    ],
    [
     "-0.310702 * overallSize",
     "3.462896 * overallSize"
    ],
    [
     "-0.312432 * overallSize",
     "3.489557 * overallSize"
    ],
    [
     "-0.313662 * overallSize",
     "3.516241 * overallSize"
    ],
    [
     "-0.314404 * overallSize",
     "3.542944 * overallSize"
    ],
    [
     "-0.314651 * overallSize",
     "3.569659 * overallSize"
    ],
    [
     "-0.314404 * overallSize",
     "3.596345 * overallSize"
    ],
    [
     "-0.313661 * overallSize",
     "3.623075 * overallSize"
    ],
    [
     "-0.312431 * overallSize",
     "3.649760 * overallSize"
    ],
    [
     "-0.310700 * overallSize",
     "3.676421 * overallSize"
    ],
    [
     "-0.308477 * overallSize",
     "3.703017 * overallSize"
    ],
    [
     "-0.305756 * overallSize",
     "3.729607 * overallSize"
    ],
    [
     "-0.188310 * overallSize",
     "4.781627 * overallSize"
    ],
    [
     "-0.215529 * overallSize",
     "4.781627 * overallSize"
    ],
    [
     "-0.498293 * overallSize",
     "2.391705 * overallSize"
    ],
    [
     "-0.363066 * overallSize",
     "2.391705 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.002020 * overallSize",
     "4.778873 * overallSize"
    ],
    [
     "0.284282 * overallSize",
     "2.391723 * overallSize"
    ],
    [
     "0.311497 * overallSize",
     "2.391723 * overallSize"
    ],
    [
     "0.194051 * overallSize",
     "3.443743 * overallSize"
    ],
    [
     "0.191331 * overallSize",
     "3.470332 * overallSize"
    ],
    [
     "0.189108 * overallSize",
     "3.496929 * overallSize"
    ],
    [
     "0.187377 * overallSize",
     "3.523589 * overallSize"
    ],
    [
     "0.186146 * overallSize",
     "3.550274 * overallSize"
    ],
    [
     "0.185404 * overallSize",
     "3.577004 * overallSize"
    ],
    [
     "0.185157 * overallSize",
     "3.603719 * overallSize"
    ],
    [
     "0.185404 * overallSize",
     "3.630406 * overallSize"
    ],
    [
     "0.186145 * overallSize",
     "3.657108 * overallSize"
    ],
    [
     "0.187375 * overallSize",
     "3.683792 * overallSize"
    ],
    [
     "0.189106 * overallSize",
     "3.710453 * overallSize"
    ],
    [
     "0.191333 * overallSize",
     "3.737105 * overallSize"
    ],
    [
     "0.194071 * overallSize",
     "3.763794 * overallSize"
    ],
    [
     "0.213659 * overallSize",
     "3.801469 * overallSize"
    ],
    [
     "0.239957 * overallSize",
     "3.834087 * overallSize"
    ],
    [
     "0.272270 * overallSize",
     "3.860982 * overallSize"
    ],
    [
     "0.309256 * overallSize",
     "3.880980 * overallSize"
    ],
    [
     "0.349312 * overallSize",
     "3.893265 * overallSize"
    ],
    [
     "0.391295 * overallSize",
     "3.897464 * overallSize"
    ],
    [
     "0.433279 * overallSize",
     "3.893265 * overallSize"
    ],
    [
     "0.473335 * overallSize",
     "3.880980 * overallSize"
    ],
    [
     "0.510320 * overallSize",
     "3.860982 * overallSize"
    ],
    [
     "0.542634 * overallSize",
     "3.834087 * overallSize"
    ],
    [
     "0.568932 * overallSize",
     "3.801469 * overallSize"
    ],
    [
     "0.588519 * overallSize",
     "3.763794 * overallSize"
    ],
    [
     "0.591257 * overallSize",
     "3.737105 * overallSize"
    ],
    [
     "0.593485 * overallSize",
     "3.710453 * overallSize"
    ],
    [
     "0.595214 * overallSize",
     "3.683820 * overallSize"
    ],
    [
     "0.596450 * overallSize",
     "3.657136 * overallSize"
    ],
    [
     "0.597193 * overallSize",
     "3.630406 * overallSize"
    ],
    [
     "0.597440 * overallSize",
     "3.603691 * overallSize"
    ],
    [
     "0.597193 * overallSize",
     "3.577004 * overallSize"
    ],
    [
     "0.596450 * overallSize",
     "3.550274 * overallSize"
    ],
    [
     "0.595214 * overallSize",
     "3.523589 * overallSize"
    ],
    [
     "0.593485 * overallSize",
     "3.496957 * overallSize"
    ],
    [
     "0.591260 * overallSize",
     "3.470332 * overallSize"
    ],
    [
     "0.588539 * overallSize",
     "3.443743 * overallSize"
    ],
    [
     "0.471280 * overallSize",
     "2.391705 * overallSize"
    ],
    [
     "0.498379 * overallSize",
     "2.391705 * overallSize"
    ],
    [
     "0.780919 * overallSize",
     "4.778873 * overallSize"
    ],
    [
     "0.646084 * overallSize",
     "4.778873 * overallSize"
    ],
    [
     "0.646084 * overallSize",
     "4.361145 * overallSize"
    ],
    [
     "0.637394 * overallSize",
     "4.295234 * overallSize"
    ],
    [
     "0.611963 * overallSize",
     "4.233878 * overallSize"
    ],
    [
     "0.571517 * overallSize",
     "4.181197 * overallSize"
    ],
    [
     "0.518816 * overallSize",
     "4.140779 * overallSize"
    ],
    [
     "0.457446 * overallSize",
     "4.115379 * overallSize"
    ],
    [
     "0.391404 * overallSize",
     "4.106724 * overallSize"
    ],
    [
     "0.325559 * overallSize",
     "4.115413 * overallSize"
    ],
    [
     "0.264095 * overallSize",
     "4.140920 * overallSize"
    ],
    [
     "0.211615 * overallSize",
     "4.181197 * overallSize"
    ],
    [
     "0.171245 * overallSize",
     "4.233770 * overallSize"
    ],
    [
     "0.145783 * overallSize",
     "4.295110 * overallSize"
    ],
    [
     "0.137048 * overallSize",
     "4.361145 * overallSize"
    ],
    [
     "0.137048 * overallSize",
     "4.778873 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.242222 * overallSize",
     "3.831648 * overallSize"
    ],
    [
     "0.216061 * overallSize",
     "3.799357 * overallSize"
    ],
    [
     "0.196983 * overallSize",
     "3.762726 * overallSize"
    ],
    [
     "0.194331 * overallSize",
     "3.736812 * overallSize"
    ],
    [
     "0.192110 * overallSize",
     "3.710244 * overallSize"
    ],
    [
     "0.190383 * overallSize",
     "3.683639 * overallSize"
    ],
    [
     "0.189156 * overallSize",
     "3.657011 * overallSize"
    ],
    [
     "0.188415 * overallSize",
     "3.630364 * overallSize"
    ],
    [
     "0.188169 * overallSize",
     "3.603705 * overallSize"
    ],
    [
     "0.188415 * overallSize",
     "3.577046 * overallSize"
    ],
    [
     "0.189156 * overallSize",
     "3.550399 * overallSize"
    ],
    [
     "0.190383 * overallSize",
     "3.523770 * overallSize"
    ],
    [
     "0.192110 * overallSize",
     "3.497166 * overallSize"
    ],
    [
     "0.194331 * overallSize",
     "3.470597 * overallSize"
    ],
    [
     "0.197046 * overallSize",
     "3.444070 * overallSize"
    ],
    [
     "0.314532 * overallSize",
     "2.391687 * overallSize"
    ],
    [
     "0.468247 * overallSize",
     "2.391687 * overallSize"
    ],
    [
     "0.585545 * overallSize",
     "3.444070 * overallSize"
    ],
    [
     "0.588259 * overallSize",
     "3.470597 * overallSize"
    ],
    [
     "0.590480 * overallSize",
     "3.497166 * overallSize"
    ],
    [
     "0.592207 * overallSize",
     "3.523770 * overallSize"
    ],
    [
     "0.593441 * overallSize",
     "3.550399 * overallSize"
    ],
    [
     "0.594181 * overallSize",
     "3.577046 * overallSize"
    ],
    [
     "0.594428 * overallSize",
     "3.603705 * overallSize"
    ],
    [
     "0.594181 * overallSize",
     "3.630364 * overallSize"
    ],
    [
     "0.593441 * overallSize",
     "3.657011 * overallSize"
    ],
    [
     "0.592207 * overallSize",
     "3.683639 * overallSize"
    ],
    [
     "0.590480 * overallSize",
     "3.710244 * overallSize"
    ],
    [
     "0.588259 * overallSize",
     "3.736812 * overallSize"
    ],
    [
     "0.585586 * overallSize",
     "3.762936 * overallSize"
    ],
    [
     "0.566607 * overallSize",
     "3.799376 * overallSize"
    ],
    [
     "0.540596 * overallSize",
     "3.831649 * overallSize"
    ],
    [
     "0.508742 * overallSize",
     "3.858162 * overallSize"
    ],
    [
     "0.472283 * overallSize",
     "3.877875 * overallSize"
    ],
    [
     "0.432654 * overallSize",
     "3.890022 * overallSize"
    ],
    [
     "0.391410 * overallSize",
     "3.894125 * overallSize"
    ],
    [
     "0.350166 * overallSize",
     "3.890022 * overallSize"
    ],
    [
     "0.310536 * overallSize",
     "3.877875 * overallSize"
    ],
    [
     "0.274083 * overallSize",
     "3.858162 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.351473 * overallSize",
     "2.877312 * overallSize"
    ],
    [
     "-0.360054 * overallSize",
     "2.812148 * overallSize"
    ],
    [
     "-0.360054 * overallSize",
     "2.391765 * overallSize"
    ],
    [
     "0.142958 * overallSize",
     "2.391765 * overallSize"
    ],
    [
     "0.142958 * overallSize",
     "2.812148 * overallSize"
    ],
    [
     "0.134376 * overallSize",
     "2.877312 * overallSize"
    ],
    [
     "0.109263 * overallSize",
     "2.937945 * overallSize"
    ],
    [
     "0.069311 * overallSize",
     "2.990010 * overallSize"
    ],
    [
     "0.017247 * overallSize",
     "3.029962 * overallSize"
    ],
    [
     "-0.043387 * overallSize",
     "3.055075 * overallSize"
    ],
    [
     "-0.108452 * overallSize",
     "3.063644 * overallSize"
    ],
    [
     "-0.173516 * overallSize",
     "3.055075 * overallSize"
    ],
    [
     "-0.234150 * overallSize",
     "3.029962 * overallSize"
    ],
    [
     "-0.286216 * overallSize",
     "2.990009 * overallSize"
    ],
    [
     "-0.326360 * overallSize",
     "2.937944 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.302424 * overallSize",
     "3.729280 * overallSize"
    ],
    [
     "-0.305139 * overallSize",
     "3.702752 * overallSize"
    ],
    [
     "-0.307359 * overallSize",
     "3.676184 * overallSize"
    ],
    [
     "-0.309087 * overallSize",
     "3.649579 * overallSize"
    ],
    [
     "-0.310320 * overallSize",
     "3.622950 * overallSize"
    ],
    [
     "-0.311060 * overallSize",
     "3.596303 * overallSize"
    ],
    [
     "-0.311307 * overallSize",
     "3.569645 * overallSize"
    ],
    [
     "-0.311060 * overallSize",
     "3.542986 * overallSize"
    ],
    [
     "-0.310320 * overallSize",
     "3.516339 * overallSize"
    ],
    [
     "-0.309087 * overallSize",
     "3.489710 * overallSize"
    ],
    [
     "-0.307359 * overallSize",
     "3.463105 * overallSize"
    ],
    [
     "-0.305139 * overallSize",
     "3.436537 * overallSize"
    ],
    [
     "-0.302453 * overallSize",
     "3.410289 * overallSize"
    ],
    [
     "-0.283372 * overallSize",
     "3.373654 * overallSize"
    ],
    [
     "-0.257361 * overallSize",
     "3.341381 * overallSize"
    ],
    [
     "-0.225507 * overallSize",
     "3.314868 * overallSize"
    ],
    [
     "-0.189048 * overallSize",
     "3.295155 * overallSize"
    ],
    [
     "-0.149419 * overallSize",
     "3.283008 * overallSize"
    ],
    [
     "-0.108343 * overallSize",
     "3.278922 * overallSize"
    ],
    [
     "-0.067268 * overallSize",
     "3.283008 * overallSize"
    ],
    [
     "-0.027639 * overallSize",
     "3.295155 * overallSize"
    ],
    [
     "0.008820 * overallSize",
     "3.314868 * overallSize"
    ],
    [
     "0.040674 * overallSize",
     "3.341381 * overallSize"
    ],
    [
     "0.066685 * overallSize",
     "3.373654 * overallSize"
    ],
    [
     "0.085766 * overallSize",
     "3.410289 * overallSize"
    ],
    [
     "0.088452 * overallSize",
     "3.436537 * overallSize"
    ],
    [
     "0.090673 * overallSize",
     "3.463105 * overallSize"
    ],
    [
     "0.092400 * overallSize",
     "3.489710 * overallSize"
    ],
    [
     "0.093633 * overallSize",
     "3.516339 * overallSize"
    ],
    [
     "0.094374 * overallSize",
     "3.542986 * overallSize"
    ],
    [
     "0.094620 * overallSize",
     "3.569645 * overallSize"
    ],
    [
     "0.094374 * overallSize",
     "3.596303 * overallSize"
    ],
    [
     "0.093633 * overallSize",
     "3.622950 * overallSize"
    ],
    [
     "0.092400 * overallSize",
     "3.649579 * overallSize"
    ],
    [
     "0.090673 * overallSize",
     "3.676184 * overallSize"
    ],
    [
     "0.088452 * overallSize",
     "3.702752 * overallSize"
    ],
    [
     "0.085737 * overallSize",
     "3.729280 * overallSize"
    ],
    [
     "-0.031745 * overallSize",
     "4.781627 * overallSize"
    ],
    [
     "-0.185279 * overallSize",
     "4.781627 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.148835 * overallSize",
     "4.296080 * overallSize"
    ],
    [
     "0.173948 * overallSize",
     "4.235446 * overallSize"
    ],
    [
     "0.213899 * overallSize",
     "4.183381 * overallSize"
    ],
    [
     "0.265964 * overallSize",
     "4.143430 * overallSize"
    ],
    [
     "0.326598 * overallSize",
     "4.118317 * overallSize"
    ],
    [
     "0.391663 * overallSize",
     "4.109748 * overallSize"
    ],
    [
     "0.456727 * overallSize",
     "4.118317 * overallSize"
    ],
    [
     "0.517361 * overallSize",
     "4.143430 * overallSize"
    ],
    [
     "0.569426 * overallSize",
     "4.183381 * overallSize"
    ],
    [
     "0.609377 * overallSize",
     "4.235446 * overallSize"
    ],
    [
     "0.634491 * overallSize",
     "4.296080 * overallSize"
    ],
    [
     "0.643072 * overallSize",
     "4.361243 * overallSize"
    ],
    [
     "0.643072 * overallSize",
     "4.781627 * overallSize"
    ],
    [
     "0.140061 * overallSize",
     "4.781627 * overallSize"
    ],
    [
     "0.140253 * overallSize",
     "4.361244 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.136873 * overallSize",
     "5.202428 * overallSize"
    ],
    [
     "0.145609 * overallSize",
     "5.268462 * overallSize"
    ],
    [
     "0.171072 * overallSize",
     "5.329805 * overallSize"
    ],
    [
     "0.211492 * overallSize",
     "5.382248 * overallSize"
    ],
    [
     "0.264113 * overallSize",
     "5.422653 * overallSize"
    ],
    [
     "0.325577 * overallSize",
     "5.448159 * overallSize"
    ],
    [
     "0.391554 * overallSize",
     "5.456848 * overallSize"
    ],
    [
     "0.457399 * overallSize",
     "5.448159 * overallSize"
    ],
    [
     "0.518755 * overallSize",
     "5.422728 * overallSize"
    ],
    [
     "0.571436 * overallSize",
     "5.382283 * overallSize"
    ],
    [
     "0.611854 * overallSize",
     "5.329581 * overallSize"
    ],
    [
     "0.637253 * overallSize",
     "5.268212 * overallSize"
    ],
    [
     "0.645910 * overallSize",
     "5.202428 * overallSize"
    ],
    [
     "0.646084 * overallSize",
     "4.781886 * overallSize"
    ],
    [
     "0.781191 * overallSize",
     "4.781886 * overallSize"
    ],
    [
     "0.498324 * overallSize",
     "7.171807 * overallSize"
    ],
    [
     "0.471226 * overallSize",
     "7.171807 * overallSize"
    ],
    [
     "0.588671 * overallSize",
     "6.119788 * overallSize"
    ],
    [
     "0.591392 * overallSize",
     "6.093198 * overallSize"
    ],
    [
     "0.593617 * overallSize",
     "6.066573 * overallSize"
    ],
    [
     "0.595346 * overallSize",
     "6.039941 * overallSize"
    ],
    [
     "0.596583 * overallSize",
     "6.013256 * overallSize"
    ],
    [
     "0.597325 * overallSize",
     "5.986526 * overallSize"
    ],
    [
     "0.597572 * overallSize",
     "5.959811 * overallSize"
    ],
    [
     "0.597325 * overallSize",
     "5.933125 * overallSize"
    ],
    [
     "0.596583 * overallSize",
     "5.906394 * overallSize"
    ],
    [
     "0.595346 * overallSize",
     "5.879710 * overallSize"
    ],
    [
     "0.593617 * overallSize",
     "5.853077 * overallSize"
    ],
    [
     "0.591390 * overallSize",
     "5.826425 * overallSize"
    ],
    [
     "0.588652 * overallSize",
     "5.799736 * overallSize"
    ],
    [
     "0.569064 * overallSize",
     "5.762061 * overallSize"
    ],
    [
     "0.542766 * overallSize",
     "5.729444 * overallSize"
    ],
    [
     "0.510452 * overallSize",
     "5.702548 * overallSize"
    ],
    [
     "0.473467 * overallSize",
     "5.682551 * overallSize"
    ],
    [
     "0.433411 * overallSize",
     "5.670265 * overallSize"
    ],
    [
     "0.391428 * overallSize",
     "5.666066 * overallSize"
    ],
    [
     "0.349589 * overallSize",
     "5.670228 * overallSize"
    ],
    [
     "0.309529 * overallSize",
     "5.682500 * overallSize"
    ],
    [
     "0.272409 * overallSize",
     "5.702548 * overallSize"
    ],
    [
     "0.240089 * overallSize",
     "5.729443 * overallSize"
    ],
    [
     "0.213791 * overallSize",
     "5.762061 * overallSize"
    ],
    [
     "0.194204 * overallSize",
     "5.799736 * overallSize"
    ],
    [
     "0.191466 * overallSize",
     "5.826425 * overallSize"
    ],
    [
     "0.189238 * overallSize",
     "5.853077 * overallSize"
    ],
    [
     "0.187508 * overallSize",
     "5.879738 * overallSize"
    ],
    [
     "0.186278 * overallSize",
     "5.906422 * overallSize"
    ],
    [
     "0.185536 * overallSize",
     "5.933125 * overallSize"
    ],
    [
     "0.185289 * overallSize",
     "5.959839 * overallSize"
    ],
    [
     "0.185536 * overallSize",
     "5.986526 * overallSize"
    ],
    [
     "0.186279 * overallSize",
     "6.013256 * overallSize"
    ],
    [
     "0.187509 * overallSize",
     "6.039941 * overallSize"
    ],
    [
     "0.189240 * overallSize",
     "6.066601 * overallSize"
    ],
    [
     "0.191463 * overallSize",
     "6.093198 * overallSize"
    ],
    [
     "0.194184 * overallSize",
     "6.119788 * overallSize"
    ],
    [
     "0.311630 * overallSize",
     "7.171807 * overallSize"
    ],
    [
     "0.284411 * overallSize",
     "7.171807 * overallSize"
    ],
    [
     "0.001647 * overallSize",
     "4.781886 * overallSize"
    ],
    [
     "0.136873 * overallSize",
     "4.781886 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.215807 * overallSize",
     "4.784639 * overallSize"
    ],
    [
     "-0.188690 * overallSize",
     "4.784639 * overallSize"
    ],
    [
     "-0.305828 * overallSize",
     "5.833905 * overallSize"
    ],
    [
     "-0.308543 * overallSize",
     "5.860495 * overallSize"
    ],
    [
     "-0.310766 * overallSize",
     "5.887091 * overallSize"
    ],
    [
     "-0.312497 * overallSize",
     "5.913746 * overallSize"
    ],
    [
     "-0.313733 * overallSize",
     "5.940436 * overallSize"
    ],
    [
     "-0.314476 * overallSize",
     "5.967167 * overallSize"
    ],
    [
     "-0.314723 * overallSize",
     "5.993881 * overallSize"
    ],
    [
     "-0.314476 * overallSize",
     "6.020568 * overallSize"
    ],
    [
     "-0.313733 * overallSize",
     "6.047299 * overallSize"
    ],
    [
     "-0.312497 * overallSize",
     "6.073983 * overallSize"
    ],
    [
     "-0.310768 * overallSize",
     "6.100616 * overallSize"
    ],
    [
     "-0.308540 * overallSize",
     "6.127261 * overallSize"
    ],
    [
     "-0.305808 * overallSize",
     "6.153950 * overallSize"
    ],
    [
     "-0.286221 * overallSize",
     "6.191632 * overallSize"
    ],
    [
     "-0.259923 * overallSize",
     "6.224243 * overallSize"
    ],
    [
     "-0.227603 * overallSize",
     "6.251139 * overallSize"
    ],
    [
     "-0.190477 * overallSize",
     "6.271193 * overallSize"
    ],
    [
     "-0.150417 * overallSize",
     "6.283458 * overallSize"
    ],
    [
     "-0.108578 * overallSize",
     "6.287620 * overallSize"
    ],
    [
     "-0.066740 * overallSize",
     "6.283458 * overallSize"
    ],
    [
     "-0.026685 * overallSize",
     "6.271193 * overallSize"
    ],
    [
     "0.010440 * overallSize",
     "6.251139 * overallSize"
    ],
    [
     "0.042760 * overallSize",
     "6.224243 * overallSize"
    ],
    [
     "0.069058 * overallSize",
     "6.191632 * overallSize"
    ],
    [
     "0.088646 * overallSize",
     "6.153951 * overallSize"
    ],
    [
     "0.091384 * overallSize",
     "6.127262 * overallSize"
    ],
    [
     "0.093611 * overallSize",
     "6.100615 * overallSize"
    ],
    [
     "0.095334 * overallSize",
     "6.073983 * overallSize"
    ],
    [
     "0.096571 * overallSize",
     "6.047299 * overallSize"
    ],
    [
     "0.097313 * overallSize",
     "6.020568 * overallSize"
    ],
    [
     "0.097560 * overallSize",
     "5.993854 * overallSize"
    ],
    [
     "0.097313 * overallSize",
     "5.967167 * overallSize"
    ],
    [
     "0.096572 * overallSize",
     "5.940464 * overallSize"
    ],
    [
     "0.095336 * overallSize",
     "5.913774 * overallSize"
    ],
    [
     "0.093611 * overallSize",
     "5.887120 * overallSize"
    ],
    [
     "0.091386 * overallSize",
     "5.860495 * overallSize"
    ],
    [
     "0.088665 * overallSize",
     "5.833905 * overallSize"
    ],
    [
     "-0.028473 * overallSize",
     "4.784639 * overallSize"
    ],
    [
     "-0.001235 * overallSize",
     "4.784639 * overallSize"
    ],
    [
     "0.281305 * overallSize",
     "7.171807 * overallSize"
    ],
    [
     "0.145952 * overallSize",
     "7.171807 * overallSize"
    ],
    [
     "0.145952 * overallSize",
     "6.751325 * overallSize"
    ],
    [
     "0.137262 * overallSize",
     "6.685415 * overallSize"
    ],
    [
     "0.111830 * overallSize",
     "6.624058 * overallSize"
    ],
    [
     "0.071385 * overallSize",
     "6.571378 * overallSize"
    ],
    [
     "0.018683 * overallSize",
     "6.530959 * overallSize"
    ],
    [
     "-0.042686 * overallSize",
     "6.505560 * overallSize"
    ],
    [
     "-0.108536 * overallSize",
     "6.496905 * overallSize"
    ],
    [
     "-0.174381 * overallSize",
     "6.505594 * overallSize"
    ],
    [
     "-0.235737 * overallSize",
     "6.531025 * overallSize"
    ],
    [
     "-0.288325 * overallSize",
     "6.571378 * overallSize"
    ],
    [
     "-0.328770 * overallSize",
     "6.624058 * overallSize"
    ],
    [
     "-0.354201 * overallSize",
     "6.685415 * overallSize"
    ],
    [
     "-0.362892 * overallSize",
     "6.751325 * overallSize"
    ],
    [
     "-0.362892 * overallSize",
     "7.171807 * overallSize"
    ],
    [
     "-0.498245 * overallSize",
     "7.171807 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.225857 * overallSize",
     "6.248343 * overallSize"
    ],
    [
     "-0.257720 * overallSize",
     "6.221827 * overallSize"
    ],
    [
     "-0.283782 * overallSize",
     "6.189858 * overallSize"
    ],
    [
     "-0.302862 * overallSize",
     "6.153217 * overallSize"
    ],
    [
     "-0.305543 * overallSize",
     "6.126969 * overallSize"
    ],
    [
     "-0.307763 * overallSize",
     "6.100407 * overallSize"
    ],
    [
     "-0.309490 * overallSize",
     "6.073802 * overallSize"
    ],
    [
     "-0.310724 * overallSize",
     "6.047173 * overallSize"
    ],
    [
     "-0.311464 * overallSize",
     "6.020526 * overallSize"
    ],
    [
     "-0.311711 * overallSize",
     "5.993867 * overallSize"
    ],
    [
     "-0.311464 * overallSize",
     "5.967209 * overallSize"
    ],
    [
     "-0.310724 * overallSize",
     "5.940562 * overallSize"
    ],
    [
     "-0.309490 * overallSize",
     "5.913927 * overallSize"
    ],
    [
     "-0.307763 * overallSize",
     "5.887328 * overallSize"
    ],
    [
     "-0.305543 * overallSize",
     "5.860760 * overallSize"
    ],
    [
     "-0.302834 * overallSize",
     "5.834232 * overallSize"
    ],
    [
     "-0.185659 * overallSize",
     "4.784639 * overallSize"
    ],
    [
     "-0.031504 * overallSize",
     "4.784639 * overallSize"
    ],
    [
     "0.085671 * overallSize",
     "5.834232 * overallSize"
    ],
    [
     "0.088386 * overallSize",
     "5.860760 * overallSize"
    ],
    [
     "0.090606 * overallSize",
     "5.887328 * overallSize"
    ],
    [
     "0.092328 * overallSize",
     "5.913927 * overallSize"
    ],
    [
     "0.093561 * overallSize",
     "5.940562 * overallSize"
    ],
    [
     "0.094301 * overallSize",
     "5.967209 * overallSize"
    ],
    [
     "0.094548 * overallSize",
     "5.993867 * overallSize"
    ],
    [
     "0.094301 * overallSize",
     "6.020526 * overallSize"
    ],
    [
     "0.093561 * overallSize",
     "6.047173 * overallSize"
    ],
    [
     "0.092328 * overallSize",
     "6.073802 * overallSize"
    ],
    [
     "0.090606 * overallSize",
     "6.100407 * overallSize"
    ],
    [
     "0.088386 * overallSize",
     "6.126969 * overallSize"
    ],
    [
     "0.085726 * overallSize",
     "6.152964 * overallSize"
    ],
    [
     "0.066667 * overallSize",
     "6.189557 * overallSize"
    ],
    [
     "0.040656 * overallSize",
     "6.221830 * overallSize"
    ],
    [
     "0.008802 * overallSize",
     "6.248343 * overallSize"
    ],
    [
     "-0.027657 * overallSize",
     "6.268056 * overallSize"
    ],
    [
     "-0.067286 * overallSize",
     "6.280203 * overallSize"
    ],
    [
     "-0.108530 * overallSize",
     "6.284306 * overallSize"
    ],
    [
     "-0.149774 * overallSize",
     "6.280203 * overallSize"
    ],
    [
     "-0.189403 * overallSize",
     "6.268056 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.642898 * overallSize",
     "4.784639 * overallSize"
    ],
    [
     "0.642898 * overallSize",
     "5.202329 * overallSize"
    ],
    [
     "0.634316 * overallSize",
     "5.267492 * overallSize"
    ],
    [
     "0.609203 * overallSize",
     "5.328126 * overallSize"
    ],
    [
     "0.569251 * overallSize",
     "5.380191 * overallSize"
    ],
    [
     "0.517186 * overallSize",
     "5.420142 * overallSize"
    ],
    [
     "0.456553 * overallSize",
     "5.445256 * overallSize"
    ],
    [
     "0.391488 * overallSize",
     "5.453824 * overallSize"
    ],
    [
     "0.326423 * overallSize",
     "5.445256 * overallSize"
    ],
    [
     "0.265790 * overallSize",
     "5.420142 * overallSize"
    ],
    [
     "0.213723 * overallSize",
     "5.380190 * overallSize"
    ],
    [
     "0.173580 * overallSize",
     "5.328124 * overallSize"
    ],
    [
     "0.148467 * overallSize",
     "5.267492 * overallSize"
    ],
    [
     "0.139886 * overallSize",
     "5.202329 * overallSize"
    ],
    [
     "0.139886 * overallSize",
     "4.784639 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "166 / 166 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "794 / 166 * overallSize"
  ]
 }
},"cedar-shingle":{
  "schema": 1,
  "id": "cedar-shingle",
  "name": "Cedar shingle (random widths)",
  "category": "lapped",
  "parameters": {
    "gauge": { "value": 139.7, "min": 50, "max": 300, "label": "Exposure" },
    "minimumLength": { "value": 76.2, "min": 25.4, "max": 254, "label": "Narrowest shingle" },
    "maximumLength": { "value": 254, "min": 177.8, "max": 600, "label": "Widest shingle" },
    "lengthStep": { "expr": "25.4" },
    "rows": { "expr": "8" },
    "period": { "expr": "40 * minimumLength" },
    "minimumStagger": { "expr": "38.1" }
  },
  "generator": {
    "randomRows": {
      "width": "gauge",
      "minimumLength": "minimumLength",
      "maximumLength": "maximumLength",
      "lengthStep": "lengthStep",
      "rows": "rows",
      "period": "period",
      "minimumStagger": "minimumStagger",
      "seed": "seed"
    }
  },
  "lap": {"rows": 317.5}
}
,"chamfered-pinwheel-panel":{
  "schema": 1,
  "id": "chamfered-pinwheel-panel",
  "name": "Chamfered pinwheel panel",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 15,
      "min": 4,
      "max": 100,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "10 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "0"
        ],
        [
          "20 * moduleSize",
          "0"
        ],
        [
          "20 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "30 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "27 * moduleSize",
          "0"
        ],
        [
          "40 * moduleSize",
          "0"
        ],
        [
          "30 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * moduleSize",
          "0"
        ],
        [
          "10 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "0",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "40 * moduleSize",
          "0"
        ],
        [
          "40 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "37 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "0",
          "13 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "20 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "0"
        ],
        [
          "27 * moduleSize",
          "0"
        ],
        [
          "30 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "20 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "13 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "0",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "30 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "30 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "37 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "33 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "27 * moduleSize"
        ],
        [
          "0",
          "20 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "30 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "30 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "30 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "30 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "30 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "37 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "30 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "37 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "40 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "30 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "27 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "0",
          "40 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "37 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "40 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "40 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "20 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "37 * moduleSize"
        ],
        [
          "27 * moduleSize",
          "40 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "40 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "30 * moduleSize",
          "37 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "40 * moduleSize"
        ],
        [
          "27 * moduleSize",
          "40 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "37 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "40 * moduleSize"
        ],
        [
          "0",
          "40 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "40 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-40 * moduleSize"
    ]
  }
},"chamfered-rectangle-weave":{
  "schema": 1,
  "id": "chamfered-rectangle-weave",
  "name": "Chamfered rectangle weave",
  "category": "stone",
  "parameters": {
    "width": { "value": 90, "min": 20, "max": 1200, "label": "Square paver" },
    "chamfer": { "expr": "width / 2" },
    "half": { "expr": "2 * chamfer + width" },
    "cell": { "expr": "2 * (2 * chamfer + width)" }
  },
  "tiles": [
    {
      "polygon": [
        ["half", "0"], ["cell", "0"], ["cell", "half"], ["half + chamfer + width", "half + chamfer"],
        ["half + chamfer", "half + chamfer"], ["half", "half"]
      ]
    },
    {
      "polygon": [
        ["0", "half"], ["half", "half"], ["half", "cell"], ["chamfer + width", "cell + chamfer"],
        ["chamfer", "cell + chamfer"], ["0", "cell"]
      ]
    },
    { "rect": ["chamfer", "chamfer", "chamfer + width", "chamfer + width"] },
    { "rect": ["half + chamfer", "half + chamfer", "half + chamfer + width", "half + chamfer + width"] },
    { "polygon": [["0", "0"], ["chamfer", "chamfer"], ["chamfer", "chamfer + width"], ["0", "half"]] },
    { "polygon": [["half", "0"], ["half", "half"], ["chamfer + width", "chamfer + width"], ["chamfer + width", "chamfer"]] },
    { "polygon": [["chamfer", "chamfer + width"], ["chamfer + width", "chamfer + width"], ["half", "half"], ["0", "half"]] },
    { "polygon": [["half", "half"], ["half + chamfer", "half + chamfer"], ["half + chamfer", "half + chamfer + width"], ["half", "cell"]] },
    { "polygon": [["cell", "half"], ["cell", "cell"], ["half + chamfer + width", "half + chamfer + width"], ["half + chamfer + width", "half + chamfer"]] },
    { "polygon": [["half + chamfer", "half + chamfer + width"], ["half + chamfer + width", "half + chamfer + width"], ["cell", "cell"], ["half", "cell"]] }
  ],
  "lattice": { "a": ["cell", "0"], "b": ["0", "cell"] }
}
,"chamfered-split-bands":{
  "schema": 1,
  "id": "chamfered-split-bands",
  "name": "Chamfered split bands",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 70,
      "min": 15,
      "max": 400,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "moduleSize",
          "6 * moduleSize"
        ],
        [
          "0",
          "5 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "7 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "0",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ],
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "8 * moduleSize"
    ]
  }
},"chamfered-square-and-diamond":{
  "schema": 1,
  "id": "chamfered-square-and-diamond",
  "name": "Chamfered square and diamond",
  "category": "stone",
  "parameters": {
    "cellSize": {
      "value": 200,
      "min": 40,
      "max": 2000,
      "label": "Grid square"
    },
    "inset": {
      "expr": "cellSize / 5"
    },
    "chamfer": {
      "expr": "3 * cellSize / 40"
    },
    "point": {
      "expr": "cellSize / 8"
    },
    "half": {
      "expr": "cellSize / 2"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "inset + chamfer",
          "inset"
        ],
        [
          "cellSize - inset - chamfer",
          "inset"
        ],
        [
          "cellSize - inset",
          "inset + chamfer"
        ],
        [
          "cellSize - inset",
          "cellSize - inset - chamfer"
        ],
        [
          "cellSize - inset - chamfer",
          "cellSize - inset"
        ],
        [
          "inset + chamfer",
          "cellSize - inset"
        ],
        [
          "inset",
          "cellSize - inset - chamfer"
        ],
        [
          "inset",
          "inset + chamfer"
        ]
      ]
    },
    {
      "polygon": [
        [
          "point",
          "0"
        ],
        [
          "0",
          "point"
        ],
        [
          "-point",
          "0"
        ],
        [
          "0",
          "-point"
        ]
      ]
    },
    {
      "repeat": {
        "index": "k",
        "count": "4"
      },
      "polygon": [
        [
          "half",
          "0"
        ],
        [
          "cellSize - point",
          "0"
        ],
        [
          "cellSize",
          "point"
        ],
        [
          "cellSize",
          "half"
        ],
        [
          "cellSize - inset",
          "half"
        ],
        [
          "cellSize - inset",
          "inset + chamfer"
        ],
        [
          "cellSize - inset - chamfer",
          "inset"
        ],
        [
          "half",
          "inset"
        ]
      ],
      "transform": [
        {
          "rotate": {
            "angle": "90 * k",
            "center": [
              "half",
              "half"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "cellSize",
      "0"
    ],
    "b": [
      "0",
      "cellSize"
    ]
  }
}
,"chantilly-parquet":{
  "schema": 1,
  "id": "chantilly-parquet",
  "name": "Chantilly parquet",
  "category": "wood",
  "angle": 45,
  "parameters": {
    "width": { "value": 150, "min": 20, "max": 600, "label": "Block width (length = 3 x width)" },
    "length": { "expr": "3 * width" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "length + width", "width"] },
    { "rect": ["length + width", "0", "length + 2 * width", "length"] },
    { "rect": ["2 * length + width", "0", "2 * length + 2 * width", "width"] }
  ],
  "lattice": { "a": ["-width", "width"], "b": ["2 * length + 2 * width", "0"] }
}
,"chantilly-weave":{
  "schema": 1,
  "id": "chantilly-weave",
  "name": "Chantilly weave",
  "category": "wood",
  "parameters": {
    "width": { "value": 50.8, "min": 10, "max": 300, "label": "Plank width (length = 6 x width)" }
  },
  "tiles": [
    {"rect": ["0 * width", "3 * width", "1 * width", "9 * width"]},
    {"rect": ["1 * width", "3 * width", "2 * width", "9 * width"]},
    {"rect": ["2 * width", "3 * width", "3 * width", "9 * width"]},
    {"rect": ["3 * width", "6 * width", "9 * width", "7 * width"]},
    {"rect": ["3 * width", "7 * width", "9 * width", "8 * width"]},
    {"rect": ["3 * width", "8 * width", "9 * width", "9 * width"]},
    {"rect": ["3 * width", "3 * width", "6 * width", "4 * width"]},
    {"rect": ["3 * width", "4 * width", "6 * width", "5 * width"]},
    {"rect": ["3 * width", "5 * width", "6 * width", "6 * width"]},
    {"rect": ["6 * width", "0", "7 * width", "6 * width"]},
    {"rect": ["7 * width", "0", "8 * width", "6 * width"]},
    {"rect": ["8 * width", "0", "9 * width", "6 * width"]},
    {"rect": ["0 * width", "0 * width", "6 * width", "1 * width"]},
    {"rect": ["0 * width", "1 * width", "6 * width", "2 * width"]},
    {"rect": ["0 * width", "2 * width", "6 * width", "3 * width"]},
    {"rect": ["9 * width + 0 * width", "3 * width", "9 * width + 1 * width", "9 * width"]},
    {"rect": ["9 * width + 1 * width", "3 * width", "9 * width + 2 * width", "9 * width"]},
    {"rect": ["9 * width + 2 * width", "3 * width", "9 * width + 3 * width", "9 * width"]},
    {"rect": ["9 * width + 3 * width", "6 * width", "9 * width + 9 * width", "7 * width"]},
    {"rect": ["9 * width + 3 * width", "7 * width", "9 * width + 9 * width", "8 * width"]},
    {"rect": ["9 * width + 3 * width", "8 * width", "9 * width + 9 * width", "9 * width"]},
    {"rect": ["9 * width + 3 * width", "3 * width", "9 * width + 4 * width", "6 * width"]},
    {"rect": ["9 * width + 4 * width", "3 * width", "9 * width + 5 * width", "6 * width"]},
    {"rect": ["9 * width + 5 * width", "3 * width", "9 * width + 6 * width", "6 * width"]},
    {"rect": ["9 * width + 6 * width", "0", "9 * width + 7 * width", "6 * width"]},
    {"rect": ["9 * width + 7 * width", "0", "9 * width + 8 * width", "6 * width"]},
    {"rect": ["9 * width + 8 * width", "0", "9 * width + 9 * width", "6 * width"]},
    {"rect": ["9 * width + 0 * width", "0 * width", "9 * width + 6 * width", "1 * width"]},
    {"rect": ["9 * width + 0 * width", "1 * width", "9 * width + 6 * width", "2 * width"]},
    {"rect": ["9 * width + 0 * width", "2 * width", "9 * width + 6 * width", "3 * width"]}
  ],
  "lattice": {"a": ["9 * width", "9 * width"], "b": ["9 * width", "-9 * width"]}
}
,"check-parquet-7":{
  "schema": 1,
  "id": "check-parquet-7",
  "name": "Check parquet (7 strips)",
  "category": "wood",
  "parameters": {
    "width": { "value": 70, "min": 10, "max": 300, "label": "Strip width (length = 7 x width)" }
  },
  "tiles": [
    {"rect": ["0", "0 * width", "7 * width", "1 * width"]},
    {"rect": ["0", "1 * width", "7 * width", "2 * width"]},
    {"rect": ["0", "2 * width", "7 * width", "3 * width"]},
    {"rect": ["0", "3 * width", "7 * width", "4 * width"]},
    {"rect": ["0", "4 * width", "7 * width", "5 * width"]},
    {"rect": ["0", "5 * width", "7 * width", "6 * width"]},
    {"rect": ["0", "6 * width", "7 * width", "7 * width"]},
    {"rect": ["7 * width", "0", "8 * width", "7 * width"]},
    {"rect": ["8 * width", "0", "9 * width", "7 * width"]},
    {"rect": ["9 * width", "0", "10 * width", "7 * width"]},
    {"rect": ["10 * width", "0", "11 * width", "7 * width"]},
    {"rect": ["11 * width", "0", "12 * width", "7 * width"]},
    {"rect": ["12 * width", "0", "13 * width", "7 * width"]},
    {"rect": ["13 * width", "0", "14 * width", "7 * width"]}
  ],
  "lattice": {"a": ["14 * width", "0"], "b": ["7 * width", "7 * width"]}
}
,"checker-mosaic":{
  "schema": 1,
  "id": "checker-mosaic",
  "name": "Checkered mosaic",
  "category": "ceramic",
  "parameters": {
    "length": { "value": 200, "min": 50, "max": 1200, "label": "Large tile side" },
    "dotSize": { "expr": "length / 5" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "length"] },
    { "rect": ["length", "length", "2 * length", "2 * length"] },
    { "repeat": { "index": "k", "count": "25" },
      "rect": ["length + (k - 5 * floor(k / 5)) * dotSize", "floor(k / 5) * dotSize",
               "length + (k - 5 * floor(k / 5) + 1) * dotSize", "(floor(k / 5) + 1) * dotSize"] },
    { "repeat": { "index": "k", "count": "25" },
      "rect": ["(k - 5 * floor(k / 5)) * dotSize", "length + floor(k / 5) * dotSize",
               "(k - 5 * floor(k / 5) + 1) * dotSize", "length + (floor(k / 5) + 1) * dotSize"] }
  ],
  "lattice": { "a": ["2 * length", "0"], "b": ["0", "2 * length"] }
}
,"checkerboard-split":{
  "schema": 1,
  "id": "checkerboard-split",
  "name": "Checkerboard split",
  "category": "stone",
  "parameters": {
    "length": { "value": 240, "min": 60, "max": 1200, "label": "Large paver side" },
    "band": { "expr": "length / 4" },
    "columnWidth": { "expr": "length / 4" },
    "step": { "expr": "5 * length / 36" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "length"] },
    { "rect": ["0", "length", "length", "length + band"] },
    { "repeat": { "index": "k", "count": "3" },
      "rect": ["length", "3 * k * step", "length + columnWidth", "(3 * k + 1) * step"] },
    { "repeat": { "index": "k", "count": "3" },
      "rect": ["length", "(3 * k + 1) * step", "length + columnWidth", "(3 * k + 3) * step"] }
  ],
  "lattice": { "a": ["length + columnWidth", "0"], "b": ["0", "length + band"] }
}
,"chevron-diamond":{
  "schema": 1,
  "id": "chevron-diamond",
  "name": "Chevron diamond",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 250, "min": 40, "max": 900, "label": "Square module" },
    "two": { "expr": "2 * moduleSize" },
    "three": { "expr": "3 * moduleSize" },
    "four": { "expr": "4 * moduleSize" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["moduleSize", "0"], ["0", "moduleSize"]] },
    { "polygon": [["three", "0"], ["four", "0"], ["four", "moduleSize"]] },
    { "polygon": [["moduleSize", "two"], ["two", "moduleSize"], ["two", "two"]] },
    { "polygon": [["two", "moduleSize"], ["three", "two"], ["two", "two"]] },
    { "polygon": [["0", "two"], ["two", "0"], ["two", "moduleSize"], ["moduleSize", "two"]] },
    { "polygon": [["two", "0"], ["0", "two"], ["0", "moduleSize"], ["moduleSize", "0"]] },
    { "polygon": [["two", "0"], ["four", "two"], ["three", "two"], ["two", "moduleSize"]] },
    { "polygon": [["two", "0"], ["three", "0"], ["four", "moduleSize"], ["four", "two"]] }
  ],
  "lattice": { "a": ["four", "0"], "b": ["two", "two"] }
}
,"chevron-paver":{
  "schema": 1,
  "id": "chevron-paver",
  "name": "Chevron paver",
  "category": "stone",
  "parameters": {
    "length": { "value": 300, "min": 40, "max": 1500, "label": "Arm length" },
    "width": { "value": 100, "min": 20, "max": 600, "label": "Arm width" },
    "cutAngle": { "value": 45, "min": 10, "max": 80, "label": "Arm angle (degrees)", "unit": "deg" },
    "reach": { "expr": "length * cos(cutAngle)" },
    "rise": { "expr": "length * sin(cutAngle)" },
    "band": { "expr": "width / cos(cutAngle)" }
  },
  "tiles": [
    {
      "polygon": [
        ["-reach", "-band / 2"],
        ["0", "rise - band / 2"],
        ["reach", "-band / 2"],
        ["reach", "band / 2"],
        ["0", "rise + band / 2"],
        ["-reach", "band / 2"]
      ],
      "grain": ["1", "0"]
    }
  ],
  "lattice": { "a": ["2 * reach", "0"], "b": ["0", "band"] }
}
,"chevron-three-width":{
  "schema": 1,
  "id": "chevron-three-width",
  "name": "Chevron (three plank widths)",
  "category": "wood",
  "parameters": {
    "length": { "value": 457.2, "min": 50, "max": 3000, "label": "Plank length" },
    "wideWidth": { "value": 114.3, "min": 10, "max": 500, "label": "Widest plank" },
    "mediumWidth": { "value": 50.8, "min": 10, "max": 500, "label": "Middle plank" },
    "narrowWidth": { "value": 25.4, "min": 10, "max": 500, "label": "Narrowest plank" },
    "cutAngle": { "value": 45, "min": 10, "max": 90, "label": "End cut angle (degrees)", "unit": "deg" }
  },
  "tiles": [
    {"polygon": [["0", "0"], ["length * sin(cutAngle)", "length * cos(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth) / sin(cutAngle)"], ["0", "(narrowWidth) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"]},
    {"polygon": [["0", "(narrowWidth) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth + mediumWidth) / sin(cutAngle)"], ["0", "(narrowWidth + mediumWidth) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"]},
    {"polygon": [["0", "(narrowWidth + mediumWidth) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth + mediumWidth) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth + mediumWidth + wideWidth) / sin(cutAngle)"], ["0", "(narrowWidth + mediumWidth + wideWidth) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"]},
    {"polygon": [["0", "0"], ["length * sin(cutAngle)", "length * cos(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth) / sin(cutAngle)"], ["0", "(narrowWidth) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"], "transform": [{"mirror": {"line": [["0", "0"], ["0", "1"]]}}]},
    {"polygon": [["0", "(narrowWidth) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth + mediumWidth) / sin(cutAngle)"], ["0", "(narrowWidth + mediumWidth) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"], "transform": [{"mirror": {"line": [["0", "0"], ["0", "1"]]}}]},
    {"polygon": [["0", "(narrowWidth + mediumWidth) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth + mediumWidth) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (narrowWidth + mediumWidth + wideWidth) / sin(cutAngle)"], ["0", "(narrowWidth + mediumWidth + wideWidth) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"], "transform": [{"mirror": {"line": [["0", "0"], ["0", "1"]]}}]}
  ],
  "lattice": {"a": ["2 * length * sin(cutAngle)", "0"], "b": ["0", "(wideWidth + mediumWidth + narrowWidth) / sin(cutAngle)"]}
}
,"chevron":{
  "schema": 1,
  "id": "chevron",
  "name": "Chevron",
  "category": "wood",
  "parameters": {
    "length": { "value": 600, "min": 50, "max": 3000, "label": "Plank length" },
    "width": { "value": 90, "min": 10, "max": 1000, "label": "Plank width" },
    "cutAngle": { "value": 45, "min": 10, "max": 90, "label": "End cut angle (degrees)", "unit": "deg" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["length * sin(cutAngle)", "length * cos(cutAngle)"],
        ["length * sin(cutAngle)", "length * cos(cutAngle) + width / sin(cutAngle)"],
        ["0", "width / sin(cutAngle)"]
      ],
      "grain": ["sin(cutAngle)", "cos(cutAngle)"]
    },
    {
      "polygon": [
        ["0", "0"],
        ["length * sin(cutAngle)", "length * cos(cutAngle)"],
        ["length * sin(cutAngle)", "length * cos(cutAngle) + width / sin(cutAngle)"],
        ["0", "width / sin(cutAngle)"]
      ],
      "grain": ["sin(cutAngle)", "cos(cutAngle)"],
      "transform": [{ "mirror": { "line": [["0", "0"], ["0", "1"]] } }]
    }
  ],
  "lattice": { "a": ["2 * length * sin(cutAngle)", "0"], "b": ["0", "width / sin(cutAngle)"] }
}
,"circle-and-crescent-grid":{
  "schema": 1,
  "id": "circle-and-crescent-grid",
  "name": "Circle and crescent grid",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 300,
      "min": 60,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "overallSize",
        "4 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "3.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.000037209302325 * overallSize",
              "3 * overallSize"
            ],
            "from": [
              "overallSize",
              "3.5 * overallSize"
            ],
            "to": [
              "overallSize",
              "2.5 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.999916278496523 * overallSize",
              "3 * overallSize"
            ],
            "from": [
              "overallSize",
              "2 * overallSize"
            ],
            "to": [
              "overallSize",
              "4 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "4 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "4 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.00003029444343 * overallSize",
              "2.99996970555657 * overallSize"
            ],
            "from": [
              "overallSize",
              "4 * overallSize"
            ],
            "to": [
              "0",
              "3 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "4 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "3.5 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "overallSize",
              "3 * overallSize"
            ],
            "from": [
              "overallSize",
              "3.5 * overallSize"
            ],
            "to": [
              "overallSize",
              "2.5 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "3.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "4 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * overallSize",
              "4 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "2.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.999999999999999 * overallSize",
              "3 * overallSize"
            ],
            "from": [
              "overallSize",
              "2.5 * overallSize"
            ],
            "to": [
              "overallSize",
              "3.5 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "4 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "3 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.000030294443432 * overallSize",
              "3.000030294443432 * overallSize"
            ],
            "from": [
              "0",
              "3 * overallSize"
            ],
            "to": [
              "overallSize",
              "2 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "3 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "3.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "2.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.000032557641917 * overallSize",
              "3 * overallSize"
            ],
            "from": [
              "overallSize",
              "2.5 * overallSize"
            ],
            "to": [
              "overallSize",
              "3.5 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "2 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "1.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "overallSize",
              "overallSize"
            ],
            "from": [
              "overallSize",
              "1.5 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "2 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "2 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.000048307606983 * overallSize",
              "1.000048307606983 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "overallSize"
            ],
            "to": [
              "overallSize",
              "2 * overallSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "2 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.999997674418605 * overallSize",
              "overallSize"
            ],
            "from": [
              "overallSize",
              "2 * overallSize"
            ],
            "to": [
              "overallSize",
              "0"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.999999999999999 * overallSize",
              "overallSize"
            ],
            "from": [
              "overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "overallSize",
              "1.5 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "2 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "0"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.999969705556568 * overallSize",
              "1.000030294443432 * overallSize"
            ],
            "from": [
              "overallSize",
              "0"
            ],
            "to": [
              "2 * overallSize",
              "overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "1.5 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.999999999999999 * overallSize",
              "overallSize"
            ],
            "from": [
              "overallSize",
              "1.5 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "1.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "1.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.000032557641918 * overallSize",
              "overallSize"
            ],
            "from": [
              "overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "overallSize",
              "1.5 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * overallSize",
      "0"
    ],
    "b": [
      "0",
      "4 * overallSize"
    ]
  }
}
,"circle-and-leaf-panel":{
 "schema": 1,
 "id": "circle-and-leaf-panel",
 "name": "Circle and leaf panel",
 "category": "ceramic",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 213.0,
   "min": 21.3,
   "max": 1278.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.498826 * overallSize",
     "1.037784 * overallSize"
    ],
    [
     "0.484325 * overallSize",
     "0.923772 * overallSize"
    ],
    [
     "0.434968 * overallSize",
     "0.799857 * overallSize"
    ],
    [
     "0.355996 * overallSize",
     "0.691876 * overallSize"
    ],
    [
     "0.252573 * overallSize",
     "0.607179 * overallSize"
    ],
    [
     "0.131533 * overallSize",
     "0.551132 * overallSize"
    ],
    [
     "0.001202 * overallSize",
     "0.527238 * overallSize"
    ],
    [
     "0.001202 * overallSize",
     "0.018599 * overallSize"
    ],
    [
     "0.015703 * overallSize",
     "0.132613 * overallSize"
    ],
    [
     "0.065060 * overallSize",
     "0.256528 * overallSize"
    ],
    [
     "0.144032 * overallSize",
     "0.364509 * overallSize"
    ],
    [
     "0.247455 * overallSize",
     "0.449206 * overallSize"
    ],
    [
     "0.368495 * overallSize",
     "0.505258 * overallSize"
    ],
    [
     "0.498817 * overallSize",
     "0.529146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.934880 * overallSize",
     "0.799680 * overallSize"
    ],
    [
     "0.855922 * overallSize",
     "0.691810 * overallSize"
    ],
    [
     "0.752573 * overallSize",
     "0.607179 * overallSize"
    ],
    [
     "0.631533 * overallSize",
     "0.551132 * overallSize"
    ],
    [
     "0.501202 * overallSize",
     "0.527238 * overallSize"
    ],
    [
     "0.501202 * overallSize",
     "0.018599 * overallSize"
    ],
    [
     "0.515703 * overallSize",
     "0.132613 * overallSize"
    ],
    [
     "0.565060 * overallSize",
     "0.256528 * overallSize"
    ],
    [
     "0.644032 * overallSize",
     "0.364509 * overallSize"
    ],
    [
     "0.747455 * overallSize",
     "0.449206 * overallSize"
    ],
    [
     "0.868495 * overallSize",
     "0.505258 * overallSize"
    ],
    [
     "0.998826 * overallSize",
     "0.529147 * overallSize"
    ],
    [
     "0.998826 * overallSize",
     "1.037786 * overallSize"
    ],
    [
     "0.984292 * overallSize",
     "0.923678 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.130736 * overallSize",
     "0.553362 * overallSize"
    ],
    [
     "0.251414 * overallSize",
     "0.609247 * overallSize"
    ],
    [
     "0.354282 * overallSize",
     "0.693532 * overallSize"
    ],
    [
     "0.432805 * overallSize",
     "0.800864 * overallSize"
    ],
    [
     "0.482019 * overallSize",
     "0.924409 * overallSize"
    ],
    [
     "0.489606 * overallSize",
     "0.984130 * overallSize"
    ],
    [
     "0.467459 * overallSize",
     "0.930717 * overallSize"
    ],
    [
     "0.427678 * overallSize",
     "0.878858 * overallSize"
    ],
    [
     "0.375686 * overallSize",
     "0.838919 * overallSize"
    ],
    [
     "0.315034 * overallSize",
     "0.813754 * overallSize"
    ],
    [
     "0.249828 * overallSize",
     "0.805193 * overallSize"
    ],
    [
     "0.184929 * overallSize",
     "0.813754 * overallSize"
    ],
    [
     "0.124541 * overallSize",
     "0.838765 * overallSize"
    ],
    [
     "0.072423 * overallSize",
     "0.878707 * overallSize"
    ],
    [
     "0.032409 * overallSize",
     "0.930898 * overallSize"
    ],
    [
     "0.007397 * overallSize",
     "0.991286 * overallSize"
    ],
    [
     "0.001173 * overallSize",
     "1.038430 * overallSize"
    ],
    [
     "0.001164 * overallSize",
     "0.529624 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.630736 * overallSize",
     "0.553362 * overallSize"
    ],
    [
     "0.751414 * overallSize",
     "0.609247 * overallSize"
    ],
    [
     "0.854282 * overallSize",
     "0.693532 * overallSize"
    ],
    [
     "0.932805 * overallSize",
     "0.800864 * overallSize"
    ],
    [
     "0.982019 * overallSize",
     "0.924409 * overallSize"
    ],
    [
     "0.989606 * overallSize",
     "0.984130 * overallSize"
    ],
    [
     "0.967459 * overallSize",
     "0.930717 * overallSize"
    ],
    [
     "0.927678 * overallSize",
     "0.878858 * overallSize"
    ],
    [
     "0.875686 * overallSize",
     "0.838919 * overallSize"
    ],
    [
     "0.815034 * overallSize",
     "0.813754 * overallSize"
    ],
    [
     "0.749828 * overallSize",
     "0.805193 * overallSize"
    ],
    [
     "0.684929 * overallSize",
     "0.813754 * overallSize"
    ],
    [
     "0.624541 * overallSize",
     "0.838765 * overallSize"
    ],
    [
     "0.572423 * overallSize",
     "0.878707 * overallSize"
    ],
    [
     "0.532409 * overallSize",
     "0.930898 * overallSize"
    ],
    [
     "0.507397 * overallSize",
     "0.991286 * overallSize"
    ],
    [
     "0.501173 * overallSize",
     "1.038430 * overallSize"
    ],
    [
     "0.501164 * overallSize",
     "0.529624 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.125606 * overallSize",
     "1.271801 * overallSize"
    ],
    [
     "0.074077 * overallSize",
     "1.232261 * overallSize"
    ],
    [
     "0.034537 * overallSize",
     "1.180732 * overallSize"
    ],
    [
     "0.009683 * overallSize",
     "1.120726 * overallSize"
    ],
    [
     "0.001207 * overallSize",
     "1.056333 * overallSize"
    ],
    [
     "0.009683 * overallSize",
     "0.991940 * overallSize"
    ],
    [
     "0.034537 * overallSize",
     "0.931935 * overallSize"
    ],
    [
     "0.074077 * overallSize",
     "0.880410 * overallSize"
    ],
    [
     "0.125606 * overallSize",
     "0.840870 * overallSize"
    ],
    [
     "0.185612 * overallSize",
     "0.816017 * overallSize"
    ],
    [
     "0.228041 * overallSize",
     "0.810429 * overallSize"
    ],
    [
     "0.249981 * overallSize",
     "0.807541 * overallSize"
    ],
    [
     "0.314374 * overallSize",
     "0.816017 * overallSize"
    ],
    [
     "0.374380 * overallSize",
     "0.840875 * overallSize"
    ],
    [
     "0.425909 * overallSize",
     "0.880410 * overallSize"
    ],
    [
     "0.465444 * overallSize",
     "0.931939 * overallSize"
    ],
    [
     "0.490303 * overallSize",
     "0.991945 * overallSize"
    ],
    [
     "0.498786 * overallSize",
     "1.056397 * overallSize"
    ],
    [
     "0.490317 * overallSize",
     "1.120736 * overallSize"
    ],
    [
     "0.465468 * overallSize",
     "1.180732 * overallSize"
    ],
    [
     "0.425928 * overallSize",
     "1.232262 * overallSize"
    ],
    [
     "0.374403 * overallSize",
     "1.271801 * overallSize"
    ],
    [
     "0.314398 * overallSize",
     "1.296655 * overallSize"
    ],
    [
     "0.250005 * overallSize",
     "1.305131 * overallSize"
    ],
    [
     "0.185612 * overallSize",
     "1.296655 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.625606 * overallSize",
     "1.271801 * overallSize"
    ],
    [
     "0.574077 * overallSize",
     "1.232261 * overallSize"
    ],
    [
     "0.534537 * overallSize",
     "1.180732 * overallSize"
    ],
    [
     "0.509683 * overallSize",
     "1.120726 * overallSize"
    ],
    [
     "0.501207 * overallSize",
     "1.056333 * overallSize"
    ],
    [
     "0.509683 * overallSize",
     "0.991940 * overallSize"
    ],
    [
     "0.534537 * overallSize",
     "0.931935 * overallSize"
    ],
    [
     "0.574077 * overallSize",
     "0.880410 * overallSize"
    ],
    [
     "0.625606 * overallSize",
     "0.840870 * overallSize"
    ],
    [
     "0.685612 * overallSize",
     "0.816017 * overallSize"
    ],
    [
     "0.728041 * overallSize",
     "0.810429 * overallSize"
    ],
    [
     "0.749981 * overallSize",
     "0.807541 * overallSize"
    ],
    [
     "0.814374 * overallSize",
     "0.816017 * overallSize"
    ],
    [
     "0.874380 * overallSize",
     "0.840875 * overallSize"
    ],
    [
     "0.925909 * overallSize",
     "0.880410 * overallSize"
    ],
    [
     "0.965444 * overallSize",
     "0.931939 * overallSize"
    ],
    [
     "0.990303 * overallSize",
     "0.991945 * overallSize"
    ],
    [
     "0.998786 * overallSize",
     "1.056397 * overallSize"
    ],
    [
     "0.990317 * overallSize",
     "1.120736 * overallSize"
    ],
    [
     "0.965468 * overallSize",
     "1.180732 * overallSize"
    ],
    [
     "0.925928 * overallSize",
     "1.232262 * overallSize"
    ],
    [
     "0.874403 * overallSize",
     "1.271801 * overallSize"
    ],
    [
     "0.814398 * overallSize",
     "1.296655 * overallSize"
    ],
    [
     "0.750005 * overallSize",
     "1.305131 * overallSize"
    ],
    [
     "0.685612 * overallSize",
     "1.296655 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.007406 * overallSize",
     "1.121437 * overallSize"
    ],
    [
     "0.032418 * overallSize",
     "1.181825 * overallSize"
    ],
    [
     "0.072437 * overallSize",
     "1.234016 * overallSize"
    ],
    [
     "0.124551 * overallSize",
     "1.273962 * overallSize"
    ],
    [
     "0.184938 * overallSize",
     "1.298969 * overallSize"
    ],
    [
     "0.249837 * overallSize",
     "1.307530 * overallSize"
    ],
    [
     "0.315043 * overallSize",
     "1.298969 * overallSize"
    ],
    [
     "0.375696 * overallSize",
     "1.273809 * overallSize"
    ],
    [
     "0.427687 * overallSize",
     "1.233865 * overallSize"
    ],
    [
     "0.467473 * overallSize",
     "1.182006 * overallSize"
    ],
    [
     "0.489615 * overallSize",
     "1.128595 * overallSize"
    ],
    [
     "0.482028 * overallSize",
     "1.188314 * overallSize"
    ],
    [
     "0.432815 * overallSize",
     "1.311859 * overallSize"
    ],
    [
     "0.354291 * overallSize",
     "1.419191 * overallSize"
    ],
    [
     "0.251423 * overallSize",
     "1.503476 * overallSize"
    ],
    [
     "0.130745 * overallSize",
     "1.559365 * overallSize"
    ],
    [
     "0.001174 * overallSize",
     "1.583099 * overallSize"
    ],
    [
     "0.001183 * overallSize",
     "1.074293 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.507406 * overallSize",
     "1.121437 * overallSize"
    ],
    [
     "0.532418 * overallSize",
     "1.181825 * overallSize"
    ],
    [
     "0.572437 * overallSize",
     "1.234016 * overallSize"
    ],
    [
     "0.624551 * overallSize",
     "1.273962 * overallSize"
    ],
    [
     "0.684938 * overallSize",
     "1.298969 * overallSize"
    ],
    [
     "0.749837 * overallSize",
     "1.307530 * overallSize"
    ],
    [
     "0.815043 * overallSize",
     "1.298969 * overallSize"
    ],
    [
     "0.875696 * overallSize",
     "1.273809 * overallSize"
    ],
    [
     "0.927687 * overallSize",
     "1.233865 * overallSize"
    ],
    [
     "0.967473 * overallSize",
     "1.182006 * overallSize"
    ],
    [
     "0.989615 * overallSize",
     "1.128595 * overallSize"
    ],
    [
     "0.982028 * overallSize",
     "1.188314 * overallSize"
    ],
    [
     "0.932815 * overallSize",
     "1.311859 * overallSize"
    ],
    [
     "0.854291 * overallSize",
     "1.419191 * overallSize"
    ],
    [
     "0.751423 * overallSize",
     "1.503476 * overallSize"
    ],
    [
     "0.630745 * overallSize",
     "1.559365 * overallSize"
    ],
    [
     "0.501174 * overallSize",
     "1.583099 * overallSize"
    ],
    [
     "0.501183 * overallSize",
     "1.074293 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.368457 * overallSize",
     "1.607418 * overallSize"
    ],
    [
     "0.247418 * overallSize",
     "1.663470 * overallSize"
    ],
    [
     "0.143995 * overallSize",
     "1.748167 * overallSize"
    ],
    [
     "0.065022 * overallSize",
     "1.856148 * overallSize"
    ],
    [
     "0.015666 * overallSize",
     "1.980063 * overallSize"
    ],
    [
     "0.001174 * overallSize",
     "2.094107 * overallSize"
    ],
    [
     "0.001174 * overallSize",
     "1.585485 * overallSize"
    ],
    [
     "0.131505 * overallSize",
     "1.561596 * overallSize"
    ],
    [
     "0.252545 * overallSize",
     "1.505544 * overallSize"
    ],
    [
     "0.355968 * overallSize",
     "1.420847 * overallSize"
    ],
    [
     "0.434940 * overallSize",
     "1.312866 * overallSize"
    ],
    [
     "0.484297 * overallSize",
     "1.188951 * overallSize"
    ],
    [
     "0.498798 * overallSize",
     "1.074937 * overallSize"
    ],
    [
     "0.498798 * overallSize",
     "1.583527 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.868457 * overallSize",
     "1.607418 * overallSize"
    ],
    [
     "0.747418 * overallSize",
     "1.663470 * overallSize"
    ],
    [
     "0.643995 * overallSize",
     "1.748167 * overallSize"
    ],
    [
     "0.565022 * overallSize",
     "1.856148 * overallSize"
    ],
    [
     "0.515666 * overallSize",
     "1.980063 * overallSize"
    ],
    [
     "0.501174 * overallSize",
     "2.094107 * overallSize"
    ],
    [
     "0.501174 * overallSize",
     "1.585485 * overallSize"
    ],
    [
     "0.631505 * overallSize",
     "1.561596 * overallSize"
    ],
    [
     "0.752545 * overallSize",
     "1.505544 * overallSize"
    ],
    [
     "0.855968 * overallSize",
     "1.420847 * overallSize"
    ],
    [
     "0.934940 * overallSize",
     "1.312866 * overallSize"
    ],
    [
     "0.984297 * overallSize",
     "1.188951 * overallSize"
    ],
    [
     "0.998798 * overallSize",
     "1.074937 * overallSize"
    ],
    [
     "0.998798 * overallSize",
     "1.583527 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.017934 * overallSize",
     "1.980700 * overallSize"
    ],
    [
     "0.067148 * overallSize",
     "1.857155 * overallSize"
    ],
    [
     "0.145671 * overallSize",
     "1.749823 * overallSize"
    ],
    [
     "0.248539 * overallSize",
     "1.665538 * overallSize"
    ],
    [
     "0.369217 * overallSize",
     "1.609649 * overallSize"
    ],
    [
     "0.498789 * overallSize",
     "1.585915 * overallSize"
    ],
    [
     "0.498789 * overallSize",
     "2.094766 * overallSize"
    ],
    [
     "0.492565 * overallSize",
     "2.047624 * overallSize"
    ],
    [
     "0.467554 * overallSize",
     "1.987236 * overallSize"
    ],
    [
     "0.427539 * overallSize",
     "1.935045 * overallSize"
    ],
    [
     "0.375421 * overallSize",
     "1.895103 * overallSize"
    ],
    [
     "0.315034 * overallSize",
     "1.870092 * overallSize"
    ],
    [
     "0.250134 * overallSize",
     "1.861531 * overallSize"
    ],
    [
     "0.184929 * overallSize",
     "1.870092 * overallSize"
    ],
    [
     "0.124276 * overallSize",
     "1.895257 * overallSize"
    ],
    [
     "0.072285 * overallSize",
     "1.935196 * overallSize"
    ],
    [
     "0.032503 * overallSize",
     "1.987055 * overallSize"
    ],
    [
     "0.010344 * overallSize",
     "2.040497 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.517934 * overallSize",
     "1.980700 * overallSize"
    ],
    [
     "0.567148 * overallSize",
     "1.857155 * overallSize"
    ],
    [
     "0.645671 * overallSize",
     "1.749823 * overallSize"
    ],
    [
     "0.748539 * overallSize",
     "1.665538 * overallSize"
    ],
    [
     "0.869217 * overallSize",
     "1.609649 * overallSize"
    ],
    [
     "0.998789 * overallSize",
     "1.585915 * overallSize"
    ],
    [
     "0.998789 * overallSize",
     "2.094766 * overallSize"
    ],
    [
     "0.992565 * overallSize",
     "2.047624 * overallSize"
    ],
    [
     "0.967554 * overallSize",
     "1.987236 * overallSize"
    ],
    [
     "0.927539 * overallSize",
     "1.935045 * overallSize"
    ],
    [
     "0.875421 * overallSize",
     "1.895103 * overallSize"
    ],
    [
     "0.815034 * overallSize",
     "1.870092 * overallSize"
    ],
    [
     "0.750134 * overallSize",
     "1.861531 * overallSize"
    ],
    [
     "0.684929 * overallSize",
     "1.870092 * overallSize"
    ],
    [
     "0.624276 * overallSize",
     "1.895257 * overallSize"
    ],
    [
     "0.572285 * overallSize",
     "1.935196 * overallSize"
    ],
    [
     "0.532503 * overallSize",
     "1.987055 * overallSize"
    ],
    [
     "0.510344 * overallSize",
     "2.040497 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.074077 * overallSize",
     "2.288599 * overallSize"
    ],
    [
     "0.034537 * overallSize",
     "2.237070 * overallSize"
    ],
    [
     "0.009683 * overallSize",
     "2.177065 * overallSize"
    ],
    [
     "0.001207 * overallSize",
     "2.112671 * overallSize"
    ],
    [
     "0.009683 * overallSize",
     "2.048278 * overallSize"
    ],
    [
     "0.034537 * overallSize",
     "1.988273 * overallSize"
    ],
    [
     "0.074077 * overallSize",
     "1.936748 * overallSize"
    ],
    [
     "0.125606 * overallSize",
     "1.897208 * overallSize"
    ],
    [
     "0.185612 * overallSize",
     "1.872355 * overallSize"
    ],
    [
     "0.249981 * overallSize",
     "1.863879 * overallSize"
    ],
    [
     "0.314374 * overallSize",
     "1.872355 * overallSize"
    ],
    [
     "0.374380 * overallSize",
     "1.897213 * overallSize"
    ],
    [
     "0.425909 * overallSize",
     "1.936748 * overallSize"
    ],
    [
     "0.465444 * overallSize",
     "1.988277 * overallSize"
    ],
    [
     "0.490303 * overallSize",
     "2.048283 * overallSize"
    ],
    [
     "0.498790 * overallSize",
     "2.112763 * overallSize"
    ],
    [
     "0.490321 * overallSize",
     "2.177064 * overallSize"
    ],
    [
     "0.465468 * overallSize",
     "2.237070 * overallSize"
    ],
    [
     "0.425928 * overallSize",
     "2.288600 * overallSize"
    ],
    [
     "0.374403 * overallSize",
     "2.328134 * overallSize"
    ],
    [
     "0.314398 * overallSize",
     "2.352993 * overallSize"
    ],
    [
     "0.250005 * overallSize",
     "2.361469 * overallSize"
    ],
    [
     "0.185612 * overallSize",
     "2.352993 * overallSize"
    ],
    [
     "0.125606 * overallSize",
     "2.328134 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.574077 * overallSize",
     "2.288599 * overallSize"
    ],
    [
     "0.534537 * overallSize",
     "2.237070 * overallSize"
    ],
    [
     "0.509683 * overallSize",
     "2.177065 * overallSize"
    ],
    [
     "0.501207 * overallSize",
     "2.112671 * overallSize"
    ],
    [
     "0.509683 * overallSize",
     "2.048278 * overallSize"
    ],
    [
     "0.534537 * overallSize",
     "1.988273 * overallSize"
    ],
    [
     "0.574077 * overallSize",
     "1.936748 * overallSize"
    ],
    [
     "0.625606 * overallSize",
     "1.897208 * overallSize"
    ],
    [
     "0.685612 * overallSize",
     "1.872355 * overallSize"
    ],
    [
     "0.749981 * overallSize",
     "1.863879 * overallSize"
    ],
    [
     "0.814374 * overallSize",
     "1.872355 * overallSize"
    ],
    [
     "0.874380 * overallSize",
     "1.897213 * overallSize"
    ],
    [
     "0.925909 * overallSize",
     "1.936748 * overallSize"
    ],
    [
     "0.965444 * overallSize",
     "1.988277 * overallSize"
    ],
    [
     "0.990303 * overallSize",
     "2.048283 * overallSize"
    ],
    [
     "0.998790 * overallSize",
     "2.112763 * overallSize"
    ],
    [
     "0.990321 * overallSize",
     "2.177064 * overallSize"
    ],
    [
     "0.965468 * overallSize",
     "2.237070 * overallSize"
    ],
    [
     "0.925928 * overallSize",
     "2.288600 * overallSize"
    ],
    [
     "0.874403 * overallSize",
     "2.328134 * overallSize"
    ],
    [
     "0.814398 * overallSize",
     "2.352993 * overallSize"
    ],
    [
     "0.750005 * overallSize",
     "2.361469 * overallSize"
    ],
    [
     "0.685612 * overallSize",
     "2.352993 * overallSize"
    ],
    [
     "0.625606 * overallSize",
     "2.328134 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.032522 * overallSize",
     "2.238293 * overallSize"
    ],
    [
     "0.072308 * overallSize",
     "2.290151 * overallSize"
    ],
    [
     "0.124300 * overallSize",
     "2.330091 * overallSize"
    ],
    [
     "0.184952 * overallSize",
     "2.355256 * overallSize"
    ],
    [
     "0.250158 * overallSize",
     "2.363816 * overallSize"
    ],
    [
     "0.315057 * overallSize",
     "2.355256 * overallSize"
    ],
    [
     "0.375445 * overallSize",
     "2.330244 * overallSize"
    ],
    [
     "0.427558 * overallSize",
     "2.290302 * overallSize"
    ],
    [
     "0.467577 * overallSize",
     "2.238111 * overallSize"
    ],
    [
     "0.492584 * overallSize",
     "2.177724 * overallSize"
    ],
    [
     "0.498812 * overallSize",
     "2.130572 * overallSize"
    ],
    [
     "0.498812 * overallSize",
     "2.639432 * overallSize"
    ],
    [
     "0.369236 * overallSize",
     "2.615699 * overallSize"
    ],
    [
     "0.248563 * overallSize",
     "2.559810 * overallSize"
    ],
    [
     "0.145695 * overallSize",
     "2.475525 * overallSize"
    ],
    [
     "0.067181 * overallSize",
     "2.368146 * overallSize"
    ],
    [
     "0.017967 * overallSize",
     "2.244601 * overallSize"
    ],
    [
     "0.010380 * overallSize",
     "2.184882 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.532522 * overallSize",
     "2.238293 * overallSize"
    ],
    [
     "0.572308 * overallSize",
     "2.290151 * overallSize"
    ],
    [
     "0.624300 * overallSize",
     "2.330091 * overallSize"
    ],
    [
     "0.684952 * overallSize",
     "2.355256 * overallSize"
    ],
    [
     "0.750158 * overallSize",
     "2.363816 * overallSize"
    ],
    [
     "0.815057 * overallSize",
     "2.355256 * overallSize"
    ],
    [
     "0.875445 * overallSize",
     "2.330244 * overallSize"
    ],
    [
     "0.927558 * overallSize",
     "2.290302 * overallSize"
    ],
    [
     "0.967577 * overallSize",
     "2.238111 * overallSize"
    ],
    [
     "0.992584 * overallSize",
     "2.177724 * overallSize"
    ],
    [
     "0.998812 * overallSize",
     "2.130572 * overallSize"
    ],
    [
     "0.998812 * overallSize",
     "2.639432 * overallSize"
    ],
    [
     "0.869236 * overallSize",
     "2.615699 * overallSize"
    ],
    [
     "0.748563 * overallSize",
     "2.559810 * overallSize"
    ],
    [
     "0.645695 * overallSize",
     "2.475525 * overallSize"
    ],
    [
     "0.567181 * overallSize",
     "2.368146 * overallSize"
    ],
    [
     "0.517967 * overallSize",
     "2.244601 * overallSize"
    ],
    [
     "0.510380 * overallSize",
     "2.184882 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "213 / 213 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "450 / 213 * overallSize"
  ]
 }
},"clipped-block-mosaic":{
  "schema": 1,
  "id": "clipped-block-mosaic",
  "name": "Clipped block mosaic",
  "category": "stone",
  "parameters": {
    "overallSize": {
      "value": 700,
      "min": 140,
      "max": 2800,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.318181818182 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.681818181818 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.818181818182 * overallSize"
        ],
        [
          "0.318181818182 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.318181818182 * overallSize"
        ],
        [
          "0.181818181818 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.681818181818 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.181818181818 * overallSize",
          "0"
        ],
        [
          "0",
          "0.181818181818 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.818181818182 * overallSize"
        ],
        [
          "0.681818181818 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.181818181818 * overallSize"
        ],
        [
          "0.318181818182 * overallSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.818181818182 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.318181818182 * overallSize"
        ],
        [
          "overallSize",
          "0.681818181818 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.818181818182 * overallSize"
        ],
        [
          "0.181818181818 * overallSize",
          "overallSize"
        ],
        [
          "0",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.818181818182 * overallSize"
        ],
        [
          "0",
          "0.681818181818 * overallSize"
        ],
        [
          "0.181818181818 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.181818181818 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.181818181818 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.318181818182 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.318181818182 * overallSize",
          "overallSize"
        ],
        [
          "0.181818181818 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.318181818182 * overallSize"
        ],
        [
          "0.681818181818 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.681818181818 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.181818181818 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.181818181818 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.318181818182 * overallSize"
        ],
        [
          "0",
          "0.318181818182 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.318181818182 * overallSize"
        ],
        [
          "0.318181818182 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.181818181818 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.318181818182 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.181818181818 * overallSize",
          "0"
        ],
        [
          "0.318181818182 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.181818181818 * overallSize"
        ],
        [
          "0",
          "0.181818181818 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.818181818182 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.181818181818 * overallSize"
        ],
        [
          "overallSize",
          "0.318181818182 * overallSize"
        ],
        [
          "0.818181818182 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.681818181818 * overallSize",
          "0"
        ],
        [
          "0.818181818182 * overallSize",
          "0"
        ],
        [
          "0.818181818182 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.681818181818 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.818181818182 * overallSize"
        ],
        [
          "overallSize",
          "0.818181818182 * overallSize"
        ],
        [
          "0.818181818182 * overallSize",
          "overallSize"
        ],
        [
          "0.681818181818 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.318181818182 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.181818181818 * overallSize"
        ],
        [
          "0.681818181818 * overallSize",
          "0"
        ],
        [
          "0.681818181818 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.181818181818 * overallSize"
        ],
        [
          "0.818181818182 * overallSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.818181818182 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.818181818182 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.681818181818 * overallSize"
        ],
        [
          "overallSize",
          "0.681818181818 * overallSize"
        ],
        [
          "overallSize",
          "0.818181818182 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.818181818182 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.681818181818 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.818181818182 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.681818181818 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.681818181818 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.318181818182 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.681818181818 * overallSize"
        ],
        [
          "0.318181818182 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.818181818182 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.318181818182 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.681818181818 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.181818181818 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"clipped-square-and-triangle":{
  "schema": 1,
  "id": "clipped-square-and-triangle",
  "name": "Clipped square and triangle",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 236, "min": 40, "max": 1200, "label": "Tile size" },
    "clip": { "expr": "edge * 0.13" }
  },
  "tiles": [
    {
      "polygon": [
        ["clip", "0"], ["edge - clip", "0"], ["edge", "clip"], ["edge", "edge - clip"],
        ["edge - clip", "edge"], ["clip", "edge"], ["0", "edge - clip"], ["0", "clip"]
      ]
    },
    { "polygon": [["0", "0"], ["clip", "0"], ["0", "clip"]] },
    { "polygon": [["0", "0"], ["0", "clip"], ["-clip", "0"]] },
    { "polygon": [["0", "0"], ["-clip", "0"], ["0", "-clip"]] },
    { "polygon": [["0", "0"], ["0", "-clip"], ["clip", "0"]] }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "edge"] }
}
,"cloud-flower-tile":{
  "schema": 1,
  "id": "cloud-flower-tile",
  "name": "Cloud flower tile",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.643410852713 * overallSize"
        ],
        [
          "0.996124031008 * overallSize",
          "0.612403100775 * overallSize"
        ],
        [
          "0.984496124031 * overallSize",
          "0.581395348837 * overallSize"
        ],
        [
          "0.968992248062 * overallSize",
          "0.558139534884 * overallSize"
        ],
        [
          "0.945736434109 * overallSize",
          "0.53488372093 * overallSize"
        ],
        [
          "0.914728682171 * overallSize",
          "0.523255813953 * overallSize"
        ],
        [
          "0.883720930233 * overallSize",
          "0.519379844961 * overallSize"
        ],
        [
          "0.852713178295 * overallSize",
          "0.523255813953 * overallSize"
        ],
        [
          "0.825581395349 * overallSize",
          "0.531007751938 * overallSize"
        ],
        [
          "0.798449612403 * overallSize",
          "0.550387596899 * overallSize"
        ],
        [
          "0.779069767442 * overallSize",
          "0.573643410853 * overallSize"
        ],
        [
          "0.767441860465 * overallSize",
          "0.604651162791 * overallSize"
        ],
        [
          "0.767441860465 * overallSize",
          "0.608527131783 * overallSize"
        ],
        [
          "0.748062015504 * overallSize",
          "0.585271317829 * overallSize"
        ],
        [
          "0.72480620155 * overallSize",
          "0.565891472868 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.550387596899 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.546511627907 * overallSize"
        ],
        [
          "0.635658914729 * overallSize",
          "0.550387596899 * overallSize"
        ],
        [
          "0.604651162791 * overallSize",
          "0.562015503876 * overallSize"
        ],
        [
          "0.581395348837 * overallSize",
          "0.577519379845 * overallSize"
        ],
        [
          "0.562015503876 * overallSize",
          "0.604651162791 * overallSize"
        ],
        [
          "0.546511627907 * overallSize",
          "0.631782945736 * overallSize"
        ],
        [
          "0.542635658915 * overallSize",
          "0.662790697674 * overallSize"
        ],
        [
          "0.546511627907 * overallSize",
          "0.693798449612 * overallSize"
        ],
        [
          "0.558139534884 * overallSize",
          "0.720930232558 * overallSize"
        ],
        [
          "0.573643410853 * overallSize",
          "0.748062015504 * overallSize"
        ],
        [
          "0.596899224806 * overallSize",
          "0.767441860465 * overallSize"
        ],
        [
          "0.577519379845 * overallSize",
          "0.77519379845 * overallSize"
        ],
        [
          "0.554263565891 * overallSize",
          "0.794573643411 * overallSize"
        ],
        [
          "0.531007751938 * overallSize",
          "0.817829457364 * overallSize"
        ],
        [
          "0.519379844961 * overallSize",
          "0.84496124031 * overallSize"
        ],
        [
          "0.515503875969 * overallSize",
          "0.875968992248 * overallSize"
        ],
        [
          "0.519379844961 * overallSize",
          "0.906976744186 * overallSize"
        ],
        [
          "0.527131782946 * overallSize",
          "0.937984496124 * overallSize"
        ],
        [
          "0.546511627907 * overallSize",
          "0.961240310078 * overallSize"
        ],
        [
          "0.56976744186 * overallSize",
          "0.980620155039 * overallSize"
        ],
        [
          "0.600775193798 * overallSize",
          "0.996124031008 * overallSize"
        ],
        [
          "0.631782945736 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.015503875969 * overallSize",
          "0.418604651163 * overallSize"
        ],
        [
          "0.003875968992 * overallSize",
          "0.387596899225 * overallSize"
        ],
        [
          "0",
          "0.356589147287 * overallSize"
        ],
        [
          "0",
          "0.267441860465 * overallSize"
        ],
        [
          "0.007751937984 * overallSize",
          "0.286821705426 * overallSize"
        ],
        [
          "0.015503875969 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.019379844961 * overallSize",
          "0.306201550388 * overallSize"
        ],
        [
          "0.050387596899 * overallSize",
          "0.329457364341 * overallSize"
        ],
        [
          "0.073643410853 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.093023255814 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.131782945736 * overallSize",
          "0.317829457364 * overallSize"
        ],
        [
          "0.147286821705 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.15503875969 * overallSize",
          "0.282945736434 * overallSize"
        ],
        [
          "0.158914728682 * overallSize",
          "0.271317829457 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.282945736434 * overallSize"
        ],
        [
          "0.186046511628 * overallSize",
          "0.294573643411 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.205426356589 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.22480620155 * overallSize",
          "0.306201550388 * overallSize"
        ],
        [
          "0.244186046512 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.263565891473 * overallSize",
          "0.294573643411 * overallSize"
        ],
        [
          "0.282945736434 * overallSize",
          "0.282945736434 * overallSize"
        ],
        [
          "0.294573643411 * overallSize",
          "0.263565891473 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.244186046512 * overallSize"
        ],
        [
          "0.306201550388 * overallSize",
          "0.22480620155 * overallSize"
        ],
        [
          "0.306201550388 * overallSize",
          "0.220930232558 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.205426356589 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.294573643411 * overallSize",
          "0.186046511628 * overallSize"
        ],
        [
          "0.282945736434 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.271317829457 * overallSize",
          "0.158914728682 * overallSize"
        ],
        [
          "0.290697674419 * overallSize",
          "0.15503875969 * overallSize"
        ],
        [
          "0.31007751938 * overallSize",
          "0.143410852713 * overallSize"
        ],
        [
          "0.325581395349 * overallSize",
          "0.127906976744 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.108527131783 * overallSize"
        ],
        [
          "0.337209302326 * overallSize",
          "0.089147286822 * overallSize"
        ],
        [
          "0.337209302326 * overallSize",
          "0.065891472868 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.046511627907 * overallSize"
        ],
        [
          "0.321705426357 * overallSize",
          "0.027131782946 * overallSize"
        ],
        [
          "0.306201550388 * overallSize",
          "0.015503875969 * overallSize"
        ],
        [
          "0.286821705426 * overallSize",
          "0.003875968992 * overallSize"
        ],
        [
          "0.267441860465 * overallSize",
          "0"
        ],
        [
          "0.368217054264 * overallSize",
          "0"
        ],
        [
          "0.399224806202 * overallSize",
          "0.003875968992 * overallSize"
        ],
        [
          "0.43023255814 * overallSize",
          "0.019379844961 * overallSize"
        ],
        [
          "0.453488372093 * overallSize",
          "0.038759689922 * overallSize"
        ],
        [
          "0.472868217054 * overallSize",
          "0.062015503876 * overallSize"
        ],
        [
          "0.480620155039 * overallSize",
          "0.093023255814 * overallSize"
        ],
        [
          "0.484496124031 * overallSize",
          "0.124031007752 * overallSize"
        ],
        [
          "0.480620155039 * overallSize",
          "0.15503875969 * overallSize"
        ],
        [
          "0.468992248062 * overallSize",
          "0.182170542636 * overallSize"
        ],
        [
          "0.445736434109 * overallSize",
          "0.205426356589 * overallSize"
        ],
        [
          "0.422480620155 * overallSize",
          "0.22480620155 * overallSize"
        ],
        [
          "0.403100775194 * overallSize",
          "0.232558139535 * overallSize"
        ],
        [
          "0.426356589147 * overallSize",
          "0.251937984496 * overallSize"
        ],
        [
          "0.441860465116 * overallSize",
          "0.279069767442 * overallSize"
        ],
        [
          "0.453488372093 * overallSize",
          "0.306201550388 * overallSize"
        ],
        [
          "0.457364341085 * overallSize",
          "0.337209302326 * overallSize"
        ],
        [
          "0.453488372093 * overallSize",
          "0.368217054264 * overallSize"
        ],
        [
          "0.437984496124 * overallSize",
          "0.395348837209 * overallSize"
        ],
        [
          "0.418604651163 * overallSize",
          "0.422480620155 * overallSize"
        ],
        [
          "0.395348837209 * overallSize",
          "0.437984496124 * overallSize"
        ],
        [
          "0.364341085271 * overallSize",
          "0.449612403101 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.453488372093 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.449612403101 * overallSize"
        ],
        [
          "0.27519379845 * overallSize",
          "0.434108527132 * overallSize"
        ],
        [
          "0.251937984496 * overallSize",
          "0.414728682171 * overallSize"
        ],
        [
          "0.232558139535 * overallSize",
          "0.391472868217 * overallSize"
        ],
        [
          "0.232558139535 * overallSize",
          "0.395348837209 * overallSize"
        ],
        [
          "0.220930232558 * overallSize",
          "0.426356589147 * overallSize"
        ],
        [
          "0.201550387597 * overallSize",
          "0.449612403101 * overallSize"
        ],
        [
          "0.174418604651 * overallSize",
          "0.468992248062 * overallSize"
        ],
        [
          "0.147286821705 * overallSize",
          "0.476744186047 * overallSize"
        ],
        [
          "0.116279069767 * overallSize",
          "0.480620155039 * overallSize"
        ],
        [
          "0.085271317829 * overallSize",
          "0.476744186047 * overallSize"
        ],
        [
          "0.058139534884 * overallSize",
          "0.46511627907 * overallSize"
        ],
        [
          "0.031007751938 * overallSize",
          "0.441860465116 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.062015503876 * overallSize",
          "0.895348837209 * overallSize"
        ],
        [
          "0.050387596899 * overallSize",
          "0.864341085271 * overallSize"
        ],
        [
          "0.046511627907 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.050387596899 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.065891472868 * overallSize",
          "0.77519379845 * overallSize"
        ],
        [
          "0.085271317829 * overallSize",
          "0.751937984496 * overallSize"
        ],
        [
          "0.108527131783 * overallSize",
          "0.732558139535 * overallSize"
        ],
        [
          "0.104651162791 * overallSize",
          "0.732558139535 * overallSize"
        ],
        [
          "0.073643410853 * overallSize",
          "0.720930232558 * overallSize"
        ],
        [
          "0.050387596899 * overallSize",
          "0.701550387597 * overallSize"
        ],
        [
          "0.031007751938 * overallSize",
          "0.674418604651 * overallSize"
        ],
        [
          "0.023255813953 * overallSize",
          "0.647286821705 * overallSize"
        ],
        [
          "0.019379844961 * overallSize",
          "0.616279069767 * overallSize"
        ],
        [
          "0.023255813953 * overallSize",
          "0.585271317829 * overallSize"
        ],
        [
          "0.03488372093 * overallSize",
          "0.554263565891 * overallSize"
        ],
        [
          "0.058139534884 * overallSize",
          "0.531007751938 * overallSize"
        ],
        [
          "0.081395348837 * overallSize",
          "0.515503875969 * overallSize"
        ],
        [
          "0.112403100775 * overallSize",
          "0.503875968992 * overallSize"
        ],
        [
          "0.143410852713 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.232558139535 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.213178294574 * overallSize",
          "0.507751937984 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.515503875969 * overallSize"
        ],
        [
          "0.193798449612 * overallSize",
          "0.519379844961 * overallSize"
        ],
        [
          "0.170542635659 * overallSize",
          "0.550387596899 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.573643410853 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.593023255814 * overallSize"
        ],
        [
          "0.182170542636 * overallSize",
          "0.631782945736 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.647286821705 * overallSize"
        ],
        [
          "0.217054263566 * overallSize",
          "0.65503875969 * overallSize"
        ],
        [
          "0.228682170543 * overallSize",
          "0.658914728682 * overallSize"
        ],
        [
          "0.217054263566 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.205426356589 * overallSize",
          "0.686046511628 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.705426356589 * overallSize"
        ],
        [
          "0.193798449612 * overallSize",
          "0.72480620155 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.744186046512 * overallSize"
        ],
        [
          "0.205426356589 * overallSize",
          "0.763565891473 * overallSize"
        ],
        [
          "0.217054263566 * overallSize",
          "0.782945736434 * overallSize"
        ],
        [
          "0.236434108527 * overallSize",
          "0.794573643411 * overallSize"
        ],
        [
          "0.255813953488 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.27519379845 * overallSize",
          "0.806201550388 * overallSize"
        ],
        [
          "0.279069767442 * overallSize",
          "0.806201550388 * overallSize"
        ],
        [
          "0.294573643411 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.313953488372 * overallSize",
          "0.794573643411 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.782945736434 * overallSize"
        ],
        [
          "0.341085271318 * overallSize",
          "0.771317829457 * overallSize"
        ],
        [
          "0.34496124031 * overallSize",
          "0.790697674419 * overallSize"
        ],
        [
          "0.356589147287 * overallSize",
          "0.81007751938 * overallSize"
        ],
        [
          "0.372093023256 * overallSize",
          "0.825581395349 * overallSize"
        ],
        [
          "0.391472868217 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.410852713178 * overallSize",
          "0.837209302326 * overallSize"
        ],
        [
          "0.434108527132 * overallSize",
          "0.837209302326 * overallSize"
        ],
        [
          "0.453488372093 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.472868217054 * overallSize",
          "0.821705426357 * overallSize"
        ],
        [
          "0.484496124031 * overallSize",
          "0.806201550388 * overallSize"
        ],
        [
          "0.496124031008 * overallSize",
          "0.786821705426 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.767441860465 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.868217054264 * overallSize"
        ],
        [
          "0.496124031008 * overallSize",
          "0.899224806202 * overallSize"
        ],
        [
          "0.480620155039 * overallSize",
          "0.93023255814 * overallSize"
        ],
        [
          "0.461240310078 * overallSize",
          "0.953488372093 * overallSize"
        ],
        [
          "0.437984496124 * overallSize",
          "0.972868217054 * overallSize"
        ],
        [
          "0.406976744186 * overallSize",
          "0.980620155039 * overallSize"
        ],
        [
          "0.375968992248 * overallSize",
          "0.984496124031 * overallSize"
        ],
        [
          "0.34496124031 * overallSize",
          "0.980620155039 * overallSize"
        ],
        [
          "0.317829457364 * overallSize",
          "0.968992248062 * overallSize"
        ],
        [
          "0.294573643411 * overallSize",
          "0.945736434109 * overallSize"
        ],
        [
          "0.27519379845 * overallSize",
          "0.922480620155 * overallSize"
        ],
        [
          "0.267441860465 * overallSize",
          "0.903100775194 * overallSize"
        ],
        [
          "0.248062015504 * overallSize",
          "0.926356589147 * overallSize"
        ],
        [
          "0.220930232558 * overallSize",
          "0.941860465116 * overallSize"
        ],
        [
          "0.193798449612 * overallSize",
          "0.953488372093 * overallSize"
        ],
        [
          "0.162790697674 * overallSize",
          "0.957364341085 * overallSize"
        ],
        [
          "0.131782945736 * overallSize",
          "0.953488372093 * overallSize"
        ],
        [
          "0.104651162791 * overallSize",
          "0.937984496124 * overallSize"
        ],
        [
          "0.077519379845 * overallSize",
          "0.918604651163 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.205426356589 * overallSize",
          "0.763565891473 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.744186046512 * overallSize"
        ],
        [
          "0.193798449612 * overallSize",
          "0.72480620155 * overallSize"
        ],
        [
          "0.193798449612 * overallSize",
          "0.72480620155 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.705426356589 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.205426356589 * overallSize",
          "0.686046511628 * overallSize"
        ],
        [
          "0.217054263566 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.228682170543 * overallSize",
          "0.658914728682 * overallSize"
        ],
        [
          "0.217054263566 * overallSize",
          "0.65503875969 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.647286821705 * overallSize"
        ],
        [
          "0.182170542636 * overallSize",
          "0.631782945736 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.593023255814 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.573643410853 * overallSize"
        ],
        [
          "0.170542635659 * overallSize",
          "0.550387596899 * overallSize"
        ],
        [
          "0.193798449612 * overallSize",
          "0.519379844961 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.515503875969 * overallSize"
        ],
        [
          "0.213178294574 * overallSize",
          "0.507751937984 * overallSize"
        ],
        [
          "0.232558139535 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.767441860465 * overallSize"
        ],
        [
          "0.496124031008 * overallSize",
          "0.786821705426 * overallSize"
        ],
        [
          "0.484496124031 * overallSize",
          "0.806201550388 * overallSize"
        ],
        [
          "0.472868217054 * overallSize",
          "0.821705426357 * overallSize"
        ],
        [
          "0.453488372093 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.434108527132 * overallSize",
          "0.837209302326 * overallSize"
        ],
        [
          "0.410852713178 * overallSize",
          "0.837209302326 * overallSize"
        ],
        [
          "0.391472868217 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.372093023256 * overallSize",
          "0.825581395349 * overallSize"
        ],
        [
          "0.356589147287 * overallSize",
          "0.81007751938 * overallSize"
        ],
        [
          "0.34496124031 * overallSize",
          "0.790697674419 * overallSize"
        ],
        [
          "0.341085271318 * overallSize",
          "0.771317829457 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.782945736434 * overallSize"
        ],
        [
          "0.313953488372 * overallSize",
          "0.794573643411 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.294573643411 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.279069767442 * overallSize",
          "0.806201550388 * overallSize"
        ],
        [
          "0.279069767442 * overallSize",
          "0.806201550388 * overallSize"
        ],
        [
          "0.27519379845 * overallSize",
          "0.806201550388 * overallSize"
        ],
        [
          "0.255813953488 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.236434108527 * overallSize",
          "0.794573643411 * overallSize"
        ],
        [
          "0.217054263566 * overallSize",
          "0.782945736434 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.953488372093 * overallSize"
        ],
        [
          "0.662790697674 * overallSize",
          "0.934108527132 * overallSize"
        ],
        [
          "0.662790697674 * overallSize",
          "0.910852713178 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.891472868217 * overallSize"
        ],
        [
          "0.674418604651 * overallSize",
          "0.872093023256 * overallSize"
        ],
        [
          "0.68992248062 * overallSize",
          "0.856589147287 * overallSize"
        ],
        [
          "0.709302325581 * overallSize",
          "0.84496124031 * overallSize"
        ],
        [
          "0.728682170543 * overallSize",
          "0.841085271318 * overallSize"
        ],
        [
          "0.717054263566 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.705426356589 * overallSize",
          "0.813953488372 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.794573643411 * overallSize"
        ],
        [
          "0.693798449612 * overallSize",
          "0.779069767442 * overallSize"
        ],
        [
          "0.693798449612 * overallSize",
          "0.779069767442 * overallSize"
        ],
        [
          "0.693798449612 * overallSize",
          "0.77519379845 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.755813953488 * overallSize"
        ],
        [
          "0.705426356589 * overallSize",
          "0.736434108527 * overallSize"
        ],
        [
          "0.717054263566 * overallSize",
          "0.717054263566 * overallSize"
        ],
        [
          "0.736434108527 * overallSize",
          "0.705426356589 * overallSize"
        ],
        [
          "0.755813953488 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.77519379845 * overallSize",
          "0.693798449612 * overallSize"
        ],
        [
          "0.77519379845 * overallSize",
          "0.693798449612 * overallSize"
        ],
        [
          "0.794573643411 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.813953488372 * overallSize",
          "0.705426356589 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.717054263566 * overallSize"
        ],
        [
          "0.841085271318 * overallSize",
          "0.728682170543 * overallSize"
        ],
        [
          "0.84496124031 * overallSize",
          "0.717054263566 * overallSize"
        ],
        [
          "0.852713178295 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.868217054264 * overallSize",
          "0.682170542636 * overallSize"
        ],
        [
          "0.906976744186 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.926356589147 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.949612403101 * overallSize",
          "0.670542635659 * overallSize"
        ],
        [
          "0.980620155039 * overallSize",
          "0.693798449612 * overallSize"
        ],
        [
          "0.984496124031 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.992248062016 * overallSize",
          "0.713178294574 * overallSize"
        ],
        [
          "overallSize",
          "0.732558139535 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.732558139535 * overallSize",
          "overallSize"
        ],
        [
          "0.713178294574 * overallSize",
          "0.996124031008 * overallSize"
        ],
        [
          "0.693798449612 * overallSize",
          "0.984496124031 * overallSize"
        ],
        [
          "0.678294573643 * overallSize",
          "0.972868217054 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.143410852713 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.112403100775 * overallSize",
          "0.503875968992 * overallSize"
        ],
        [
          "0.081395348837 * overallSize",
          "0.515503875969 * overallSize"
        ],
        [
          "0.058139534884 * overallSize",
          "0.531007751938 * overallSize"
        ],
        [
          "0.03488372093 * overallSize",
          "0.554263565891 * overallSize"
        ],
        [
          "0.023255813953 * overallSize",
          "0.585271317829 * overallSize"
        ],
        [
          "0.019379844961 * overallSize",
          "0.616279069767 * overallSize"
        ],
        [
          "0.023255813953 * overallSize",
          "0.647286821705 * overallSize"
        ],
        [
          "0.031007751938 * overallSize",
          "0.674418604651 * overallSize"
        ],
        [
          "0.050387596899 * overallSize",
          "0.701550387597 * overallSize"
        ],
        [
          "0.073643410853 * overallSize",
          "0.720930232558 * overallSize"
        ],
        [
          "0.104651162791 * overallSize",
          "0.732558139535 * overallSize"
        ],
        [
          "0.108527131783 * overallSize",
          "0.732558139535 * overallSize"
        ],
        [
          "0.085271317829 * overallSize",
          "0.751937984496 * overallSize"
        ],
        [
          "0.065891472868 * overallSize",
          "0.77519379845 * overallSize"
        ],
        [
          "0.050387596899 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.046511627907 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.050387596899 * overallSize",
          "0.864341085271 * overallSize"
        ],
        [
          "0.062015503876 * overallSize",
          "0.895348837209 * overallSize"
        ],
        [
          "0.077519379845 * overallSize",
          "0.918604651163 * overallSize"
        ],
        [
          "0.104651162791 * overallSize",
          "0.937984496124 * overallSize"
        ],
        [
          "0.131782945736 * overallSize",
          "0.953488372093 * overallSize"
        ],
        [
          "0.162790697674 * overallSize",
          "0.957364341085 * overallSize"
        ],
        [
          "0.193798449612 * overallSize",
          "0.953488372093 * overallSize"
        ],
        [
          "0.220930232558 * overallSize",
          "0.941860465116 * overallSize"
        ],
        [
          "0.248062015504 * overallSize",
          "0.926356589147 * overallSize"
        ],
        [
          "0.267441860465 * overallSize",
          "0.903100775194 * overallSize"
        ],
        [
          "0.27519379845 * overallSize",
          "0.922480620155 * overallSize"
        ],
        [
          "0.294573643411 * overallSize",
          "0.945736434109 * overallSize"
        ],
        [
          "0.317829457364 * overallSize",
          "0.968992248062 * overallSize"
        ],
        [
          "0.34496124031 * overallSize",
          "0.980620155039 * overallSize"
        ],
        [
          "0.375968992248 * overallSize",
          "0.984496124031 * overallSize"
        ],
        [
          "0.406976744186 * overallSize",
          "0.980620155039 * overallSize"
        ],
        [
          "0.437984496124 * overallSize",
          "0.972868217054 * overallSize"
        ],
        [
          "0.461240310078 * overallSize",
          "0.953488372093 * overallSize"
        ],
        [
          "0.480620155039 * overallSize",
          "0.93023255814 * overallSize"
        ],
        [
          "0.496124031008 * overallSize",
          "0.899224806202 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.868217054264 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.887596899225 * overallSize",
          "0.496124031008 * overallSize"
        ],
        [
          "0.918604651163 * overallSize",
          "0.484496124031 * overallSize"
        ],
        [
          "0.941860465116 * overallSize",
          "0.468992248062 * overallSize"
        ],
        [
          "0.96511627907 * overallSize",
          "0.445736434109 * overallSize"
        ],
        [
          "0.976744186047 * overallSize",
          "0.414728682171 * overallSize"
        ],
        [
          "0.980620155039 * overallSize",
          "0.383720930233 * overallSize"
        ],
        [
          "0.976744186047 * overallSize",
          "0.352713178295 * overallSize"
        ],
        [
          "0.968992248062 * overallSize",
          "0.325581395349 * overallSize"
        ],
        [
          "0.949612403101 * overallSize",
          "0.298449612403 * overallSize"
        ],
        [
          "0.926356589147 * overallSize",
          "0.279069767442 * overallSize"
        ],
        [
          "0.895348837209 * overallSize",
          "0.267441860465 * overallSize"
        ],
        [
          "0.891472868217 * overallSize",
          "0.267441860465 * overallSize"
        ],
        [
          "0.914728682171 * overallSize",
          "0.248062015504 * overallSize"
        ],
        [
          "0.934108527132 * overallSize",
          "0.22480620155 * overallSize"
        ],
        [
          "0.949612403101 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.953488372093 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.949612403101 * overallSize",
          "0.135658914729 * overallSize"
        ],
        [
          "0.937984496124 * overallSize",
          "0.104651162791 * overallSize"
        ],
        [
          "0.922480620155 * overallSize",
          "0.081395348837 * overallSize"
        ],
        [
          "0.895348837209 * overallSize",
          "0.062015503876 * overallSize"
        ],
        [
          "0.868217054264 * overallSize",
          "0.046511627907 * overallSize"
        ],
        [
          "0.837209302326 * overallSize",
          "0.042635658915 * overallSize"
        ],
        [
          "0.806201550388 * overallSize",
          "0.046511627907 * overallSize"
        ],
        [
          "0.779069767442 * overallSize",
          "0.058139534884 * overallSize"
        ],
        [
          "0.751937984496 * overallSize",
          "0.073643410853 * overallSize"
        ],
        [
          "0.732558139535 * overallSize",
          "0.096899224806 * overallSize"
        ],
        [
          "0.72480620155 * overallSize",
          "0.077519379845 * overallSize"
        ],
        [
          "0.705426356589 * overallSize",
          "0.054263565891 * overallSize"
        ],
        [
          "0.682170542636 * overallSize",
          "0.031007751938 * overallSize"
        ],
        [
          "0.65503875969 * overallSize",
          "0.019379844961 * overallSize"
        ],
        [
          "0.624031007752 * overallSize",
          "0.015503875969 * overallSize"
        ],
        [
          "0.593023255814 * overallSize",
          "0.019379844961 * overallSize"
        ],
        [
          "0.562015503876 * overallSize",
          "0.027131782946 * overallSize"
        ],
        [
          "0.538759689922 * overallSize",
          "0.046511627907 * overallSize"
        ],
        [
          "0.519379844961 * overallSize",
          "0.06976744186 * overallSize"
        ],
        [
          "0.503875968992 * overallSize",
          "0.100775193798 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.131782945736 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.856589147287 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.767441860465 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.786821705426 * overallSize",
          "0.492248062016 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.484496124031 * overallSize"
        ],
        [
          "0.806201550388 * overallSize",
          "0.480620155039 * overallSize"
        ],
        [
          "0.829457364341 * overallSize",
          "0.449612403101 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.426356589147 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.406976744186 * overallSize"
        ],
        [
          "0.817829457364 * overallSize",
          "0.368217054264 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.352713178295 * overallSize"
        ],
        [
          "0.782945736434 * overallSize",
          "0.34496124031 * overallSize"
        ],
        [
          "0.771317829457 * overallSize",
          "0.341085271318 * overallSize"
        ],
        [
          "0.782945736434 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.794573643411 * overallSize",
          "0.313953488372 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.294573643411 * overallSize"
        ],
        [
          "0.806201550388 * overallSize",
          "0.27519379845 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.255813953488 * overallSize"
        ],
        [
          "0.794573643411 * overallSize",
          "0.236434108527 * overallSize"
        ],
        [
          "0.782945736434 * overallSize",
          "0.217054263566 * overallSize"
        ],
        [
          "0.763565891473 * overallSize",
          "0.205426356589 * overallSize"
        ],
        [
          "0.744186046512 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.72480620155 * overallSize",
          "0.193798449612 * overallSize"
        ],
        [
          "0.720930232558 * overallSize",
          "0.193798449612 * overallSize"
        ],
        [
          "0.705426356589 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.686046511628 * overallSize",
          "0.205426356589 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.217054263566 * overallSize"
        ],
        [
          "0.658914728682 * overallSize",
          "0.228682170543 * overallSize"
        ],
        [
          "0.65503875969 * overallSize",
          "0.209302325581 * overallSize"
        ],
        [
          "0.643410852713 * overallSize",
          "0.18992248062 * overallSize"
        ],
        [
          "0.627906976744 * overallSize",
          "0.174418604651 * overallSize"
        ],
        [
          "0.608527131783 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.589147286822 * overallSize",
          "0.162790697674 * overallSize"
        ],
        [
          "0.565891472868 * overallSize",
          "0.162790697674 * overallSize"
        ],
        [
          "0.546511627907 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.527131782946 * overallSize",
          "0.178294573643 * overallSize"
        ],
        [
          "0.515503875969 * overallSize",
          "0.193798449612 * overallSize"
        ],
        [
          "0.503875968992 * overallSize",
          "0.213178294574 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.232558139535 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.131782945736 * overallSize"
        ],
        [
          "0.503875968992 * overallSize",
          "0.100775193798 * overallSize"
        ],
        [
          "0.519379844961 * overallSize",
          "0.06976744186 * overallSize"
        ],
        [
          "0.538759689922 * overallSize",
          "0.046511627907 * overallSize"
        ],
        [
          "0.562015503876 * overallSize",
          "0.027131782946 * overallSize"
        ],
        [
          "0.593023255814 * overallSize",
          "0.019379844961 * overallSize"
        ],
        [
          "0.624031007752 * overallSize",
          "0.015503875969 * overallSize"
        ],
        [
          "0.65503875969 * overallSize",
          "0.019379844961 * overallSize"
        ],
        [
          "0.682170542636 * overallSize",
          "0.031007751938 * overallSize"
        ],
        [
          "0.705426356589 * overallSize",
          "0.054263565891 * overallSize"
        ],
        [
          "0.72480620155 * overallSize",
          "0.077519379845 * overallSize"
        ],
        [
          "0.732558139535 * overallSize",
          "0.096899224806 * overallSize"
        ],
        [
          "0.751937984496 * overallSize",
          "0.073643410853 * overallSize"
        ],
        [
          "0.779069767442 * overallSize",
          "0.058139534884 * overallSize"
        ],
        [
          "0.806201550388 * overallSize",
          "0.046511627907 * overallSize"
        ],
        [
          "0.837209302326 * overallSize",
          "0.042635658915 * overallSize"
        ],
        [
          "0.868217054264 * overallSize",
          "0.046511627907 * overallSize"
        ],
        [
          "0.895348837209 * overallSize",
          "0.062015503876 * overallSize"
        ],
        [
          "0.922480620155 * overallSize",
          "0.081395348837 * overallSize"
        ],
        [
          "0.937984496124 * overallSize",
          "0.104651162791 * overallSize"
        ],
        [
          "0.949612403101 * overallSize",
          "0.135658914729 * overallSize"
        ],
        [
          "0.953488372093 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.949612403101 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.934108527132 * overallSize",
          "0.22480620155 * overallSize"
        ],
        [
          "0.914728682171 * overallSize",
          "0.248062015504 * overallSize"
        ],
        [
          "0.891472868217 * overallSize",
          "0.267441860465 * overallSize"
        ],
        [
          "0.895348837209 * overallSize",
          "0.267441860465 * overallSize"
        ],
        [
          "0.926356589147 * overallSize",
          "0.279069767442 * overallSize"
        ],
        [
          "0.949612403101 * overallSize",
          "0.298449612403 * overallSize"
        ],
        [
          "0.968992248062 * overallSize",
          "0.325581395349 * overallSize"
        ],
        [
          "0.976744186047 * overallSize",
          "0.352713178295 * overallSize"
        ],
        [
          "0.980620155039 * overallSize",
          "0.383720930233 * overallSize"
        ],
        [
          "0.976744186047 * overallSize",
          "0.414728682171 * overallSize"
        ],
        [
          "0.96511627907 * overallSize",
          "0.441860465116 * overallSize"
        ],
        [
          "0.941860465116 * overallSize",
          "0.468992248062 * overallSize"
        ],
        [
          "0.918604651163 * overallSize",
          "0.484496124031 * overallSize"
        ],
        [
          "0.887596899225 * overallSize",
          "0.496124031008 * overallSize"
        ],
        [
          "0.856589147287 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.232558139535 * overallSize"
        ],
        [
          "0.503875968992 * overallSize",
          "0.213178294574 * overallSize"
        ],
        [
          "0.515503875969 * overallSize",
          "0.193798449612 * overallSize"
        ],
        [
          "0.527131782946 * overallSize",
          "0.178294573643 * overallSize"
        ],
        [
          "0.546511627907 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.565891472868 * overallSize",
          "0.162790697674 * overallSize"
        ],
        [
          "0.589147286822 * overallSize",
          "0.162790697674 * overallSize"
        ],
        [
          "0.608527131783 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.627906976744 * overallSize",
          "0.174418604651 * overallSize"
        ],
        [
          "0.643410852713 * overallSize",
          "0.18992248062 * overallSize"
        ],
        [
          "0.65503875969 * overallSize",
          "0.209302325581 * overallSize"
        ],
        [
          "0.658914728682 * overallSize",
          "0.228682170543 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.217054263566 * overallSize"
        ],
        [
          "0.686046511628 * overallSize",
          "0.205426356589 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.705426356589 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.720930232558 * overallSize",
          "0.193798449612 * overallSize"
        ],
        [
          "0.720930232558 * overallSize",
          "0.193798449612 * overallSize"
        ],
        [
          "0.72480620155 * overallSize",
          "0.193798449612 * overallSize"
        ],
        [
          "0.744186046512 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.763565891473 * overallSize",
          "0.205426356589 * overallSize"
        ],
        [
          "0.782945736434 * overallSize",
          "0.217054263566 * overallSize"
        ],
        [
          "0.794573643411 * overallSize",
          "0.236434108527 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.255813953488 * overallSize"
        ],
        [
          "0.806201550388 * overallSize",
          "0.27519379845 * overallSize"
        ],
        [
          "0.806201550388 * overallSize",
          "0.27519379845 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.294573643411 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.794573643411 * overallSize",
          "0.313953488372 * overallSize"
        ],
        [
          "0.782945736434 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.771317829457 * overallSize",
          "0.341085271318 * overallSize"
        ],
        [
          "0.782945736434 * overallSize",
          "0.34496124031 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.352713178295 * overallSize"
        ],
        [
          "0.817829457364 * overallSize",
          "0.368217054264 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.406976744186 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.426356589147 * overallSize"
        ],
        [
          "0.829457364341 * overallSize",
          "0.449612403101 * overallSize"
        ],
        [
          "0.806201550388 * overallSize",
          "0.480620155039 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.484496124031 * overallSize"
        ],
        [
          "0.786821705426 * overallSize",
          "0.492248062016 * overallSize"
        ],
        [
          "0.767441860465 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.015503875969 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.007751937984 * overallSize",
          "0.286821705426 * overallSize"
        ],
        [
          "0",
          "0.267441860465 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.267441860465 * overallSize",
          "0"
        ],
        [
          "0.286821705426 * overallSize",
          "0.003875968992 * overallSize"
        ],
        [
          "0.306201550388 * overallSize",
          "0.015503875969 * overallSize"
        ],
        [
          "0.321705426357 * overallSize",
          "0.027131782946 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.046511627907 * overallSize"
        ],
        [
          "0.337209302326 * overallSize",
          "0.065891472868 * overallSize"
        ],
        [
          "0.337209302326 * overallSize",
          "0.089147286822 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.108527131783 * overallSize"
        ],
        [
          "0.325581395349 * overallSize",
          "0.127906976744 * overallSize"
        ],
        [
          "0.31007751938 * overallSize",
          "0.143410852713 * overallSize"
        ],
        [
          "0.290697674419 * overallSize",
          "0.15503875969 * overallSize"
        ],
        [
          "0.271317829457 * overallSize",
          "0.158914728682 * overallSize"
        ],
        [
          "0.282945736434 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.294573643411 * overallSize",
          "0.186046511628 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.197674418605 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.205426356589 * overallSize"
        ],
        [
          "0.306201550388 * overallSize",
          "0.220930232558 * overallSize"
        ],
        [
          "0.306201550388 * overallSize",
          "0.220930232558 * overallSize"
        ],
        [
          "0.306201550388 * overallSize",
          "0.22480620155 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.244186046512 * overallSize"
        ],
        [
          "0.294573643411 * overallSize",
          "0.263565891473 * overallSize"
        ],
        [
          "0.282945736434 * overallSize",
          "0.282945736434 * overallSize"
        ],
        [
          "0.263565891473 * overallSize",
          "0.294573643411 * overallSize"
        ],
        [
          "0.244186046512 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.22480620155 * overallSize",
          "0.306201550388 * overallSize"
        ],
        [
          "0.22480620155 * overallSize",
          "0.306201550388 * overallSize"
        ],
        [
          "0.205426356589 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.197674418605 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.186046511628 * overallSize",
          "0.294573643411 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.282945736434 * overallSize"
        ],
        [
          "0.158914728682 * overallSize",
          "0.271317829457 * overallSize"
        ],
        [
          "0.15503875969 * overallSize",
          "0.282945736434 * overallSize"
        ],
        [
          "0.147286821705 * overallSize",
          "0.302325581395 * overallSize"
        ],
        [
          "0.131782945736 * overallSize",
          "0.317829457364 * overallSize"
        ],
        [
          "0.093023255814 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.073643410853 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.050387596899 * overallSize",
          "0.329457364341 * overallSize"
        ],
        [
          "0.019379844961 * overallSize",
          "0.306201550388 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.356589147287 * overallSize"
        ],
        [
          "0.003875968992 * overallSize",
          "0.387596899225 * overallSize"
        ],
        [
          "0.015503875969 * overallSize",
          "0.418604651163 * overallSize"
        ],
        [
          "0.031007751938 * overallSize",
          "0.441860465116 * overallSize"
        ],
        [
          "0.054263565891 * overallSize",
          "0.46511627907 * overallSize"
        ],
        [
          "0.085271317829 * overallSize",
          "0.476744186047 * overallSize"
        ],
        [
          "0.116279069767 * overallSize",
          "0.480620155039 * overallSize"
        ],
        [
          "0.147286821705 * overallSize",
          "0.476744186047 * overallSize"
        ],
        [
          "0.174418604651 * overallSize",
          "0.468992248062 * overallSize"
        ],
        [
          "0.201550387597 * overallSize",
          "0.449612403101 * overallSize"
        ],
        [
          "0.220930232558 * overallSize",
          "0.426356589147 * overallSize"
        ],
        [
          "0.232558139535 * overallSize",
          "0.395348837209 * overallSize"
        ],
        [
          "0.232558139535 * overallSize",
          "0.391472868217 * overallSize"
        ],
        [
          "0.251937984496 * overallSize",
          "0.414728682171 * overallSize"
        ],
        [
          "0.27519379845 * overallSize",
          "0.434108527132 * overallSize"
        ],
        [
          "0.302325581395 * overallSize",
          "0.449612403101 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.453488372093 * overallSize"
        ],
        [
          "0.364341085271 * overallSize",
          "0.449612403101 * overallSize"
        ],
        [
          "0.395348837209 * overallSize",
          "0.437984496124 * overallSize"
        ],
        [
          "0.418604651163 * overallSize",
          "0.422480620155 * overallSize"
        ],
        [
          "0.437984496124 * overallSize",
          "0.395348837209 * overallSize"
        ],
        [
          "0.453488372093 * overallSize",
          "0.368217054264 * overallSize"
        ],
        [
          "0.457364341085 * overallSize",
          "0.337209302326 * overallSize"
        ],
        [
          "0.453488372093 * overallSize",
          "0.306201550388 * overallSize"
        ],
        [
          "0.441860465116 * overallSize",
          "0.279069767442 * overallSize"
        ],
        [
          "0.426356589147 * overallSize",
          "0.251937984496 * overallSize"
        ],
        [
          "0.403100775194 * overallSize",
          "0.232558139535 * overallSize"
        ],
        [
          "0.422480620155 * overallSize",
          "0.22480620155 * overallSize"
        ],
        [
          "0.445736434109 * overallSize",
          "0.205426356589 * overallSize"
        ],
        [
          "0.468992248062 * overallSize",
          "0.182170542636 * overallSize"
        ],
        [
          "0.480620155039 * overallSize",
          "0.15503875969 * overallSize"
        ],
        [
          "0.484496124031 * overallSize",
          "0.124031007752 * overallSize"
        ],
        [
          "0.480620155039 * overallSize",
          "0.093023255814 * overallSize"
        ],
        [
          "0.472868217054 * overallSize",
          "0.062015503876 * overallSize"
        ],
        [
          "0.453488372093 * overallSize",
          "0.038759689922 * overallSize"
        ],
        [
          "0.43023255814 * overallSize",
          "0.019379844961 * overallSize"
        ],
        [
          "0.399224806202 * overallSize",
          "0.003875968992 * overallSize"
        ],
        [
          "0.368217054264 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.527131782946 * overallSize",
          "0.937984496124 * overallSize"
        ],
        [
          "0.519379844961 * overallSize",
          "0.906976744186 * overallSize"
        ],
        [
          "0.515503875969 * overallSize",
          "0.875968992248 * overallSize"
        ],
        [
          "0.519379844961 * overallSize",
          "0.84496124031 * overallSize"
        ],
        [
          "0.531007751938 * overallSize",
          "0.817829457364 * overallSize"
        ],
        [
          "0.554263565891 * overallSize",
          "0.794573643411 * overallSize"
        ],
        [
          "0.577519379845 * overallSize",
          "0.77519379845 * overallSize"
        ],
        [
          "0.596899224806 * overallSize",
          "0.767441860465 * overallSize"
        ],
        [
          "0.573643410853 * overallSize",
          "0.748062015504 * overallSize"
        ],
        [
          "0.558139534884 * overallSize",
          "0.720930232558 * overallSize"
        ],
        [
          "0.546511627907 * overallSize",
          "0.693798449612 * overallSize"
        ],
        [
          "0.542635658915 * overallSize",
          "0.662790697674 * overallSize"
        ],
        [
          "0.546511627907 * overallSize",
          "0.631782945736 * overallSize"
        ],
        [
          "0.562015503876 * overallSize",
          "0.604651162791 * overallSize"
        ],
        [
          "0.581395348837 * overallSize",
          "0.577519379845 * overallSize"
        ],
        [
          "0.604651162791 * overallSize",
          "0.562015503876 * overallSize"
        ],
        [
          "0.635658914729 * overallSize",
          "0.550387596899 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.546511627907 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.550387596899 * overallSize"
        ],
        [
          "0.72480620155 * overallSize",
          "0.565891472868 * overallSize"
        ],
        [
          "0.748062015504 * overallSize",
          "0.585271317829 * overallSize"
        ],
        [
          "0.767441860465 * overallSize",
          "0.608527131783 * overallSize"
        ],
        [
          "0.767441860465 * overallSize",
          "0.604651162791 * overallSize"
        ],
        [
          "0.779069767442 * overallSize",
          "0.573643410853 * overallSize"
        ],
        [
          "0.798449612403 * overallSize",
          "0.550387596899 * overallSize"
        ],
        [
          "0.825581395349 * overallSize",
          "0.531007751938 * overallSize"
        ],
        [
          "0.852713178295 * overallSize",
          "0.523255813953 * overallSize"
        ],
        [
          "0.883720930233 * overallSize",
          "0.519379844961 * overallSize"
        ],
        [
          "0.914728682171 * overallSize",
          "0.523255813953 * overallSize"
        ],
        [
          "0.945736434109 * overallSize",
          "0.53488372093 * overallSize"
        ],
        [
          "0.968992248062 * overallSize",
          "0.558139534884 * overallSize"
        ],
        [
          "0.984496124031 * overallSize",
          "0.581395348837 * overallSize"
        ],
        [
          "0.996124031008 * overallSize",
          "0.612403100775 * overallSize"
        ],
        [
          "overallSize",
          "0.643410852713 * overallSize"
        ],
        [
          "overallSize",
          "0.732558139535 * overallSize"
        ],
        [
          "0.992248062016 * overallSize",
          "0.713178294574 * overallSize"
        ],
        [
          "0.984496124031 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.96511627907 * overallSize",
          "0.678294573643 * overallSize"
        ],
        [
          "0.949612403101 * overallSize",
          "0.670542635659 * overallSize"
        ],
        [
          "0.926356589147 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.906976744186 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.868217054264 * overallSize",
          "0.682170542636 * overallSize"
        ],
        [
          "0.852713178295 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.84496124031 * overallSize",
          "0.717054263566 * overallSize"
        ],
        [
          "0.841085271318 * overallSize",
          "0.728682170543 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.717054263566 * overallSize"
        ],
        [
          "0.813953488372 * overallSize",
          "0.705426356589 * overallSize"
        ],
        [
          "0.802325581395 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.794573643411 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.77519379845 * overallSize",
          "0.693798449612 * overallSize"
        ],
        [
          "0.755813953488 * overallSize",
          "0.697674418605 * overallSize"
        ],
        [
          "0.736434108527 * overallSize",
          "0.705426356589 * overallSize"
        ],
        [
          "0.717054263566 * overallSize",
          "0.717054263566 * overallSize"
        ],
        [
          "0.705426356589 * overallSize",
          "0.736434108527 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.755813953488 * overallSize"
        ],
        [
          "0.693798449612 * overallSize",
          "0.77519379845 * overallSize"
        ],
        [
          "0.693798449612 * overallSize",
          "0.779069767442 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.794573643411 * overallSize"
        ],
        [
          "0.697674418605 * overallSize",
          "0.802325581395 * overallSize"
        ],
        [
          "0.705426356589 * overallSize",
          "0.813953488372 * overallSize"
        ],
        [
          "0.717054263566 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.728682170543 * overallSize",
          "0.841085271318 * overallSize"
        ],
        [
          "0.709302325581 * overallSize",
          "0.84496124031 * overallSize"
        ],
        [
          "0.68992248062 * overallSize",
          "0.856589147287 * overallSize"
        ],
        [
          "0.674418604651 * overallSize",
          "0.872093023256 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.891472868217 * overallSize"
        ],
        [
          "0.662790697674 * overallSize",
          "0.910852713178 * overallSize"
        ],
        [
          "0.662790697674 * overallSize",
          "0.934108527132 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.953488372093 * overallSize"
        ],
        [
          "0.678294573643 * overallSize",
          "0.972868217054 * overallSize"
        ],
        [
          "0.693798449612 * overallSize",
          "0.984496124031 * overallSize"
        ],
        [
          "0.713178294574 * overallSize",
          "0.996124031008 * overallSize"
        ],
        [
          "0.732558139535 * overallSize",
          "overallSize"
        ],
        [
          "0.631782945736 * overallSize",
          "overallSize"
        ],
        [
          "0.600775193798 * overallSize",
          "0.996124031008 * overallSize"
        ],
        [
          "0.56976744186 * overallSize",
          "0.980620155039 * overallSize"
        ],
        [
          "0.546511627907 * overallSize",
          "0.961240310078 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  },
  "coverage": "partial"
}
,"cloud-weave-panel":{
  "schema": 1,
  "id": "cloud-weave-panel",
  "name": "Cloud weave panel",
  "category": "wood",
  "parameters": {
    "cellSize": {
      "value": 600,
      "min": 200,
      "max": 2000,
      "label": "Panel side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0.875 * cellSize"
        ],
        [
          "0",
          "0.75 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.75 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.756 * cellSize"
        ],
        [
          "0.249 * cellSize",
          "0.763 * cellSize"
        ],
        [
          "0.249 * cellSize",
          "0.769 * cellSize"
        ],
        [
          "0.247 * cellSize",
          "0.776 * cellSize"
        ],
        [
          "0.246 * cellSize",
          "0.782 * cellSize"
        ],
        [
          "0.244 * cellSize",
          "0.789 * cellSize"
        ],
        [
          "0.242 * cellSize",
          "0.795 * cellSize"
        ],
        [
          "0.236 * cellSize",
          "0.807 * cellSize"
        ],
        [
          "0.233 * cellSize",
          "0.812 * cellSize"
        ],
        [
          "0.23 * cellSize",
          "0.818 * cellSize"
        ],
        [
          "0.226 * cellSize",
          "0.823 * cellSize"
        ],
        [
          "0.222 * cellSize",
          "0.829 * cellSize"
        ],
        [
          "0.218 * cellSize",
          "0.834 * cellSize"
        ],
        [
          "0.213 * cellSize",
          "0.838 * cellSize"
        ],
        [
          "0.209 * cellSize",
          "0.843 * cellSize"
        ],
        [
          "0.199 * cellSize",
          "0.851 * cellSize"
        ],
        [
          "0.193 * cellSize",
          "0.855 * cellSize"
        ],
        [
          "0.188 * cellSize",
          "0.858 * cellSize"
        ],
        [
          "0.17 * cellSize",
          "0.867 * cellSize"
        ],
        [
          "0.164 * cellSize",
          "0.869 * cellSize"
        ],
        [
          "0.157 * cellSize",
          "0.871 * cellSize"
        ],
        [
          "0.145 * cellSize",
          "0.873 * cellSize"
        ],
        [
          "0.138 * cellSize",
          "0.874 * cellSize"
        ],
        [
          "0.132 * cellSize",
          "0.875 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0",
        "cellSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "-0.00005316566969 * cellSize",
              "0.87494683433031 * cellSize"
            ],
            "from": [
              "0",
              "cellSize"
            ],
            "to": [
              "0.125 * cellSize",
              "0.875 * cellSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.875 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "0.75 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.25 * cellSize",
              "0.75 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.37505316566969 * cellSize",
              "0.75005316566969 * cellSize"
            ],
            "from": [
              "0.25 * cellSize",
              "0.75 * cellSize"
            ],
            "to": [
              "0.375 * cellSize",
              "0.625 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.625 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.75 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.25 * cellSize",
          "cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.744 * cellSize"
        ],
        [
          "0.251 * cellSize",
          "0.737 * cellSize"
        ],
        [
          "0.251 * cellSize",
          "0.731 * cellSize"
        ],
        [
          "0.253 * cellSize",
          "0.724 * cellSize"
        ],
        [
          "0.254 * cellSize",
          "0.718 * cellSize"
        ],
        [
          "0.256 * cellSize",
          "0.711 * cellSize"
        ],
        [
          "0.258 * cellSize",
          "0.705 * cellSize"
        ],
        [
          "0.264 * cellSize",
          "0.693 * cellSize"
        ],
        [
          "0.267 * cellSize",
          "0.688 * cellSize"
        ],
        [
          "0.27 * cellSize",
          "0.682 * cellSize"
        ],
        [
          "0.274 * cellSize",
          "0.677 * cellSize"
        ],
        [
          "0.278 * cellSize",
          "0.671 * cellSize"
        ],
        [
          "0.282 * cellSize",
          "0.666 * cellSize"
        ],
        [
          "0.287 * cellSize",
          "0.662 * cellSize"
        ],
        [
          "0.291 * cellSize",
          "0.657 * cellSize"
        ],
        [
          "0.301 * cellSize",
          "0.649 * cellSize"
        ],
        [
          "0.307 * cellSize",
          "0.645 * cellSize"
        ],
        [
          "0.312 * cellSize",
          "0.642 * cellSize"
        ],
        [
          "0.33 * cellSize",
          "0.633 * cellSize"
        ],
        [
          "0.336 * cellSize",
          "0.631 * cellSize"
        ],
        [
          "0.343 * cellSize",
          "0.629 * cellSize"
        ],
        [
          "0.355 * cellSize",
          "0.627 * cellSize"
        ],
        [
          "0.362 * cellSize",
          "0.626 * cellSize"
        ],
        [
          "0.368 * cellSize",
          "0.625 * cellSize"
        ],
        [
          "0.375 * cellSize",
          "0.625 * cellSize"
        ],
        [
          "0.375 * cellSize",
          "cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.375 * cellSize",
          "cellSize"
        ],
        [
          "0.375 * cellSize",
          "0.619 * cellSize"
        ],
        [
          "0.376 * cellSize",
          "0.612 * cellSize"
        ],
        [
          "0.376 * cellSize",
          "0.606 * cellSize"
        ],
        [
          "0.378 * cellSize",
          "0.599 * cellSize"
        ],
        [
          "0.379 * cellSize",
          "0.593 * cellSize"
        ],
        [
          "0.381 * cellSize",
          "0.586 * cellSize"
        ],
        [
          "0.383 * cellSize",
          "0.58 * cellSize"
        ],
        [
          "0.389 * cellSize",
          "0.568 * cellSize"
        ],
        [
          "0.392 * cellSize",
          "0.563 * cellSize"
        ],
        [
          "0.395 * cellSize",
          "0.557 * cellSize"
        ],
        [
          "0.399 * cellSize",
          "0.552 * cellSize"
        ],
        [
          "0.403 * cellSize",
          "0.546 * cellSize"
        ],
        [
          "0.407 * cellSize",
          "0.541 * cellSize"
        ],
        [
          "0.412 * cellSize",
          "0.537 * cellSize"
        ],
        [
          "0.416 * cellSize",
          "0.532 * cellSize"
        ],
        [
          "0.426 * cellSize",
          "0.524 * cellSize"
        ],
        [
          "0.432 * cellSize",
          "0.52 * cellSize"
        ],
        [
          "0.437 * cellSize",
          "0.517 * cellSize"
        ],
        [
          "0.455 * cellSize",
          "0.508 * cellSize"
        ],
        [
          "0.461 * cellSize",
          "0.506 * cellSize"
        ],
        [
          "0.468 * cellSize",
          "0.504 * cellSize"
        ],
        [
          "0.48 * cellSize",
          "0.502 * cellSize"
        ],
        [
          "0.487 * cellSize",
          "0.501 * cellSize"
        ],
        [
          "0.493 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "cellSize"
        ]
      ]
    },
    {
      "start": [
        "0.125 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.25 * cellSize",
              "cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.25 * cellSize",
              "0.75 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.12494683433031 * cellSize",
              "0.74994683433031 * cellSize"
            ],
            "from": [
              "0.25 * cellSize",
              "0.75 * cellSize"
            ],
            "to": [
              "0.125 * cellSize",
              "0.875 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.125 * cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.125 * cellSize",
              "cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.125 * cellSize",
              "0.875 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.000079613323041 * cellSize",
              "0.875079613323041 * cellSize"
            ],
            "from": [
              "0.125 * cellSize",
              "0.875 * cellSize"
            ],
            "to": [
              "0",
              "cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "0.625 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.375 * cellSize",
              "0.625 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.50005316566969 * cellSize",
              "0.62505316566969 * cellSize"
            ],
            "from": [
              "0.375 * cellSize",
              "0.625 * cellSize"
            ],
            "to": [
              "0.5 * cellSize",
              "0.5 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.375 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.25 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.125 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.625 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.25 * cellSize",
        "0.5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.375 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.375 * cellSize",
              "0.375 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.37505316566969 * cellSize",
              "0.24994683433031 * cellSize"
            ],
            "from": [
              "0.375 * cellSize",
              "0.375 * cellSize"
            ],
            "to": [
              "0.25 * cellSize",
              "0.25 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.25 * cellSize",
              "0.5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * cellSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.006 * cellSize",
          "0"
        ],
        [
          "0.013 * cellSize",
          "0.001 * cellSize"
        ],
        [
          "0.019 * cellSize",
          "0.001 * cellSize"
        ],
        [
          "0.026 * cellSize",
          "0.003 * cellSize"
        ],
        [
          "0.032 * cellSize",
          "0.004 * cellSize"
        ],
        [
          "0.039 * cellSize",
          "0.006 * cellSize"
        ],
        [
          "0.045 * cellSize",
          "0.008 * cellSize"
        ],
        [
          "0.057 * cellSize",
          "0.014 * cellSize"
        ],
        [
          "0.062 * cellSize",
          "0.017 * cellSize"
        ],
        [
          "0.068 * cellSize",
          "0.02 * cellSize"
        ],
        [
          "0.073 * cellSize",
          "0.024 * cellSize"
        ],
        [
          "0.079 * cellSize",
          "0.028 * cellSize"
        ],
        [
          "0.084 * cellSize",
          "0.032 * cellSize"
        ],
        [
          "0.088 * cellSize",
          "0.037 * cellSize"
        ],
        [
          "0.093 * cellSize",
          "0.041 * cellSize"
        ],
        [
          "0.101 * cellSize",
          "0.051 * cellSize"
        ],
        [
          "0.105 * cellSize",
          "0.057 * cellSize"
        ],
        [
          "0.108 * cellSize",
          "0.062 * cellSize"
        ],
        [
          "0.117 * cellSize",
          "0.08 * cellSize"
        ],
        [
          "0.119 * cellSize",
          "0.086 * cellSize"
        ],
        [
          "0.121 * cellSize",
          "0.093 * cellSize"
        ],
        [
          "0.123 * cellSize",
          "0.105 * cellSize"
        ],
        [
          "0.124 * cellSize",
          "0.112 * cellSize"
        ],
        [
          "0.125 * cellSize",
          "0.118 * cellSize"
        ],
        [
          "0.125 * cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.125 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.125 * cellSize",
          "0.125 * cellSize"
        ],
        [
          "0.131 * cellSize",
          "0.125 * cellSize"
        ],
        [
          "0.138 * cellSize",
          "0.126 * cellSize"
        ],
        [
          "0.144 * cellSize",
          "0.126 * cellSize"
        ],
        [
          "0.151 * cellSize",
          "0.128 * cellSize"
        ],
        [
          "0.157 * cellSize",
          "0.129 * cellSize"
        ],
        [
          "0.164 * cellSize",
          "0.131 * cellSize"
        ],
        [
          "0.17 * cellSize",
          "0.133 * cellSize"
        ],
        [
          "0.182 * cellSize",
          "0.139 * cellSize"
        ],
        [
          "0.187 * cellSize",
          "0.142 * cellSize"
        ],
        [
          "0.193 * cellSize",
          "0.145 * cellSize"
        ],
        [
          "0.198 * cellSize",
          "0.149 * cellSize"
        ],
        [
          "0.204 * cellSize",
          "0.153 * cellSize"
        ],
        [
          "0.209 * cellSize",
          "0.157 * cellSize"
        ],
        [
          "0.213 * cellSize",
          "0.162 * cellSize"
        ],
        [
          "0.218 * cellSize",
          "0.166 * cellSize"
        ],
        [
          "0.226 * cellSize",
          "0.176 * cellSize"
        ],
        [
          "0.23 * cellSize",
          "0.182 * cellSize"
        ],
        [
          "0.233 * cellSize",
          "0.187 * cellSize"
        ],
        [
          "0.242 * cellSize",
          "0.205 * cellSize"
        ],
        [
          "0.244 * cellSize",
          "0.211 * cellSize"
        ],
        [
          "0.246 * cellSize",
          "0.218 * cellSize"
        ],
        [
          "0.248 * cellSize",
          "0.23 * cellSize"
        ],
        [
          "0.249 * cellSize",
          "0.237 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.243 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0.125 * cellSize",
        "0.125 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.125 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.000065446656375 * cellSize",
              "0.124934553343625 * cellSize"
            ],
            "from": [
              "0",
              "0"
            ],
            "to": [
              "0.125 * cellSize",
              "0.125 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0.375 * cellSize",
        "0.5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.500053165669689 * cellSize",
              "0.374946834330311 * cellSize"
            ],
            "from": [
              "0.5 * cellSize",
              "0.5 * cellSize"
            ],
            "to": [
              "0.375 * cellSize",
              "0.375 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.375 * cellSize",
              "0.5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * cellSize",
          "0.375 * cellSize"
        ],
        [
          "0.369 * cellSize",
          "0.375 * cellSize"
        ],
        [
          "0.362 * cellSize",
          "0.374 * cellSize"
        ],
        [
          "0.356 * cellSize",
          "0.373 * cellSize"
        ],
        [
          "0.349 * cellSize",
          "0.372 * cellSize"
        ],
        [
          "0.343 * cellSize",
          "0.371 * cellSize"
        ],
        [
          "0.336 * cellSize",
          "0.369 * cellSize"
        ],
        [
          "0.33 * cellSize",
          "0.367 * cellSize"
        ],
        [
          "0.318 * cellSize",
          "0.361 * cellSize"
        ],
        [
          "0.313 * cellSize",
          "0.358 * cellSize"
        ],
        [
          "0.307 * cellSize",
          "0.355 * cellSize"
        ],
        [
          "0.302 * cellSize",
          "0.351 * cellSize"
        ],
        [
          "0.296 * cellSize",
          "0.347 * cellSize"
        ],
        [
          "0.291 * cellSize",
          "0.343 * cellSize"
        ],
        [
          "0.287 * cellSize",
          "0.338 * cellSize"
        ],
        [
          "0.282 * cellSize",
          "0.334 * cellSize"
        ],
        [
          "0.274 * cellSize",
          "0.324 * cellSize"
        ],
        [
          "0.27 * cellSize",
          "0.318 * cellSize"
        ],
        [
          "0.267 * cellSize",
          "0.313 * cellSize"
        ],
        [
          "0.258 * cellSize",
          "0.295 * cellSize"
        ],
        [
          "0.256 * cellSize",
          "0.289 * cellSize"
        ],
        [
          "0.254 * cellSize",
          "0.282 * cellSize"
        ],
        [
          "0.252 * cellSize",
          "0.27 * cellSize"
        ],
        [
          "0.251 * cellSize",
          "0.263 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.257 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.25 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.25 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0.5 * cellSize",
        "0.5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.375 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.375 * cellSize",
              "0.375 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.499948720010292 * cellSize",
              "0.375051279989708 * cellSize"
            ],
            "from": [
              "0.375 * cellSize",
              "0.375 * cellSize"
            ],
            "to": [
              "0.5 * cellSize",
              "0.5 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.25 * cellSize",
        "0.25 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.25 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.125 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.125 * cellSize",
              "0.125 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.125082946656375 * cellSize",
              "0.249917053343625 * cellSize"
            ],
            "from": [
              "0.125 * cellSize",
              "0.125 * cellSize"
            ],
            "to": [
              "0.25 * cellSize",
              "0.25 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0.75 * cellSize",
        "0.25 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "0.25 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "0.125 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.875 * cellSize",
              "0.125 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.874920386676958 * cellSize",
              "0.249920386676958 * cellSize"
            ],
            "from": [
              "0.875 * cellSize",
              "0.125 * cellSize"
            ],
            "to": [
              "0.75 * cellSize",
              "0.25 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.875 * cellSize",
        "0.125 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "0.125 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.999920386676959 * cellSize",
              "0.124920386676959 * cellSize"
            ],
            "from": [
              "cellSize",
              "0"
            ],
            "to": [
              "0.875 * cellSize",
              "0.125 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.625 * cellSize",
        "0.375 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "0.375 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "0.25 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.75 * cellSize",
              "0.25 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.625079613323042 * cellSize",
              "0.250079613323042 * cellSize"
            ],
            "from": [
              "0.75 * cellSize",
              "0.25 * cellSize"
            ],
            "to": [
              "0.625 * cellSize",
              "0.375 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.625 * cellSize",
          "0.375 * cellSize"
        ],
        [
          "0.625 * cellSize",
          "0"
        ],
        [
          "0.75 * cellSize",
          "0"
        ],
        [
          "0.75 * cellSize",
          "0.256 * cellSize"
        ],
        [
          "0.749 * cellSize",
          "0.263 * cellSize"
        ],
        [
          "0.749 * cellSize",
          "0.269 * cellSize"
        ],
        [
          "0.747 * cellSize",
          "0.276 * cellSize"
        ],
        [
          "0.746 * cellSize",
          "0.282 * cellSize"
        ],
        [
          "0.744 * cellSize",
          "0.289 * cellSize"
        ],
        [
          "0.742 * cellSize",
          "0.295 * cellSize"
        ],
        [
          "0.736 * cellSize",
          "0.307 * cellSize"
        ],
        [
          "0.733 * cellSize",
          "0.312 * cellSize"
        ],
        [
          "0.73 * cellSize",
          "0.318 * cellSize"
        ],
        [
          "0.726 * cellSize",
          "0.323 * cellSize"
        ],
        [
          "0.722 * cellSize",
          "0.329 * cellSize"
        ],
        [
          "0.718 * cellSize",
          "0.334 * cellSize"
        ],
        [
          "0.713 * cellSize",
          "0.338 * cellSize"
        ],
        [
          "0.709 * cellSize",
          "0.343 * cellSize"
        ],
        [
          "0.699 * cellSize",
          "0.351 * cellSize"
        ],
        [
          "0.693 * cellSize",
          "0.355 * cellSize"
        ],
        [
          "0.688 * cellSize",
          "0.358 * cellSize"
        ],
        [
          "0.67 * cellSize",
          "0.367 * cellSize"
        ],
        [
          "0.664 * cellSize",
          "0.369 * cellSize"
        ],
        [
          "0.657 * cellSize",
          "0.371 * cellSize"
        ],
        [
          "0.645 * cellSize",
          "0.373 * cellSize"
        ],
        [
          "0.638 * cellSize",
          "0.374 * cellSize"
        ],
        [
          "0.632 * cellSize",
          "0.375 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0.5 * cellSize",
        "0.5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.507 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.513 * cellSize",
              "0.499 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.52 * cellSize",
              "0.498 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.526 * cellSize",
              "0.497 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.532 * cellSize",
              "0.496 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.539 * cellSize",
              "0.494 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.545 * cellSize",
              "0.492 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.551 * cellSize",
              "0.489 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.557 * cellSize",
              "0.486 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.563 * cellSize",
              "0.483 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.568 * cellSize",
              "0.48 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.574 * cellSize",
              "0.476 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.579 * cellSize",
              "0.472 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.584 * cellSize",
              "0.468 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.588 * cellSize",
              "0.463 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.593 * cellSize",
              "0.459 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.597 * cellSize",
              "0.454 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.601 * cellSize",
              "0.448 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.605 * cellSize",
              "0.443 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.608 * cellSize",
              "0.437 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.611 * cellSize",
              "0.432 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.614 * cellSize",
              "0.426 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.617 * cellSize",
              "0.42 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.619 * cellSize",
              "0.414 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.621 * cellSize",
              "0.407 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.622 * cellSize",
              "0.401 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.624 * cellSize",
              "0.394 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.624 * cellSize",
              "0.388 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0.381 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0.375 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "-568.0568181821528 * cellSize",
              "0.25 * cellSize"
            ],
            "from": [
              "0.5 * cellSize",
              "0"
            ],
            "to": [
              "0.5 * cellSize",
              "0.5 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0.75 * cellSize",
        "0.25 * cellSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.875053165669688 * cellSize",
              "0.250053165669688 * cellSize"
            ],
            "from": [
              "0.75 * cellSize",
              "0.25 * cellSize"
            ],
            "to": [
              "0.875 * cellSize",
              "0.125 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.875 * cellSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.75 * cellSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.75 * cellSize",
              "0.25 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.875 * cellSize",
        "0.125 * cellSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.00005316566969 * cellSize",
              "0.12505316566969 * cellSize"
            ],
            "from": [
              "0.875 * cellSize",
              "0.125 * cellSize"
            ],
            "to": [
              "cellSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.875 * cellSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.875 * cellSize",
              "0.125 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * cellSize",
        "0.5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.75 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.875 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "0.375 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0.375 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.500079613323042 * cellSize",
              "0.375079613323042 * cellSize"
            ],
            "from": [
              "0.625 * cellSize",
              "0.375 * cellSize"
            ],
            "to": [
              "0.5 * cellSize",
              "0.5 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0.75 * cellSize",
        "0.75 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.75 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0.625 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.625064274220349 * cellSize",
              "0.749935725779651 * cellSize"
            ],
            "from": [
              "0.625 * cellSize",
              "0.625 * cellSize"
            ],
            "to": [
              "0.75 * cellSize",
              "0.75 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "cellSize",
          "cellSize"
        ],
        [
          "0.994 * cellSize",
          "cellSize"
        ],
        [
          "0.987 * cellSize",
          "0.999 * cellSize"
        ],
        [
          "0.981 * cellSize",
          "0.998 * cellSize"
        ],
        [
          "0.974 * cellSize",
          "0.997 * cellSize"
        ],
        [
          "0.968 * cellSize",
          "0.996 * cellSize"
        ],
        [
          "0.961 * cellSize",
          "0.994 * cellSize"
        ],
        [
          "0.955 * cellSize",
          "0.992 * cellSize"
        ],
        [
          "0.943 * cellSize",
          "0.986 * cellSize"
        ],
        [
          "0.938 * cellSize",
          "0.983 * cellSize"
        ],
        [
          "0.932 * cellSize",
          "0.98 * cellSize"
        ],
        [
          "0.927 * cellSize",
          "0.976 * cellSize"
        ],
        [
          "0.921 * cellSize",
          "0.972 * cellSize"
        ],
        [
          "0.916 * cellSize",
          "0.968 * cellSize"
        ],
        [
          "0.912 * cellSize",
          "0.963 * cellSize"
        ],
        [
          "0.907 * cellSize",
          "0.959 * cellSize"
        ],
        [
          "0.899 * cellSize",
          "0.949 * cellSize"
        ],
        [
          "0.895 * cellSize",
          "0.943 * cellSize"
        ],
        [
          "0.892 * cellSize",
          "0.938 * cellSize"
        ],
        [
          "0.883 * cellSize",
          "0.92 * cellSize"
        ],
        [
          "0.881 * cellSize",
          "0.914 * cellSize"
        ],
        [
          "0.879 * cellSize",
          "0.907 * cellSize"
        ],
        [
          "0.877 * cellSize",
          "0.895 * cellSize"
        ],
        [
          "0.876 * cellSize",
          "0.888 * cellSize"
        ],
        [
          "0.875 * cellSize",
          "0.882 * cellSize"
        ],
        [
          "0.875 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.875 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.869 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.862 * cellSize",
          "0.874 * cellSize"
        ],
        [
          "0.856 * cellSize",
          "0.873 * cellSize"
        ],
        [
          "0.849 * cellSize",
          "0.872 * cellSize"
        ],
        [
          "0.843 * cellSize",
          "0.871 * cellSize"
        ],
        [
          "0.836 * cellSize",
          "0.869 * cellSize"
        ],
        [
          "0.83 * cellSize",
          "0.867 * cellSize"
        ],
        [
          "0.818 * cellSize",
          "0.861 * cellSize"
        ],
        [
          "0.813 * cellSize",
          "0.858 * cellSize"
        ],
        [
          "0.807 * cellSize",
          "0.855 * cellSize"
        ],
        [
          "0.802 * cellSize",
          "0.851 * cellSize"
        ],
        [
          "0.796 * cellSize",
          "0.847 * cellSize"
        ],
        [
          "0.791 * cellSize",
          "0.843 * cellSize"
        ],
        [
          "0.787 * cellSize",
          "0.838 * cellSize"
        ],
        [
          "0.782 * cellSize",
          "0.834 * cellSize"
        ],
        [
          "0.774 * cellSize",
          "0.824 * cellSize"
        ],
        [
          "0.77 * cellSize",
          "0.818 * cellSize"
        ],
        [
          "0.767 * cellSize",
          "0.813 * cellSize"
        ],
        [
          "0.758 * cellSize",
          "0.795 * cellSize"
        ],
        [
          "0.756 * cellSize",
          "0.789 * cellSize"
        ],
        [
          "0.754 * cellSize",
          "0.782 * cellSize"
        ],
        [
          "0.752 * cellSize",
          "0.77 * cellSize"
        ],
        [
          "0.751 * cellSize",
          "0.763 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.757 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.875 * cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0.5 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.000053165669691 * cellSize",
              "0.874946834330309 * cellSize"
            ],
            "from": [
              "cellSize",
              "cellSize"
            ],
            "to": [
              "0.875 * cellSize",
              "0.875 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.875 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.625 * cellSize",
        "0.625 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.500082946656376 * cellSize",
              "0.624917053343624 * cellSize"
            ],
            "from": [
              "0.5 * cellSize",
              "0.5 * cellSize"
            ],
            "to": [
              "0.625 * cellSize",
              "0.625 * cellSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * cellSize",
          "0.75 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.625 * cellSize"
        ],
        [
          "0.631 * cellSize",
          "0.625 * cellSize"
        ],
        [
          "0.638 * cellSize",
          "0.626 * cellSize"
        ],
        [
          "0.644 * cellSize",
          "0.626 * cellSize"
        ],
        [
          "0.651 * cellSize",
          "0.628 * cellSize"
        ],
        [
          "0.657 * cellSize",
          "0.629 * cellSize"
        ],
        [
          "0.664 * cellSize",
          "0.631 * cellSize"
        ],
        [
          "0.67 * cellSize",
          "0.633 * cellSize"
        ],
        [
          "0.682 * cellSize",
          "0.639 * cellSize"
        ],
        [
          "0.687 * cellSize",
          "0.642 * cellSize"
        ],
        [
          "0.693 * cellSize",
          "0.645 * cellSize"
        ],
        [
          "0.698 * cellSize",
          "0.649 * cellSize"
        ],
        [
          "0.704 * cellSize",
          "0.653 * cellSize"
        ],
        [
          "0.709 * cellSize",
          "0.657 * cellSize"
        ],
        [
          "0.713 * cellSize",
          "0.662 * cellSize"
        ],
        [
          "0.718 * cellSize",
          "0.666 * cellSize"
        ],
        [
          "0.726 * cellSize",
          "0.676 * cellSize"
        ],
        [
          "0.73 * cellSize",
          "0.682 * cellSize"
        ],
        [
          "0.733 * cellSize",
          "0.687 * cellSize"
        ],
        [
          "0.742 * cellSize",
          "0.705 * cellSize"
        ],
        [
          "0.744 * cellSize",
          "0.711 * cellSize"
        ],
        [
          "0.746 * cellSize",
          "0.718 * cellSize"
        ],
        [
          "0.748 * cellSize",
          "0.73 * cellSize"
        ],
        [
          "0.749 * cellSize",
          "0.737 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.743 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.75 * cellSize"
        ]
      ]
    },
    {
      "start": [
        "0.5 * cellSize",
        "0.625 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.625 * cellSize",
              "0.625 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.499946834330311 * cellSize",
              "0.625053165669689 * cellSize"
            ],
            "from": [
              "0.625 * cellSize",
              "0.625 * cellSize"
            ],
            "to": [
              "0.5 * cellSize",
              "0.5 * cellSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.625 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * cellSize",
        "0.875 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.875 * cellSize",
              "0.875 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.875053165669688 * cellSize",
              "0.749946834330312 * cellSize"
            ],
            "from": [
              "0.875 * cellSize",
              "0.875 * cellSize"
            ],
            "to": [
              "0.75 * cellSize",
              "0.75 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.75 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * cellSize",
              "0.875 * cellSize"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "cellSize",
      "0"
    ],
    "b": [
      "0",
      "cellSize"
    ]
  }
}
,"cobblestone":{
  "schema": 1,
  "id": "cobblestone",
  "name": "Cobblestone",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 150, "min": 20, "max": 1000, "label": "Small square side" }
  },
  "tiles": [
    { "rect": ["2 * moduleSize", "moduleSize", "3 * moduleSize", "2 * moduleSize"] },
    { "rect": ["2 * moduleSize", "0", "3 * moduleSize", "moduleSize"] },
    { "rect": ["moduleSize", "2 * moduleSize", "2 * moduleSize", "3 * moduleSize"] },
    { "rect": ["2 * moduleSize", "2 * moduleSize", "3 * moduleSize", "3 * moduleSize"] },
    { "rect": ["0", "2 * moduleSize", "moduleSize", "4 * moduleSize"] },
    { "rect": ["3 * moduleSize", "moduleSize", "4 * moduleSize", "3 * moduleSize"] },
    { "rect": ["2 * moduleSize", "3 * moduleSize", "4 * moduleSize", "4 * moduleSize"] },
    { "rect": ["moduleSize", "3 * moduleSize", "2 * moduleSize", "5 * moduleSize"] },
    { "rect": ["0", "5 * moduleSize", "2 * moduleSize", "6 * moduleSize"] },
    { "rect": ["3 * moduleSize", "4 * moduleSize", "5 * moduleSize", "5 * moduleSize"] }
  ],
  "lattice": { "a": ["4 * moduleSize", "0"], "b": ["0", "4 * moduleSize"] }
}
,"column-weave":{
  "schema": 1,
  "id": "column-weave",
  "name": "Column weave",
  "category": "stone",
  "parameters": {
    "width": { "value": 100, "min": 20, "max": 500, "label": "Paver width" },
    "planks": { "value": 3, "min": 2, "max": 8, "label": "Pavers per block", "unit": "none" },
    "length": { "expr": "planks * width" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "length"] },
    { "repeat": { "index": "k", "count": "planks" }, "rect": ["width", "k * width", "width + length", "(k + 1) * width"] }
  ],
  "lattice": { "a": ["width + length", "0"], "b": ["0", "length"] }
}
,"common-bond":{
  "schema": 1,
  "id": "common-bond",
  "name": "Common bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" },
    "stretchers": { "value": 6, "min": 1, "max": 12, "label": "Stretcher courses per header course", "unit": "none" }
  },
  "tiles": [
    {
      "repeat": { "index": "k", "count": "stretchers" },
      "rect": ["(k - 2 * floor(k / 2)) * length / 2", "k * width", "(k - 2 * floor(k / 2)) * length / 2 + length", "(k + 1) * width"]
    },
    { "rect": ["length / 4", "stretchers * width", "3 * length / 4", "(stretchers + 1) * width"] },
    { "rect": ["3 * length / 4", "stretchers * width", "5 * length / 4", "(stretchers + 1) * width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "(stretchers + 1) * width"] }
}
,"compass":{
  "schema": 1,
  "id": "compass",
  "name": "Compass",
  "category": "stone",
  "parameters": {
    "edge": { "value": 100, "min": 10, "max": 600, "label": "Edge" },
    "point": { "expr": "edge * sin(22.5)" },
    "flat": { "expr": "edge * cos(22.5)" },
    "tip": { "expr": "point + flat" },
    "longHalf": { "expr": "flat / sqrt(2)" },
    "shortHalf": { "expr": "point / sqrt(2)" }
  },
  "tiles": [
    {
      "polygon": [
        ["tip", "0"],
        ["point", "point"],
        ["0", "tip"],
        ["-point", "point"],
        ["-tip", "0"],
        ["-point", "-point"],
        ["0", "-tip"],
        ["point", "-point"]
      ]
    },
    {
      "polygon": [
        ["tip / 2 + longHalf", "-tip / 2 + longHalf"],
        ["tip / 2 - shortHalf", "-tip / 2 + shortHalf"],
        ["tip / 2 - longHalf", "-tip / 2 - longHalf"],
        ["tip / 2 + shortHalf", "-tip / 2 - shortHalf"]
      ]
    },
    {
      "polygon": [
        ["tip / 2 + longHalf", "tip / 2 - longHalf"],
        ["tip / 2 + shortHalf", "tip / 2 + shortHalf"],
        ["tip / 2 - longHalf", "tip / 2 + longHalf"],
        ["tip / 2 - shortHalf", "tip / 2 - shortHalf"]
      ]
    }
  ],
  "lattice": { "a": ["tip", "tip"], "b": ["tip", "-tip"] }
}
,"concentric-diamond-stripe":{
  "schema": 1,
  "id": "concentric-diamond-stripe",
  "name": "Concentric diamond stripe",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 1800,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.909090909091 * overallSize"
        ],
        [
          "0.484848484848 * overallSize",
          "0.893939393939 * overallSize"
        ],
        [
          "0.448051948052 * overallSize",
          "0.859307359307 * overallSize"
        ],
        [
          "0.287878787879 * overallSize",
          "0.69696969697 * overallSize"
        ],
        [
          "0.090909090909 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.15367965368 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.316017316017 * overallSize",
          "0.660173160173 * overallSize"
        ],
        [
          "0.47619047619 * overallSize",
          "0.820346320346 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.84632034632 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.766233766234 * overallSize"
        ],
        [
          "0",
          "0.666666666667 * overallSize"
        ],
        [
          "0.170995670996 * overallSize",
          "0.839826839827 * overallSize"
        ],
        [
          "0.123376623377 * overallSize",
          "0.800865800866 * overallSize"
        ],
        [
          "0.069264069264 * overallSize",
          "0.774891774892 * overallSize"
        ],
        [
          "0.008658008658 * overallSize",
          "0.764069264069 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.160173160173 * overallSize",
          "0.170995670996 * overallSize"
        ],
        [
          "0.199134199134 * overallSize",
          "0.123376623377 * overallSize"
        ],
        [
          "0.225108225108 * overallSize",
          "0.069264069264 * overallSize"
        ],
        [
          "0.235930735931 * overallSize",
          "0.008658008658 * overallSize"
        ],
        [
          "0.233766233766 * overallSize",
          "0"
        ],
        [
          "0.333333333333 * overallSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.359307359307 * overallSize",
          "0.632034632035 * overallSize"
        ],
        [
          "0.331168831169 * overallSize",
          "0.590909090909 * overallSize"
        ],
        [
          "0.311688311688 * overallSize",
          "0.54329004329 * overallSize"
        ],
        [
          "0.311688311688 * overallSize",
          "0.528138528139 * overallSize"
        ],
        [
          "0.307359307359 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.348484848485 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.352813852814 * overallSize",
          "0.534632034632 * overallSize"
        ],
        [
          "0.365800865801 * overallSize",
          "0.571428571429 * overallSize"
        ],
        [
          "0.38961038961 * overallSize",
          "0.603896103896 * overallSize"
        ],
        [
          "0.419913419913 * overallSize",
          "0.627705627706 * overallSize"
        ],
        [
          "0.45670995671 * overallSize",
          "0.645021645022 * overallSize"
        ],
        [
          "0.495670995671 * overallSize",
          "0.651515151515 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.651515151515 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.692640692641 * overallSize"
        ],
        [
          "0.493506493506 * overallSize",
          "0.692640692641 * overallSize"
        ],
        [
          "0.471861471861 * overallSize",
          "0.688311688312 * overallSize"
        ],
        [
          "0.443722943723 * overallSize",
          "0.683982683983 * overallSize"
        ],
        [
          "0.398268398268 * overallSize",
          "0.662337662338 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "overallSize"
        ],
        [
          "0",
          "0.848484848485 * overallSize"
        ],
        [
          "0.004329004329 * overallSize",
          "0.848484848485 * overallSize"
        ],
        [
          "0.04329004329 * overallSize",
          "0.854978354978 * overallSize"
        ],
        [
          "0.080086580087 * overallSize",
          "0.872294372294 * overallSize"
        ],
        [
          "0.11038961039 * overallSize",
          "0.896103896104 * overallSize"
        ],
        [
          "0.134199134199 * overallSize",
          "0.928571428571 * overallSize"
        ],
        [
          "0.147186147186 * overallSize",
          "0.965367965368 * overallSize"
        ],
        [
          "0.151515151515 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.192640692641 * overallSize"
        ],
        [
          "0",
          "0.151515151515 * overallSize"
        ],
        [
          "0.034632034632 * overallSize",
          "0.147186147186 * overallSize"
        ],
        [
          "0.071428571429 * overallSize",
          "0.134199134199 * overallSize"
        ],
        [
          "0.103896103896 * overallSize",
          "0.11038961039 * overallSize"
        ],
        [
          "0.127705627706 * overallSize",
          "0.080086580087 * overallSize"
        ],
        [
          "0.145021645022 * overallSize",
          "0.04329004329 * overallSize"
        ],
        [
          "0.151515151515 * overallSize",
          "0.004329004329 * overallSize"
        ],
        [
          "0.151515151515 * overallSize",
          "0"
        ],
        [
          "0.192640692641 * overallSize",
          "0"
        ],
        [
          "0.192640692641 * overallSize",
          "0.006493506494 * overallSize"
        ],
        [
          "0.183982683983 * overallSize",
          "0.056277056277 * overallSize"
        ],
        [
          "0.162337662338 * overallSize",
          "0.101731601732 * overallSize"
        ],
        [
          "0.132034632035 * overallSize",
          "0.140692640693 * overallSize"
        ],
        [
          "0.090909090909 * overallSize",
          "0.168831168831 * overallSize"
        ],
        [
          "0.04329004329 * overallSize",
          "0.188311688312 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.025974025974 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.103896103896 * overallSize",
          "0.422077922078 * overallSize"
        ],
        [
          "0.266233766234 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.437229437229 * overallSize",
          "0.088744588745 * overallSize"
        ],
        [
          "0.465367965368 * overallSize",
          "0.060606060606 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.028138528139 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.090909090909 * overallSize"
        ],
        [
          "0.30303030303 * overallSize",
          "0.287878787879 * overallSize"
        ],
        [
          "0.140692640693 * overallSize",
          "0.448051948052 * overallSize"
        ],
        [
          "0.106060606061 * overallSize",
          "0.484848484848 * overallSize"
        ],
        [
          "0.090909090909 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.396103896104 * overallSize",
          "overallSize"
        ],
        [
          "0.361471861472 * overallSize",
          "0.965367965368 * overallSize"
        ],
        [
          "0.201298701299 * overallSize",
          "0.80303030303 * overallSize"
        ],
        [
          "0.030303030303 * overallSize",
          "0.632034632035 * overallSize"
        ],
        [
          "0",
          "0.603896103896 * overallSize"
        ],
        [
          "0",
          "0.538961038961 * overallSize"
        ],
        [
          "0.032467532468 * overallSize",
          "0.571428571429 * overallSize"
        ],
        [
          "0.062770562771 * overallSize",
          "0.599567099567 * overallSize"
        ],
        [
          "0.233766233766 * overallSize",
          "0.770562770563 * overallSize"
        ],
        [
          "0.393939393939 * overallSize",
          "0.9329004329 * overallSize"
        ],
        [
          "0.461038961039 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.090909090909 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.106060606061 * overallSize",
          "0.484848484848 * overallSize"
        ],
        [
          "0.140692640693 * overallSize",
          "0.448051948052 * overallSize"
        ],
        [
          "0.30303030303 * overallSize",
          "0.287878787879 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.090909090909 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.15367965368 * overallSize"
        ],
        [
          "0.339826839827 * overallSize",
          "0.316017316017 * overallSize"
        ],
        [
          "0.179653679654 * overallSize",
          "0.47619047619 * overallSize"
        ],
        [
          "0.15367965368 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.218614718615 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.272727272727 * overallSize",
          "0.445887445887 * overallSize"
        ],
        [
          "0.264069264069 * overallSize",
          "0.491341991342 * overallSize"
        ],
        [
          "0.266233766234 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.15367965368 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.179653679654 * overallSize",
          "0.47619047619 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.155844155844 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.218614718615 * overallSize"
        ],
        [
          "0.448051948052 * overallSize",
          "0.270562770563 * overallSize"
        ],
        [
          "0.445887445887 * overallSize",
          "0.270562770563 * overallSize"
        ],
        [
          "0.38961038961 * overallSize",
          "0.292207792208 * overallSize"
        ],
        [
          "0.339826839827 * overallSize",
          "0.329004329004 * overallSize"
        ],
        [
          "0.300865800866 * overallSize",
          "0.376623376623 * overallSize"
        ],
        [
          "0.274891774892 * overallSize",
          "0.430735930736 * overallSize"
        ],
        [
          "0.272727272727 * overallSize",
          "0.445887445887 * overallSize"
        ],
        [
          "0.218614718615 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.807359307359 * overallSize"
        ],
        [
          "0",
          "0.766233766234 * overallSize"
        ],
        [
          "0.008658008658 * overallSize",
          "0.764069264069 * overallSize"
        ],
        [
          "0.069264069264 * overallSize",
          "0.774891774892 * overallSize"
        ],
        [
          "0.123376623377 * overallSize",
          "0.800865800866 * overallSize"
        ],
        [
          "0.170995670996 * overallSize",
          "0.839826839827 * overallSize"
        ],
        [
          "0.207792207792 * overallSize",
          "0.88961038961 * overallSize"
        ],
        [
          "0.229437229437 * overallSize",
          "0.945887445887 * overallSize"
        ],
        [
          "0.233766233766 * overallSize",
          "overallSize"
        ],
        [
          "0.192640692641 * overallSize",
          "overallSize"
        ],
        [
          "0.188311688312 * overallSize",
          "0.95670995671 * overallSize"
        ],
        [
          "0.168831168831 * overallSize",
          "0.909090909091 * overallSize"
        ],
        [
          "0.140692640693 * overallSize",
          "0.867965367965 * overallSize"
        ],
        [
          "0.101731601732 * overallSize",
          "0.837662337662 * overallSize"
        ],
        [
          "0.056277056277 * overallSize",
          "0.816017316017 * overallSize"
        ],
        [
          "0.006493506494 * overallSize",
          "0.807359307359 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.909090909091 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.712121212121 * overallSize",
          "0.30303030303 * overallSize"
        ],
        [
          "0.551948051948 * overallSize",
          "0.140692640693 * overallSize"
        ],
        [
          "0.515151515152 * overallSize",
          "0.106060606061 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.090909090909 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.025974025974 * overallSize"
        ],
        [
          "0.577922077922 * overallSize",
          "0.103896103896 * overallSize"
        ],
        [
          "0.738095238095 * overallSize",
          "0.266233766234 * overallSize"
        ],
        [
          "0.911255411255 * overallSize",
          "0.437229437229 * overallSize"
        ],
        [
          "0.939393939394 * overallSize",
          "0.465367965368 * overallSize"
        ],
        [
          "0.971861471861 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.974025974026 * overallSize"
        ],
        [
          "0.422077922078 * overallSize",
          "0.896103896104 * overallSize"
        ],
        [
          "0.261904761905 * overallSize",
          "0.733766233766 * overallSize"
        ],
        [
          "0.088744588745 * overallSize",
          "0.562770562771 * overallSize"
        ],
        [
          "0.060606060606 * overallSize",
          "0.534632034632 * overallSize"
        ],
        [
          "0.028138528139 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.090909090909 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.287878787879 * overallSize",
          "0.69696969697 * overallSize"
        ],
        [
          "0.448051948052 * overallSize",
          "0.859307359307 * overallSize"
        ],
        [
          "0.484848484848 * overallSize",
          "0.893939393939 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.909090909091 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.333333333333 * overallSize"
        ],
        [
          "0",
          "0.233766233766 * overallSize"
        ],
        [
          "0.054112554113 * overallSize",
          "0.229437229437 * overallSize"
        ],
        [
          "0.11038961039 * overallSize",
          "0.207792207792 * overallSize"
        ],
        [
          "0.160173160173 * overallSize",
          "0.170995670996 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "overallSize"
        ],
        [
          "0.170995670996 * overallSize",
          "0.839826839827 * overallSize"
        ],
        [
          "0",
          "0.666666666667 * overallSize"
        ],
        [
          "0",
          "0.603896103896 * overallSize"
        ],
        [
          "0.030303030303 * overallSize",
          "0.632034632035 * overallSize"
        ],
        [
          "0.201298701299 * overallSize",
          "0.80303030303 * overallSize"
        ],
        [
          "0.361471861472 * overallSize",
          "0.965367965368 * overallSize"
        ],
        [
          "0.396103896104 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.348484848485 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.348484848485 * overallSize",
          "0.495670995671 * overallSize"
        ],
        [
          "0.354978354978 * overallSize",
          "0.45670995671 * overallSize"
        ],
        [
          "0.372294372294 * overallSize",
          "0.419913419913 * overallSize"
        ],
        [
          "0.396103896104 * overallSize",
          "0.38961038961 * overallSize"
        ],
        [
          "0.428571428571 * overallSize",
          "0.365800865801 * overallSize"
        ],
        [
          "0.465367965368 * overallSize",
          "0.352813852814 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.348484848485 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.218614718615 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.266233766234 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.270562770563 * overallSize",
          "0.551948051948 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.448051948052 * overallSize",
          "0.270562770563 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.218614718615 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.266233766234 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.151515151515 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.151515151515 * overallSize",
          "0"
        ],
        [
          "0.151515151515 * overallSize",
          "0.004329004329 * overallSize"
        ],
        [
          "0.145021645022 * overallSize",
          "0.04329004329 * overallSize"
        ],
        [
          "0.127705627706 * overallSize",
          "0.080086580087 * overallSize"
        ],
        [
          "0.103896103896 * overallSize",
          "0.11038961039 * overallSize"
        ],
        [
          "0.071428571429 * overallSize",
          "0.134199134199 * overallSize"
        ],
        [
          "0.034632034632 * overallSize",
          "0.147186147186 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.461038961039 * overallSize",
          "overallSize"
        ],
        [
          "0.393939393939 * overallSize",
          "0.9329004329 * overallSize"
        ],
        [
          "0.233766233766 * overallSize",
          "0.770562770563 * overallSize"
        ],
        [
          "0.062770562771 * overallSize",
          "0.599567099567 * overallSize"
        ],
        [
          "0.032467532468 * overallSize",
          "0.571428571429 * overallSize"
        ],
        [
          "0",
          "0.538961038961 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.028138528139 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.060606060606 * overallSize",
          "0.532467532468 * overallSize"
        ],
        [
          "0.088744588745 * overallSize",
          "0.562770562771 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.974025974026 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.445887445887 * overallSize",
          "0.727272727273 * overallSize"
        ],
        [
          "0.491341991342 * overallSize",
          "0.735930735931 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.733766233766 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.781385281385 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.848484848485 * overallSize"
        ],
        [
          "0",
          "0.807359307359 * overallSize"
        ],
        [
          "0.006493506494 * overallSize",
          "0.807359307359 * overallSize"
        ],
        [
          "0.056277056277 * overallSize",
          "0.816017316017 * overallSize"
        ],
        [
          "0.101731601732 * overallSize",
          "0.837662337662 * overallSize"
        ],
        [
          "0.140692640693 * overallSize",
          "0.867965367965 * overallSize"
        ],
        [
          "0.168831168831 * overallSize",
          "0.909090909091 * overallSize"
        ],
        [
          "0.188311688312 * overallSize",
          "0.95670995671 * overallSize"
        ],
        [
          "0.192640692641 * overallSize",
          "overallSize"
        ],
        [
          "0.151515151515 * overallSize",
          "overallSize"
        ],
        [
          "0.147186147186 * overallSize",
          "0.965367965368 * overallSize"
        ],
        [
          "0.134199134199 * overallSize",
          "0.928571428571 * overallSize"
        ],
        [
          "0.11038961039 * overallSize",
          "0.896103896104 * overallSize"
        ],
        [
          "0.080086580087 * overallSize",
          "0.872294372294 * overallSize"
        ],
        [
          "0.04329004329 * overallSize",
          "0.854978354978 * overallSize"
        ],
        [
          "0.004329004329 * overallSize",
          "0.848484848485 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.38961038961 * overallSize",
          "0.603896103896 * overallSize"
        ],
        [
          "0.365800865801 * overallSize",
          "0.571428571429 * overallSize"
        ],
        [
          "0.352813852814 * overallSize",
          "0.534632034632 * overallSize"
        ],
        [
          "0.348484848485 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.651515151515 * overallSize"
        ],
        [
          "0.495670995671 * overallSize",
          "0.651515151515 * overallSize"
        ],
        [
          "0.45670995671 * overallSize",
          "0.645021645022 * overallSize"
        ],
        [
          "0.419913419913 * overallSize",
          "0.627705627706 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.233766233766 * overallSize"
        ],
        [
          "0",
          "0.192640692641 * overallSize"
        ],
        [
          "0.04329004329 * overallSize",
          "0.188311688312 * overallSize"
        ],
        [
          "0.090909090909 * overallSize",
          "0.168831168831 * overallSize"
        ],
        [
          "0.132034632035 * overallSize",
          "0.140692640693 * overallSize"
        ],
        [
          "0.162337662338 * overallSize",
          "0.101731601732 * overallSize"
        ],
        [
          "0.183982683983 * overallSize",
          "0.056277056277 * overallSize"
        ],
        [
          "0.192640692641 * overallSize",
          "0.006493506494 * overallSize"
        ],
        [
          "0.192640692641 * overallSize",
          "0"
        ],
        [
          "0.233766233766 * overallSize",
          "0"
        ],
        [
          "0.235930735931 * overallSize",
          "0.008658008658 * overallSize"
        ],
        [
          "0.225108225108 * overallSize",
          "0.069264069264 * overallSize"
        ],
        [
          "0.199134199134 * overallSize",
          "0.123376623377 * overallSize"
        ],
        [
          "0.160173160173 * overallSize",
          "0.170995670996 * overallSize"
        ],
        [
          "0.11038961039 * overallSize",
          "0.207792207792 * overallSize"
        ],
        [
          "0.054112554113 * overallSize",
          "0.229437229437 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.233766233766 * overallSize",
          "overallSize"
        ],
        [
          "0.229437229437 * overallSize",
          "0.945887445887 * overallSize"
        ],
        [
          "0.207792207792 * overallSize",
          "0.88961038961 * overallSize"
        ],
        [
          "0.170995670996 * overallSize",
          "0.839826839827 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.461038961039 * overallSize"
        ],
        [
          "0",
          "0.396103896104 * overallSize"
        ],
        [
          "0.034632034632 * overallSize",
          "0.361471861472 * overallSize"
        ],
        [
          "0.19696969697 * overallSize",
          "0.201298701299 * overallSize"
        ],
        [
          "0.367965367965 * overallSize",
          "0.030303030303 * overallSize"
        ],
        [
          "0.396103896104 * overallSize",
          "0"
        ],
        [
          "0.461038961039 * overallSize",
          "0"
        ],
        [
          "0.428571428571 * overallSize",
          "0.032467532468 * overallSize"
        ],
        [
          "0.400432900433 * overallSize",
          "0.062770562771 * overallSize"
        ],
        [
          "0.229437229437 * overallSize",
          "0.233766233766 * overallSize"
        ],
        [
          "0.0670995671 * overallSize",
          "0.393939393939 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.461038961039 * overallSize"
        ],
        [
          "0.0670995671 * overallSize",
          "0.393939393939 * overallSize"
        ],
        [
          "0.229437229437 * overallSize",
          "0.233766233766 * overallSize"
        ],
        [
          "0.400432900433 * overallSize",
          "0.062770562771 * overallSize"
        ],
        [
          "0.428571428571 * overallSize",
          "0.032467532468 * overallSize"
        ],
        [
          "0.461038961039 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.028138528139 * overallSize"
        ],
        [
          "0.467532467532 * overallSize",
          "0.060606060606 * overallSize"
        ],
        [
          "0.437229437229 * overallSize",
          "0.088744588745 * overallSize"
        ],
        [
          "0.266233766234 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.103896103896 * overallSize",
          "0.422077922078 * overallSize"
        ],
        [
          "0.025974025974 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.307359307359 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.307359307359 * overallSize",
          "0.493506493506 * overallSize"
        ],
        [
          "0.311688311688 * overallSize",
          "0.471861471861 * overallSize"
        ],
        [
          "0.316017316017 * overallSize",
          "0.443722943723 * overallSize"
        ],
        [
          "0.337662337662 * overallSize",
          "0.398268398268 * overallSize"
        ],
        [
          "0.367965367965 * overallSize",
          "0.359307359307 * overallSize"
        ],
        [
          "0.409090909091 * overallSize",
          "0.331168831169 * overallSize"
        ],
        [
          "0.45670995671 * overallSize",
          "0.311688311688 * overallSize"
        ],
        [
          "0.471861471861 * overallSize",
          "0.311688311688 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.307359307359 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.348484848485 * overallSize"
        ],
        [
          "0.465367965368 * overallSize",
          "0.352813852814 * overallSize"
        ],
        [
          "0.428571428571 * overallSize",
          "0.365800865801 * overallSize"
        ],
        [
          "0.396103896104 * overallSize",
          "0.38961038961 * overallSize"
        ],
        [
          "0.372294372294 * overallSize",
          "0.419913419913 * overallSize"
        ],
        [
          "0.354978354978 * overallSize",
          "0.45670995671 * overallSize"
        ],
        [
          "0.348484848485 * overallSize",
          "0.495670995671 * overallSize"
        ],
        [
          "0.348484848485 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0",
        "0.396103896104 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "29530.19670223324 * overallSize",
              "29530.19670223324 * overallSize"
            ],
            "from": [
              "0",
              "0.396103896104 * overallSize"
            ],
            "to": [
              "0.396103896104 * overallSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.333333333333 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.160173160173 * overallSize",
              "0.170995670996 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.333333333333 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.396103896104 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.329004329004 * overallSize",
          "0.660173160173 * overallSize"
        ],
        [
          "0.292207792208 * overallSize",
          "0.61038961039 * overallSize"
        ],
        [
          "0.270562770563 * overallSize",
          "0.554112554113 * overallSize"
        ],
        [
          "0.270562770563 * overallSize",
          "0.551948051948 * overallSize"
        ],
        [
          "0.266233766234 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.307359307359 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.311688311688 * overallSize",
          "0.528138528139 * overallSize"
        ],
        [
          "0.311688311688 * overallSize",
          "0.54329004329 * overallSize"
        ],
        [
          "0.331168831169 * overallSize",
          "0.590909090909 * overallSize"
        ],
        [
          "0.359307359307 * overallSize",
          "0.632034632035 * overallSize"
        ],
        [
          "0.398268398268 * overallSize",
          "0.662337662338 * overallSize"
        ],
        [
          "0.443722943723 * overallSize",
          "0.683982683983 * overallSize"
        ],
        [
          "0.471861471861 * overallSize",
          "0.688311688312 * overallSize"
        ],
        [
          "0.493506493506 * overallSize",
          "0.692640692641 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.692640692641 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.733766233766 * overallSize"
        ],
        [
          "0.491341991342 * overallSize",
          "0.735930735931 * overallSize"
        ],
        [
          "0.445887445887 * overallSize",
          "0.727272727273 * overallSize"
        ],
        [
          "0.430735930736 * overallSize",
          "0.725108225108 * overallSize"
        ],
        [
          "0.376623376623 * overallSize",
          "0.699134199134 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.266233766234 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.264069264069 * overallSize",
          "0.491341991342 * overallSize"
        ],
        [
          "0.272727272727 * overallSize",
          "0.445887445887 * overallSize"
        ],
        [
          "0.274891774892 * overallSize",
          "0.430735930736 * overallSize"
        ],
        [
          "0.300865800866 * overallSize",
          "0.376623376623 * overallSize"
        ],
        [
          "0.339826839827 * overallSize",
          "0.329004329004 * overallSize"
        ],
        [
          "0.38961038961 * overallSize",
          "0.292207792208 * overallSize"
        ],
        [
          "0.445887445887 * overallSize",
          "0.270562770563 * overallSize"
        ],
        [
          "0.448051948052 * overallSize",
          "0.270562770563 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.266233766234 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.307359307359 * overallSize"
        ],
        [
          "0.471861471861 * overallSize",
          "0.311688311688 * overallSize"
        ],
        [
          "0.45670995671 * overallSize",
          "0.311688311688 * overallSize"
        ],
        [
          "0.409090909091 * overallSize",
          "0.331168831169 * overallSize"
        ],
        [
          "0.367965367965 * overallSize",
          "0.359307359307 * overallSize"
        ],
        [
          "0.337662337662 * overallSize",
          "0.398268398268 * overallSize"
        ],
        [
          "0.316017316017 * overallSize",
          "0.443722943723 * overallSize"
        ],
        [
          "0.311688311688 * overallSize",
          "0.471861471861 * overallSize"
        ],
        [
          "0.307359307359 * overallSize",
          "0.493506493506 * overallSize"
        ],
        [
          "0.307359307359 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.84632034632 * overallSize"
        ],
        [
          "0.47619047619 * overallSize",
          "0.820346320346 * overallSize"
        ],
        [
          "0.155844155844 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.218614718615 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.270562770563 * overallSize",
          "0.551948051948 * overallSize"
        ],
        [
          "0.270562770563 * overallSize",
          "0.554112554113 * overallSize"
        ],
        [
          "0.292207792208 * overallSize",
          "0.61038961039 * overallSize"
        ],
        [
          "0.329004329004 * overallSize",
          "0.660173160173 * overallSize"
        ],
        [
          "0.376623376623 * overallSize",
          "0.699134199134 * overallSize"
        ],
        [
          "0.430735930736 * overallSize",
          "0.725108225108 * overallSize"
        ],
        [
          "0.445887445887 * overallSize",
          "0.727272727273 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.781385281385 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.84632034632 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.683982683983 * overallSize",
          "0.339826839827 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.155844155844 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.090909090909 * overallSize"
        ],
        [
          "0.515151515152 * overallSize",
          "0.106060606061 * overallSize"
        ],
        [
          "0.551948051948 * overallSize",
          "0.140692640693 * overallSize"
        ],
        [
          "0.712121212121 * overallSize",
          "0.30303030303 * overallSize"
        ],
        [
          "0.909090909091 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.554112554113 * overallSize",
          "0.272727272727 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.218614718615 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.15367965368 * overallSize"
        ],
        [
          "0.52380952381 * overallSize",
          "0.179653679654 * overallSize"
        ],
        [
          "0.844155844156 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.781385281385 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.729437229437 * overallSize",
          "0.448051948052 * overallSize"
        ],
        [
          "0.729437229437 * overallSize",
          "0.445887445887 * overallSize"
        ],
        [
          "0.707792207792 * overallSize",
          "0.38961038961 * overallSize"
        ],
        [
          "0.670995670996 * overallSize",
          "0.339826839827 * overallSize"
        ],
        [
          "0.623376623377 * overallSize",
          "0.300865800866 * overallSize"
        ],
        [
          "0.569264069264 * overallSize",
          "0.274891774892 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.859307359307 * overallSize",
          "0.132034632035 * overallSize"
        ],
        [
          "0.831168831169 * overallSize",
          "0.090909090909 * overallSize"
        ],
        [
          "0.811688311688 * overallSize",
          "0.04329004329 * overallSize"
        ],
        [
          "0.807359307359 * overallSize",
          "0"
        ],
        [
          "0.848484848485 * overallSize",
          "0"
        ],
        [
          "0.852813852814 * overallSize",
          "0.034632034632 * overallSize"
        ],
        [
          "0.865800865801 * overallSize",
          "0.071428571429 * overallSize"
        ],
        [
          "0.88961038961 * overallSize",
          "0.103896103896 * overallSize"
        ],
        [
          "0.919913419913 * overallSize",
          "0.127705627706 * overallSize"
        ],
        [
          "0.95670995671 * overallSize",
          "0.145021645022 * overallSize"
        ],
        [
          "0.995670995671 * overallSize",
          "0.151515151515 * overallSize"
        ],
        [
          "overallSize",
          "0.151515151515 * overallSize"
        ],
        [
          "overallSize",
          "0.192640692641 * overallSize"
        ],
        [
          "0.993506493506 * overallSize",
          "0.192640692641 * overallSize"
        ],
        [
          "0.943722943723 * overallSize",
          "0.183982683983 * overallSize"
        ],
        [
          "0.898268398268 * overallSize",
          "0.162337662338 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.84632034632 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.781385281385 * overallSize"
        ],
        [
          "0.551948051948 * overallSize",
          "0.729437229437 * overallSize"
        ],
        [
          "0.554112554113 * overallSize",
          "0.729437229437 * overallSize"
        ],
        [
          "0.61038961039 * overallSize",
          "0.707792207792 * overallSize"
        ],
        [
          "0.660173160173 * overallSize",
          "0.670995670996 * overallSize"
        ],
        [
          "0.699134199134 * overallSize",
          "0.623376623377 * overallSize"
        ],
        [
          "0.725108225108 * overallSize",
          "0.569264069264 * overallSize"
        ],
        [
          "0.727272727273 * overallSize",
          "0.554112554113 * overallSize"
        ],
        [
          "0.781385281385 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.84632034632 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.820346320346 * overallSize",
          "0.52380952381 * overallSize"
        ],
        [
          "0.660173160173 * overallSize",
          "0.683982683983 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.829004329004 * overallSize",
          "0.160173160173 * overallSize"
        ],
        [
          "0.792207792208 * overallSize",
          "0.11038961039 * overallSize"
        ],
        [
          "0.770562770563 * overallSize",
          "0.054112554113 * overallSize"
        ],
        [
          "0.766233766234 * overallSize",
          "0"
        ],
        [
          "0.807359307359 * overallSize",
          "0"
        ],
        [
          "0.811688311688 * overallSize",
          "0.04329004329 * overallSize"
        ],
        [
          "0.831168831169 * overallSize",
          "0.090909090909 * overallSize"
        ],
        [
          "0.859307359307 * overallSize",
          "0.132034632035 * overallSize"
        ],
        [
          "0.898268398268 * overallSize",
          "0.162337662338 * overallSize"
        ],
        [
          "0.943722943723 * overallSize",
          "0.183982683983 * overallSize"
        ],
        [
          "0.993506493506 * overallSize",
          "0.192640692641 * overallSize"
        ],
        [
          "overallSize",
          "0.192640692641 * overallSize"
        ],
        [
          "overallSize",
          "0.233766233766 * overallSize"
        ],
        [
          "0.991341991342 * overallSize",
          "0.235930735931 * overallSize"
        ],
        [
          "0.930735930736 * overallSize",
          "0.225108225108 * overallSize"
        ],
        [
          "0.876623376623 * overallSize",
          "0.199134199134 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.603896103896 * overallSize",
          "overallSize"
        ],
        [
          "0.632034632035 * overallSize",
          "0.969696969697 * overallSize"
        ],
        [
          "0.80303030303 * overallSize",
          "0.798701298701 * overallSize"
        ],
        [
          "0.965367965368 * overallSize",
          "0.638528138528 * overallSize"
        ],
        [
          "overallSize",
          "0.603896103896 * overallSize"
        ],
        [
          "overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.839826839827 * overallSize",
          "0.829004329004 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.971861471861 * overallSize"
        ],
        [
          "0.532467532468 * overallSize",
          "0.939393939394 * overallSize"
        ],
        [
          "0.562770562771 * overallSize",
          "0.911255411255 * overallSize"
        ],
        [
          "0.733766233766 * overallSize",
          "0.738095238095 * overallSize"
        ],
        [
          "0.896103896104 * overallSize",
          "0.577922077922 * overallSize"
        ],
        [
          "0.974025974026 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.538961038961 * overallSize"
        ],
        [
          "0.9329004329 * overallSize",
          "0.606060606061 * overallSize"
        ],
        [
          "0.770562770563 * overallSize",
          "0.766233766234 * overallSize"
        ],
        [
          "0.599567099567 * overallSize",
          "0.937229437229 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.967532467532 * overallSize"
        ],
        [
          "0.538961038961 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.692640692641 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.651515151515 * overallSize"
        ],
        [
          "0.534632034632 * overallSize",
          "0.647186147186 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.634199134199 * overallSize"
        ],
        [
          "0.603896103896 * overallSize",
          "0.61038961039 * overallSize"
        ],
        [
          "0.627705627706 * overallSize",
          "0.580086580087 * overallSize"
        ],
        [
          "0.645021645022 * overallSize",
          "0.54329004329 * overallSize"
        ],
        [
          "0.651515151515 * overallSize",
          "0.504329004329 * overallSize"
        ],
        [
          "0.651515151515 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.692640692641 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.692640692641 * overallSize",
          "0.506493506494 * overallSize"
        ],
        [
          "0.688311688312 * overallSize",
          "0.528138528139 * overallSize"
        ],
        [
          "0.683982683983 * overallSize",
          "0.556277056277 * overallSize"
        ],
        [
          "0.662337662338 * overallSize",
          "0.601731601732 * overallSize"
        ],
        [
          "0.632034632035 * overallSize",
          "0.640692640693 * overallSize"
        ],
        [
          "0.590909090909 * overallSize",
          "0.668831168831 * overallSize"
        ],
        [
          "0.54329004329 * overallSize",
          "0.688311688312 * overallSize"
        ],
        [
          "0.528138528139 * overallSize",
          "0.688311688312 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.909090909091 * overallSize"
        ],
        [
          "0.69696969697 * overallSize",
          "0.712121212121 * overallSize"
        ],
        [
          "0.859307359307 * overallSize",
          "0.551948051948 * overallSize"
        ],
        [
          "0.893939393939 * overallSize",
          "0.515151515152 * overallSize"
        ],
        [
          "0.909090909091 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.974025974026 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.896103896104 * overallSize",
          "0.577922077922 * overallSize"
        ],
        [
          "0.733766233766 * overallSize",
          "0.738095238095 * overallSize"
        ],
        [
          "0.562770562771 * overallSize",
          "0.911255411255 * overallSize"
        ],
        [
          "0.534632034632 * overallSize",
          "0.939393939394 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.971861471861 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.538961038961 * overallSize",
          "overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.967532467532 * overallSize"
        ],
        [
          "0.599567099567 * overallSize",
          "0.937229437229 * overallSize"
        ],
        [
          "0.770562770563 * overallSize",
          "0.766233766234 * overallSize"
        ],
        [
          "0.9329004329 * overallSize",
          "0.606060606061 * overallSize"
        ],
        [
          "overallSize",
          "0.538961038961 * overallSize"
        ],
        [
          "overallSize",
          "0.603896103896 * overallSize"
        ],
        [
          "0.965367965368 * overallSize",
          "0.638528138528 * overallSize"
        ],
        [
          "0.80303030303 * overallSize",
          "0.798701298701 * overallSize"
        ],
        [
          "0.632034632035 * overallSize",
          "0.969696969697 * overallSize"
        ],
        [
          "0.603896103896 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.876623376623 * overallSize",
          "0.199134199134 * overallSize"
        ],
        [
          "0.930735930736 * overallSize",
          "0.225108225108 * overallSize"
        ],
        [
          "0.991341991342 * overallSize",
          "0.235930735931 * overallSize"
        ],
        [
          "overallSize",
          "0.233766233766 * overallSize"
        ],
        [
          "overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.829004329004 * overallSize",
          "0.160173160173 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.461038961039 * overallSize"
        ],
        [
          "0.967532467532 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "0.937229437229 * overallSize",
          "0.400432900433 * overallSize"
        ],
        [
          "0.766233766234 * overallSize",
          "0.229437229437 * overallSize"
        ],
        [
          "0.606060606061 * overallSize",
          "0.0670995671 * overallSize"
        ],
        [
          "0.538961038961 * overallSize",
          "0"
        ],
        [
          "0.603896103896 * overallSize",
          "0"
        ],
        [
          "0.638528138528 * overallSize",
          "0.034632034632 * overallSize"
        ],
        [
          "0.798701298701 * overallSize",
          "0.19696969697 * overallSize"
        ],
        [
          "0.969696969697 * overallSize",
          "0.367965367965 * overallSize"
        ],
        [
          "overallSize",
          "0.396103896104 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.781385281385 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.733766233766 * overallSize"
        ],
        [
          "0.551948051948 * overallSize",
          "0.729437229437 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.971861471861 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.939393939394 * overallSize",
          "0.465367965368 * overallSize"
        ],
        [
          "0.911255411255 * overallSize",
          "0.437229437229 * overallSize"
        ],
        [
          "0.738095238095 * overallSize",
          "0.266233766234 * overallSize"
        ],
        [
          "0.577922077922 * overallSize",
          "0.103896103896 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.025974025974 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.538961038961 * overallSize",
          "0"
        ],
        [
          "0.606060606061 * overallSize",
          "0.0670995671 * overallSize"
        ],
        [
          "0.766233766234 * overallSize",
          "0.229437229437 * overallSize"
        ],
        [
          "0.937229437229 * overallSize",
          "0.400432900433 * overallSize"
        ],
        [
          "0.967532467532 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "overallSize",
          "0.461038961039 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.909090909091 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.84632034632 * overallSize"
        ],
        [
          "0.660173160173 * overallSize",
          "0.683982683983 * overallSize"
        ],
        [
          "0.820346320346 * overallSize",
          "0.52380952381 * overallSize"
        ],
        [
          "0.84632034632 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.909090909091 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.893939393939 * overallSize",
          "0.515151515152 * overallSize"
        ],
        [
          "0.859307359307 * overallSize",
          "0.551948051948 * overallSize"
        ],
        [
          "0.69696969697 * overallSize",
          "0.712121212121 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.651515151515 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.651515151515 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.651515151515 * overallSize",
          "0.504329004329 * overallSize"
        ],
        [
          "0.645021645022 * overallSize",
          "0.54329004329 * overallSize"
        ],
        [
          "0.627705627706 * overallSize",
          "0.580086580087 * overallSize"
        ],
        [
          "0.603896103896 * overallSize",
          "0.61038961039 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.634199134199 * overallSize"
        ],
        [
          "0.534632034632 * overallSize",
          "0.647186147186 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.88961038961 * overallSize",
          "0.103896103896 * overallSize"
        ],
        [
          "0.865800865801 * overallSize",
          "0.071428571429 * overallSize"
        ],
        [
          "0.852813852814 * overallSize",
          "0.034632034632 * overallSize"
        ],
        [
          "0.848484848485 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.151515151515 * overallSize"
        ],
        [
          "0.995670995671 * overallSize",
          "0.151515151515 * overallSize"
        ],
        [
          "0.95670995671 * overallSize",
          "0.145021645022 * overallSize"
        ],
        [
          "0.919913419913 * overallSize",
          "0.127705627706 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.396103896104 * overallSize"
        ],
        [
          "0.969696969697 * overallSize",
          "0.367965367965 * overallSize"
        ],
        [
          "0.798701298701 * overallSize",
          "0.19696969697 * overallSize"
        ],
        [
          "0.638528138528 * overallSize",
          "0.034632034632 * overallSize"
        ],
        [
          "0.603896103896 * overallSize",
          "0"
        ],
        [
          "0.666666666667 * overallSize",
          "0"
        ],
        [
          "0.829004329004 * overallSize",
          "0.160173160173 * overallSize"
        ],
        [
          "overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.766233766234 * overallSize",
          "overallSize"
        ],
        [
          "0.764069264069 * overallSize",
          "0.991341991342 * overallSize"
        ],
        [
          "0.774891774892 * overallSize",
          "0.930735930736 * overallSize"
        ],
        [
          "0.800865800866 * overallSize",
          "0.876623376623 * overallSize"
        ],
        [
          "0.839826839827 * overallSize",
          "0.829004329004 * overallSize"
        ],
        [
          "0.88961038961 * overallSize",
          "0.792207792208 * overallSize"
        ],
        [
          "0.945887445887 * overallSize",
          "0.770562770563 * overallSize"
        ],
        [
          "overallSize",
          "0.766233766234 * overallSize"
        ],
        [
          "overallSize",
          "0.807359307359 * overallSize"
        ],
        [
          "0.95670995671 * overallSize",
          "0.811688311688 * overallSize"
        ],
        [
          "0.909090909091 * overallSize",
          "0.831168831169 * overallSize"
        ],
        [
          "0.867965367965 * overallSize",
          "0.859307359307 * overallSize"
        ],
        [
          "0.837662337662 * overallSize",
          "0.898268398268 * overallSize"
        ],
        [
          "0.816017316017 * overallSize",
          "0.943722943723 * overallSize"
        ],
        [
          "0.807359307359 * overallSize",
          "0.993506493506 * overallSize"
        ],
        [
          "0.807359307359 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.727272727273 * overallSize",
          "0.554112554113 * overallSize"
        ],
        [
          "0.735930735931 * overallSize",
          "0.508658008658 * overallSize"
        ],
        [
          "0.733766233766 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.781385281385 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.733766233766 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.692640692641 * overallSize"
        ],
        [
          "0.528138528139 * overallSize",
          "0.688311688312 * overallSize"
        ],
        [
          "0.54329004329 * overallSize",
          "0.688311688312 * overallSize"
        ],
        [
          "0.590909090909 * overallSize",
          "0.668831168831 * overallSize"
        ],
        [
          "0.632034632035 * overallSize",
          "0.640692640693 * overallSize"
        ],
        [
          "0.662337662338 * overallSize",
          "0.601731601732 * overallSize"
        ],
        [
          "0.683982683983 * overallSize",
          "0.556277056277 * overallSize"
        ],
        [
          "0.688311688312 * overallSize",
          "0.528138528139 * overallSize"
        ],
        [
          "0.692640692641 * overallSize",
          "0.506493506494 * overallSize"
        ],
        [
          "0.692640692641 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.733766233766 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.735930735931 * overallSize",
          "0.508658008658 * overallSize"
        ],
        [
          "0.727272727273 * overallSize",
          "0.554112554113 * overallSize"
        ],
        [
          "0.725108225108 * overallSize",
          "0.569264069264 * overallSize"
        ],
        [
          "0.699134199134 * overallSize",
          "0.623376623377 * overallSize"
        ],
        [
          "0.660173160173 * overallSize",
          "0.670995670996 * overallSize"
        ],
        [
          "0.61038961039 * overallSize",
          "0.707792207792 * overallSize"
        ],
        [
          "0.554112554113 * overallSize",
          "0.729437229437 * overallSize"
        ],
        [
          "0.551948051948 * overallSize",
          "0.729437229437 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.792207792208 * overallSize",
          "0.11038961039 * overallSize"
        ],
        [
          "0.829004329004 * overallSize",
          "0.160173160173 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0"
        ],
        [
          "0.766233766234 * overallSize",
          "0"
        ],
        [
          "0.770562770563 * overallSize",
          "0.054112554113 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.839826839827 * overallSize",
          "0.829004329004 * overallSize"
        ],
        [
          "overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.766233766234 * overallSize"
        ],
        [
          "0.945887445887 * overallSize",
          "0.770562770563 * overallSize"
        ],
        [
          "0.88961038961 * overallSize",
          "0.792207792208 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.839826839827 * overallSize",
          "0.829004329004 * overallSize"
        ],
        [
          "0.800865800866 * overallSize",
          "0.876623376623 * overallSize"
        ],
        [
          "0.774891774892 * overallSize",
          "0.930735930736 * overallSize"
        ],
        [
          "0.764069264069 * overallSize",
          "0.991341991342 * overallSize"
        ],
        [
          "0.766233766234 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.848484848485 * overallSize",
          "overallSize"
        ],
        [
          "0.848484848485 * overallSize",
          "0.995670995671 * overallSize"
        ],
        [
          "0.854978354978 * overallSize",
          "0.95670995671 * overallSize"
        ],
        [
          "0.872294372294 * overallSize",
          "0.919913419913 * overallSize"
        ],
        [
          "0.896103896104 * overallSize",
          "0.88961038961 * overallSize"
        ],
        [
          "0.928571428571 * overallSize",
          "0.865800865801 * overallSize"
        ],
        [
          "0.965367965368 * overallSize",
          "0.852813852814 * overallSize"
        ],
        [
          "overallSize",
          "0.848484848485 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.807359307359 * overallSize",
          "overallSize"
        ],
        [
          "0.807359307359 * overallSize",
          "0.993506493506 * overallSize"
        ],
        [
          "0.816017316017 * overallSize",
          "0.943722943723 * overallSize"
        ],
        [
          "0.837662337662 * overallSize",
          "0.898268398268 * overallSize"
        ],
        [
          "0.867965367965 * overallSize",
          "0.859307359307 * overallSize"
        ],
        [
          "0.909090909091 * overallSize",
          "0.831168831169 * overallSize"
        ],
        [
          "0.95670995671 * overallSize",
          "0.811688311688 * overallSize"
        ],
        [
          "overallSize",
          "0.807359307359 * overallSize"
        ],
        [
          "overallSize",
          "0.848484848485 * overallSize"
        ],
        [
          "0.965367965368 * overallSize",
          "0.852813852814 * overallSize"
        ],
        [
          "0.928571428571 * overallSize",
          "0.865800865801 * overallSize"
        ],
        [
          "0.896103896104 * overallSize",
          "0.88961038961 * overallSize"
        ],
        [
          "0.872294372294 * overallSize",
          "0.919913419913 * overallSize"
        ],
        [
          "0.854978354978 * overallSize",
          "0.95670995671 * overallSize"
        ],
        [
          "0.848484848485 * overallSize",
          "0.995670995671 * overallSize"
        ],
        [
          "0.848484848485 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.733766233766 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.729437229437 * overallSize",
          "0.448051948052 * overallSize"
        ],
        [
          "0.781385281385 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.348484848485 * overallSize"
        ],
        [
          "0.504329004329 * overallSize",
          "0.348484848485 * overallSize"
        ],
        [
          "0.54329004329 * overallSize",
          "0.354978354978 * overallSize"
        ],
        [
          "0.580086580087 * overallSize",
          "0.372294372294 * overallSize"
        ],
        [
          "0.61038961039 * overallSize",
          "0.396103896104 * overallSize"
        ],
        [
          "0.634199134199 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "0.647186147186 * overallSize",
          "0.465367965368 * overallSize"
        ],
        [
          "0.651515151515 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.556277056277 * overallSize",
          "0.316017316017 * overallSize"
        ],
        [
          "0.528138528139 * overallSize",
          "0.311688311688 * overallSize"
        ],
        [
          "0.506493506494 * overallSize",
          "0.307359307359 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.307359307359 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.266233766234 * overallSize"
        ],
        [
          "0.508658008658 * overallSize",
          "0.264069264069 * overallSize"
        ],
        [
          "0.554112554113 * overallSize",
          "0.272727272727 * overallSize"
        ],
        [
          "0.569264069264 * overallSize",
          "0.274891774892 * overallSize"
        ],
        [
          "0.623376623377 * overallSize",
          "0.300865800866 * overallSize"
        ],
        [
          "0.670995670996 * overallSize",
          "0.339826839827 * overallSize"
        ],
        [
          "0.707792207792 * overallSize",
          "0.38961038961 * overallSize"
        ],
        [
          "0.729437229437 * overallSize",
          "0.445887445887 * overallSize"
        ],
        [
          "0.729437229437 * overallSize",
          "0.448051948052 * overallSize"
        ],
        [
          "0.733766233766 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.692640692641 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.688311688312 * overallSize",
          "0.471861471861 * overallSize"
        ],
        [
          "0.688311688312 * overallSize",
          "0.45670995671 * overallSize"
        ],
        [
          "0.668831168831 * overallSize",
          "0.409090909091 * overallSize"
        ],
        [
          "0.640692640693 * overallSize",
          "0.367965367965 * overallSize"
        ],
        [
          "0.601731601732 * overallSize",
          "0.337662337662 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.506493506494 * overallSize",
          "0.307359307359 * overallSize"
        ],
        [
          "0.528138528139 * overallSize",
          "0.311688311688 * overallSize"
        ],
        [
          "0.556277056277 * overallSize",
          "0.316017316017 * overallSize"
        ],
        [
          "0.601731601732 * overallSize",
          "0.337662337662 * overallSize"
        ],
        [
          "0.640692640693 * overallSize",
          "0.367965367965 * overallSize"
        ],
        [
          "0.668831168831 * overallSize",
          "0.409090909091 * overallSize"
        ],
        [
          "0.688311688312 * overallSize",
          "0.45670995671 * overallSize"
        ],
        [
          "0.688311688312 * overallSize",
          "0.471861471861 * overallSize"
        ],
        [
          "0.692640692641 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.651515151515 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.647186147186 * overallSize",
          "0.465367965368 * overallSize"
        ],
        [
          "0.634199134199 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "0.61038961039 * overallSize",
          "0.396103896104 * overallSize"
        ],
        [
          "0.580086580087 * overallSize",
          "0.372294372294 * overallSize"
        ],
        [
          "0.54329004329 * overallSize",
          "0.354978354978 * overallSize"
        ],
        [
          "0.504329004329 * overallSize",
          "0.348484848485 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.348484848485 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.307359307359 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.266233766234 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.218614718615 * overallSize"
        ],
        [
          "0.554112554113 * overallSize",
          "0.272727272727 * overallSize"
        ],
        [
          "0.508658008658 * overallSize",
          "0.264069264069 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"corner-block-mixed":{
  "schema": 1,
  "id": "corner-block-mixed",
  "name": "Corner block squares, mixed",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 210,
      "min": 60,
      "max": 1200,
      "label": "Tile side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "edge",
          "0"
        ],
        [
          "edge",
          "5 * edge / 7"
        ],
        [
          "5 * edge / 7",
          "5 * edge / 7"
        ],
        [
          "5 * edge / 7",
          "edge"
        ],
        [
          "0",
          "edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "0"
        ],
        [
          "12 * edge / 7",
          "0"
        ],
        [
          "12 * edge / 7",
          "2 * edge / 7"
        ],
        [
          "2 * edge",
          "2 * edge / 7"
        ],
        [
          "2 * edge",
          "edge"
        ],
        [
          "edge",
          "edge"
        ]
      ]
    },
    {
      "rect": [
        "12 * edge / 7",
        "0",
        "2 * edge",
        "2 * edge / 7"
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "2 * edge / 7"
        ],
        [
          "16 * edge / 7",
          "2 * edge / 7"
        ],
        [
          "16 * edge / 7",
          "0"
        ],
        [
          "3 * edge",
          "0"
        ],
        [
          "3 * edge",
          "edge"
        ],
        [
          "2 * edge",
          "edge"
        ]
      ]
    },
    {
      "rect": [
        "2 * edge",
        "0",
        "16 * edge / 7",
        "2 * edge / 7"
      ]
    },
    {
      "rect": [
        "5 * edge / 7",
        "5 * edge / 7",
        "edge",
        "edge"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "edge"
        ],
        [
          "5 * edge / 7",
          "edge"
        ],
        [
          "5 * edge / 7",
          "9 * edge / 7"
        ],
        [
          "edge",
          "9 * edge / 7"
        ],
        [
          "edge",
          "2 * edge"
        ],
        [
          "0",
          "2 * edge"
        ]
      ]
    },
    {
      "rect": [
        "5 * edge / 7",
        "edge",
        "edge",
        "9 * edge / 7"
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "edge"
        ],
        [
          "2 * edge",
          "edge"
        ],
        [
          "2 * edge",
          "2 * edge"
        ],
        [
          "9 * edge / 7",
          "2 * edge"
        ],
        [
          "9 * edge / 7",
          "12 * edge / 7"
        ],
        [
          "edge",
          "12 * edge / 7"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "edge"
        ],
        [
          "3 * edge",
          "edge"
        ],
        [
          "3 * edge",
          "12 * edge / 7"
        ],
        [
          "19 * edge / 7",
          "12 * edge / 7"
        ],
        [
          "19 * edge / 7",
          "2 * edge"
        ],
        [
          "2 * edge",
          "2 * edge"
        ]
      ]
    },
    {
      "rect": [
        "edge",
        "12 * edge / 7",
        "9 * edge / 7",
        "2 * edge"
      ]
    },
    {
      "rect": [
        "19 * edge / 7",
        "12 * edge / 7",
        "3 * edge",
        "2 * edge"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * edge"
        ],
        [
          "5 * edge / 7",
          "2 * edge"
        ],
        [
          "5 * edge / 7",
          "16 * edge / 7"
        ],
        [
          "edge",
          "16 * edge / 7"
        ],
        [
          "edge",
          "3 * edge"
        ],
        [
          "0",
          "3 * edge"
        ]
      ]
    },
    {
      "rect": [
        "5 * edge / 7",
        "2 * edge",
        "edge",
        "16 * edge / 7"
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "2 * edge"
        ],
        [
          "12 * edge / 7",
          "2 * edge"
        ],
        [
          "12 * edge / 7",
          "16 * edge / 7"
        ],
        [
          "2 * edge",
          "16 * edge / 7"
        ],
        [
          "2 * edge",
          "3 * edge"
        ],
        [
          "edge",
          "3 * edge"
        ]
      ]
    },
    {
      "rect": [
        "12 * edge / 7",
        "2 * edge",
        "2 * edge",
        "16 * edge / 7"
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "16 * edge / 7"
        ],
        [
          "16 * edge / 7",
          "16 * edge / 7"
        ],
        [
          "16 * edge / 7",
          "2 * edge"
        ],
        [
          "3 * edge",
          "2 * edge"
        ],
        [
          "3 * edge",
          "3 * edge"
        ],
        [
          "2 * edge",
          "3 * edge"
        ]
      ]
    },
    {
      "rect": [
        "2 * edge",
        "2 * edge",
        "16 * edge / 7",
        "16 * edge / 7"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "3 * edge"
        ],
        [
          "edge",
          "3 * edge"
        ],
        [
          "edge",
          "26 * edge / 7"
        ],
        [
          "5 * edge / 7",
          "26 * edge / 7"
        ],
        [
          "5 * edge / 7",
          "4 * edge"
        ],
        [
          "0",
          "4 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "3 * edge"
        ],
        [
          "12 * edge / 7",
          "3 * edge"
        ],
        [
          "12 * edge / 7",
          "23 * edge / 7"
        ],
        [
          "2 * edge",
          "23 * edge / 7"
        ],
        [
          "2 * edge",
          "4 * edge"
        ],
        [
          "edge",
          "4 * edge"
        ]
      ]
    },
    {
      "rect": [
        "12 * edge / 7",
        "3 * edge",
        "2 * edge",
        "23 * edge / 7"
      ]
    },
    {
      "polygon": [
        [
          "16 * edge / 7",
          "26 * edge / 7"
        ],
        [
          "2 * edge",
          "26 * edge / 7"
        ],
        [
          "2 * edge",
          "3 * edge"
        ],
        [
          "3 * edge",
          "3 * edge"
        ],
        [
          "3 * edge",
          "4 * edge"
        ],
        [
          "16 * edge / 7",
          "4 * edge"
        ]
      ]
    },
    {
      "rect": [
        "5 * edge / 7",
        "26 * edge / 7",
        "edge",
        "4 * edge"
      ]
    },
    {
      "rect": [
        "2 * edge",
        "26 * edge / 7",
        "16 * edge / 7",
        "4 * edge"
      ]
    }
  ],
  "lattice": {
    "a": [
      "3 * edge",
      "0"
    ],
    "b": [
      "0",
      "-4 * edge"
    ]
  }
},"corrugated-sheet":{
  "schema": 1,
  "id": "corrugated-sheet",
  "name": "Corrugated sheet",
  "category": "metal",
  "parameters": {
    "pitch": {
      "value": 76,
      "min": 60,
      "max": 300,
      "label": "Corrugation pitch"
    },
    "depth": {
      "value": 18,
      "min": 3,
      "max": 30,
      "label": "Profile depth"
    },
    "waves": {
      "expr": "13"
    },
    "length": {
      "value": 2000,
      "min": 300,
      "max": 7000,
      "label": "Sheet length"
    },
    "width": {
      "expr": "waves * pitch"
    },
    "arcRadius": {
      "expr": "(pitch * pitch / 4 + depth * depth) / (4 * depth)"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "width"
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "0",
      "width"
    ]
  },
  "body": {
    "profile": {
      "start": [
        "0",
        "0"
      ],
      "section": [
        {
          "arc": {
            "center": [
              "0",
              "arcRadius"
            ],
            "from": [
              "0",
              "0"
            ],
            "to": [
              "pitch / 4",
              "depth / 2"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "pitch / 2",
              "depth - arcRadius"
            ],
            "from": [
              "pitch / 4",
              "depth / 2"
            ],
            "to": [
              "3 * pitch / 4",
              "depth / 2"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "pitch",
              "arcRadius"
            ],
            "from": [
              "3 * pitch / 4",
              "depth / 2"
            ],
            "to": [
              "pitch",
              "0"
            ],
            "clockwise": false
          }
        }
      ]
    }
  }
}
,"crazy-paving":{
  "schema": 1,
  "id": "crazy-paving",
  "name": "Crazy paving",
  "category": "stone",
  "parameters": {
    "stoneSize": { "value": 400, "min": 150, "max": 1000, "label": "Mean stone height" }
  },
  "generator": {
    "periodicVoronoi": {
      "width": "15 * stoneSize",
      "height": "15 * stoneSize",
      "stoneSize": "stoneSize",
      "stretch": "1",
      "separation": "0.45",
      "relaxation": "1",
      "seed": "seed"
    }
  }
}
,"cross-and-quartered-square":{
  "schema": 1,
  "id": "cross-and-quartered-square",
  "name": "Cross and quartered square",
  "category": "stone",
  "parameters": {
    "width": { "value": 130, "min": 30, "max": 1200, "label": "Paver width" },
    "unit": { "expr": "width / 4" },
    "length": { "expr": "2 * width" },
    "cell": { "expr": "3 * width" }
  },
  "tiles": [
    { "rect": ["2 * unit", "0", "2 * unit + width", "length"] },
    { "rect": ["8 * unit", "6 * unit", "8 * unit + width", "6 * unit + length"] },
    { "rect": ["6 * unit", "2 * unit", "6 * unit + length", "2 * unit + width"] },
    { "rect": ["0", "8 * unit", "length", "8 * unit + width"] },

    { "repeat": { "index": "k", "count": "4" }, "rect": ["(k - 2 * floor(k / 2)) * unit", "floor(k / 2) * unit", "(k - 2 * floor(k / 2) + 1) * unit", "(floor(k / 2) + 1) * unit"] },
    { "repeat": { "index": "k", "count": "4" }, "rect": ["6 * unit + (k - 2 * floor(k / 2)) * unit", "floor(k / 2) * unit", "6 * unit + (k - 2 * floor(k / 2) + 1) * unit", "(floor(k / 2) + 1) * unit"] },
    { "repeat": { "index": "k", "count": "4" }, "rect": ["(k - 2 * floor(k / 2)) * unit", "6 * unit + floor(k / 2) * unit", "(k - 2 * floor(k / 2) + 1) * unit", "6 * unit + (floor(k / 2) + 1) * unit"] },
    { "repeat": { "index": "k", "count": "4" }, "rect": ["6 * unit + (k - 2 * floor(k / 2)) * unit", "6 * unit + floor(k / 2) * unit", "6 * unit + (k - 2 * floor(k / 2) + 1) * unit", "6 * unit + (floor(k / 2) + 1) * unit"] }
  ],
  "lattice": { "a": ["3 * width", "0"], "b": ["0", "3 * width"] }
}
,"cross-and-square-pave":{
  "schema": 1,
  "id": "cross-and-square-pave",
  "name": "Cross and square pave",
  "category": "stone",
  "parameters": {
    "edge": { "value": 250, "min": 150, "max": 1500, "label": "Large square" },
    "armWidth": { "value": 100, "min": 20, "max": 140, "label": "Cross arm" },
    "span": { "expr": "edge + armWidth" },
    "shoulder": { "expr": "(edge - armWidth) / 2" }
  },
  "tiles": [
    { "rect": ["0", "0", "edge", "edge"] },
    { "rect": ["edge", "shoulder", "span", "shoulder + armWidth"] },
    { "rect": ["shoulder", "edge", "shoulder + armWidth", "span"] },
    {
      "polygon": [
        ["edge", "edge - shoulder"], ["span", "edge - shoulder"], ["span", "edge"], ["span + shoulder", "edge"],
        ["span + shoulder", "span"], ["span", "span"], ["span", "span + shoulder"], ["edge", "span + shoulder"],
        ["edge", "span"], ["edge - shoulder", "span"], ["edge - shoulder", "edge"], ["edge", "edge"]
      ]
    }
  ],
  "lattice": { "a": ["span", "0"], "b": ["0", "span"] }
}
,"cross-and-square-split":{
  "schema": 1,
  "id": "cross-and-square-split",
  "name": "Cross and square split",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 12,
      "min": 3,
      "max": 72,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "13 * moduleSize",
          "moduleSize"
        ],
        [
          "13 * moduleSize",
          "-6 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "-12 * moduleSize"
        ],
        [
          "25 * moduleSize",
          "-6 * moduleSize"
        ],
        [
          "25 * moduleSize",
          "moduleSize"
        ],
        [
          "32 * moduleSize",
          "moduleSize"
        ],
        [
          "38 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "25 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "25 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "13 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "32 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "moduleSize"
        ],
        [
          "32 * moduleSize",
          "-6 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "-6 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "0"
        ],
        [
          "51 * moduleSize",
          "-6 * moduleSize"
        ],
        [
          "58 * moduleSize",
          "-6 * moduleSize"
        ],
        [
          "58 * moduleSize",
          "moduleSize"
        ],
        [
          "52 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "58 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "58 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "51 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "13 * moduleSize",
        "13 * moduleSize",
        "20 * moduleSize"
      ]
    },
    {
      "rect": [
        "25 * moduleSize",
        "13 * moduleSize",
        "32 * moduleSize",
        "20 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "51 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "51 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "58 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "64 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "58 * moduleSize",
          "39 * moduleSize"
        ],
        [
          "51 * moduleSize",
          "39 * moduleSize"
        ],
        [
          "51 * moduleSize",
          "46 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "52 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "46 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "39 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "39 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "-moduleSize",
        "20 * moduleSize",
        "6 * moduleSize",
        "27 * moduleSize"
      ]
    },
    {
      "rect": [
        "32 * moduleSize",
        "20 * moduleSize",
        "39 * moduleSize",
        "27 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "39 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "25 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "39 * moduleSize"
        ],
        [
          "32 * moduleSize",
          "46 * moduleSize"
        ],
        [
          "25 * moduleSize",
          "46 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "40 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "46 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "46 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "-moduleSize",
        "39 * moduleSize",
        "6 * moduleSize",
        "46 * moduleSize"
      ]
    },
    {
      "rect": [
        "32 * moduleSize",
        "39 * moduleSize",
        "39 * moduleSize",
        "46 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "46 * moduleSize",
        "13 * moduleSize",
        "53 * moduleSize"
      ]
    },
    {
      "rect": [
        "25 * moduleSize",
        "46 * moduleSize",
        "32 * moduleSize",
        "53 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "52 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-52 * moduleSize"
    ]
  }
},"cross-and-square":{
  "schema": 1,
  "id": "cross-and-square",
  "name": "Cross and square",
  "category": "stone",
  "parameters": {
    "overallSize": { "value": 400, "min": 60, "max": 1500, "label": "Cross overall size" },
    "arm": { "expr": "overallSize / 4" },
    "half": { "expr": "overallSize / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["arm", "arm"],
        ["arm", "half"],
        ["-arm", "half"],
        ["-arm", "arm"],
        ["-half", "arm"],
        ["-half", "-arm"],
        ["-arm", "-arm"],
        ["-arm", "-half"],
        ["arm", "-half"],
        ["arm", "-arm"],
        ["half", "-arm"],
        ["half", "arm"]
      ]
    },
    { "rect": ["half - arm", "half - arm", "half + arm", "half + arm"] }
  ],
  "lattice": { "a": ["overallSize", "0"], "b": ["0", "overallSize"] }
}
,"cross-versailles":{
  "schema": 1,
  "id": "cross-versailles",
  "name": "Cross Versailles",
  "category": "stone",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 3000,
      "label": "Panel size"
    },
    "band": {
      "expr": "3 * overallSize / 20"
    },
    "edgeInset": {
      "expr": "overallSize - band"
    },
    "halfSize": {
      "expr": "overallSize / 2"
    },
    "diagonal": {
      "expr": "band * sqrt(2)"
    },
    "setBack": {
      "expr": "band / sqrt(2)"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "band",
          "band"
        ],
        [
          "band",
          "edgeInset"
        ],
        [
          "0",
          "overallSize"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "edgeInset",
          "band"
        ],
        [
          "band",
          "band"
        ]
      ],
      "grain": [
        "1",
        "0"
      ]
    },
    {
      "polygon": [
        [
          "band",
          "edgeInset"
        ],
        [
          "edgeInset",
          "edgeInset"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0",
          "overallSize"
        ]
      ],
      "grain": [
        "1",
        "0"
      ]
    },
    {
      "polygon": [
        [
          "edgeInset",
          "band"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "edgeInset",
          "edgeInset"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "halfSize + setBack",
          "halfSize - setBack"
        ],
        [
          "edgeInset",
          "band"
        ],
        [
          "edgeInset",
          "band + diagonal"
        ],
        [
          "halfSize + diagonal",
          "halfSize"
        ],
        [
          "halfSize + setBack",
          "halfSize + setBack"
        ],
        [
          "halfSize",
          "halfSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfSize",
          "halfSize"
        ],
        [
          "halfSize + setBack",
          "halfSize + setBack"
        ],
        [
          "edgeInset",
          "edgeInset"
        ],
        [
          "edgeInset - diagonal",
          "edgeInset"
        ],
        [
          "halfSize",
          "halfSize + diagonal"
        ],
        [
          "halfSize - setBack",
          "halfSize + setBack"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfSize - diagonal",
          "halfSize"
        ],
        [
          "halfSize - setBack",
          "halfSize - setBack"
        ],
        [
          "halfSize",
          "halfSize"
        ],
        [
          "halfSize - setBack",
          "halfSize + setBack"
        ],
        [
          "band",
          "edgeInset"
        ],
        [
          "band",
          "edgeInset - diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "band",
          "band"
        ],
        [
          "band + diagonal",
          "band"
        ],
        [
          "halfSize",
          "halfSize - diagonal"
        ],
        [
          "halfSize + setBack",
          "halfSize - setBack"
        ],
        [
          "halfSize",
          "halfSize"
        ],
        [
          "halfSize - setBack",
          "halfSize - setBack"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfSize - setBack",
          "halfSize + setBack"
        ],
        [
          "halfSize",
          "halfSize + diagonal"
        ],
        [
          "band + diagonal",
          "edgeInset"
        ],
        [
          "band",
          "edgeInset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfSize + setBack",
          "halfSize + setBack"
        ],
        [
          "halfSize + diagonal",
          "halfSize"
        ],
        [
          "edgeInset",
          "edgeInset - diagonal"
        ],
        [
          "edgeInset",
          "edgeInset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edgeInset - diagonal",
          "band"
        ],
        [
          "edgeInset",
          "band"
        ],
        [
          "halfSize + setBack",
          "halfSize - setBack"
        ],
        [
          "halfSize",
          "halfSize - diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "band",
          "band"
        ],
        [
          "halfSize - setBack",
          "halfSize - setBack"
        ],
        [
          "halfSize - diagonal",
          "halfSize"
        ],
        [
          "band",
          "band + diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfSize + diagonal",
          "halfSize"
        ],
        [
          "edgeInset",
          "band + diagonal"
        ],
        [
          "edgeInset",
          "edgeInset - diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "band + diagonal",
          "band"
        ],
        [
          "edgeInset - diagonal",
          "band"
        ],
        [
          "halfSize",
          "halfSize - diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "band",
          "band + diagonal"
        ],
        [
          "halfSize - diagonal",
          "halfSize"
        ],
        [
          "band",
          "edgeInset - diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "band + diagonal",
          "edgeInset"
        ],
        [
          "halfSize",
          "halfSize + diagonal"
        ],
        [
          "edgeInset - diagonal",
          "edgeInset"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"cross-weave-square":{
  "schema": 1,
  "id": "cross-weave-square",
  "name": "Cross weave square",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 250, "min": 220, "max": 1200, "label": "Tile side" },
    "bandWidth": { "value": 100, "min": 10, "max": 200, "label": "Strip width" },
    "span": { "expr": "2 * edge + bandWidth" }
  },
  "tiles": [
    { "rect": ["0", "0", "edge", "edge"] },
    { "rect": ["edge", "0", "2 * edge", "edge"] },
    { "rect": ["0", "edge", "edge", "2 * edge"] },
    { "rect": ["edge", "edge", "2 * edge", "2 * edge"] },
    { "rect": ["2 * edge", "0", "span", "2 * edge - bandWidth"] },
    { "rect": ["2 * edge", "2 * edge - bandWidth", "span", "2 * edge"] },
    { "rect": ["2 * edge", "2 * edge", "span", "span"] },
    { "rect": ["0", "2 * edge", "bandWidth", "span"] },
    { "rect": ["bandWidth", "2 * edge", "2 * edge", "span"] }
  ],
  "lattice": { "a": ["span", "0"], "b": ["0", "span"] }
}
,"crosshair":{
  "schema": 1,
  "id": "crosshair",
  "name": "Crosshair",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 150,
      "min": 20,
      "max": 800,
      "label": "Smallest tile side"
    }
  },
  "tiles": [
    {
      "rect": [
        "moduleSize",
        "moduleSize",
        "3 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "0",
        "moduleSize",
        "moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "moduleSize",
        "moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "0",
        "3 * moduleSize",
        "moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "3 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "3 * moduleSize"
    ]
  }
}
,"crosshatch":{
  "schema": 1,
  "id": "crosshatch",
  "name": "Crosshatch",
  "category": "wood",
  "parameters": {
    "width": { "value": 150, "min": 20, "max": 600, "label": "Block width (length = 3 x width)" },
    "length": { "expr": "3 * width" },
    "cell": { "expr": "length + 2 * width" }
  },
  "tiles": [
    { "rect": ["0", "2 * width", "width", "cell"] },
    { "rect": ["width", "2 * width", "2 * width", "cell"] },
    { "rect": ["3 * width", "0", "4 * width", "length"] },
    { "rect": ["4 * width", "0", "cell", "length"] },
    { "rect": ["2 * width", "4 * width", "cell", "cell"] },
    { "rect": ["2 * width", "3 * width", "cell", "4 * width"] },
    { "rect": ["0", "width", "length", "2 * width"] },
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["2 * width", "2 * width", "3 * width", "3 * width"] }
  ],
  "lattice": { "a": ["cell", "0"], "b": ["0", "cell"] }
}
,"crossing-split-tiles":{
  "schema": 1,
  "id": "crossing-split-tiles",
  "name": "Crossing split tiles",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 200,
      "min": 40,
      "max": 1200,
      "label": "Block side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "3 * edge",
          "0"
        ],
        [
          "3 * edge",
          "edge"
        ],
        [
          "2 * edge",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "0"
        ],
        [
          "edge",
          "edge"
        ],
        [
          "0",
          "edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "0"
        ],
        [
          "3 * edge / 2",
          "edge / 2"
        ],
        [
          "edge",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge / 2",
          "edge / 2"
        ],
        [
          "2 * edge",
          "0"
        ],
        [
          "2 * edge",
          "edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "edge",
          "0"
        ],
        [
          "0",
          "edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "0"
        ],
        [
          "3 * edge / 2",
          "edge / 2"
        ],
        [
          "edge",
          "edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "0"
        ],
        [
          "3 * edge",
          "edge"
        ],
        [
          "2 * edge",
          "edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge / 2",
          "edge / 2"
        ],
        [
          "2 * edge",
          "edge"
        ],
        [
          "edge",
          "edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "edge"
        ],
        [
          "edge",
          "2 * edge"
        ],
        [
          "edge / 2",
          "3 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge",
          "edge"
        ],
        [
          "3 * edge",
          "2 * edge"
        ],
        [
          "5 * edge / 2",
          "3 * edge / 2"
        ]
      ]
    },
    {
      "rect": [
        "edge",
        "edge",
        "2 * edge",
        "2 * edge"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "edge"
        ],
        [
          "edge",
          "edge"
        ],
        [
          "edge / 2",
          "3 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "edge"
        ],
        [
          "3 * edge",
          "edge"
        ],
        [
          "5 * edge / 2",
          "3 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "edge"
        ],
        [
          "edge / 2",
          "3 * edge / 2"
        ],
        [
          "0",
          "2 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "edge"
        ],
        [
          "5 * edge / 2",
          "3 * edge / 2"
        ],
        [
          "2 * edge",
          "2 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge / 2",
          "3 * edge / 2"
        ],
        [
          "edge",
          "2 * edge"
        ],
        [
          "0",
          "2 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * edge / 2",
          "3 * edge / 2"
        ],
        [
          "3 * edge",
          "2 * edge"
        ],
        [
          "2 * edge",
          "2 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "2 * edge"
        ],
        [
          "edge",
          "3 * edge"
        ],
        [
          "0",
          "2 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "2 * edge"
        ],
        [
          "3 * edge / 2",
          "5 * edge / 2"
        ],
        [
          "edge",
          "2 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge / 2",
          "5 * edge / 2"
        ],
        [
          "2 * edge",
          "2 * edge"
        ],
        [
          "2 * edge",
          "3 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge",
          "2 * edge"
        ],
        [
          "3 * edge",
          "3 * edge"
        ],
        [
          "2 * edge",
          "3 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * edge"
        ],
        [
          "edge",
          "3 * edge"
        ],
        [
          "0",
          "3 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "2 * edge"
        ],
        [
          "3 * edge / 2",
          "5 * edge / 2"
        ],
        [
          "edge",
          "3 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "2 * edge"
        ],
        [
          "3 * edge",
          "2 * edge"
        ],
        [
          "2 * edge",
          "3 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge / 2",
          "5 * edge / 2"
        ],
        [
          "2 * edge",
          "3 * edge"
        ],
        [
          "edge",
          "3 * edge"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "3 * edge",
      "0"
    ],
    "b": [
      "0",
      "-3 * edge"
    ]
  }
},"curved-cross-interlock":{
  "schema": 1,
  "id": "curved-cross-interlock",
  "name": "Curved cross interlock",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.411330049261 * overallSize"
        ],
        [
          "0.460591133005 * overallSize",
          "0.366995073892 * overallSize"
        ],
        [
          "0.384236453202 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "0.349753694581 * overallSize",
          "0.046798029557 * overallSize"
        ],
        [
          "0.352216748768 * overallSize",
          "0"
        ],
        [
          "0.650246305419 * overallSize",
          "0"
        ],
        [
          "0.633004926108 * overallSize",
          "0.152709359606 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.312807881773 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.647783251232 * overallSize"
        ],
        [
          "0.87684729064 * overallSize",
          "0.64039408867 * overallSize"
        ],
        [
          "0.716748768473 * overallSize",
          "0.586206896552 * overallSize"
        ],
        [
          "0.581280788177 * overallSize",
          "0.497536945813 * overallSize"
        ],
        [
          "0.588669950739 * overallSize",
          "0.487684729064 * overallSize"
        ],
        [
          "0.733990147783 * overallSize",
          "0.399014778325 * overallSize"
        ],
        [
          "0.896551724138 * overallSize",
          "0.352216748768 * overallSize"
        ],
        [
          "overallSize",
          "0.347290640394 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.352216748768 * overallSize",
          "0.995073891626 * overallSize"
        ],
        [
          "0.352216748768 * overallSize",
          "0.928571428571 * overallSize"
        ],
        [
          "0.391625615764 * overallSize",
          "0.761083743842 * overallSize"
        ],
        [
          "0.472906403941 * overallSize",
          "0.613300492611 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.581280788177 * overallSize"
        ],
        [
          "0.57881773399 * overallSize",
          "0.697044334975 * overallSize"
        ],
        [
          "0.637931034483 * overallSize",
          "0.857142857143 * overallSize"
        ],
        [
          "0.647783251232 * overallSize",
          "0.995073891626 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.647783251232 * overallSize",
          "0.995073891626 * overallSize"
        ],
        [
          "0.637931034483 * overallSize",
          "0.857142857143 * overallSize"
        ],
        [
          "0.57881773399 * overallSize",
          "0.697044334975 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.581280788177 * overallSize"
        ],
        [
          "0.581280788177 * overallSize",
          "0.497536945813 * overallSize"
        ],
        [
          "0.716748768473 * overallSize",
          "0.586206896552 * overallSize"
        ],
        [
          "0.87684729064 * overallSize",
          "0.64039408867 * overallSize"
        ],
        [
          "overallSize",
          "0.647783251232 * overallSize"
        ],
        [
          "overallSize",
          "0.995073891626 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.347290640394 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.352216748768 * overallSize",
          "0"
        ],
        [
          "0.349753694581 * overallSize",
          "0.046798029557 * overallSize"
        ],
        [
          "0.384236453202 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "0.460591133005 * overallSize",
          "0.366995073892 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.411330049261 * overallSize"
        ],
        [
          "0.472906403941 * overallSize",
          "0.450738916256 * overallSize"
        ],
        [
          "0.413793103448 * overallSize",
          "0.497536945813 * overallSize"
        ],
        [
          "0.352216748768 * overallSize",
          "0.445812807882 * overallSize"
        ],
        [
          "0.199507389163 * overallSize",
          "0.374384236453 * overallSize"
        ],
        [
          "0.032019704433 * overallSize",
          "0.344827586207 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.650246305419 * overallSize"
        ],
        [
          "0",
          "0.347290640394 * overallSize"
        ],
        [
          "0.032019704433 * overallSize",
          "0.344827586207 * overallSize"
        ],
        [
          "0.199507389163 * overallSize",
          "0.374384236453 * overallSize"
        ],
        [
          "0.352216748768 * overallSize",
          "0.445812807882 * overallSize"
        ],
        [
          "0.413793103448 * overallSize",
          "0.497536945813 * overallSize"
        ],
        [
          "0.339901477833 * overallSize",
          "0.556650246305 * overallSize"
        ],
        [
          "0.184729064039 * overallSize",
          "0.625615763547 * overallSize"
        ],
        [
          "0.014778325123 * overallSize",
          "0.652709359606 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.995073891626 * overallSize"
        ],
        [
          "0",
          "0.650246305419 * overallSize"
        ],
        [
          "0.014778325123 * overallSize",
          "0.652709359606 * overallSize"
        ],
        [
          "0.184729064039 * overallSize",
          "0.625615763547 * overallSize"
        ],
        [
          "0.339901477833 * overallSize",
          "0.556650246305 * overallSize"
        ],
        [
          "0.413793103448 * overallSize",
          "0.497536945813 * overallSize"
        ],
        [
          "0.472906403941 * overallSize",
          "0.450738916256 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.411330049261 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.312807881773 * overallSize"
        ],
        [
          "0.633004926108 * overallSize",
          "0.152709359606 * overallSize"
        ],
        [
          "0.650246305419 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.347290640394 * overallSize"
        ],
        [
          "0.896551724138 * overallSize",
          "0.352216748768 * overallSize"
        ],
        [
          "0.733990147783 * overallSize",
          "0.399014778325 * overallSize"
        ],
        [
          "0.588669950739 * overallSize",
          "0.487684729064 * overallSize"
        ],
        [
          "0.581280788177 * overallSize",
          "0.497536945813 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.581280788177 * overallSize"
        ],
        [
          "0.472906403941 * overallSize",
          "0.613300492611 * overallSize"
        ],
        [
          "0.391625615764 * overallSize",
          "0.761083743842 * overallSize"
        ],
        [
          "0.352216748768 * overallSize",
          "0.928571428571 * overallSize"
        ],
        [
          "0.352216748768 * overallSize",
          "0.995073891626 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "0.995073891626 * overallSize"
    ]
  }
}
,"curved-patchwork-panel":{
  "schema": 1,
  "id": "curved-patchwork-panel",
  "name": "Curved patchwork panel",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 900,
      "min": 180,
      "max": 1800,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "overallSize",
        "0.357647058824 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "0.2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.875294117647 * overallSize",
              "0.2 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.969767134336055 * overallSize",
              "0.253415111469021 * overallSize"
            ],
            "from": [
              "0.875294117647 * overallSize",
              "0.2 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.357647058824 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.054117647059 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.054117647059 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.115294117647 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.107058823529 * overallSize",
          "0.412941176471 * overallSize"
        ],
        [
          "0.102352941176 * overallSize",
          "0.425882352941 * overallSize"
        ],
        [
          "0.098823529412 * overallSize",
          "0.44 * overallSize"
        ],
        [
          "0.097647058824 * overallSize",
          "0.454117647059 * overallSize"
        ],
        [
          "0.098823529412 * overallSize",
          "0.468235294118 * overallSize"
        ],
        [
          "0.102352941176 * overallSize",
          "0.482352941176 * overallSize"
        ],
        [
          "0.107058823529 * overallSize",
          "0.496470588235 * overallSize"
        ],
        [
          "0.114117647059 * overallSize",
          "0.508235294118 * overallSize"
        ],
        [
          "0.123529411765 * overallSize",
          "0.52 * overallSize"
        ],
        [
          "0.129411764706 * overallSize",
          "0.527058823529 * overallSize"
        ],
        [
          "0.134117647059 * overallSize",
          "0.535294117647 * overallSize"
        ],
        [
          "0.137647058824 * overallSize",
          "0.544705882353 * overallSize"
        ],
        [
          "0.141176470588 * overallSize",
          "0.552941176471 * overallSize"
        ],
        [
          "0.144705882353 * overallSize",
          "0.562352941176 * overallSize"
        ],
        [
          "0.147058823529 * overallSize",
          "0.571764705882 * overallSize"
        ],
        [
          "0.148235294118 * overallSize",
          "0.581176470588 * overallSize"
        ],
        [
          "0.148235294118 * overallSize",
          "0.6 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.2 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.654117647059 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.654117647059 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.8 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "0.708235294118 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.742352941176 * overallSize"
        ],
        [
          "0.790588235294 * overallSize",
          "0.743529411765 * overallSize"
        ],
        [
          "0.781176470588 * overallSize",
          "0.743529411765 * overallSize"
        ],
        [
          "0.772941176471 * overallSize",
          "0.742352941176 * overallSize"
        ],
        [
          "0.763529411765 * overallSize",
          "0.741176470588 * overallSize"
        ],
        [
          "0.754117647059 * overallSize",
          "0.738823529412 * overallSize"
        ],
        [
          "0.737647058824 * overallSize",
          "0.731764705882 * overallSize"
        ],
        [
          "0.729411764706 * overallSize",
          "0.727058823529 * overallSize"
        ],
        [
          "0.722352941176 * overallSize",
          "0.722352941176 * overallSize"
        ],
        [
          "0.714117647059 * overallSize",
          "0.716470588235 * overallSize"
        ],
        [
          "0.702352941176 * overallSize",
          "0.707058823529 * overallSize"
        ],
        [
          "0.688235294118 * overallSize",
          "0.7 * overallSize"
        ],
        [
          "0.674117647059 * overallSize",
          "0.695294117647 * overallSize"
        ],
        [
          "0.658823529412 * overallSize",
          "0.692941176471 * overallSize"
        ],
        [
          "0.643529411765 * overallSize",
          "0.692941176471 * overallSize"
        ],
        [
          "0.628235294118 * overallSize",
          "0.696470588235 * overallSize"
        ],
        [
          "0.612941176471 * overallSize",
          "0.701176470588 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0",
        "0.952941176471 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.001958451554432 * overallSize",
              "0.801958451554432 * overallSize"
            ],
            "from": [
              "0",
              "0.952941176471 * overallSize"
            ],
            "to": [
              "0.152941176471 * overallSize",
              "0.8 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.8 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.952941176471 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.8 * overallSize",
        "0.362352941176 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.8 * overallSize",
              "0.2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.677647058824 * overallSize",
              "0.2 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.771663989356276 * overallSize",
              "0.25642713845614 * overallSize"
            ],
            "from": [
              "0.677647058824 * overallSize",
              "0.2 * overallSize"
            ],
            "to": [
              "0.8 * overallSize",
              "0.362352941176 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.8 * overallSize",
        "0.8 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.847058823529 * overallSize",
              "0.8 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.965027702076731 * overallSize",
              "0.780263788229915 * overallSize"
            ],
            "from": [
              "0.847058823529 * overallSize",
              "0.8 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.665882352941 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.6 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.948235294118 * overallSize",
              "0.6 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.854117647059 * overallSize",
              "0.6 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.8 * overallSize",
              "0.6 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.8 * overallSize",
              "0.742352941176 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.8 * overallSize",
              "0.8 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.324705882353 * overallSize",
        "0.4 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.4 * overallSize",
              "0.4 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.4 * overallSize",
              "0.2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.2 * overallSize",
              "0.2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.2 * overallSize",
              "0.255294117647 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.229314876232724 * overallSize",
              "0.356118887149034 * overallSize"
            ],
            "from": [
              "0.2 * overallSize",
              "0.255294117647 * overallSize"
            ],
            "to": [
              "0.324705882353 * overallSize",
              "0.4 * overallSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.454117647059 * overallSize",
          "overallSize"
        ],
        [
          "0.454117647059 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.4 * overallSize",
          "overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.454117647059 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.454117647059 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.654117647059 * overallSize",
          "overallSize"
        ],
        [
          "0.654117647059 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.727058823529 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.717647058824 * overallSize",
          "0.808235294118 * overallSize"
        ],
        [
          "0.709411764706 * overallSize",
          "0.817647058824 * overallSize"
        ],
        [
          "0.702352941176 * overallSize",
          "0.828235294118 * overallSize"
        ],
        [
          "0.698823529412 * overallSize",
          "0.84 * overallSize"
        ],
        [
          "0.696470588235 * overallSize",
          "0.852941176471 * overallSize"
        ],
        [
          "0.695294117647 * overallSize",
          "0.865882352941 * overallSize"
        ],
        [
          "0.697647058824 * overallSize",
          "0.876470588235 * overallSize"
        ],
        [
          "0.701176470588 * overallSize",
          "0.887058823529 * overallSize"
        ],
        [
          "0.705882352941 * overallSize",
          "0.896470588235 * overallSize"
        ],
        [
          "0.749411764706 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.145882352941 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.145882352941 * overallSize",
          "0"
        ],
        [
          "0.2 * overallSize",
          "0"
        ],
        [
          "0.2 * overallSize",
          "0.2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.2 * overallSize",
          "overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.654117647059 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.654117647059 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.708235294118 * overallSize"
        ],
        [
          "0.614117647059 * overallSize",
          "0.701176470588 * overallSize"
        ],
        [
          "0.628235294118 * overallSize",
          "0.696470588235 * overallSize"
        ],
        [
          "0.643529411765 * overallSize",
          "0.692941176471 * overallSize"
        ],
        [
          "0.658823529412 * overallSize",
          "0.692941176471 * overallSize"
        ],
        [
          "0.674117647059 * overallSize",
          "0.695294117647 * overallSize"
        ],
        [
          "0.688235294118 * overallSize",
          "0.7 * overallSize"
        ],
        [
          "0.702352941176 * overallSize",
          "0.707058823529 * overallSize"
        ],
        [
          "0.714117647059 * overallSize",
          "0.716470588235 * overallSize"
        ],
        [
          "0.722352941176 * overallSize",
          "0.722352941176 * overallSize"
        ],
        [
          "0.729411764706 * overallSize",
          "0.727058823529 * overallSize"
        ],
        [
          "0.737647058824 * overallSize",
          "0.731764705882 * overallSize"
        ],
        [
          "0.754117647059 * overallSize",
          "0.738823529412 * overallSize"
        ],
        [
          "0.763529411765 * overallSize",
          "0.741176470588 * overallSize"
        ],
        [
          "0.772941176471 * overallSize",
          "0.742352941176 * overallSize"
        ],
        [
          "0.781176470588 * overallSize",
          "0.743529411765 * overallSize"
        ],
        [
          "0.790588235294 * overallSize",
          "0.743529411765 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.742352941176 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.8 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.948235294118 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.948235294118 * overallSize",
          "0.581176470588 * overallSize"
        ],
        [
          "0.947058823529 * overallSize",
          "0.571764705882 * overallSize"
        ],
        [
          "0.944705882353 * overallSize",
          "0.562352941176 * overallSize"
        ],
        [
          "0.941176470588 * overallSize",
          "0.552941176471 * overallSize"
        ],
        [
          "0.937647058824 * overallSize",
          "0.544705882353 * overallSize"
        ],
        [
          "0.934117647059 * overallSize",
          "0.535294117647 * overallSize"
        ],
        [
          "0.929411764706 * overallSize",
          "0.527058823529 * overallSize"
        ],
        [
          "0.923529411765 * overallSize",
          "0.52 * overallSize"
        ],
        [
          "0.914117647059 * overallSize",
          "0.508235294118 * overallSize"
        ],
        [
          "0.907058823529 * overallSize",
          "0.496470588235 * overallSize"
        ],
        [
          "0.902352941176 * overallSize",
          "0.482352941176 * overallSize"
        ],
        [
          "0.898823529412 * overallSize",
          "0.468235294118 * overallSize"
        ],
        [
          "0.897647058824 * overallSize",
          "0.454117647059 * overallSize"
        ],
        [
          "0.898823529412 * overallSize",
          "0.44 * overallSize"
        ],
        [
          "0.902352941176 * overallSize",
          "0.425882352941 * overallSize"
        ],
        [
          "0.907058823529 * overallSize",
          "0.412941176471 * overallSize"
        ],
        [
          "0.915294117647 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "overallSize",
          "0.4 * overallSize"
        ],
        [
          "overallSize",
          "0.6 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.4 * overallSize",
          "0.454117647059 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.454117647059 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.8 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.854117647059 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.854117647059 * overallSize",
          "0.6 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.4 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.108235294118 * overallSize"
        ],
        [
          "0.414117647059 * overallSize",
          "0.101176470588 * overallSize"
        ],
        [
          "0.428235294118 * overallSize",
          "0.096470588235 * overallSize"
        ],
        [
          "0.443529411765 * overallSize",
          "0.092941176471 * overallSize"
        ],
        [
          "0.458823529412 * overallSize",
          "0.092941176471 * overallSize"
        ],
        [
          "0.474117647059 * overallSize",
          "0.095294117647 * overallSize"
        ],
        [
          "0.488235294118 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.502352941176 * overallSize",
          "0.107058823529 * overallSize"
        ],
        [
          "0.514117647059 * overallSize",
          "0.116470588235 * overallSize"
        ],
        [
          "0.522352941176 * overallSize",
          "0.122352941176 * overallSize"
        ],
        [
          "0.529411764706 * overallSize",
          "0.127058823529 * overallSize"
        ],
        [
          "0.537647058824 * overallSize",
          "0.131764705882 * overallSize"
        ],
        [
          "0.554117647059 * overallSize",
          "0.138823529412 * overallSize"
        ],
        [
          "0.563529411765 * overallSize",
          "0.141176470588 * overallSize"
        ],
        [
          "0.572941176471 * overallSize",
          "0.142352941176 * overallSize"
        ],
        [
          "0.581176470588 * overallSize",
          "0.143529411765 * overallSize"
        ],
        [
          "0.590588235294 * overallSize",
          "0.143529411765 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.142352941176 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.749411764706 * overallSize",
          "overallSize"
        ],
        [
          "0.705882352941 * overallSize",
          "0.896470588235 * overallSize"
        ],
        [
          "0.701176470588 * overallSize",
          "0.887058823529 * overallSize"
        ],
        [
          "0.697647058824 * overallSize",
          "0.876470588235 * overallSize"
        ],
        [
          "0.695294117647 * overallSize",
          "0.865882352941 * overallSize"
        ],
        [
          "0.696470588235 * overallSize",
          "0.852941176471 * overallSize"
        ],
        [
          "0.698823529412 * overallSize",
          "0.84 * overallSize"
        ],
        [
          "0.702352941176 * overallSize",
          "0.828235294118 * overallSize"
        ],
        [
          "0.709411764706 * overallSize",
          "0.817647058824 * overallSize"
        ],
        [
          "0.717647058824 * overallSize",
          "0.808235294118 * overallSize"
        ],
        [
          "0.727058823529 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.8 * overallSize",
          "overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "overallSize",
          "0.8 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.2 * overallSize",
          "0.654117647059 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.654117647059 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.2 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.2 * overallSize",
              "0.8 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.152941176471 * overallSize",
              "0.8 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.002098855743123 * overallSize",
              "0.802098855743123 * overallSize"
            ],
            "from": [
              "0.152941176471 * overallSize",
              "0.8 * overallSize"
            ],
            "to": [
              "0",
              "0.952941176471 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.8 * overallSize"
        ],
        [
          "0",
          "0.6 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.8 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.847058823529 * overallSize",
        "0.8 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "0.8 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.665882352941 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.965027949521044 * overallSize",
              "0.780264070403255 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.665882352941 * overallSize"
            ],
            "to": [
              "0.847058823529 * overallSize",
              "0.8 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.4 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.4 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.2 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.145882352941 * overallSize",
          "0"
        ],
        [
          "0.145882352941 * overallSize",
          "0.2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.854117647059 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.854117647059 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.915294117647 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.907058823529 * overallSize",
          "0.412941176471 * overallSize"
        ],
        [
          "0.902352941176 * overallSize",
          "0.425882352941 * overallSize"
        ],
        [
          "0.898823529412 * overallSize",
          "0.44 * overallSize"
        ],
        [
          "0.897647058824 * overallSize",
          "0.454117647059 * overallSize"
        ],
        [
          "0.898823529412 * overallSize",
          "0.468235294118 * overallSize"
        ],
        [
          "0.902352941176 * overallSize",
          "0.482352941176 * overallSize"
        ],
        [
          "0.907058823529 * overallSize",
          "0.496470588235 * overallSize"
        ],
        [
          "0.914117647059 * overallSize",
          "0.508235294118 * overallSize"
        ],
        [
          "0.923529411765 * overallSize",
          "0.52 * overallSize"
        ],
        [
          "0.929411764706 * overallSize",
          "0.527058823529 * overallSize"
        ],
        [
          "0.934117647059 * overallSize",
          "0.535294117647 * overallSize"
        ],
        [
          "0.937647058824 * overallSize",
          "0.544705882353 * overallSize"
        ],
        [
          "0.941176470588 * overallSize",
          "0.552941176471 * overallSize"
        ],
        [
          "0.944705882353 * overallSize",
          "0.562352941176 * overallSize"
        ],
        [
          "0.947058823529 * overallSize",
          "0.571764705882 * overallSize"
        ],
        [
          "0.948235294118 * overallSize",
          "0.581176470588 * overallSize"
        ],
        [
          "0.948235294118 * overallSize",
          "0.6 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.4 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.454117647059 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.454117647059 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.6 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.2 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0"
        ],
        [
          "0.4 * overallSize",
          "0"
        ],
        [
          "0.4 * overallSize",
          "0.2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0"
        ],
        [
          "0.8 * overallSize",
          "0"
        ],
        [
          "0.8 * overallSize",
          "0.2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.4 * overallSize"
        ],
        [
          "0",
          "0.2 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.4 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.2 * overallSize",
        "0.4 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.324705882353 * overallSize",
              "0.4 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.229320541322228 * overallSize",
              "0.356114005039381 * overallSize"
            ],
            "from": [
              "0.324705882353 * overallSize",
              "0.4 * overallSize"
            ],
            "to": [
              "0.2 * overallSize",
              "0.255294117647 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.2 * overallSize",
              "0.4 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.6 * overallSize",
        "0.4 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.8 * overallSize",
              "0.4 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.8 * overallSize",
              "0.362352941176 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.771665135744592 * overallSize",
              "0.256426274511322 * overallSize"
            ],
            "from": [
              "0.8 * overallSize",
              "0.362352941176 * overallSize"
            ],
            "to": [
              "0.677647058824 * overallSize",
              "0.2 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.6 * overallSize",
              "0.2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.6 * overallSize",
              "0.4 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.8 * overallSize",
        "0.4 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.854117647059 * overallSize",
              "0.4 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.915294117647 * overallSize",
              "0.4 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.4 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.357647058824 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.969765945842212 * overallSize",
              "0.253416051620867 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.357647058824 * overallSize"
            ],
            "to": [
              "0.875294117647 * overallSize",
              "0.2 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.8 * overallSize",
              "0.2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.8 * overallSize",
              "0.362352941176 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.8 * overallSize",
              "0.4 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.6 * overallSize"
        ],
        [
          "0",
          "0.4 * overallSize"
        ],
        [
          "0.054117647059 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.054117647059 * overallSize",
          "0.6 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.148235294118 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.148235294118 * overallSize",
          "0.581176470588 * overallSize"
        ],
        [
          "0.147058823529 * overallSize",
          "0.571764705882 * overallSize"
        ],
        [
          "0.144705882353 * overallSize",
          "0.562352941176 * overallSize"
        ],
        [
          "0.141176470588 * overallSize",
          "0.552941176471 * overallSize"
        ],
        [
          "0.137647058824 * overallSize",
          "0.544705882353 * overallSize"
        ],
        [
          "0.134117647059 * overallSize",
          "0.535294117647 * overallSize"
        ],
        [
          "0.129411764706 * overallSize",
          "0.527058823529 * overallSize"
        ],
        [
          "0.123529411765 * overallSize",
          "0.52 * overallSize"
        ],
        [
          "0.114117647059 * overallSize",
          "0.508235294118 * overallSize"
        ],
        [
          "0.107058823529 * overallSize",
          "0.496470588235 * overallSize"
        ],
        [
          "0.102352941176 * overallSize",
          "0.482352941176 * overallSize"
        ],
        [
          "0.098823529412 * overallSize",
          "0.468235294118 * overallSize"
        ],
        [
          "0.097647058824 * overallSize",
          "0.454117647059 * overallSize"
        ],
        [
          "0.098823529412 * overallSize",
          "0.44 * overallSize"
        ],
        [
          "0.102352941176 * overallSize",
          "0.425882352941 * overallSize"
        ],
        [
          "0.107058823529 * overallSize",
          "0.412941176471 * overallSize"
        ],
        [
          "0.115294117647 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.6 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.2 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.6 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.4 * overallSize",
          "0.8 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.8 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.8 * overallSize",
          "0.054117647059 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.054117647059 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.4 * overallSize",
          "0.108235294118 * overallSize"
        ],
        [
          "0.4 * overallSize",
          "0"
        ],
        [
          "0.6 * overallSize",
          "0"
        ],
        [
          "0.6 * overallSize",
          "0.142352941176 * overallSize"
        ],
        [
          "0.590588235294 * overallSize",
          "0.143529411765 * overallSize"
        ],
        [
          "0.581176470588 * overallSize",
          "0.143529411765 * overallSize"
        ],
        [
          "0.572941176471 * overallSize",
          "0.142352941176 * overallSize"
        ],
        [
          "0.563529411765 * overallSize",
          "0.141176470588 * overallSize"
        ],
        [
          "0.554117647059 * overallSize",
          "0.138823529412 * overallSize"
        ],
        [
          "0.537647058824 * overallSize",
          "0.131764705882 * overallSize"
        ],
        [
          "0.529411764706 * overallSize",
          "0.127058823529 * overallSize"
        ],
        [
          "0.522352941176 * overallSize",
          "0.122352941176 * overallSize"
        ],
        [
          "0.514117647059 * overallSize",
          "0.116470588235 * overallSize"
        ],
        [
          "0.502352941176 * overallSize",
          "0.107058823529 * overallSize"
        ],
        [
          "0.488235294118 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.474117647059 * overallSize",
          "0.095294117647 * overallSize"
        ],
        [
          "0.458823529412 * overallSize",
          "0.092941176471 * overallSize"
        ],
        [
          "0.443529411765 * overallSize",
          "0.092941176471 * overallSize"
        ],
        [
          "0.428235294118 * overallSize",
          "0.096470588235 * overallSize"
        ],
        [
          "0.412941176471 * overallSize",
          "0.101176470588 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.8 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.054117647059 * overallSize"
        ],
        [
          "overallSize",
          "0.054117647059 * overallSize"
        ],
        [
          "overallSize",
          "0.2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.8 * overallSize",
          "0.6 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"cushion-tile":{
  "schema": 1,
  "id": "cushion-tile",
  "name": "Cushion tile",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 300,
      "min": 60,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "2.136363636364 * overallSize",
        "1.863636363636 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "2.955518649593351 * overallSize",
              "1.363636363636364 * overallSize"
            ],
            "from": [
              "2.136363636364 * overallSize",
              "1.863636363636 * overallSize"
            ],
            "to": [
              "2.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "1.636363636363636 * overallSize",
              "1.673574774858689 * overallSize"
            ],
            "from": [
              "2.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "to": [
              "1.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0.326598997465475 * overallSize",
              "1.363636363636364 * overallSize"
            ],
            "from": [
              "1.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "to": [
              "1.136363636364 * overallSize",
              "1.863636363636 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "1.636363636363636 * overallSize",
              "1.044225225141311 * overallSize"
            ],
            "from": [
              "1.136363636364 * overallSize",
              "1.863636363636 * overallSize"
            ],
            "to": [
              "2.136363636364 * overallSize",
              "1.863636363636 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.136363636364 * overallSize",
        "1.863636363636 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.636363636363636 * overallSize",
              "2.673401002534524 * overallSize"
            ],
            "from": [
              "0.136363636364 * overallSize",
              "1.863636363636 * overallSize"
            ],
            "to": [
              "1.136363636364 * overallSize",
              "1.863636363636 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "0.32642522514131 * overallSize",
              "1.363636363636364 * overallSize"
            ],
            "from": [
              "1.136363636364 * overallSize",
              "1.863636363636 * overallSize"
            ],
            "to": [
              "1.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0.636363636363636 * overallSize",
              "0.044481350406651 * overallSize"
            ],
            "from": [
              "1.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "to": [
              "0.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "0.95577477485869 * overallSize",
              "1.363636363636364 * overallSize"
            ],
            "from": [
              "0.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "to": [
              "0.136363636364 * overallSize",
              "1.863636363636 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "1.136363636364 * overallSize",
        "0.863636363636 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.636363636363636 * overallSize",
              "1.673401002534524 * overallSize"
            ],
            "from": [
              "1.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "to": [
              "2.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "1.326425225141306 * overallSize",
              "0.363636363636364 * overallSize"
            ],
            "from": [
              "2.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "to": [
              "2.136363636364 * overallSize",
              "-0.136363636364 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "1.636363636363636 * overallSize",
              "-0.955518649593349 * overallSize"
            ],
            "from": [
              "2.136363636364 * overallSize",
              "-0.136363636364 * overallSize"
            ],
            "to": [
              "1.136363636364 * overallSize",
              "-0.136363636364 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "1.955774774858689 * overallSize",
              "0.363636363636364 * overallSize"
            ],
            "from": [
              "1.136363636364 * overallSize",
              "-0.136363636364 * overallSize"
            ],
            "to": [
              "1.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "1.136363636364 * overallSize",
        "0.863636363636 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.955518649593349 * overallSize",
              "0.363636363636364 * overallSize"
            ],
            "from": [
              "1.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "to": [
              "1.136363636364 * overallSize",
              "-0.136363636364 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "0.636363636363636 * overallSize",
              "0.67357477485869 * overallSize"
            ],
            "from": [
              "1.136363636364 * overallSize",
              "-0.136363636364 * overallSize"
            ],
            "to": [
              "0.136363636364 * overallSize",
              "-0.136363636364 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "-0.673401002534525 * overallSize",
              "0.363636363636364 * overallSize"
            ],
            "from": [
              "0.136363636364 * overallSize",
              "-0.136363636364 * overallSize"
            ],
            "to": [
              "0.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "0.636363636363636 * overallSize",
              "0.044225225141311 * overallSize"
            ],
            "from": [
              "0.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "to": [
              "1.136363636364 * overallSize",
              "0.863636363636 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * overallSize",
      "0"
    ],
    "b": [
      "0",
      "2 * overallSize"
    ]
  }
}
,"cusped-medallion-tile":{
  "schema": 1,
  "id": "cusped-medallion-tile",
  "name": "Cusped medallion tile",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "0.60625 * overallSize",
        "0.29375 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.656249553571428 * overallSize",
              "0.343750446428572 * overallSize"
            ],
            "from": [
              "0.60625 * overallSize",
              "0.29375 * overallSize"
            ],
            "to": [
              "0.70625 * overallSize",
              "0.39375 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.4375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.9375 * overallSize",
              "0.4375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5625 * overallSize",
              "0.0625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5625 * overallSize",
              "0.25 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.60625 * overallSize",
              "0.29375 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.79375 * overallSize",
        "0.10625 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.0625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5625 * overallSize",
              "0.0625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.9375 * overallSize",
              "0.4375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.9375 * overallSize",
              "0.25 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.89375 * overallSize",
              "0.20625 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.843735714222394 * overallSize",
              "0.156264285777605 * overallSize"
            ],
            "from": [
              "0.89375 * overallSize",
              "0.20625 * overallSize"
            ],
            "to": [
              "0.79375 * overallSize",
              "0.10625 * overallSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5625 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.59375 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.1875 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.4375 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.59375 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.6875 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.4375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.70625 * overallSize",
              "0.39375 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.656253124992085 * overallSize",
              "0.343746875007915 * overallSize"
            ],
            "from": [
              "0.70625 * overallSize",
              "0.39375 * overallSize"
            ],
            "to": [
              "0.60625 * overallSize",
              "0.29375 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.5625 * overallSize",
              "0.25 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.3125 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.40625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.59375 * overallSize",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.0625 * overallSize",
        "0.4375 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.4375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.29375 * overallSize",
              "0.39375 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.343751339293629 * overallSize",
              "0.343751339293629 * overallSize"
            ],
            "from": [
              "0.29375 * overallSize",
              "0.39375 * overallSize"
            ],
            "to": [
              "0.39375 * overallSize",
              "0.29375 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.4375 * overallSize",
              "0.25 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.4375 * overallSize",
              "0.0625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.0625 * overallSize",
              "0.4375 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.1875 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.4375 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.3125 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.0625 * overallSize",
        "0.25 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.10625 * overallSize",
              "0.20625 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.156249553563513 * overallSize",
              "0.156249553563513 * overallSize"
            ],
            "from": [
              "0.10625 * overallSize",
              "0.20625 * overallSize"
            ],
            "to": [
              "0.20625 * overallSize",
              "0.10625 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.0625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.1875 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.09375 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.09375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.1875 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.0625 * overallSize",
              "0.25 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.09375 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.09375 * overallSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.3125 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.40625 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.3125 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.5625 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.40625 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.39375 * overallSize",
        "0.70625 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.4375 * overallSize",
              "0.75 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.6875 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.59375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.40625 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.3125 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.5625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.29375 * overallSize",
              "0.60625 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.343741964285714 * overallSize",
              "0.656258035714286 * overallSize"
            ],
            "from": [
              "0.29375 * overallSize",
              "0.60625 * overallSize"
            ],
            "to": [
              "0.39375 * overallSize",
              "0.70625 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.1875 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.4375 * overallSize",
          "0.0625 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "overallSize"
        ],
        [
          "0",
          "0.90625 * overallSize"
        ],
        [
          "0.09375 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "start": [
        "0",
        "0.90625 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.09375 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.1875 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.9375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.20625 * overallSize",
              "0.89375 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.156253571428571 * overallSize",
              "0.843746428571429 * overallSize"
            ],
            "from": [
              "0.20625 * overallSize",
              "0.89375 * overallSize"
            ],
            "to": [
              "0.10625 * overallSize",
              "0.79375 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.0625 * overallSize",
              "0.75 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.8125 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.90625 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.0625 * overallSize",
        "0.4375 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.4375 * overallSize",
              "0.0625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.0625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.20625 * overallSize",
              "0.10625 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.156250446420656 * overallSize",
              "0.156250446420656 * overallSize"
            ],
            "from": [
              "0.20625 * overallSize",
              "0.10625 * overallSize"
            ],
            "to": [
              "0.10625 * overallSize",
              "0.20625 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.0625 * overallSize",
              "0.25 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.0625 * overallSize",
              "0.4375 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.8125 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.29375 * overallSize",
        "0.60625 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.5625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.0625 * overallSize",
              "0.5625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.4375 * overallSize",
              "0.9375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.4375 * overallSize",
              "0.75 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.39375 * overallSize",
              "0.70625 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.343735714222395 * overallSize",
              "0.656264285777606 * overallSize"
            ],
            "from": [
              "0.39375 * overallSize",
              "0.70625 * overallSize"
            ],
            "to": [
              "0.29375 * overallSize",
              "0.60625 * overallSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "0.3125 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.40625 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.40625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.3125 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.4375 * overallSize",
              "0.25 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.39375 * overallSize",
              "0.29375 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.343746428571429 * overallSize",
              "0.343746428571429 * overallSize"
            ],
            "from": [
              "0.39375 * overallSize",
              "0.29375 * overallSize"
            ],
            "to": [
              "0.29375 * overallSize",
              "0.39375 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.4375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.3125 * overallSize",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.6875 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.10625 * overallSize",
        "0.79375 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.156249553571429 * overallSize",
              "0.843750446428571 * overallSize"
            ],
            "from": [
              "0.10625 * overallSize",
              "0.79375 * overallSize"
            ],
            "to": [
              "0.20625 * overallSize",
              "0.89375 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.9375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.4375 * overallSize",
              "0.9375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.0625 * overallSize",
              "0.5625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.0625 * overallSize",
              "0.75 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.10625 * overallSize",
              "0.79375 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.1875 * overallSize",
          "overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.6875 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.5625 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.75 * overallSize",
        "0.9375 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.8125 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.90625 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.90625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.8125 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.9375 * overallSize",
              "0.75 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.89375 * overallSize",
              "0.79375 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.843748660722201 * overallSize",
              "0.843748660722201 * overallSize"
            ],
            "from": [
              "0.89375 * overallSize",
              "0.79375 * overallSize"
            ],
            "to": [
              "0.79375 * overallSize",
              "0.89375 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.9375 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.59375 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.5625 * overallSize",
        "0.9375 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.9375 * overallSize",
              "0.5625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.5625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.70625 * overallSize",
              "0.60625 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.656250446420656 * overallSize",
              "0.656250446420656 * overallSize"
            ],
            "from": [
              "0.70625 * overallSize",
              "0.60625 * overallSize"
            ],
            "to": [
              "0.60625 * overallSize",
              "0.70625 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.5625 * overallSize",
              "0.75 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5625 * overallSize",
              "0.9375 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.90625 * overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "0.90625 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.5625 * overallSize",
        "0.9375 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.9375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.79375 * overallSize",
              "0.89375 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.84375133929363 * overallSize",
              "0.84375133929363 * overallSize"
            ],
            "from": [
              "0.79375 * overallSize",
              "0.89375 * overallSize"
            ],
            "to": [
              "0.89375 * overallSize",
              "0.79375 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.9375 * overallSize",
              "0.75 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.9375 * overallSize",
              "0.5625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5625 * overallSize",
              "0.9375 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.90625 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.09375 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6875 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.9375 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.8125 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5625 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.8125 * overallSize",
          "0"
        ],
        [
          "0.75 * overallSize",
          "0.0625 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.5625 * overallSize",
        "0.75 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.60625 * overallSize",
              "0.70625 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.656249553563513 * overallSize",
              "0.656249553563513 * overallSize"
            ],
            "from": [
              "0.60625 * overallSize",
              "0.70625 * overallSize"
            ],
            "to": [
              "0.70625 * overallSize",
              "0.60625 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.5625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.6875 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.59375 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.59375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.6875 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5625 * overallSize",
              "0.75 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.9375 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.8125 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.89375 * overallSize",
        "0.20625 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.9375 * overallSize",
              "0.25 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.1875 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.09375 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.90625 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.8125 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.0625 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.79375 * overallSize",
              "0.10625 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.843741964285714 * overallSize",
              "0.156258035714286 * overallSize"
            ],
            "from": [
              "0.79375 * overallSize",
              "0.10625 * overallSize"
            ],
            "to": [
              "0.89375 * overallSize",
              "0.20625 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"cyclone-versailles":{
  "schema": 1,
  "id": "cyclone-versailles",
  "name": "Cyclone Versailles",
  "category": "wood",
  "parameters": {
    "moduleSize": {
      "value": 80,
      "min": 10,
      "max": 400,
      "label": "Smallest tile side"
    }
  },
  "tiles": [
    {
      "rect": [
        "6 * moduleSize",
        "3 * moduleSize",
        "7 * moduleSize",
        "6 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "7 * moduleSize",
        "8 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "4 * moduleSize",
        "4 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "4 * moduleSize",
        "6 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "6 * moduleSize",
        "7 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "3 * moduleSize",
        "6 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "3 * moduleSize",
        "3 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "2 * moduleSize",
        "7 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "8 * moduleSize",
        "9 * moduleSize",
        "9 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "2 * moduleSize",
        "8 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "moduleSize",
        "8 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "moduleSize",
        "moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "9 * moduleSize",
        "10 * moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "0",
        "9 * moduleSize",
        "moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "0",
        "10 * moduleSize",
        "9 * moduleSize"
      ]
    },
    {
      "rect": [
        "8 * moduleSize",
        "moduleSize",
        "9 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "2 * moduleSize",
        "2 * moduleSize",
        "9 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "5 * moduleSize",
        "6 * moduleSize",
        "6 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "10 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "10 * moduleSize"
    ]
  }
}
,"dearnes-bond":{
  "schema": 1,
  "id": "dearnes-bond",
  "name": "Dearne's bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Shiner length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Header course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "length / 2"] },
    { "rect": ["length / 4", "length / 2", "3 * length / 4", "length / 2 + width"] },
    { "rect": ["3 * length / 4", "length / 2", "5 * length / 4", "length / 2 + width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "length / 2 + width"] }
}
,"deltoidal-trihexagonal":{
  "schema": 1,
  "id": "deltoidal-trihexagonal",
  "name": "Kite (deltoidal trihexagonal)",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 60, "min": 10, "max": 500, "label": "Source edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge * (3 + rootThree) / 4", "edge * (-1 - rootThree) / 4"],
        ["edge * (3 + rootThree) / 4", "edge * (-1 - rootThree) / 4"],
        ["edge * (3 + rootThree) / 3", "0"],
        ["edge * (3 + rootThree) / 3", "0"],
        ["edge * (3 + rootThree) / 3", "0"],
        ["edge * (3 + rootThree) / 4", "edge * (1 + rootThree) / 4"],
        ["edge * (3 + rootThree) / 4", "edge * (1 + rootThree) / 4"],
        ["0", "0"]
      ]
    },
    {
      "polygon": [
        ["0", "0"],
        ["edge * (3 + rootThree) / 4", "edge * (1 + rootThree) / 4"],
        ["edge * (3 + rootThree) / 4", "edge * (1 + rootThree) / 4"],
        ["edge * (3 + rootThree) / 6", "edge * (1 + rootThree) / 2"],
        ["edge * (3 + rootThree) / 6", "edge * (1 + rootThree) / 2"],
        ["edge * (3 + rootThree) / 6", "edge * (1 + rootThree) / 2"],
        ["0", "edge * (1 + rootThree) / 2"],
        ["0", "edge * (1 + rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-3 - rootThree) / 4", "edge * (1 + rootThree) / 4"],
        ["edge * (-3 - rootThree) / 4", "edge * (1 + rootThree) / 4"],
        ["0", "0"],
        ["0", "edge * (1 + rootThree) / 2"],
        ["0", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 6", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 6", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 6", "edge * (1 + rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-3 - rootThree) / 3", "0"],
        ["edge * (-3 - rootThree) / 3", "0"],
        ["edge * (-3 - rootThree) / 4", "edge * (-1 - rootThree) / 4"],
        ["edge * (-3 - rootThree) / 4", "edge * (-1 - rootThree) / 4"],
        ["0", "0"],
        ["edge * (-3 - rootThree) / 4", "edge * (1 + rootThree) / 4"],
        ["edge * (-3 - rootThree) / 4", "edge * (1 + rootThree) / 4"],
        ["edge * (-3 - rootThree) / 3", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (-3 - rootThree) / 6", "edge * (-1 - rootThree) / 2"],
        ["edge * (-3 - rootThree) / 6", "edge * (-1 - rootThree) / 2"],
        ["edge * (-3 - rootThree) / 6", "edge * (-1 - rootThree) / 2"],
        ["0", "edge * (-1 - rootThree) / 2"],
        ["0", "edge * (-1 - rootThree) / 2"],
        ["0", "0"],
        ["edge * (-3 - rootThree) / 4", "edge * (-1 - rootThree) / 4"],
        ["edge * (-3 - rootThree) / 4", "edge * (-1 - rootThree) / 4"]
      ]
    },
    {
      "polygon": [
        ["0", "edge * (-1 - rootThree) / 2"],
        ["0", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 6", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 6", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 6", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 4", "edge * (-1 - rootThree) / 4"],
        ["edge * (3 + rootThree) / 4", "edge * (-1 - rootThree) / 4"],
        ["0", "0"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (3 + rootThree) / 2", "edge * (1 + rootThree) / 2"], "b": ["0", "edge * (1 + rootThree)"] }
}
,"diagonal-cross":{
  "schema": 1,
  "id": "diagonal-cross",
  "name": "Diagonal cross",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 600,
      "min": 120,
      "max": 3000,
      "label": "Tile side"
    },
    "unit": {
      "expr": "edge / 6"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "unit",
          "0"
        ],
        [
          "2 * unit",
          "unit"
        ],
        [
          "2 * unit",
          "2 * unit"
        ],
        [
          "unit",
          "2 * unit"
        ],
        [
          "0",
          "unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "unit",
          "0"
        ],
        [
          "2 * unit",
          "0"
        ],
        [
          "2 * unit",
          "unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * unit",
          "0"
        ],
        [
          "4 * unit",
          "0"
        ],
        [
          "4 * unit",
          "unit"
        ],
        [
          "3 * unit",
          "2 * unit"
        ],
        [
          "2 * unit",
          "unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * unit",
          "0"
        ],
        [
          "5 * unit",
          "0"
        ],
        [
          "4 * unit",
          "unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * unit",
          "0"
        ],
        [
          "6 * unit",
          "0"
        ],
        [
          "6 * unit",
          "unit"
        ],
        [
          "5 * unit",
          "2 * unit"
        ],
        [
          "4 * unit",
          "2 * unit"
        ],
        [
          "4 * unit",
          "unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "unit"
        ],
        [
          "unit",
          "2 * unit"
        ],
        [
          "0",
          "2 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "unit"
        ],
        [
          "0",
          "2 * unit"
        ],
        [
          "-unit",
          "2 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * unit",
          "unit"
        ],
        [
          "3 * unit",
          "2 * unit"
        ],
        [
          "2 * unit",
          "2 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * unit",
          "unit"
        ],
        [
          "4 * unit",
          "2 * unit"
        ],
        [
          "3 * unit",
          "2 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * unit"
        ],
        [
          "unit",
          "2 * unit"
        ],
        [
          "2 * unit",
          "3 * unit"
        ],
        [
          "unit",
          "4 * unit"
        ],
        [
          "0",
          "4 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "unit",
          "2 * unit"
        ],
        [
          "2 * unit",
          "2 * unit"
        ],
        [
          "2 * unit",
          "3 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * unit",
          "2 * unit"
        ],
        [
          "4 * unit",
          "2 * unit"
        ],
        [
          "4 * unit",
          "4 * unit"
        ],
        [
          "2 * unit",
          "4 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * unit",
          "2 * unit"
        ],
        [
          "5 * unit",
          "2 * unit"
        ],
        [
          "4 * unit",
          "3 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * unit",
          "2 * unit"
        ],
        [
          "6 * unit",
          "2 * unit"
        ],
        [
          "6 * unit",
          "4 * unit"
        ],
        [
          "5 * unit",
          "4 * unit"
        ],
        [
          "4 * unit",
          "3 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * unit",
          "3 * unit"
        ],
        [
          "2 * unit",
          "4 * unit"
        ],
        [
          "unit",
          "4 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * unit",
          "3 * unit"
        ],
        [
          "5 * unit",
          "4 * unit"
        ],
        [
          "4 * unit",
          "4 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "4 * unit"
        ],
        [
          "unit",
          "4 * unit"
        ],
        [
          "0",
          "5 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "unit",
          "4 * unit"
        ],
        [
          "2 * unit",
          "4 * unit"
        ],
        [
          "2 * unit",
          "5 * unit"
        ],
        [
          "unit",
          "6 * unit"
        ],
        [
          "0",
          "6 * unit"
        ],
        [
          "0",
          "5 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * unit",
          "4 * unit"
        ],
        [
          "3 * unit",
          "4 * unit"
        ],
        [
          "2 * unit",
          "5 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * unit",
          "4 * unit"
        ],
        [
          "4 * unit",
          "4 * unit"
        ],
        [
          "4 * unit",
          "5 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * unit",
          "4 * unit"
        ],
        [
          "4 * unit",
          "5 * unit"
        ],
        [
          "4 * unit",
          "6 * unit"
        ],
        [
          "2 * unit",
          "6 * unit"
        ],
        [
          "2 * unit",
          "5 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * unit",
          "4 * unit"
        ],
        [
          "5 * unit",
          "4 * unit"
        ],
        [
          "6 * unit",
          "5 * unit"
        ],
        [
          "6 * unit",
          "6 * unit"
        ],
        [
          "5 * unit",
          "6 * unit"
        ],
        [
          "4 * unit",
          "5 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * unit",
          "4 * unit"
        ],
        [
          "6 * unit",
          "4 * unit"
        ],
        [
          "6 * unit",
          "5 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * unit",
          "5 * unit"
        ],
        [
          "2 * unit",
          "6 * unit"
        ],
        [
          "unit",
          "6 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * unit",
          "5 * unit"
        ],
        [
          "5 * unit",
          "6 * unit"
        ],
        [
          "4 * unit",
          "6 * unit"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "edge"
    ]
  }
}
,"diagonal-quarter-grid":{
  "schema": 1,
  "id": "diagonal-quarter-grid",
  "name": "Diagonal quarter grid",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 100,
      "min": 20,
      "max": 400,
      "label": "Module size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "0",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "0",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "0",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "8 * moduleSize"
    ]
  }
}
,"diagonal-split-bands":{
  "schema": 1,
  "id": "diagonal-split-bands",
  "name": "Diagonal split bands",
  "category": "stone",
  "parameters": {
    "length": { "value": 100, "min": 20, "max": 1000, "label": "Split tile length" },
    "width": { "value": 120, "min": 20, "max": 1000, "label": "Course height" },
    "run": { "expr": "3" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "run" }, "polygon": [["k * length", "0"], ["(k + 1) * length", "0"], ["k * length", "width"]] },
    { "repeat": { "index": "k", "count": "run" }, "polygon": [["(k + 1) * length", "0"], ["(k + 1) * length", "width"], ["k * length", "width"]] },
    { "rect": ["run * length", "0", "2 * run * length", "width"] },
    { "rect": ["0", "width", "run * length", "2 * width"] },
    { "repeat": { "index": "k", "count": "run" }, "polygon": [["(run + k) * length", "width"], ["(run + k + 1) * length", "width"], ["(run + k + 1) * length", "2 * width"]] },
    { "repeat": { "index": "k", "count": "run" }, "polygon": [["(run + k) * length", "width"], ["(run + k + 1) * length", "2 * width"], ["(run + k) * length", "2 * width"]] }
  ],
  "lattice": { "a": ["2 * run * length", "0"], "b": ["0", "2 * width"] }
}
,"diagonal-split-rectangle":{
  "schema": 1,
  "id": "diagonal-split-rectangle",
  "name": "Diagonal split rectangle",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 150,
      "min": 30,
      "max": 900,
      "label": "Tile width"
    },
    "length": {
      "expr": "2 * width"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "length",
        "width",
        "2 * length"
      ]
    },
    {
      "polygon": [
        [
          "2 * width",
          "3 * width"
        ],
        [
          "2 * width",
          "4 * width"
        ],
        [
          "width",
          "4 * width"
        ]
      ]
    },
    {
      "polygon": [
        [
          "width",
          "2 * width"
        ],
        [
          "2 * width",
          "2 * width"
        ],
        [
          "2 * width",
          "3 * width"
        ],
        [
          "width",
          "4 * width"
        ]
      ]
    },
    {
      "polygon": [
        [
          "width",
          "width"
        ],
        [
          "width",
          "2 * width"
        ],
        [
          "0",
          "2 * width"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "width",
          "0"
        ],
        [
          "width",
          "width"
        ],
        [
          "0",
          "2 * width"
        ]
      ]
    },
    {
      "rect": [
        "width",
        "0",
        "2 * width",
        "2 * width"
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * width",
      "0"
    ],
    "b": [
      "0",
      "4 * width"
    ]
  }
},"diamond-and-disc-check":{
 "schema": 1,
 "id": "diamond-and-disc-check",
 "name": "Diamond and disc check",
 "category": "stone",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 400.0,
   "min": 40.0,
   "max": 2400.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.311314 * overallSize",
     "0.021196 * overallSize"
    ],
    [
     "0.368442 * overallSize",
     "0.044858 * overallSize"
    ],
    [
     "0.417499 * overallSize",
     "0.082503 * overallSize"
    ],
    [
     "0.455144 * overallSize",
     "0.131560 * overallSize"
    ],
    [
     "0.478806 * overallSize",
     "0.188688 * overallSize"
    ],
    [
     "0.486877 * overallSize",
     "0.249995 * overallSize"
    ],
    [
     "0.478806 * overallSize",
     "0.311302 * overallSize"
    ],
    [
     "0.455144 * overallSize",
     "0.368430 * overallSize"
    ],
    [
     "0.417499 * overallSize",
     "0.417487 * overallSize"
    ],
    [
     "0.368442 * overallSize",
     "0.455129 * overallSize"
    ],
    [
     "0.311314 * overallSize",
     "0.478794 * overallSize"
    ],
    [
     "0.263125 * overallSize",
     "0.485137 * overallSize"
    ],
    [
     "0.263125 * overallSize",
     "0.014853 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.021189 * overallSize",
     "0.311329 * overallSize"
    ],
    [
     "0.013118 * overallSize",
     "0.250023 * overallSize"
    ],
    [
     "0.021189 * overallSize",
     "0.188716 * overallSize"
    ],
    [
     "0.044853 * overallSize",
     "0.131588 * overallSize"
    ],
    [
     "0.082496 * overallSize",
     "0.082531 * overallSize"
    ],
    [
     "0.131553 * overallSize",
     "0.044888 * overallSize"
    ],
    [
     "0.188681 * overallSize",
     "0.021224 * overallSize"
    ],
    [
     "0.236870 * overallSize",
     "0.014880 * overallSize"
    ],
    [
     "0.236870 * overallSize",
     "0.485155 * overallSize"
    ],
    [
     "0.188681 * overallSize",
     "0.478811 * overallSize"
    ],
    [
     "0.131553 * overallSize",
     "0.455147 * overallSize"
    ],
    [
     "0.082496 * overallSize",
     "0.417504 * overallSize"
    ],
    [
     "0.044853 * overallSize",
     "0.368457 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000600 * overallSize",
     "0.500615 * overallSize"
    ],
    [
     "0.236850 * overallSize",
     "0.500615 * overallSize"
    ],
    [
     "0.236850 * overallSize",
     "0.515552 * overallSize"
    ],
    [
     "0.013909 * overallSize",
     "0.765509 * overallSize"
    ],
    [
     "0.013750 * overallSize",
     "0.765915 * overallSize"
    ],
    [
     "0.013935 * overallSize",
     "0.766371 * overallSize"
    ],
    [
     "0.236875 * overallSize",
     "0.987760 * overallSize"
    ],
    [
     "0.236875 * overallSize",
     "0.999365 * overallSize"
    ],
    [
     "0.000625 * overallSize",
     "0.999365 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.261875 * overallSize",
     "0.500625 * overallSize"
    ],
    [
     "0.261875 * overallSize",
     "0.999375 * overallSize"
    ],
    [
     "0.238125 * overallSize",
     "0.999375 * overallSize"
    ],
    [
     "0.238125 * overallSize",
     "0.500625 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.263125 * overallSize",
     "0.500625 * overallSize"
    ],
    [
     "0.499375 * overallSize",
     "0.500625 * overallSize"
    ],
    [
     "0.499375 * overallSize",
     "0.999375 * overallSize"
    ],
    [
     "0.263125 * overallSize",
     "0.999375 * overallSize"
    ],
    [
     "0.263125 * overallSize",
     "0.986110 * overallSize"
    ],
    [
     "0.486065 * overallSize",
     "0.764721 * overallSize"
    ],
    [
     "0.486250 * overallSize",
     "0.764265 * overallSize"
    ],
    [
     "0.486091 * overallSize",
     "0.763861 * overallSize"
    ],
    [
     "0.263125 * overallSize",
     "0.513874 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.761875 * overallSize",
     "0.500625 * overallSize"
    ],
    [
     "0.761875 * overallSize",
     "0.999375 * overallSize"
    ],
    [
     "0.738125 * overallSize",
     "0.999375 * overallSize"
    ],
    [
     "0.738125 * overallSize",
     "0.500625 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.763125 * overallSize",
     "0.986408 * overallSize"
    ],
    [
     "0.811665 * overallSize",
     "0.980009 * overallSize"
    ],
    [
     "0.868997 * overallSize",
     "0.956265 * overallSize"
    ],
    [
     "0.918406 * overallSize",
     "0.918365 * overallSize"
    ],
    [
     "0.956217 * overallSize",
     "0.869091 * overallSize"
    ],
    [
     "0.979992 * overallSize",
     "0.811714 * overallSize"
    ],
    [
     "0.988132 * overallSize",
     "0.749978 * overallSize"
    ],
    [
     "0.980025 * overallSize",
     "0.688400 * overallSize"
    ],
    [
     "0.956267 * overallSize",
     "0.631016 * overallSize"
    ],
    [
     "0.918406 * overallSize",
     "0.581645 * overallSize"
    ],
    [
     "0.868997 * overallSize",
     "0.543748 * overallSize"
    ],
    [
     "0.811665 * overallSize",
     "0.520001 * overallSize"
    ],
    [
     "0.763125 * overallSize",
     "0.513602 * overallSize"
    ],
    [
     "0.763125 * overallSize",
     "0.500625 * overallSize"
    ],
    [
     "0.999375 * overallSize",
     "0.500625 * overallSize"
    ],
    [
     "0.999375 * overallSize",
     "0.999375 * overallSize"
    ],
    [
     "0.763125 * overallSize",
     "0.999375 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.263150 * overallSize",
     "0.515780 * overallSize"
    ],
    [
     "0.484764 * overallSize",
     "0.764251 * overallSize"
    ],
    [
     "0.263125 * overallSize",
     "0.984348 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.236875 * overallSize",
     "0.517437 * overallSize"
    ],
    [
     "0.236875 * overallSize",
     "0.985996 * overallSize"
    ],
    [
     "0.015236 * overallSize",
     "0.765899 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000625 * overallSize",
     "1.000615 * overallSize"
    ],
    [
     "0.236875 * overallSize",
     "1.000615 * overallSize"
    ],
    [
     "0.236875 * overallSize",
     "1.013592 * overallSize"
    ],
    [
     "0.188335 * overallSize",
     "1.019991 * overallSize"
    ],
    [
     "0.131003 * overallSize",
     "1.043735 * overallSize"
    ],
    [
     "0.081594 * overallSize",
     "1.081635 * overallSize"
    ],
    [
     "0.043783 * overallSize",
     "1.130909 * overallSize"
    ],
    [
     "0.020008 * overallSize",
     "1.188286 * overallSize"
    ],
    [
     "0.011868 * overallSize",
     "1.250022 * overallSize"
    ],
    [
     "0.019975 * overallSize",
     "1.311600 * overallSize"
    ],
    [
     "0.043733 * overallSize",
     "1.368984 * overallSize"
    ],
    [
     "0.081594 * overallSize",
     "1.418355 * overallSize"
    ],
    [
     "0.131003 * overallSize",
     "1.456252 * overallSize"
    ],
    [
     "0.188335 * overallSize",
     "1.479999 * overallSize"
    ],
    [
     "0.236875 * overallSize",
     "1.486398 * overallSize"
    ],
    [
     "0.236875 * overallSize",
     "1.499375 * overallSize"
    ],
    [
     "0.000625 * overallSize",
     "1.499375 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "400 / 400 * overallSize",
   "0"
  ],
  "b": [
   "200 / 400 * overallSize",
   "200 / 400 * overallSize"
  ]
 }
},"diamond-and-slab-weave":{
  "schema": 1,
  "id": "diamond-and-slab-weave",
  "name": "Diamond and slab weave",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 100,
      "min": 30,
      "max": 400,
      "label": "Module"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "-moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "6 * moduleSize",
      "0"
    ],
    "b": [
      "3 * moduleSize",
      "3 * moduleSize"
    ]
  }
}
,"diamond-continuous-versailles":{
  "schema": 1,
  "id": "diamond-continuous-versailles",
  "name": "Diamond continuous Versailles",
  "category": "wood",
  "parameters": {
    "cellSize": {
      "value": 600,
      "min": 200,
      "max": 2000,
      "label": "Panel side"
    },
    "inset": {
      "expr": "cellSize / 2 - cellSize * sqrt(2) / 4"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "inset",
          "inset"
        ],
        [
          "cellSize / 2 - inset",
          "inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize / 2 - inset",
          "inset"
        ],
        [
          "cellSize / 2",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize / 2",
          "0"
        ],
        [
          "cellSize / 2 + inset",
          "inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize / 2 + inset",
          "inset"
        ],
        [
          "cellSize - inset",
          "inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize - inset",
          "inset"
        ],
        [
          "cellSize - inset",
          "cellSize / 2 - inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize - inset",
          "cellSize / 2 - inset"
        ],
        [
          "cellSize",
          "cellSize / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize",
          "cellSize / 2"
        ],
        [
          "cellSize - inset",
          "cellSize / 2 + inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize - inset",
          "cellSize / 2 + inset"
        ],
        [
          "cellSize - inset",
          "cellSize - inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize - inset",
          "cellSize - inset"
        ],
        [
          "cellSize / 2 + inset",
          "cellSize - inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize / 2 + inset",
          "cellSize - inset"
        ],
        [
          "cellSize / 2",
          "cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize / 2",
          "cellSize"
        ],
        [
          "cellSize / 2 - inset",
          "cellSize - inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "cellSize / 2 - inset",
          "cellSize - inset"
        ],
        [
          "inset",
          "cellSize - inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "inset",
          "cellSize - inset"
        ],
        [
          "inset",
          "cellSize / 2 + inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "inset",
          "cellSize / 2 + inset"
        ],
        [
          "0",
          "cellSize / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "0",
          "cellSize / 2"
        ],
        [
          "inset",
          "cellSize / 2 - inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "inset",
          "cellSize / 2 - inset"
        ],
        [
          "inset",
          "inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "cellSize / 2",
          "0"
        ],
        [
          "cellSize / 2 - inset",
          "inset"
        ],
        [
          "inset",
          "inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "0"
        ],
        [
          "cellSize",
          "0"
        ],
        [
          "cellSize - inset",
          "inset"
        ],
        [
          "cellSize / 2 + inset",
          "inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize",
          "0"
        ],
        [
          "cellSize",
          "cellSize / 2"
        ],
        [
          "cellSize - inset",
          "cellSize / 2 - inset"
        ],
        [
          "cellSize - inset",
          "inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize",
          "cellSize / 2"
        ],
        [
          "cellSize",
          "cellSize"
        ],
        [
          "cellSize - inset",
          "cellSize - inset"
        ],
        [
          "cellSize - inset",
          "cellSize / 2 + inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize",
          "cellSize"
        ],
        [
          "cellSize / 2",
          "cellSize"
        ],
        [
          "cellSize / 2 + inset",
          "cellSize - inset"
        ],
        [
          "cellSize - inset",
          "cellSize - inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2",
          "cellSize"
        ],
        [
          "0",
          "cellSize"
        ],
        [
          "inset",
          "cellSize - inset"
        ],
        [
          "cellSize / 2 - inset",
          "cellSize - inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "cellSize"
        ],
        [
          "0",
          "cellSize / 2"
        ],
        [
          "inset",
          "cellSize / 2 + inset"
        ],
        [
          "inset",
          "cellSize - inset"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "cellSize / 2"
        ],
        [
          "0",
          "0"
        ],
        [
          "inset",
          "inset"
        ],
        [
          "inset",
          "cellSize / 2 - inset"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "cellSize",
      "0"
    ],
    "b": [
      "0",
      "cellSize"
    ]
  }
}
,"diamond-cross":{
  "schema": 1,
  "id": "diamond-cross",
  "name": "Diamond cross",
  "category": "stone",
  "parameters": {
    "edge": {
      "value": 200,
      "min": 20,
      "max": 1000,
      "label": "Rhombus side"
    },
    "shortStep": {
      "expr": "edge / 2"
    },
    "longStep": {
      "expr": "edge * sqrt(3) / 2"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "3 * shortStep",
          "shortStep"
        ],
        [
          "3 * shortStep + longStep",
          "0"
        ],
        [
          "6 * shortStep + longStep",
          "3 * longStep"
        ],
        [
          "6 * shortStep",
          "shortStep + 3 * longStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * shortStep + longStep",
          "2 * shortStep + 3 * longStep"
        ],
        [
          "6 * shortStep + 2 * longStep",
          "shortStep + 3 * longStep"
        ],
        [
          "9 * shortStep + 2 * longStep",
          "shortStep + 6 * longStep"
        ],
        [
          "9 * shortStep + longStep",
          "2 * shortStep + 6 * longStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * shortStep - longStep",
          "2 * shortStep + 6 * longStep"
        ],
        [
          "3 * shortStep",
          "shortStep + 6 * longStep"
        ],
        [
          "3 * shortStep + longStep",
          "2 * shortStep + 6 * longStep"
        ],
        [
          "3 * shortStep",
          "3 * shortStep + 6 * longStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * shortStep",
          "shortStep + 3 * longStep"
        ],
        [
          "6 * shortStep + longStep",
          "2 * shortStep + 3 * longStep"
        ],
        [
          "3 * shortStep + longStep",
          "2 * shortStep + 6 * longStep"
        ],
        [
          "3 * shortStep",
          "shortStep + 6 * longStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * shortStep",
          "shortStep"
        ],
        [
          "6 * shortStep",
          "shortStep + 3 * longStep"
        ],
        [
          "3 * shortStep",
          "shortStep + 6 * longStep"
        ],
        [
          "0",
          "shortStep + 3 * longStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * shortStep",
          "shortStep + 3 * longStep"
        ],
        [
          "6 * shortStep + longStep",
          "3 * longStep"
        ],
        [
          "6 * shortStep + 2 * longStep",
          "shortStep + 3 * longStep"
        ],
        [
          "6 * shortStep + longStep",
          "2 * shortStep + 3 * longStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * shortStep + longStep",
          "0"
        ],
        [
          "9 * shortStep + 2 * longStep",
          "shortStep"
        ],
        [
          "6 * shortStep + 2 * longStep",
          "shortStep + 3 * longStep"
        ],
        [
          "6 * shortStep + longStep",
          "3 * longStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * shortStep + longStep",
          "2 * shortStep + 3 * longStep"
        ],
        [
          "9 * shortStep + longStep",
          "2 * shortStep + 6 * longStep"
        ],
        [
          "6 * shortStep + longStep",
          "2 * shortStep + 9 * longStep"
        ],
        [
          "3 * shortStep + longStep",
          "2 * shortStep + 6 * longStep"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "6 * shortStep + 2 * longStep",
      "0"
    ],
    "b": [
      "0",
      "2 * shortStep + 6 * longStep"
    ]
  }
}
,"diamond-in-diamond":{
  "schema": 1,
  "id": "diamond-in-diamond",
  "name": "Diamond in diamond",
  "category": "stone",
  "parameters": {
    "edge": { "value": 300, "min": 50, "max": 1500, "label": "Diamond side" },
    "sizeRatio": { "value": 0.33, "min": 0.1, "max": 0.8, "unit": "none", "label": "Inner diamond share" },
    "half": { "expr": "edge / sqrt(2)" },
    "inner": { "expr": "sizeRatio * half" },
    "cell": { "expr": "2 * half" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["half - inner", "0"], ["half", "inner"], ["half + inner", "0"], ["cell", "0"], ["half", "half"]] },
    { "polygon": [["0", "0"], ["half", "-half"], ["cell", "0"], ["half + inner", "0"], ["half", "-inner"], ["half - inner", "0"]] },
    { "polygon": [["half - inner", "0"], ["half + inner", "0"], ["half", "inner"]] },
    { "polygon": [["half - inner", "0"], ["half", "-inner"], ["half + inner", "0"]] },
    { "polygon": [["0", "0"], ["half", "half"], ["0", "cell"], ["0", "half + inner"], ["inner", "half"], ["0", "half - inner"]] },
    { "polygon": [["0", "0"], ["0", "half - inner"], ["-inner", "half"], ["0", "half + inner"], ["0", "cell"], ["-half", "half"]] },
    { "polygon": [["0", "half - inner"], ["inner", "half"], ["0", "half + inner"]] },
    { "polygon": [["0", "half - inner"], ["0", "half + inner"], ["-inner", "half"]] }
  ],
  "lattice": { "a": ["cell", "0"], "b": ["0", "cell"] }
}
,"diamond-point-mosaic":{
  "schema": 1,
  "id": "diamond-point-mosaic",
  "name": "Diamond point mosaic",
  "category": "stone",
  "parameters": {
    "edge": {
      "value": 212,
      "min": 50,
      "max": 1500,
      "label": "Square side"
    },
    "bandWidth": {
      "value": 106,
      "min": 10,
      "max": 750,
      "label": "Band width"
    },
    "half": {
      "expr": "bandWidth / 2"
    },
    "cell": {
      "expr": "edge + bandWidth"
    },
    "mid": {
      "expr": "(edge + bandWidth) / 2"
    },
    "far": {
      "expr": "bandWidth / 2 + edge"
    }
  },
  "tiles": [
    {
      "rect": [
        "half",
        "half",
        "far",
        "far"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "cell"
        ],
        [
          "half",
          "far"
        ],
        [
          "mid",
          "far"
        ],
        [
          "mid",
          "cell + half"
        ],
        [
          "half",
          "cell + half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "mid",
          "far"
        ],
        [
          "far",
          "far"
        ],
        [
          "cell",
          "cell"
        ],
        [
          "far",
          "cell + half"
        ],
        [
          "mid",
          "cell + half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "far",
          "mid"
        ],
        [
          "cell + half",
          "mid"
        ],
        [
          "cell + half",
          "far"
        ],
        [
          "cell",
          "cell"
        ],
        [
          "far",
          "far"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-half",
          "half"
        ],
        [
          "0",
          "0"
        ],
        [
          "half",
          "half"
        ],
        [
          "half",
          "mid"
        ],
        [
          "-half",
          "mid"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "cell",
      "0"
    ],
    "b": [
      "0",
      "cell"
    ]
  }
}
,"diamond-square-mosaic":{
  "schema": 1,
  "id": "diamond-square-mosaic",
  "name": "Diamond square mosaic",
  "category": "ceramic",
  "parameters": {
    "cellSize": {
      "value": 15,
      "min": 2,
      "max": 150,
      "label": "Grid step"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "3 * cellSize"
        ],
        [
          "4 * cellSize",
          "3 * cellSize"
        ],
        [
          "4 * cellSize",
          "7 * cellSize"
        ],
        [
          "3 * cellSize",
          "8 * cellSize"
        ],
        [
          "0",
          "6 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * cellSize",
          "3 * cellSize"
        ],
        [
          "8 * cellSize",
          "3 * cellSize"
        ],
        [
          "4 * cellSize",
          "7 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "3 * cellSize"
        ],
        [
          "12 * cellSize",
          "7 * cellSize"
        ],
        [
          "8 * cellSize",
          "7 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "3 * cellSize"
        ],
        [
          "12 * cellSize",
          "3 * cellSize"
        ],
        [
          "12 * cellSize",
          "7 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "3 * cellSize"
        ],
        [
          "8 * cellSize",
          "7 * cellSize"
        ],
        [
          "4 * cellSize",
          "7 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * cellSize",
          "3 * cellSize"
        ],
        [
          "16 * cellSize",
          "3 * cellSize"
        ],
        [
          "16 * cellSize",
          "6 * cellSize"
        ],
        [
          "13 * cellSize",
          "8 * cellSize"
        ],
        [
          "12 * cellSize",
          "7 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "6 * cellSize"
        ],
        [
          "0",
          "11 * cellSize"
        ],
        [
          "-3 * cellSize",
          "8 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "6 * cellSize"
        ],
        [
          "3 * cellSize",
          "8 * cellSize"
        ],
        [
          "0",
          "11 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * cellSize",
          "7 * cellSize"
        ],
        [
          "8 * cellSize",
          "7 * cellSize"
        ],
        [
          "8 * cellSize",
          "11 * cellSize"
        ],
        [
          "5 * cellSize",
          "11 * cellSize"
        ],
        [
          "3 * cellSize",
          "8 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "7 * cellSize"
        ],
        [
          "12 * cellSize",
          "7 * cellSize"
        ],
        [
          "13 * cellSize",
          "8 * cellSize"
        ],
        [
          "11 * cellSize",
          "11 * cellSize"
        ],
        [
          "8 * cellSize",
          "11 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * cellSize",
          "8 * cellSize"
        ],
        [
          "5 * cellSize",
          "11 * cellSize"
        ],
        [
          "0",
          "11 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * cellSize",
          "8 * cellSize"
        ],
        [
          "16 * cellSize",
          "11 * cellSize"
        ],
        [
          "11 * cellSize",
          "11 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "11 * cellSize"
        ],
        [
          "0",
          "16 * cellSize"
        ],
        [
          "-3 * cellSize",
          "13 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "11 * cellSize"
        ],
        [
          "3 * cellSize",
          "13 * cellSize"
        ],
        [
          "0",
          "16 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "11 * cellSize"
        ],
        [
          "5 * cellSize",
          "11 * cellSize"
        ],
        [
          "3 * cellSize",
          "13 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * cellSize",
          "11 * cellSize"
        ],
        [
          "8 * cellSize",
          "11 * cellSize"
        ],
        [
          "8 * cellSize",
          "15 * cellSize"
        ],
        [
          "4 * cellSize",
          "15 * cellSize"
        ],
        [
          "3 * cellSize",
          "13 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "11 * cellSize"
        ],
        [
          "11 * cellSize",
          "11 * cellSize"
        ],
        [
          "13 * cellSize",
          "13 * cellSize"
        ],
        [
          "12 * cellSize",
          "15 * cellSize"
        ],
        [
          "8 * cellSize",
          "15 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * cellSize",
          "11 * cellSize"
        ],
        [
          "16 * cellSize",
          "11 * cellSize"
        ],
        [
          "13 * cellSize",
          "13 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * cellSize",
          "13 * cellSize"
        ],
        [
          "4 * cellSize",
          "15 * cellSize"
        ],
        [
          "4 * cellSize",
          "19 * cellSize"
        ],
        [
          "0",
          "19 * cellSize"
        ],
        [
          "0",
          "16 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * cellSize",
          "13 * cellSize"
        ],
        [
          "16 * cellSize",
          "16 * cellSize"
        ],
        [
          "16 * cellSize",
          "19 * cellSize"
        ],
        [
          "12 * cellSize",
          "19 * cellSize"
        ],
        [
          "12 * cellSize",
          "15 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * cellSize",
          "15 * cellSize"
        ],
        [
          "8 * cellSize",
          "15 * cellSize"
        ],
        [
          "8 * cellSize",
          "19 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * cellSize",
          "15 * cellSize"
        ],
        [
          "8 * cellSize",
          "19 * cellSize"
        ],
        [
          "4 * cellSize",
          "19 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "15 * cellSize"
        ],
        [
          "12 * cellSize",
          "15 * cellSize"
        ],
        [
          "8 * cellSize",
          "19 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * cellSize",
          "15 * cellSize"
        ],
        [
          "12 * cellSize",
          "19 * cellSize"
        ],
        [
          "8 * cellSize",
          "19 * cellSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "16 * cellSize",
      "0"
    ],
    "b": [
      "0",
      "16 * cellSize"
    ]
  }
}
,"diamond-weave":{
  "schema": 1,
  "id": "diamond-weave",
  "name": "Diamond weave",
  "category": "stone",
  "parameters": {
    "edge": {
      "value": 600,
      "min": 200,
      "max": 2400,
      "label": "Panel size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.409158050222 * edge",
          "0.135893648449 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.224519940916 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.283604135894 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.375184638109 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.091580502216 * edge",
          "0.865583456425 * edge"
        ],
        [
          "0.091580502216 * edge",
          "0.642540620384 * edge"
        ],
        [
          "0.1329394387 * edge",
          "0.599704579025 * edge"
        ],
        [
          "0.138847858198 * edge",
          "0.593796159527 * edge"
        ],
        [
          "0.363367799114 * edge",
          "0.593796159527 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.636632200886 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.870014771049 * edge"
        ],
        [
          "0.366322008863 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.135893648449 * edge",
          "0.911373707533 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.273264401773 * edge",
          "0.505169867061 * edge"
        ],
        [
          "0.370753323486 * edge",
          "0.410635155096 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.375184638109 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.283604135894 * edge"
        ],
        [
          "0.592319054653 * edge",
          "0.375184638109 * edge"
        ],
        [
          "0.630723781388 * edge",
          "0.409158050222 * edge"
        ],
        [
          "0.728212703102 * edge",
          "0.500738552437 * edge"
        ],
        [
          "0.636632200886 * edge",
          "0.593796159527 * edge"
        ],
        [
          "0.595273264402 * edge",
          "0.636632200886 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.729689807976 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.636632200886 * edge"
        ],
        [
          "0.363367799114 * edge",
          "0.593796159527 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.125553914328 * edge",
          "0.410635155096 * edge"
        ],
        [
          "0.370753323486 * edge",
          "0.410635155096 * edge"
        ],
        [
          "0.273264401773 * edge",
          "0.505169867061 * edge"
        ],
        [
          "0.223042836041 * edge",
          "0.506646971935 * edge"
        ],
        [
          "0.131462333826 * edge",
          "0.416543574594 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.503692762186 * edge",
          "0.729689807976 * edge"
        ],
        [
          "0.595273264402 * edge",
          "0.636632200886 * edge"
        ],
        [
          "0.595273264402 * edge",
          "0.870014771049 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.781388478582 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.366322008863 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.870014771049 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.781388478582 * edge"
        ],
        [
          "0.595273264402 * edge",
          "0.870014771049 * edge"
        ],
        [
          "0.633677991137 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.725258493353 * edge",
          "1.005908419498 * edge"
        ],
        [
          "0.2658788774 * edge",
          "1.005908419498 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.135893648449 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.366322008863 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.2658788774 * edge",
          "1.005908419498 * edge"
        ],
        [
          "0.230428360414 * edge",
          "1.005908419498 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.725258493353 * edge",
          "0"
        ],
        [
          "0.776957163959 * edge",
          "0"
        ],
        [
          "0.8670605613 * edge",
          "0.091580502216 * edge"
        ],
        [
          "0.635155096012 * edge",
          "0.091580502216 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.8670605613 * edge",
          "0.091580502216 * edge"
        ],
        [
          "0.776957163959 * edge",
          "0"
        ],
        [
          "edge",
          "0"
        ],
        [
          "edge",
          "0.227474150665 * edge"
        ],
        [
          "0.909896602659 * edge",
          "0.135893648449 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.909896602659 * edge",
          "0.135893648449 * edge"
        ],
        [
          "edge",
          "0.227474150665 * edge"
        ],
        [
          "edge",
          "0.289512555391 * edge"
        ],
        [
          "0.909896602659 * edge",
          "0.37223042836 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.592319054653 * edge",
          "0.135893648449 * edge"
        ],
        [
          "0.635155096012 * edge",
          "0.091580502216 * edge"
        ],
        [
          "0.8670605613 * edge",
          "0.091580502216 * edge"
        ],
        [
          "0.909896602659 * edge",
          "0.135893648449 * edge"
        ],
        [
          "0.909896602659 * edge",
          "0.37223042836 * edge"
        ],
        [
          "0.871491875923 * edge",
          "0.409158050222 * edge"
        ],
        [
          "0.630723781388 * edge",
          "0.409158050222 * edge"
        ],
        [
          "0.592319054653 * edge",
          "0.375184638109 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.871491875923 * edge",
          "0.409158050222 * edge"
        ],
        [
          "0.775480059084 * edge",
          "0.499261447563 * edge"
        ],
        [
          "0.728212703102 * edge",
          "0.500738552437 * edge"
        ],
        [
          "0.630723781388 * edge",
          "0.409158050222 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.595273264402 * edge",
          "0.870014771049 * edge"
        ],
        [
          "0.595273264402 * edge",
          "0.636632200886 * edge"
        ],
        [
          "0.636632200886 * edge",
          "0.593796159527 * edge"
        ],
        [
          "0.864106351551 * edge",
          "0.593796159527 * edge"
        ],
        [
          "0.912850812408 * edge",
          "0.644017725258 * edge"
        ],
        [
          "0.912850812408 * edge",
          "0.865583456425 * edge"
        ],
        [
          "0.868537666174 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.633677991137 * edge",
          "0.911373707533 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.728212703102 * edge",
          "0.500738552437 * edge"
        ],
        [
          "0.775480059084 * edge",
          "0.499261447563 * edge"
        ],
        [
          "0.864106351551 * edge",
          "0.593796159527 * edge"
        ],
        [
          "0.636632200886 * edge",
          "0.593796159527 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.77400295421 * edge"
        ],
        [
          "0.091580502216 * edge",
          "0.865583456425 * edge"
        ],
        [
          "0.135893648449 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.230428360414 * edge",
          "1.005908419498 * edge"
        ],
        [
          "0",
          "1.005908419498 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.230428360414 * edge",
          "0"
        ],
        [
          "0.134416543575 * edge",
          "0.09305760709 * edge"
        ],
        [
          "0",
          "0.227474150665 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.77400295421 * edge"
        ],
        [
          "0",
          "0.729689807976 * edge"
        ],
        [
          "0.091580502216 * edge",
          "0.642540620384 * edge"
        ],
        [
          "0.091580502216 * edge",
          "0.865583456425 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.289512555391 * edge"
        ],
        [
          "0.088626292467 * edge",
          "0.375184638109 * edge"
        ],
        [
          "0.091580502216 * edge",
          "0.376661742984 * edge"
        ],
        [
          "0.131462333826 * edge",
          "0.416543574594 * edge"
        ],
        [
          "0.223042836041 * edge",
          "0.506646971935 * edge"
        ],
        [
          "0.138847858198 * edge",
          "0.593796159527 * edge"
        ],
        [
          "0.1329394387 * edge",
          "0.599704579025 * edge"
        ],
        [
          "0.091580502216 * edge",
          "0.642540620384 * edge"
        ],
        [
          "0",
          "0.729689807976 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.227474150665 * edge"
        ],
        [
          "0.091580502216 * edge",
          "0.135893648449 * edge"
        ],
        [
          "0.091580502216 * edge",
          "0.376661742984 * edge"
        ],
        [
          "0.088626292467 * edge",
          "0.375184638109 * edge"
        ],
        [
          "0",
          "0.289512555391 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.912850812408 * edge",
          "0.644017725258 * edge"
        ],
        [
          "edge",
          "0.729689807976 * edge"
        ],
        [
          "edge",
          "0.77400295421 * edge"
        ],
        [
          "0.912850812408 * edge",
          "0.865583456425 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.864106351551 * edge",
          "0.593796159527 * edge"
        ],
        [
          "0.775480059084 * edge",
          "0.499261447563 * edge"
        ],
        [
          "0.871491875923 * edge",
          "0.409158050222 * edge"
        ],
        [
          "0.909896602659 * edge",
          "0.37223042836 * edge"
        ],
        [
          "edge",
          "0.289512555391 * edge"
        ],
        [
          "edge",
          "0.729689807976 * edge"
        ],
        [
          "0.912850812408 * edge",
          "0.644017725258 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.868537666174 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.912850812408 * edge",
          "0.865583456425 * edge"
        ],
        [
          "edge",
          "0.77400295421 * edge"
        ],
        [
          "edge",
          "1.005908419498 * edge"
        ],
        [
          "0.776957163959 * edge",
          "1.005908419498 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.633677991137 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.868537666174 * edge",
          "0.911373707533 * edge"
        ],
        [
          "0.776957163959 * edge",
          "1.005908419498 * edge"
        ],
        [
          "0.725258493353 * edge",
          "1.005908419498 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.230428360414 * edge",
          "0"
        ],
        [
          "0.2658788774 * edge",
          "0"
        ],
        [
          "0.364844903988 * edge",
          "0.09305760709 * edge"
        ],
        [
          "0.134416543575 * edge",
          "0.09305760709 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.503692762186 * edge",
          "0.283604135894 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.224519940916 * edge"
        ],
        [
          "0.592319054653 * edge",
          "0.135893648449 * edge"
        ],
        [
          "0.592319054653 * edge",
          "0.375184638109 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.091580502216 * edge",
          "0.135893648449 * edge"
        ],
        [
          "0.134416543575 * edge",
          "0.09305760709 * edge"
        ],
        [
          "0.364844903988 * edge",
          "0.09305760709 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.135893648449 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.375184638109 * edge"
        ],
        [
          "0.370753323486 * edge",
          "0.410635155096 * edge"
        ],
        [
          "0.125553914328 * edge",
          "0.410635155096 * edge"
        ],
        [
          "0.091580502216 * edge",
          "0.376661742984 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.223042836041 * edge",
          "0.506646971935 * edge"
        ],
        [
          "0.273264401773 * edge",
          "0.505169867061 * edge"
        ],
        [
          "0.363367799114 * edge",
          "0.593796159527 * edge"
        ],
        [
          "0.138847858198 * edge",
          "0.593796159527 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.2658788774 * edge",
          "0"
        ],
        [
          "0.725258493353 * edge",
          "0"
        ],
        [
          "0.635155096012 * edge",
          "0.091580502216 * edge"
        ],
        [
          "0.592319054653 * edge",
          "0.135893648449 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.224519940916 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.135893648449 * edge"
        ],
        [
          "0.364844903988 * edge",
          "0.09305760709 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.409158050222 * edge",
          "0.636632200886 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.729689807976 * edge"
        ],
        [
          "0.503692762186 * edge",
          "0.781388478582 * edge"
        ],
        [
          "0.409158050222 * edge",
          "0.870014771049 * edge"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "1.005908419498 * edge"
    ]
  }
},"diamond":{
  "schema": 1,
  "id": "diamond",
  "name": "Diamond",
  "category": "ceramic",
  "parameters": {
    "shortDiagonal": { "value": 175, "min": 20, "max": 600, "label": "Short diagonal" },
    "rootThree": { "expr": "sqrt(3)" },
    "longDiagonal": { "expr": "shortDiagonal * rootThree" }
  },
  "tiles": [
    { "polygon": [["longDiagonal / 2", "0"], ["0", "shortDiagonal / 2"], ["-longDiagonal / 2", "0"], ["0", "-shortDiagonal / 2"]] }
  ],
  "lattice": { "a": ["longDiagonal / 2", "shortDiagonal / 2"], "b": ["longDiagonal / 2", "-shortDiagonal / 2"] }
}
,"disc-and-half-disc-course":{
  "schema": 1,
  "id": "disc-and-half-disc-course",
  "name": "Disc and half disc course",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 300,
      "min": 60,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "1.5 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.525 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.975 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0.475 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "2.000000000000001 * overallSize",
              "0.25 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "0.475 * overallSize"
            ],
            "to": [
              "2 * overallSize",
              "0.025 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0.025 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.499999999999999 * overallSize",
              "0.25 * overallSize"
            ],
            "from": [
              "1.5 * overallSize",
              "0.025 * overallSize"
            ],
            "to": [
              "1.5 * overallSize",
              "0.475 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "0.975 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "0.525 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.000012500000001 * overallSize",
              "0.75 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.525 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.975 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.525 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.75 * overallSize",
              "0.499999999999999 * overallSize"
            ],
            "from": [
              "0.525 * overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "0.975 * overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.475 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.025 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.975 * overallSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.75 * overallSize",
              "0 * overallSize"
            ],
            "from": [
              "0.975 * overallSize",
              "0"
            ],
            "to": [
              "0.525 * overallSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.025 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.475 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.25 * overallSize",
              "0.500045 * overallSize"
            ],
            "from": [
              "0.475 * overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "0.025 * overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "1.525 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.975 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.75 * overallSize",
              "1.000045000000002 * overallSize"
            ],
            "from": [
              "1.975 * overallSize",
              "overallSize"
            ],
            "to": [
              "1.525 * overallSize",
              "overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * overallSize",
        "0.975 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.525 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5000125 * overallSize",
              "0.75 * overallSize"
            ],
            "from": [
              "0.5 * overallSize",
              "0.525 * overallSize"
            ],
            "to": [
              "0.5 * overallSize",
              "0.975 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "0.975 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0 * overallSize",
              "0.75 * overallSize"
            ],
            "from": [
              "0",
              "0.975 * overallSize"
            ],
            "to": [
              "0",
              "0.525 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.975 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.025 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.475 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0.475 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "0.25 * overallSize"
            ],
            "from": [
              "1.5 * overallSize",
              "0.475 * overallSize"
            ],
            "to": [
              "1.5 * overallSize",
              "0.025 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.025 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "overallSize",
              "0.25 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.025 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.475 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1.5 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.525 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.75 * overallSize",
              "overallSize"
            ],
            "from": [
              "1.525 * overallSize",
              "overallSize"
            ],
            "to": [
              "1.975 * overallSize",
              "overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.975 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.75 * overallSize",
              "0.499999999999999 * overallSize"
            ],
            "from": [
              "1.975 * overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "1.525 * overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.975 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "0.75 * overallSize"
            ],
            "from": [
              "0.5 * overallSize",
              "0.975 * overallSize"
            ],
            "to": [
              "0.5 * overallSize",
              "0.525 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.475 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.025 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.525 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "0.75 * overallSize"
            ],
            "from": [
              "0",
              "0.525 * overallSize"
            ],
            "to": [
              "0",
              "0.975 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.025 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.25 * overallSize",
              "0.5 * overallSize"
            ],
            "from": [
              "0.025 * overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "0.475 * overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.475 * overallSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.25 * overallSize",
              "0 * overallSize"
            ],
            "from": [
              "0.475 * overallSize",
              "0"
            ],
            "to": [
              "0.025 * overallSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.975 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "overallSize",
              "0.75 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.975 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.525 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.975 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.525 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.525 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "0.75 * overallSize"
            ],
            "from": [
              "0.5 * overallSize",
              "0.525 * overallSize"
            ],
            "to": [
              "0.5 * overallSize",
              "0.975 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1.975 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.525 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.75 * overallSize",
              "0.4999875 * overallSize"
            ],
            "from": [
              "1.525 * overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "1.975 * overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * overallSize",
        "0.975 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "0.75 * overallSize"
            ],
            "from": [
              "0.5 * overallSize",
              "0.975 * overallSize"
            ],
            "to": [
              "0.5 * overallSize",
              "0.525 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.975 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1.5 * overallSize",
        "0.475 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.499999999999999 * overallSize",
              "0.25 * overallSize"
            ],
            "from": [
              "1.5 * overallSize",
              "0.475 * overallSize"
            ],
            "to": [
              "1.5 * overallSize",
              "0.025 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0.475 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.525 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.975 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.75 * overallSize",
              "0.500045 * overallSize"
            ],
            "from": [
              "0.975 * overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "0.525 * overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.475 * overallSize",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.025 * overallSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.25 * overallSize",
              "-0.0000125 * overallSize"
            ],
            "from": [
              "0.025 * overallSize",
              "0"
            ],
            "to": [
              "0.475 * overallSize",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "1.5 * overallSize",
        "0.475 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0.025 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.5000125 * overallSize",
              "0.25 * overallSize"
            ],
            "from": [
              "1.5 * overallSize",
              "0.025 * overallSize"
            ],
            "to": [
              "1.5 * overallSize",
              "0.475 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "1.475 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.025 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.25 * overallSize",
              "0.4999875 * overallSize"
            ],
            "from": [
              "1.025 * overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "1.475 * overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "2 * overallSize",
        "0.475 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0.025 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "2.0000125 * overallSize",
              "0.25 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "0.025 * overallSize"
            ],
            "to": [
              "2 * overallSize",
              "0.475 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.025 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.25 * overallSize",
              "overallSize"
            ],
            "from": [
              "1.025 * overallSize",
              "overallSize"
            ],
            "to": [
              "1.475 * overallSize",
              "overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.475 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.25 * overallSize",
              "0.5 * overallSize"
            ],
            "from": [
              "1.475 * overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "1.025 * overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.525 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.975 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "0.475 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "overallSize",
              "0.25 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.475 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.025 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.475 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1.025 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.475 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.25 * overallSize",
              "1.000045000000001 * overallSize"
            ],
            "from": [
              "1.475 * overallSize",
              "overallSize"
            ],
            "to": [
              "1.025 * overallSize",
              "overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.975 * overallSize",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.525 * overallSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.75 * overallSize",
              "-0.0000125 * overallSize"
            ],
            "from": [
              "0.525 * overallSize",
              "0"
            ],
            "to": [
              "0.975 * overallSize",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"disc-column-mosaic":{
  "schema": 1,
  "id": "disc-column-mosaic",
  "name": "Disc column mosaic",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 300,
      "min": 60,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "1.03125 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "1.03125 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "1.5 * overallSize",
          "overallSize"
        ],
        [
          "1.46875 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "overallSize",
          "1.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.03125 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "0",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.46875 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "0",
          "1.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.723214285714 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "0.709821428571 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "0.705357142857 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.709821428571 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "0.723214285714 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "0.741071428571 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "0.767857142857 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "0.799107142857 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "0.830357142857 * overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "1.25 * overallSize"
        ],
        [
          "0.830357142857 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "0.799107142857 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "0.767857142857 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "0.741071428571 * overallSize",
          "1.214285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.53125 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.830357142857 * overallSize",
          "overallSize"
        ],
        [
          "0.799107142857 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "0.767857142857 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "0.741071428571 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "0.723214285714 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "0.709821428571 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "0.705357142857 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.709821428571 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "0.723214285714 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "0.741071428571 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "0.767857142857 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "0.799107142857 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "0.830357142857 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.53125 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.392857142857 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "1.214285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * overallSize",
          "overallSize"
        ],
        [
          "1.53125 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "1.53125 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.392857142857 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "1.214285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.723214285714 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "1.709821428571 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "1.705357142857 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.709821428571 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "1.723214285714 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "1.741071428571 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "1.767857142857 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "1.799107142857 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "1.830357142857 * overallSize",
          "overallSize"
        ],
        [
          "2 * overallSize",
          "overallSize"
        ],
        [
          "2 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.830357142857 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.799107142857 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "1.767857142857 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "1.741071428571 * overallSize",
          "1.214285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "overallSize"
        ],
        [
          "0.03125 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "0",
          "1.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "1.25 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "0",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.700892857143 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "1.794642857143 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "1.700892857143 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "2 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "2 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.53125 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "overallSize",
          "1.25 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.200892857143 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "1.294642857143 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "1.200892857143 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.892857142857 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "overallSize",
          "1.25 * overallSize"
        ],
        [
          "overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "1.464285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.200892857143 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "1.294642857143 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "1.200892857143 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.392857142857 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "1.464285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.700892857143 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "1.794642857143 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "1.700892857143 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.223214285714 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "0.209821428571 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "0.205357142857 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.209821428571 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "0.223214285714 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "0.241071428571 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "0.267857142857 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "0.299107142857 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "0.330357142857 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.330357142857 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.299107142857 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "0.267857142857 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "0.241071428571 * overallSize",
          "1.464285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.03125 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "0",
          "1.25 * overallSize"
        ],
        [
          "0.330357142857 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "0.299107142857 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "0.267857142857 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "0.241071428571 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "0.223214285714 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "0.209821428571 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "0.205357142857 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.209821428571 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "0.223214285714 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "0.241071428571 * overallSize",
          "1.464285714286 * overallSize"
        ],
        [
          "0.267857142857 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "0.299107142857 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "0.330357142857 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "0",
          "1.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.892857142857 * overallSize",
          "1.4375 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "1.40625 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "1.34375 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "1.3125 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "1.285714285714 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "1.267857142857 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "1.254464285714 * overallSize"
        ],
        [
          "2 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "2 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "1.495535714286 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "1.482142857143 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "1.464285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.53125 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "1.53125 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "overallSize"
        ],
        [
          "1.830357142857 * overallSize",
          "overallSize"
        ],
        [
          "1.799107142857 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "1.767857142857 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "1.741071428571 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "1.723214285714 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "1.709821428571 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "1.705357142857 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.709821428571 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "1.723214285714 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "1.741071428571 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "1.767857142857 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "1.799107142857 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "1.830357142857 * overallSize",
          "1.25 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "overallSize"
        ],
        [
          "1.03125 * overallSize",
          "1.004464285714 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "1.017857142857 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "1.035714285714 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "1.0625 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "1.09375 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "1.15625 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "1.1875 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "1.214285714286 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "1.232142857143 * overallSize"
        ],
        [
          "1.03125 * overallSize",
          "1.245535714286 * overallSize"
        ],
        [
          "overallSize",
          "1.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.03125 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "1.03125 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.700892857143 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "1.794642857143 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "1.700892857143 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.25 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.53125 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "1.53125 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.830357142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.799107142857 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "1.767857142857 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "1.741071428571 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "1.723214285714 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "1.709821428571 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "1.705357142857 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.709821428571 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "1.723214285714 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "1.741071428571 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "1.767857142857 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "1.799107142857 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "1.830357142857 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.200892857143 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "0.232142857143 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "0.258928571429 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "0.276785714286 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.290178571429 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "0.294642857143 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.290178571429 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "0.276785714286 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "0.258928571429 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.232142857143 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "0.200892857143 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "0.169642857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.169642857143 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.200892857143 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "1.294642857143 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "1.200892857143 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.200892857143 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "1.294642857143 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "1.200892857143 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.03125 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.53125 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.03125 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "1.03125 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.53125 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.830357142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.799107142857 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "0.767857142857 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "0.741071428571 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.723214285714 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.709821428571 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.705357142857 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.709821428571 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "0.723214285714 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "0.741071428571 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "0.767857142857 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "0.799107142857 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "0.830357142857 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.723214285714 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "0.709821428571 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "0.705357142857 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.709821428571 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.723214285714 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.741071428571 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.767857142857 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "0.799107142857 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "0.830357142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.830357142857 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.799107142857 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "0.767857142857 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "0.741071428571 * overallSize",
          "0.714285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.392857142857 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.714285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.200892857143 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "1.294642857143 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "1.200892857143 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.892857142857 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "overallSize",
          "0.25 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.464285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.392857142857 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.714285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.53125 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "1.53125 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.700892857143 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "1.794642857143 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "1.700892857143 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.392857142857 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.464285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * overallSize",
          "0"
        ],
        [
          "1.53125 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "1.53125 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.200892857143 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "1.294642857143 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.290178571429 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "1.276785714286 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "1.258928571429 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "1.232142857143 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "1.200892857143 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "overallSize"
        ],
        [
          "1.169642857143 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.392857142857 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0"
        ],
        [
          "1.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.214285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.223214285714 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.209821428571 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.205357142857 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.209821428571 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "0.223214285714 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "0.241071428571 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.267857142857 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "0.299107142857 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "0.330357142857 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.330357142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.299107142857 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "0.267857142857 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "0.241071428571 * overallSize",
          "0.464285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.75 * overallSize"
        ],
        [
          "0.169642857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.200892857143 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "0.232142857143 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "0.258928571429 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.276785714286 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "0.290178571429 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "0.294642857143 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.290178571429 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "0.276785714286 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.258928571429 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "0.232142857143 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "0.200892857143 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "0.169642857143 * overallSize",
          "overallSize"
        ],
        [
          "0",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.700892857143 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "0.732142857143 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "0.758928571429 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "0.776785714286 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.790178571429 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "0.794642857143 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.790178571429 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "0.776785714286 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "0.758928571429 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.732142857143 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "0.700892857143 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "0.669642857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.669642857143 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.03125 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "1.03125 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "1.5 * overallSize",
          "0"
        ],
        [
          "1.46875 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.392857142857 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.214285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.700892857143 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "1.794642857143 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "1.700892857143 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "2 * overallSize",
          "overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.53125 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.620535714286 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "1.607142857143 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "1.589285714286 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "1.5625 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "1.53125 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0"
        ],
        [
          "2 * overallSize",
          "0"
        ],
        [
          "1.96875 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.53125 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "0.96875 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.392857142857 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.964285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.669642857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.700892857143 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "0.732142857143 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "0.758928571429 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.776785714286 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "0.790178571429 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "0.794642857143 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.790178571429 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "0.776785714286 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.758928571429 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "0.732142857143 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "0.700892857143 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "0.669642857143 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.892857142857 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "2 * overallSize",
          "overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.964285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.53125 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.620535714286 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "0.589285714286 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "0.5625 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "0.53125 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.892857142857 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.464285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.03125 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.46875 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.379464285714 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "0.392857142857 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "0.410714285714 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.892857142857 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "overallSize",
          "0.75 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.964285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.714285714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "0",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0"
        ],
        [
          "1.03125 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.120535714286 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "1.089285714286 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "1.0625 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "1.03125 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.892857142857 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.879464285714 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "0.892857142857 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "0.910714285714 * overallSize",
          "0.214285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.03125 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "0",
          "0.25 * overallSize"
        ],
        [
          "0.330357142857 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.299107142857 * overallSize",
          "0.254464285714 * overallSize"
        ],
        [
          "0.267857142857 * overallSize",
          "0.267857142857 * overallSize"
        ],
        [
          "0.241071428571 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.223214285714 * overallSize",
          "0.3125 * overallSize"
        ],
        [
          "0.209821428571 * overallSize",
          "0.34375 * overallSize"
        ],
        [
          "0.205357142857 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.209821428571 * overallSize",
          "0.40625 * overallSize"
        ],
        [
          "0.223214285714 * overallSize",
          "0.4375 * overallSize"
        ],
        [
          "0.241071428571 * overallSize",
          "0.464285714286 * overallSize"
        ],
        [
          "0.267857142857 * overallSize",
          "0.482142857143 * overallSize"
        ],
        [
          "0.299107142857 * overallSize",
          "0.495535714286 * overallSize"
        ],
        [
          "0.330357142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.03125 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.120535714286 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "0.089285714286 * overallSize",
          "0.214285714286 * overallSize"
        ],
        [
          "0.0625 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "0.03125 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "0",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.723214285714 * overallSize",
          "0.6875 * overallSize"
        ],
        [
          "1.709821428571 * overallSize",
          "0.65625 * overallSize"
        ],
        [
          "1.705357142857 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.709821428571 * overallSize",
          "0.59375 * overallSize"
        ],
        [
          "1.723214285714 * overallSize",
          "0.5625 * overallSize"
        ],
        [
          "1.741071428571 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "1.767857142857 * overallSize",
          "0.517857142857 * overallSize"
        ],
        [
          "1.799107142857 * overallSize",
          "0.504464285714 * overallSize"
        ],
        [
          "1.830357142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.830357142857 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.799107142857 * overallSize",
          "0.745535714286 * overallSize"
        ],
        [
          "1.767857142857 * overallSize",
          "0.732142857143 * overallSize"
        ],
        [
          "1.741071428571 * overallSize",
          "0.714285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.700892857143 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "1.794642857143 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.790178571429 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "1.776785714286 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "1.758928571429 * overallSize",
          "0.964285714286 * overallSize"
        ],
        [
          "1.732142857143 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "1.700892857143 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "1.669642857143 * overallSize",
          "overallSize"
        ],
        [
          "1.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.892857142857 * overallSize",
          "0.1875 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.15625 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.879464285714 * overallSize",
          "0.09375 * overallSize"
        ],
        [
          "1.892857142857 * overallSize",
          "0.0625 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.017857142857 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.004464285714 * overallSize"
        ],
        [
          "2 * overallSize",
          "0"
        ],
        [
          "2 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.96875 * overallSize",
          "0.245535714286 * overallSize"
        ],
        [
          "1.9375 * overallSize",
          "0.232142857143 * overallSize"
        ],
        [
          "1.910714285714 * overallSize",
          "0.214285714286 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.392857142857 * overallSize",
          "0.9375 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.90625 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.379464285714 * overallSize",
          "0.84375 * overallSize"
        ],
        [
          "1.392857142857 * overallSize",
          "0.8125 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.767857142857 * overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.754464285714 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "overallSize"
        ],
        [
          "1.46875 * overallSize",
          "0.995535714286 * overallSize"
        ],
        [
          "1.4375 * overallSize",
          "0.982142857143 * overallSize"
        ],
        [
          "1.410714285714 * overallSize",
          "0.964285714286 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * overallSize",
      "0"
    ],
    "b": [
      "0",
      "1.5 * overallSize"
    ]
  }
}
,"dodecagon-and-star":{
  "schema": 1,
  "id": "dodecagon-and-star",
  "name": "Dodecagon and four-point star",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 40, "min": 10, "max": 200, "label": "Edge" },
    "circumradius": { "expr": "edge / (2 * sin(15))" },
    "inradius": { "expr": "(2 + sqrt(3)) * edge / 2" },
    "starTipOffset": { "expr": "(1 + sqrt(3)) * edge / 2" },
    "halfEdge": { "expr": "edge / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["circumradius * cos(15)", "circumradius * sin(15)"],
        ["circumradius * cos(45)", "circumradius * sin(45)"],
        ["circumradius * cos(75)", "circumradius * sin(75)"],
        ["circumradius * cos(105)", "circumradius * sin(105)"],
        ["circumradius * cos(135)", "circumradius * sin(135)"],
        ["circumradius * cos(165)", "circumradius * sin(165)"],
        ["circumradius * cos(195)", "circumradius * sin(195)"],
        ["circumradius * cos(225)", "circumradius * sin(225)"],
        ["circumradius * cos(255)", "circumradius * sin(255)"],
        ["circumradius * cos(285)", "circumradius * sin(285)"],
        ["circumradius * cos(315)", "circumradius * sin(315)"],
        ["circumradius * cos(345)", "circumradius * sin(345)"]
      ]
    },
    {
      "polygon": [
        ["inradius + starTipOffset", "inradius"],
        ["inradius + halfEdge", "inradius + halfEdge"],
        ["inradius", "inradius + starTipOffset"],
        ["inradius - halfEdge", "inradius + halfEdge"],
        ["inradius - starTipOffset", "inradius"],
        ["inradius - halfEdge", "inradius - halfEdge"],
        ["inradius", "inradius - starTipOffset"],
        ["inradius + halfEdge", "inradius - halfEdge"]
      ]
    }
  ],
  "lattice": {
    "a": ["2 * inradius", "0"],
    "b": ["0", "2 * inradius"]
  }
}
,"dodecagram-hexagon":{
  "schema": 1,
  "id": "dodecagram-hexagon",
  "name": "Dodecagram and hexagon",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 50, "min": 10, "max": 500, "label": "Edge"},
    "starDepthRatio": { "expr": "0.535898" },
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge * (2 + rootThree) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (3 + 2 * rootThree) / 4)", "starDepthRatio * (edge * (2 + rootThree) / 4)"],
        ["edge * (1 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["starDepthRatio * (edge * (2 + rootThree) / 4)", "starDepthRatio * (edge * (3 + 2 * rootThree) / 4)"],
        ["edge / 2", "edge * (2 + rootThree) / 2"],
        ["0", "starDepthRatio * (edge * (2 + rootThree) / 2)"],
        ["-edge / 2", "edge * (2 + rootThree) / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 4)", "starDepthRatio * (edge * (3 + 2 * rootThree) / 4)"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)", "starDepthRatio * (edge * (2 + rootThree) / 4)"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 2)", "0"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)", "starDepthRatio * (edge * (-2 - rootThree) / 4)"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 4)", "starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["0", "starDepthRatio * (edge * (-2 - rootThree) / 2)"],
        ["edge / 2", "edge * (-2 - rootThree) / 2"],
        ["starDepthRatio * (edge * (2 + rootThree) / 4)", "starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)"],
        ["edge * (1 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["starDepthRatio * (edge * (3 + 2 * rootThree) / 4)", "starDepthRatio * (edge * (-2 - rootThree) / 4)"],
        ["edge * (2 + rootThree) / 2", "-edge / 2"],
        ["starDepthRatio * (edge * (2 + rootThree) / 2)", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)", "starDepthRatio * (edge * (2 + rootThree) / 4)"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "edge * (1 + 2 * rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - rootThree) / 2 - (edge * (-3 - rootThree) / 2))", "edge * (3 + 3 * rootThree) / 2 + starDepthRatio * (edge * (1 + 2 * rootThree) / 2 - (edge * (3 + 3 * rootThree) / 2))"],
        ["edge * (-4 - rootThree) / 2", "edge * (1 + 2 * rootThree) / 2"],
        ["edge * (-5 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) + starDepthRatio * (edge * (-9 - 2 * rootThree) / 4 - (edge * (-3 - rootThree)))", "starDepthRatio * (edge * (2 + rootThree) / 4)"],
        ["edge * (-4 - rootThree) / 2", "edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 4)", "starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "edge * (-1 - 2 * rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-4 - rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (-3 - 3 * rootThree) / 2 + starDepthRatio * (edge * (-3 - 4 * rootThree) / 4 - (edge * (-3 - 3 * rootThree) / 2))"],
        ["-edge", "edge * (-1 - rootThree)"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)", "starDepthRatio * (edge * (-2 - rootThree) / 4)"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-4 - rootThree) / 2", "-edge / 2"],
        ["edge * (-3 - rootThree) + starDepthRatio * (edge * (-9 - 2 * rootThree) / 4 - (edge * (-3 - rootThree)))", "starDepthRatio * (edge * (-2 - rootThree) / 4)"],
        ["edge * (-5 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-4 - rootThree) / 2", "edge * (-1 - 2 * rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - rootThree) / 2 - (edge * (-3 - rootThree) / 2))", "edge * (-3 - 3 * rootThree) / 2 + starDepthRatio * (edge * (-1 - 2 * rootThree) / 2 - (edge * (-3 - 3 * rootThree) / 2))"],
        ["edge * (-2 - rootThree) / 2", "edge * (-1 - 2 * rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["-edge", "edge * (1 + rootThree)"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-4 - rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (3 + 3 * rootThree) / 2 + starDepthRatio * (edge * (3 + 4 * rootThree) / 4 - (edge * (3 + 3 * rootThree) / 2))"],
        ["edge * (-2 - rootThree) / 2", "edge * (1 + 2 * rootThree) / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 4)", "starDepthRatio * (edge * (3 + 2 * rootThree) / 4)"],
        ["-edge / 2", "edge * (2 + rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-4 - rootThree) / 2", "edge / 2"],
        ["edge * (-3 - rootThree) + starDepthRatio * (edge * (-4 - rootThree) / 2 - (edge * (-3 - rootThree)))", "0"],
        ["edge * (-4 - rootThree) / 2", "-edge / 2"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 2)", "0"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (3 + rootThree)", "0"], "b": ["edge * (3 + rootThree) / 2", "edge * (3 + 3 * rootThree) / 2"] }
}
,"dodecagram-triangle":{
  "schema": 1,
  "id": "dodecagram-triangle",
  "name": "Dodecagram and triangle",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 50, "min": 10, "max": 500, "label": "Edge"},
    "starDepthRatio": { "expr": "0.535898" },
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge * (2 + rootThree) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (3 + 2 * rootThree) / 4)", "starDepthRatio * (edge * (2 + rootThree) / 4)"],
        ["edge * (1 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["starDepthRatio * (edge * (2 + rootThree) / 4)", "starDepthRatio * (edge * (3 + 2 * rootThree) / 4)"],
        ["edge / 2", "edge * (2 + rootThree) / 2"],
        ["0", "starDepthRatio * (edge * (2 + rootThree) / 2)"],
        ["-edge / 2", "edge * (2 + rootThree) / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 4)", "starDepthRatio * (edge * (3 + 2 * rootThree) / 4)"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)", "starDepthRatio * (edge * (2 + rootThree) / 4)"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 2)", "0"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)", "starDepthRatio * (edge * (-2 - rootThree) / 4)"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 4)", "starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["0", "starDepthRatio * (edge * (-2 - rootThree) / 2)"],
        ["edge / 2", "edge * (-2 - rootThree) / 2"],
        ["starDepthRatio * (edge * (2 + rootThree) / 4)", "starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)"],
        ["edge * (1 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["starDepthRatio * (edge * (3 + 2 * rootThree) / 4)", "starDepthRatio * (edge * (-2 - rootThree) / 4)"],
        ["edge * (2 + rootThree) / 2", "-edge / 2"],
        ["starDepthRatio * (edge * (2 + rootThree) / 2)", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 4)", "starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2 + starDepthRatio * (edge * (-2 - rootThree) / 4 - (edge * (-2 - rootThree) / 2))", "edge * (-3 - 2 * rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - 2 * rootThree) / 2))"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "edge * (2 + rootThree) / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 4)", "starDepthRatio * (edge * (3 + 2 * rootThree) / 4)"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2 + starDepthRatio * (edge * (-2 - rootThree) / 4 - (edge * (-2 - rootThree) / 2))", "edge * (3 + 2 * rootThree) / 2 + starDepthRatio * (edge * (3 + 2 * rootThree) / 4 - (edge * (3 + 2 * rootThree) / 2))"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (-2 - rootThree) / 2)", "0"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-2 - rootThree) + starDepthRatio * (edge * (-2 - rootThree) / 2 - (edge * (-2 - rootThree)))", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2 + starDepthRatio * (edge * (-2 - rootThree) / 2 - (edge * (-2 - rootThree) / 2))", "edge * (3 + 2 * rootThree) / 2 + starDepthRatio * (edge * (1 + rootThree) / 2 - (edge * (3 + 2 * rootThree) / 2))"],
        ["edge * (-3 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-2 - rootThree) + starDepthRatio * (edge * (-5 - 2 * rootThree) / 4 - (edge * (-2 - rootThree)))", "starDepthRatio * (edge * (2 + rootThree) / 4)"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)", "starDepthRatio * (edge * (2 + rootThree) / 4)"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-2 - rootThree) + starDepthRatio * (edge * (-5 - 2 * rootThree) / 4 - (edge * (-2 - rootThree)))", "starDepthRatio * (edge * (-2 - rootThree) / 4)"],
        ["edge * (-3 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2 + starDepthRatio * (edge * (-2 - rootThree) / 2 - (edge * (-2 - rootThree) / 2))", "edge * (-3 - 2 * rootThree) / 2 + starDepthRatio * (edge * (-1 - rootThree) / 2 - (edge * (-3 - 2 * rootThree) / 2))"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["starDepthRatio * (edge * (-3 - 2 * rootThree) / 4)", "starDepthRatio * (edge * (-2 - rootThree) / 4)"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (2 + rootThree)", "0"], "b": ["edge * (2 + rootThree) / 2", "edge * (3 + 2 * rootThree) / 2"] }
}
,"dog-bone-paver":{
  "schema": 1,
  "id": "dog-bone-paver",
  "name": "Dog bone paver",
  "category": "stone",
  "parameters": {
    "radius": {
      "value": 50,
      "min": 15,
      "max": 300,
      "label": "Lobe radius"
    },
    "span": {
      "expr": "3.5 * radius"
    }
  },
  "tiles": [
    {
      "start": [
        "-radius",
        "0"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "-2 * radius",
              "0"
            ],
            "from": [
              "-radius",
              "0"
            ],
            "to": [
              "-2 * radius",
              "-radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "-2 * radius",
              "-span + radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "-2 * radius",
              "-span"
            ],
            "from": [
              "-2 * radius",
              "-span + radius"
            ],
            "to": [
              "-radius",
              "-span"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "-span"
            ],
            "from": [
              "-radius",
              "-span"
            ],
            "to": [
              "radius",
              "-span"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "2 * radius",
              "-span"
            ],
            "from": [
              "radius",
              "-span"
            ],
            "to": [
              "2 * radius",
              "-span + radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "2 * radius",
              "-radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "2 * radius",
              "0"
            ],
            "from": [
              "2 * radius",
              "-radius"
            ],
            "to": [
              "radius",
              "0"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "radius",
              "0"
            ],
            "to": [
              "-radius",
              "0"
            ],
            "clockwise": false
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * radius",
      "0"
    ],
    "b": [
      "2 * radius",
      "-span"
    ]
  }
},"domed-cobble":{
  "schema": 1,
  "id": "domed-cobble",
  "name": "Domed cobble",
  "category": "stone",
  "parameters": {
    "stoneSize": { "value": 120, "min": 68, "max": 300, "label": "Mean stone height" },
    "relief": { "value": 14, "min": 0, "max": 80, "label": "Dome height" },
    "shoulder": { "expr": "stoneSize / 3" },
    "wobble": { "expr": "relief / 7" }
  },
  "generator": {
    "periodicVoronoi": {
      "width": "25 * stoneSize",
      "height": "25 * stoneSize",
      "stoneSize": "stoneSize",
      "stretch": "1",
      "separation": "0.6",
      "relaxation": "6",
      "seed": "seed"
    }
  },
  "body": {
    "heightfield": {
      "height": "relief * (1 - (x^2 + y^2) / 2) * (1 - (1 - min(e, shoulder) / shoulder)^2) + wobble * min(e, shoulder) / shoulder * noise(1.7 * x + 0.37, 1.7 * y + 0.61)",
      "resolution": "stoneSize / 6"
    }
  }
}
,"domino-paving":{
  "schema": 1,
  "id": "domino-paving",
  "name": "Domino paving",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 100,
      "min": 20,
      "max": 500,
      "label": "Domino width"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "2 * moduleSize",
        "2 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "0",
        "moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "7 * moduleSize",
        "6 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "3 * moduleSize",
        "3 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "3 * moduleSize",
        "8 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "3 * moduleSize",
        "5 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "2 * moduleSize",
        "4 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "0",
        "9 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "moduleSize",
        "6 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "6 * moduleSize",
        "9 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "0",
        "4 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "5 * moduleSize",
        "6 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "0",
        "6 * moduleSize",
        "moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "2 * moduleSize",
        "8 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "6 * moduleSize",
        "4 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "6 * moduleSize",
        "moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "8 * moduleSize",
        "4 * moduleSize",
        "10 * moduleSize",
        "6 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "5 * moduleSize",
        "4 * moduleSize",
        "6 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "4 * moduleSize",
        "2 * moduleSize",
        "6 * moduleSize"
      ]
    },
    {
      "rect": [
        "8 * moduleSize",
        "2 * moduleSize",
        "10 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "6 * moduleSize",
        "10 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "6 * moduleSize",
        "3 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "0",
        "7 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "0",
        "3 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "0",
        "10 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "6 * moduleSize",
        "7 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "5 * moduleSize",
        "8 * moduleSize",
        "6 * moduleSize"
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "3 * moduleSize",
        "7 * moduleSize",
        "5 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "10 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "8 * moduleSize"
    ]
  }
}
,"double-band-grid":{
  "schema": 1,
  "id": "double-band-grid",
  "name": "Double band grid",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 250, "min": 40, "max": 1200, "label": "Tile side" },
    "bandWidth": { "value": 100, "min": 10, "max": 600, "label": "Strip width" },
    "span": { "expr": "2 * edge + 2 * bandWidth" }
  },
  "tiles": [
    { "rect": ["0", "0", "edge", "edge"] },
    { "rect": ["edge", "0", "2 * edge", "edge"] },
    { "rect": ["2 * edge", "0", "2 * edge + bandWidth", "edge"] },
    { "rect": ["2 * edge + bandWidth", "0", "span", "edge"] },
    { "rect": ["0", "edge", "edge", "2 * edge"] },
    { "rect": ["edge", "edge", "2 * edge", "2 * edge"] },
    { "rect": ["2 * edge", "edge", "2 * edge + bandWidth", "2 * edge"] },
    { "rect": ["2 * edge + bandWidth", "edge", "span", "2 * edge"] },
    { "rect": ["0", "2 * edge", "edge", "2 * edge + bandWidth"] },
    { "rect": ["edge", "2 * edge", "2 * edge", "2 * edge + bandWidth"] },
    { "rect": ["2 * edge", "2 * edge", "2 * edge + bandWidth", "2 * edge + bandWidth"] },
    { "rect": ["2 * edge + bandWidth", "2 * edge", "span", "2 * edge + bandWidth"] },
    { "rect": ["0", "2 * edge + bandWidth", "edge", "span"] },
    { "rect": ["edge", "2 * edge + bandWidth", "2 * edge", "span"] },
    { "rect": ["2 * edge", "2 * edge + bandWidth", "2 * edge + bandWidth", "span"] },
    { "rect": ["2 * edge + bandWidth", "2 * edge + bandWidth", "span", "span"] }
  ],
  "lattice": { "a": ["span", "0"], "b": ["0", "span"] }
}
,"double-basketweave":{
  "schema": 1,
  "id": "double-basketweave",
  "name": "Double basketweave with dot",
  "category": "stone",
  "parameters": {
    "width": {
      "value": 100,
      "min": 10,
      "max": 600,
      "label": "Plank width"
    },
    "dotSize": {
      "value": 100,
      "min": 5,
      "max": 600,
      "label": "Dot side"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "width",
        "2 * width + 2 * dotSize"
      ]
    },
    {
      "rect": [
        "width",
        "0",
        "2 * width",
        "2 * width + 2 * dotSize"
      ]
    },
    {
      "rect": [
        "2 * width",
        "dotSize",
        "2 * width + 2 * width + 2 * dotSize",
        "dotSize + width"
      ]
    },
    {
      "rect": [
        "2 * width",
        "dotSize + width",
        "2 * width + 2 * width + 2 * dotSize",
        "dotSize + 2 * width"
      ]
    },
    {
      "rect": [
        "2 * width",
        "0",
        "2 * width + dotSize",
        "dotSize"
      ]
    },
    {
      "rect": [
        "2 * width",
        "2 * width + dotSize",
        "2 * width + dotSize",
        "2 * width + 2 * dotSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * width + dotSize",
      "2 * width + dotSize"
    ],
    "b": [
      "-2 * (2 * width + dotSize)",
      "0"
    ]
  }
}
,"double-chevron-diamond":{
  "schema": 1,
  "id": "double-chevron-diamond",
  "name": "Double chevron diamond",
  "category": "stone",
  "parameters": {
    "edge": { "value": 200, "min": 40, "max": 900, "label": "Diamond side" },
    "half": { "expr": "edge / sqrt(2)" },
    "two": { "expr": "2 * half" },
    "three": { "expr": "3 * half" },
    "four": { "expr": "4 * half" },
    "five": { "expr": "5 * half" },
    "six": { "expr": "6 * half" },
    "seven": { "expr": "7 * half" }
  },
  "tiles": [
    { "polygon": [["two", "0"], ["two", "half"], ["half", "two"], ["half", "half"]] },
    { "polygon": [["half", "four"], ["half", "five"], ["0", "six"], ["0", "five"]] },
    { "polygon": [["half", "three"], ["half", "four"], ["0", "five"], ["0", "four"]] },
    { "polygon": [["two", "half"], ["two", "two"], ["half", "three"], ["half", "two"]] },
    { "polygon": [["half", "three"], ["two", "four"], ["two", "five"], ["half", "four"]] },
    { "polygon": [["half", "four"], ["two", "five"], ["two", "six"], ["half", "five"]] },
    { "polygon": [["0", "half"], ["half", "two"], ["half", "three"], ["0", "two"]] },
    { "polygon": [["0", "0"], ["half", "half"], ["half", "two"], ["0", "half"]] },
    { "polygon": [["half", "three"], ["two", "two"], ["three", "three"], ["two", "four"]] },
    { "polygon": [["0", "six"], ["half", "five"], ["two", "six"], ["half", "seven"]] }
  ],
  "lattice": { "a": ["two", "0"], "b": ["0", "six"] }
}
,"double-chevron":{
  "schema": 1,
  "id": "double-chevron",
  "name": "Double chevron",
  "category": "wood",
  "parameters": {
    "length": { "value": 600, "min": 50, "max": 3000, "label": "Plank length" },
    "width": { "value": 75, "min": 10, "max": 500, "label": "Plank width" },
    "cutAngle": { "value": 60, "min": 10, "max": 90, "label": "End cut angle (degrees)", "unit": "deg" }
  },
  "tiles": [
    {"polygon": [["0", "0"], ["length * sin(cutAngle)", "length * cos(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width) / sin(cutAngle)"], ["0", "(width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"]},
    {"polygon": [["0", "(width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width + width) / sin(cutAngle)"], ["0", "(width + width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"]},
    {"polygon": [["0", "0"], ["length * sin(cutAngle)", "length * cos(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width) / sin(cutAngle)"], ["0", "(width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"], "transform": [{"mirror": {"line": [["0", "0"], ["0", "1"]]}}]},
    {"polygon": [["0", "(width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width + width) / sin(cutAngle)"], ["0", "(width + width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"], "transform": [{"mirror": {"line": [["0", "0"], ["0", "1"]]}}]}
  ],
  "lattice": {"a": ["2 * length * sin(cutAngle)", "0"], "b": ["0", "2 * width / sin(cutAngle)"]}
}
,"double-cross-weave":{
  "schema": 1,
  "id": "double-cross-weave",
  "name": "Double cross weave",
  "category": "stone",
  "parameters": {
    "length": { "value": 250, "min": 60, "max": 1200, "label": "Large paver side" },
    "width": { "value": 50, "min": 10, "max": 400, "label": "Strip width" }
  },
  "tiles": [
    { "rect": ["width", "0", "width + length", "length"] },
    { "rect": ["width", "length", "width + length", "length + width"] },
    { "rect": ["0", "0", "width", "length"] },
    { "rect": ["0", "length", "width", "length + width"] }
  ],
  "lattice": { "a": ["length + width", "0"], "b": ["0", "length + width"] }
}
,"double-flemish-bond":{
  "schema": 1,
  "id": "double-flemish-bond",
  "name": "Double Flemish bond (paired courses)",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "3 * length / 2", "width"] },
    { "rect": ["0", "width", "length", "2 * width"] },
    { "rect": ["length", "width", "3 * length / 2", "2 * width"] }
  ],
  "lattice": { "a": ["3 * length / 2", "0"], "b": ["3 * length / 4", "2 * width"] }
}
,"double-herringbone":{
  "schema": 1,
  "id": "double-herringbone",
  "name": "Double herringbone",
  "category": "wood",
  "angle": 45,
  "parameters": {
    "length": { "value": 600, "min": 50, "max": 3000, "label": "Length" },
    "width": { "value": 75, "min": 10, "max": 1000, "label": "Plank width" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["0", "width", "length", "2 * width"] },
    { "rect": ["length", "2 * width - length", "length + width", "2 * width"] },
    { "rect": ["length + width", "2 * width - length", "length + 2 * width", "2 * width"] }
  ],
  "lattice": { "a": ["2 * width", "2 * width"], "b": ["-length", "length"] }
}
,"double-hit-and-miss-bond":{
  "schema": 1,
  "id": "double-hit-and-miss-bond",
  "name": "Double hit and miss bond",
  "category": "brick",
  "coverage": "partial",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 400, "label": "Length" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height" },
    "void": { "expr": "length / 2" },
    "period": { "expr": "2 * length + void" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "2 * length", "width"] }
  ],
  "lattice": { "a": ["period", "0"], "b": ["period / 2", "width"] }
}
,"double-roman-tile":{
  "schema": 1,
  "id": "double-roman-tile",
  "name": "Double Roman tile",
  "category": "lapped",
  "parameters": {
    "coverWidth": { "value": 300, "min": 150, "max": 500, "label": "Cover width" },
    "gauge": { "value": 345, "min": 150, "max": 600, "label": "Gauge (visible height)" },
    "rollFraction": { "expr": "0.4" },
    "riseRatio": { "expr": "0.47" },
    "roll": { "expr": "coverWidth * rollFraction" },
    "pan": { "expr": "coverWidth - roll" },
    "rise": { "expr": "riseRatio * roll / 2" },
    "arcRadius": { "expr": "(roll * roll / 4 + rise * rise) / (2 * rise)" }
  },
  "tiles": [
    { "rect": ["0", "0", "coverWidth", "gauge"], "grain": ["0", "1"] }
  ],
  "lattice": { "a": ["coverWidth", "0"], "b": ["0", "gauge"] },
  "body": {
    "profile": {
      "start": ["0", "0"],
      "section": [
        { "line": { "to": ["pan", "0"] } },
        { "arc": { "center": ["pan + roll / 2", "rise - arcRadius"], "from": ["pan", "0"], "to": ["coverWidth", "0"], "clockwise": true } }
      ]
    }
  },
  "lap": {"rows": 75}
}
,"double-stretcher-bond":{
  "schema": 1,
  "id": "double-stretcher-bond",
  "name": "Double stretcher bond (paired courses)",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["0", "width", "length", "2 * width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["length / 2", "2 * width"] }
}
,"double-stretcher-header-bond":{
  "schema": 1,
  "id": "double-stretcher-header-bond",
  "name": "Double stretcher bond with upright header",
  "category": "brick",
  "parameters": {
    "length": {
      "value": 600,
      "min": 100,
      "max": 2000,
      "label": "Stretcher length (with joint)"
    },
    "width": {
      "value": 150,
      "min": 30,
      "max": 600,
      "label": "Course height (with joint)"
    },
    "headerWidth": {
      "expr": "length / 3"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "width"
      ]
    },
    {
      "rect": [
        "0",
        "width",
        "length",
        "2 * width"
      ]
    },
    {
      "rect": [
        "length",
        "0",
        "length + headerWidth",
        "2 * width"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length + headerWidth",
      "0"
    ],
    "b": [
      "headerWidth - length",
      "2 * width"
    ]
  }
}
,"double-t":{
  "schema": 1,
  "id": "double-t",
  "name": "Double-T",
  "category": "stone",
  "parameters": {
    "length": { "value": 200, "min": 60, "max": 600, "label": "Length" },
    "width": { "value": 165, "min": 60, "max": 500, "label": "Width" },
    "endLength": { "expr": "length / 4" },
    "notchDepth": { "expr": "0.1818181818 * width" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["endLength", "0"],
        ["endLength", "notchDepth"],
        ["length - endLength", "notchDepth"],
        ["length - endLength", "0"],
        ["length", "0"],
        ["length", "width"],
        ["length - endLength", "width"],
        ["length - endLength", "width - notchDepth"],
        ["endLength", "width - notchDepth"],
        ["endLength", "width"],
        ["0", "width"]
      ]
    }
  ],
  "lattice": {
    "a": ["length", "0"],
    "b": ["length / 2", "width - notchDepth"]
  }
}
,"double-zigzag-paver":{
  "schema": 1,
  "id": "double-zigzag-paver",
  "name": "Double zig-zag paver",
  "category": "stone",
  "parameters": {
    "width": {
      "value": 100,
      "min": 40,
      "max": 400,
      "label": "Block width"
    },
    "amplitude": {
      "expr": "width / 10"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "1 * width / 3",
          "-amplitude"
        ],
        [
          "2 * width / 3",
          "amplitude"
        ],
        [
          "width",
          "0"
        ],
        [
          "width + amplitude",
          "1 * width / 3"
        ],
        [
          "width - amplitude",
          "2 * width / 3"
        ],
        [
          "width",
          "width"
        ],
        [
          "width + amplitude",
          "4 * width / 3"
        ],
        [
          "width - amplitude",
          "5 * width / 3"
        ],
        [
          "width",
          "2 * width"
        ],
        [
          "2 * width / 3",
          "2 * width + amplitude"
        ],
        [
          "1 * width / 3",
          "2 * width - amplitude"
        ],
        [
          "0",
          "2 * width"
        ],
        [
          "-amplitude",
          "5 * width / 3"
        ],
        [
          "amplitude",
          "4 * width / 3"
        ],
        [
          "0",
          "width"
        ],
        [
          "-amplitude",
          "2 * width / 3"
        ],
        [
          "amplitude",
          "1 * width / 3"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "width",
          "0"
        ],
        [
          "4 * width / 3",
          "-amplitude"
        ],
        [
          "5 * width / 3",
          "amplitude"
        ],
        [
          "2 * width",
          "0"
        ],
        [
          "2 * width + amplitude",
          "1 * width / 3"
        ],
        [
          "2 * width - amplitude",
          "2 * width / 3"
        ],
        [
          "2 * width",
          "width"
        ],
        [
          "2 * width + amplitude",
          "4 * width / 3"
        ],
        [
          "2 * width - amplitude",
          "5 * width / 3"
        ],
        [
          "2 * width",
          "2 * width"
        ],
        [
          "5 * width / 3",
          "2 * width + amplitude"
        ],
        [
          "4 * width / 3",
          "2 * width - amplitude"
        ],
        [
          "width",
          "2 * width"
        ],
        [
          "width - amplitude",
          "5 * width / 3"
        ],
        [
          "width + amplitude",
          "4 * width / 3"
        ],
        [
          "width",
          "width"
        ],
        [
          "width - amplitude",
          "2 * width / 3"
        ],
        [
          "width + amplitude",
          "1 * width / 3"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "4 * width",
          "0"
        ],
        [
          "4 * width + amplitude",
          "1 * width / 3"
        ],
        [
          "4 * width - amplitude",
          "2 * width / 3"
        ],
        [
          "4 * width",
          "width"
        ],
        [
          "11 * width / 3",
          "width + amplitude"
        ],
        [
          "10 * width / 3",
          "width - amplitude"
        ],
        [
          "3 * width",
          "width"
        ],
        [
          "8 * width / 3",
          "width + amplitude"
        ],
        [
          "7 * width / 3",
          "width - amplitude"
        ],
        [
          "2 * width",
          "width"
        ],
        [
          "2 * width - amplitude",
          "2 * width / 3"
        ],
        [
          "2 * width + amplitude",
          "1 * width / 3"
        ],
        [
          "2 * width",
          "0"
        ],
        [
          "7 * width / 3",
          "-amplitude"
        ],
        [
          "8 * width / 3",
          "amplitude"
        ],
        [
          "3 * width",
          "0"
        ],
        [
          "10 * width / 3",
          "-amplitude"
        ],
        [
          "11 * width / 3",
          "amplitude"
        ]
      ],
      "grain": [
        "1",
        "0"
      ]
    },
    {
      "polygon": [
        [
          "4 * width",
          "width"
        ],
        [
          "4 * width + amplitude",
          "4 * width / 3"
        ],
        [
          "4 * width - amplitude",
          "5 * width / 3"
        ],
        [
          "4 * width",
          "2 * width"
        ],
        [
          "11 * width / 3",
          "2 * width + amplitude"
        ],
        [
          "10 * width / 3",
          "2 * width - amplitude"
        ],
        [
          "3 * width",
          "2 * width"
        ],
        [
          "8 * width / 3",
          "2 * width + amplitude"
        ],
        [
          "7 * width / 3",
          "2 * width - amplitude"
        ],
        [
          "2 * width",
          "2 * width"
        ],
        [
          "2 * width - amplitude",
          "5 * width / 3"
        ],
        [
          "2 * width + amplitude",
          "4 * width / 3"
        ],
        [
          "2 * width",
          "width"
        ],
        [
          "7 * width / 3",
          "width - amplitude"
        ],
        [
          "8 * width / 3",
          "width + amplitude"
        ],
        [
          "3 * width",
          "width"
        ],
        [
          "10 * width / 3",
          "width - amplitude"
        ],
        [
          "11 * width / 3",
          "width + amplitude"
        ]
      ],
      "grain": [
        "1",
        "0"
      ]
    },
    {
      "polygon": [
        [
          "2 * width",
          "2 * width"
        ],
        [
          "2 * width + amplitude",
          "7 * width / 3"
        ],
        [
          "2 * width - amplitude",
          "8 * width / 3"
        ],
        [
          "2 * width",
          "3 * width"
        ],
        [
          "5 * width / 3",
          "3 * width + amplitude"
        ],
        [
          "4 * width / 3",
          "3 * width - amplitude"
        ],
        [
          "width",
          "3 * width"
        ],
        [
          "2 * width / 3",
          "3 * width + amplitude"
        ],
        [
          "1 * width / 3",
          "3 * width - amplitude"
        ],
        [
          "0",
          "3 * width"
        ],
        [
          "-amplitude",
          "8 * width / 3"
        ],
        [
          "amplitude",
          "7 * width / 3"
        ],
        [
          "0",
          "2 * width"
        ],
        [
          "1 * width / 3",
          "2 * width - amplitude"
        ],
        [
          "2 * width / 3",
          "2 * width + amplitude"
        ],
        [
          "width",
          "2 * width"
        ],
        [
          "4 * width / 3",
          "2 * width - amplitude"
        ],
        [
          "5 * width / 3",
          "2 * width + amplitude"
        ]
      ],
      "grain": [
        "1",
        "0"
      ]
    },
    {
      "polygon": [
        [
          "2 * width",
          "3 * width"
        ],
        [
          "2 * width + amplitude",
          "10 * width / 3"
        ],
        [
          "2 * width - amplitude",
          "11 * width / 3"
        ],
        [
          "2 * width",
          "4 * width"
        ],
        [
          "5 * width / 3",
          "4 * width + amplitude"
        ],
        [
          "4 * width / 3",
          "4 * width - amplitude"
        ],
        [
          "width",
          "4 * width"
        ],
        [
          "2 * width / 3",
          "4 * width + amplitude"
        ],
        [
          "1 * width / 3",
          "4 * width - amplitude"
        ],
        [
          "0",
          "4 * width"
        ],
        [
          "-amplitude",
          "11 * width / 3"
        ],
        [
          "amplitude",
          "10 * width / 3"
        ],
        [
          "0",
          "3 * width"
        ],
        [
          "1 * width / 3",
          "3 * width - amplitude"
        ],
        [
          "2 * width / 3",
          "3 * width + amplitude"
        ],
        [
          "width",
          "3 * width"
        ],
        [
          "4 * width / 3",
          "3 * width - amplitude"
        ],
        [
          "5 * width / 3",
          "3 * width + amplitude"
        ]
      ],
      "grain": [
        "1",
        "0"
      ]
    },
    {
      "polygon": [
        [
          "2 * width",
          "2 * width"
        ],
        [
          "7 * width / 3",
          "2 * width - amplitude"
        ],
        [
          "8 * width / 3",
          "2 * width + amplitude"
        ],
        [
          "3 * width",
          "2 * width"
        ],
        [
          "3 * width + amplitude",
          "7 * width / 3"
        ],
        [
          "3 * width - amplitude",
          "8 * width / 3"
        ],
        [
          "3 * width",
          "3 * width"
        ],
        [
          "3 * width + amplitude",
          "10 * width / 3"
        ],
        [
          "3 * width - amplitude",
          "11 * width / 3"
        ],
        [
          "3 * width",
          "4 * width"
        ],
        [
          "8 * width / 3",
          "4 * width + amplitude"
        ],
        [
          "7 * width / 3",
          "4 * width - amplitude"
        ],
        [
          "2 * width",
          "4 * width"
        ],
        [
          "2 * width - amplitude",
          "11 * width / 3"
        ],
        [
          "2 * width + amplitude",
          "10 * width / 3"
        ],
        [
          "2 * width",
          "3 * width"
        ],
        [
          "2 * width - amplitude",
          "8 * width / 3"
        ],
        [
          "2 * width + amplitude",
          "7 * width / 3"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "3 * width",
          "2 * width"
        ],
        [
          "10 * width / 3",
          "2 * width - amplitude"
        ],
        [
          "11 * width / 3",
          "2 * width + amplitude"
        ],
        [
          "4 * width",
          "2 * width"
        ],
        [
          "4 * width + amplitude",
          "7 * width / 3"
        ],
        [
          "4 * width - amplitude",
          "8 * width / 3"
        ],
        [
          "4 * width",
          "3 * width"
        ],
        [
          "4 * width + amplitude",
          "10 * width / 3"
        ],
        [
          "4 * width - amplitude",
          "11 * width / 3"
        ],
        [
          "4 * width",
          "4 * width"
        ],
        [
          "11 * width / 3",
          "4 * width + amplitude"
        ],
        [
          "10 * width / 3",
          "4 * width - amplitude"
        ],
        [
          "3 * width",
          "4 * width"
        ],
        [
          "3 * width - amplitude",
          "11 * width / 3"
        ],
        [
          "3 * width + amplitude",
          "10 * width / 3"
        ],
        [
          "3 * width",
          "3 * width"
        ],
        [
          "3 * width - amplitude",
          "8 * width / 3"
        ],
        [
          "3 * width + amplitude",
          "7 * width / 3"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * width",
      "0"
    ],
    "b": [
      "0",
      "4 * width"
    ]
  }
}
,"dutch-bond":{
  "schema": 1,
  "id": "dutch-bond",
  "name": "Dutch bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["length / 4", "0", "3 * length / 4", "width"] },
    { "rect": ["3 * length / 4", "0", "5 * length / 4", "width"] },
    { "rect": ["5 * length / 4", "0", "7 * length / 4", "width"] },
    { "rect": ["0", "width", "length", "2 * width"] },
    { "rect": ["length", "width", "3 * length / 2", "2 * width"] }
  ],
  "lattice": { "a": ["3 * length / 2", "0"], "b": ["0", "2 * width"] }
}
,"eight-star-single-tile":{
  "schema": 1,
  "id": "eight-star-single-tile",
  "name": "Octagon rosette with four-point stars",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 40, "min": 10, "max": 200, "label": "Octagon edge"},
    "circumradius": {"expr": "edge / (2 * sin(22.5))"},
    "inradius": {"expr": "circumradius * cos(22.5)"},
    "tipRadius": {"expr": "(2 - sqrt(2)) * inradius"},
    "notchRadius": {"expr": "tipRadius * cos(45) / cos(22.5)"},
    "cornerNotchRadius": {"expr": "circumradius * (sqrt(2) - 1)"}
  },
  "tiles": [
    {
      "polygon": [
        ["tipRadius * cos(22.5)", "tipRadius * sin(22.5)"],
        ["notchRadius * cos(45)", "notchRadius * sin(45)"],
        ["tipRadius * cos(67.5)", "tipRadius * sin(67.5)"],
        ["notchRadius * cos(90)", "notchRadius * sin(90)"],
        ["tipRadius * cos(112.5)", "tipRadius * sin(112.5)"],
        ["notchRadius * cos(135)", "notchRadius * sin(135)"],
        ["tipRadius * cos(157.5)", "tipRadius * sin(157.5)"],
        ["notchRadius * cos(180)", "notchRadius * sin(180)"],
        ["tipRadius * cos(202.5)", "tipRadius * sin(202.5)"],
        ["notchRadius * cos(225)", "notchRadius * sin(225)"],
        ["tipRadius * cos(247.5)", "tipRadius * sin(247.5)"],
        ["notchRadius * cos(270)", "notchRadius * sin(270)"],
        ["tipRadius * cos(292.5)", "tipRadius * sin(292.5)"],
        ["notchRadius * cos(315)", "notchRadius * sin(315)"],
        ["tipRadius * cos(337.5)", "tipRadius * sin(337.5)"],
        ["notchRadius * cos(360)", "notchRadius * sin(360)"]
      ]
    },
    {
      "repeat": {"index": "k", "count": "8"},
      "transform": [{"rotate": {"angle": "45 * k", "center": ["0", "0"]}}],
      "polygon": [
        ["circumradius * cos(0)", "circumradius * sin(0)"],
        ["inradius * cos(22.5)", "inradius * sin(22.5)"],
        ["tipRadius * cos(22.5)", "tipRadius * sin(22.5)"],
        ["notchRadius * cos(0)", "notchRadius * sin(0)"],
        ["tipRadius * cos(-22.5)", "tipRadius * sin(-22.5)"],
        ["inradius * cos(-22.5)", "inradius * sin(-22.5)"]
      ]
    },
    {
      "polygon": [
        ["circumradius + circumradius * cos(-90)", "circumradius + circumradius * sin(-90)"],
        ["circumradius + cornerNotchRadius * cos(-45)", "circumradius + cornerNotchRadius * sin(-45)"],
        ["circumradius + circumradius * cos(0)", "circumradius + circumradius * sin(0)"],
        ["circumradius + cornerNotchRadius * cos(45)", "circumradius + cornerNotchRadius * sin(45)"],
        ["circumradius + circumradius * cos(90)", "circumradius + circumradius * sin(90)"],
        ["circumradius + cornerNotchRadius * cos(135)", "circumradius + cornerNotchRadius * sin(135)"],
        ["circumradius + circumradius * cos(180)", "circumradius + circumradius * sin(180)"],
        ["circumradius + cornerNotchRadius * cos(225)", "circumradius + cornerNotchRadius * sin(225)"]
      ]
    }
  ],
  "lattice": {
    "a": ["2 * circumradius", "0"],
    "b": ["0", "2 * circumradius"]
  }
}
,"eight-star-squares-khargird":{
  "schema": 1,
  "id": "eight-star-squares-khargird",
  "name": "Eight-point star and square checkerboard",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 40, "min": 10, "max": 150, "label": "Small square side"},
    "unitLength": {"expr": "edge * (2 + sqrt(2))"}
  },
  "tiles": [
    {
      "polygon": [
        ["0", "unitLength * (-2 + sqrt(2)) / 2"],
        ["unitLength * (3 - 2 * sqrt(2)) / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (-3 + 2 * sqrt(2)) / 2"],
        ["unitLength * (2 - sqrt(2)) / 2", "0"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (3 - 2 * sqrt(2)) / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["unitLength * (3 - 2 * sqrt(2)) / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["0", "unitLength * (2 - sqrt(2)) / 2"],
        ["unitLength * (-3 + 2 * sqrt(2)) / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["unitLength * (1 - sqrt(2)) / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["unitLength * (1 - sqrt(2)) / 2", "unitLength * (3 - 2 * sqrt(2)) / 2"],
        ["unitLength * (-2 + sqrt(2)) / 2", "0"],
        ["unitLength * (1 - sqrt(2)) / 2", "unitLength * (-3 + 2 * sqrt(2)) / 2"],
        ["unitLength * (1 - sqrt(2)) / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength * (-3 + 2 * sqrt(2)) / 2", "unitLength * (1 - sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (3 - 2 * sqrt(2)) / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength / 2"],
        ["0", "unitLength * (2 - sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (-1 + 2 * sqrt(2)) / 2", "unitLength * (-3 + sqrt(2)) / 2"],
        ["unitLength", "unitLength * -sqrt(2) / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "-unitLength / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength * (-3 + sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (-1 + 2 * sqrt(2)) / 2", "unitLength * (3 - sqrt(2)) / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength * (3 - sqrt(2)) / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength / 2"],
        ["unitLength", "unitLength * sqrt(2) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (3 - 2 * sqrt(2)) / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["0", "unitLength * (-2 + sqrt(2)) / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "-unitLength / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (1 - sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength", "unitLength * -sqrt(2) / 2"],
        ["unitLength * (1 + sqrt(2)) / 2", "-unitLength / 2"],
        ["unitLength", "unitLength * (-2 + sqrt(2)) / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "-unitLength / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength / 2"],
        ["unitLength / 2", "unitLength / 2"],
        ["unitLength / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (-1 + sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (3 - 2 * sqrt(2)) / 2"],
        ["unitLength * (2 - sqrt(2)) / 2", "0"],
        ["unitLength / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (-1 + sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (-3 + 2 * sqrt(2)) / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength * (2 - sqrt(2)) / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (-1 + sqrt(2)) / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength / 2", "-unitLength / 2"],
        ["unitLength * (-1 + sqrt(2)) / 2", "-unitLength / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength * (-3 + sqrt(2)) / 2"],
        ["unitLength / 2", "unitLength * (-3 + sqrt(2)) / 2"],
        ["unitLength * sqrt(2) / 2", "-unitLength"],
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength * (1 - 2 * sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength / 2", "-unitLength / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "-unitLength / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength * (-3 + sqrt(2)) / 2"],
        ["unitLength / 2", "unitLength * (-3 + sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength * (-1 + 2 * sqrt(2)) / 2"],
        ["unitLength * sqrt(2) / 2", "unitLength"],
        ["unitLength / 2", "unitLength * (3 - sqrt(2)) / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength * (3 - sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength / 2", "unitLength * (3 - sqrt(2)) / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength * (3 - sqrt(2)) / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength / 2"],
        ["unitLength / 2", "unitLength / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength", "unitLength * sqrt(2) / 2"],
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength / 2"],
        ["unitLength", "unitLength * (2 - sqrt(2)) / 2"],
        ["unitLength * (1 + sqrt(2)) / 2", "unitLength / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (2 - sqrt(2)) / 2", "0"],
        ["unitLength / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength * sqrt(2) / 2", "0"],
        ["unitLength / 2", "unitLength * (-1 + sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (2 + sqrt(2)) / 2", "0"],
        ["unitLength * 3 / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["unitLength * (4 - sqrt(2)) / 2", "0"],
        ["unitLength * 3 / 2", "unitLength * (1 - sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (1 + sqrt(2)) / 2", "-unitLength / 2"],
        ["unitLength * 3 / 2", "-unitLength / 2"],
        ["unitLength * (4 - sqrt(2)) / 2", "unitLength * (-2 + sqrt(2)) / 2"],
        ["unitLength", "unitLength * (-2 + sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (3 - sqrt(2)) / 2", "-unitLength / 2"],
        ["unitLength", "unitLength * (-2 + sqrt(2)) / 2"],
        ["unitLength * sqrt(2) / 2", "unitLength * (-2 + sqrt(2)) / 2"],
        ["unitLength / 2", "-unitLength / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (3 - sqrt(2)) / 2", "unitLength / 2"],
        ["unitLength / 2", "unitLength / 2"],
        ["unitLength * sqrt(2) / 2", "unitLength * (2 - sqrt(2)) / 2"],
        ["unitLength", "unitLength * (2 - sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (1 + sqrt(2)) / 2", "unitLength / 2"],
        ["unitLength", "unitLength * (2 - sqrt(2)) / 2"],
        ["unitLength * (4 - sqrt(2)) / 2", "unitLength * (2 - sqrt(2)) / 2"],
        ["unitLength * 3 / 2", "unitLength / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (4 - sqrt(2)) / 2", "unitLength * (-2 + sqrt(2)) / 2"],
        ["unitLength * (4 - sqrt(2)) / 2", "unitLength * (2 - sqrt(2)) / 2"],
        ["unitLength * sqrt(2) / 2", "unitLength * (2 - sqrt(2)) / 2"],
        ["unitLength * sqrt(2) / 2", "unitLength * (-2 + sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * (4 - sqrt(2)) / 2", "unitLength * (-2 + sqrt(2)) / 2"],
        ["unitLength * 3 / 2", "-unitLength / 2"],
        ["unitLength * 3 / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength * (4 - sqrt(2)) / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["unitLength * sqrt(2) / 2", "unitLength * (-2 + sqrt(2)) / 2"],
        ["unitLength * sqrt(2) / 2", "0"],
        ["unitLength / 2", "unitLength * (1 - sqrt(2)) / 2"],
        ["unitLength / 2", "-unitLength / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength * 3 / 2", "unitLength / 2"],
        ["unitLength * (4 - sqrt(2)) / 2", "unitLength * (2 - sqrt(2)) / 2"],
        ["unitLength * (4 - sqrt(2)) / 2", "0"],
        ["unitLength * 3 / 2", "unitLength * (-1 + sqrt(2)) / 2"]
      ]
    },
    {
      "polygon": [
        ["unitLength / 2", "unitLength / 2"],
        ["unitLength / 2", "unitLength * (-1 + sqrt(2)) / 2"],
        ["unitLength * sqrt(2) / 2", "0"],
        ["unitLength * sqrt(2) / 2", "unitLength * (2 - sqrt(2)) / 2"]
      ]
    }
  ],
  "lattice": {
    "a": ["unitLength", "unitLength"],
    "b": ["unitLength", "-unitLength"]
  }
}
,"eight-star-twelve-star-kite":{
  "schema": 1,
  "id": "eight-star-twelve-star-kite",
  "name": "Eight- and twelve-point stars with kites",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 30, "min": 10, "max": 100, "label": "Star edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["-sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["0", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "0"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["0", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["-sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "0"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "0"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2"],
        ["(1 + 3 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3) + sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(-1 + 2 * sqrt(2) + sqrt(3) + sqrt(6)) * edge / 2", "(1 + 3 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-1 + sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["0", "(2 * sqrt(2) + sqrt(6)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge", "0"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(1 - sqrt(3)) * edge / 2"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2"],
        ["(-1 - 3 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3) - sqrt(6)) * edge / 2", "(-1 - 3 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(1 - sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["0", "(-2 * sqrt(2) - sqrt(6)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(2 + 3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(2 + 2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(1 + sqrt(2) + sqrt(6)) * edge", "(1 + sqrt(2) + sqrt(6)) * edge"],
        ["(2 + 2 * sqrt(2) + sqrt(6)) * edge / 2", "(2 + 3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-2 - 3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-2 - 2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-1 - sqrt(2) - sqrt(6)) * edge", "(-1 - sqrt(2) - sqrt(6)) * edge"],
        ["(-2 - 2 * sqrt(2) - sqrt(6)) * edge / 2", "(-2 - 3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["0", "(-2 * sqrt(2) - sqrt(6)) * edge"],
        ["(-1 + sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-1 + 2 * sqrt(2) + sqrt(3) + sqrt(6)) * edge / 2", "(-1 - 3 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(1 + 3 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3) - sqrt(6)) * edge / 2"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(1 - sqrt(3)) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["0", "(2 * sqrt(2) + sqrt(6)) * edge"],
        ["(1 - sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3) - sqrt(6)) * edge / 2", "(1 + 3 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-1 - 3 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(-2 - 2 * sqrt(2) - sqrt(6)) * edge / 2", "(2 + 3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(-1 - sqrt(2) - sqrt(6)) * edge", "(1 + sqrt(2) + sqrt(6)) * edge"],
        ["(-2 - 3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(2 + 2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(2 + 2 * sqrt(2) + sqrt(6)) * edge / 2", "(-2 - 3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(1 + sqrt(2) + sqrt(6)) * edge", "(-1 - sqrt(2) - sqrt(6)) * edge"],
        ["(2 + 3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-2 - 2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(2) + sqrt(6)) * edge", "(1 + sqrt(2) + sqrt(6)) * edge"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-2 + 6 * sqrt(2) + 4 * sqrt(3) + 3 * sqrt(6)) * edge / 4"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(18 * sqrt(2) + 10 * sqrt(3) + 13 * sqrt(6)) * edge / 12"],
        ["(6 + 24 * sqrt(2) + 13 * sqrt(3) + 10 * sqrt(6)) * edge / 12", "(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12"],
        ["(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12", "(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12"],
        ["(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12", "(6 + 24 * sqrt(2) + 13 * sqrt(3) + 10 * sqrt(6)) * edge / 12"],
        ["(18 * sqrt(2) + 10 * sqrt(3) + 13 * sqrt(6)) * edge / 12", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(-2 + 6 * sqrt(2) + 4 * sqrt(3) + 3 * sqrt(6)) * edge / 4", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(2) - sqrt(6)) * edge", "(-1 - sqrt(2) - sqrt(6)) * edge"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(2 - 6 * sqrt(2) - 4 * sqrt(3) - 3 * sqrt(6)) * edge / 4"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 3", "(-18 * sqrt(2) - 10 * sqrt(3) - 13 * sqrt(6)) * edge / 12"],
        ["(-6 - 24 * sqrt(2) - 13 * sqrt(3) - 10 * sqrt(6)) * edge / 12", "(-6 - 18 * sqrt(2) - sqrt(3) - 19 * sqrt(6)) * edge / 12"],
        ["(-6 - 18 * sqrt(2) - sqrt(3) - 19 * sqrt(6)) * edge / 12", "(-6 - 18 * sqrt(2) - sqrt(3) - 19 * sqrt(6)) * edge / 12"],
        ["(-6 - 18 * sqrt(2) - sqrt(3) - 19 * sqrt(6)) * edge / 12", "(-6 - 24 * sqrt(2) - 13 * sqrt(3) - 10 * sqrt(6)) * edge / 12"],
        ["(-18 * sqrt(2) - 10 * sqrt(3) - 13 * sqrt(6)) * edge / 12", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 3"],
        ["(2 - 6 * sqrt(2) - 4 * sqrt(3) - 3 * sqrt(6)) * edge / 4", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(2) - sqrt(6)) * edge", "(1 + sqrt(2) + sqrt(6)) * edge"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(2 - 6 * sqrt(2) - 4 * sqrt(3) - 3 * sqrt(6)) * edge / 4", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-18 * sqrt(2) - 10 * sqrt(3) - 13 * sqrt(6)) * edge / 12", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(-6 - 18 * sqrt(2) - sqrt(3) - 19 * sqrt(6)) * edge / 12", "(6 + 24 * sqrt(2) + 13 * sqrt(3) + 10 * sqrt(6)) * edge / 12"],
        ["(-6 - 18 * sqrt(2) - sqrt(3) - 19 * sqrt(6)) * edge / 12", "(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12"],
        ["(-6 - 24 * sqrt(2) - 13 * sqrt(3) - 10 * sqrt(6)) * edge / 12", "(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 3", "(18 * sqrt(2) + 10 * sqrt(3) + 13 * sqrt(6)) * edge / 12"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-2 + 6 * sqrt(2) + 4 * sqrt(3) + 3 * sqrt(6)) * edge / 4"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(2) + sqrt(6)) * edge", "(-1 - sqrt(2) - sqrt(6)) * edge"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-2 + 6 * sqrt(2) + 4 * sqrt(3) + 3 * sqrt(6)) * edge / 4", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(18 * sqrt(2) + 10 * sqrt(3) + 13 * sqrt(6)) * edge / 12", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 3"],
        ["(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12", "(-6 - 24 * sqrt(2) - 13 * sqrt(3) - 10 * sqrt(6)) * edge / 12"],
        ["(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12", "(-6 - 18 * sqrt(2) - sqrt(3) - 19 * sqrt(6)) * edge / 12"],
        ["(6 + 24 * sqrt(2) + 13 * sqrt(3) + 10 * sqrt(6)) * edge / 12", "(-6 - 18 * sqrt(2) - sqrt(3) - 19 * sqrt(6)) * edge / 12"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(-18 * sqrt(2) - 10 * sqrt(3) - 13 * sqrt(6)) * edge / 12"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(2 - 6 * sqrt(2) - 4 * sqrt(3) - 3 * sqrt(6)) * edge / 4"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "0"],
        ["(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6", "(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2"],
        ["(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(2 + 2 * sqrt(2) + 2 * sqrt(6)) * edge / 3"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(2 + 2 * sqrt(2) + 2 * sqrt(6)) * edge / 3", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6", "(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6"],
        ["(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2", "(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6"],
        ["0", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"]
      ]
    },
    {
      "polygon": [
        ["0", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2", "(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6", "(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6"],
        ["(-2 - 2 * sqrt(2) - 2 * sqrt(6)) * edge / 3", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "0"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(-2 - 2 * sqrt(2) - 2 * sqrt(6)) * edge / 3"],
        ["(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6"],
        ["(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6", "(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12", "(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12"],
        ["(6 + 24 * sqrt(2) + 13 * sqrt(3) + 10 * sqrt(6)) * edge / 12", "(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(18 * sqrt(2) + 10 * sqrt(3) + 13 * sqrt(6)) * edge / 12"],
        ["(18 + 24 * sqrt(2) - 5 * sqrt(3) + 22 * sqrt(6)) * edge / 12", "(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12"],
        ["(18 + 30 * sqrt(2) + 7 * sqrt(3) + 13 * sqrt(6)) * edge / 12", "(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12"],
        ["(18 + 30 * sqrt(2) + 7 * sqrt(3) + 13 * sqrt(6)) * edge / 12", "(6 + 24 * sqrt(2) + 13 * sqrt(3) + 10 * sqrt(6)) * edge / 12"],
        ["(24 + 30 * sqrt(2) - 2 * sqrt(3) + 19 * sqrt(6)) * edge / 12", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(18 + 30 * sqrt(2) + 7 * sqrt(3) + 13 * sqrt(6)) * edge / 12", "(18 + 24 * sqrt(2) - 5 * sqrt(3) + 22 * sqrt(6)) * edge / 12"],
        ["(18 + 30 * sqrt(2) + 7 * sqrt(3) + 13 * sqrt(6)) * edge / 12", "(18 + 30 * sqrt(2) + 7 * sqrt(3) + 13 * sqrt(6)) * edge / 12"],
        ["(18 + 24 * sqrt(2) - 5 * sqrt(3) + 22 * sqrt(6)) * edge / 12", "(18 + 30 * sqrt(2) + 7 * sqrt(3) + 13 * sqrt(6)) * edge / 12"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(24 + 30 * sqrt(2) - 2 * sqrt(3) + 19 * sqrt(6)) * edge / 12"],
        ["(6 + 24 * sqrt(2) + 13 * sqrt(3) + 10 * sqrt(6)) * edge / 12", "(18 + 30 * sqrt(2) + 7 * sqrt(3) + 13 * sqrt(6)) * edge / 12"],
        ["(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12", "(18 + 30 * sqrt(2) + 7 * sqrt(3) + 13 * sqrt(6)) * edge / 12"],
        ["(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12", "(18 + 24 * sqrt(2) - 5 * sqrt(3) + 22 * sqrt(6)) * edge / 12"],
        ["(18 * sqrt(2) + 10 * sqrt(3) + 13 * sqrt(6)) * edge / 12", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(6 + 18 * sqrt(2) + sqrt(3) + 19 * sqrt(6)) * edge / 12", "(6 + 24 * sqrt(2) + 13 * sqrt(3) + 10 * sqrt(6)) * edge / 12"]
      ]
    },
    {
      "polygon": [
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(2 + 2 * sqrt(2) + 2 * sqrt(6)) * edge / 3"],
        ["(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6"],
        ["(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6", "(-2 + 6 * sqrt(2) + 4 * sqrt(3) + 3 * sqrt(6)) * edge / 4"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(18 * sqrt(2) + 10 * sqrt(3) + 13 * sqrt(6)) * edge / 12"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-2 + 6 * sqrt(2) + 4 * sqrt(3) + 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-2 + 6 * sqrt(2) + 4 * sqrt(3) + 3 * sqrt(6)) * edge / 4", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(18 * sqrt(2) + 10 * sqrt(3) + 13 * sqrt(6)) * edge / 12", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(-2 + 6 * sqrt(2) + 4 * sqrt(3) + 3 * sqrt(6)) * edge / 4", "(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6", "(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6"],
        ["(2 + 2 * sqrt(2) + 2 * sqrt(6)) * edge / 3", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"]
      ]
    },
    {
      "polygon": [
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-2 - 2 * sqrt(2) - 2 * sqrt(6)) * edge / 3", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6", "(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6"],
        ["(2 - 6 * sqrt(2) - 4 * sqrt(3) - 3 * sqrt(6)) * edge / 4", "(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6"],
        ["(-18 * sqrt(2) - 10 * sqrt(3) - 13 * sqrt(6)) * edge / 12", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(2 - 6 * sqrt(2) - 4 * sqrt(3) - 3 * sqrt(6)) * edge / 4", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(2 - 6 * sqrt(2) - 4 * sqrt(3) - 3 * sqrt(6)) * edge / 4"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(-18 * sqrt(2) - 10 * sqrt(3) - 13 * sqrt(6)) * edge / 12"],
        ["(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6", "(2 - 6 * sqrt(2) - 4 * sqrt(3) - 3 * sqrt(6)) * edge / 4"],
        ["(9 + 12 * sqrt(2) + sqrt(3) + 10 * sqrt(6)) * edge / 6", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "(-2 - 2 * sqrt(2) - 2 * sqrt(6)) * edge / 3"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["0", "(2 * sqrt(2) + sqrt(6)) * edge"],
        ["-sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "0"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge", "0"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["-sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["0", "(-2 * sqrt(2) - sqrt(6)) * edge"],
        ["sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + sqrt(6)) * edge / 2", "0"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "0"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["-sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["-sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(1 + 3 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3) + sqrt(6)) * edge / 2"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6"],
        ["(1 + sqrt(2) + sqrt(6)) * edge", "(1 + sqrt(2) + sqrt(6)) * edge"],
        ["(2 + 3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(2 + 2 * sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(2 + 2 * sqrt(2) + sqrt(6)) * edge / 2", "(2 + 3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(1 + sqrt(2) + sqrt(6)) * edge", "(1 + sqrt(2) + sqrt(6)) * edge"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-1 + 2 * sqrt(2) + sqrt(3) + sqrt(6)) * edge / 2", "(1 + 3 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(2 * sqrt(2) + sqrt(6)) * edge"],
        ["(-1 + sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["0", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3"],
        ["(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(1 - sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-2 * sqrt(2) - sqrt(6)) * edge", "0"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 3", "0"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(-2 * sqrt(2) - sqrt(6)) * edge"],
        ["(1 - sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["0", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 3"],
        ["(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-1 + sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge", "0"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(1 - sqrt(3)) * edge / 2"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 3", "0"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-1 - 3 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6"],
        ["(-1 - sqrt(2) - sqrt(6)) * edge", "(-1 - sqrt(2) - sqrt(6)) * edge"],
        ["(-2 - 3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-2 - 2 * sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(-2 - 2 * sqrt(2) - sqrt(6)) * edge / 2", "(-2 - 3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(-1 - sqrt(2) - sqrt(6)) * edge", "(-1 - sqrt(2) - sqrt(6)) * edge"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3) - sqrt(6)) * edge / 2", "(-1 - 3 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(-1 + 2 * sqrt(2) + sqrt(3) + sqrt(6)) * edge / 2", "(-1 - 3 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6", "(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(1 + sqrt(2) + sqrt(6)) * edge", "(-1 - sqrt(2) - sqrt(6)) * edge"],
        ["(2 + 2 * sqrt(2) + sqrt(6)) * edge / 2", "(-2 - 3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(2 + 3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-2 - 2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(1 + sqrt(2) + sqrt(6)) * edge", "(-1 - sqrt(2) - sqrt(6)) * edge"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6"],
        ["(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2"],
        ["(1 + 3 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2", "(1 - 2 * sqrt(2) - sqrt(3) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3) - sqrt(6)) * edge / 2", "(1 + 3 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(1 - 2 * sqrt(2) - sqrt(3)) * edge / 2", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-3 - 6 * sqrt(2) - sqrt(3) - 4 * sqrt(6)) * edge / 6", "(1 + 4 * sqrt(2) + sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-1 - sqrt(2) - sqrt(6)) * edge", "(1 + sqrt(2) + sqrt(6)) * edge"],
        ["(-2 - 2 * sqrt(2) - sqrt(6)) * edge / 2", "(2 + 3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-2 - 3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(2 + 2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-1 - sqrt(2) - sqrt(6)) * edge", "(1 + sqrt(2) + sqrt(6)) * edge"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(3 + 6 * sqrt(2) + sqrt(3) + 4 * sqrt(6)) * edge / 6"],
        ["(-1 - 4 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3)) * edge / 2"],
        ["(-1 - 3 * sqrt(2) - sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-1 + 2 * sqrt(2) + sqrt(3) + sqrt(6)) * edge / 2"]
      ]
    }
  ],
  "lattice": {
    "a": ["(6 + 12 * sqrt(2) + 2 * sqrt(3) + 8 * sqrt(6)) * edge / 3", "0"],
    "b": ["0", "(6 + 12 * sqrt(2) + 2 * sqrt(3) + 8 * sqrt(6)) * edge / 3"]
  }
}
,"eight-star-twelve-star-minimal":{
  "schema": 1,
  "id": "eight-star-twelve-star-minimal",
  "name": "Eight- and twelve-point stars, minimal",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 30, "min": 10, "max": 100, "label": "Star edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-2 + 59 * sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 100"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 + 17 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 + 17 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(9 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(-2 + 59 * sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 100"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(11 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(-2 + 109 * sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 100"],
        ["(6 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(-1 + 67 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(6 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(11 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(-2 + 159 * sqrt(2) - 10 * sqrt(3) + 55 * sqrt(6)) * edge / 100"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(9 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(-2 + 209 * sqrt(2) - 10 * sqrt(3) + 55 * sqrt(6)) * edge / 100"],
        ["(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 + 117 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 + 117 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-2 + 209 * sqrt(2) - 10 * sqrt(3) + 55 * sqrt(6)) * edge / 100"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-2 + 159 * sqrt(2) - 10 * sqrt(3) + 55 * sqrt(6)) * edge / 100"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 67 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-2 + 109 * sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 100"]
      ]
    },
    {
      "polygon": [
        ["(-2 + sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["0", "(9 - 33 * sqrt(2) + 45 * sqrt(3) - 35 * sqrt(6)) * edge / 50"],
        ["(2 - sqrt(2) + 10 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 - 3 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["0", "(-1 + 67 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 - 3 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(9 - 38 * sqrt(2) + 45 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-3 * sqrt(2) - 5 * sqrt(6)) * edge / 5", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-1 + 17 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge", "(-1 - 33 * sqrt(2) - 5 * sqrt(3) - 35 * sqrt(6)) * edge / 50"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-1 - 83 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(-3 * sqrt(2) - 5 * sqrt(6)) * edge / 5", "(-1 - 38 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 - 38 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-11 - 28 * sqrt(2) - 55 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-1 - 5 * sqrt(3)) * edge / 5", "(-1 - 33 * sqrt(2) - 5 * sqrt(3) - 35 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-11 - 28 * sqrt(2) - 55 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 - 38 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 5 * sqrt(6)) * edge / 5", "(-1 - 38 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 - 83 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-1 - 33 * sqrt(2) - 5 * sqrt(3) - 35 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 + 17 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 5 * sqrt(6)) * edge / 5", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(9 - 38 * sqrt(2) + 45 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(1 + 5 * sqrt(3)) * edge / 5", "(-1 - 33 * sqrt(2) - 5 * sqrt(3) - 35 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["0", "(-1 + 67 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 + 137 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 + 162 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(2 - sqrt(2) + 10 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "(-1 + 162 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["0", "(-11 + 167 * sqrt(2) - 55 * sqrt(3) + 65 * sqrt(6)) * edge / 50"],
        ["(-2 + sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "(-1 + 162 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 + 162 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 + 137 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 - 38 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-11 - 28 * sqrt(2) - 55 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(1 + 5 * sqrt(3)) * edge / 5", "(-1 - 33 * sqrt(2) - 5 * sqrt(3) - 35 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(9 - 38 * sqrt(2) + 45 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(2 - sqrt(2) + 10 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["0", "(9 - 33 * sqrt(2) + 45 * sqrt(3) - 35 * sqrt(6)) * edge / 50"],
        ["(-2 + sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(9 - 38 * sqrt(2) + 45 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(-1 - 5 * sqrt(3)) * edge / 5", "(-1 - 33 * sqrt(2) - 5 * sqrt(3) - 35 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-11 - 28 * sqrt(2) - 55 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 - 38 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(-2 + sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "(-1 - 38 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["0", "(-11 - 33 * sqrt(2) - 55 * sqrt(3) - 35 * sqrt(6)) * edge / 50"],
        ["(2 - sqrt(2) + 10 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "(-1 - 38 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 - 3 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-2 + 109 * sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 100"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-2 + 59 * sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 100"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-1 + 17 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(-3 * sqrt(2) - 5 * sqrt(6)) * edge / 5", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 5 * sqrt(6)) * edge / 5", "(-1 - 28 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 + 17 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-2 + 59 * sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 100"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-2 + 109 * sqrt(2) - 10 * sqrt(3) + 5 * sqrt(6)) * edge / 100"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 - 3 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 + 137 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(-sqrt(2) - 5 * sqrt(6)) * edge / 10", "(-1 + 162 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(-3 * sqrt(2) - 5 * sqrt(6)) * edge / 5", "(-1 + 162 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-1 + 117 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-2 + 209 * sqrt(2) - 10 * sqrt(3) + 55 * sqrt(6)) * edge / 100"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-2 + 159 * sqrt(2) - 10 * sqrt(3) + 55 * sqrt(6)) * edge / 100"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-2 + 159 * sqrt(2) - 10 * sqrt(3) + 55 * sqrt(6)) * edge / 100"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-2 + 209 * sqrt(2) - 10 * sqrt(3) + 55 * sqrt(6)) * edge / 100"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 + 117 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 5 * sqrt(6)) * edge / 5", "(-1 + 162 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 + 162 * sqrt(2) - 5 * sqrt(3) + 40 * sqrt(6)) * edge / 50"],
        ["(sqrt(2) + 5 * sqrt(6)) * edge / 10", "(-1 + 137 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["0", "(-1 + 67 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(-1 + 67 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-1 - 33 * sqrt(2) - 5 * sqrt(3) - 35 * sqrt(6)) * edge / 50"],
        ["(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 + 17 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 + 17 * sqrt(2) - 5 * sqrt(3) - 10 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-1 - 33 * sqrt(2) - 5 * sqrt(3) - 35 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 - 83 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-1 - 108 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"],
        ["(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-1 - 83 * sqrt(2) - 5 * sqrt(3) - 60 * sqrt(6)) * edge / 50"]
      ]
    },
    {
      "polygon": [
        ["0", "(-1 + 67 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 42 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 67 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "(-1 + 92 * sqrt(2) - 5 * sqrt(3) + 15 * sqrt(6)) * edge / 50"]
      ]
    }
  ],
  "lattice": {
    "a": ["(4 * sqrt(2) + 2 * sqrt(6)) * edge", "0"],
    "b": ["0", "(4 * sqrt(2) + 2 * sqrt(6)) * edge"]
  }
}
,"eight-twelve-star-triangle":{
  "schema": 1,
  "id": "eight-twelve-star-triangle",
  "name": "Eight- and twelve-point stars with triangles",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 30, "min": 10, "max": 100, "label": "Star edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "0"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["0", "(3 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["-sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "0"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["-sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["0", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge"],
        ["(-sqrt(2) - 2 * sqrt(6)) * edge / 2", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(2 * sqrt(2) + 2 * sqrt(6)) * edge"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 9 * sqrt(6)) * edge / 4"],
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(9 * sqrt(2) + 9 * sqrt(6)) * edge / 4"],
        ["(-4 * sqrt(2) - sqrt(6)) * edge / 2", "(3 * sqrt(2) + 4 * sqrt(6)) * edge / 2"],
        ["(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6", "(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6"],
        ["(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6", "(-6 + 15 * sqrt(2) + 8 * sqrt(3) + 5 * sqrt(6)) * edge / 6"],
        ["(-6 - 12 * sqrt(2) + 8 * sqrt(3) - 9 * sqrt(6)) * edge / 6", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6", "(6 + 9 * sqrt(2) - 8 * sqrt(3) + 13 * sqrt(6)) * edge / 6"],
        ["(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(-4 * sqrt(2) - sqrt(6)) * edge / 2", "(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(9 * sqrt(2) + 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(9 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-4 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6"],
        ["(6 + 9 * sqrt(2) - 8 * sqrt(3) + 13 * sqrt(6)) * edge / 6", "(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(-6 - 12 * sqrt(2) + 8 * sqrt(3) - 9 * sqrt(6)) * edge / 6"],
        ["(-6 + 15 * sqrt(2) + 8 * sqrt(3) + 5 * sqrt(6)) * edge / 6", "(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6"],
        ["(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6", "(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6"],
        ["(3 * sqrt(2) + 4 * sqrt(6)) * edge / 2", "(-4 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(9 * sqrt(2) + 9 * sqrt(6)) * edge / 4", "(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(7 * sqrt(2) + 9 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(2 * sqrt(2) + 2 * sqrt(6)) * edge", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(-sqrt(2) - 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + 2 * sqrt(6)) * edge", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(7 * sqrt(2) + 9 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(9 * sqrt(2) + 9 * sqrt(6)) * edge / 4", "(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + 4 * sqrt(6)) * edge / 2", "(4 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(-6 + 15 * sqrt(2) + 8 * sqrt(3) + 5 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(6 + 12 * sqrt(2) - 8 * sqrt(3) + 9 * sqrt(6)) * edge / 6"],
        ["(6 + 9 * sqrt(2) - 8 * sqrt(3) + 13 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(4 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(9 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(9 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(4 * sqrt(2) + sqrt(6)) * edge / 2", "(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(6 + 9 * sqrt(2) - 8 * sqrt(3) + 13 * sqrt(6)) * edge / 6"],
        ["(6 + 12 * sqrt(2) - 8 * sqrt(3) + 9 * sqrt(6)) * edge / 6", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(-6 + 15 * sqrt(2) + 8 * sqrt(3) + 5 * sqrt(6)) * edge / 6"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6"],
        ["(4 * sqrt(2) + sqrt(6)) * edge / 2", "(3 * sqrt(2) + 4 * sqrt(6)) * edge / 2"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(9 * sqrt(2) + 9 * sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 9 * sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(2 * sqrt(2) + 2 * sqrt(6)) * edge"],
        ["(sqrt(2) + 2 * sqrt(6)) * edge / 2", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(6 + 9 * sqrt(2) - 8 * sqrt(3) + 13 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(6 + 12 * sqrt(2) - 8 * sqrt(3) + 9 * sqrt(6)) * edge / 6"],
        ["(-6 + 15 * sqrt(2) + 8 * sqrt(3) + 5 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6", "(6 + 9 * sqrt(2) - 8 * sqrt(3) + 13 * sqrt(6)) * edge / 6"],
        ["(-6 + 12 * sqrt(2) + 8 * sqrt(3) + 9 * sqrt(6)) * edge / 6", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6", "(-6 + 15 * sqrt(2) + 8 * sqrt(3) + 5 * sqrt(6)) * edge / 6"],
        ["(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6", "(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6"],
        ["(-6 + 15 * sqrt(2) + 8 * sqrt(3) + 5 * sqrt(6)) * edge / 6", "(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(-6 + 12 * sqrt(2) + 8 * sqrt(3) + 9 * sqrt(6)) * edge / 6"],
        ["(6 + 9 * sqrt(2) - 8 * sqrt(3) + 13 * sqrt(6)) * edge / 6", "(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(9 * sqrt(2) + 13 * sqrt(6)) * edge / 6"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(-6 + 15 * sqrt(2) + 8 * sqrt(3) + 5 * sqrt(6)) * edge / 6"],
        ["(6 + 12 * sqrt(2) - 8 * sqrt(3) + 9 * sqrt(6)) * edge / 6", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(6 + 9 * sqrt(2) - 8 * sqrt(3) + 13 * sqrt(6)) * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(-4 * sqrt(2) - sqrt(6)) * edge / 2", "(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(-5 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(4 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(4 * sqrt(2) + sqrt(6)) * edge / 2", "(-5 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6"],
        ["(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(-4 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(-5 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "(-4 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6", "(-15 * sqrt(2) - 5 * sqrt(6)) * edge / 6"],
        ["(-4 * sqrt(2) - sqrt(6)) * edge / 2", "(-5 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "(4 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6", "(15 * sqrt(2) + 5 * sqrt(6)) * edge / 6"],
        ["(4 * sqrt(2) + sqrt(6)) * edge / 2", "(5 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "0"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "sqrt(6) * edge / 2"],
        ["(-7 * sqrt(2) - 5 * sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 2", "0"],
        ["(-7 * sqrt(2) - 5 * sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "-sqrt(6) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["-sqrt(6) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 5 * sqrt(6)) * edge / 4"],
        ["0", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 5 * sqrt(6)) * edge / 4"],
        ["sqrt(6) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["-sqrt(6) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(9 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(3 * sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(3 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(-9 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "sqrt(6) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["sqrt(6) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-9 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(9 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "-sqrt(6) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(3 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["sqrt(6) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4"],
        ["0", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4"],
        ["-sqrt(6) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "0"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "-sqrt(6) * edge / 2"],
        ["(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "0"],
        ["(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "sqrt(6) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "-sqrt(6) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-9 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-9 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge"],
        ["-sqrt(6) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "sqrt(6) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(9 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(3 * sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(3 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(9 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge"],
        ["sqrt(6) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4"],
        ["-sqrt(2) * edge / 2", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(9 * sqrt(2) + 7 * sqrt(6)) * edge / 4"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(2 * sqrt(2) + 2 * sqrt(6)) * edge"],
        ["(-sqrt(2) - 2 * sqrt(6)) * edge / 2", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(-sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + 2 * sqrt(6)) * edge", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(9 * sqrt(2) + 7 * sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(9 * sqrt(2) + 7 * sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(2 * sqrt(2) + 2 * sqrt(6)) * edge", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "(sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge"],
        ["(sqrt(2) + 2 * sqrt(6)) * edge / 2", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(2 * sqrt(2) + 2 * sqrt(6)) * edge"],
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(9 * sqrt(2) + 7 * sqrt(6)) * edge / 4"],
        ["sqrt(2) * edge / 2", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4"],
        ["0", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4"],
        ["sqrt(2) * edge / 2", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(9 * sqrt(2) + 7 * sqrt(6)) * edge / 4"],
        ["0", "(5 * sqrt(2) + 3 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(9 * sqrt(2) + 7 * sqrt(6)) * edge / 4"],
        ["-sqrt(2) * edge / 2", "(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"],
        ["(9 * sqrt(2) + 7 * sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "0"],
        ["(9 * sqrt(2) + 7 * sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(4 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["0", "(3 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["-sqrt(6) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "sqrt(6) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["0", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["sqrt(6) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "-sqrt(6) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(3 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "0"],
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "-sqrt(6) * edge / 2"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge / 2", "-sqrt(2) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(2) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["-sqrt(6) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["0", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 * sqrt(2) + sqrt(6)) * edge / 2", "sqrt(2) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "0"],
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "sqrt(6) * edge / 2"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["sqrt(2) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["sqrt(6) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["0", "(3 * sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-3 * sqrt(2) - sqrt(6)) * edge / 4"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 4", "(-3 * sqrt(2) - 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(3 * sqrt(2) + sqrt(6)) * edge / 4"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(3 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(3 * sqrt(2) + sqrt(6)) * edge / 4", "(3 * sqrt(2) + 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(6) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "sqrt(6) * edge / 2"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge", "(sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-7 * sqrt(2) - 5 * sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["sqrt(6) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 5 * sqrt(6)) * edge / 4"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "-sqrt(6) * edge / 2"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(-sqrt(2) - sqrt(6)) * edge / 2"],
        ["(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(3 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2", "-sqrt(6) * edge / 2"],
        ["(-7 * sqrt(2) - 5 * sqrt(6)) * edge / 4", "(-sqrt(2) - sqrt(6)) * edge / 4"],
        ["(-2 * sqrt(2) - sqrt(6)) * edge", "(-sqrt(2) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(6) * edge / 2", "(-3 * sqrt(2) - 2 * sqrt(6)) * edge / 2"],
        ["(-sqrt(2) - sqrt(6)) * edge / 2", "(-2 * sqrt(2) - sqrt(6)) * edge"],
        ["(-sqrt(2) - sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 5 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2", "sqrt(6) * edge / 2"],
        ["(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4", "(sqrt(2) + sqrt(6)) * edge / 4"],
        ["(2 * sqrt(2) + sqrt(6)) * edge", "(sqrt(2) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(6) * edge / 2", "(3 * sqrt(2) + 2 * sqrt(6)) * edge / 2"],
        ["(sqrt(2) + sqrt(6)) * edge / 2", "(2 * sqrt(2) + sqrt(6)) * edge"],
        ["(sqrt(2) + sqrt(6)) * edge / 4", "(7 * sqrt(2) + 5 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(-3 * sqrt(2) - sqrt(6)) * edge / 2", "(-3 * sqrt(2) - sqrt(6)) * edge / 2"],
        ["(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4"],
        ["(-5 * sqrt(2) - 3 * sqrt(6)) * edge / 4", "(-7 * sqrt(2) - 3 * sqrt(6)) * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["(3 * sqrt(2) + sqrt(6)) * edge / 2", "(3 * sqrt(2) + sqrt(6)) * edge / 2"],
        ["(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4"],
        ["(5 * sqrt(2) + 3 * sqrt(6)) * edge / 4", "(7 * sqrt(2) + 3 * sqrt(6)) * edge / 4"]
      ]
    }
  ],
  "lattice": {
    "a": ["(4 * sqrt(2) + 3 * sqrt(6)) * edge", "0"],
    "b": ["0", "(4 * sqrt(2) + 3 * sqrt(6)) * edge"]
  }
}
,"elongated-hexagon":{
  "schema": 1,
  "id": "elongated-hexagon",
  "name": "Elongated hexagon",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 150, "min": 20, "max": 600, "label": "Width (flat to flat)" },
    "edge": { "value": 200, "min": 10, "max": 800, "label": "Vertical side" },
    "tipRatio": { "expr": "0.28867513459481287" },
    "tipHeight": { "expr": "width * tipRatio" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "-edge / 2 - tipHeight"],
        ["width / 2", "-edge / 2"],
        ["width / 2", "edge / 2"],
        ["0", "edge / 2 + tipHeight"],
        ["-width / 2", "edge / 2"],
        ["-width / 2", "-edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["width", "0"], "b": ["width / 2", "edge + tipHeight"] }
}
,"elongated-triangular":{
  "schema": 1,
  "id": "elongated-triangular",
  "name": "Elongated triangular",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["-edge", "0"],
        ["0", "0"],
        ["0", "edge"],
        ["-edge", "edge"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "-rootThree * edge / 2"],
        ["edge / 2", "-rootThree * edge / 2"],
        ["0", "0"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "-rootThree * edge / 2"],
        ["0", "0"],
        ["-edge", "0"]
      ]
    }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["edge / 2", "edge * (2 + rootThree) / 2"] }
}
,"english-bond":{
  "schema": 1,
  "id": "english-bond",
  "name": "English bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length / 4", "width", "3 * length / 4", "2 * width"] },
    { "rect": ["3 * length / 4", "width", "5 * length / 4", "2 * width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "2 * width"] }
}
,"english-cross-bond":{
  "schema": 1,
  "id": "english-cross-bond",
  "name": "English cross bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length / 4", "width", "3 * length / 4", "2 * width"] },
    { "rect": ["3 * length / 4", "width", "5 * length / 4", "2 * width"] },
    { "rect": ["length / 2", "2 * width", "3 * length / 2", "3 * width"] },
    { "rect": ["length / 4", "3 * width", "3 * length / 4", "4 * width"] },
    { "rect": ["3 * length / 4", "3 * width", "5 * length / 4", "4 * width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "4 * width"] }
}
,"english-garden-wall-bond":{
  "schema": 1,
  "id": "english-garden-wall-bond",
  "name": "English garden wall bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length / 2", "width", "3 * length / 2", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["length / 4", "3 * width", "3 * length / 4", "4 * width"] },
    { "rect": ["3 * length / 4", "3 * width", "5 * length / 4", "4 * width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "4 * width"] }
}
,"european-fan":{
  "schema": 1,
  "id": "european-fan",
  "name": "European fan",
  "category": "stone",
  "coverage": "partial",
  "parameters": {
    "edge": {"value": 100, "min": 20, "max": 300, "label": "Sett side"},
    "fanRadius": {"expr": "12 * edge"}
  },
  "tiles": [
    {"repeat": {"index": "copy", "count": "2"}, "polygon": [["(0.6 - 0.5) * edge * cos(90 + 180 * copy) - -0.5 * edge * sin(90 + 180 * copy)", "(0.6 - 0.5) * edge * sin(90 + 180 * copy) + -0.5 * edge * cos(90 + 180 * copy)"], ["(0.6 + 0.5) * edge * cos(90 + 180 * copy) - -0.5 * edge * sin(90 + 180 * copy)", "(0.6 + 0.5) * edge * sin(90 + 180 * copy) + -0.5 * edge * cos(90 + 180 * copy)"], ["(0.6 + 0.5) * edge * cos(90 + 180 * copy) - 0.5 * edge * sin(90 + 180 * copy)", "(0.6 + 0.5) * edge * sin(90 + 180 * copy) + 0.5 * edge * cos(90 + 180 * copy)"], ["(0.6 - 0.5) * edge * cos(90 + 180 * copy) - 0.5 * edge * sin(90 + 180 * copy)", "(0.6 - 0.5) * edge * sin(90 + 180 * copy) + 0.5 * edge * cos(90 + 180 * copy)"]], "grain": ["cos(90 + 180 * copy)", "sin(90 + 180 * copy)"]},
    {"repeat": {"index": "copy", "count": "8"}, "polygon": [["(1.8 - 0.5) * edge * cos(22.5 + 45 * copy) - -0.5 * edge * sin(22.5 + 45 * copy)", "(1.8 - 0.5) * edge * sin(22.5 + 45 * copy) + -0.5 * edge * cos(22.5 + 45 * copy)"], ["(1.8 + 0.5) * edge * cos(22.5 + 45 * copy) - -0.5 * edge * sin(22.5 + 45 * copy)", "(1.8 + 0.5) * edge * sin(22.5 + 45 * copy) + -0.5 * edge * cos(22.5 + 45 * copy)"], ["(1.8 + 0.5) * edge * cos(22.5 + 45 * copy) - 0.5 * edge * sin(22.5 + 45 * copy)", "(1.8 + 0.5) * edge * sin(22.5 + 45 * copy) + 0.5 * edge * cos(22.5 + 45 * copy)"], ["(1.8 - 0.5) * edge * cos(22.5 + 45 * copy) - 0.5 * edge * sin(22.5 + 45 * copy)", "(1.8 - 0.5) * edge * sin(22.5 + 45 * copy) + 0.5 * edge * cos(22.5 + 45 * copy)"]], "grain": ["cos(22.5 + 45 * copy)", "sin(22.5 + 45 * copy)"]},
    {"repeat": {"index": "copy", "count": "15"}, "polygon": [["(3 - 0.5) * edge * cos(12 + 24 * copy) - -0.5 * edge * sin(12 + 24 * copy)", "(3 - 0.5) * edge * sin(12 + 24 * copy) + -0.5 * edge * cos(12 + 24 * copy)"], ["(3 + 0.5) * edge * cos(12 + 24 * copy) - -0.5 * edge * sin(12 + 24 * copy)", "(3 + 0.5) * edge * sin(12 + 24 * copy) + -0.5 * edge * cos(12 + 24 * copy)"], ["(3 + 0.5) * edge * cos(12 + 24 * copy) - 0.5 * edge * sin(12 + 24 * copy)", "(3 + 0.5) * edge * sin(12 + 24 * copy) + 0.5 * edge * cos(12 + 24 * copy)"], ["(3 - 0.5) * edge * cos(12 + 24 * copy) - 0.5 * edge * sin(12 + 24 * copy)", "(3 - 0.5) * edge * sin(12 + 24 * copy) + 0.5 * edge * cos(12 + 24 * copy)"]], "grain": ["cos(12 + 24 * copy)", "sin(12 + 24 * copy)"]},
    {"repeat": {"index": "copy", "count": "23"}, "polygon": [["(4.2 - 0.5) * edge * cos(7.826086957 + 15.65217391 * copy) - -0.5 * edge * sin(7.826086957 + 15.65217391 * copy)", "(4.2 - 0.5) * edge * sin(7.826086957 + 15.65217391 * copy) + -0.5 * edge * cos(7.826086957 + 15.65217391 * copy)"], ["(4.2 + 0.5) * edge * cos(7.826086957 + 15.65217391 * copy) - -0.5 * edge * sin(7.826086957 + 15.65217391 * copy)", "(4.2 + 0.5) * edge * sin(7.826086957 + 15.65217391 * copy) + -0.5 * edge * cos(7.826086957 + 15.65217391 * copy)"], ["(4.2 + 0.5) * edge * cos(7.826086957 + 15.65217391 * copy) - 0.5 * edge * sin(7.826086957 + 15.65217391 * copy)", "(4.2 + 0.5) * edge * sin(7.826086957 + 15.65217391 * copy) + 0.5 * edge * cos(7.826086957 + 15.65217391 * copy)"], ["(4.2 - 0.5) * edge * cos(7.826086957 + 15.65217391 * copy) - 0.5 * edge * sin(7.826086957 + 15.65217391 * copy)", "(4.2 - 0.5) * edge * sin(7.826086957 + 15.65217391 * copy) + 0.5 * edge * cos(7.826086957 + 15.65217391 * copy)"]], "grain": ["cos(7.826086957 + 15.65217391 * copy)", "sin(7.826086957 + 15.65217391 * copy)"]},
    {"repeat": {"index": "copy", "count": "2"}, "polygon": [["(5.4 - 0.5) * edge * cos(83.435 + 13.15 * copy) - -0.5 * edge * sin(83.435 + 13.15 * copy)", "(5.4 - 0.5) * edge * sin(83.435 + 13.15 * copy) + -0.5 * edge * cos(83.435 + 13.15 * copy)"], ["(5.4 + 0.5) * edge * cos(83.435 + 13.15 * copy) - -0.5 * edge * sin(83.435 + 13.15 * copy)", "(5.4 + 0.5) * edge * sin(83.435 + 13.15 * copy) + -0.5 * edge * cos(83.435 + 13.15 * copy)"], ["(5.4 + 0.5) * edge * cos(83.435 + 13.15 * copy) - 0.5 * edge * sin(83.435 + 13.15 * copy)", "(5.4 + 0.5) * edge * sin(83.435 + 13.15 * copy) + 0.5 * edge * cos(83.435 + 13.15 * copy)"], ["(5.4 - 0.5) * edge * cos(83.435 + 13.15 * copy) - 0.5 * edge * sin(83.435 + 13.15 * copy)", "(5.4 - 0.5) * edge * sin(83.435 + 13.15 * copy) + 0.5 * edge * cos(83.435 + 13.15 * copy)"]], "grain": ["cos(83.435 + 13.15 * copy)", "sin(83.435 + 13.15 * copy)"]},
    {"repeat": {"index": "copy", "count": "17"}, "polygon": [["(5.4 - 0.5) * edge * cos(172.9276471 + 12.13529412 * copy) - -0.5 * edge * sin(172.9276471 + 12.13529412 * copy)", "(5.4 - 0.5) * edge * sin(172.9276471 + 12.13529412 * copy) + -0.5 * edge * cos(172.9276471 + 12.13529412 * copy)"], ["(5.4 + 0.5) * edge * cos(172.9276471 + 12.13529412 * copy) - -0.5 * edge * sin(172.9276471 + 12.13529412 * copy)", "(5.4 + 0.5) * edge * sin(172.9276471 + 12.13529412 * copy) + -0.5 * edge * cos(172.9276471 + 12.13529412 * copy)"], ["(5.4 + 0.5) * edge * cos(172.9276471 + 12.13529412 * copy) - 0.5 * edge * sin(172.9276471 + 12.13529412 * copy)", "(5.4 + 0.5) * edge * sin(172.9276471 + 12.13529412 * copy) + 0.5 * edge * cos(172.9276471 + 12.13529412 * copy)"], ["(5.4 - 0.5) * edge * cos(172.9276471 + 12.13529412 * copy) - 0.5 * edge * sin(172.9276471 + 12.13529412 * copy)", "(5.4 - 0.5) * edge * sin(172.9276471 + 12.13529412 * copy) + 0.5 * edge * cos(172.9276471 + 12.13529412 * copy)"]], "grain": ["cos(172.9276471 + 12.13529412 * copy)", "sin(172.9276471 + 12.13529412 * copy)"]},
    {"repeat": {"index": "copy", "count": "20"}, "polygon": [["(6.6 - 0.5) * edge * cos(180.0925 + 9.465 * copy) - -0.5 * edge * sin(180.0925 + 9.465 * copy)", "(6.6 - 0.5) * edge * sin(180.0925 + 9.465 * copy) + -0.5 * edge * cos(180.0925 + 9.465 * copy)"], ["(6.6 + 0.5) * edge * cos(180.0925 + 9.465 * copy) - -0.5 * edge * sin(180.0925 + 9.465 * copy)", "(6.6 + 0.5) * edge * sin(180.0925 + 9.465 * copy) + -0.5 * edge * cos(180.0925 + 9.465 * copy)"], ["(6.6 + 0.5) * edge * cos(180.0925 + 9.465 * copy) - 0.5 * edge * sin(180.0925 + 9.465 * copy)", "(6.6 + 0.5) * edge * sin(180.0925 + 9.465 * copy) + 0.5 * edge * cos(180.0925 + 9.465 * copy)"], ["(6.6 - 0.5) * edge * cos(180.0925 + 9.465 * copy) - 0.5 * edge * sin(180.0925 + 9.465 * copy)", "(6.6 - 0.5) * edge * sin(180.0925 + 9.465 * copy) + 0.5 * edge * cos(180.0925 + 9.465 * copy)"]], "grain": ["cos(180.0925 + 9.465 * copy)", "sin(180.0925 + 9.465 * copy)"]},
    {"repeat": {"index": "copy", "count": "23"}, "polygon": [["(7.8 - 0.5) * edge * cos(183.3586957 + 7.877391304 * copy) - -0.5 * edge * sin(183.3586957 + 7.877391304 * copy)", "(7.8 - 0.5) * edge * sin(183.3586957 + 7.877391304 * copy) + -0.5 * edge * cos(183.3586957 + 7.877391304 * copy)"], ["(7.8 + 0.5) * edge * cos(183.3586957 + 7.877391304 * copy) - -0.5 * edge * sin(183.3586957 + 7.877391304 * copy)", "(7.8 + 0.5) * edge * sin(183.3586957 + 7.877391304 * copy) + -0.5 * edge * cos(183.3586957 + 7.877391304 * copy)"], ["(7.8 + 0.5) * edge * cos(183.3586957 + 7.877391304 * copy) - 0.5 * edge * sin(183.3586957 + 7.877391304 * copy)", "(7.8 + 0.5) * edge * sin(183.3586957 + 7.877391304 * copy) + 0.5 * edge * cos(183.3586957 + 7.877391304 * copy)"], ["(7.8 - 0.5) * edge * cos(183.3586957 + 7.877391304 * copy) - 0.5 * edge * sin(183.3586957 + 7.877391304 * copy)", "(7.8 - 0.5) * edge * sin(183.3586957 + 7.877391304 * copy) + 0.5 * edge * cos(183.3586957 + 7.877391304 * copy)"]], "grain": ["cos(183.3586957 + 7.877391304 * copy)", "sin(183.3586957 + 7.877391304 * copy)"]},
    {"repeat": {"index": "copy", "count": "26"}, "polygon": [["(9 - 0.5) * edge * cos(184.8465385 + 6.813076923 * copy) - -0.5 * edge * sin(184.8465385 + 6.813076923 * copy)", "(9 - 0.5) * edge * sin(184.8465385 + 6.813076923 * copy) + -0.5 * edge * cos(184.8465385 + 6.813076923 * copy)"], ["(9 + 0.5) * edge * cos(184.8465385 + 6.813076923 * copy) - -0.5 * edge * sin(184.8465385 + 6.813076923 * copy)", "(9 + 0.5) * edge * sin(184.8465385 + 6.813076923 * copy) + -0.5 * edge * cos(184.8465385 + 6.813076923 * copy)"], ["(9 + 0.5) * edge * cos(184.8465385 + 6.813076923 * copy) - 0.5 * edge * sin(184.8465385 + 6.813076923 * copy)", "(9 + 0.5) * edge * sin(184.8465385 + 6.813076923 * copy) + 0.5 * edge * cos(184.8465385 + 6.813076923 * copy)"], ["(9 - 0.5) * edge * cos(184.8465385 + 6.813076923 * copy) - 0.5 * edge * sin(184.8465385 + 6.813076923 * copy)", "(9 - 0.5) * edge * sin(184.8465385 + 6.813076923 * copy) + 0.5 * edge * cos(184.8465385 + 6.813076923 * copy)"]], "grain": ["cos(184.8465385 + 6.813076923 * copy)", "sin(184.8465385 + 6.813076923 * copy)"]},
    {"repeat": {"index": "copy", "count": "29"}, "polygon": [["(10.2 - 0.5) * edge * cos(185.3437931 + 6.047586207 * copy) - -0.5 * edge * sin(185.3437931 + 6.047586207 * copy)", "(10.2 - 0.5) * edge * sin(185.3437931 + 6.047586207 * copy) + -0.5 * edge * cos(185.3437931 + 6.047586207 * copy)"], ["(10.2 + 0.5) * edge * cos(185.3437931 + 6.047586207 * copy) - -0.5 * edge * sin(185.3437931 + 6.047586207 * copy)", "(10.2 + 0.5) * edge * sin(185.3437931 + 6.047586207 * copy) + -0.5 * edge * cos(185.3437931 + 6.047586207 * copy)"], ["(10.2 + 0.5) * edge * cos(185.3437931 + 6.047586207 * copy) - 0.5 * edge * sin(185.3437931 + 6.047586207 * copy)", "(10.2 + 0.5) * edge * sin(185.3437931 + 6.047586207 * copy) + 0.5 * edge * cos(185.3437931 + 6.047586207 * copy)"], ["(10.2 - 0.5) * edge * cos(185.3437931 + 6.047586207 * copy) - 0.5 * edge * sin(185.3437931 + 6.047586207 * copy)", "(10.2 - 0.5) * edge * sin(185.3437931 + 6.047586207 * copy) + 0.5 * edge * cos(185.3437931 + 6.047586207 * copy)"]], "grain": ["cos(185.3437931 + 6.047586207 * copy)", "sin(185.3437931 + 6.047586207 * copy)"]},
    {"repeat": {"index": "copy", "count": "33"}, "polygon": [["(11.4 - 0.5) * edge * cos(185.0742424 + 5.308484848 * copy) - -0.5 * edge * sin(185.0742424 + 5.308484848 * copy)", "(11.4 - 0.5) * edge * sin(185.0742424 + 5.308484848 * copy) + -0.5 * edge * cos(185.0742424 + 5.308484848 * copy)"], ["(11.4 + 0.5) * edge * cos(185.0742424 + 5.308484848 * copy) - -0.5 * edge * sin(185.0742424 + 5.308484848 * copy)", "(11.4 + 0.5) * edge * sin(185.0742424 + 5.308484848 * copy) + -0.5 * edge * cos(185.0742424 + 5.308484848 * copy)"], ["(11.4 + 0.5) * edge * cos(185.0742424 + 5.308484848 * copy) - 0.5 * edge * sin(185.0742424 + 5.308484848 * copy)", "(11.4 + 0.5) * edge * sin(185.0742424 + 5.308484848 * copy) + 0.5 * edge * cos(185.0742424 + 5.308484848 * copy)"], ["(11.4 - 0.5) * edge * cos(185.0742424 + 5.308484848 * copy) - 0.5 * edge * sin(185.0742424 + 5.308484848 * copy)", "(11.4 - 0.5) * edge * sin(185.0742424 + 5.308484848 * copy) + 0.5 * edge * cos(185.0742424 + 5.308484848 * copy)"]], "grain": ["cos(185.0742424 + 5.308484848 * copy)", "sin(185.0742424 + 5.308484848 * copy)"]}
  ],
  "lattice": {"a": ["fanRadius", "fanRadius"], "b": ["0 - fanRadius", "fanRadius"]}
}
,"expanded-metal-mesh":{
  "schema": 1,
  "id": "expanded-metal-mesh",
  "name": "Expanded metal mesh",
  "category": "metal",
  "parameters": {
    "length": { "value": 30.5, "min": 5, "max": 300, "label": "Long way of diamond" },
    "shortDiagonal": { "value": 11.7, "min": 5, "max": 200, "label": "Short way of diamond" },
    "wallWidth": { "value": 2, "min": 0.3, "max": 6, "label": "Strand width" },
    "side": { "expr": "sqrt(length * length + shortDiagonal * shortDiagonal) / 2" },
    "inradius": { "expr": "length * shortDiagonal / (4 * side)" },
    "openScale": { "expr": "(inradius - wallWidth / 2) / inradius" }
  },
  "tiles": [
    {
      "polygon": [
        ["length / 2", "0"],
        ["0", "shortDiagonal / 2"],
        ["-length / 2", "0"],
        ["0", "-shortDiagonal / 2"]
      ],
      "holes": [
        {
          "polygon": [
            ["openScale * length / 2", "0"],
            ["0", "openScale * shortDiagonal / 2"],
            ["-openScale * length / 2", "0"],
            ["0", "-openScale * shortDiagonal / 2"]
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["length / 2", "shortDiagonal / 2"],
    "b": ["length / 2", "-shortDiagonal / 2"]
  }
}
,"fan-strip-parquet":{
  "schema": 1,
  "id": "fan-strip-parquet",
  "name": "Fan strip parquet",
  "category": "wood",
  "parameters": {
    "length": {
      "value": 420,
      "min": 60,
      "max": 2400,
      "label": "Block side"
    },
    "unit": {
      "expr": "length / 6"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "6 * unit",
          "0"
        ],
        [
          "6 * unit",
          "2 * unit"
        ],
        [
          "0",
          "unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "unit"
        ],
        [
          "6 * unit",
          "2 * unit"
        ],
        [
          "6 * unit",
          "3 * unit"
        ],
        [
          "0",
          "3 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "3 * unit"
        ],
        [
          "6 * unit",
          "3 * unit"
        ],
        [
          "6 * unit",
          "5 * unit"
        ],
        [
          "0",
          "4 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "4 * unit"
        ],
        [
          "6 * unit",
          "5 * unit"
        ],
        [
          "6 * unit",
          "6 * unit"
        ],
        [
          "0",
          "6 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * unit",
          "0"
        ],
        [
          "8 * unit",
          "0"
        ],
        [
          "7 * unit",
          "6 * unit"
        ],
        [
          "6 * unit",
          "6 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * unit",
          "0"
        ],
        [
          "9 * unit",
          "0"
        ],
        [
          "9 * unit",
          "6 * unit"
        ],
        [
          "7 * unit",
          "6 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * unit",
          "0"
        ],
        [
          "11 * unit",
          "0"
        ],
        [
          "10 * unit",
          "6 * unit"
        ],
        [
          "9 * unit",
          "6 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * unit",
          "0"
        ],
        [
          "12 * unit",
          "0"
        ],
        [
          "12 * unit",
          "6 * unit"
        ],
        [
          "10 * unit",
          "6 * unit"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "12 * unit",
      "0"
    ],
    "b": [
      "6 * unit",
      "6 * unit"
    ]
  }
}
,"fan-triangle-quarters":{
  "schema": 1,
  "id": "fan-triangle-quarters",
  "name": "Fan triangle quarters",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 275, "min": 40, "max": 1500, "label": "Quarter side" },
    "quarters": { "expr": "2" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["k * edge", "k * edge"], ["k * edge + edge / 4", "k * edge"], ["k * edge", "k * edge + edge"]] },
    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["k * edge + edge / 4", "k * edge"], ["k * edge + edge / 2", "k * edge + edge"], ["k * edge", "k * edge + edge"]] },
    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["k * edge + edge / 4", "k * edge"], ["k * edge + 3 * edge / 4", "k * edge"], ["k * edge + edge / 2", "k * edge + edge"]] },
    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["k * edge + 3 * edge / 4", "k * edge"], ["k * edge + edge", "k * edge + edge"], ["k * edge + edge / 2", "k * edge + edge"]] },
    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["k * edge + 3 * edge / 4", "k * edge"], ["k * edge + edge", "k * edge"], ["k * edge + edge", "k * edge + edge"]] },

    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["(1 - k) * edge", "k * edge"], ["(2 - k) * edge", "k * edge"], ["(1 - k) * edge", "k * edge + edge / 4"]] },
    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["(1 - k) * edge", "k * edge + edge / 4"], ["(2 - k) * edge", "k * edge"], ["(2 - k) * edge", "k * edge + edge / 2"]] },
    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["(1 - k) * edge", "k * edge + edge / 4"], ["(2 - k) * edge", "k * edge + edge / 2"], ["(1 - k) * edge", "k * edge + 3 * edge / 4"]] },
    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["(1 - k) * edge", "k * edge + 3 * edge / 4"], ["(2 - k) * edge", "k * edge + edge / 2"], ["(2 - k) * edge", "k * edge + edge"]] },
    { "repeat": { "index": "k", "count": "quarters" }, "polygon": [["(1 - k) * edge", "k * edge + 3 * edge / 4"], ["(2 - k) * edge", "k * edge + edge"], ["(1 - k) * edge", "k * edge + edge"]] }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["0", "2 * edge"] }
}
,"fish-scale-shingle":{
  "schema": 1,
  "id": "fish-scale-shingle",
  "name": "Fish scale shingle",
  "category": "lapped",
  "parameters": {
    "width": { "value": 165, "min": 50, "max": 600, "label": "Shingle width" },
    "rowStepRatio": { "expr": "0.5" },
    "rowStep": { "expr": "width * rowStepRatio" },
    "arcCenterY": { "expr": "(width * width / 4 - rowStep * rowStep) / (2 * rowStep)" }
  },
  "tiles": [
    {
      "path": [
        { "arc": { "center": ["0", "arcCenterY"], "from": ["-width / 2", "0"], "to": ["width / 2", "0"], "clockwise": false } },
        { "arc": { "center": ["width / 2", "rowStep + arcCenterY"], "from": ["width / 2", "0"], "to": ["0", "rowStep"], "clockwise": true } },
        { "arc": { "center": ["-width / 2", "rowStep + arcCenterY"], "from": ["0", "rowStep"], "to": ["-width / 2", "0"], "clockwise": true } }
      ],
      "grain": ["0", "1"]
    }
  ],
  "lattice": { "a": ["width / 2", "rowStep"], "b": ["-width / 2", "rowStep"] },
  "lap": {"rows": 165, "batten": 25}
}
,"fish-scale":{
  "schema": 1,
  "id": "fish-scale",
  "name": "Fish scale",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 100, "min": 10, "max": 1000, "label": "Width" },
    "rowStep": { "expr": "width / 2" },
    "arcCenterY": { "expr": "(width * width / 4 - rowStep * rowStep) / (2 * rowStep)" }
  },
  "tiles": [
    {
      "path": [
        { "arc": { "center": ["0", "arcCenterY"], "from": ["-width / 2", "0"], "to": ["width / 2", "0"], "clockwise": false } },
        { "arc": { "center": ["width / 2", "rowStep + arcCenterY"], "from": ["width / 2", "0"], "to": ["0", "rowStep"], "clockwise": true } },
        { "arc": { "center": ["-width / 2", "rowStep + arcCenterY"], "from": ["0", "rowStep"], "to": ["-width / 2", "0"], "clockwise": true } }
      ]
    }
  ],
  "lattice": { "a": ["width / 2", "rowStep"], "b": ["-width / 2", "rowStep"] }
}
,"fishtail-circle-tile":{
 "schema": 1,
 "id": "fishtail-circle-tile",
 "name": "Fishtail circle tile",
 "category": "ceramic",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 200.0,
   "min": 20.0,
   "max": 1200.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.984242 * overallSize",
     "0.370284 * overallSize"
    ],
    [
     "0.934245 * overallSize",
     "0.249567 * overallSize"
    ],
    [
     "0.854464 * overallSize",
     "0.145553 * overallSize"
    ],
    [
     "0.750523 * overallSize",
     "0.065845 * overallSize"
    ],
    [
     "0.629811 * overallSize",
     "0.015848 * overallSize"
    ],
    [
     "0.519072 * overallSize",
     "0.001250 * overallSize"
    ],
    [
     "0.998750 * overallSize",
     "0.001250 * overallSize"
    ],
    [
     "0.998750 * overallSize",
     "0.480842 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.129014 * overallSize",
     "0.518168 * overallSize"
    ],
    [
     "0.249325 * overallSize",
     "0.568002 * overallSize"
    ],
    [
     "0.352633 * overallSize",
     "0.647272 * overallSize"
    ],
    [
     "0.431908 * overallSize",
     "0.750585 * overallSize"
    ],
    [
     "0.481742 * overallSize",
     "0.870891 * overallSize"
    ],
    [
     "0.498575 * overallSize",
     "0.998750 * overallSize"
    ],
    [
     "0.001250 * overallSize",
     "0.998750 * overallSize"
    ],
    [
     "0.001250 * overallSize",
     "0.501347 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.501425 * overallSize",
     "0.998750 * overallSize"
    ],
    [
     "0.518168 * overallSize",
     "0.870986 * overallSize"
    ],
    [
     "0.568002 * overallSize",
     "0.750675 * overallSize"
    ],
    [
     "0.647272 * overallSize",
     "0.647367 * overallSize"
    ],
    [
     "0.750585 * overallSize",
     "0.568092 * overallSize"
    ],
    [
     "0.870891 * overallSize",
     "0.518258 * overallSize"
    ],
    [
     "0.998750 * overallSize",
     "0.501425 * overallSize"
    ],
    [
     "0.998750 * overallSize",
     "0.998750 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.431843 * overallSize",
     "1.249440 * overallSize"
    ],
    [
     "-0.481672 * overallSize",
     "1.129129 * overallSize"
    ],
    [
     "-0.498505 * overallSize",
     "1.001275 * overallSize"
    ],
    [
     "-0.001180 * overallSize",
     "1.001275 * overallSize"
    ],
    [
     "-0.001180 * overallSize",
     "1.498600 * overallSize"
    ],
    [
     "-0.129039 * overallSize",
     "1.481767 * overallSize"
    ],
    [
     "-0.249350 * overallSize",
     "1.431933 * overallSize"
    ],
    [
     "-0.352658 * overallSize",
     "1.352659 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.352728 * overallSize",
     "1.352633 * overallSize"
    ],
    [
     "0.249415 * overallSize",
     "1.431908 * overallSize"
    ],
    [
     "0.129109 * overallSize",
     "1.481742 * overallSize"
    ],
    [
     "0.001320 * overallSize",
     "1.498565 * overallSize"
    ],
    [
     "0.001340 * overallSize",
     "1.001250 * overallSize"
    ],
    [
     "0.498653 * overallSize",
     "1.001250 * overallSize"
    ],
    [
     "0.481832 * overallSize",
     "1.129014 * overallSize"
    ],
    [
     "0.431998 * overallSize",
     "1.249325 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.870189 * overallSize",
     "1.484152 * overallSize"
    ],
    [
     "-0.749477 * overallSize",
     "1.434155 * overallSize"
    ],
    [
     "-0.645536 * overallSize",
     "1.354447 * overallSize"
    ],
    [
     "-0.565755 * overallSize",
     "1.250433 * overallSize"
    ],
    [
     "-0.515758 * overallSize",
     "1.129716 * overallSize"
    ],
    [
     "-0.499928 * overallSize",
     "1.009620 * overallSize"
    ],
    [
     "-0.484082 * overallSize",
     "1.129831 * overallSize"
    ],
    [
     "-0.434090 * overallSize",
     "1.250548 * overallSize"
    ],
    [
     "-0.354395 * overallSize",
     "1.354472 * overallSize"
    ],
    [
     "-0.250458 * overallSize",
     "1.434180 * overallSize"
    ],
    [
     "-0.129741 * overallSize",
     "1.484177 * overallSize"
    ],
    [
     "-0.001405 * overallSize",
     "1.501092 * overallSize"
    ],
    [
     "-0.018258 * overallSize",
     "1.629109 * overallSize"
    ],
    [
     "-0.068092 * overallSize",
     "1.749415 * overallSize"
    ],
    [
     "-0.147367 * overallSize",
     "1.852728 * overallSize"
    ],
    [
     "-0.250675 * overallSize",
     "1.931998 * overallSize"
    ],
    [
     "-0.370831 * overallSize",
     "1.981768 * overallSize"
    ],
    [
     "-0.499612 * overallSize",
     "1.998688 * overallSize"
    ],
    [
     "-0.629095 * overallSize",
     "1.981744 * overallSize"
    ],
    [
     "-0.749350 * overallSize",
     "1.931933 * overallSize"
    ],
    [
     "-0.852658 * overallSize",
     "1.852658 * overallSize"
    ],
    [
     "-0.931933 * overallSize",
     "1.749350 * overallSize"
    ],
    [
     "-0.981767 * overallSize",
     "1.629039 * overallSize"
    ],
    [
     "-0.998613 * overallSize",
     "1.501078 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.750627 * overallSize",
     "1.934144 * overallSize"
    ],
    [
     "0.854517 * overallSize",
     "1.854381 * overallSize"
    ],
    [
     "0.934155 * overallSize",
     "1.750523 * overallSize"
    ],
    [
     "0.984152 * overallSize",
     "1.629811 * overallSize"
    ],
    [
     "0.998750 * overallSize",
     "1.519072 * overallSize"
    ],
    [
     "0.998750 * overallSize",
     "1.998750 * overallSize"
    ],
    [
     "0.519158 * overallSize",
     "1.998750 * overallSize"
    ],
    [
     "0.629818 * overallSize",
     "1.984205 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.001250 * overallSize",
     "1.519665 * overallSize"
    ],
    [
     "0.015758 * overallSize",
     "1.629716 * overallSize"
    ],
    [
     "0.065755 * overallSize",
     "1.750433 * overallSize"
    ],
    [
     "0.145536 * overallSize",
     "1.854447 * overallSize"
    ],
    [
     "0.249477 * overallSize",
     "1.934155 * overallSize"
    ],
    [
     "0.370189 * overallSize",
     "1.984152 * overallSize"
    ],
    [
     "0.480245 * overallSize",
     "1.998660 * overallSize"
    ],
    [
     "0.001250 * overallSize",
     "1.998660 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.001340 * overallSize",
     "2.001160 * overallSize"
    ],
    [
     "0.481019 * overallSize",
     "2.001160 * overallSize"
    ],
    [
     "0.370284 * overallSize",
     "2.015758 * overallSize"
    ],
    [
     "0.249567 * overallSize",
     "2.065755 * overallSize"
    ],
    [
     "0.145631 * overallSize",
     "2.145458 * overallSize"
    ],
    [
     "0.065845 * overallSize",
     "2.249477 * overallSize"
    ],
    [
     "0.015848 * overallSize",
     "2.370189 * overallSize"
    ],
    [
     "0.001253 * overallSize",
     "2.480902 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.981742 * overallSize",
     "2.370891 * overallSize"
    ],
    [
     "-0.931908 * overallSize",
     "2.250585 * overallSize"
    ],
    [
     "-0.852633 * overallSize",
     "2.147272 * overallSize"
    ],
    [
     "-0.749325 * overallSize",
     "2.068002 * overallSize"
    ],
    [
     "-0.629014 * overallSize",
     "2.018168 * overallSize"
    ],
    [
     "-0.500275 * overallSize",
     "2.001219 * overallSize"
    ],
    [
     "-0.370891 * overallSize",
     "2.018258 * overallSize"
    ],
    [
     "-0.250585 * overallSize",
     "2.068092 * overallSize"
    ],
    [
     "-0.147272 * overallSize",
     "2.147367 * overallSize"
    ],
    [
     "-0.068002 * overallSize",
     "2.250675 * overallSize"
    ],
    [
     "-0.018168 * overallSize",
     "2.370986 * overallSize"
    ],
    [
     "-0.001402 * overallSize",
     "2.498924 * overallSize"
    ],
    [
     "-0.129811 * overallSize",
     "2.515848 * overallSize"
    ],
    [
     "-0.250523 * overallSize",
     "2.565845 * overallSize"
    ],
    [
     "-0.354464 * overallSize",
     "2.645553 * overallSize"
    ],
    [
     "-0.434245 * overallSize",
     "2.749567 * overallSize"
    ],
    [
     "-0.484242 * overallSize",
     "2.870284 * overallSize"
    ],
    [
     "-0.499964 * overallSize",
     "2.990104 * overallSize"
    ],
    [
     "-0.515758 * overallSize",
     "2.870284 * overallSize"
    ],
    [
     "-0.565755 * overallSize",
     "2.749567 * overallSize"
    ],
    [
     "-0.645631 * overallSize",
     "2.645458 * overallSize"
    ],
    [
     "-0.749567 * overallSize",
     "2.565755 * overallSize"
    ],
    [
     "-0.870284 * overallSize",
     "2.515758 * overallSize"
    ],
    [
     "-0.998587 * overallSize",
     "2.498847 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "200 / 200 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "400 / 200 * overallSize"
  ]
 }
},"fishtail-plain-tile":{
  "schema": 1,
  "id": "fishtail-plain-tile",
  "name": "Fishtail plain tile",
  "category": "lapped",
  "parameters": {
    "width": { "value": 165, "min": 50, "max": 600, "label": "Tile width" },
    "gauge": { "value": 100, "min": 30, "max": 400, "label": "Gauge (course step)" },
    "headRatio": { "expr": "0.41" },
    "headRadius": { "expr": "min(width * headRatio, gauge / 2)" }
  },
  "tiles": [
    {
      "start": ["headRadius", "0"],
      "path": [
        { "line": { "to": ["width - headRadius", "0"] } },
        { "arc": { "center": ["width", "0"], "from": ["width - headRadius", "0"], "to": ["width", "headRadius"], "clockwise": true } },
        { "line": { "to": ["width", "gauge"] } },
        { "line": { "to": ["width / 2 + headRadius", "gauge"] } },
        { "arc": { "center": ["width / 2", "gauge"], "from": ["width / 2 + headRadius", "gauge"], "to": ["width / 2 - headRadius", "gauge"], "clockwise": false } },
        { "line": { "to": ["0", "gauge"] } },
        { "line": { "to": ["0", "headRadius"] } },
        { "arc": { "center": ["0", "0"], "from": ["0", "headRadius"], "to": ["headRadius", "0"], "clockwise": true } }
      ],
      "grain": ["0", "1"]
    }
  ],
  "lattice": { "a": ["width", "0"], "b": ["width / 2", "gauge"] },
  "lap": { "rows": 165, "batten": 25 }
}
,"fishtail-tile":{
  "schema": 1,
  "id": "fishtail-tile",
  "name": "Fishtail tile",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 336,
      "min": 150,
      "max": 560,
      "label": "Tile width"
    },
    "length": {
      "value": 330,
      "min": 300,
      "max": 1200,
      "label": "Tile length"
    },
    "rise": {
      "expr": "0.616 * length"
    },
    "notch": {
      "expr": "length - 0.616 * length"
    },
    "tail": {
      "expr": "0.174226 * width"
    },
    "arcY": {
      "expr": "-0.009613 * width"
    },
    "arcX": {
      "expr": "(width ^ 2 + notch ^ 2 - (width / 2 + tail) ^ 2 - 2 * arcY * notch) / (2 * (width / 2 - tail))"
    }
  },
  "tiles": [
    {
      "start": [
        "width / 2 - tail",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "width / 2 + tail",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "arcX",
              "arcY"
            ],
            "from": [
              "width / 2 + tail",
              "0"
            ],
            "to": [
              "width",
              "notch"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "width",
              "rise"
            ]
          }
        },
        {
          "line": {
            "to": [
              "width - tail",
              "rise"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width - arcX + width / 2",
              "arcY + rise"
            ],
            "from": [
              "width - tail",
              "rise"
            ],
            "to": [
              "width / 2",
              "length"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "arcX - width / 2",
              "arcY + rise"
            ],
            "from": [
              "width / 2",
              "length"
            ],
            "to": [
              "tail",
              "rise"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "rise"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "notch"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width - arcX",
              "arcY"
            ],
            "from": [
              "0",
              "notch"
            ],
            "to": [
              "width / 2 - tail",
              "0"
            ],
            "clockwise": true
          }
        }
      ],
      "grain": [
        "0",
        "1"
      ]
    }
  ],
  "lattice": {
    "a": [
      "width",
      "0"
    ],
    "b": [
      "-width / 2",
      "rise"
    ]
  }
}
,"five-star-ten-star":{
  "schema": 1,
  "id": "five-star-ten-star",
  "name": "Ten-point star and five-point stars",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 60, "min": 10, "max": 300, "label": "Edge"},
    "rootFive": {"expr": "sqrt(5)"},
    "cosineEighteen": {"expr": "cos(18)"}
  },
  "tiles": [
    {"polygon": [["edge * (5/8 + 1/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (1/4)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["0", "edge * (1/2 * cosineEighteen + 1/2 * rootFive * cosineEighteen)"], ["edge * (-1/4)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (-5/8 - 1/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (-3/8 - 1/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (-5/8 - 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (-1/4 - 1/4 * rootFive)", "0"], ["edge * (-5/8 - 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (-3/8 - 1/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (-5/8 - 1/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (-1/4)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["0", "edge * (-1/2 * cosineEighteen - 1/2 * rootFive * cosineEighteen)"], ["edge * (1/4)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (5/8 + 1/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (3/8 + 1/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (1/4 + 1/4 * rootFive)", "0"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (3/8 + 1/8 * rootFive)", "edge * (1/2 * cosineEighteen)"]]},
    {"polygon": [["edge * (11/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (7/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "0"], ["edge * (9/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (3/4 + 1/2 * rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (7/8 + 3/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "edge * (-cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (5/4 + 1/2 * rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (5/2 + rootFive)", "0"], ["edge * (21/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (9/4 + rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (19/8 + 7/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (5/2 + rootFive)", "edge * (-cosineEighteen)"], ["edge * (21/8 + 9/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (11/4 + rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (23/8 + 9/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (19/8 + 9/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"]]},
    {"polygon": [["edge * (7/8 + 3/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (3/4 + 1/2 * rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (9/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "0"], ["edge * (7/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (5/4 + 1/2 * rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "edge * (cosineEighteen)"]]},
    {"polygon": [["edge * (21/8 + 9/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (5/2 + rootFive)", "edge * (cosineEighteen)"], ["edge * (19/8 + 7/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (9/4 + rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (21/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (5/2 + rootFive)", "0"], ["edge * (19/8 + 9/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (23/8 + 9/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (11/4 + rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (1 + 1/2 * rootFive)", "edge * (-cosineEighteen)"], ["edge * (7/8 + 3/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (1 + 1/4 * rootFive)", "edge * (-5/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 3/8 * rootFive)", "edge * (-cosineEighteen - 1/2 * rootFive * cosineEighteen)"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (-cosineEighteen - 1/2 * rootFive * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (3/4 + 1/4 * rootFive)", "edge * (-1/2 * cosineEighteen - 1/2 * rootFive * cosineEighteen)"], ["edge * (7/8 + 3/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (3/4 + 1/2 * rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (3/8 + 1/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (5/8 + 1/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (15/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (5/4 + 1/2 * rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (3/2 + 3/4 * rootFive)", "edge * (-5/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (-cosineEighteen)"]]},
    {"polygon": [["edge * (9/4 + rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (13/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (-cosineEighteen)"], ["edge * (2 + 3/4 * rootFive)", "edge * (-5/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (19/8 + 7/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (7/4 + 3/4 * rootFive)", "edge * (-cosineEighteen)"], ["edge * (13/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "0"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (15/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"]]},
    {"polygon": [["edge * (5/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (9/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "0"], ["edge * (9/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (1/4 + 1/4 * rootFive)", "0"]]},
    {"polygon": [["edge * (7/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "0"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (7/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "0"]]},
    {"polygon": [["edge * (21/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "0"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (21/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (5/2 + rootFive)", "0"]]},
    {"polygon": [["edge * (19/8 + 9/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (5/2 + rootFive)", "0"], ["edge * (19/8 + 9/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (23/8 + 9/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (13/4 + 5/4 * rootFive)", "0"], ["edge * (23/8 + 9/8 * rootFive)", "edge * (1/2 * cosineEighteen)"]]},
    {"polygon": [["edge * (17/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (13/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (cosineEighteen)"], ["edge * (15/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "0"]]},
    {"polygon": [["edge * (5/4 + 1/2 * rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (15/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (cosineEighteen)"], ["edge * (3/2 + 3/4 * rootFive)", "edge * (5/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (13/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (9/4 + rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (19/8 + 7/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (2 + 3/4 * rootFive)", "edge * (5/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (cosineEighteen)"]]},
    {"polygon": [["edge * (3/4 + 1/2 * rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (7/8 + 3/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (3/4 + 1/4 * rootFive)", "edge * (1/2 * cosineEighteen + 1/2 * rootFive * cosineEighteen)"], ["edge * (5/8 + 1/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (3/8 + 1/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"]]},
    {"polygon": [["edge * (1 + 1/4 * rootFive)", "edge * (5/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (7/8 + 3/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "edge * (cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (cosineEighteen + 1/2 * rootFive * cosineEighteen)"], ["edge * (9/8 + 3/8 * rootFive)", "edge * (cosineEighteen + 1/2 * rootFive * cosineEighteen)"]]}
  ],
  "lattice": {"a": ["edge * (7/4 + 3/4 * rootFive)", "edge * (3/2 * cosineEighteen + 1/2 * rootFive * cosineEighteen)"], "b": ["edge * (7/4 + 3/4 * rootFive)", "edge * (-3/2 * cosineEighteen - 1/2 * rootFive * cosineEighteen)"]}
}
,"flemish-bond":{
  "schema": 1,
  "id": "flemish-bond",
  "name": "Flemish bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "3 * length / 2", "width"] }
  ],
  "lattice": { "a": ["3 * length / 2", "0"], "b": ["3 * length / 4", "width"] }
}
,"flemish-garden-wall-bond":{
  "schema": 1,
  "id": "flemish-garden-wall-bond",
  "name": "Flemish garden wall bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "2 * length", "width"] },
    { "rect": ["2 * length", "0", "3 * length", "width"] },
    { "rect": ["3 * length", "0", "7 * length / 2", "width"] }
  ],
  "lattice": { "a": ["7 * length / 2", "0"], "b": ["7 * length / 4", "width"] }
}
,"flemish-stretcher-bond-1":{
  "schema": 1,
  "id": "flemish-stretcher-bond-1",
  "name": "Flemish stretcher bond (1 stretcher course)",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "3 * length / 2", "width"] },
    { "rect": ["3 * length / 2", "0", "5 * length / 2", "width"] },
    { "rect": ["5 * length / 2", "0", "3 * length", "width"] },
    { "rect": ["length / 4", "width", "5 * length / 4", "2 * width"] },
    { "rect": ["5 * length / 4", "width", "9 * length / 4", "2 * width"] },
    { "rect": ["9 * length / 4", "width", "13 * length / 4", "2 * width"] }
  ],
  "lattice": { "a": ["3 * length", "0"], "b": ["0", "2 * width"] }
}
,"flemish-stretcher-bond-2":{
  "schema": 1,
  "id": "flemish-stretcher-bond-2",
  "name": "Flemish stretcher bond (2 stretcher courses)",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "3 * length / 2", "width"] },
    { "rect": ["3 * length / 2", "0", "5 * length / 2", "width"] },
    { "rect": ["5 * length / 2", "0", "3 * length", "width"] },
    { "rect": ["length / 4", "width", "5 * length / 4", "2 * width"] },
    { "rect": ["5 * length / 4", "width", "9 * length / 4", "2 * width"] },
    { "rect": ["9 * length / 4", "width", "13 * length / 4", "2 * width"] },
    { "rect": ["3 * length / 4", "2 * width", "7 * length / 4", "3 * width"] },
    { "rect": ["7 * length / 4", "2 * width", "11 * length / 4", "3 * width"] },
    { "rect": ["11 * length / 4", "2 * width", "15 * length / 4", "3 * width"] }
  ],
  "lattice": { "a": ["3 * length", "0"], "b": ["0", "3 * width"] }
}
,"flemish-stretcher-bond-3":{
  "schema": 1,
  "id": "flemish-stretcher-bond-3",
  "name": "Flemish stretcher bond (3 stretcher courses)",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "3 * length / 2", "width"] },
    { "rect": ["3 * length / 2", "0", "5 * length / 2", "width"] },
    { "rect": ["5 * length / 2", "0", "3 * length", "width"] },
    { "rect": ["length / 4", "width", "5 * length / 4", "2 * width"] },
    { "rect": ["5 * length / 4", "width", "9 * length / 4", "2 * width"] },
    { "rect": ["9 * length / 4", "width", "13 * length / 4", "2 * width"] },
    { "rect": ["3 * length / 4", "2 * width", "7 * length / 4", "3 * width"] },
    { "rect": ["7 * length / 4", "2 * width", "11 * length / 4", "3 * width"] },
    { "rect": ["11 * length / 4", "2 * width", "15 * length / 4", "3 * width"] },
    { "rect": ["length / 4", "3 * width", "5 * length / 4", "4 * width"] },
    { "rect": ["5 * length / 4", "3 * width", "9 * length / 4", "4 * width"] },
    { "rect": ["9 * length / 4", "3 * width", "13 * length / 4", "4 * width"] }
  ],
  "lattice": { "a": ["3 * length", "0"], "b": ["0", "4 * width"] }
}
,"flemish-stretcher-bond-4":{
  "schema": 1,
  "id": "flemish-stretcher-bond-4",
  "name": "Flemish stretcher bond (4 stretcher courses)",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "3 * length / 2", "width"] },
    { "rect": ["3 * length / 2", "0", "5 * length / 2", "width"] },
    { "rect": ["5 * length / 2", "0", "3 * length", "width"] },
    { "rect": ["length / 4", "width", "5 * length / 4", "2 * width"] },
    { "rect": ["5 * length / 4", "width", "9 * length / 4", "2 * width"] },
    { "rect": ["9 * length / 4", "width", "13 * length / 4", "2 * width"] },
    { "rect": ["3 * length / 4", "2 * width", "7 * length / 4", "3 * width"] },
    { "rect": ["7 * length / 4", "2 * width", "11 * length / 4", "3 * width"] },
    { "rect": ["11 * length / 4", "2 * width", "15 * length / 4", "3 * width"] },
    { "rect": ["length / 4", "3 * width", "5 * length / 4", "4 * width"] },
    { "rect": ["5 * length / 4", "3 * width", "9 * length / 4", "4 * width"] },
    { "rect": ["9 * length / 4", "3 * width", "13 * length / 4", "4 * width"] },
    { "rect": ["3 * length / 4", "4 * width", "7 * length / 4", "5 * width"] },
    { "rect": ["7 * length / 4", "4 * width", "11 * length / 4", "5 * width"] },
    { "rect": ["11 * length / 4", "4 * width", "15 * length / 4", "5 * width"] }
  ],
  "lattice": { "a": ["3 * length", "0"], "b": ["0", "5 * width"] }
}
,"floret-pentagonal":{
  "schema": 1,
  "id": "floret-pentagonal",
  "name": "Floret pentagonal",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Source edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "-rootThree * edge / 3"],
        ["3 * edge / 2", "-rootThree * edge / 6"],
        ["3 * edge / 2", "rootThree * edge / 6"],
        ["edge", "rootThree * edge / 3"],
        ["0", "0"]
      ]
    },
    {
      "polygon": [
        ["0", "0"],
        ["edge", "rootThree * edge / 3"],
        ["edge", "2 * rootThree * edge / 3"],
        ["edge / 2", "5 * rootThree * edge / 6"],
        ["0", "2 * rootThree * edge / 3"]
      ]
    },
    {
      "polygon": [
        ["-edge", "rootThree * edge / 3"],
        ["0", "0"],
        ["0", "2 * rootThree * edge / 3"],
        ["-edge / 2", "5 * rootThree * edge / 6"],
        ["-edge", "2 * rootThree * edge / 3"]
      ]
    },
    {
      "polygon": [
        ["-3 * edge / 2", "-rootThree * edge / 6"],
        ["-edge", "-rootThree * edge / 3"],
        ["0", "0"],
        ["-edge", "rootThree * edge / 3"],
        ["-3 * edge / 2", "rootThree * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["-edge", "-2 * rootThree * edge / 3"],
        ["-edge / 2", "-5 * rootThree * edge / 6"],
        ["0", "-2 * rootThree * edge / 3"],
        ["0", "0"],
        ["-edge", "-rootThree * edge / 3"]
      ]
    },
    {
      "polygon": [
        ["0", "-2 * rootThree * edge / 3"],
        ["edge / 2", "-5 * rootThree * edge / 6"],
        ["edge", "-2 * rootThree * edge / 3"],
        ["edge", "-rootThree * edge / 3"],
        ["0", "0"]
      ]
    }
  ],
  "lattice": { "a": ["5 * edge / 2", "rootThree * edge / 2"], "b": ["edge / 2", "3 * rootThree * edge / 2"] }
}
,"flower-corner-square":{
 "schema": 1,
 "id": "flower-corner-square",
 "name": "Flower corner square",
 "category": "ceramic",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 195.0,
   "min": 19.5,
   "max": 1170.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "-0.108664 * overallSize",
     "0.928739 * overallSize"
    ],
    [
     "-0.107499 * overallSize",
     "0.909008 * overallSize"
    ],
    [
     "-0.101272 * overallSize",
     "0.890251 * overallSize"
    ],
    [
     "-0.097634 * overallSize",
     "0.884715 * overallSize"
    ],
    [
     "-0.097487 * overallSize",
     "0.884109 * overallSize"
    ],
    [
     "-0.097708 * overallSize",
     "0.883399 * overallSize"
    ],
    [
     "-0.098287 * overallSize",
     "0.882930 * overallSize"
    ],
    [
     "-0.099028 * overallSize",
     "0.882862 * overallSize"
    ],
    [
     "-0.117647 * overallSize",
     "0.886695 * overallSize"
    ],
    [
     "-0.137377 * overallSize",
     "0.885535 * overallSize"
    ],
    [
     "-0.156138 * overallSize",
     "0.879303 * overallSize"
    ],
    [
     "-0.172641 * overallSize",
     "0.868432 * overallSize"
    ],
    [
     "-0.185771 * overallSize",
     "0.853659 * overallSize"
    ],
    [
     "-0.194635 * overallSize",
     "0.835992 * overallSize"
    ],
    [
     "-0.198608 * overallSize",
     "0.816681 * overallSize"
    ],
    [
     "-0.197448 * overallSize",
     "0.797003 * overallSize"
    ],
    [
     "-0.191221 * overallSize",
     "0.778245 * overallSize"
    ],
    [
     "-0.190411 * overallSize",
     "0.777012 * overallSize"
    ],
    [
     "-0.180345 * overallSize",
     "0.761739 * overallSize"
    ],
    [
     "-0.165572 * overallSize",
     "0.748609 * overallSize"
    ],
    [
     "-0.147904 * overallSize",
     "0.739750 * overallSize"
    ],
    [
     "-0.128548 * overallSize",
     "0.735767 * overallSize"
    ],
    [
     "-0.108813 * overallSize",
     "0.736926 * overallSize"
    ],
    [
     "-0.097857 * overallSize",
     "0.740558 * overallSize"
    ],
    [
     "-0.097115 * overallSize",
     "0.740505 * overallSize"
    ],
    [
     "-0.096527 * overallSize",
     "0.740048 * overallSize"
    ],
    [
     "-0.096293 * overallSize",
     "0.739341 * overallSize"
    ],
    [
     "-0.096428 * overallSize",
     "0.738733 * overallSize"
    ],
    [
     "-0.104650 * overallSize",
     "0.722335 * overallSize"
    ],
    [
     "-0.108633 * overallSize",
     "0.702979 * overallSize"
    ],
    [
     "-0.107474 * overallSize",
     "0.683244 * overallSize"
    ],
    [
     "-0.101242 * overallSize",
     "0.664487 * overallSize"
    ],
    [
     "-0.090371 * overallSize",
     "0.647979 * overallSize"
    ],
    [
     "-0.075598 * overallSize",
     "0.634850 * overallSize"
    ],
    [
     "-0.057930 * overallSize",
     "0.625991 * overallSize"
    ],
    [
     "-0.038568 * overallSize",
     "0.622008 * overallSize"
    ],
    [
     "-0.018839 * overallSize",
     "0.623167 * overallSize"
    ],
    [
     "-0.000129 * overallSize",
     "0.629384 * overallSize"
    ],
    [
     "0.016374 * overallSize",
     "0.640255 * overallSize"
    ],
    [
     "0.029509 * overallSize",
     "0.655028 * overallSize"
    ],
    [
     "0.038368 * overallSize",
     "0.672696 * overallSize"
    ],
    [
     "0.042351 * overallSize",
     "0.692057 * overallSize"
    ],
    [
     "0.041187 * overallSize",
     "0.711787 * overallSize"
    ],
    [
     "0.034959 * overallSize",
     "0.730544 * overallSize"
    ],
    [
     "0.031322 * overallSize",
     "0.736080 * overallSize"
    ],
    [
     "0.031181 * overallSize",
     "0.736811 * overallSize"
    ],
    [
     "0.031395 * overallSize",
     "0.737396 * overallSize"
    ],
    [
     "0.031974 * overallSize",
     "0.737865 * overallSize"
    ],
    [
     "0.032715 * overallSize",
     "0.737933 * overallSize"
    ],
    [
     "0.051334 * overallSize",
     "0.734100 * overallSize"
    ],
    [
     "0.071064 * overallSize",
     "0.735260 * overallSize"
    ],
    [
     "0.089825 * overallSize",
     "0.741492 * overallSize"
    ],
    [
     "0.106328 * overallSize",
     "0.752362 * overallSize"
    ],
    [
     "0.119463 * overallSize",
     "0.767136 * overallSize"
    ],
    [
     "0.128096 * overallSize",
     "0.784859 * overallSize"
    ],
    [
     "0.132079 * overallSize",
     "0.804216 * overallSize"
    ],
    [
     "0.130920 * overallSize",
     "0.823944 * overallSize"
    ],
    [
     "0.124908 * overallSize",
     "0.842559 * overallSize"
    ],
    [
     "0.114033 * overallSize",
     "0.859061 * overallSize"
    ],
    [
     "0.099259 * overallSize",
     "0.872191 * overallSize"
    ],
    [
     "0.081591 * overallSize",
     "0.881050 * overallSize"
    ],
    [
     "0.062235 * overallSize",
     "0.885038 * overallSize"
    ],
    [
     "0.042505 * overallSize",
     "0.883874 * overallSize"
    ],
    [
     "0.031544 * overallSize",
     "0.880242 * overallSize"
    ],
    [
     "0.030802 * overallSize",
     "0.880295 * overallSize"
    ],
    [
     "0.030214 * overallSize",
     "0.880753 * overallSize"
    ],
    [
     "0.029980 * overallSize",
     "0.881459 * overallSize"
    ],
    [
     "0.030115 * overallSize",
     "0.882067 * overallSize"
    ],
    [
     "0.038337 * overallSize",
     "0.898465 * overallSize"
    ],
    [
     "0.042321 * overallSize",
     "0.917826 * overallSize"
    ],
    [
     "0.041161 * overallSize",
     "0.937556 * overallSize"
    ],
    [
     "0.034929 * overallSize",
     "0.956313 * overallSize"
    ],
    [
     "0.024058 * overallSize",
     "0.972821 * overallSize"
    ],
    [
     "0.009285 * overallSize",
     "0.985950 * overallSize"
    ],
    [
     "-0.008383 * overallSize",
     "0.994809 * overallSize"
    ],
    [
     "-0.027744 * overallSize",
     "0.998792 * overallSize"
    ],
    [
     "-0.047474 * overallSize",
     "0.997633 * overallSize"
    ],
    [
     "-0.066231 * overallSize",
     "0.991401 * overallSize"
    ],
    [
     "-0.082738 * overallSize",
     "0.980530 * overallSize"
    ],
    [
     "-0.095868 * overallSize",
     "0.965757 * overallSize"
    ],
    [
     "-0.104726 * overallSize",
     "0.948090 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.134643 * overallSize",
     "0.803975 * overallSize"
    ],
    [
     "0.130546 * overallSize",
     "0.784069 * overallSize"
    ],
    [
     "0.127374 * overallSize",
     "0.777692 * overallSize"
    ],
    [
     "0.806355 * overallSize",
     "0.777692 * overallSize"
    ],
    [
     "0.800059 * overallSize",
     "0.796787 * overallSize"
    ],
    [
     "0.798877 * overallSize",
     "0.816913 * overallSize"
    ],
    [
     "0.801658 * overallSize",
     "0.830513 * overallSize"
    ],
    [
     "0.131423 * overallSize",
     "0.830513 * overallSize"
    ],
    [
     "0.133470 * overallSize",
     "0.824265 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.001303 * overallSize",
     "0.992821 * overallSize"
    ],
    [
     "0.010775 * overallSize",
     "0.988049 * overallSize"
    ],
    [
     "0.026041 * overallSize",
     "0.974462 * overallSize"
    ],
    [
     "0.037220 * overallSize",
     "0.957486 * overallSize"
    ],
    [
     "0.043647 * overallSize",
     "0.938204 * overallSize"
    ],
    [
     "0.044866 * overallSize",
     "0.917475 * overallSize"
    ],
    [
     "0.040787 * overallSize",
     "0.897674 * overallSize"
    ],
    [
     "0.033811 * overallSize",
     "0.883690 * overallSize"
    ],
    [
     "0.042075 * overallSize",
     "0.886412 * overallSize"
    ],
    [
     "0.062476 * overallSize",
     "0.887602 * overallSize"
    ],
    [
     "0.082382 * overallSize",
     "0.883500 * overallSize"
    ],
    [
     "0.100559 * overallSize",
     "0.874408 * overallSize"
    ],
    [
     "0.116015 * overallSize",
     "0.860704 * overallSize"
    ],
    [
     "0.127200 * overallSize",
     "0.843732 * overallSize"
    ],
    [
     "0.130756 * overallSize",
     "0.833077 * overallSize"
    ],
    [
     "0.802365 * overallSize",
     "0.833077 * overallSize"
    ],
    [
     "0.803177 * overallSize",
     "0.836816 * overallSize"
    ],
    [
     "0.812375 * overallSize",
     "0.855062 * overallSize"
    ],
    [
     "0.825891 * overallSize",
     "0.870241 * overallSize"
    ],
    [
     "0.842868 * overallSize",
     "0.881420 * overallSize"
    ],
    [
     "0.862479 * overallSize",
     "0.887911 * overallSize"
    ],
    [
     "0.882662 * overallSize",
     "0.889092 * overallSize"
    ],
    [
     "0.898638 * overallSize",
     "0.885823 * overallSize"
    ],
    [
     "0.896527 * overallSize",
     "0.889109 * overallSize"
    ],
    [
     "0.890125 * overallSize",
     "0.908515 * overallSize"
    ],
    [
     "0.888952 * overallSize",
     "0.928804 * overallSize"
    ],
    [
     "0.893085 * overallSize",
     "0.948821 * overallSize"
    ],
    [
     "0.902258 * overallSize",
     "0.967083 * overallSize"
    ],
    [
     "0.915761 * overallSize",
     "0.982276 * overallSize"
    ],
    [
     "0.932822 * overallSize",
     "0.993528 * overallSize"
    ],
    [
     "0.943292 * overallSize",
     "0.997028 * overallSize"
    ],
    [
     "0.943282 * overallSize",
     "1.623243 * overallSize"
    ],
    [
     "0.941179 * overallSize",
     "1.623721 * overallSize"
    ],
    [
     "0.922933 * overallSize",
     "1.632919 * overallSize"
    ],
    [
     "0.907754 * overallSize",
     "1.646435 * overallSize"
    ],
    [
     "0.896486 * overallSize",
     "1.663617 * overallSize"
    ],
    [
     "0.890101 * overallSize",
     "1.682911 * overallSize"
    ],
    [
     "0.888903 * overallSize",
     "1.703201 * overallSize"
    ],
    [
     "0.893013 * overallSize",
     "1.723223 * overallSize"
    ],
    [
     "0.900005 * overallSize",
     "1.737212 * overallSize"
    ],
    [
     "0.891725 * overallSize",
     "1.734480 * overallSize"
    ],
    [
     "0.871435 * overallSize",
     "1.733288 * overallSize"
    ],
    [
     "0.851307 * overallSize",
     "1.737429 * overallSize"
    ],
    [
     "0.832959 * overallSize",
     "1.746672 * overallSize"
    ],
    [
     "0.817853 * overallSize",
     "1.760104 * overallSize"
    ],
    [
     "0.807940 * overallSize",
     "1.775123 * overallSize"
    ],
    [
     "0.126140 * overallSize",
     "1.775123 * overallSize"
    ],
    [
     "0.121413 * overallSize",
     "1.765738 * overallSize"
    ],
    [
     "0.107906 * overallSize",
     "1.750545 * overallSize"
    ],
    [
     "0.090750 * overallSize",
     "1.739244 * overallSize"
    ],
    [
     "0.071234 * overallSize",
     "1.732802 * overallSize"
    ],
    [
     "0.051056 * overallSize",
     "1.731621 * overallSize"
    ],
    [
     "0.035083 * overallSize",
     "1.734889 * overallSize"
    ],
    [
     "0.037217 * overallSize",
     "1.731573 * overallSize"
    ],
    [
     "0.043618 * overallSize",
     "1.712168 * overallSize"
    ],
    [
     "0.044791 * overallSize",
     "1.691872 * overallSize"
    ],
    [
     "0.040695 * overallSize",
     "1.671966 * overallSize"
    ],
    [
     "0.031415 * overallSize",
     "1.653512 * overallSize"
    ],
    [
     "0.017983 * overallSize",
     "1.638406 * overallSize"
    ],
    [
     "0.001303 * overallSize",
     "1.627399 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.952029 * overallSize",
     "1.000094 * overallSize"
    ],
    [
     "0.972430 * overallSize",
     "1.001279 * overallSize"
    ],
    [
     "0.992341 * overallSize",
     "0.997182 * overallSize"
    ],
    [
     "0.998713 * overallSize",
     "0.994010 * overallSize"
    ],
    [
     "0.998713 * overallSize",
     "1.626567 * overallSize"
    ],
    [
     "0.981332 * overallSize",
     "1.620838 * overallSize"
    ],
    [
     "0.961153 * overallSize",
     "1.619657 * overallSize"
    ],
    [
     "0.945846 * overallSize",
     "1.622786 * overallSize"
    ],
    [
     "0.945856 * overallSize",
     "0.998064 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "195 / 195 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "195 / 195 * overallSize"
  ]
 }
},"flowing-basketweave":{
  "schema": 1,
  "id": "flowing-basketweave",
  "name": "Flowing basketweave",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 150,
      "min": 30,
      "max": 600,
      "label": "Smallest paver"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ],
        [
          "0",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "0",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "9 * moduleSize",
          "moduleSize"
        ],
        [
          "9 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "9 * moduleSize",
          "0"
        ],
        [
          "9 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "9 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "6 * moduleSize"
    ]
  }
}
,"fluted-panel":{
  "schema": 1,
  "id": "fluted-panel",
  "name": "Fluted panel",
  "category": "wood",
  "parameters": {
    "pitch": {
      "value": 30,
      "min": 20,
      "max": 100,
      "label": "Flute pitch"
    },
    "land": {
      "expr": "4"
    },
    "depthRatio": {
      "expr": "0.6"
    },
    "width": {
      "value": 600,
      "min": 100,
      "max": 1500,
      "label": "Panel width"
    },
    "length": {
      "value": 2400,
      "min": 300,
      "max": 3600,
      "label": "Panel length"
    },
    "chord": {
      "expr": "pitch - land"
    },
    "flute": {
      "expr": "depthRatio * chord / 2"
    },
    "arcRadius": {
      "expr": "(chord * chord / 4 + flute * flute) / (2 * flute)"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "width"
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "0",
      "width"
    ]
  },
  "body": {
    "profile": {
      "start": [
        "0",
        "flute"
      ],
      "section": [
        {
          "line": {
            "to": [
              "land",
              "flute"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "land + chord / 2",
              "arcRadius"
            ],
            "from": [
              "land",
              "flute"
            ],
            "to": [
              "pitch",
              "flute"
            ],
            "clockwise": false
          }
        }
      ]
    }
  }
}
,"four-leaf-tile":{
  "schema": 1,
  "id": "four-leaf-tile",
  "name": "Four leaf tile",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 300,
      "min": 100,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.374233128834 * edge",
          "0.20245398773 * edge"
        ],
        [
          "0.374233128834 * edge",
          "0"
        ],
        [
          "0.601226993865 * edge",
          "0"
        ],
        [
          "0.61963190184 * edge",
          "-0.006134969325 * edge"
        ],
        [
          "0.644171779141 * edge",
          "-0.01226993865 * edge"
        ],
        [
          "0.668711656442 * edge",
          "-0.024539877301 * edge"
        ],
        [
          "0.705521472393 * edge",
          "-0.049079754601 * edge"
        ],
        [
          "0.723926380368 * edge",
          "-0.067484662577 * edge"
        ],
        [
          "0.748466257669 * edge",
          "-0.104294478528 * edge"
        ],
        [
          "0.760736196319 * edge",
          "-0.128834355828 * edge"
        ],
        [
          "0.766871165644 * edge",
          "-0.147239263804 * edge"
        ],
        [
          "0.773006134969 * edge",
          "-0.171779141104 * edge"
        ],
        [
          "0.779141104294 * edge",
          "-0.147239263804 * edge"
        ],
        [
          "0.78527607362 * edge",
          "-0.128834355828 * edge"
        ],
        [
          "0.79754601227 * edge",
          "-0.104294478528 * edge"
        ],
        [
          "0.80981595092 * edge",
          "-0.085889570552 * edge"
        ],
        [
          "0.828220858896 * edge",
          "-0.067484662577 * edge"
        ],
        [
          "0.840490797546 * edge",
          "-0.049079754601 * edge"
        ],
        [
          "0.858895705521 * edge",
          "-0.036809815951 * edge"
        ],
        [
          "0.883435582822 * edge",
          "-0.024539877301 * edge"
        ],
        [
          "0.901840490798 * edge",
          "-0.01226993865 * edge"
        ],
        [
          "0.950920245399 * edge",
          "0"
        ],
        [
          "1.171779141104 * edge",
          "0"
        ],
        [
          "1.171779141104 * edge",
          "0.20245398773 * edge"
        ],
        [
          "0.975460122699 * edge",
          "0.20245398773 * edge"
        ],
        [
          "0.950920245399 * edge",
          "0.208588957055 * edge"
        ],
        [
          "0.926380368098 * edge",
          "0.208588957055 * edge"
        ],
        [
          "0.901840490798 * edge",
          "0.220858895706 * edge"
        ],
        [
          "0.883435582822 * edge",
          "0.226993865031 * edge"
        ],
        [
          "0.858895705521 * edge",
          "0.239263803681 * edge"
        ],
        [
          "0.80981595092 * edge",
          "0.288343558282 * edge"
        ],
        [
          "0.79754601227 * edge",
          "0.306748466258 * edge"
        ],
        [
          "0.78527607362 * edge",
          "0.331288343558 * edge"
        ],
        [
          "0.779141104294 * edge",
          "0.355828220859 * edge"
        ],
        [
          "0.773006134969 * edge",
          "0.374233128834 * edge"
        ],
        [
          "0.766871165644 * edge",
          "0.355828220859 * edge"
        ],
        [
          "0.760736196319 * edge",
          "0.331288343558 * edge"
        ],
        [
          "0.748466257669 * edge",
          "0.306748466258 * edge"
        ],
        [
          "0.723926380368 * edge",
          "0.269938650307 * edge"
        ],
        [
          "0.705521472393 * edge",
          "0.257668711656 * edge"
        ],
        [
          "0.687116564417 * edge",
          "0.239263803681 * edge"
        ],
        [
          "0.668711656442 * edge",
          "0.226993865031 * edge"
        ],
        [
          "0.644171779141 * edge",
          "0.220858895706 * edge"
        ],
        [
          "0.61963190184 * edge",
          "0.208588957055 * edge"
        ],
        [
          "0.601226993865 * edge",
          "0.208588957055 * edge"
        ],
        [
          "0.576687116564 * edge",
          "0.20245398773 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.171779141104 * edge",
          "edge"
        ],
        [
          "0.171779141104 * edge",
          "0.779141104294 * edge"
        ],
        [
          "0.159509202454 * edge",
          "0.730061349693 * edge"
        ],
        [
          "0.147239263804 * edge",
          "0.711656441718 * edge"
        ],
        [
          "0.134969325153 * edge",
          "0.687116564417 * edge"
        ],
        [
          "0.122699386503 * edge",
          "0.668711656442 * edge"
        ],
        [
          "0.104294478528 * edge",
          "0.656441717791 * edge"
        ],
        [
          "0.085889570552 * edge",
          "0.638036809816 * edge"
        ],
        [
          "0.067484662577 * edge",
          "0.625766871166 * edge"
        ],
        [
          "0.042944785276 * edge",
          "0.613496932515 * edge"
        ],
        [
          "0.024539877301 * edge",
          "0.60736196319 * edge"
        ],
        [
          "0",
          "0.601226993865 * edge"
        ],
        [
          "0.024539877301 * edge",
          "0.59509202454 * edge"
        ],
        [
          "0.042944785276 * edge",
          "0.588957055215 * edge"
        ],
        [
          "0.067484662577 * edge",
          "0.576687116564 * edge"
        ],
        [
          "0.104294478528 * edge",
          "0.552147239264 * edge"
        ],
        [
          "0.122699386503 * edge",
          "0.533742331288 * edge"
        ],
        [
          "0.147239263804 * edge",
          "0.496932515337 * edge"
        ],
        [
          "0.159509202454 * edge",
          "0.472392638037 * edge"
        ],
        [
          "0.165644171779 * edge",
          "0.447852760736 * edge"
        ],
        [
          "0.171779141104 * edge",
          "0.429447852761 * edge"
        ],
        [
          "0.171779141104 * edge",
          "0.20245398773 * edge"
        ],
        [
          "0.374233128834 * edge",
          "0.20245398773 * edge"
        ],
        [
          "0.374233128834 * edge",
          "0.40490797546 * edge"
        ],
        [
          "0.38036809816 * edge",
          "0.429447852761 * edge"
        ],
        [
          "0.38036809816 * edge",
          "0.447852760736 * edge"
        ],
        [
          "0.39263803681 * edge",
          "0.472392638037 * edge"
        ],
        [
          "0.398773006135 * edge",
          "0.496932515337 * edge"
        ],
        [
          "0.411042944785 * edge",
          "0.515337423313 * edge"
        ],
        [
          "0.429447852761 * edge",
          "0.533742331288 * edge"
        ],
        [
          "0.441717791411 * edge",
          "0.552147239264 * edge"
        ],
        [
          "0.478527607362 * edge",
          "0.576687116564 * edge"
        ],
        [
          "0.503067484663 * edge",
          "0.588957055215 * edge"
        ],
        [
          "0.527607361963 * edge",
          "0.59509202454 * edge"
        ],
        [
          "0.546012269939 * edge",
          "0.601226993865 * edge"
        ],
        [
          "0.527607361963 * edge",
          "0.60736196319 * edge"
        ],
        [
          "0.503067484663 * edge",
          "0.613496932515 * edge"
        ],
        [
          "0.478527607362 * edge",
          "0.625766871166 * edge"
        ],
        [
          "0.460122699387 * edge",
          "0.638036809816 * edge"
        ],
        [
          "0.411042944785 * edge",
          "0.687116564417 * edge"
        ],
        [
          "0.398773006135 * edge",
          "0.711656441718 * edge"
        ],
        [
          "0.39263803681 * edge",
          "0.730061349693 * edge"
        ],
        [
          "0.38036809816 * edge",
          "0.754601226994 * edge"
        ],
        [
          "0.38036809816 * edge",
          "0.779141104294 * edge"
        ],
        [
          "0.374233128834 * edge",
          "0.803680981595 * edge"
        ],
        [
          "0.374233128834 * edge",
          "edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.374233128834 * edge",
          "edge"
        ],
        [
          "0.374233128834 * edge",
          "0.803680981595 * edge"
        ],
        [
          "0.38036809816 * edge",
          "0.779141104294 * edge"
        ],
        [
          "0.38036809816 * edge",
          "0.754601226994 * edge"
        ],
        [
          "0.39263803681 * edge",
          "0.730061349693 * edge"
        ],
        [
          "0.398773006135 * edge",
          "0.711656441718 * edge"
        ],
        [
          "0.411042944785 * edge",
          "0.687116564417 * edge"
        ],
        [
          "0.460122699387 * edge",
          "0.638036809816 * edge"
        ],
        [
          "0.478527607362 * edge",
          "0.625766871166 * edge"
        ],
        [
          "0.503067484663 * edge",
          "0.613496932515 * edge"
        ],
        [
          "0.527607361963 * edge",
          "0.60736196319 * edge"
        ],
        [
          "0.546012269939 * edge",
          "0.601226993865 * edge"
        ],
        [
          "0.527607361963 * edge",
          "0.59509202454 * edge"
        ],
        [
          "0.503067484663 * edge",
          "0.588957055215 * edge"
        ],
        [
          "0.478527607362 * edge",
          "0.576687116564 * edge"
        ],
        [
          "0.441717791411 * edge",
          "0.552147239264 * edge"
        ],
        [
          "0.429447852761 * edge",
          "0.533742331288 * edge"
        ],
        [
          "0.411042944785 * edge",
          "0.515337423313 * edge"
        ],
        [
          "0.398773006135 * edge",
          "0.496932515337 * edge"
        ],
        [
          "0.39263803681 * edge",
          "0.472392638037 * edge"
        ],
        [
          "0.38036809816 * edge",
          "0.447852760736 * edge"
        ],
        [
          "0.38036809816 * edge",
          "0.429447852761 * edge"
        ],
        [
          "0.374233128834 * edge",
          "0.40490797546 * edge"
        ],
        [
          "0.374233128834 * edge",
          "0.20245398773 * edge"
        ],
        [
          "0.576687116564 * edge",
          "0.20245398773 * edge"
        ],
        [
          "0.601226993865 * edge",
          "0.208588957055 * edge"
        ],
        [
          "0.61963190184 * edge",
          "0.208588957055 * edge"
        ],
        [
          "0.644171779141 * edge",
          "0.220858895706 * edge"
        ],
        [
          "0.668711656442 * edge",
          "0.226993865031 * edge"
        ],
        [
          "0.687116564417 * edge",
          "0.239263803681 * edge"
        ],
        [
          "0.705521472393 * edge",
          "0.257668711656 * edge"
        ],
        [
          "0.723926380368 * edge",
          "0.269938650307 * edge"
        ],
        [
          "0.748466257669 * edge",
          "0.306748466258 * edge"
        ],
        [
          "0.760736196319 * edge",
          "0.331288343558 * edge"
        ],
        [
          "0.766871165644 * edge",
          "0.355828220859 * edge"
        ],
        [
          "0.773006134969 * edge",
          "0.374233128834 * edge"
        ],
        [
          "0.779141104294 * edge",
          "0.355828220859 * edge"
        ],
        [
          "0.78527607362 * edge",
          "0.331288343558 * edge"
        ],
        [
          "0.79754601227 * edge",
          "0.306748466258 * edge"
        ],
        [
          "0.80981595092 * edge",
          "0.288343558282 * edge"
        ],
        [
          "0.858895705521 * edge",
          "0.239263803681 * edge"
        ],
        [
          "0.883435582822 * edge",
          "0.226993865031 * edge"
        ],
        [
          "0.901840490798 * edge",
          "0.220858895706 * edge"
        ],
        [
          "0.926380368098 * edge",
          "0.208588957055 * edge"
        ],
        [
          "0.950920245399 * edge",
          "0.208588957055 * edge"
        ],
        [
          "0.975460122699 * edge",
          "0.20245398773 * edge"
        ],
        [
          "1.171779141104 * edge",
          "0.20245398773 * edge"
        ],
        [
          "1.171779141104 * edge",
          "0.429447852761 * edge"
        ],
        [
          "1.165644171779 * edge",
          "0.447852760736 * edge"
        ],
        [
          "1.159509202454 * edge",
          "0.472392638037 * edge"
        ],
        [
          "1.147239263804 * edge",
          "0.496932515337 * edge"
        ],
        [
          "1.122699386503 * edge",
          "0.533742331288 * edge"
        ],
        [
          "1.104294478528 * edge",
          "0.552147239264 * edge"
        ],
        [
          "1.067484662577 * edge",
          "0.576687116564 * edge"
        ],
        [
          "1.042944785276 * edge",
          "0.588957055215 * edge"
        ],
        [
          "1.024539877301 * edge",
          "0.59509202454 * edge"
        ],
        [
          "edge",
          "0.601226993865 * edge"
        ],
        [
          "1.024539877301 * edge",
          "0.60736196319 * edge"
        ],
        [
          "1.042944785276 * edge",
          "0.613496932515 * edge"
        ],
        [
          "1.067484662577 * edge",
          "0.625766871166 * edge"
        ],
        [
          "1.085889570552 * edge",
          "0.638036809816 * edge"
        ],
        [
          "1.104294478528 * edge",
          "0.656441717791 * edge"
        ],
        [
          "1.122699386503 * edge",
          "0.668711656442 * edge"
        ],
        [
          "1.134969325153 * edge",
          "0.687116564417 * edge"
        ],
        [
          "1.147239263804 * edge",
          "0.711656441718 * edge"
        ],
        [
          "1.159509202454 * edge",
          "0.730061349693 * edge"
        ],
        [
          "1.171779141104 * edge",
          "0.779141104294 * edge"
        ],
        [
          "1.171779141104 * edge",
          "edge"
        ],
        [
          "0.950920245399 * edge",
          "edge"
        ],
        [
          "0.901840490798 * edge",
          "0.98773006135 * edge"
        ],
        [
          "0.883435582822 * edge",
          "0.975460122699 * edge"
        ],
        [
          "0.858895705521 * edge",
          "0.963190184049 * edge"
        ],
        [
          "0.840490797546 * edge",
          "0.950920245399 * edge"
        ],
        [
          "0.828220858896 * edge",
          "0.932515337423 * edge"
        ],
        [
          "0.80981595092 * edge",
          "0.914110429448 * edge"
        ],
        [
          "0.79754601227 * edge",
          "0.895705521472 * edge"
        ],
        [
          "0.78527607362 * edge",
          "0.871165644172 * edge"
        ],
        [
          "0.779141104294 * edge",
          "0.852760736196 * edge"
        ],
        [
          "0.773006134969 * edge",
          "0.828220858896 * edge"
        ],
        [
          "0.766871165644 * edge",
          "0.852760736196 * edge"
        ],
        [
          "0.760736196319 * edge",
          "0.871165644172 * edge"
        ],
        [
          "0.748466257669 * edge",
          "0.895705521472 * edge"
        ],
        [
          "0.723926380368 * edge",
          "0.932515337423 * edge"
        ],
        [
          "0.705521472393 * edge",
          "0.950920245399 * edge"
        ],
        [
          "0.668711656442 * edge",
          "0.975460122699 * edge"
        ],
        [
          "0.644171779141 * edge",
          "0.98773006135 * edge"
        ],
        [
          "0.61963190184 * edge",
          "0.993865030675 * edge"
        ],
        [
          "0.601226993865 * edge",
          "edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.171779141104 * edge",
          "0.20245398773 * edge"
        ],
        [
          "0.171779141104 * edge",
          "0"
        ],
        [
          "0.374233128834 * edge",
          "0"
        ],
        [
          "0.374233128834 * edge",
          "0.20245398773 * edge"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "edge"
    ]
  }
},"four-piece-modular-paver":{
  "schema": 1,
  "id": "four-piece-modular-paver",
  "name": "Four-piece modular paver",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 101.6,
      "min": 20,
      "max": 500,
      "label": "Smallest paver side"
    }
  },
  "tiles": [
    {
      "rect": [
        "5 * moduleSize",
        "2 * moduleSize",
        "6 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "2 * moduleSize",
        "2 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "0",
        "7 * moduleSize",
        "moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "4 * moduleSize",
        "6 * moduleSize",
        "6 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "6 * moduleSize",
        "5 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "9 * moduleSize",
        "4 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "2 * moduleSize",
        "8 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "9 * moduleSize",
        "8 * moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "moduleSize",
        "7 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "9 * moduleSize",
        "6 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "rect": [
        "8 * moduleSize",
        "8 * moduleSize",
        "10 * moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "moduleSize",
        "5 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "0",
        "11 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "7 * moduleSize",
        "8 * moduleSize",
        "9 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "0",
        "9 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "8 * moduleSize",
        "2 * moduleSize",
        "10 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "8 * moduleSize",
        "7 * moduleSize",
        "9 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "8 * moduleSize",
        "moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "moduleSize",
        "2 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "3 * moduleSize",
        "4 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "5 * moduleSize",
        "4 * moduleSize",
        "6 * moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "5 * moduleSize",
        "11 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "8 * moduleSize",
        "5 * moduleSize",
        "9 * moduleSize"
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "6 * moduleSize",
        "6 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "8 * moduleSize",
        "3 * moduleSize",
        "10 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "5 * moduleSize",
        "7 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "6 * moduleSize",
        "3 * moduleSize",
        "9 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "5 * moduleSize",
        "9 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "3 * moduleSize",
        "5 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "5 * moduleSize",
        "3 * moduleSize",
        "6 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "10 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "10 * moduleSize"
    ]
  }
}
,"framed-octagon-panel":{
  "schema": 1,
  "id": "framed-octagon-panel",
  "name": "Framed octagon panel",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0.541666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.541666666667 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.875 * overallSize",
          "0.395833333333 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.145833333333 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.541666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.625 * overallSize",
          "0.145833333333 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.145833333333 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.395833333333 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.395833333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.541666666667 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.395833333333 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.395833333333 * overallSize"
        ],
        [
          "overallSize",
          "0.541666666667 * overallSize"
        ],
        [
          "overallSize",
          "1.0625 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.0625 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "0.875 * overallSize",
          "0.145833333333 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.145833333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.625 * overallSize",
          "0.145833333333 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.395833333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.541666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.541666666667 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0",
          "1.0625 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.125 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.916666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.375 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.541666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.0625 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.125 * overallSize",
          "-0.145833333333 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "-0.145833333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.541666666667 * overallSize"
        ],
        [
          "0",
          "0.541666666667 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "1.0625 * overallSize"
    ]
  }
}
,"framed-panel-grid":{
  "schema": 1,
  "id": "framed-panel-grid",
  "name": "Framed panel grid",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 170, "min": 40, "max": 1500, "label": "Panel width" },
    "half": { "expr": "width / 2" },
    "inset": { "expr": "width * 0.132" },
    "barTop": { "expr": "half - inset" },
    "run": { "expr": "width - inset" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"], ["width", "0"], ["width", "half"], ["0", "half"],
        ["0", "barTop"], ["run", "barTop"], ["run", "inset"], ["0", "inset"]
      ]
    },
    { "rect": ["0", "inset", "run", "barTop"] },
    {
      "polygon": [
        ["2 * width", "0"], ["3 * width", "0"], ["3 * width", "inset"], ["2 * width + inset", "inset"],
        ["2 * width + inset", "barTop"], ["3 * width", "barTop"], ["3 * width", "half"], ["2 * width", "half"]
      ]
    },
    { "rect": ["2 * width + inset", "inset", "3 * width", "barTop"] },
    {
      "polygon": [
        ["0", "width"], ["width", "width"], ["width", "width + inset"], ["inset", "width + inset"],
        ["inset", "width + barTop"], ["width", "width + barTop"], ["width", "width + half"], ["0", "width + half"]
      ]
    },
    { "rect": ["inset", "width + inset", "width", "width + barTop"] },
    {
      "polygon": [
        ["width", "width"], ["2 * width", "width"], ["2 * width", "width + half"], ["width", "width + half"],
        ["width", "width + barTop"], ["width + run", "width + barTop"], ["width + run", "width + inset"], ["width", "width + inset"]
      ]
    },
    { "rect": ["width", "width + inset", "width + run", "width + barTop"] },

    { "rect": ["width", "0", "2 * width", "width"] },
    { "rect": ["2 * width", "width", "3 * width", "2 * width"] },
    { "rect": ["0", "half", "width", "width"] },
    { "rect": ["2 * width", "half", "3 * width", "width"] },
    { "rect": ["0", "width + half", "width", "2 * width"] },
    { "rect": ["width", "width + half", "2 * width", "2 * width"] }
  ],
  "lattice": { "a": ["3 * width", "0"], "b": ["0", "2 * width"] }
}
,"framed-parquet-panel":{
  "schema": 1,
  "id": "framed-parquet-panel",
  "name": "Framed parquet panel",
  "category": "wood",
  "parameters": {
    "cellSize": {
      "value": 800,
      "min": 300,
      "max": 2400,
      "label": "Panel side"
    },
    "module": {
      "expr": "cellSize / 38"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "27 * module",
          "25 * module"
        ],
        [
          "31 * module",
          "21 * module"
        ],
        [
          "35 * module",
          "25 * module"
        ],
        [
          "31 * module",
          "29 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * module",
          "25 * module"
        ],
        [
          "13 * module",
          "35 * module"
        ],
        [
          "9 * module",
          "35 * module"
        ],
        [
          "3 * module",
          "29 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * module",
          "29 * module"
        ],
        [
          "9 * module",
          "35 * module"
        ],
        [
          "3 * module",
          "35 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * module",
          "27 * module"
        ],
        [
          "17 * module",
          "31 * module"
        ],
        [
          "13 * module",
          "35 * module"
        ],
        [
          "9 * module",
          "31 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "35 * module",
          "3 * module"
        ],
        [
          "38 * module",
          "3 * module"
        ],
        [
          "38 * module",
          "38 * module"
        ],
        [
          "35 * module",
          "38 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "35 * module"
        ],
        [
          "35 * module",
          "35 * module"
        ],
        [
          "35 * module",
          "38 * module"
        ],
        [
          "0",
          "38 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * module",
          "21 * module"
        ],
        [
          "9 * module",
          "19 * module"
        ],
        [
          "19 * module",
          "29 * module"
        ],
        [
          "17 * module",
          "31 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * module",
          "33 * module"
        ],
        [
          "21 * module",
          "35 * module"
        ],
        [
          "17 * module",
          "35 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * module",
          "21 * module"
        ],
        [
          "11 * module",
          "25 * module"
        ],
        [
          "7 * module",
          "29 * module"
        ],
        [
          "3 * module",
          "25 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * module",
          "25 * module"
        ],
        [
          "13 * module",
          "27 * module"
        ],
        [
          "9 * module",
          "31 * module"
        ],
        [
          "7 * module",
          "29 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * module",
          "9 * module"
        ],
        [
          "23 * module",
          "13 * module"
        ],
        [
          "19 * module",
          "17 * module"
        ],
        [
          "15 * module",
          "13 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * module",
          "3 * module"
        ],
        [
          "17 * module",
          "7 * module"
        ],
        [
          "13 * module",
          "11 * module"
        ],
        [
          "9 * module",
          "7 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * module",
          "3 * module"
        ],
        [
          "17 * module",
          "3 * module"
        ],
        [
          "19 * module",
          "5 * module"
        ],
        [
          "17 * module",
          "7 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * module",
          "9 * module"
        ],
        [
          "21 * module",
          "7 * module"
        ],
        [
          "31 * module",
          "17 * module"
        ],
        [
          "29 * module",
          "19 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * module",
          "9 * module"
        ],
        [
          "9 * module",
          "7 * module"
        ],
        [
          "19 * module",
          "17 * module"
        ],
        [
          "17 * module",
          "19 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "25 * module",
          "3 * module"
        ],
        [
          "29 * module",
          "7 * module"
        ],
        [
          "25 * module",
          "11 * module"
        ],
        [
          "21 * module",
          "7 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * module",
          "3 * module"
        ],
        [
          "9 * module",
          "3 * module"
        ],
        [
          "3 * module",
          "9 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "21 * module",
          "31 * module"
        ],
        [
          "25 * module",
          "27 * module"
        ],
        [
          "29 * module",
          "31 * module"
        ],
        [
          "25 * module",
          "35 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "29 * module",
          "7 * module"
        ],
        [
          "31 * module",
          "9 * module"
        ],
        [
          "27 * module",
          "13 * module"
        ],
        [
          "25 * module",
          "11 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "33 * module",
          "19 * module"
        ],
        [
          "35 * module",
          "21 * module"
        ],
        [
          "35 * module",
          "25 * module"
        ],
        [
          "31 * module",
          "21 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * module",
          "15 * module"
        ],
        [
          "17 * module",
          "19 * module"
        ],
        [
          "13 * module",
          "23 * module"
        ],
        [
          "9 * module",
          "19 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "35 * module",
          "3 * module"
        ],
        [
          "35 * module",
          "9 * module"
        ],
        [
          "29 * module",
          "3 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * module",
          "21 * module"
        ],
        [
          "21 * module",
          "19 * module"
        ],
        [
          "31 * module",
          "29 * module"
        ],
        [
          "29 * module",
          "31 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "25 * module",
          "3 * module"
        ],
        [
          "29 * module",
          "3 * module"
        ],
        [
          "35 * module",
          "9 * module"
        ],
        [
          "35 * module",
          "13 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * module",
          "9 * module"
        ],
        [
          "9 * module",
          "3 * module"
        ],
        [
          "13 * module",
          "3 * module"
        ],
        [
          "3 * module",
          "13 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "23 * module",
          "25 * module"
        ],
        [
          "25 * module",
          "27 * module"
        ],
        [
          "17 * module",
          "35 * module"
        ],
        [
          "13 * module",
          "35 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "25 * module",
          "23 * module"
        ],
        [
          "35 * module",
          "13 * module"
        ],
        [
          "35 * module",
          "17 * module"
        ],
        [
          "27 * module",
          "25 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "35 * module",
          "17 * module"
        ],
        [
          "35 * module",
          "21 * module"
        ],
        [
          "33 * module",
          "19 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * module",
          "13 * module"
        ],
        [
          "7 * module",
          "9 * module"
        ],
        [
          "11 * module",
          "13 * module"
        ],
        [
          "7 * module",
          "17 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "21 * module",
          "3 * module"
        ],
        [
          "19 * module",
          "5 * module"
        ],
        [
          "17 * module",
          "3 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * module",
          "17 * module"
        ],
        [
          "5 * module",
          "19 * module"
        ],
        [
          "3 * module",
          "21 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "31 * module",
          "9 * module"
        ],
        [
          "35 * module",
          "13 * module"
        ],
        [
          "31 * module",
          "17 * module"
        ],
        [
          "27 * module",
          "13 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * module",
          "21 * module"
        ],
        [
          "23 * module",
          "25 * module"
        ],
        [
          "19 * module",
          "29 * module"
        ],
        [
          "15 * module",
          "25 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * module",
          "33 * module"
        ],
        [
          "21 * module",
          "31 * module"
        ],
        [
          "25 * module",
          "35 * module"
        ],
        [
          "21 * module",
          "35 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * module",
          "11 * module"
        ],
        [
          "21 * module",
          "3 * module"
        ],
        [
          "25 * module",
          "3 * module"
        ],
        [
          "15 * module",
          "13 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * module",
          "0"
        ],
        [
          "38 * module",
          "0"
        ],
        [
          "38 * module",
          "3 * module"
        ],
        [
          "3 * module",
          "3 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "3 * module",
          "0"
        ],
        [
          "3 * module",
          "35 * module"
        ],
        [
          "0",
          "35 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * module",
          "17 * module"
        ],
        [
          "3 * module",
          "13 * module"
        ],
        [
          "7 * module",
          "17 * module"
        ],
        [
          "5 * module",
          "19 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "25 * module",
          "15 * module"
        ],
        [
          "29 * module",
          "19 * module"
        ],
        [
          "25 * module",
          "23 * module"
        ],
        [
          "21 * module",
          "19 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * module",
          "21 * module"
        ],
        [
          "11 * module",
          "13 * module"
        ],
        [
          "13 * module",
          "15 * module"
        ],
        [
          "3 * module",
          "25 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "35 * module",
          "25 * module"
        ],
        [
          "35 * module",
          "29 * module"
        ],
        [
          "29 * module",
          "35 * module"
        ],
        [
          "25 * module",
          "35 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "35 * module",
          "29 * module"
        ],
        [
          "35 * module",
          "35 * module"
        ],
        [
          "29 * module",
          "35 * module"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * module",
          "23 * module"
        ],
        [
          "23 * module",
          "13 * module"
        ],
        [
          "25 * module",
          "15 * module"
        ],
        [
          "15 * module",
          "25 * module"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "38 * module",
      "0"
    ],
    "b": [
      "0",
      "38 * module"
    ]
  }
}
,"framed-weave-panel":{
  "schema": 1,
  "id": "framed-weave-panel",
  "name": "Framed weave panel",
  "category": "wood",
  "parameters": {
    "cellSize": {
      "value": 600,
      "min": 200,
      "max": 2000,
      "label": "Panel side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.1 * cellSize",
          "0.15 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.3 * cellSize"
        ],
        [
          "0.1 * cellSize",
          "0.45 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.3 * cellSize",
          "0.35 * cellSize"
        ],
        [
          "0.45 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.3 * cellSize",
          "0.65 * cellSize"
        ],
        [
          "0.15 * cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.85 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.7 * cellSize",
          "0.25 * cellSize"
        ],
        [
          "0.55 * cellSize",
          "0.1 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.45 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.55 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.45 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.55 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.7 * cellSize",
          "0.65 * cellSize"
        ],
        [
          "0.85 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.55 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.7 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.1 * cellSize",
          "0.15 * cellSize"
        ],
        [
          "0.1 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.15 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.45 * cellSize"
        ],
        [
          "0.45 * cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.45 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.3 * cellSize",
          "0.25 * cellSize"
        ],
        [
          "0.15 * cellSize",
          "0.1 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.9 * cellSize",
          "0"
        ],
        [
          "cellSize",
          "0"
        ],
        [
          "cellSize",
          "0.9 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.9 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.9 * cellSize",
          "0.55 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.85 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.7 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.3 * cellSize",
          "0.65 * cellSize"
        ],
        [
          "0.65 * cellSize",
          "0.3 * cellSize"
        ],
        [
          "0.7 * cellSize",
          "0.35 * cellSize"
        ],
        [
          "0.35 * cellSize",
          "0.7 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.1 * cellSize",
          "0.45 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.3 * cellSize"
        ],
        [
          "0.3 * cellSize",
          "0.35 * cellSize"
        ],
        [
          "0.15 * cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.45 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.15 * cellSize"
        ],
        [
          "0.35 * cellSize",
          "0.3 * cellSize"
        ],
        [
          "0.3 * cellSize",
          "0.25 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.7 * cellSize",
          "0.75 * cellSize"
        ],
        [
          "0.85 * cellSize",
          "0.9 * cellSize"
        ],
        [
          "0.55 * cellSize",
          "0.9 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * cellSize",
          "0.15 * cellSize"
        ],
        [
          "0.65 * cellSize",
          "0.3 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.45 * cellSize"
        ],
        [
          "0.35 * cellSize",
          "0.3 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.1 * cellSize",
          "0.85 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.7 * cellSize"
        ],
        [
          "0.3 * cellSize",
          "0.75 * cellSize"
        ],
        [
          "0.15 * cellSize",
          "0.9 * cellSize"
        ],
        [
          "0.1 * cellSize",
          "0.9 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.9 * cellSize",
          "0"
        ],
        [
          "0.9 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0",
          "0.1 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * cellSize",
          "0.85 * cellSize"
        ],
        [
          "0.65 * cellSize",
          "0.7 * cellSize"
        ],
        [
          "0.7 * cellSize",
          "0.75 * cellSize"
        ],
        [
          "0.55 * cellSize",
          "0.9 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.3 * cellSize",
          "0.75 * cellSize"
        ],
        [
          "0.45 * cellSize",
          "0.9 * cellSize"
        ],
        [
          "0.15 * cellSize",
          "0.9 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.1 * cellSize",
          "0.55 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.7 * cellSize"
        ],
        [
          "0.1 * cellSize",
          "0.85 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.85 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.15 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.3 * cellSize"
        ],
        [
          "0.7 * cellSize",
          "0.25 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.9 * cellSize",
          "0.15 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.45 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.3 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.35 * cellSize",
          "0.7 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.55 * cellSize"
        ],
        [
          "0.65 * cellSize",
          "0.7 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.85 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.7 * cellSize",
          "0.35 * cellSize"
        ],
        [
          "0.85 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.7 * cellSize",
          "0.65 * cellSize"
        ],
        [
          "0.55 * cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.1 * cellSize",
          "0.55 * cellSize"
        ],
        [
          "0.1 * cellSize",
          "0.45 * cellSize"
        ],
        [
          "0.55 * cellSize",
          "0.9 * cellSize"
        ],
        [
          "0.45 * cellSize",
          "0.9 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * cellSize",
          "0.55 * cellSize"
        ],
        [
          "0.55 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.85 * cellSize"
        ],
        [
          "0.9 * cellSize",
          "0.9 * cellSize"
        ],
        [
          "0.85 * cellSize",
          "0.9 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.1 * cellSize"
        ],
        [
          "0.1 * cellSize",
          "0.1 * cellSize"
        ],
        [
          "0.1 * cellSize",
          "cellSize"
        ],
        [
          "0",
          "cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.1 * cellSize",
          "0.9 * cellSize"
        ],
        [
          "cellSize",
          "0.9 * cellSize"
        ],
        [
          "cellSize",
          "cellSize"
        ],
        [
          "0.1 * cellSize",
          "cellSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "cellSize",
      "0"
    ],
    "b": [
      "0",
      "cellSize"
    ]
  }
}
,"gable-parquet-wide":{
  "schema": 1,
  "id": "gable-parquet-wide",
  "name": "Gable parquet (wide strips)",
  "category": "wood",
  "parameters": {
    "moduleSize": { "value": 304.8, "min": 50, "max": 2000, "label": "Square module side" }
  },
  "tiles": [
    {"polygon": [["1 * moduleSize / 2", "moduleSize"], ["0", "moduleSize"], ["0", "1 * moduleSize / 2"]], "grain": ["1", "1"]},
    {"polygon": [["0", "0"], ["moduleSize", "moduleSize"], ["1 * moduleSize / 2", "moduleSize"], ["0", "1 * moduleSize / 2"]], "grain": ["1", "1"]},
    {"polygon": [["0", "0"], ["1 * moduleSize / 2", "0"], ["moduleSize", "1 * moduleSize / 2"], ["moduleSize", "moduleSize"]], "grain": ["1", "1"]},
    {"polygon": [["1 * moduleSize / 2", "0"], ["moduleSize", "0"], ["moduleSize", "1 * moduleSize / 2"]], "grain": ["1", "1"]},
    {"polygon": [["moduleSize", "0"], ["3 * moduleSize / 2", "0"], ["moduleSize", "1 * moduleSize / 2"]], "grain": ["1", "-1"]},
    {"polygon": [["3 * moduleSize / 2", "0"], ["2 * moduleSize", "0"], ["moduleSize", "moduleSize"], ["moduleSize", "1 * moduleSize / 2"]], "grain": ["1", "-1"]},
    {"polygon": [["2 * moduleSize", "0"], ["2 * moduleSize", "1 * moduleSize / 2"], ["3 * moduleSize / 2", "moduleSize"], ["moduleSize", "moduleSize"]], "grain": ["1", "-1"]},
    {"polygon": [["2 * moduleSize", "1 * moduleSize / 2"], ["2 * moduleSize", "moduleSize"], ["3 * moduleSize / 2", "moduleSize"]], "grain": ["1", "-1"]}
  ],
  "lattice": {"a": ["moduleSize", "moduleSize"], "b": ["moduleSize", "-moduleSize"]}
}
,"gable-parquet":{
  "schema": 1,
  "id": "gable-parquet",
  "name": "Gable parquet",
  "category": "wood",
  "parameters": {
    "moduleSize": { "value": 304.8, "min": 50, "max": 2000, "label": "Square module side" }
  },
  "tiles": [
    {"polygon": [["1 * moduleSize / 3", "moduleSize"], ["0", "moduleSize"], ["0", "2 * moduleSize / 3"]], "grain": ["1", "1"]},
    {"polygon": [["2 * moduleSize / 3", "moduleSize"], ["1 * moduleSize / 3", "moduleSize"], ["0", "2 * moduleSize / 3"], ["0", "1 * moduleSize / 3"]], "grain": ["1", "1"]},
    {"polygon": [["0", "0"], ["moduleSize", "moduleSize"], ["2 * moduleSize / 3", "moduleSize"], ["0", "1 * moduleSize / 3"]], "grain": ["1", "1"]},
    {"polygon": [["0", "0"], ["1 * moduleSize / 3", "0"], ["moduleSize", "2 * moduleSize / 3"], ["moduleSize", "moduleSize"]], "grain": ["1", "1"]},
    {"polygon": [["1 * moduleSize / 3", "0"], ["2 * moduleSize / 3", "0"], ["moduleSize", "1 * moduleSize / 3"], ["moduleSize", "2 * moduleSize / 3"]], "grain": ["1", "1"]},
    {"polygon": [["2 * moduleSize / 3", "0"], ["moduleSize", "0"], ["moduleSize", "1 * moduleSize / 3"]], "grain": ["1", "1"]},
    {"polygon": [["moduleSize", "0"], ["4 * moduleSize / 3", "0"], ["moduleSize", "1 * moduleSize / 3"]], "grain": ["1", "-1"]},
    {"polygon": [["4 * moduleSize / 3", "0"], ["5 * moduleSize / 3", "0"], ["moduleSize", "2 * moduleSize / 3"], ["moduleSize", "1 * moduleSize / 3"]], "grain": ["1", "-1"]},
    {"polygon": [["5 * moduleSize / 3", "0"], ["2 * moduleSize", "0"], ["moduleSize", "moduleSize"], ["moduleSize", "2 * moduleSize / 3"]], "grain": ["1", "-1"]},
    {"polygon": [["2 * moduleSize", "0"], ["2 * moduleSize", "1 * moduleSize / 3"], ["4 * moduleSize / 3", "moduleSize"], ["moduleSize", "moduleSize"]], "grain": ["1", "-1"]},
    {"polygon": [["2 * moduleSize", "1 * moduleSize / 3"], ["2 * moduleSize", "2 * moduleSize / 3"], ["5 * moduleSize / 3", "moduleSize"], ["4 * moduleSize / 3", "moduleSize"]], "grain": ["1", "-1"]},
    {"polygon": [["2 * moduleSize", "2 * moduleSize / 3"], ["2 * moduleSize", "moduleSize"], ["5 * moduleSize / 3", "moduleSize"]], "grain": ["1", "-1"]}
  ],
  "lattice": {"a": ["moduleSize", "moduleSize"], "b": ["moduleSize", "-moduleSize"]}
}
,"girih-bowtie":{
  "schema": 1,
  "id": "girih-bowtie",
  "name": "Girih bowtie",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 60, "min": 10, "max": 300, "label": "Edge" },
    "firstEdgeX": { "expr": "edge * cos(-108)" },
    "firstEdgeY": { "expr": "edge * sin(-108)" },
    "secondEdgeX": { "expr": "edge * cos(0)" },
    "secondEdgeY": { "expr": "edge * sin(0)" },
    "thirdEdgeX": { "expr": "edge * cos(108)" },
    "thirdEdgeY": { "expr": "edge * sin(108)" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["firstEdgeX", "firstEdgeY"],
        ["firstEdgeX + secondEdgeX", "firstEdgeY + secondEdgeY"],
        ["firstEdgeX + secondEdgeX + thirdEdgeX", "firstEdgeY + secondEdgeY + thirdEdgeY"],
        ["secondEdgeX + thirdEdgeX", "secondEdgeY + thirdEdgeY"],
        ["thirdEdgeX", "thirdEdgeY"]
      ]
    }
  ],
  "lattice": {
    "a": ["firstEdgeX + secondEdgeX", "firstEdgeY + secondEdgeY"],
    "b": ["secondEdgeX + thirdEdgeX", "secondEdgeY + thirdEdgeY"]
  }
}
,"girih-hexagon":{
  "schema": 1,
  "id": "girih-hexagon",
  "name": "Girih hexagon",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 60, "min": 10, "max": 300, "label": "Edge" },
    "firstEdgeX": { "expr": "edge * cos(-54)" },
    "firstEdgeY": { "expr": "edge * sin(-54)" },
    "secondEdgeX": { "expr": "edge * cos(54)" },
    "secondEdgeY": { "expr": "edge * sin(54)" },
    "thirdEdgeX": { "expr": "edge * cos(90)" },
    "thirdEdgeY": { "expr": "edge * sin(90)" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["firstEdgeX", "firstEdgeY"],
        ["firstEdgeX + secondEdgeX", "firstEdgeY + secondEdgeY"],
        ["firstEdgeX + secondEdgeX + thirdEdgeX", "firstEdgeY + secondEdgeY + thirdEdgeY"],
        ["secondEdgeX + thirdEdgeX", "secondEdgeY + thirdEdgeY"],
        ["thirdEdgeX", "thirdEdgeY"]
      ]
    }
  ],
  "lattice": {
    "a": ["firstEdgeX + secondEdgeX", "firstEdgeY + secondEdgeY"],
    "b": ["secondEdgeX + thirdEdgeX", "secondEdgeY + thirdEdgeY"]
  }
}
,"girih-wide-hexagon":{
  "schema": 1,
  "id": "girih-wide-hexagon",
  "name": "Girih wide hexagon",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 60, "min": 10, "max": 300, "label": "Edge" },
    "firstEdgeX": { "expr": "edge * cos(-72)" },
    "firstEdgeY": { "expr": "edge * sin(-72)" },
    "secondEdgeX": { "expr": "edge * cos(0)" },
    "secondEdgeY": { "expr": "edge * sin(0)" },
    "thirdEdgeX": { "expr": "edge * cos(72)" },
    "thirdEdgeY": { "expr": "edge * sin(72)" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["firstEdgeX", "firstEdgeY"],
        ["firstEdgeX + secondEdgeX", "firstEdgeY + secondEdgeY"],
        ["firstEdgeX + secondEdgeX + thirdEdgeX", "firstEdgeY + secondEdgeY + thirdEdgeY"],
        ["secondEdgeX + thirdEdgeX", "secondEdgeY + thirdEdgeY"],
        ["thirdEdgeX", "thirdEdgeY"]
      ]
    }
  ],
  "lattice": {
    "a": ["firstEdgeX + secondEdgeX", "firstEdgeY + secondEdgeY"],
    "b": ["secondEdgeX + thirdEdgeX", "secondEdgeY + thirdEdgeY"]
  }
}
,"gothic-bond":{
  "schema": 1,
  "id": "gothic-bond",
  "name": "Gothic bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "3 * length / 2", "width"] },
    { "rect": ["length / 4", "width", "5 * length / 4", "2 * width"] },
    { "rect": ["5 * length / 4", "width", "7 * length / 4", "2 * width"] }
  ],
  "lattice": { "a": ["3 * length / 2", "0"], "b": ["0", "2 * width"] }
}
,"grass-grid-diamond":{
  "schema": 1,
  "id": "grass-grid-diamond",
  "name": "Grass grid, diamond voids",
  "category": "stone",
  "parameters": {
    "length": { "value": 600, "min": 300, "max": 900, "label": "Length" },
    "width": { "value": 400, "min": 200, "max": 600, "label": "Width" },
    "holeHalfDiagonal": { "expr": "0.85 * min(length / 3, width / 2) / 2" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "length", "width"],
      "holes": [
        {
          "repeat": { "index": "k", "count": "3" },
          "polygon": [
            ["length / 6 + k * length / 3 + holeHalfDiagonal", "width / 4"],
            ["length / 6 + k * length / 3", "width / 4 + holeHalfDiagonal"],
            ["length / 6 + k * length / 3 - holeHalfDiagonal", "width / 4"],
            ["length / 6 + k * length / 3", "width / 4 - holeHalfDiagonal"]
          ]
        },
        {
          "repeat": { "index": "k", "count": "3" },
          "polygon": [
            ["length / 6 + k * length / 3 + holeHalfDiagonal", "3 * width / 4"],
            ["length / 6 + k * length / 3", "3 * width / 4 + holeHalfDiagonal"],
            ["length / 6 + k * length / 3 - holeHalfDiagonal", "3 * width / 4"],
            ["length / 6 + k * length / 3", "3 * width / 4 - holeHalfDiagonal"]
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["length", "0"],
    "b": ["0", "width"]
  }
}
,"grass-hexagon-round":{
  "schema": 1,
  "id": "grass-hexagon-round",
  "name": "Grass paver, hexagon with round hole",
  "category": "stone",
  "parameters": {
    "edge": { "value": 350, "min": 100, "max": 600, "label": "Side" },
    "holeRadius": { "expr": "0.7 * sqrt(3) * edge / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "0"],
        ["edge / 2", "sqrt(3) * edge / 2"],
        ["-edge / 2", "sqrt(3) * edge / 2"],
        ["-edge", "0"],
        ["-edge / 2", "-sqrt(3) * edge / 2"],
        ["edge / 2", "-sqrt(3) * edge / 2"]
      ],
      "holes": [
        {
          "path": [
            {
              "arc": { "center": ["0", "0"], "from": ["0 + holeRadius", "0"], "to": ["0 + holeRadius", "0"], "clockwise": false }
            }
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["3 * edge / 2", "sqrt(3) * edge / 2"],
    "b": ["0", "sqrt(3) * edge"]
  }
}
,"grass-paver-2":{
  "schema": 1,
  "id": "grass-paver-2",
  "name": "Grass paver, 2 holes (figure 8)",
  "category": "stone",
  "coverage": "partial",
  "parameters": {
    "width": { "value": 200, "min": 100, "max": 400, "label": "Lobe width" },
    "corner": { "expr": "0.1 * width" },
    "notchHalfLength": { "expr": "0.2 * width" },
    "notchDepth": { "expr": "0.1 * width" },
    "holeHalfDiagonal": { "expr": "0.8 * 0.35 * width" }
  },
  "tiles": [
    {
      "polygon": [
        ["corner", "0"],
        ["width - corner", "0"],
        ["width", "corner"],
        ["width", "width - notchHalfLength"],
        ["width - notchDepth", "width"],
        ["width", "width + notchHalfLength"],
        ["width", "2 * width - corner"],
        ["width - corner", "2 * width"],
        ["corner", "2 * width"],
        ["0", "2 * width - corner"],
        ["0", "width + notchHalfLength"],
        ["notchDepth", "width"],
        ["0", "width - notchHalfLength"],
        ["0", "corner"]
      ],
      "holes": [
        {
          "polygon": [
            ["width / 2 + holeHalfDiagonal", "width / 2"],
            ["width / 2", "width / 2 + holeHalfDiagonal"],
            ["width / 2 - holeHalfDiagonal", "width / 2"],
            ["width / 2", "width / 2 - holeHalfDiagonal"]
          ]
        },
        {
          "polygon": [
            ["width / 2 + holeHalfDiagonal", "3 * width / 2"],
            ["width / 2", "3 * width / 2 + holeHalfDiagonal"],
            ["width / 2 - holeHalfDiagonal", "3 * width / 2"],
            ["width / 2", "3 * width / 2 - holeHalfDiagonal"]
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["width", "0"],
    "b": ["0", "2 * width"]
  }
}
,"grass-paver-5":{
  "schema": 1,
  "id": "grass-paver-5",
  "name": "Grass paver, 5 holes",
  "category": "stone",
  "parameters": {
    "edge": { "value": 200, "min": 120, "max": 400, "label": "Side" },
    "holeSide": { "expr": "0.8 * edge / 4" },
    "holeHalfDiagonal": { "expr": "0.8 * (edge / 2 - holeSide)" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "edge", "edge"],
      "holes": [
        {
          "repeat": { "index": "k", "count": "4" },
          "rect": ["edge / 4 + (k - floor(k / 2) * 2) * edge / 2 - holeSide / 2", "edge / 4 + floor(k / 2) * edge / 2 - holeSide / 2", "edge / 4 + (k - floor(k / 2) * 2) * edge / 2 + holeSide / 2", "edge / 4 + floor(k / 2) * edge / 2 + holeSide / 2"]
        },
        {
          "polygon": [
            ["edge / 2 + holeHalfDiagonal", "edge / 2"],
            ["edge / 2", "edge / 2 + holeHalfDiagonal"],
            ["edge / 2 - holeHalfDiagonal", "edge / 2"],
            ["edge / 2", "edge / 2 - holeHalfDiagonal"]
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["edge", "0"],
    "b": ["0", "edge"]
  }
}
,"grass-paver-8":{
  "schema": 1,
  "id": "grass-paver-8",
  "name": "Grass paver, 8 holes",
  "category": "stone",
  "coverage": "partial",
  "parameters": {
    "length": { "value": 390, "min": 250, "max": 600, "label": "Length" },
    "width": { "value": 260, "min": 180, "max": 400, "label": "Width" },
    "cut": { "expr": "10" },
    "holeSide": { "expr": "0.8 * min(length, width) / 3" }
  },
  "tiles": [
    {
      "polygon": [
        ["cut", "0"],
        ["length - cut", "0"],
        ["length", "cut"],
        ["length", "width - cut"],
        ["length - cut", "width"],
        ["cut", "width"],
        ["0", "width - cut"],
        ["0", "cut"]
      ],
      "holes": [
        {
          "repeat": { "index": "k", "count": "3" },
          "rect": ["length / 6 + k * length / 3 - holeSide / 2", "width / 6 - holeSide / 2", "length / 6 + k * length / 3 + holeSide / 2", "width / 6 + holeSide / 2"]
        },
        {
          "repeat": { "index": "k", "count": "2" },
          "rect": ["length / 3 + k * length / 3 - holeSide / 2", "width / 2 - holeSide / 2", "length / 3 + k * length / 3 + holeSide / 2", "width / 2 + holeSide / 2"]
        },
        {
          "repeat": { "index": "k", "count": "3" },
          "rect": ["length / 6 + k * length / 3 - holeSide / 2", "5 * width / 6 - holeSide / 2", "length / 6 + k * length / 3 + holeSide / 2", "5 * width / 6 + holeSide / 2"]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["length", "0"],
    "b": ["0", "width"]
  }
}
,"grass-square-round":{
  "schema": 1,
  "id": "grass-square-round",
  "name": "Grass paver, square with round hole",
  "category": "stone",
  "coverage": "partial",
  "parameters": {
    "edge": { "value": 400, "min": 150, "max": 600, "label": "Side" },
    "cornerCut": { "expr": "0.1 * edge" },
    "holeRadius": { "expr": "0.65 * edge / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["cornerCut", "0"],
        ["edge - cornerCut", "0"],
        ["edge", "cornerCut"],
        ["edge", "edge - cornerCut"],
        ["edge - cornerCut", "edge"],
        ["cornerCut", "edge"],
        ["0", "edge - cornerCut"],
        ["0", "cornerCut"]
      ],
      "holes": [
        {
          "path": [
            {
              "arc": { "center": ["edge / 2", "edge / 2"], "from": ["edge / 2 + holeRadius", "edge / 2"], "to": ["edge / 2 + holeRadius", "edge / 2"], "clockwise": false }
            }
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["edge", "0"],
    "b": ["0", "edge"]
  }
}
,"greek-cross-weave":{
  "schema": 1,
  "id": "greek-cross-weave",
  "name": "Greek cross weave",
  "category": "ceramic",
  "parameters": {
    "moduleSize": { "value": 45, "min": 10, "max": 600, "label": "Module" }
  },
  "tiles": [
    {
      "polygon": [
        ["moduleSize", "moduleSize"], ["2 * moduleSize", "moduleSize"], ["2 * moduleSize", "0"], ["4 * moduleSize", "0"],
        ["4 * moduleSize", "moduleSize"], ["5 * moduleSize", "moduleSize"], ["5 * moduleSize", "2 * moduleSize"], ["6 * moduleSize", "2 * moduleSize"],
        ["6 * moduleSize", "5 * moduleSize"], ["5 * moduleSize", "5 * moduleSize"], ["5 * moduleSize", "6 * moduleSize"], ["4 * moduleSize", "6 * moduleSize"],
        ["4 * moduleSize", "7 * moduleSize"], ["2 * moduleSize", "7 * moduleSize"], ["2 * moduleSize", "6 * moduleSize"], ["moduleSize", "6 * moduleSize"],
        ["moduleSize", "5 * moduleSize"], ["0", "5 * moduleSize"], ["0", "2 * moduleSize"], ["moduleSize", "2 * moduleSize"]
      ]
    },
    {
      "polygon": [
        ["-3 * moduleSize", "-2 * moduleSize"], ["-2 * moduleSize", "-2 * moduleSize"], ["-2 * moduleSize", "-3 * moduleSize"], ["0", "-3 * moduleSize"],
        ["0", "-2 * moduleSize"], ["moduleSize", "-2 * moduleSize"], ["moduleSize", "-moduleSize"], ["2 * moduleSize", "-moduleSize"],
        ["2 * moduleSize", "moduleSize"], ["moduleSize", "moduleSize"], ["moduleSize", "2 * moduleSize"], ["0", "2 * moduleSize"],
        ["0", "3 * moduleSize"], ["-2 * moduleSize", "3 * moduleSize"], ["-2 * moduleSize", "2 * moduleSize"], ["-3 * moduleSize", "2 * moduleSize"],
        ["-3 * moduleSize", "moduleSize"], ["-4 * moduleSize", "moduleSize"], ["-4 * moduleSize", "-moduleSize"], ["-3 * moduleSize", "-moduleSize"]
      ]
    },
    { "rect": ["6 * moduleSize", "3 * moduleSize", "8 * moduleSize", "4 * moduleSize"] }
  ],
  "lattice": { "a": ["8 * moduleSize", "0"], "b": ["0", "7 * moduleSize"] }
}
,"h-paver":{
  "schema": 1,
  "id": "h-paver",
  "name": "H paver",
  "category": "stone",
  "parameters": {
    "length": {
      "value": 200,
      "min": 40,
      "max": 1000,
      "label": "Overall width"
    },
    "width": {
      "value": 190,
      "min": 30,
      "max": 1000,
      "label": "Overall height"
    },
    "armWidth": {
      "expr": "length / 4"
    },
    "notch": {
      "expr": "(width - armWidth) / 2"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "armWidth",
          "0"
        ],
        [
          "armWidth",
          "notch"
        ],
        [
          "3 * armWidth",
          "notch"
        ],
        [
          "3 * armWidth",
          "0"
        ],
        [
          "4 * armWidth",
          "0"
        ],
        [
          "4 * armWidth",
          "width"
        ],
        [
          "3 * armWidth",
          "width"
        ],
        [
          "3 * armWidth",
          "width - notch"
        ],
        [
          "armWidth",
          "width - notch"
        ],
        [
          "armWidth",
          "width"
        ],
        [
          "0",
          "width"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * armWidth",
      "(width + armWidth) / 2"
    ],
    "b": [
      "-2 * armWidth",
      "(width + armWidth) / 2"
    ]
  }
}
,"haddon-hall":{
  "schema": 1,
  "id": "haddon-hall",
  "name": "Haddon Hall",
  "category": "wood",
  "parameters": {
    "width": { "value": 150, "min": 20, "max": 600, "label": "Block width (length = 3 x width)" },
    "length": { "expr": "3 * width" },
    "cell": { "expr": "length + width" }
  },
  "tiles": [
    { "rect": ["width", "0", "cell", "width"] },
    { "rect": ["0", "0", "width", "length"] },
    { "rect": ["0", "length", "length", "cell"] },
    { "rect": ["length", "width", "cell", "cell"] },
    { "rect": ["width", "width", "2 * width", "2 * width"] },
    { "rect": ["2 * width", "width", "3 * width", "2 * width"] },
    { "rect": ["width", "2 * width", "2 * width", "3 * width"] },
    { "rect": ["2 * width", "2 * width", "3 * width", "3 * width"] }
  ],
  "lattice": { "a": ["cell", "0"], "b": ["0", "cell"] }
}
,"half-and-full-bond":{
  "schema": 1,
  "id": "half-and-full-bond",
  "name": "Half and full bond",
  "category": "brick",
  "parameters": {
    "length": {
      "value": 400,
      "min": 100,
      "max": 1200,
      "label": "Full paver length (with joint)"
    },
    "width": {
      "value": 100,
      "min": 30,
      "max": 400,
      "label": "Course height (with joint)"
    },
    "half": {
      "expr": "length / 2"
    },
    "period": {
      "expr": "5 * length / 2"
    },
    "offset": {
      "expr": "3 * length / 4"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "width"
      ]
    },
    {
      "rect": [
        "length",
        "0",
        "2 * length",
        "width"
      ]
    },
    {
      "rect": [
        "2 * length",
        "0",
        "period",
        "width"
      ]
    },
    {
      "rect": [
        "offset",
        "width",
        "offset + half",
        "2 * width"
      ]
    },
    {
      "rect": [
        "offset + half",
        "width",
        "offset + half + length",
        "2 * width"
      ]
    },
    {
      "rect": [
        "offset + half + length",
        "width",
        "offset + half + 2 * length",
        "2 * width"
      ]
    }
  ],
  "lattice": {
    "a": [
      "period",
      "0"
    ],
    "b": [
      "0",
      "2 * width"
    ]
  }
}
,"half-disc-and-band-panel":{
 "schema": 1,
 "id": "half-disc-and-band-panel",
 "name": "Half disc and band panel",
 "category": "ceramic",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 382.0,
   "min": 38.2,
   "max": 2292.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.186232 * overallSize",
     "0.408743 * overallSize"
    ],
    [
     "0.000654 * overallSize",
     "0.408743 * overallSize"
    ],
    [
     "0.000545 * overallSize",
     "0.001702 * overallSize"
    ],
    [
     "0.998712 * overallSize",
     "0.001702 * overallSize"
    ],
    [
     "0.998712 * overallSize",
     "0.255366 * overallSize"
    ],
    [
     "0.754814 * overallSize",
     "0.255366 * overallSize"
    ],
    [
     "0.749964 * overallSize",
     "0.218596 * overallSize"
    ],
    [
     "0.721149 * overallSize",
     "0.149033 * overallSize"
    ],
    [
     "0.675241 * overallSize",
     "0.089206 * overallSize"
    ],
    [
     "0.615441 * overallSize",
     "0.043322 * overallSize"
    ],
    [
     "0.545879 * overallSize",
     "0.014497 * overallSize"
    ],
    [
     "0.470979 * overallSize",
     "0.004645 * overallSize"
    ],
    [
     "0.470589 * overallSize",
     "0.004869 * overallSize"
    ],
    [
     "0.470435 * overallSize",
     "0.005291 * overallSize"
    ],
    [
     "0.470435 * overallSize",
     "0.149017 * overallSize"
    ],
    [
     "0.396371 * overallSize",
     "0.158779 * overallSize"
    ],
    [
     "0.326857 * overallSize",
     "0.187568 * overallSize"
    ],
    [
     "0.267062 * overallSize",
     "0.233423 * overallSize"
    ],
    [
     "0.221111 * overallSize",
     "0.293287 * overallSize"
    ],
    [
     "0.192254 * overallSize",
     "0.363011 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.545520 * overallSize",
     "0.015784 * overallSize"
    ],
    [
     "0.614822 * overallSize",
     "0.044491 * overallSize"
    ],
    [
     "0.674332 * overallSize",
     "0.090155 * overallSize"
    ],
    [
     "0.719996 * overallSize",
     "0.149665 * overallSize"
    ],
    [
     "0.748703 * overallSize",
     "0.218964 * overallSize"
    ],
    [
     "0.758492 * overallSize",
     "0.293335 * overallSize"
    ],
    [
     "0.748703 * overallSize",
     "0.367704 * overallSize"
    ],
    [
     "0.719996 * overallSize",
     "0.437005 * overallSize"
    ],
    [
     "0.674332 * overallSize",
     "0.496515 * overallSize"
    ],
    [
     "0.614822 * overallSize",
     "0.542180 * overallSize"
    ],
    [
     "0.545520 * overallSize",
     "0.570883 * overallSize"
    ],
    [
     "0.471806 * overallSize",
     "0.580589 * overallSize"
    ],
    [
     "0.471806 * overallSize",
     "0.006081 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.222263 * overallSize",
     "0.293919 * overallSize"
    ],
    [
     "0.267927 * overallSize",
     "0.234409 * overallSize"
    ],
    [
     "0.327437 * overallSize",
     "0.188744 * overallSize"
    ],
    [
     "0.396739 * overallSize",
     "0.160041 * overallSize"
    ],
    [
     "0.470453 * overallSize",
     "0.150335 * overallSize"
    ],
    [
     "0.470453 * overallSize",
     "0.724942 * overallSize"
    ],
    [
     "0.396739 * overallSize",
     "0.715237 * overallSize"
    ],
    [
     "0.327437 * overallSize",
     "0.686533 * overallSize"
    ],
    [
     "0.267928 * overallSize",
     "0.640868 * overallSize"
    ],
    [
     "0.222263 * overallSize",
     "0.581259 * overallSize"
    ],
    [
     "0.193559 * overallSize",
     "0.511960 * overallSize"
    ],
    [
     "0.183775 * overallSize",
     "0.437650 * overallSize"
    ],
    [
     "0.193559 * overallSize",
     "0.363221 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.755039 * overallSize",
     "0.256675 * overallSize"
    ],
    [
     "0.998822 * overallSize",
     "0.256675 * overallSize"
    ],
    [
     "0.998822 * overallSize",
     "0.311859 * overallSize"
    ],
    [
     "0.757421 * overallSize",
     "0.311859 * overallSize"
    ],
    [
     "0.759848 * overallSize",
     "0.293205 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.675293 * overallSize",
     "0.497438 * overallSize"
    ],
    [
     "0.721172 * overallSize",
     "0.437658 * overallSize"
    ],
    [
     "0.750014 * overallSize",
     "0.368045 * overallSize"
    ],
    [
     "0.757249 * overallSize",
     "0.313168 * overallSize"
    ],
    [
     "0.998822 * overallSize",
     "0.313168 * overallSize"
    ],
    [
     "0.998822 * overallSize",
     "0.891230 * overallSize"
    ],
    [
     "0.471806 * overallSize",
     "0.891230 * overallSize"
    ],
    [
     "0.471859 * overallSize",
     "0.581902 * overallSize"
    ],
    [
     "0.545888 * overallSize",
     "0.572145 * overallSize"
    ],
    [
     "0.615493 * overallSize",
     "0.543309 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.186086 * overallSize",
     "0.410068 * overallSize"
    ],
    [
     "0.182461 * overallSize",
     "0.437680 * overallSize"
    ],
    [
     "0.186086 * overallSize",
     "0.465236 * overallSize"
    ],
    [
     "0.000655 * overallSize",
     "0.465236 * overallSize"
    ],
    [
     "0.000680 * overallSize",
     "0.410068 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000691 * overallSize",
     "0.466599 * overallSize"
    ],
    [
     "0.186266 * overallSize",
     "0.466599 * overallSize"
    ],
    [
     "0.192297 * overallSize",
     "0.512328 * overallSize"
    ],
    [
     "0.221131 * overallSize",
     "0.581957 * overallSize"
    ],
    [
     "0.267018 * overallSize",
     "0.641817 * overallSize"
    ],
    [
     "0.326857 * overallSize",
     "0.687709 * overallSize"
    ],
    [
     "0.396416 * overallSize",
     "0.716517 * overallSize"
    ],
    [
     "0.470497 * overallSize",
     "0.726281 * overallSize"
    ],
    [
     "0.470497 * overallSize",
     "0.891230 * overallSize"
    ],
    [
     "0.000655 * overallSize",
     "0.891230 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.469937 * overallSize",
     "0.892539 * overallSize"
    ],
    [
     "0.469937 * overallSize",
     "1.317170 * overallSize"
    ],
    [
     "0.284333 * overallSize",
     "1.317170 * overallSize"
    ],
    [
     "0.278289 * overallSize",
     "1.271327 * overallSize"
    ],
    [
     "0.249497 * overallSize",
     "1.201812 * overallSize"
    ],
    [
     "0.203565 * overallSize",
     "1.141934 * overallSize"
    ],
    [
     "0.143727 * overallSize",
     "1.096042 * overallSize"
    ],
    [
     "0.074212 * overallSize",
     "1.067253 * overallSize"
    ],
    [
     "0.000131 * overallSize",
     "1.057489 * overallSize"
    ],
    [
     "0.000094 * overallSize",
     "0.892539 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.471754 * overallSize",
     "0.892592 * overallSize"
    ],
    [
     "0.998770 * overallSize",
     "0.892592 * overallSize"
    ],
    [
     "0.998770 * overallSize",
     "1.201843 * overallSize"
    ],
    [
     "0.924696 * overallSize",
     "1.211606 * overallSize"
    ],
    [
     "0.855182 * overallSize",
     "1.240395 * overallSize"
    ],
    [
     "0.795343 * overallSize",
     "1.286287 * overallSize"
    ],
    [
     "0.749411 * overallSize",
     "1.346166 * overallSize"
    ],
    [
     "0.720622 * overallSize",
     "1.415680 * overallSize"
    ],
    [
     "0.713379 * overallSize",
     "1.470602 * overallSize"
    ],
    [
     "0.471806 * overallSize",
     "1.470602 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.073845 * overallSize",
     "1.068611 * overallSize"
    ],
    [
     "0.143146 * overallSize",
     "1.097318 * overallSize"
    ],
    [
     "0.202656 * overallSize",
     "1.142982 * overallSize"
    ],
    [
     "0.248321 * overallSize",
     "1.202492 * overallSize"
    ],
    [
     "0.277027 * overallSize",
     "1.271791 * overallSize"
    ],
    [
     "0.286816 * overallSize",
     "1.346162 * overallSize"
    ],
    [
     "0.277027 * overallSize",
     "1.420531 * overallSize"
    ],
    [
     "0.248321 * overallSize",
     "1.489832 * overallSize"
    ],
    [
     "0.202656 * overallSize",
     "1.549342 * overallSize"
    ],
    [
     "0.143146 * overallSize",
     "1.595007 * overallSize"
    ],
    [
     "0.073845 * overallSize",
     "1.623711 * overallSize"
    ],
    [
     "0.000131 * overallSize",
     "1.633416 * overallSize"
    ],
    [
     "0.000131 * overallSize",
     "1.058909 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.750587 * overallSize",
     "1.346746 * overallSize"
    ],
    [
     "0.796252 * overallSize",
     "1.287236 * overallSize"
    ],
    [
     "0.855762 * overallSize",
     "1.241572 * overallSize"
    ],
    [
     "0.925064 * overallSize",
     "1.212868 * overallSize"
    ],
    [
     "0.998777 * overallSize",
     "1.203162 * overallSize"
    ],
    [
     "0.998777 * overallSize",
     "1.777769 * overallSize"
    ],
    [
     "0.925064 * overallSize",
     "1.768064 * overallSize"
    ],
    [
     "0.855762 * overallSize",
     "1.739360 * overallSize"
    ],
    [
     "0.796252 * overallSize",
     "1.693696 * overallSize"
    ],
    [
     "0.750587 * overallSize",
     "1.634086 * overallSize"
    ],
    [
     "0.721884 * overallSize",
     "1.564787 * overallSize"
    ],
    [
     "0.712095 * overallSize",
     "1.490438 * overallSize"
    ],
    [
     "0.721884 * overallSize",
     "1.416048 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.284516 * overallSize",
     "1.318534 * overallSize"
    ],
    [
     "0.469948 * overallSize",
     "1.318534 * overallSize"
    ],
    [
     "0.469948 * overallSize",
     "1.373717 * overallSize"
    ],
    [
     "0.284541 * overallSize",
     "1.373717 * overallSize"
    ],
    [
     "0.288136 * overallSize",
     "1.346032 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.203628 * overallSize",
     "1.550263 * overallSize"
    ],
    [
     "0.249507 * overallSize",
     "1.490485 * overallSize"
    ],
    [
     "0.278349 * overallSize",
     "1.420870 * overallSize"
    ],
    [
     "0.284396 * overallSize",
     "1.375026 * overallSize"
    ],
    [
     "0.469974 * overallSize",
     "1.375026 * overallSize"
    ],
    [
     "0.469974 * overallSize",
     "1.782068 * overallSize"
    ],
    [
     "-0.528193 * overallSize",
     "1.782068 * overallSize"
    ],
    [
     "-0.528084 * overallSize",
     "1.528403 * overallSize"
    ],
    [
     "-0.284129 * overallSize",
     "1.528403 * overallSize"
    ],
    [
     "-0.279273 * overallSize",
     "1.565215 * overallSize"
    ],
    [
     "-0.250457 * overallSize",
     "1.634781 * overallSize"
    ],
    [
     "-0.204549 * overallSize",
     "1.694608 * overallSize"
    ],
    [
     "-0.144711 * overallSize",
     "1.740500 * overallSize"
    ],
    [
     "-0.075197 * overallSize",
     "1.769292 * overallSize"
    ],
    [
     "-0.000546 * overallSize",
     "1.779128 * overallSize"
    ],
    [
     "-0.000054 * overallSize",
     "1.778992 * overallSize"
    ],
    [
     "0.000194 * overallSize",
     "1.778479 * overallSize"
    ],
    [
     "0.000194 * overallSize",
     "1.634728 * overallSize"
    ],
    [
     "0.074212 * overallSize",
     "1.624972 * overallSize"
    ],
    [
     "0.143779 * overallSize",
     "1.596159 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.713212 * overallSize",
     "1.471927 * overallSize"
    ],
    [
     "0.710775 * overallSize",
     "1.490508 * overallSize"
    ],
    [
     "0.715589 * overallSize",
     "1.527094 * overallSize"
    ],
    [
     "0.471806 * overallSize",
     "1.527094 * overallSize"
    ],
    [
     "0.471811 * overallSize",
     "1.471927 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "382 / 382 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "681 / 382 * overallSize"
  ]
 }
},"half-disc-check":{
  "schema": 1,
  "id": "half-disc-check",
  "name": "Half disc check",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 200,
      "min": 50,
      "max": 1200,
      "label": "Tile side"
    },
    "diameter": {
      "expr": "9 * edge / 10"
    },
    "radius": {
      "expr": "diameter / 2"
    },
    "mid": {
      "expr": "edge / 2"
    },
    "low": {
      "expr": "(edge - diameter) / 2"
    },
    "high": {
      "expr": "(edge + diameter) / 2"
    }
  },
  "tiles": [
    {
      "path": [
        {
          "line": {
            "to": [
              "edge",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "low"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "edge",
              "mid"
            ],
            "from": [
              "edge",
              "low"
            ],
            "to": [
              "edge",
              "high"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "high"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "mid"
            ],
            "from": [
              "0",
              "high"
            ],
            "to": [
              "0",
              "low"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ],
      "start": [
        "0",
        "0"
      ]
    },
    {
      "path": [
        {
          "arc": {
            "center": [
              "edge",
              "mid"
            ],
            "from": [
              "edge",
              "high"
            ],
            "to": [
              "edge",
              "low"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "high"
            ]
          }
        }
      ],
      "start": [
        "edge",
        "high"
      ]
    },
    {
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "mid"
            ],
            "from": [
              "0",
              "low"
            ],
            "to": [
              "0",
              "high"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "low"
            ]
          }
        }
      ],
      "start": [
        "0",
        "low"
      ]
    },
    {
      "path": [
        {
          "line": {
            "to": [
              "edge + low",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "edge + mid",
              "0"
            ],
            "from": [
              "edge + low",
              "0"
            ],
            "to": [
              "edge + high",
              "0"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "2 * edge",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * edge",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "edge + high",
              "edge"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "edge + mid",
              "edge"
            ],
            "from": [
              "edge + high",
              "edge"
            ],
            "to": [
              "edge + low",
              "edge"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "0"
            ]
          }
        }
      ],
      "start": [
        "edge",
        "0"
      ]
    },
    {
      "path": [
        {
          "arc": {
            "center": [
              "edge + mid",
              "edge"
            ],
            "from": [
              "edge + low",
              "edge"
            ],
            "to": [
              "edge + high",
              "edge"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "edge + low",
              "edge"
            ]
          }
        }
      ],
      "start": [
        "edge + low",
        "edge"
      ]
    },
    {
      "path": [
        {
          "arc": {
            "center": [
              "edge + mid",
              "0"
            ],
            "from": [
              "edge + high",
              "0"
            ],
            "to": [
              "edge + low",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "edge + high",
              "0"
            ]
          }
        }
      ],
      "start": [
        "edge + high",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "edge"
    ],
    "b": [
      "-edge",
      "edge"
    ]
  }
},"half-split-check":{
  "schema": 1,
  "id": "half-split-check",
  "name": "Half-split check",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 300, "min": 40, "max": 1500, "label": "Tile side" }
  },
  "tiles": [
    { "rect": ["0", "0", "edge", "edge"] },
    { "rect": ["edge", "0", "2 * edge", "edge / 2"] },
    { "rect": ["edge", "edge / 2", "2 * edge", "edge"] }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["edge", "edge"] }
}
,"halved-circle-square":{
  "schema": 1,
  "id": "halved-circle-square",
  "name": "Halved circle square",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 300, "min": 260, "max": 1500, "label": "Tile side" },
    "diameter": { "value": 240, "min": 20, "max": 250, "label": "Circle" },
    "radius": { "expr": "diameter / 2" },
    "mid": { "expr": "edge / 2" }
  },
  "tiles": [
    {
      "start": ["mid - radius", "mid"],
      "path": [
        { "arc": { "center": ["mid", "mid"], "from": ["mid - radius", "mid"], "to": ["mid + radius", "mid"], "clockwise": false } },
        { "line": { "to": ["mid - radius", "mid"] } }
      ]
    },
    {
      "start": ["mid + radius", "mid"],
      "path": [
        { "arc": { "center": ["mid", "mid"], "from": ["mid + radius", "mid"], "to": ["mid - radius", "mid"], "clockwise": false } },
        { "line": { "to": ["mid + radius", "mid"] } }
      ]
    },
    {
      "start": ["0", "0"],
      "path": [
        { "line": { "to": ["edge", "0"] } },
        { "line": { "to": ["edge", "mid"] } },
        { "line": { "to": ["mid + radius", "mid"] } },
        { "arc": { "center": ["mid", "mid"], "from": ["mid + radius", "mid"], "to": ["mid - radius", "mid"], "clockwise": true } },
        { "line": { "to": ["0", "mid"] } },
        { "line": { "to": ["0", "0"] } }
      ]
    },
    {
      "start": ["0", "mid"],
      "path": [
        { "line": { "to": ["mid - radius", "mid"] } },
        { "arc": { "center": ["mid", "mid"], "from": ["mid - radius", "mid"], "to": ["mid + radius", "mid"], "clockwise": true } },
        { "line": { "to": ["edge", "mid"] } },
        { "line": { "to": ["edge", "edge"] } },
        { "line": { "to": ["0", "edge"] } },
        { "line": { "to": ["0", "mid"] } }
      ]
    }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "edge"] }
}
,"hand-cut-slab-paving":{
  "schema": 1,
  "id": "hand-cut-slab-paving",
  "name": "Hand-cut slab paving",
  "category": "stone",
  "parameters": {
    "edge": {
      "value": 2000,
      "min": 600,
      "max": 5000,
      "label": "Panel width"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.141176470588 * edge",
          "0.372549019608 * edge"
        ],
        [
          "0.143137254902 * edge",
          "0.362745098039 * edge"
        ],
        [
          "0.141176470588 * edge",
          "0.352941176471 * edge"
        ],
        [
          "0.135294117647 * edge",
          "0.317647058824 * edge"
        ],
        [
          "0.13137254902 * edge",
          "0.298039215686 * edge"
        ],
        [
          "0.129411764706 * edge",
          "0.292156862745 * edge"
        ],
        [
          "0.129411764706 * edge",
          "0.288235294118 * edge"
        ],
        [
          "0.127450980392 * edge",
          "0.28431372549 * edge"
        ],
        [
          "0.127450980392 * edge",
          "0.278431372549 * edge"
        ],
        [
          "0.125490196078 * edge",
          "0.274509803922 * edge"
        ],
        [
          "0.125490196078 * edge",
          "0.258823529412 * edge"
        ],
        [
          "0.123529411765 * edge",
          "0.254901960784 * edge"
        ],
        [
          "0.123529411765 * edge",
          "0.229411764706 * edge"
        ],
        [
          "0.121568627451 * edge",
          "0.223529411765 * edge"
        ],
        [
          "0.121568627451 * edge",
          "0.211764705882 * edge"
        ],
        [
          "0.119607843137 * edge",
          "0.207843137255 * edge"
        ],
        [
          "0.119607843137 * edge",
          "0.166666666667 * edge"
        ],
        [
          "0.121568627451 * edge",
          "0.160784313725 * edge"
        ],
        [
          "0.119607843137 * edge",
          "0.156862745098 * edge"
        ],
        [
          "0.119607843137 * edge",
          "0.150980392157 * edge"
        ],
        [
          "0.117647058824 * edge",
          "0.147058823529 * edge"
        ],
        [
          "0.117647058824 * edge",
          "0.137254901961 * edge"
        ],
        [
          "0.11568627451 * edge",
          "0.13137254902 * edge"
        ],
        [
          "0.11568627451 * edge",
          "0.127450980392 * edge"
        ],
        [
          "0.113725490196 * edge",
          "0.123529411765 * edge"
        ],
        [
          "0.113725490196 * edge",
          "0.111764705882 * edge"
        ],
        [
          "0.111764705882 * edge",
          "0.105882352941 * edge"
        ],
        [
          "0.111764705882 * edge",
          "0.098039215686 * edge"
        ],
        [
          "0.109803921569 * edge",
          "0.092156862745 * edge"
        ],
        [
          "0.109803921569 * edge",
          "0.078431372549 * edge"
        ],
        [
          "0.107843137255 * edge",
          "0.072549019608 * edge"
        ],
        [
          "0.107843137255 * edge",
          "0.060784313725 * edge"
        ],
        [
          "0.105882352941 * edge",
          "0.054901960784 * edge"
        ],
        [
          "0.105882352941 * edge",
          "0.045098039216 * edge"
        ],
        [
          "0.103921568627 * edge",
          "0.039215686275 * edge"
        ],
        [
          "0.103921568627 * edge",
          "0.03137254902 * edge"
        ],
        [
          "0.101960784314 * edge",
          "0.025490196078 * edge"
        ],
        [
          "0.101960784314 * edge",
          "0.017647058824 * edge"
        ],
        [
          "0.1 * edge",
          "0.011764705882 * edge"
        ],
        [
          "0.1 * edge",
          "0.003921568627 * edge"
        ],
        [
          "0.352941176471 * edge",
          "0.003921568627 * edge"
        ],
        [
          "0.352941176471 * edge",
          "0.005882352941 * edge"
        ],
        [
          "0.354901960784 * edge",
          "0.007843137255 * edge"
        ],
        [
          "0.354901960784 * edge",
          "0.01568627451 * edge"
        ],
        [
          "0.356862745098 * edge",
          "0.019607843137 * edge"
        ],
        [
          "0.356862745098 * edge",
          "0.023529411765 * edge"
        ],
        [
          "0.358823529412 * edge",
          "0.027450980392 * edge"
        ],
        [
          "0.358823529412 * edge",
          "0.029411764706 * edge"
        ],
        [
          "0.360784313725 * edge",
          "0.033333333333 * edge"
        ],
        [
          "0.360784313725 * edge",
          "0.037254901961 * edge"
        ],
        [
          "0.362745098039 * edge",
          "0.041176470588 * edge"
        ],
        [
          "0.362745098039 * edge",
          "0.056862745098 * edge"
        ],
        [
          "0.364705882353 * edge",
          "0.058823529412 * edge"
        ],
        [
          "0.364705882353 * edge",
          "0.074509803922 * edge"
        ],
        [
          "0.366666666667 * edge",
          "0.076470588235 * edge"
        ],
        [
          "0.366666666667 * edge",
          "0.101960784314 * edge"
        ],
        [
          "0.36862745098 * edge",
          "0.105882352941 * edge"
        ],
        [
          "0.36862745098 * edge",
          "0.11568627451 * edge"
        ],
        [
          "0.370588235294 * edge",
          "0.119607843137 * edge"
        ],
        [
          "0.370588235294 * edge",
          "0.125490196078 * edge"
        ],
        [
          "0.372549019608 * edge",
          "0.13137254902 * edge"
        ],
        [
          "0.372549019608 * edge",
          "0.154901960784 * edge"
        ],
        [
          "0.374509803922 * edge",
          "0.160784313725 * edge"
        ],
        [
          "0.374509803922 * edge",
          "0.170588235294 * edge"
        ],
        [
          "0.372549019608 * edge",
          "0.170588235294 * edge"
        ],
        [
          "0.372549019608 * edge",
          "0.176470588235 * edge"
        ],
        [
          "0.370588235294 * edge",
          "0.178431372549 * edge"
        ],
        [
          "0.370588235294 * edge",
          "0.182352941176 * edge"
        ],
        [
          "0.36862745098 * edge",
          "0.18431372549 * edge"
        ],
        [
          "0.36862745098 * edge",
          "0.188235294118 * edge"
        ],
        [
          "0.366666666667 * edge",
          "0.190196078431 * edge"
        ],
        [
          "0.366666666667 * edge",
          "0.211764705882 * edge"
        ],
        [
          "0.36862745098 * edge",
          "0.21568627451 * edge"
        ],
        [
          "0.366666666667 * edge",
          "0.21568627451 * edge"
        ],
        [
          "0.366666666667 * edge",
          "0.235294117647 * edge"
        ],
        [
          "0.364705882353 * edge",
          "0.237254901961 * edge"
        ],
        [
          "0.364705882353 * edge",
          "0.252941176471 * edge"
        ],
        [
          "0.362745098039 * edge",
          "0.252941176471 * edge"
        ],
        [
          "0.362745098039 * edge",
          "0.294117647059 * edge"
        ],
        [
          "0.360784313725 * edge",
          "0.296078431373 * edge"
        ],
        [
          "0.360784313725 * edge",
          "0.303921568627 * edge"
        ],
        [
          "0.362745098039 * edge",
          "0.305882352941 * edge"
        ],
        [
          "0.360784313725 * edge",
          "0.307843137255 * edge"
        ],
        [
          "0.360784313725 * edge",
          "0.309803921569 * edge"
        ],
        [
          "0.362745098039 * edge",
          "0.311764705882 * edge"
        ],
        [
          "0.362745098039 * edge",
          "0.317647058824 * edge"
        ],
        [
          "0.360784313725 * edge",
          "0.319607843137 * edge"
        ],
        [
          "0.360784313725 * edge",
          "0.325490196078 * edge"
        ],
        [
          "0.358823529412 * edge",
          "0.327450980392 * edge"
        ],
        [
          "0.358823529412 * edge",
          "0.33137254902 * edge"
        ],
        [
          "0.356862745098 * edge",
          "0.333333333333 * edge"
        ],
        [
          "0.356862745098 * edge",
          "0.345098039216 * edge"
        ],
        [
          "0.354901960784 * edge",
          "0.345098039216 * edge"
        ],
        [
          "0.354901960784 * edge",
          "0.374509803922 * edge"
        ],
        [
          "0.141176470588 * edge",
          "0.374509803922 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.509803921569 * edge",
          "0.719607843137 * edge"
        ],
        [
          "0.509803921569 * edge",
          "0.703921568627 * edge"
        ],
        [
          "0.507843137255 * edge",
          "0.701960784314 * edge"
        ],
        [
          "0.507843137255 * edge",
          "0.682352941176 * edge"
        ],
        [
          "0.505882352941 * edge",
          "0.678431372549 * edge"
        ],
        [
          "0.505882352941 * edge",
          "0.66862745098 * edge"
        ],
        [
          "0.503921568627 * edge",
          "0.664705882353 * edge"
        ],
        [
          "0.503921568627 * edge",
          "0.649019607843 * edge"
        ],
        [
          "0.501960784314 * edge",
          "0.645098039216 * edge"
        ],
        [
          "0.501960784314 * edge",
          "0.641176470588 * edge"
        ],
        [
          "0.5 * edge",
          "0.639215686275 * edge"
        ],
        [
          "0.5 * edge",
          "0.635294117647 * edge"
        ],
        [
          "0.498039215686 * edge",
          "0.63137254902 * edge"
        ],
        [
          "0.498039215686 * edge",
          "0.613725490196 * edge"
        ],
        [
          "0.494117647059 * edge",
          "0.598039215686 * edge"
        ],
        [
          "0.494117647059 * edge",
          "0.578431372549 * edge"
        ],
        [
          "0.492156862745 * edge",
          "0.574509803922 * edge"
        ],
        [
          "0.492156862745 * edge",
          "0.558823529412 * edge"
        ],
        [
          "0.490196078431 * edge",
          "0.554901960784 * edge"
        ],
        [
          "0.490196078431 * edge",
          "0.547058823529 * edge"
        ],
        [
          "0.488235294118 * edge",
          "0.543137254902 * edge"
        ],
        [
          "0.488235294118 * edge",
          "0.523529411765 * edge"
        ],
        [
          "0.486274509804 * edge",
          "0.519607843137 * edge"
        ],
        [
          "0.486274509804 * edge",
          "0.458823529412 * edge"
        ],
        [
          "0.48431372549 * edge",
          "0.454901960784 * edge"
        ],
        [
          "0.48431372549 * edge",
          "0.437254901961 * edge"
        ],
        [
          "0.482352941176 * edge",
          "0.433333333333 * edge"
        ],
        [
          "0.482352941176 * edge",
          "0.403921568627 * edge"
        ],
        [
          "0.48431372549 * edge",
          "0.4 * edge"
        ],
        [
          "0.48431372549 * edge",
          "0.396078431373 * edge"
        ],
        [
          "0.490196078431 * edge",
          "0.38431372549 * edge"
        ],
        [
          "0.598039215686 * edge",
          "0.374509803922 * edge"
        ],
        [
          "0.621568627451 * edge",
          "0.372549019608 * edge"
        ],
        [
          "0.717647058824 * edge",
          "0.386274509804 * edge"
        ],
        [
          "0.717647058824 * edge",
          "0.392156862745 * edge"
        ],
        [
          "0.721568627451 * edge",
          "0.401960784314 * edge"
        ],
        [
          "0.723529411765 * edge",
          "0.409803921569 * edge"
        ],
        [
          "0.723529411765 * edge",
          "0.460784313725 * edge"
        ],
        [
          "0.721568627451 * edge",
          "0.464705882353 * edge"
        ],
        [
          "0.721568627451 * edge",
          "0.46862745098 * edge"
        ],
        [
          "0.719607843137 * edge",
          "0.472549019608 * edge"
        ],
        [
          "0.719607843137 * edge",
          "0.482352941176 * edge"
        ],
        [
          "0.721568627451 * edge",
          "0.486274509804 * edge"
        ],
        [
          "0.721568627451 * edge",
          "0.490196078431 * edge"
        ],
        [
          "0.723529411765 * edge",
          "0.496078431373 * edge"
        ],
        [
          "0.727450980392 * edge",
          "0.503921568627 * edge"
        ],
        [
          "0.727450980392 * edge",
          "0.507843137255 * edge"
        ],
        [
          "0.733333333333 * edge",
          "0.519607843137 * edge"
        ],
        [
          "0.733333333333 * edge",
          "0.527450980392 * edge"
        ],
        [
          "0.735294117647 * edge",
          "0.533333333333 * edge"
        ],
        [
          "0.735294117647 * edge",
          "0.541176470588 * edge"
        ],
        [
          "0.737254901961 * edge",
          "0.545098039216 * edge"
        ],
        [
          "0.737254901961 * edge",
          "0.549019607843 * edge"
        ],
        [
          "0.739215686275 * edge",
          "0.554901960784 * edge"
        ],
        [
          "0.739215686275 * edge",
          "0.558823529412 * edge"
        ],
        [
          "0.743137254902 * edge",
          "0.566666666667 * edge"
        ],
        [
          "0.743137254902 * edge",
          "0.570588235294 * edge"
        ],
        [
          "0.747058823529 * edge",
          "0.578431372549 * edge"
        ],
        [
          "0.747058823529 * edge",
          "0.586274509804 * edge"
        ],
        [
          "0.749019607843 * edge",
          "0.590196078431 * edge"
        ],
        [
          "0.749019607843 * edge",
          "0.607843137255 * edge"
        ],
        [
          "0.750980392157 * edge",
          "0.611764705882 * edge"
        ],
        [
          "0.750980392157 * edge",
          "0.61568627451 * edge"
        ],
        [
          "0.752941176471 * edge",
          "0.625490196078 * edge"
        ],
        [
          "0.752941176471 * edge",
          "0.649019607843 * edge"
        ],
        [
          "0.750980392157 * edge",
          "0.725490196078 * edge"
        ],
        [
          "0.539215686275 * edge",
          "0.725490196078 * edge"
        ],
        [
          "0.511764705882 * edge",
          "0.723529411765 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.003921568627 * edge",
          "0.462745098039 * edge"
        ],
        [
          "0.005882352941 * edge",
          "0.454901960784 * edge"
        ],
        [
          "0.005882352941 * edge",
          "0.419607843137 * edge"
        ],
        [
          "0.003921568627 * edge",
          "0.41568627451 * edge"
        ],
        [
          "0.003921568627 * edge",
          "0.413725490196 * edge"
        ],
        [
          "0.001960784314 * edge",
          "0.409803921569 * edge"
        ],
        [
          "0.001960784314 * edge",
          "0.398039215686 * edge"
        ],
        [
          "0",
          "0.394117647059 * edge"
        ],
        [
          "0",
          "0.382352941176 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.382352941176 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.486274509804 * edge"
        ],
        [
          "0.237254901961 * edge",
          "0.490196078431 * edge"
        ],
        [
          "0.237254901961 * edge",
          "0.507843137255 * edge"
        ],
        [
          "0.235294117647 * edge",
          "0.513725490196 * edge"
        ],
        [
          "0.237254901961 * edge",
          "0.517647058824 * edge"
        ],
        [
          "0.237254901961 * edge",
          "0.529411764706 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.535294117647 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.539215686275 * edge"
        ],
        [
          "0.241176470588 * edge",
          "0.543137254902 * edge"
        ],
        [
          "0.241176470588 * edge",
          "0.556862745098 * edge"
        ],
        [
          "0.243137254902 * edge",
          "0.562745098039 * edge"
        ],
        [
          "0.243137254902 * edge",
          "0.578431372549 * edge"
        ],
        [
          "0.241176470588 * edge",
          "0.58431372549 * edge"
        ],
        [
          "0.241176470588 * edge",
          "0.592156862745 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.596078431373 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.607843137255 * edge"
        ],
        [
          "0.237254901961 * edge",
          "0.613725490196 * edge"
        ],
        [
          "0.237254901961 * edge",
          "0.617647058824 * edge"
        ],
        [
          "0.235294117647 * edge",
          "0.621568627451 * edge"
        ],
        [
          "0.235294117647 * edge",
          "0.729411764706 * edge"
        ],
        [
          "0.225490196078 * edge",
          "0.733333333333 * edge"
        ],
        [
          "0.217647058824 * edge",
          "0.73137254902 * edge"
        ],
        [
          "0.201960784314 * edge",
          "0.73137254902 * edge"
        ],
        [
          "0.003921568627 * edge",
          "0.719607843137 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.756862745098 * edge",
          "0.727450980392 * edge"
        ],
        [
          "0.754901960784 * edge",
          "0.725490196078 * edge"
        ],
        [
          "0.754901960784 * edge",
          "0.690196078431 * edge"
        ],
        [
          "0.756862745098 * edge",
          "0.688235294118 * edge"
        ],
        [
          "0.756862745098 * edge",
          "0.672549019608 * edge"
        ],
        [
          "0.754901960784 * edge",
          "0.670588235294 * edge"
        ],
        [
          "0.754901960784 * edge",
          "0.658823529412 * edge"
        ],
        [
          "0.752941176471 * edge",
          "0.656862745098 * edge"
        ],
        [
          "0.752941176471 * edge",
          "0.609803921569 * edge"
        ],
        [
          "0.754901960784 * edge",
          "0.607843137255 * edge"
        ],
        [
          "0.754901960784 * edge",
          "0.601960784314 * edge"
        ],
        [
          "0.756862745098 * edge",
          "0.6 * edge"
        ],
        [
          "0.756862745098 * edge",
          "0.564705882353 * edge"
        ],
        [
          "0.754901960784 * edge",
          "0.560784313725 * edge"
        ],
        [
          "0.754901960784 * edge",
          "0.523529411765 * edge"
        ],
        [
          "0.752941176471 * edge",
          "0.51568627451 * edge"
        ],
        [
          "0.750980392157 * edge",
          "0.509803921569 * edge"
        ],
        [
          "0.750980392157 * edge",
          "0.429411764706 * edge"
        ],
        [
          "0.752941176471 * edge",
          "0.427450980392 * edge"
        ],
        [
          "0.752941176471 * edge",
          "0.423529411765 * edge"
        ],
        [
          "0.750980392157 * edge",
          "0.421568627451 * edge"
        ],
        [
          "0.750980392157 * edge",
          "0.409803921569 * edge"
        ],
        [
          "0.749019607843 * edge",
          "0.409803921569 * edge"
        ],
        [
          "0.749019607843 * edge",
          "0.403921568627 * edge"
        ],
        [
          "0.747058823529 * edge",
          "0.401960784314 * edge"
        ],
        [
          "0.747058823529 * edge",
          "0.396078431373 * edge"
        ],
        [
          "0.745098039216 * edge",
          "0.394117647059 * edge"
        ],
        [
          "0.745098039216 * edge",
          "0.372549019608 * edge"
        ],
        [
          "0.996078431373 * edge",
          "0.372549019608 * edge"
        ],
        [
          "0.996078431373 * edge",
          "0.380392156863 * edge"
        ],
        [
          "0.998039215686 * edge",
          "0.382352941176 * edge"
        ],
        [
          "0.998039215686 * edge",
          "0.388235294118 * edge"
        ],
        [
          "0.996078431373 * edge",
          "0.392156862745 * edge"
        ],
        [
          "0.996078431373 * edge",
          "0.413725490196 * edge"
        ],
        [
          "0.994117647059 * edge",
          "0.417647058824 * edge"
        ],
        [
          "0.994117647059 * edge",
          "0.441176470588 * edge"
        ],
        [
          "0.992156862745 * edge",
          "0.445098039216 * edge"
        ],
        [
          "0.992156862745 * edge",
          "0.449019607843 * edge"
        ],
        [
          "0.990196078431 * edge",
          "0.450980392157 * edge"
        ],
        [
          "0.990196078431 * edge",
          "0.456862745098 * edge"
        ],
        [
          "0.988235294118 * edge",
          "0.458823529412 * edge"
        ],
        [
          "0.988235294118 * edge",
          "0.46862745098 * edge"
        ],
        [
          "0.986274509804 * edge",
          "0.472549019608 * edge"
        ],
        [
          "0.986274509804 * edge",
          "0.476470588235 * edge"
        ],
        [
          "0.98431372549 * edge",
          "0.478431372549 * edge"
        ],
        [
          "0.98431372549 * edge",
          "0.488235294118 * edge"
        ],
        [
          "0.982352941176 * edge",
          "0.490196078431 * edge"
        ],
        [
          "0.982352941176 * edge",
          "0.501960784314 * edge"
        ],
        [
          "0.978431372549 * edge",
          "0.505882352941 * edge"
        ],
        [
          "0.978431372549 * edge",
          "0.743137254902 * edge"
        ],
        [
          "0.819607843137 * edge",
          "0.743137254902 * edge"
        ],
        [
          "0.764705882353 * edge",
          "0.735294117647 * edge"
        ],
        [
          "0.756862745098 * edge",
          "0.735294117647 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.241176470588 * edge",
          "0.711764705882 * edge"
        ],
        [
          "0.241176470588 * edge",
          "0.701960784314 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.692156862745 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.688235294118 * edge"
        ],
        [
          "0.237254901961 * edge",
          "0.68431372549 * edge"
        ],
        [
          "0.237254901961 * edge",
          "0.658823529412 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.654901960784 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.649019607843 * edge"
        ],
        [
          "0.241176470588 * edge",
          "0.645098039216 * edge"
        ],
        [
          "0.241176470588 * edge",
          "0.619607843137 * edge"
        ],
        [
          "0.243137254902 * edge",
          "0.61568627451 * edge"
        ],
        [
          "0.243137254902 * edge",
          "0.596078431373 * edge"
        ],
        [
          "0.245098039216 * edge",
          "0.590196078431 * edge"
        ],
        [
          "0.245098039216 * edge",
          "0.574509803922 * edge"
        ],
        [
          "0.247058823529 * edge",
          "0.570588235294 * edge"
        ],
        [
          "0.247058823529 * edge",
          "0.566666666667 * edge"
        ],
        [
          "0.249019607843 * edge",
          "0.560784313725 * edge"
        ],
        [
          "0.249019607843 * edge",
          "0.547058823529 * edge"
        ],
        [
          "0.250980392157 * edge",
          "0.541176470588 * edge"
        ],
        [
          "0.249019607843 * edge",
          "0.535294117647 * edge"
        ],
        [
          "0.249019607843 * edge",
          "0.525490196078 * edge"
        ],
        [
          "0.247058823529 * edge",
          "0.521568627451 * edge"
        ],
        [
          "0.247058823529 * edge",
          "0.517647058824 * edge"
        ],
        [
          "0.245098039216 * edge",
          "0.511764705882 * edge"
        ],
        [
          "0.245098039216 * edge",
          "0.376470588235 * edge"
        ],
        [
          "0.43137254902 * edge",
          "0.376470588235 * edge"
        ],
        [
          "0.470588235294 * edge",
          "0.378431372549 * edge"
        ],
        [
          "0.470588235294 * edge",
          "0.380392156863 * edge"
        ],
        [
          "0.472549019608 * edge",
          "0.382352941176 * edge"
        ],
        [
          "0.472549019608 * edge",
          "0.388235294118 * edge"
        ],
        [
          "0.474509803922 * edge",
          "0.388235294118 * edge"
        ],
        [
          "0.474509803922 * edge",
          "0.4 * edge"
        ],
        [
          "0.476470588235 * edge",
          "0.4 * edge"
        ],
        [
          "0.476470588235 * edge",
          "0.411764705882 * edge"
        ],
        [
          "0.478431372549 * edge",
          "0.413725490196 * edge"
        ],
        [
          "0.478431372549 * edge",
          "0.43137254902 * edge"
        ],
        [
          "0.480392156863 * edge",
          "0.433333333333 * edge"
        ],
        [
          "0.478431372549 * edge",
          "0.435294117647 * edge"
        ],
        [
          "0.480392156863 * edge",
          "0.437254901961 * edge"
        ],
        [
          "0.478431372549 * edge",
          "0.439215686275 * edge"
        ],
        [
          "0.478431372549 * edge",
          "0.447058823529 * edge"
        ],
        [
          "0.480392156863 * edge",
          "0.449019607843 * edge"
        ],
        [
          "0.480392156863 * edge",
          "0.474509803922 * edge"
        ],
        [
          "0.482352941176 * edge",
          "0.480392156863 * edge"
        ],
        [
          "0.482352941176 * edge",
          "0.496078431373 * edge"
        ],
        [
          "0.48431372549 * edge",
          "0.5 * edge"
        ],
        [
          "0.486274509804 * edge",
          "0.505882352941 * edge"
        ],
        [
          "0.486274509804 * edge",
          "0.570588235294 * edge"
        ],
        [
          "0.48431372549 * edge",
          "0.576470588235 * edge"
        ],
        [
          "0.48431372549 * edge",
          "0.652941176471 * edge"
        ],
        [
          "0.486274509804 * edge",
          "0.656862745098 * edge"
        ],
        [
          "0.488235294118 * edge",
          "0.662745098039 * edge"
        ],
        [
          "0.488235294118 * edge",
          "0.66862745098 * edge"
        ],
        [
          "0.492156862745 * edge",
          "0.676470588235 * edge"
        ],
        [
          "0.492156862745 * edge",
          "0.690196078431 * edge"
        ],
        [
          "0.494117647059 * edge",
          "0.7 * edge"
        ],
        [
          "0.496078431373 * edge",
          "0.711764705882 * edge"
        ],
        [
          "0.494117647059 * edge",
          "0.721568627451 * edge"
        ],
        [
          "0.239215686275 * edge",
          "0.721568627451 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.63137254902 * edge",
          "0.307843137255 * edge"
        ],
        [
          "0.63137254902 * edge",
          "0.235294117647 * edge"
        ],
        [
          "0.629411764706 * edge",
          "0.23137254902 * edge"
        ],
        [
          "0.629411764706 * edge",
          "0.217647058824 * edge"
        ],
        [
          "0.627450980392 * edge",
          "0.21568627451 * edge"
        ],
        [
          "0.627450980392 * edge",
          "0.205882352941 * edge"
        ],
        [
          "0.625490196078 * edge",
          "0.201960784314 * edge"
        ],
        [
          "0.625490196078 * edge",
          "0.196078431373 * edge"
        ],
        [
          "0.623529411765 * edge",
          "0.192156862745 * edge"
        ],
        [
          "0.623529411765 * edge",
          "0.186274509804 * edge"
        ],
        [
          "0.621568627451 * edge",
          "0.182352941176 * edge"
        ],
        [
          "0.621568627451 * edge",
          "0.172549019608 * edge"
        ],
        [
          "0.619607843137 * edge",
          "0.16862745098 * edge"
        ],
        [
          "0.619607843137 * edge",
          "0.158823529412 * edge"
        ],
        [
          "0.617647058824 * edge",
          "0.156862745098 * edge"
        ],
        [
          "0.617647058824 * edge",
          "0.092156862745 * edge"
        ],
        [
          "0.61568627451 * edge",
          "0.088235294118 * edge"
        ],
        [
          "0.61568627451 * edge",
          "0.047058823529 * edge"
        ],
        [
          "0.617647058824 * edge",
          "0.043137254902 * edge"
        ],
        [
          "0.617647058824 * edge",
          "0.029411764706 * edge"
        ],
        [
          "0.619607843137 * edge",
          "0.027450980392 * edge"
        ],
        [
          "0.619607843137 * edge",
          "0.019607843137 * edge"
        ],
        [
          "0.621568627451 * edge",
          "0.017647058824 * edge"
        ],
        [
          "0.621568627451 * edge",
          "0.007843137255 * edge"
        ],
        [
          "0.623529411765 * edge",
          "0.003921568627 * edge"
        ],
        [
          "0.623529411765 * edge",
          "0.001960784314 * edge"
        ],
        [
          "0.837254901961 * edge",
          "0.003921568627 * edge"
        ],
        [
          "0.837254901961 * edge",
          "0.019607843137 * edge"
        ],
        [
          "0.839215686275 * edge",
          "0.019607843137 * edge"
        ],
        [
          "0.839215686275 * edge",
          "0.029411764706 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.03137254902 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.037254901961 * edge"
        ],
        [
          "0.843137254902 * edge",
          "0.039215686275 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.039215686275 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.047058823529 * edge"
        ],
        [
          "0.843137254902 * edge",
          "0.049019607843 * edge"
        ],
        [
          "0.843137254902 * edge",
          "0.060784313725 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.060784313725 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.082352941176 * edge"
        ],
        [
          "0.839215686275 * edge",
          "0.08431372549 * edge"
        ],
        [
          "0.839215686275 * edge",
          "0.107843137255 * edge"
        ],
        [
          "0.837254901961 * edge",
          "0.109803921569 * edge"
        ],
        [
          "0.837254901961 * edge",
          "0.16862745098 * edge"
        ],
        [
          "0.839215686275 * edge",
          "0.170588235294 * edge"
        ],
        [
          "0.839215686275 * edge",
          "0.180392156863 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.18431372549 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.188235294118 * edge"
        ],
        [
          "0.843137254902 * edge",
          "0.192156862745 * edge"
        ],
        [
          "0.845098039216 * edge",
          "0.198039215686 * edge"
        ],
        [
          "0.845098039216 * edge",
          "0.252941176471 * edge"
        ],
        [
          "0.847058823529 * edge",
          "0.256862745098 * edge"
        ],
        [
          "0.847058823529 * edge",
          "0.262745098039 * edge"
        ],
        [
          "0.849019607843 * edge",
          "0.26862745098 * edge"
        ],
        [
          "0.849019607843 * edge",
          "0.288235294118 * edge"
        ],
        [
          "0.850980392157 * edge",
          "0.294117647059 * edge"
        ],
        [
          "0.849019607843 * edge",
          "0.298039215686 * edge"
        ],
        [
          "0.849019607843 * edge",
          "0.347058823529 * edge"
        ],
        [
          "0.850980392157 * edge",
          "0.356862745098 * edge"
        ],
        [
          "0.852941176471 * edge",
          "0.370588235294 * edge"
        ],
        [
          "0.645098039216 * edge",
          "0.370588235294 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.878431372549 * edge",
          "0.352941176471 * edge"
        ],
        [
          "0.878431372549 * edge",
          "0.319607843137 * edge"
        ],
        [
          "0.876470588235 * edge",
          "0.31568627451 * edge"
        ],
        [
          "0.876470588235 * edge",
          "0.305882352941 * edge"
        ],
        [
          "0.874509803922 * edge",
          "0.301960784314 * edge"
        ],
        [
          "0.874509803922 * edge",
          "0.292156862745 * edge"
        ],
        [
          "0.872549019608 * edge",
          "0.290196078431 * edge"
        ],
        [
          "0.872549019608 * edge",
          "0.280392156863 * edge"
        ],
        [
          "0.870588235294 * edge",
          "0.278431372549 * edge"
        ],
        [
          "0.870588235294 * edge",
          "0.219607843137 * edge"
        ],
        [
          "0.86862745098 * edge",
          "0.21568627451 * edge"
        ],
        [
          "0.86862745098 * edge",
          "0.207843137255 * edge"
        ],
        [
          "0.866666666667 * edge",
          "0.205882352941 * edge"
        ],
        [
          "0.866666666667 * edge",
          "0.18431372549 * edge"
        ],
        [
          "0.864705882353 * edge",
          "0.180392156863 * edge"
        ],
        [
          "0.864705882353 * edge",
          "0.16862745098 * edge"
        ],
        [
          "0.862745098039 * edge",
          "0.164705882353 * edge"
        ],
        [
          "0.862745098039 * edge",
          "0.154901960784 * edge"
        ],
        [
          "0.860784313725 * edge",
          "0.150980392157 * edge"
        ],
        [
          "0.860784313725 * edge",
          "0.143137254902 * edge"
        ],
        [
          "0.858823529412 * edge",
          "0.139215686275 * edge"
        ],
        [
          "0.858823529412 * edge",
          "0.13137254902 * edge"
        ],
        [
          "0.856862745098 * edge",
          "0.127450980392 * edge"
        ],
        [
          "0.856862745098 * edge",
          "0.123529411765 * edge"
        ],
        [
          "0.854901960784 * edge",
          "0.121568627451 * edge"
        ],
        [
          "0.854901960784 * edge",
          "0.117647058824 * edge"
        ],
        [
          "0.852941176471 * edge",
          "0.113725490196 * edge"
        ],
        [
          "0.852941176471 * edge",
          "0.103921568627 * edge"
        ],
        [
          "0.850980392157 * edge",
          "0.1 * edge"
        ],
        [
          "0.850980392157 * edge",
          "0.092156862745 * edge"
        ],
        [
          "0.849019607843 * edge",
          "0.088235294118 * edge"
        ],
        [
          "0.849019607843 * edge",
          "0.072549019608 * edge"
        ],
        [
          "0.847058823529 * edge",
          "0.06862745098 * edge"
        ],
        [
          "0.847058823529 * edge",
          "0.060784313725 * edge"
        ],
        [
          "0.845098039216 * edge",
          "0.056862745098 * edge"
        ],
        [
          "0.845098039216 * edge",
          "0.049019607843 * edge"
        ],
        [
          "0.843137254902 * edge",
          "0.047058823529 * edge"
        ],
        [
          "0.843137254902 * edge",
          "0.043137254902 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.041176470588 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.039215686275 * edge"
        ],
        [
          "0.843137254902 * edge",
          "0.039215686275 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.037254901961 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.01568627451 * edge"
        ],
        [
          "0.839215686275 * edge",
          "0.011764705882 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.009803921569 * edge"
        ],
        [
          "0.841176470588 * edge",
          "0.001960784314 * edge"
        ],
        [
          "0.88431372549 * edge",
          "0"
        ],
        [
          "1.092156862745 * edge",
          "0"
        ],
        [
          "1.092156862745 * edge",
          "0.023529411765 * edge"
        ],
        [
          "1.094117647059 * edge",
          "0.027450980392 * edge"
        ],
        [
          "1.094117647059 * edge",
          "0.050980392157 * edge"
        ],
        [
          "1.096078431373 * edge",
          "0.052941176471 * edge"
        ],
        [
          "1.096078431373 * edge",
          "0.074509803922 * edge"
        ],
        [
          "1.098039215686 * edge",
          "0.076470588235 * edge"
        ],
        [
          "1.098039215686 * edge",
          "0.103921568627 * edge"
        ],
        [
          "1.1 * edge",
          "0.107843137255 * edge"
        ],
        [
          "1.1 * edge",
          "0.119607843137 * edge"
        ],
        [
          "1.101960784314 * edge",
          "0.121568627451 * edge"
        ],
        [
          "1.101960784314 * edge",
          "0.137254901961 * edge"
        ],
        [
          "1.103921568627 * edge",
          "0.141176470588 * edge"
        ],
        [
          "1.103921568627 * edge",
          "0.158823529412 * edge"
        ],
        [
          "1.105882352941 * edge",
          "0.160784313725 * edge"
        ],
        [
          "1.105882352941 * edge",
          "0.188235294118 * edge"
        ],
        [
          "1.107843137255 * edge",
          "0.192156862745 * edge"
        ],
        [
          "1.107843137255 * edge",
          "0.21568627451 * edge"
        ],
        [
          "1.109803921569 * edge",
          "0.217647058824 * edge"
        ],
        [
          "1.109803921569 * edge",
          "0.229411764706 * edge"
        ],
        [
          "1.111764705882 * edge",
          "0.23137254902 * edge"
        ],
        [
          "1.111764705882 * edge",
          "0.245098039216 * edge"
        ],
        [
          "1.113725490196 * edge",
          "0.249019607843 * edge"
        ],
        [
          "1.113725490196 * edge",
          "0.278431372549 * edge"
        ],
        [
          "1.11568627451 * edge",
          "0.280392156863 * edge"
        ],
        [
          "1.11568627451 * edge",
          "0.292156862745 * edge"
        ],
        [
          "1.117647058824 * edge",
          "0.296078431373 * edge"
        ],
        [
          "1.117647058824 * edge",
          "0.303921568627 * edge"
        ],
        [
          "1.119607843137 * edge",
          "0.307843137255 * edge"
        ],
        [
          "1.119607843137 * edge",
          "0.329411764706 * edge"
        ],
        [
          "1.121568627451 * edge",
          "0.337254901961 * edge"
        ],
        [
          "1.121568627451 * edge",
          "0.347058823529 * edge"
        ],
        [
          "1.123529411765 * edge",
          "0.350980392157 * edge"
        ],
        [
          "1.123529411765 * edge",
          "0.370588235294 * edge"
        ],
        [
          "0.880392156863 * edge",
          "0.370588235294 * edge"
        ],
        [
          "0.880392156863 * edge",
          "0.360784313725 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.382352941176 * edge",
          "0.003921568627 * edge"
        ],
        [
          "0.607843137255 * edge",
          "0.003921568627 * edge"
        ],
        [
          "0.609803921569 * edge",
          "0.009803921569 * edge"
        ],
        [
          "0.609803921569 * edge",
          "0.021568627451 * edge"
        ],
        [
          "0.611764705882 * edge",
          "0.025490196078 * edge"
        ],
        [
          "0.611764705882 * edge",
          "0.039215686275 * edge"
        ],
        [
          "0.613725490196 * edge",
          "0.043137254902 * edge"
        ],
        [
          "0.613725490196 * edge",
          "0.070588235294 * edge"
        ],
        [
          "0.611764705882 * edge",
          "0.074509803922 * edge"
        ],
        [
          "0.611764705882 * edge",
          "0.156862745098 * edge"
        ],
        [
          "0.609803921569 * edge",
          "0.160784313725 * edge"
        ],
        [
          "0.609803921569 * edge",
          "0.178431372549 * edge"
        ],
        [
          "0.607843137255 * edge",
          "0.182352941176 * edge"
        ],
        [
          "0.607843137255 * edge",
          "0.213725490196 * edge"
        ],
        [
          "0.605882352941 * edge",
          "0.217647058824 * edge"
        ],
        [
          "0.605882352941 * edge",
          "0.239215686275 * edge"
        ],
        [
          "0.603921568627 * edge",
          "0.245098039216 * edge"
        ],
        [
          "0.603921568627 * edge",
          "0.26862745098 * edge"
        ],
        [
          "0.601960784314 * edge",
          "0.272549019608 * edge"
        ],
        [
          "0.601960784314 * edge",
          "0.305882352941 * edge"
        ],
        [
          "0.603921568627 * edge",
          "0.309803921569 * edge"
        ],
        [
          "0.603921568627 * edge",
          "0.345098039216 * edge"
        ],
        [
          "0.601960784314 * edge",
          "0.349019607843 * edge"
        ],
        [
          "0.601960784314 * edge",
          "0.354901960784 * edge"
        ],
        [
          "0.6 * edge",
          "0.358823529412 * edge"
        ],
        [
          "0.6 * edge",
          "0.366666666667 * edge"
        ],
        [
          "0.598039215686 * edge",
          "0.370588235294 * edge"
        ],
        [
          "0.598039215686 * edge",
          "0.374509803922 * edge"
        ],
        [
          "0.366666666667 * edge",
          "0.374509803922 * edge"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "0.743137254902 * edge"
    ]
  },
  "coverage": "partial"
},"header-bond":{
  "schema": 1,
  "id": "header-bond",
  "name": "Header bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length / 2", "width"] }
  ],
  "lattice": { "a": ["length / 2", "0"], "b": ["length / 4", "width"] }
}
,"helix-pave":{
  "schema": 1,
  "id": "helix-pave",
  "name": "Helix pave",
  "category": "stone",
  "parameters": {
    "edge": { "value": 300, "min": 40, "max": 1500, "label": "Quadrant side" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["edge", "0"], ["edge", "edge / 2"]] },
    { "polygon": [["0", "0"], ["edge", "edge / 2"], ["edge", "edge"], ["0", "edge"]] },
    { "polygon": [["edge", "0"], ["3 * edge / 2", "0"], ["edge", "edge"]] },
    { "polygon": [["3 * edge / 2", "0"], ["2 * edge", "0"], ["2 * edge", "edge"], ["edge", "edge"]] },
    { "polygon": [["edge", "edge"], ["2 * edge", "edge"], ["2 * edge", "3 * edge / 2"]] },
    { "polygon": [["edge", "edge"], ["2 * edge", "3 * edge / 2"], ["2 * edge", "2 * edge"], ["edge", "2 * edge"]] },
    { "polygon": [["edge", "edge"], ["edge", "2 * edge"], ["edge / 2", "2 * edge"]] },
    { "polygon": [["0", "edge"], ["edge", "edge"], ["edge / 2", "2 * edge"], ["0", "2 * edge"]] }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["0", "2 * edge"] }
}
,"herringbone":{
  "schema": 1,
  "id": "herringbone",
  "name": "Herringbone",
  "category": "wood",
  "angle": 45,
  "parameters": {
    "length": { "value": 600, "min": 50, "max": 3000, "label": "Length" },
    "width": { "value": 120, "min": 10, "max": 1000, "label": "Width" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "width - length", "length + width", "width"] }
  ],
  "lattice": { "a": ["width", "width"], "b": ["-length", "length"] }
}
,"hexagon-and-dot":{
  "schema": 1,
  "id": "hexagon-and-dot",
  "name": "Hexagon and dot",
  "category": "ceramic",
  "parameters": {
    "length": {
      "value": 200,
      "min": 20,
      "max": 1200,
      "label": "Straight side"
    },
    "width": {
      "value": 200,
      "min": 20,
      "max": 1200,
      "label": "Height"
    },
    "tip": {
      "expr": "width / (2 * sqrt(3))"
    },
    "pitch": {
      "expr": "length + 2 * tip"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "-length / 2",
          "-width / 2"
        ],
        [
          "length / 2",
          "-width / 2"
        ],
        [
          "length / 2 + tip",
          "0"
        ],
        [
          "length / 2",
          "width / 2"
        ],
        [
          "-length / 2",
          "width / 2"
        ],
        [
          "-length / 2 - tip",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "length / 2 + 2 * tip",
          "width / 2"
        ],
        [
          "length / 2 + tip",
          "width"
        ],
        [
          "length / 2",
          "width / 2"
        ],
        [
          "length / 2 + tip",
          "0"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "pitch",
      "0"
    ],
    "b": [
      "0",
      "width"
    ]
  }
}
,"hexagon-rhombus-mosaic":{
  "schema": 1,
  "id": "hexagon-rhombus-mosaic",
  "name": "Hexagon and rhombus mosaic",
  "category": "ceramic",
  "parameters": {
    "cellSize": {
      "value": 12,
      "min": 2,
      "max": 120,
      "label": "Grid step"
    },
    "upStep": {
      "expr": "sqrt(3) * cellSize"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "19 * cellSize",
          "0"
        ],
        [
          "24 * cellSize",
          "2 * upStep"
        ],
        [
          "24 * cellSize",
          "5 * upStep"
        ],
        [
          "19 * cellSize",
          "7 * upStep"
        ],
        [
          "14 * cellSize",
          "5 * upStep"
        ],
        [
          "14 * cellSize",
          "2 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "2 * upStep"
        ],
        [
          "14 * cellSize",
          "2 * upStep"
        ],
        [
          "14 * cellSize",
          "5 * upStep"
        ],
        [
          "8 * cellSize",
          "5 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "24 * cellSize",
          "2 * upStep"
        ],
        [
          "30 * cellSize",
          "2 * upStep"
        ],
        [
          "30 * cellSize",
          "5 * upStep"
        ],
        [
          "24 * cellSize",
          "5 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "5 * upStep"
        ],
        [
          "14 * cellSize",
          "5 * upStep"
        ],
        [
          "11 * cellSize",
          "8 * upStep"
        ],
        [
          "3 * cellSize",
          "9 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "14 * cellSize",
          "5 * upStep"
        ],
        [
          "19 * cellSize",
          "7 * upStep"
        ],
        [
          "16 * cellSize",
          "10 * upStep"
        ],
        [
          "11 * cellSize",
          "8 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "24 * cellSize",
          "5 * upStep"
        ],
        [
          "30 * cellSize",
          "5 * upStep"
        ],
        [
          "35 * cellSize",
          "9 * upStep"
        ],
        [
          "27 * cellSize",
          "8 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "24 * cellSize",
          "5 * upStep"
        ],
        [
          "27 * cellSize",
          "8 * upStep"
        ],
        [
          "22 * cellSize",
          "10 * upStep"
        ],
        [
          "19 * cellSize",
          "7 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * cellSize",
          "7 * upStep"
        ],
        [
          "22 * cellSize",
          "10 * upStep"
        ],
        [
          "19 * cellSize",
          "14 * upStep"
        ],
        [
          "16 * cellSize",
          "10 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * cellSize",
          "8 * upStep"
        ],
        [
          "16 * cellSize",
          "10 * upStep"
        ],
        [
          "19 * cellSize",
          "14 * upStep"
        ],
        [
          "11 * cellSize",
          "15 * upStep"
        ],
        [
          "6 * cellSize",
          "13 * upStep"
        ],
        [
          "3 * cellSize",
          "9 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "27 * cellSize",
          "8 * upStep"
        ],
        [
          "35 * cellSize",
          "9 * upStep"
        ],
        [
          "32 * cellSize",
          "13 * upStep"
        ],
        [
          "27 * cellSize",
          "15 * upStep"
        ],
        [
          "19 * cellSize",
          "14 * upStep"
        ],
        [
          "22 * cellSize",
          "10 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * cellSize",
          "9 * upStep"
        ],
        [
          "6 * cellSize",
          "13 * upStep"
        ],
        [
          "3 * cellSize",
          "16 * upStep"
        ],
        [
          "0",
          "13 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "13 * upStep"
        ],
        [
          "3 * cellSize",
          "16 * upStep"
        ],
        [
          "-2 * cellSize",
          "18 * upStep"
        ],
        [
          "-5 * cellSize",
          "15 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * cellSize",
          "13 * upStep"
        ],
        [
          "11 * cellSize",
          "15 * upStep"
        ],
        [
          "8 * cellSize",
          "18 * upStep"
        ],
        [
          "3 * cellSize",
          "16 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * cellSize",
          "14 * upStep"
        ],
        [
          "14 * cellSize",
          "18 * upStep"
        ],
        [
          "8 * cellSize",
          "18 * upStep"
        ],
        [
          "11 * cellSize",
          "15 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * cellSize",
          "14 * upStep"
        ],
        [
          "27 * cellSize",
          "15 * upStep"
        ],
        [
          "30 * cellSize",
          "18 * upStep"
        ],
        [
          "24 * cellSize",
          "18 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * cellSize",
          "14 * upStep"
        ],
        [
          "24 * cellSize",
          "18 * upStep"
        ],
        [
          "24 * cellSize",
          "21 * upStep"
        ],
        [
          "19 * cellSize",
          "25 * upStep"
        ],
        [
          "14 * cellSize",
          "21 * upStep"
        ],
        [
          "14 * cellSize",
          "18 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * cellSize",
          "16 * upStep"
        ],
        [
          "8 * cellSize",
          "18 * upStep"
        ],
        [
          "8 * cellSize",
          "21 * upStep"
        ],
        [
          "3 * cellSize",
          "23 * upStep"
        ],
        [
          "-2 * cellSize",
          "21 * upStep"
        ],
        [
          "-2 * cellSize",
          "18 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "18 * upStep"
        ],
        [
          "14 * cellSize",
          "18 * upStep"
        ],
        [
          "14 * cellSize",
          "21 * upStep"
        ],
        [
          "8 * cellSize",
          "21 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "24 * cellSize",
          "18 * upStep"
        ],
        [
          "30 * cellSize",
          "18 * upStep"
        ],
        [
          "30 * cellSize",
          "21 * upStep"
        ],
        [
          "24 * cellSize",
          "21 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "21 * upStep"
        ],
        [
          "11 * cellSize",
          "24 * upStep"
        ],
        [
          "6 * cellSize",
          "26 * upStep"
        ],
        [
          "3 * cellSize",
          "23 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * cellSize",
          "21 * upStep"
        ],
        [
          "14 * cellSize",
          "21 * upStep"
        ],
        [
          "19 * cellSize",
          "25 * upStep"
        ],
        [
          "11 * cellSize",
          "24 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "24 * cellSize",
          "21 * upStep"
        ],
        [
          "30 * cellSize",
          "21 * upStep"
        ],
        [
          "27 * cellSize",
          "24 * upStep"
        ],
        [
          "19 * cellSize",
          "25 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "30 * cellSize",
          "21 * upStep"
        ],
        [
          "35 * cellSize",
          "23 * upStep"
        ],
        [
          "32 * cellSize",
          "26 * upStep"
        ],
        [
          "27 * cellSize",
          "24 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * cellSize",
          "23 * upStep"
        ],
        [
          "6 * cellSize",
          "26 * upStep"
        ],
        [
          "3 * cellSize",
          "30 * upStep"
        ],
        [
          "0",
          "26 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * cellSize",
          "24 * upStep"
        ],
        [
          "19 * cellSize",
          "25 * upStep"
        ],
        [
          "16 * cellSize",
          "29 * upStep"
        ],
        [
          "11 * cellSize",
          "31 * upStep"
        ],
        [
          "3 * cellSize",
          "30 * upStep"
        ],
        [
          "6 * cellSize",
          "26 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "27 * cellSize",
          "24 * upStep"
        ],
        [
          "32 * cellSize",
          "26 * upStep"
        ],
        [
          "35 * cellSize",
          "30 * upStep"
        ],
        [
          "27 * cellSize",
          "31 * upStep"
        ],
        [
          "22 * cellSize",
          "29 * upStep"
        ],
        [
          "19 * cellSize",
          "25 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * cellSize",
          "25 * upStep"
        ],
        [
          "22 * cellSize",
          "29 * upStep"
        ],
        [
          "19 * cellSize",
          "32 * upStep"
        ],
        [
          "16 * cellSize",
          "29 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "16 * cellSize",
          "29 * upStep"
        ],
        [
          "19 * cellSize",
          "32 * upStep"
        ],
        [
          "14 * cellSize",
          "34 * upStep"
        ],
        [
          "11 * cellSize",
          "31 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "22 * cellSize",
          "29 * upStep"
        ],
        [
          "27 * cellSize",
          "31 * upStep"
        ],
        [
          "24 * cellSize",
          "34 * upStep"
        ],
        [
          "19 * cellSize",
          "32 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * cellSize",
          "30 * upStep"
        ],
        [
          "8 * cellSize",
          "34 * upStep"
        ],
        [
          "8 * cellSize",
          "37 * upStep"
        ],
        [
          "3 * cellSize",
          "41 * upStep"
        ],
        [
          "-2 * cellSize",
          "37 * upStep"
        ],
        [
          "-2 * cellSize",
          "34 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * cellSize",
          "30 * upStep"
        ],
        [
          "11 * cellSize",
          "31 * upStep"
        ],
        [
          "14 * cellSize",
          "34 * upStep"
        ],
        [
          "8 * cellSize",
          "34 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * cellSize",
          "30 * upStep"
        ],
        [
          "-2 * cellSize",
          "34 * upStep"
        ],
        [
          "-8 * cellSize",
          "34 * upStep"
        ],
        [
          "-5 * cellSize",
          "31 * upStep"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "32 * cellSize",
      "0"
    ],
    "b": [
      "0",
      "32 * upStep"
    ]
  }
}
,"hexagon-square-lozenge":{
  "schema": 1,
  "id": "hexagon-square-lozenge",
  "name": "Hexagon, square and lozenge",
  "category": "ceramic",
  "parameters": {
    "moduleSize": { "value": 50, "min": 15, "max": 400, "label": "Module side" }
  },
  "tiles": [
    { "rect": ["moduleSize", "6 * moduleSize", "3 * moduleSize", "8 * moduleSize"] },
    { "polygon": [["4 * moduleSize", "7 * moduleSize"], ["5 * moduleSize", "6 * moduleSize"],
                  ["6 * moduleSize", "7 * moduleSize"], ["5 * moduleSize", "8 * moduleSize"]] },
    { "polygon": [["-moduleSize", "5 * moduleSize"], ["0", "5 * moduleSize"], ["moduleSize", "6 * moduleSize"],
                  ["moduleSize", "7 * moduleSize"], ["0", "7 * moduleSize"], ["-moduleSize", "6 * moduleSize"]] },
    { "polygon": [["3 * moduleSize", "6 * moduleSize"], ["4 * moduleSize", "5 * moduleSize"], ["5 * moduleSize", "5 * moduleSize"],
                  ["5 * moduleSize", "6 * moduleSize"], ["4 * moduleSize", "7 * moduleSize"], ["3 * moduleSize", "7 * moduleSize"]] },
    { "polygon": [["2 * moduleSize", "6 * moduleSize"], ["moduleSize", "6 * moduleSize"], ["0", "5 * moduleSize"],
                  ["0", "4 * moduleSize"], ["moduleSize", "4 * moduleSize"], ["2 * moduleSize", "5 * moduleSize"]] },
    { "polygon": [["2 * moduleSize", "5 * moduleSize"], ["3 * moduleSize", "4 * moduleSize"], ["4 * moduleSize", "4 * moduleSize"],
                  ["4 * moduleSize", "5 * moduleSize"], ["3 * moduleSize", "6 * moduleSize"], ["2 * moduleSize", "6 * moduleSize"]] }
  ],
  "lattice": { "a": ["3 * moduleSize", "-3 * moduleSize"], "b": ["3 * moduleSize", "3 * moduleSize"] }
}
,"hexagon-three-tone":{
  "schema": 1,
  "id": "hexagon-three-tone",
  "name": "Hexagon, three tone",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 100, "min": 10, "max": 500, "label": "Side" },
    "rootThree": { "expr": "sqrt(3)" }
  },
  "tiles": [
    {
      "polygon": [["edge", "0"], ["edge / 2", "rootThree * edge / 2"], ["-edge / 2", "rootThree * edge / 2"], ["-edge", "0"], ["-edge / 2", "-rootThree * edge / 2"], ["edge / 2", "-rootThree * edge / 2"]]
    },
    {
      "polygon": [["5 * edge / 2", "rootThree * edge / 2"], ["2 * edge", "rootThree * edge"], ["edge", "rootThree * edge"], ["edge / 2", "rootThree * edge / 2"], ["edge", "0"], ["2 * edge", "0"]]
    },
    {
      "polygon": [["5 * edge / 2", "-rootThree * edge / 2"], ["2 * edge", "0"], ["edge", "0"], ["edge / 2", "-rootThree * edge / 2"], ["edge", "-rootThree * edge"], ["2 * edge", "-rootThree * edge"]]
    }
  ],
  "lattice": { "a": ["3 * edge", "0"], "b": ["3 * edge / 2", "3 * rootThree * edge / 2"] }
}
,"hexagon-two-point-star-edirne":{
  "schema": 1,
  "id": "hexagon-two-point-star-edirne",
  "name": "Six-star with hexagons",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 40, "min": 10, "max": 200, "label": "Edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["-3 * edge / 2", "-sqrt(3) * edge / 2"],
        ["-edge / 2", "-sqrt(3) * edge / 2"],
        ["0", "-2 * sqrt(3) * edge / 2"],
        ["edge / 2", "-sqrt(3) * edge / 2"],
        ["3 * edge / 2", "-sqrt(3) * edge / 2"],
        ["2 * edge / 2", "0"],
        ["3 * edge / 2", "sqrt(3) * edge / 2"],
        ["edge / 2", "sqrt(3) * edge / 2"],
        ["0", "2 * sqrt(3) * edge / 2"],
        ["-edge / 2", "sqrt(3) * edge / 2"],
        ["-3 * edge / 2", "sqrt(3) * edge / 2"],
        ["-2 * edge / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["4 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["5 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["4 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["2 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["edge / 2", "3 * sqrt(3) * edge / 2"],
        ["2 * edge / 2", "2 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["6 * edge / 2", "0"],
        ["5 * edge / 2", "sqrt(3) * edge / 2"],
        ["3 * edge / 2", "sqrt(3) * edge / 2"],
        ["2 * edge / 2", "0"],
        ["3 * edge / 2", "-sqrt(3) * edge / 2"],
        ["5 * edge / 2", "-sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["8 * edge / 2", "0"],
        ["9 * edge / 2", "-sqrt(3) * edge / 2"],
        ["11 * edge / 2", "-sqrt(3) * edge / 2"],
        ["12 * edge / 2", "0"],
        ["11 * edge / 2", "sqrt(3) * edge / 2"],
        ["9 * edge / 2", "sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["10 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["9 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["10 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["12 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["13 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["12 * edge / 2", "4 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["4 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["2 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["edge / 2", "3 * sqrt(3) * edge / 2"],
        ["0", "2 * sqrt(3) * edge / 2"],
        ["edge / 2", "sqrt(3) * edge / 2"],
        ["3 * edge / 2", "sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["4 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["3 * edge / 2", "5 * sqrt(3) * edge / 2"],
        ["edge / 2", "5 * sqrt(3) * edge / 2"],
        ["0", "4 * sqrt(3) * edge / 2"],
        ["edge / 2", "3 * sqrt(3) * edge / 2"],
        ["2 * edge / 2", "4 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["7 * edge / 2", "sqrt(3) * edge / 2"],
        ["6 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["4 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["3 * edge / 2", "sqrt(3) * edge / 2"],
        ["5 * edge / 2", "sqrt(3) * edge / 2"],
        ["6 * edge / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["6 * edge / 2", "6 * sqrt(3) * edge / 2"],
        ["5 * edge / 2", "5 * sqrt(3) * edge / 2"],
        ["3 * edge / 2", "5 * sqrt(3) * edge / 2"],
        ["4 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["6 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "5 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["7 * edge / 2", "sqrt(3) * edge / 2"],
        ["8 * edge / 2", "0"],
        ["9 * edge / 2", "sqrt(3) * edge / 2"],
        ["11 * edge / 2", "sqrt(3) * edge / 2"],
        ["10 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["8 * edge / 2", "2 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["8 * edge / 2", "6 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "5 * sqrt(3) * edge / 2"],
        ["8 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["10 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["11 * edge / 2", "5 * sqrt(3) * edge / 2"],
        ["9 * edge / 2", "5 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["10 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["11 * edge / 2", "sqrt(3) * edge / 2"],
        ["13 * edge / 2", "sqrt(3) * edge / 2"],
        ["14 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["13 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["12 * edge / 2", "2 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["10 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["12 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["13 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["14 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["13 * edge / 2", "5 * sqrt(3) * edge / 2"],
        ["11 * edge / 2", "5 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge / 2", "3 * sqrt(3) * edge / 2"],
        ["0", "4 * sqrt(3) * edge / 2"],
        ["-edge / 2", "3 * sqrt(3) * edge / 2"],
        ["0", "2 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["6 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["5 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["4 * edge / 2", "2 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["6 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["4 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["5 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "3 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["7 * edge / 2", "-sqrt(3) * edge / 2"],
        ["8 * edge / 2", "0"],
        ["7 * edge / 2", "sqrt(3) * edge / 2"],
        ["6 * edge / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["7 * edge / 2", "sqrt(3) * edge / 2"],
        ["8 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["6 * edge / 2", "2 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["7 * edge / 2", "5 * sqrt(3) * edge / 2"],
        ["6 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["8 * edge / 2", "4 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["8 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["10 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["9 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "3 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["8 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["9 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["10 * edge / 2", "4 * sqrt(3) * edge / 2"]
      ]
    }
  ],
  "lattice": {
    "a": ["7 * edge", "0"],
    "b": ["0", "3 * sqrt(3) * edge"]
  }
}
,"hexagon-weave":{
  "schema": 1,
  "id": "hexagon-weave",
  "name": "Hexagon weave",
  "category": "wood",
  "parameters": {
    "edge": { "value": 200, "min": 20, "max": 900, "label": "Hexagon side" },
    "flat": { "expr": "sqrt(3) * edge / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["flat", "edge / 2"],
        ["0", "edge"],
        ["-flat", "edge / 2"],
        ["-flat", "-edge / 2"],
        ["0", "-edge"],
        ["flat", "-edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-2 * flat", "0"],
        ["0", "edge"],
        ["-flat", "3 * edge / 2"],
        ["-3 * flat", "edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-flat", "3 * edge / 2"],
        ["flat", "edge / 2"],
        ["flat", "3 * edge / 2"],
        ["-flat", "5 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["flat", "-edge / 2"],
        ["2 * flat", "0"],
        ["2 * flat", "2 * edge"],
        ["flat", "3 * edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["3 * flat", "3 * edge / 2"], "b": ["3 * flat", "-3 * edge / 2"] }
}
,"hexagon":{
  "schema": 1,
  "id": "hexagon",
  "name": "Hexagon",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 100, "min": 10, "max": 1000, "label": "Side" }
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "0"],
        ["edge / 2", "sqrt(3) * edge / 2"],
        ["-edge / 2", "sqrt(3) * edge / 2"],
        ["-edge", "0"],
        ["-edge / 2", "-sqrt(3) * edge / 2"],
        ["edge / 2", "-sqrt(3) * edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["3 * edge / 2", "sqrt(3) * edge / 2"], "b": ["0", "sqrt(3) * edge"] }
}
,"hexagram-dodecagon":{
  "schema": 1,
  "id": "hexagram-dodecagon",
  "name": "Hexagram and dodecagon",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 50, "min": 10, "max": 500, "label": "Edge"},
    "starDepthRatio": { "expr": "0.666667" },
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge * (2 + rootThree) / 2", "edge / 2"],
        ["edge * (3 + rootThree) / 2 + starDepthRatio * (edge * (3 + 2 * rootThree) / 4 - (edge * (3 + rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge * (2 + rootThree) / 4 - (edge * (1 + rootThree) / 2))"],
        ["edge * (1 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge / 2", "edge * (2 + rootThree) / 2"],
        ["0", "edge * (1 + rootThree) + starDepthRatio * (edge * (2 + rootThree) / 2 - (edge * (1 + rootThree)))"],
        ["-edge / 2", "edge * (2 + rootThree) / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge * (2 + rootThree) / 4 - (edge * (1 + rootThree) / 2))"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (edge * (-2 - rootThree) / 4 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["0", "edge * (-1 - rootThree) + starDepthRatio * (edge * (-2 - rootThree) / 2 - (edge * (-1 - rootThree)))"],
        ["edge / 2", "edge * (-2 - rootThree) / 2"],
        ["edge * (1 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 2 + starDepthRatio * (edge * (3 + 2 * rootThree) / 4 - (edge * (3 + rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (edge * (-2 - rootThree) / 4 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (2 + rootThree) / 2", "-edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge * (2 + rootThree) / 4 - (edge * (1 + rootThree) / 2))"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge * (2 + 3 * rootThree) / 4 - (edge * (1 + rootThree) / 2))"],
        ["edge * (-2 - rootThree) / 2", "edge * (1 + 2 * rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - rootThree) / 2 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge * (1 + 2 * rootThree) / 2 - (edge * (1 + rootThree) / 2))"],
        ["edge * (-4 - rootThree) / 2", "edge * (1 + 2 * rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-9 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge * (2 + 3 * rootThree) / 4 - (edge * (1 + rootThree) / 2))"],
        ["edge * (-5 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-9 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge * (2 + rootThree) / 4 - (edge * (1 + rootThree) / 2))"],
        ["edge * (-4 - rootThree) / 2", "edge / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - rootThree) / 2 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge / 2 - (edge * (1 + rootThree) / 2))"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (edge * (-2 - 3 * rootThree) / 4 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (-2 - rootThree) / 2", "edge * (-1 - 2 * rootThree) / 2"],
        ["-edge", "edge * (-1 - rootThree)"],
        ["starDepthRatio * (-3 * edge / 4)", "edge * (-1 - rootThree) + starDepthRatio * (edge * (-4 - 3 * rootThree) / 4 - (edge * (-1 - rootThree)))"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (edge * (-2 - rootThree) / 4 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - rootThree) / 2 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (-edge / 2 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (-4 - rootThree) / 2", "-edge / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-9 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (edge * (-2 - rootThree) / 4 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (-5 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-9 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (edge * (-2 - 3 * rootThree) / 4 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (-4 - rootThree) / 2", "edge * (-1 - 2 * rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - rootThree) / 2 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (edge * (-1 - 2 * rootThree) / 2 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (-2 - rootThree) / 2", "edge * (-1 - 2 * rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (edge * (-2 - 3 * rootThree) / 4 - (edge * (-1 - rootThree) / 2))"]
      ]
    },
    {
      "polygon": [
        ["-edge", "edge * (1 + rootThree)"],
        ["edge * (-2 - rootThree) / 2", "edge * (1 + 2 * rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge * (2 + 3 * rootThree) / 4 - (edge * (1 + rootThree) / 2))"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["-edge / 2", "edge * (2 + rootThree) / 2"],
        ["starDepthRatio * (-3 * edge / 4)", "edge * (1 + rootThree) + starDepthRatio * (edge * (4 + 3 * rootThree) / 4 - (edge * (1 + rootThree)))"]
      ]
    },
    {
      "polygon": [
        ["edge * (-4 - rootThree) / 2", "edge / 2"],
        ["edge * (-4 - rootThree) / 2", "-edge / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - rootThree) / 2 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (-edge / 2 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - rootThree) / 2 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge / 2 - (edge * (1 + rootThree) / 2))"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (3 + rootThree)", "0"], "b": ["edge * (3 + rootThree) / 2", "edge * (3 + 3 * rootThree) / 2"] }
}
,"hexagram-rhombus":{
  "schema": 1,
  "id": "hexagram-rhombus",
  "name": "Hexagram and rhombus",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Edge"},
    "starDepthRatio": { "expr": "0.666667" },
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "0"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["edge / 2", "rootThree * edge / 2"],
        ["0", "starDepthRatio * (rootThree * edge / 2)"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["-edge", "0"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["0", "starDepthRatio * (-rootThree * edge / 2)"],
        ["edge / 2", "-rootThree * edge / 2"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"]
      ]
    },
    {
      "polygon": [
        ["-edge", "0"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["-3 * edge / 2 + starDepthRatio * (-3 * edge / 4 - (-3 * edge / 2))", "-rootThree * edge / 2 + starDepthRatio * (-rootThree * edge / 4 - (-rootThree * edge / 2))"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "-rootThree * edge / 2"],
        ["0", "starDepthRatio * (-rootThree * edge / 2)"],
        ["edge / 2", "-rootThree * edge / 2"],
        ["0", "-rootThree * edge + starDepthRatio * (-rootThree * edge / 2 - (-rootThree * edge))"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "rootThree * edge / 2"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["-edge", "0"],
        ["-3 * edge / 2 + starDepthRatio * (-3 * edge / 4 - (-3 * edge / 2))", "rootThree * edge / 2 + starDepthRatio * (rootThree * edge / 4 - (rootThree * edge / 2))"]
      ]
    }
  ],
  "lattice": { "a": ["3 * edge / 2", "rootThree * edge / 2"], "b": ["0", "rootThree * edge"] }
}
,"hexagram-snub":{
  "schema": 1,
  "id": "hexagram-snub",
  "name": "Hexagram and snub triangles",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Edge"},
    "starDepthRatio": { "expr": "0.666667" },
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "0"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["edge / 2", "rootThree * edge / 2"],
        ["0", "starDepthRatio * (rootThree * edge / 2)"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["-edge", "0"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["0", "starDepthRatio * (-rootThree * edge / 2)"],
        ["edge / 2", "-rootThree * edge / 2"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"]
      ]
    },
    {
      "polygon": [
        ["3 * edge / 2", "rootThree * edge / 2"],
        ["edge / 2", "rootThree * edge / 2"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["edge", "0"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "-rootThree * edge / 2"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"],
        ["-edge", "0"],
        ["-3 * edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "rootThree * edge"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["0", "starDepthRatio * (rootThree * edge / 2)"],
        ["edge / 2", "rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge / 2", "-rootThree * edge / 2"],
        ["0", "starDepthRatio * (-rootThree * edge / 2)"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["0", "-rootThree * edge"]
      ]
    },
    {
      "polygon": [
        ["-edge", "0"],
        ["-3 * edge / 2", "rootThree * edge / 2"],
        ["-2 * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["edge", "0"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"],
        ["edge / 2", "-rootThree * edge / 2"],
        ["3 * edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-3 * edge / 2", "-rootThree * edge / 2"],
        ["-edge", "-rootThree * edge"],
        ["-edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-edge", "0"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["-3 * edge / 2", "rootThree * edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["5 * edge / 2", "rootThree * edge / 2"], "b": ["edge / 2", "3 * rootThree * edge / 2"] }
}
,"hexagram-square-triangle":{
  "schema": 1,
  "id": "hexagram-square-triangle",
  "name": "Hexagram, square and triangle",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 60, "min": 10, "max": 500, "label": "Edge"},
    "starDepthRatio": { "expr": "0.666667" },
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "0"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["edge / 2", "rootThree * edge / 2"],
        ["0", "starDepthRatio * (rootThree * edge / 2)"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["-edge", "0"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["0", "starDepthRatio * (-rootThree * edge / 2)"],
        ["edge / 2", "-rootThree * edge / 2"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "-rootThree * edge / 2"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"],
        ["-edge", "0"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (-1 - rootThree) / 2 + starDepthRatio * (edge * (-2 - rootThree) / 4 - (edge * (-1 - rootThree) / 2))"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge / 2", "-rootThree * edge / 2"],
        ["0", "starDepthRatio * (-rootThree * edge / 2)"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["0", "edge * (-1 - rootThree) + starDepthRatio * (edge * (-2 - rootThree) / 2 - (edge * (-1 - rootThree)))"],
        ["edge / 2", "edge * (-2 - rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2 + starDepthRatio * (edge * (-3 - 2 * rootThree) / 4 - (edge * (-3 - rootThree) / 2))", "edge * (1 + rootThree) / 2 + starDepthRatio * (edge * (2 + rootThree) / 4 - (edge * (1 + rootThree) / 2))"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["-edge", "0"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["-edge / 2", "rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["-edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["-edge", "0"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (3 + rootThree) / 2", "edge * (1 + rootThree) / 2"], "b": ["0", "edge * (1 + rootThree)"] }
}
,"hexagram-triangle":{
  "schema": 1,
  "id": "hexagram-triangle",
  "name": "Star and hexagon",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Edge"},
    "starDepthRatio": { "expr": "0.666667" },
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "0"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["edge / 2", "rootThree * edge / 2"],
        ["0", "starDepthRatio * (rootThree * edge / 2)"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"],
        ["-edge", "0"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["0", "starDepthRatio * (-rootThree * edge / 2)"],
        ["edge / 2", "-rootThree * edge / 2"],
        ["starDepthRatio * (3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "rootThree * edge / 2"],
        ["-edge + starDepthRatio * (-edge - (-edge))", "rootThree * edge + starDepthRatio * (rootThree * edge / 2 - (rootThree * edge))"],
        ["-3 * edge / 2", "rootThree * edge / 2"],
        ["-2 * edge + starDepthRatio * (-5 * edge / 4 - (-2 * edge))", "starDepthRatio * (rootThree * edge / 4)"],
        ["-edge", "0"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (rootThree * edge / 4)"]
      ]
    },
    {
      "polygon": [
        ["-edge", "0"],
        ["-2 * edge + starDepthRatio * (-5 * edge / 4 - (-2 * edge))", "starDepthRatio * (-rootThree * edge / 4)"],
        ["-3 * edge / 2", "-rootThree * edge / 2"],
        ["-edge + starDepthRatio * (-edge - (-edge))", "-rootThree * edge + starDepthRatio * (-rootThree * edge / 2 - (-rootThree * edge))"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["starDepthRatio * (-3 * edge / 4)", "starDepthRatio * (-rootThree * edge / 4)"]
      ]
    }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["edge", "rootThree * edge"] }
}
,"hit-and-miss-bond":{
  "schema": 1,
  "id": "hit-and-miss-bond",
  "name": "Hit and miss bond",
  "category": "brick",
  "coverage": "partial",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 400, "label": "Length" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height" },
    "void": { "expr": "length / 2" },
    "period": { "expr": "length + void" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] }
  ],
  "lattice": { "a": ["period", "0"], "b": ["period / 2", "width"] }
}
,"honeycomb-grid":{
  "schema": 1,
  "id": "honeycomb-grid",
  "name": "Honeycomb grid",
  "category": "stone",
  "parameters": {
    "cellSize": { "value": 49, "min": 10, "max": 200, "label": "Cell width (across flats)" },
    "wallWidth": { "value": 12, "min": 0.5, "max": 30, "label": "Wall (shows only above the grout)" },
    "acrossFlats": { "expr": "cellSize + wallWidth" },
    "circumradius": { "expr": "acrossFlats / sqrt(3)" },
    "holeCircumradius": { "expr": "cellSize / sqrt(3)" }
  },
  "tiles": [
    {
      "polygon": [
        ["acrossFlats / 2", "-circumradius / 2"],
        ["acrossFlats / 2", "circumradius / 2"],
        ["0", "circumradius"],
        ["-acrossFlats / 2", "circumradius / 2"],
        ["-acrossFlats / 2", "-circumradius / 2"],
        ["0", "-circumradius"]
      ],
      "holes": [
        {
          "polygon": [
            ["cellSize / 2", "-holeCircumradius / 2"],
            ["cellSize / 2", "holeCircumradius / 2"],
            ["0", "holeCircumradius"],
            ["-cellSize / 2", "holeCircumradius / 2"],
            ["-cellSize / 2", "-holeCircumradius / 2"],
            ["0", "-holeCircumradius"]
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["acrossFlats", "0"],
    "b": ["acrossFlats / 2", "3 * circumradius / 2"]
  }
}
,"hopscotch":{
  "schema": 1,
  "id": "hopscotch",
  "name": "Hopscotch",
  "category": "stone",
  "parameters": {
    "edge": { "value": 300, "min": 20, "max": 2000, "label": "Large square" },
    "sizeRatio": { "value": 0.5, "min": 0.1, "max": 1, "label": "Small / large side", "unit": "none" },
    "smallEdge": { "expr": "edge * sizeRatio" }
  },
  "tiles": [
    { "rect": ["0", "0", "edge", "edge"] },
    { "rect": ["edge", "0", "edge + smallEdge", "smallEdge"] }
  ],
  "lattice": { "a": ["edge", "smallEdge"], "b": ["-smallEdge", "edge"] }
}
,"houndstooth":{
  "schema": 1,
  "id": "houndstooth",
  "name": "Houndstooth",
  "category": "ceramic",
  "parameters": {
    "moduleSize": { "value": 50, "min": 5, "max": 300, "label": "Square module" }
  },
  "tiles": [
    {
      "polygon": [
        ["moduleSize", "2 * moduleSize"],
        ["0", "moduleSize"],
        ["moduleSize", "moduleSize"],
        ["moduleSize", "0"],
        ["2 * moduleSize", "moduleSize"],
        ["3 * moduleSize", "moduleSize"],
        ["5 * moduleSize", "3 * moduleSize"],
        ["4 * moduleSize", "3 * moduleSize"],
        ["3 * moduleSize", "2 * moduleSize"],
        ["3 * moduleSize", "3 * moduleSize"],
        ["2 * moduleSize", "3 * moduleSize"],
        ["3 * moduleSize", "4 * moduleSize"],
        ["3 * moduleSize", "5 * moduleSize"],
        ["moduleSize", "3 * moduleSize"]
      ]
    }
  ],
  "lattice": { "a": ["2 * moduleSize", "2 * moduleSize"], "b": ["2 * moduleSize", "-2 * moduleSize"] }
}
,"hourglass":{
  "schema": 1,
  "id": "hourglass",
  "name": "Hourglass",
  "category": "stone",
  "parameters": {
    "radius": { "value": 150, "min": 25, "max": 800, "label": "Circle radius" },
    "half": { "expr": "radius / sqrt(2)" }
  },
  "tiles": [
    { "path": [
      { "arc": { "center": ["0", "0"], "from": ["half", "-half"], "to": ["half", "half"], "clockwise": false } },
      { "arc": { "center": ["0", "2 * half"], "from": ["half", "half"], "to": ["-half", "half"], "clockwise": true } },
      { "arc": { "center": ["0", "0"], "from": ["-half", "half"], "to": ["-half", "-half"], "clockwise": false } },
      { "arc": { "center": ["0", "-2 * half"], "from": ["-half", "-half"], "to": ["half", "-half"], "clockwise": true } }
    ] },
    { "path": [
      { "arc": { "center": ["2 * half", "0"], "from": ["3 * half", "half"], "to": ["half", "half"], "clockwise": false } },
      { "arc": { "center": ["0", "0"], "from": ["half", "half"], "to": ["half", "-half"], "clockwise": true } },
      { "arc": { "center": ["2 * half", "0"], "from": ["half", "-half"], "to": ["3 * half", "-half"], "clockwise": false } },
      { "arc": { "center": ["4 * half", "0"], "from": ["3 * half", "-half"], "to": ["3 * half", "half"], "clockwise": true } }
    ] }
  ],
  "lattice": { "a": ["2 * half", "2 * half"], "b": ["2 * half", "-2 * half"] }
}
,"i-panel-and-squares":{
  "schema": 1,
  "id": "i-panel-and-squares",
  "name": "I panel and squares",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 25,
      "min": 5,
      "max": 200,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "0",
          "10 * moduleSize"
        ],
        [
          "0",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "0",
        "2 * moduleSize",
        "2 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "2 * moduleSize",
        "6 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "10 * moduleSize",
        "6 * moduleSize",
        "12 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "12 * moduleSize",
        "6 * moduleSize",
        "14 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "0",
        "8 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "2 * moduleSize",
        "8 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "8 * moduleSize",
        "8 * moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "10 * moduleSize",
        "8 * moduleSize",
        "12 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "12 * moduleSize",
        "8 * moduleSize",
        "14 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "14 * moduleSize"
    ]
  }
},"interlocking-basketweave":{
  "schema": 1,
  "id": "interlocking-basketweave",
  "name": "Interlocking basketweave",
  "category": "stone",
  "parameters": {
    "length": { "value": 326, "min": 320, "max": 3000, "label": "Paver length" },
    "width": { "value": 40, "min": 10, "max": 100, "label": "Paver width" },
    "block": { "expr": "3 * width" },
    "stub": { "expr": "(length - block) / 2" },
    "across": { "expr": "length + block" },
    "along": { "expr": "12 * width" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "3" }, "rect": ["0", "k * width", "length", "(k + 1) * width"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["stub + block", "2 * block + k * width", "stub + block + length", "2 * block + (k + 1) * width"] },

    { "repeat": { "index": "k", "count": "3" }, "rect": ["length + k * width", "-block", "length + (k + 1) * width", "2 * block"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["stub + k * width", "block", "stub + (k + 1) * width", "4 * block"] },

    { "repeat": { "index": "k", "count": "3" }, "rect": ["0", "block + k * width", "stub", "block + (k + 1) * width"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["stub + block", "block + k * width", "length", "block + (k + 1) * width"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["0", "3 * block + k * width", "stub", "3 * block + (k + 1) * width"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["stub + block", "3 * block + k * width", "length", "3 * block + (k + 1) * width"] }
  ],
  "lattice": { "a": ["length + block", "0"], "b": ["0", "12 * width"] }
}
,"interlocking-bone-tile":{
  "schema": 1,
  "id": "interlocking-bone-tile",
  "name": "Interlocking bone tile",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 330,
      "min": 40,
      "max": 1500,
      "label": "Tile width"
    },
    "armTop": {
      "expr": "1.1 * width"
    },
    "armBottom": {
      "expr": "0.9 * width"
    },
    "biteLow": {
      "expr": "0.65 * width"
    },
    "biteHigh": {
      "expr": "1.35 * width"
    },
    "columnLeft": {
      "expr": "0.25 * width"
    },
    "columnRight": {
      "expr": "0.75 * width"
    },
    "capLow": {
      "expr": "0.25 * width"
    },
    "capHigh": {
      "expr": "1.75 * width"
    }
  },
  "tiles": [
    {
      "start": [
        "columnLeft",
        "capLow"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "width / 2",
              "capLow"
            ],
            "from": [
              "columnLeft",
              "capLow"
            ],
            "to": [
              "columnRight",
              "capLow"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "columnRight",
              "biteLow"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width",
              "biteLow"
            ],
            "from": [
              "columnRight",
              "biteLow"
            ],
            "to": [
              "width",
              "armBottom"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "width",
              "armTop"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width",
              "biteHigh"
            ],
            "from": [
              "width",
              "armTop"
            ],
            "to": [
              "columnRight",
              "biteHigh"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "columnRight",
              "capHigh"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width / 2",
              "capHigh"
            ],
            "from": [
              "columnRight",
              "capHigh"
            ],
            "to": [
              "columnLeft",
              "capHigh"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "columnLeft",
              "biteHigh"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "biteHigh"
            ],
            "from": [
              "columnLeft",
              "biteHigh"
            ],
            "to": [
              "0",
              "armTop"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "armBottom"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "biteLow"
            ],
            "from": [
              "0",
              "armBottom"
            ],
            "to": [
              "columnLeft",
              "biteLow"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "columnLeft",
              "capLow"
            ]
          }
        }
      ],
      "grain": [
        "0",
        "1"
      ]
    }
  ],
  "lattice": {
    "a": [
      "width",
      "0"
    ],
    "b": [
      "width / 2",
      "1.1 * width"
    ]
  }
},"interlocking-circle-grid":{
  "schema": 1,
  "id": "interlocking-circle-grid",
  "name": "Interlocking circle grid",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 300,
      "min": 60,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "1.241935483871 * overallSize",
        "0.806451612903 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "1.291509844951873 * overallSize"
            ],
            "from": [
              "1.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "to": [
              "1.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.790322580645 * overallSize",
              "0.790322580645 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.911290322581 * overallSize",
              "0.701612903226 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0.58064516129 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "2.497605517158913 * overallSize",
              "0.290322580645161 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "0.58064516129 * overallSize"
            ],
            "to": [
              "2 * overallSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.911290322581 * overallSize",
              "-0.120967741935 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.790322580645 * overallSize",
              "-0.209677419355 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.758064516129 * overallSize",
              "-0.225806451613 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "-0.707584268052033 * overallSize"
            ],
            "from": [
              "1.758064516129 * overallSize",
              "-0.225806451613 * overallSize"
            ],
            "to": [
              "1.241935483871 * overallSize",
              "-0.225806451613 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.209677419355 * overallSize",
              "-0.209677419355 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.088709677419 * overallSize",
              "-0.120967741935 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.502409926856525 * overallSize",
              "0.290322580645161 * overallSize"
            ],
            "from": [
              "overallSize",
              "0"
            ],
            "to": [
              "overallSize",
              "0.58064516129 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.088709677419 * overallSize",
              "0.701612903226 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.209677419355 * overallSize",
              "0.790322580645 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1.241935483871 * overallSize",
        "1.838709677419 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "2.323767909467999 * overallSize"
            ],
            "from": [
              "1.241935483871 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "to": [
              "1.758064516129 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.790322580645 * overallSize",
              "1.822580645161 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.911290322581 * overallSize",
              "1.733870967742 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "1.612903225806 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "2.49760551715891 * overallSize",
              "1.32258064516129 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "1.612903225806 * overallSize"
            ],
            "to": [
              "2 * overallSize",
              "1.032258064516 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.911290322581 * overallSize",
              "0.911290322581 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.790322580645 * overallSize",
              "0.822580645161 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "0.324673796464097 * overallSize"
            ],
            "from": [
              "1.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "to": [
              "1.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.209677419355 * overallSize",
              "0.822580645161 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.088709677419 * overallSize",
              "0.911290322581 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "1.032258064516 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.502409926856524 * overallSize",
              "1.32258064516129 * overallSize"
            ],
            "from": [
              "overallSize",
              "1.032258064516 * overallSize"
            ],
            "to": [
              "overallSize",
              "1.612903225806 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.088709677419 * overallSize",
              "1.733870967742 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.209677419355 * overallSize",
              "1.822580645161 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.241935483871 * overallSize",
              "1.838709677419 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1.241935483871 * overallSize",
        "1.838709677419 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "1.357009183681685 * overallSize"
            ],
            "from": [
              "1.241935483871 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "to": [
              "1.758064516129 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "2.3237833740083 * overallSize"
            ],
            "from": [
              "1.758064516129 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "to": [
              "1.241935483871 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "1.612903225806 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.502398954299687 * overallSize",
              "1.32258064516129 * overallSize"
            ],
            "from": [
              "overallSize",
              "1.612903225806 * overallSize"
            ],
            "to": [
              "overallSize",
              "1.032258064516 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "1.497585601684869 * overallSize",
              "1.32258064516129 * overallSize"
            ],
            "from": [
              "overallSize",
              "1.032258064516 * overallSize"
            ],
            "to": [
              "overallSize",
              "1.612903225806 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.241935483871 * overallSize",
        "0.806451612903 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "0.32475111916556 * overallSize"
            ],
            "from": [
              "0.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "to": [
              "0.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "1.291525309492166 * overallSize"
            ],
            "from": [
              "0.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "to": [
              "0.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.241935483871 * overallSize",
        "1.838709677419 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "2.323767909468001 * overallSize"
            ],
            "from": [
              "0.241935483871 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "to": [
              "0.758064516129 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.790322580645 * overallSize",
              "1.822580645161 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.911290322581 * overallSize",
              "1.733870967742 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "1.612903225806 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.497605517158917 * overallSize",
              "1.32258064516129 * overallSize"
            ],
            "from": [
              "overallSize",
              "1.612903225806 * overallSize"
            ],
            "to": [
              "overallSize",
              "1.032258064516 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.911290322581 * overallSize",
              "0.911290322581 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.790322580645 * overallSize",
              "0.822580645161 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "0.324673796464098 * overallSize"
            ],
            "from": [
              "0.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "to": [
              "0.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.209677419355 * overallSize",
              "0.822580645161 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.088709677419 * overallSize",
              "0.911290322581 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1.032258064516 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "-0.497590073143475 * overallSize",
              "1.32258064516129 * overallSize"
            ],
            "from": [
              "0",
              "1.032258064516 * overallSize"
            ],
            "to": [
              "0",
              "1.612903225806 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.088709677419 * overallSize",
              "1.733870967742 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.209677419355 * overallSize",
              "1.822580645161 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.241935483871 * overallSize",
              "1.838709677419 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.241935483871 * overallSize",
        "0.806451612903 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "1.291509844951875 * overallSize"
            ],
            "from": [
              "0.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "to": [
              "0.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.790322580645 * overallSize",
              "0.790322580645 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.911290322581 * overallSize",
              "0.701612903226 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.58064516129 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.49760551715892 * overallSize",
              "0.290322580645161 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.58064516129 * overallSize"
            ],
            "to": [
              "overallSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.911290322581 * overallSize",
              "-0.120967741935 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.790322580645 * overallSize",
              "-0.209677419355 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.758064516129 * overallSize",
              "-0.225806451613 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "-0.707584268052032 * overallSize"
            ],
            "from": [
              "0.758064516129 * overallSize",
              "-0.225806451613 * overallSize"
            ],
            "to": [
              "0.241935483871 * overallSize",
              "-0.225806451613 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.209677419355 * overallSize",
              "-0.209677419355 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.088709677419 * overallSize",
              "-0.120967741935 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "-0.497590073143475 * overallSize",
              "0.290322580645161 * overallSize"
            ],
            "from": [
              "0",
              "0"
            ],
            "to": [
              "0",
              "0.58064516129 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.088709677419 * overallSize",
              "0.701612903226 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.209677419355 * overallSize",
              "0.790322580645 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.241935483871 * overallSize",
        "1.838709677419 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "1.357009183681685 * overallSize"
            ],
            "from": [
              "0.241935483871 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "to": [
              "0.758064516129 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "2.323783374008296 * overallSize"
            ],
            "from": [
              "0.758064516129 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "to": [
              "0.241935483871 * overallSize",
              "1.838709677419 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "0.58064516129 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.502398954299687 * overallSize",
              "0.290322580645161 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.58064516129 * overallSize"
            ],
            "to": [
              "overallSize",
              "0"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "1.497585601684871 * overallSize",
              "0.290322580645161 * overallSize"
            ],
            "from": [
              "overallSize",
              "0"
            ],
            "to": [
              "overallSize",
              "0.58064516129 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "1.241935483871 * overallSize",
        "0.806451612903 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "0.324751119165556 * overallSize"
            ],
            "from": [
              "1.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "to": [
              "1.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "1.291525309492171 * overallSize"
            ],
            "from": [
              "1.758064516129 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "to": [
              "1.241935483871 * overallSize",
              "0.806451612903 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "1.032258064516 * overallSize"
        ],
        [
          "0.911290322581 * overallSize",
          "0.911290322581 * overallSize"
        ],
        [
          "0.790322580645 * overallSize",
          "0.822580645161 * overallSize"
        ],
        [
          "0.758064516129 * overallSize",
          "0.806451612903 * overallSize"
        ],
        [
          "0.790322580645 * overallSize",
          "0.790322580645 * overallSize"
        ],
        [
          "0.911290322581 * overallSize",
          "0.701612903226 * overallSize"
        ],
        [
          "overallSize",
          "0.58064516129 * overallSize"
        ],
        [
          "1.088709677419 * overallSize",
          "0.701612903226 * overallSize"
        ],
        [
          "1.209677419355 * overallSize",
          "0.790322580645 * overallSize"
        ],
        [
          "1.241935483871 * overallSize",
          "0.806451612903 * overallSize"
        ],
        [
          "1.209677419355 * overallSize",
          "0.822580645161 * overallSize"
        ],
        [
          "1.088709677419 * overallSize",
          "0.911290322581 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "2 * overallSize",
        "0.58064516129 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.502398954299686 * overallSize",
              "0.290322580645161 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "0.58064516129 * overallSize"
            ],
            "to": [
              "2 * overallSize",
              "0"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "2.497585601684866 * overallSize",
              "0.290322580645161 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "0"
            ],
            "to": [
              "2 * overallSize",
              "0.58064516129 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "2 * overallSize",
        "1.612903225806 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.502398954299687 * overallSize",
              "1.32258064516129 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "1.612903225806 * overallSize"
            ],
            "to": [
              "2 * overallSize",
              "1.032258064516 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "2.497585601684862 * overallSize",
              "1.32258064516129 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "1.032258064516 * overallSize"
            ],
            "to": [
              "2 * overallSize",
              "1.612903225806 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "2 * overallSize",
          "1.032258064516 * overallSize"
        ],
        [
          "1.911290322581 * overallSize",
          "0.911290322581 * overallSize"
        ],
        [
          "1.790322580645 * overallSize",
          "0.822580645161 * overallSize"
        ],
        [
          "1.758064516129 * overallSize",
          "0.806451612903 * overallSize"
        ],
        [
          "1.790322580645 * overallSize",
          "0.790322580645 * overallSize"
        ],
        [
          "1.911290322581 * overallSize",
          "0.701612903226 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.58064516129 * overallSize"
        ],
        [
          "2.088709677419 * overallSize",
          "0.701612903226 * overallSize"
        ],
        [
          "2.209677419355 * overallSize",
          "0.790322580645 * overallSize"
        ],
        [
          "2.241935483871 * overallSize",
          "0.806451612903 * overallSize"
        ],
        [
          "2.209677419355 * overallSize",
          "0.822580645161 * overallSize"
        ],
        [
          "2.088709677419 * overallSize",
          "0.911290322581 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "2.064516129032 * overallSize"
        ],
        [
          "0.911290322581 * overallSize",
          "1.943548387097 * overallSize"
        ],
        [
          "0.790322580645 * overallSize",
          "1.854838709677 * overallSize"
        ],
        [
          "0.758064516129 * overallSize",
          "1.838709677419 * overallSize"
        ],
        [
          "0.790322580645 * overallSize",
          "1.822580645161 * overallSize"
        ],
        [
          "0.911290322581 * overallSize",
          "1.733870967742 * overallSize"
        ],
        [
          "overallSize",
          "1.612903225806 * overallSize"
        ],
        [
          "1.088709677419 * overallSize",
          "1.733870967742 * overallSize"
        ],
        [
          "1.209677419355 * overallSize",
          "1.822580645161 * overallSize"
        ],
        [
          "1.241935483871 * overallSize",
          "1.838709677419 * overallSize"
        ],
        [
          "1.209677419355 * overallSize",
          "1.854838709677 * overallSize"
        ],
        [
          "1.088709677419 * overallSize",
          "1.943548387097 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * overallSize",
          "2.064516129032 * overallSize"
        ],
        [
          "1.911290322581 * overallSize",
          "1.943548387097 * overallSize"
        ],
        [
          "1.790322580645 * overallSize",
          "1.854838709677 * overallSize"
        ],
        [
          "1.758064516129 * overallSize",
          "1.838709677419 * overallSize"
        ],
        [
          "1.790322580645 * overallSize",
          "1.822580645161 * overallSize"
        ],
        [
          "1.911290322581 * overallSize",
          "1.733870967742 * overallSize"
        ],
        [
          "2 * overallSize",
          "1.612903225806 * overallSize"
        ],
        [
          "2.088709677419 * overallSize",
          "1.733870967742 * overallSize"
        ],
        [
          "2.209677419355 * overallSize",
          "1.822580645161 * overallSize"
        ],
        [
          "2.241935483871 * overallSize",
          "1.838709677419 * overallSize"
        ],
        [
          "2.209677419355 * overallSize",
          "1.854838709677 * overallSize"
        ],
        [
          "2.088709677419 * overallSize",
          "1.943548387097 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * overallSize",
      "0"
    ],
    "b": [
      "0",
      "2.064516129032 * overallSize"
    ]
  }
}
,"interlocking-comb":{
  "schema": 1,
  "id": "interlocking-comb",
  "name": "Interlocking comb",
  "category": "stone",
  "parameters": {
    "width": { "value": 50, "min": 10, "max": 500, "label": "Limb width" }
  },
  "tiles": [
    {
      "polygon": [
        ["width", "width"], ["2 * width", "width"], ["2 * width", "6 * width"], ["3 * width", "6 * width"],
        ["3 * width", "12 * width"], ["2 * width", "12 * width"], ["2 * width", "7 * width"], ["width", "7 * width"],
        ["width", "12 * width"], ["0", "12 * width"], ["0", "6 * width"], ["width", "6 * width"]
      ]
    },
    {
      "polygon": [
        ["3 * width", "0"], ["4 * width", "0"], ["4 * width", "5 * width"], ["5 * width", "5 * width"],
        ["5 * width", "0"], ["6 * width", "0"], ["6 * width", "5 * width"], ["6 * width", "6 * width"],
        ["5 * width", "6 * width"], ["5 * width", "11 * width"], ["4 * width", "11 * width"], ["4 * width", "6 * width"],
        ["3 * width", "6 * width"]
      ]
    }
  ],
  "lattice": { "a": ["6 * width", "0"], "b": ["0", "6 * width"] }
}
,"interlocking-cross-course":{
  "schema": 1,
  "id": "interlocking-cross-course",
  "name": "Interlocking cross course",
  "category": "stone",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.214285714286 * overallSize",
          "0"
        ],
        [
          "0.404761904762 * overallSize",
          "0"
        ],
        [
          "0.404761904762 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.309523809524 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.309523809524 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.404761904762 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.404761904762 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "0.261904761905 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.261904761905 * overallSize"
        ],
        [
          "0.309523809524 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.309523809524 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.595238095238 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.595238095238 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.714285714286 * overallSize",
          "0"
        ],
        [
          "0.714285714286 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.261904761905 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.809523809524 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.809523809524 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.714285714286 * overallSize",
          "0"
        ],
        [
          "0.904761904762 * overallSize",
          "0"
        ],
        [
          "0.904761904762 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.809523809524 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.809523809524 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.904761904762 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.904761904762 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.261904761905 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.309523809524 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.404761904762 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.404761904762 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.595238095238 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.595238095238 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.404761904762 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.404761904762 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.309523809524 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.809523809524 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.904761904762 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0.904761904762 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "1.095238095238 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "1.095238095238 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.904761904762 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.904761904762 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.809523809524 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.809523809524 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.809523809524 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.166666666667 * overallSize"
        ],
        [
          "0.095238095238 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.095238095238 * overallSize",
          "0.095238095238 * overallSize"
        ],
        [
          "0",
          "0.095238095238 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.214285714286 * overallSize",
          "0"
        ],
        [
          "0.214285714286 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0",
          "0.261904761905 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.309523809524 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.261904761905 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.309523809524 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "0.333333333333 * overallSize"
    ]
  }
}
,"interlocking-edge-tile":{
  "schema": 1,
  "id": "interlocking-edge-tile",
  "name": "Interlocking edge tile",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 200, "min": 100, "max": 1000, "label": "Tile side" },
    "bandWidth": { "value": 60, "min": 45, "max": 90, "label": "Strip width" },
    "gap": { "value": 15, "min": 2, "max": 20, "label": "Interlock depth" },
    "left": { "expr": "bandWidth / 2" },
    "right": { "expr": "edge - bandWidth / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["left", "0"], ["right", "0"], ["right", "gap"], ["right + gap", "2 * gap"],
        ["right + gap", "edge - 2 * gap"], ["right", "edge - gap"], ["right", "edge"], ["left", "edge"],
        ["left", "edge - gap"], ["left - gap", "edge - 2 * gap"], ["left - gap", "2 * gap"], ["left", "gap"]
      ]
    },
    {
      "polygon": [
        ["right", "0"], ["right + bandWidth", "0"], ["right + bandWidth", "gap"], ["right + bandWidth - gap", "2 * gap"],
        ["right + bandWidth - gap", "edge - 2 * gap"], ["right + bandWidth", "edge - gap"], ["right + bandWidth", "edge"], ["right", "edge"],
        ["right", "edge - gap"], ["right + gap", "edge - 2 * gap"], ["right + gap", "2 * gap"], ["right", "gap"]
      ]
    }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "edge"] }
}
,"interlocking-metro":{
  "schema": 1,
  "id": "interlocking-metro",
  "name": "Interlocking metro",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 10,
      "min": 3,
      "max": 60,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "moduleSize",
          "22 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "44 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "44 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "48 * moduleSize"
        ],
        [
          "moduleSize",
          "48 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "44 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "44 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "48 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "48 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "44 * moduleSize",
        "8 * moduleSize",
        "78 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "7 * moduleSize",
      "26 * moduleSize"
    ],
    "b": [
      "7 * moduleSize",
      "-26 * moduleSize"
    ]
  }
},"interlocking-pentagon-paver":{
  "schema": 1,
  "id": "interlocking-pentagon-paver",
  "name": "Interlocking pentagon paver",
  "category": "stone",
  "parameters": {
    "overallSize": {
      "value": 222,
      "min": 60,
      "max": 1500,
      "label": "Tile size"
    },
    "stepAlong": {
      "expr": "overallSize / 51"
    },
    "shearStep": {
      "expr": "-overallSize / 20"
    },
    "stepUp": {
      "expr": "overallSize * 0.95212612613 / 4"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "22 * stepAlong + 4 * shearStep",
          "4 * stepUp"
        ],
        [
          "58 * stepAlong + 4 * shearStep",
          "4 * stepUp"
        ],
        [
          "38 * stepAlong + 3 * shearStep",
          "3 * stepUp"
        ],
        [
          "28 * stepAlong + shearStep",
          "stepUp"
        ]
      ]
    },
    {
      "polygon": [
        [
          "24 * stepAlong + 3 * shearStep",
          "3 * stepUp"
        ],
        [
          "30 * stepAlong",
          "0"
        ],
        [
          "-6 * stepAlong",
          "0"
        ],
        [
          "14 * stepAlong + shearStep",
          "stepUp"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-13 * stepAlong + 3 * shearStep",
          "3 * stepUp"
        ],
        [
          "7 * stepAlong + 4 * shearStep",
          "4 * stepUp"
        ],
        [
          "22 * stepAlong + 4 * shearStep",
          "4 * stepUp"
        ],
        [
          "24 * stepAlong + 3 * shearStep",
          "3 * stepUp"
        ],
        [
          "14 * stepAlong + shearStep",
          "stepUp"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-13 * stepAlong + 3 * shearStep",
          "3 * stepUp"
        ],
        [
          "14 * stepAlong + shearStep",
          "stepUp"
        ],
        [
          "-6 * stepAlong",
          "0"
        ],
        [
          "-21 * stepAlong",
          "0"
        ],
        [
          "-23 * stepAlong + shearStep",
          "stepUp"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "51 * stepAlong",
      "0"
    ],
    "b": [
      "4 * shearStep",
      "4 * stepUp"
    ]
  }
}
,"interlocking-rounded-tile":{
  "schema": 1,
  "id": "interlocking-rounded-tile",
  "name": "Interlocking rounded tile",
  "category": "stone",
  "parameters": {
    "edge": {
      "value": 290,
      "min": 200,
      "max": 1500,
      "label": "Paver side"
    },
    "radius": {
      "value": 90,
      "min": 20,
      "max": 95,
      "label": "Tab radius"
    },
    "mid": {
      "expr": "edge / 2"
    }
  },
  "tiles": [
    {
      "start": [
        "0",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "mid - radius",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "0"
            ],
            "from": [
              "mid - radius",
              "0"
            ],
            "to": [
              "mid + radius",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "mid - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "edge",
              "mid"
            ],
            "from": [
              "edge",
              "mid - radius"
            ],
            "to": [
              "edge",
              "mid + radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "mid + radius",
              "edge"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "edge"
            ],
            "from": [
              "mid + radius",
              "edge"
            ],
            "to": [
              "mid - radius",
              "edge"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "mid + radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "mid"
            ],
            "from": [
              "0",
              "mid + radius"
            ],
            "to": [
              "0",
              "mid - radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "mid - radius",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "0"
            ],
            "from": [
              "mid - radius",
              "0"
            ],
            "to": [
              "mid + radius",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "mid - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "edge",
              "mid"
            ],
            "from": [
              "edge",
              "mid - radius"
            ],
            "to": [
              "edge",
              "mid + radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "mid + radius",
              "edge"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "edge"
            ],
            "from": [
              "mid + radius",
              "edge"
            ],
            "to": [
              "mid - radius",
              "edge"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "mid + radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "mid"
            ],
            "from": [
              "0",
              "mid + radius"
            ],
            "to": [
              "0",
              "mid - radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ],
      "transform": [
        {
          "rotate": {
            "angle": 90,
            "center": [
              "mid",
              "mid"
            ]
          }
        },
        {
          "translate": [
            "edge",
            "0"
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * edge",
      "0"
    ],
    "b": [
      "edge",
      "edge"
    ]
  }
}
,"interlocking-square-weave":{
  "schema": 1,
  "id": "interlocking-square-weave",
  "name": "Interlocking square weave",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 20,
      "min": 4,
      "max": 120,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "46 * moduleSize"
        ],
        [
          "0",
          "30 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "35 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "35 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "46 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "53 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "41 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "41 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "53 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "30 * moduleSize",
        "30 * moduleSize",
        "46 * moduleSize",
        "46 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "23 * moduleSize",
        "23 * moduleSize",
        "35 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "46 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "35 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "35 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "0"
        ],
        [
          "46 * moduleSize",
          "0"
        ],
        [
          "53 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "41 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "41 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "53 * moduleSize",
          "23 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "-5 * moduleSize",
        "7 * moduleSize",
        "7 * moduleSize",
        "23 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "7 * moduleSize",
        "23 * moduleSize",
        "23 * moduleSize"
      ]
    },
    {
      "rect": [
        "23 * moduleSize",
        "7 * moduleSize",
        "35 * moduleSize",
        "23 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "-5 * moduleSize",
        "23 * moduleSize",
        "7 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "46 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "46 * moduleSize"
    ]
  }
},"interlocking-step-block":{
  "schema": 1,
  "id": "interlocking-step-block",
  "name": "Interlocking step block",
  "category": "stone",
  "parameters": {
    "overallSize": {
      "value": 800,
      "min": 160,
      "max": 3200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.089743589744 * overallSize",
          "0.769230769231 * overallSize"
        ],
        [
          "0.410256410256 * overallSize",
          "0.769230769231 * overallSize"
        ],
        [
          "0.410256410256 * overallSize",
          "1.115384615385 * overallSize"
        ],
        [
          "0.320512820513 * overallSize",
          "1.115384615385 * overallSize"
        ],
        [
          "0.320512820513 * overallSize",
          "1.025641025641 * overallSize"
        ],
        [
          "0.089743589744 * overallSize",
          "1.025641025641 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.512820512821 * overallSize"
        ],
        [
          "0.320512820513 * overallSize",
          "0.512820512821 * overallSize"
        ],
        [
          "0.320512820513 * overallSize",
          "0.769230769231 * overallSize"
        ],
        [
          "0.089743589744 * overallSize",
          "0.769230769231 * overallSize"
        ],
        [
          "0.089743589744 * overallSize",
          "0.858974358974 * overallSize"
        ],
        [
          "0",
          "0.858974358974 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.320512820513 * overallSize",
          "0.602564102564 * overallSize"
        ],
        [
          "0.410256410256 * overallSize",
          "0.602564102564 * overallSize"
        ],
        [
          "0.410256410256 * overallSize",
          "0.25641025641 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.25641025641 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.602564102564 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.602564102564 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.769230769231 * overallSize"
        ],
        [
          "0.320512820513 * overallSize",
          "0.769230769231 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.25641025641 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.25641025641 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.346153846154 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "0.346153846154 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "0.602564102564 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.602564102564 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.769230769231 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.769230769231 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.858974358974 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "0.858974358974 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "1.115384615385 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.115384615385 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.820512820513 * overallSize",
          "0.346153846154 * overallSize"
        ],
        [
          "0.910256410256 * overallSize",
          "0.346153846154 * overallSize"
        ],
        [
          "0.910256410256 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.346153846154 * overallSize"
        ],
        [
          "1.089743589744 * overallSize",
          "0.346153846154 * overallSize"
        ],
        [
          "1.089743589744 * overallSize",
          "0.512820512821 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "0.512820512821 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.320512820513 * overallSize",
          "0.089743589744 * overallSize"
        ],
        [
          "0.410256410256 * overallSize",
          "0.089743589744 * overallSize"
        ],
        [
          "0.410256410256 * overallSize",
          "-0.25641025641 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "-0.25641025641 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.089743589744 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.089743589744 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.25641025641 * overallSize"
        ],
        [
          "0.320512820513 * overallSize",
          "0.25641025641 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.820512820513 * overallSize",
          "0.858974358974 * overallSize"
        ],
        [
          "0.910256410256 * overallSize",
          "0.858974358974 * overallSize"
        ],
        [
          "0.910256410256 * overallSize",
          "0.512820512821 * overallSize"
        ],
        [
          "overallSize",
          "0.512820512821 * overallSize"
        ],
        [
          "overallSize",
          "0.858974358974 * overallSize"
        ],
        [
          "1.089743589744 * overallSize",
          "0.858974358974 * overallSize"
        ],
        [
          "1.089743589744 * overallSize",
          "1.025641025641 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "1.025641025641 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.089743589744 * overallSize",
          "0.25641025641 * overallSize"
        ],
        [
          "0.410256410256 * overallSize",
          "0.25641025641 * overallSize"
        ],
        [
          "0.410256410256 * overallSize",
          "0.602564102564 * overallSize"
        ],
        [
          "0.320512820513 * overallSize",
          "0.602564102564 * overallSize"
        ],
        [
          "0.320512820513 * overallSize",
          "0.512820512821 * overallSize"
        ],
        [
          "0.089743589744 * overallSize",
          "0.512820512821 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.320512820513 * overallSize",
          "0"
        ],
        [
          "0.320512820513 * overallSize",
          "0.25641025641 * overallSize"
        ],
        [
          "0.089743589744 * overallSize",
          "0.25641025641 * overallSize"
        ],
        [
          "0.089743589744 * overallSize",
          "0.346153846154 * overallSize"
        ],
        [
          "0",
          "0.346153846154 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.589743589744 * overallSize",
          "0.602564102564 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "0.602564102564 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "0.512820512821 * overallSize"
        ],
        [
          "0.910256410256 * overallSize",
          "0.512820512821 * overallSize"
        ],
        [
          "0.910256410256 * overallSize",
          "0.858974358974 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.858974358974 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.589743589744 * overallSize",
          "0.089743589744 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "0.089743589744 * overallSize"
        ],
        [
          "0.820512820513 * overallSize",
          "0"
        ],
        [
          "0.910256410256 * overallSize",
          "0"
        ],
        [
          "0.910256410256 * overallSize",
          "0.346153846154 * overallSize"
        ],
        [
          "0.589743589744 * overallSize",
          "0.346153846154 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "1.025641025641 * overallSize"
    ]
  }
}
,"interlocking-stripe":{
  "schema": 1,
  "id": "interlocking-stripe",
  "name": "Interlocking stripe",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 60, "min": 10, "max": 400, "label": "Stripe width" },
    "length": { "value": 450, "min": 60, "max": 2000, "label": "Long tile" },
    "sizeRatio": { "value": 0.3333333333333333, "min": 0.05, "max": 1, "label": "Short / long tile", "unit": "none" },
    "shortLength": { "expr": "length * sizeRatio" },
    "period": { "expr": "2 * length + shortLength" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "length"] },
    { "rect": ["0", "length", "width", "length + shortLength"] },
    { "rect": ["0", "length + shortLength", "width", "period"] }
  ],
  "lattice": { "a": ["width", "(length + shortLength) / 2"], "b": ["0", "period"] }
}
,"interlocking-wave-paver":{
  "schema": 1,
  "id": "interlocking-wave-paver",
  "name": "Interlocking wave paver",
  "category": "stone",
  "parameters": {
    "radius": { "value": 50, "min": 15, "max": 300, "label": "Lobe radius" },
    "rowStep": { "expr": "2.210822 * radius" },
    "half": { "expr": "radius * sqrt(2) / 2" }
  },
  "tiles": [
    {
      "start": ["-radius", "0"],
      "path": [
        { "arc": { "center": ["-2 * radius", "0"], "from": ["-radius", "0"], "to": ["-2 * radius + half", "-half"], "clockwise": true } },
        { "line": { "to": ["-half", "-rowStep + half"] } },
        { "arc": { "center": ["0", "-rowStep"], "from": ["-half", "-rowStep + half"], "to": ["half", "-rowStep + half"], "clockwise": true } },
        { "line": { "to": ["2 * radius - half", "-half"] } },
        { "arc": { "center": ["2 * radius", "0"], "from": ["2 * radius - half", "-half"], "to": ["radius", "0"], "clockwise": true } },
        { "arc": { "center": ["0", "0"], "from": ["radius", "0"], "to": ["-radius", "0"], "clockwise": false } }
      ]
    },
    {
      "start": ["-radius", "0"],
      "path": [
        { "arc": { "center": ["-2 * radius", "0"], "from": ["-radius", "0"], "to": ["-2 * radius + half", "-half"], "clockwise": true } },
        { "line": { "to": ["-half", "-rowStep + half"] } },
        { "arc": { "center": ["0", "-rowStep"], "from": ["-half", "-rowStep + half"], "to": ["half", "-rowStep + half"], "clockwise": true } },
        { "line": { "to": ["2 * radius - half", "-half"] } },
        { "arc": { "center": ["2 * radius", "0"], "from": ["2 * radius - half", "-half"], "to": ["radius", "0"], "clockwise": true } },
        { "arc": { "center": ["0", "0"], "from": ["radius", "0"], "to": ["-radius", "0"], "clockwise": false } }
      ],
      "transform": [{ "rotate": { "angle": 180, "center": ["radius", "0"] } }]
    }
  ],
  "lattice": { "a": ["4 * radius", "0"], "b": ["0", "rowStep"] }
}
,"irregular-cobble":{
  "schema": 1,
  "id": "irregular-cobble",
  "name": "Irregular cobble",
  "category": "stone",
  "parameters": {
    "stoneSize": { "value": 120, "min": 68, "max": 300, "label": "Mean stone height" }
  },
  "generator": {
    "periodicVoronoi": {
      "width": "25 * stoneSize",
      "height": "25 * stoneSize",
      "stoneSize": "stoneSize",
      "stretch": "1",
      "separation": "0.6",
      "relaxation": "6",
      "seed": "seed"
    }
  }
}
,"keyed-paver":{
  "schema": 1,
  "id": "keyed-paver",
  "name": "Keyed paver",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 10,
      "min": 2,
      "max": 60,
      "label": "Grid step"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "17 * moduleSize",
          "0"
        ],
        [
          "17 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "28 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "28 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "25 * moduleSize"
        ],
        [
          "0",
          "25 * moduleSize"
        ],
        [
          "0",
          "15 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "0",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "17 * moduleSize",
          "0"
        ],
        [
          "17 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "28 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "28 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "25 * moduleSize"
        ],
        [
          "0",
          "25 * moduleSize"
        ],
        [
          "0",
          "15 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "0",
          "10 * moduleSize"
        ]
      ],
      "transform": [
        {
          "rotate": {
            "angle": 180,
            "center": [
              "8.5 * moduleSize",
              "12.5 * moduleSize"
            ]
          }
        },
        {
          "translate": [
            "0",
            "25 * moduleSize"
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "17 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "50 * moduleSize"
    ]
  }
}
,"khatem-star":{
  "schema": 1,
  "id": "khatem-star",
  "name": "Khatem star",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 40, "min": 10, "max": 200, "label": "Edge" },
    "outerRadius": { "expr": "(1 + sqrt(2)) * edge" },
    "innerRadius": { "expr": "outerRadius * cos(45) / cos(22.5)" },
    "edgeProjection": { "expr": "edge / sqrt(2)" }
  },
  "tiles": [
    {
      "polygon": [
        ["outerRadius * cos(0)", "outerRadius * sin(0)"],
        ["innerRadius * cos(22.5)", "innerRadius * sin(22.5)"],
        ["outerRadius * cos(45)", "outerRadius * sin(45)"],
        ["innerRadius * cos(67.5)", "innerRadius * sin(67.5)"],
        ["outerRadius * cos(90)", "outerRadius * sin(90)"],
        ["innerRadius * cos(112.5)", "innerRadius * sin(112.5)"],
        ["outerRadius * cos(135)", "outerRadius * sin(135)"],
        ["innerRadius * cos(157.5)", "innerRadius * sin(157.5)"],
        ["outerRadius * cos(180)", "outerRadius * sin(180)"],
        ["innerRadius * cos(202.5)", "innerRadius * sin(202.5)"],
        ["outerRadius * cos(225)", "outerRadius * sin(225)"],
        ["innerRadius * cos(247.5)", "innerRadius * sin(247.5)"],
        ["outerRadius * cos(270)", "outerRadius * sin(270)"],
        ["innerRadius * cos(292.5)", "innerRadius * sin(292.5)"],
        ["outerRadius * cos(315)", "outerRadius * sin(315)"],
        ["innerRadius * cos(337.5)", "innerRadius * sin(337.5)"]
      ]
    },
    {
      "polygon": [
        ["outerRadius + (0)", "outerRadius + (-outerRadius)"],
        ["outerRadius + (-edgeProjection)", "outerRadius + (-(outerRadius - edgeProjection))"],
        ["outerRadius + (-edgeProjection)", "outerRadius + (-edgeProjection)"],
        ["outerRadius + (-(outerRadius - edgeProjection))", "outerRadius + (-edgeProjection)"],
        ["outerRadius + (-outerRadius)", "outerRadius + (0)"],
        ["outerRadius + (-(outerRadius - edgeProjection))", "outerRadius + (edgeProjection)"],
        ["outerRadius + (-edgeProjection)", "outerRadius + (edgeProjection)"],
        ["outerRadius + (-edgeProjection)", "outerRadius + (outerRadius - edgeProjection)"],
        ["outerRadius + (0)", "outerRadius + (outerRadius)"],
        ["outerRadius + (edgeProjection)", "outerRadius + (outerRadius - edgeProjection)"],
        ["outerRadius + (edgeProjection)", "outerRadius + (edgeProjection)"],
        ["outerRadius + (outerRadius - edgeProjection)", "outerRadius + (edgeProjection)"],
        ["outerRadius + (outerRadius)", "outerRadius + (0)"],
        ["outerRadius + (outerRadius - edgeProjection)", "outerRadius + (-edgeProjection)"],
        ["outerRadius + (edgeProjection)", "outerRadius + (-edgeProjection)"],
        ["outerRadius + (edgeProjection)", "outerRadius + (-(outerRadius - edgeProjection))"]
      ]
    }
  ],
  "lattice": {
    "a": ["2 * outerRadius", "0"],
    "b": ["0", "2 * outerRadius"]
  }
}
,"kisrhombille":{
  "schema": 1,
  "id": "kisrhombille",
  "name": "Kisrhombille",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 50, "min": 10, "max": 500, "label": "Source edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["edge * (3 + rootThree) / 2", "0"],
        ["edge * (3 + rootThree) / 2", "0"],
        ["edge * (3 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (3 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (3 + rootThree) / 2", "edge * (1 + rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "0"],
        ["edge * (3 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (3 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (3 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (3 + rootThree) / 4", "edge * (3 + 3 * rootThree) / 4"],
        ["edge * (3 + rootThree) / 4", "edge * (3 + 3 * rootThree) / 4"]
      ]
    },
    {
      "polygon": [
        ["0", "0"],
        ["edge * (3 + rootThree) / 4", "edge * (3 + 3 * rootThree) / 4"],
        ["edge * (3 + rootThree) / 4", "edge * (3 + 3 * rootThree) / 4"],
        ["0", "edge * (1 + rootThree)"],
        ["0", "edge * (1 + rootThree)"],
        ["0", "edge * (1 + rootThree)"]
      ]
    },
    {
      "polygon": [
        ["0", "0"],
        ["0", "edge * (1 + rootThree)"],
        ["0", "edge * (1 + rootThree)"],
        ["0", "edge * (1 + rootThree)"],
        ["edge * (-3 - rootThree) / 4", "edge * (3 + 3 * rootThree) / 4"],
        ["edge * (-3 - rootThree) / 4", "edge * (3 + 3 * rootThree) / 4"]
      ]
    },
    {
      "polygon": [
        ["edge * (-3 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["0", "0"],
        ["edge * (-3 - rootThree) / 4", "edge * (3 + 3 * rootThree) / 4"],
        ["edge * (-3 - rootThree) / 4", "edge * (3 + 3 * rootThree) / 4"],
        ["edge * (-3 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2", "edge * (1 + rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-3 - rootThree) / 2", "0"],
        ["edge * (-3 - rootThree) / 2", "0"],
        ["0", "0"],
        ["edge * (-3 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2", "edge * (1 + rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-3 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["0", "0"],
        ["edge * (-3 - rootThree) / 2", "0"],
        ["edge * (-3 - rootThree) / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (-3 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-3 - rootThree) / 4", "edge * (-3 - 3 * rootThree) / 4"],
        ["edge * (-3 - rootThree) / 4", "edge * (-3 - 3 * rootThree) / 4"],
        ["0", "0"],
        ["edge * (-3 - rootThree) / 2", "edge * (-1 - rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-3 - rootThree) / 4", "edge * (-3 - 3 * rootThree) / 4"],
        ["edge * (-3 - rootThree) / 4", "edge * (-3 - 3 * rootThree) / 4"],
        ["0", "edge * (-1 - rootThree)"],
        ["0", "edge * (-1 - rootThree)"],
        ["0", "edge * (-1 - rootThree)"],
        ["0", "0"]
      ]
    },
    {
      "polygon": [
        ["0", "edge * (-1 - rootThree)"],
        ["0", "edge * (-1 - rootThree)"],
        ["0", "edge * (-1 - rootThree)"],
        ["edge * (3 + rootThree) / 4", "edge * (-3 - 3 * rootThree) / 4"],
        ["edge * (3 + rootThree) / 4", "edge * (-3 - 3 * rootThree) / 4"],
        ["0", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (3 + rootThree) / 4", "edge * (-3 - 3 * rootThree) / 4"],
        ["edge * (3 + rootThree) / 4", "edge * (-3 - 3 * rootThree) / 4"],
        ["edge * (3 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["0", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (3 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (3 + rootThree) / 2", "0"],
        ["edge * (3 + rootThree) / 2", "0"],
        ["0", "0"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (3 + rootThree)", "0"], "b": ["edge * (3 + rootThree) / 2", "edge * (3 + 3 * rootThree) / 2"] }
}
,"kite":{
  "schema": 1,
  "id": "kite",
  "name": "Kite",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 152.4, "min": 40, "max": 400, "label": "Kite width" },
    "height": { "value": 177.8, "min": 40, "max": 500, "label": "Kite height" },
    "widestFraction": { "expr": "0.4" },
    "widestY": { "expr": "widestFraction * height" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["width / 2", "widestY"],
        ["0", "height"],
        ["-width / 2", "widestY"]
      ]
    },
    {
      "polygon": [
        ["width / 2", "widestY"],
        ["0", "0"],
        ["width / 2", "widestY - height"],
        ["width", "0"]
      ]
    }
  ],
  "lattice": {
    "a": ["width", "0"],
    "b": ["0", "height"]
  }
}
,"l-tromino-paver":{
  "schema": 1,
  "id": "l-tromino-paver",
  "name": "L tromino paver",
  "category": "stone",
  "parameters": {
    "overallSize": { "value": 250, "min": 100, "max": 600, "label": "Overall size" },
    "squareSide": { "expr": "overallSize / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["2 * squareSide", "0"],
        ["2 * squareSide", "squareSide"],
        ["squareSide", "squareSide"],
        ["squareSide", "2 * squareSide"],
        ["0", "2 * squareSide"]
      ]
    }
  ],
  "lattice": {
    "a": ["3 * squareSide", "0"],
    "b": ["squareSide", "squareSide"]
  }
}
,"ladder-stripe":{
  "schema": 1,
  "id": "ladder-stripe",
  "name": "Ladder stripe",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 150, "min": 20, "max": 800, "label": "Stripe width" },
    "length": { "value": 450, "min": 60, "max": 2000, "label": "Stripe length" },
    "rungs": { "expr": "8" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "length"] },
    { "repeat": { "index": "k", "count": "rungs" }, "rect": ["width", "k * length / rungs", "2 * width", "(k + 1) * length / rungs"] }
  ],
  "lattice": { "a": ["2 * width", "0"], "b": ["0", "length"] }
}
,"lantern-weave":{
  "schema": 1,
  "id": "lantern-weave",
  "name": "Lantern weave",
  "category": "ceramic",
  "parameters": {
    "length": { "value": 205, "min": 40, "max": 2000, "label": "Lantern width" },
    "width": { "value": 60, "min": 10, "max": 600, "label": "Link width" },
    "rise": { "expr": "length * 0.37561" },
    "straight": { "expr": "width / 2" },
    "cellHeight": { "expr": "2 * rise + straight" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "rise"], ["length / 2", "0"], ["length", "rise"], ["length", "rise + straight"],
        ["length / 2", "cellHeight"], ["0", "rise + straight"]
      ]
    },
    { "rect": ["length", "rise", "length + width", "rise + straight"] },
    {
      "polygon": [
        ["length / 2", "0"], ["length / 2 + length + width", "0"], ["length + width", "rise"], ["length", "rise"]
      ]
    },
    {
      "polygon": [
        ["length / 2", "cellHeight"], ["length", "rise + straight"], ["length + width", "rise + straight"], ["length / 2 + length + width", "cellHeight"]
      ]
    }
  ],
  "lattice": { "a": ["length + width", "0"], "b": ["0", "cellHeight"] }
}
,"lapped-pantile":{
  "schema": 1,
  "id": "lapped-pantile",
  "name": "Pantile (lapped)",
  "category": "lapped",
  "parameters": {
    "coverWidth": { "value": 300, "min": 150, "max": 500, "label": "Cover width" },
    "gauge": { "value": 345, "min": 150, "max": 600, "label": "Gauge (visible height)" },
    "depth": { "value": 55, "min": 10, "max": 75, "label": "Profile depth" },
    "arcRadius": { "expr": "(coverWidth * coverWidth / 4 + depth * depth) / (4 * depth)" }
  },
  "tiles": [
    { "rect": ["0", "0", "coverWidth", "gauge"], "grain": ["0", "1"] }
  ],
  "lattice": { "a": ["coverWidth", "0"], "b": ["0", "gauge"] },
  "body": {
    "profile": {
      "start": ["0", "0"],
      "section": [
        { "arc": { "center": ["0", "arcRadius"], "from": ["0", "0"], "to": ["coverWidth / 4", "depth / 2"], "clockwise": false } },
        { "arc": { "center": ["coverWidth / 2", "depth - arcRadius"], "from": ["coverWidth / 4", "depth / 2"], "to": ["3 * coverWidth / 4", "depth / 2"], "clockwise": true } },
        { "arc": { "center": ["coverWidth", "arcRadius"], "from": ["3 * coverWidth / 4", "depth / 2"], "to": ["coverWidth", "0"], "clockwise": false } }
      ]
    }
  },
  "lap": {"rows": 75}
}
,"leaf-mosaic":{
  "schema": 1,
  "id": "leaf-mosaic",
  "name": "Leaf mosaic",
  "category": "ceramic",
  "coverage": "partial",
  "parameters": {
    "length": { "value": 60, "min": 20, "max": 200, "label": "Length" },
    "riseRatio": { "expr": "0.5" },
    "gap": { "value": 2, "min": 0.5, "max": 10, "label": "Gap" },
    "arcRise": { "expr": "riseRatio * length / 2" },
    "arcRadius": { "expr": "(length * length / 4 + arcRise * arcRise) / (2 * arcRise)" },
    "columnStep": { "expr": "length + gap" },
    "rowStep": { "expr": "2 * (arcRise - arcRadius + sqrt((arcRadius + gap / 2) ^ 2 - columnStep * columnStep / 16))" }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": { "center": ["length / 2", "arcRise - arcRadius"], "from": ["length", "0"], "to": ["0", "0"], "clockwise": false }
        },
        {
          "arc": { "center": ["length / 2", "arcRadius - arcRise"], "from": ["0", "0"], "to": ["length", "0"], "clockwise": false }
        }
      ],
      "grain": ["1", "0"]
    }
  ],
  "lattice": {
    "a": ["columnStep", "0"],
    "b": ["columnStep / 2", "rowStep"]
  }
}
,"leaf-paver":{
  "schema": 1,
  "id": "leaf-paver",
  "name": "Leaf paver",
  "category": "stone",
  "parameters": {
    "width": {
      "value": 400,
      "min": 100,
      "max": 1500,
      "label": "Width"
    },
    "length": {
      "expr": "1.368249 * width"
    },
    "rise": {
      "expr": "length / 2"
    },
    "bow": {
      "expr": "0.810725"
    },
    "centreOneX": {
      "expr": "width / 4 + bow * rise / 2"
    },
    "centreOneY": {
      "expr": "3 * rise / 4 + bow * width / 2"
    },
    "centreTwoX": {
      "expr": "3 * width / 4 - bow * rise / 2"
    },
    "centreTwoY": {
      "expr": "rise / 4 - bow * width / 2"
    },
    "midX": {
      "expr": "width / 2"
    },
    "midY": {
      "expr": "rise / 2"
    }
  },
  "tiles": [
    {
      "start": [
        "0",
        "rise + length"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0",
              "rise"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "centreOneX",
              "centreOneY"
            ],
            "from": [
              "0",
              "rise"
            ],
            "to": [
              "midX",
              "midY"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "centreTwoX",
              "centreTwoY"
            ],
            "from": [
              "midX",
              "midY"
            ],
            "to": [
              "width",
              "0"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "width",
              "length"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "centreTwoX",
              "centreTwoY + length"
            ],
            "from": [
              "width",
              "length"
            ],
            "to": [
              "midX",
              "midY + length"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "centreOneX",
              "centreOneY + length"
            ],
            "from": [
              "midX",
              "midY + length"
            ],
            "to": [
              "0",
              "rise + length"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "2 * width",
        "rise + length"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "2 * width - centreOneX",
              "centreOneY + length"
            ],
            "from": [
              "2 * width",
              "rise + length"
            ],
            "to": [
              "2 * width - midX",
              "midY + length"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "2 * width - centreTwoX",
              "centreTwoY + length"
            ],
            "from": [
              "2 * width - midX",
              "midY + length"
            ],
            "to": [
              "width",
              "length"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "width",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "2 * width - centreTwoX",
              "centreTwoY"
            ],
            "from": [
              "width",
              "0"
            ],
            "to": [
              "2 * width - midX",
              "midY"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "2 * width - centreOneX",
              "centreOneY"
            ],
            "from": [
              "2 * width - midX",
              "midY"
            ],
            "to": [
              "2 * width",
              "rise"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "2 * width",
              "rise + length"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * width",
      "0"
    ],
    "b": [
      "0",
      "length"
    ]
  }
},"leaning-brick-band":{
 "schema": 1,
 "id": "leaning-brick-band",
 "name": "Leaning brick band",
 "category": "stone",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 961.0,
   "min": 96.1,
   "max": 5766.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.999736 * overallSize",
     "0.095166 * overallSize"
    ],
    [
     "0.999736 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.944912 * overallSize",
     "0.247833 * overallSize"
    ],
    [
     "0.944912 * overallSize",
     "0.096812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.847471 * overallSize",
     "0.099736 * overallSize"
    ],
    [
     "0.944391 * overallSize",
     "0.096828 * overallSize"
    ],
    [
     "0.944391 * overallSize",
     "0.247819 * overallSize"
    ],
    [
     "0.847471 * overallSize",
     "0.244893 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.758794 * overallSize",
     "0.102384 * overallSize"
    ],
    [
     "0.846943 * overallSize",
     "0.099736 * overallSize"
    ],
    [
     "0.846943 * overallSize",
     "0.244877 * overallSize"
    ],
    [
     "0.758794 * overallSize",
     "0.242244 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.667815 * overallSize",
     "0.105113 * overallSize"
    ],
    [
     "0.758274 * overallSize",
     "0.102397 * overallSize"
    ],
    [
     "0.758274 * overallSize",
     "0.242228 * overallSize"
    ],
    [
     "0.667806 * overallSize",
     "0.239514 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.580391 * overallSize",
     "0.107740 * overallSize"
    ],
    [
     "0.667286 * overallSize",
     "0.105131 * overallSize"
    ],
    [
     "0.667286 * overallSize",
     "0.239498 * overallSize"
    ],
    [
     "0.580391 * overallSize",
     "0.236893 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.501207 * overallSize",
     "0.110107 * overallSize"
    ],
    [
     "0.579871 * overallSize",
     "0.107745 * overallSize"
    ],
    [
     "0.579871 * overallSize",
     "0.236886 * overallSize"
    ],
    [
     "0.501207 * overallSize",
     "0.234522 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.425297 * overallSize",
     "0.112387 * overallSize"
    ],
    [
     "0.500684 * overallSize",
     "0.110123 * overallSize"
    ],
    [
     "0.500684 * overallSize",
     "0.234506 * overallSize"
    ],
    [
     "0.425297 * overallSize",
     "0.232245 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.424773 * overallSize",
     "0.112402 * overallSize"
    ],
    [
     "0.424773 * overallSize",
     "0.232241 * overallSize"
    ],
    [
     "0.348678 * overallSize",
     "0.229956 * overallSize"
    ],
    [
     "0.348678 * overallSize",
     "0.114687 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.348155 * overallSize",
     "0.114690 * overallSize"
    ],
    [
     "0.348155 * overallSize",
     "0.229939 * overallSize"
    ],
    [
     "0.272140 * overallSize",
     "0.227656 * overallSize"
    ],
    [
     "0.272140 * overallSize",
     "0.116972 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.271620 * overallSize",
     "0.116995 * overallSize"
    ],
    [
     "0.271620 * overallSize",
     "0.227646 * overallSize"
    ],
    [
     "0.196764 * overallSize",
     "0.225398 * overallSize"
    ],
    [
     "0.196764 * overallSize",
     "0.119243 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.196240 * overallSize",
     "0.119256 * overallSize"
    ],
    [
     "0.196240 * overallSize",
     "0.225390 * overallSize"
    ],
    [
     "0.121675 * overallSize",
     "0.223150 * overallSize"
    ],
    [
     "0.121675 * overallSize",
     "0.121495 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.041290 * overallSize",
     "0.123894 * overallSize"
    ],
    [
     "0.121155 * overallSize",
     "0.121496 * overallSize"
    ],
    [
     "0.121155 * overallSize",
     "0.223134 * overallSize"
    ],
    [
     "0.041290 * overallSize",
     "0.220736 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.040762 * overallSize",
     "0.123914 * overallSize"
    ],
    [
     "0.040762 * overallSize",
     "0.220725 * overallSize"
    ],
    [
     "0.000260 * overallSize",
     "0.219508 * overallSize"
    ],
    [
     "0.000260 * overallSize",
     "0.125131 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.081784 * overallSize",
     "0.222473 * overallSize"
    ],
    [
     "0.081784 * overallSize",
     "0.371893 * overallSize"
    ],
    [
     "0.000260 * overallSize",
     "0.374342 * overallSize"
    ],
    [
     "0.000250 * overallSize",
     "0.220028 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.160520 * overallSize",
     "0.369538 * overallSize"
    ],
    [
     "0.082310 * overallSize",
     "0.371886 * overallSize"
    ],
    [
     "0.082310 * overallSize",
     "0.222488 * overallSize"
    ],
    [
     "0.160527 * overallSize",
     "0.224838 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.161051 * overallSize",
     "0.224853 * overallSize"
    ],
    [
     "0.231955 * overallSize",
     "0.226975 * overallSize"
    ],
    [
     "0.231955 * overallSize",
     "0.367395 * overallSize"
    ],
    [
     "0.161041 * overallSize",
     "0.369524 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.311276 * overallSize",
     "0.229352 * overallSize"
    ],
    [
     "0.311276 * overallSize",
     "0.365014 * overallSize"
    ],
    [
     "0.232477 * overallSize",
     "0.367380 * overallSize"
    ],
    [
     "0.232476 * overallSize",
     "0.226991 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.385045 * overallSize",
     "0.362798 * overallSize"
    ],
    [
     "0.311800 * overallSize",
     "0.364997 * overallSize"
    ],
    [
     "0.311800 * overallSize",
     "0.229368 * overallSize"
    ],
    [
     "0.385045 * overallSize",
     "0.231568 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.385567 * overallSize",
     "0.231584 * overallSize"
    ],
    [
     "0.464506 * overallSize",
     "0.233943 * overallSize"
    ],
    [
     "0.464506 * overallSize",
     "0.360421 * overallSize"
    ],
    [
     "0.385567 * overallSize",
     "0.362791 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.536856 * overallSize",
     "0.236113 * overallSize"
    ],
    [
     "0.536856 * overallSize",
     "0.358251 * overallSize"
    ],
    [
     "0.465026 * overallSize",
     "0.360408 * overallSize"
    ],
    [
     "0.465026 * overallSize",
     "0.233956 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.537388 * overallSize",
     "0.236131 * overallSize"
    ],
    [
     "0.622862 * overallSize",
     "0.238689 * overallSize"
    ],
    [
     "0.622872 * overallSize",
     "0.355666 * overallSize"
    ],
    [
     "0.537378 * overallSize",
     "0.358233 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.623382 * overallSize",
     "0.238700 * overallSize"
    ],
    [
     "0.711696 * overallSize",
     "0.241352 * overallSize"
    ],
    [
     "0.711698 * overallSize",
     "0.353012 * overallSize"
    ],
    [
     "0.623392 * overallSize",
     "0.355663 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.804839 * overallSize",
     "0.244146 * overallSize"
    ],
    [
     "0.804839 * overallSize",
     "0.350218 * overallSize"
    ],
    [
     "0.712227 * overallSize",
     "0.352999 * overallSize"
    ],
    [
     "0.712216 * overallSize",
     "0.241366 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.889057 * overallSize",
     "0.246662 * overallSize"
    ],
    [
     "0.889057 * overallSize",
     "0.347687 * overallSize"
    ],
    [
     "0.805369 * overallSize",
     "0.350200 * overallSize"
    ],
    [
     "0.805369 * overallSize",
     "0.244149 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.000258 * overallSize",
     "0.249988 * overallSize"
    ],
    [
     "-0.000258 * overallSize",
     "0.344374 * overallSize"
    ],
    [
     "-0.110427 * overallSize",
     "0.347682 * overallSize"
    ],
    [
     "-0.110427 * overallSize",
     "0.246680 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "961 / 961 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "240 / 961 * overallSize"
  ]
 }
},"leaning-panel-grid":{
  "schema": 1,
  "id": "leaning-panel-grid",
  "name": "Leaning panel grid",
  "category": "stone",
  "parameters": {
    "overallSize": {
      "value": 400,
      "min": 80,
      "max": 1600,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "overallSize",
          "overallSize"
        ],
        [
          "2 * overallSize",
          "overallSize"
        ],
        [
          "1.8 * overallSize",
          "1.828571428571 * overallSize"
        ],
        [
          "overallSize",
          "2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.8 * overallSize",
          "1.828571428571 * overallSize"
        ],
        [
          "0",
          "2 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "0.8 * overallSize",
          "0.828571428571 * overallSize"
        ],
        [
          "0",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0"
        ],
        [
          "2 * overallSize",
          "0"
        ],
        [
          "1.8 * overallSize",
          "0.828571428571 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * overallSize",
      "0"
    ],
    "b": [
      "0",
      "2 * overallSize"
    ]
  },
  "coverage": "partial"
}
,"leaning-split-plank":{
  "schema": 1,
  "id": "leaning-split-plank",
  "name": "Leaning split plank",
  "category": "wood",
  "parameters": {
    "width": { "value": 200, "min": 30, "max": 800, "label": "Plank width" },
    "length": { "value": 600, "min": 60, "max": 2400, "label": "Plank length" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["width / 4", "0"], ["3 * width / 4", "length"], ["0", "length"]] },
    { "polygon": [["width / 4", "0"], ["width", "0"], ["width", "length"], ["3 * width / 4", "length"]] }
  ],
  "lattice": { "a": ["width", "0"], "b": ["0", "length"] }
}
,"leaning-triangle-band":{
  "schema": 1,
  "id": "leaning-triangle-band",
  "name": "Leaning triangle band",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 50,
      "min": 10,
      "max": 200,
      "label": "Module size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ],
        [
          "0",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "15 * moduleSize",
          "0"
        ],
        [
          "16 * moduleSize",
          "0"
        ],
        [
          "16 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "12 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "0"
        ],
        [
          "15 * moduleSize",
          "0"
        ],
        [
          "13 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "12 * moduleSize",
          "0"
        ],
        [
          "12 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "16 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "8 * moduleSize"
    ]
  }
}
,"linear-interlock-panel":{
  "schema": 1,
  "id": "linear-interlock-panel",
  "name": "Linear interlock panel",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 5,
      "min": 1,
      "max": 30,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "39 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "0",
          "22 * moduleSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "100 * moduleSize",
          "0"
        ],
        [
          "100 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "61 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "61 * moduleSize",
          "66 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "66 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "100 * moduleSize",
        "0",
        "122 * moduleSize",
        "22 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "22 * moduleSize",
        "39 * moduleSize",
        "66 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "61 * moduleSize",
          "66 * moduleSize"
        ],
        [
          "100 * moduleSize",
          "66 * moduleSize"
        ],
        [
          "100 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "122 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "122 * moduleSize",
          "66 * moduleSize"
        ],
        [
          "161 * moduleSize",
          "66 * moduleSize"
        ],
        [
          "161 * moduleSize",
          "110 * moduleSize"
        ],
        [
          "61 * moduleSize",
          "110 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "61 * moduleSize",
        "22 * moduleSize",
        "100 * moduleSize",
        "66 * moduleSize"
      ]
    },
    {
      "rect": [
        "39 * moduleSize",
        "66 * moduleSize",
        "61 * moduleSize",
        "110 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "110 * moduleSize",
        "39 * moduleSize",
        "132 * moduleSize"
      ]
    },
    {
      "rect": [
        "39 * moduleSize",
        "110 * moduleSize",
        "61 * moduleSize",
        "132 * moduleSize"
      ]
    },
    {
      "rect": [
        "61 * moduleSize",
        "110 * moduleSize",
        "100 * moduleSize",
        "132 * moduleSize"
      ]
    },
    {
      "rect": [
        "100 * moduleSize",
        "110 * moduleSize",
        "122 * moduleSize",
        "172 * moduleSize"
      ]
    },
    {
      "rect": [
        "39 * moduleSize",
        "132 * moduleSize",
        "61 * moduleSize",
        "234 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "61 * moduleSize",
          "132 * moduleSize"
        ],
        [
          "100 * moduleSize",
          "132 * moduleSize"
        ],
        [
          "100 * moduleSize",
          "172 * moduleSize"
        ],
        [
          "122 * moduleSize",
          "172 * moduleSize"
        ],
        [
          "122 * moduleSize",
          "132 * moduleSize"
        ],
        [
          "161 * moduleSize",
          "132 * moduleSize"
        ],
        [
          "161 * moduleSize",
          "196 * moduleSize"
        ],
        [
          "61 * moduleSize",
          "196 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "0",
        "196 * moduleSize",
        "39 * moduleSize",
        "234 * moduleSize"
      ]
    },
    {
      "rect": [
        "61 * moduleSize",
        "196 * moduleSize",
        "100 * moduleSize",
        "234 * moduleSize"
      ]
    },
    {
      "rect": [
        "100 * moduleSize",
        "196 * moduleSize",
        "122 * moduleSize",
        "298 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "234 * moduleSize"
        ],
        [
          "100 * moduleSize",
          "234 * moduleSize"
        ],
        [
          "100 * moduleSize",
          "298 * moduleSize"
        ],
        [
          "61 * moduleSize",
          "298 * moduleSize"
        ],
        [
          "61 * moduleSize",
          "274 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "274 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "298 * moduleSize"
        ],
        [
          "0",
          "298 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "39 * moduleSize",
        "274 * moduleSize",
        "61 * moduleSize",
        "342 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "298 * moduleSize",
        "39 * moduleSize",
        "342 * moduleSize"
      ]
    },
    {
      "rect": [
        "61 * moduleSize",
        "298 * moduleSize",
        "100 * moduleSize",
        "342 * moduleSize"
      ]
    },
    {
      "rect": [
        "100 * moduleSize",
        "298 * moduleSize",
        "122 * moduleSize",
        "342 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "122 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-342 * moduleSize"
    ]
  }
},"linear-metal-ceiling":{
  "schema": 1,
  "id": "linear-metal-ceiling",
  "name": "Linear metal ceiling",
  "category": "metal",
  "coverage": "partial",
  "parameters": {
    "coverWidth": { "value": 84, "min": 20, "max": 400, "label": "Strip face width" },
    "gap": { "value": 16, "min": 2, "max": 100, "label": "Open joint" },
    "length": { "value": 6000, "min": 500, "max": 8000, "label": "Strip length" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "coverWidth"] }
  ],
  "lattice": {
    "a": ["length", "0"],
    "b": ["0", "coverWidth + gap"]
  }
}
,"locked-square":{
  "schema": 1,
  "id": "locked-square",
  "name": "Locked square",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 100, "min": 20, "max": 600, "label": "Module side" }
  },
  "tiles": [
    { "polygon": [["0", "moduleSize"], ["moduleSize", "moduleSize"], ["moduleSize", "2 * moduleSize"],
                  ["3 * moduleSize", "2 * moduleSize"], ["3 * moduleSize", "3 * moduleSize"], ["0", "3 * moduleSize"]] },
    { "polygon": [["0", "0"], ["3 * moduleSize", "0"], ["3 * moduleSize", "2 * moduleSize"],
                  ["2 * moduleSize", "2 * moduleSize"], ["2 * moduleSize", "moduleSize"], ["0", "moduleSize"]] },
    { "rect": ["moduleSize", "moduleSize", "2 * moduleSize", "2 * moduleSize"] }
  ],
  "lattice": { "a": ["3 * moduleSize", "0"], "b": ["0", "3 * moduleSize"] }
}
,"long-fish-scale":{
  "schema": 1,
  "id": "long-fish-scale",
  "name": "Long fish scale",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 160,
      "min": 30,
      "max": 200,
      "label": "Tile width"
    },
    "length": {
      "value": 420,
      "min": 120,
      "max": 2000,
      "label": "Tile length"
    },
    "radius": {
      "expr": "width / 2"
    }
  },
  "tiles": [
    {
      "start": [
        "0",
        "radius"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "0",
              "radius"
            ],
            "to": [
              "radius",
              "0"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "width",
              "0"
            ],
            "from": [
              "radius",
              "0"
            ],
            "to": [
              "width",
              "radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "width",
              "length"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "radius",
              "length"
            ],
            "from": [
              "width",
              "length"
            ],
            "to": [
              "0",
              "length"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "radius"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "width",
      "0"
    ],
    "b": [
      "radius",
      "length"
    ]
  }
}
,"long-hexagon-and-dot":{
  "schema": 1,
  "id": "long-hexagon-and-dot",
  "name": "Long hexagon and dot",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 10,
      "min": 2,
      "max": 60,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "11 * moduleSize",
          "44 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "38 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "27 * moduleSize",
          "38 * moduleSize"
        ],
        [
          "27 * moduleSize",
          "44 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "76 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "76 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "38 * moduleSize",
        "11 * moduleSize",
        "44 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "6 * moduleSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "5 * moduleSize",
          "-32 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "-32 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "0"
        ],
        [
          "16 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "38 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "38 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "16 * moduleSize",
        "0",
        "22 * moduleSize",
        "6 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "22 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "76 * moduleSize"
    ]
  }
},"mansion-weave":{
  "schema": 1,
  "id": "mansion-weave",
  "name": "Mansion weave",
  "category": "wood",
  "parameters": {
    "moduleSize": { "value": 50, "min": 10, "max": 300, "label": "Square module" }
  },
  "tiles": [
    { "polygon": [["1 * moduleSize", "3 * moduleSize"], ["3 * moduleSize", "1 * moduleSize"], ["5 * moduleSize", "3 * moduleSize"], ["5 * moduleSize", "5 * moduleSize"], ["3 * moduleSize", "7 * moduleSize"], ["1 * moduleSize", "5 * moduleSize"]] },
    { "polygon": [["4 * moduleSize", "8 * moduleSize"], ["6 * moduleSize", "6 * moduleSize"], ["8 * moduleSize", "8 * moduleSize"], ["8 * moduleSize", "10 * moduleSize"], ["6 * moduleSize", "12 * moduleSize"], ["4 * moduleSize", "10 * moduleSize"]] },
    { "polygon": [["7 * moduleSize", "3 * moduleSize"], ["7 * moduleSize", "5 * moduleSize"], ["3 * moduleSize", "1 * moduleSize"], ["4 * moduleSize", "0"]] },
    { "polygon": [["5 * moduleSize", "3 * moduleSize"], ["9 * moduleSize", "7 * moduleSize"], ["8 * moduleSize", "8 * moduleSize"], ["5 * moduleSize", "5 * moduleSize"]] },
    { "polygon": [["5 * moduleSize", "5 * moduleSize"], ["6 * moduleSize", "6 * moduleSize"], ["2 * moduleSize", "10 * moduleSize"], ["2 * moduleSize", "8 * moduleSize"]] },
    { "polygon": [["4 * moduleSize", "8 * moduleSize"], ["4 * moduleSize", "10 * moduleSize"], ["1 * moduleSize", "13 * moduleSize"], ["0", "12 * moduleSize"]] }
  ],
  "lattice": { "a": ["6 * moduleSize", "0"], "b": ["0", "10 * moduleSize"] }
}
,"maze-mosaic-panel":{
 "schema": 1,
 "id": "maze-mosaic-panel",
 "name": "Maze mosaic panel",
 "category": "ceramic",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 480.0,
   "min": 48.0,
   "max": 2880.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.250521 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.082812 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.082812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.333854 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.082812 * overallSize"
    ],
    [
     "0.333854 * overallSize",
     "0.082812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.417187 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.082812 * overallSize"
    ],
    [
     "0.417187 * overallSize",
     "0.082812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.582812 * overallSize",
     "0.082812 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.082812 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.582812 * overallSize",
     "0.000521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.583854 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.666146 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.666146 * overallSize",
     "0.082812 * overallSize"
    ],
    [
     "0.583854 * overallSize",
     "0.082812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.749479 * overallSize",
     "0.000521 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.082812 * overallSize"
    ],
    [
     "0.667188 * overallSize",
     "0.082812 * overallSize"
    ],
    [
     "0.667188 * overallSize",
     "0.000521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.242004 * overallSize",
     "0.000552 * overallSize"
    ],
    [
     "-0.000496 * overallSize",
     "0.000552 * overallSize"
    ],
    [
     "-0.000500 * overallSize",
     "0.242054 * overallSize"
    ],
    [
     "-0.007997 * overallSize",
     "0.185162 * overallSize"
    ],
    [
     "-0.032992 * overallSize",
     "0.124817 * overallSize"
    ],
    [
     "-0.072793 * overallSize",
     "0.072916 * overallSize"
    ],
    [
     "-0.124710 * overallSize",
     "0.033059 * overallSize"
    ],
    [
     "-0.185224 * overallSize",
     "0.008004 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.008964 * overallSize",
     "0.185486 * overallSize"
    ],
    [
     "0.033890 * overallSize",
     "0.125311 * overallSize"
    ],
    [
     "0.073540 * overallSize",
     "0.073636 * overallSize"
    ],
    [
     "0.125215 * overallSize",
     "0.033986 * overallSize"
    ],
    [
     "0.185390 * overallSize",
     "0.009060 * overallSize"
    ],
    [
     "0.249446 * overallSize",
     "0.000627 * overallSize"
    ],
    [
     "0.249446 * overallSize",
     "0.082895 * overallSize"
    ],
    [
     "0.206700 * overallSize",
     "0.088530 * overallSize"
    ],
    [
     "0.166467 * overallSize",
     "0.105194 * overallSize"
    ],
    [
     "0.131756 * overallSize",
     "0.131821 * overallSize"
    ],
    [
     "0.105177 * overallSize",
     "0.166484 * overallSize"
    ],
    [
     "0.088514 * overallSize",
     "0.206716 * overallSize"
    ],
    [
     "0.082877 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.000593 * overallSize",
     "0.249479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.250521 * overallSize",
     "0.166146 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.083854 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.083854 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.166146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.416146 * overallSize",
     "0.166146 * overallSize"
    ],
    [
     "0.333854 * overallSize",
     "0.166146 * overallSize"
    ],
    [
     "0.333854 * overallSize",
     "0.083854 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.083854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.417187 * overallSize",
     "0.083854 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.083854 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.166146 * overallSize"
    ],
    [
     "0.417187 * overallSize",
     "0.166146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.582812 * overallSize",
     "0.083854 * overallSize"
    ],
    [
     "0.582812 * overallSize",
     "0.166146 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.166146 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.083854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.583854 * overallSize",
     "0.166146 * overallSize"
    ],
    [
     "0.583854 * overallSize",
     "0.083854 * overallSize"
    ],
    [
     "0.666146 * overallSize",
     "0.083854 * overallSize"
    ],
    [
     "0.666146 * overallSize",
     "0.166146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.749479 * overallSize",
     "0.083854 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.166146 * overallSize"
    ],
    [
     "0.667188 * overallSize",
     "0.166146 * overallSize"
    ],
    [
     "0.667188 * overallSize",
     "0.083854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.083927 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.089534 * overallSize",
     "0.206992 * overallSize"
    ],
    [
     "0.106130 * overallSize",
     "0.166929 * overallSize"
    ],
    [
     "0.132528 * overallSize",
     "0.132528 * overallSize"
    ],
    [
     "0.166929 * overallSize",
     "0.106130 * overallSize"
    ],
    [
     "0.206992 * overallSize",
     "0.089535 * overallSize"
    ],
    [
     "0.249463 * overallSize",
     "0.083944 * overallSize"
    ],
    [
     "0.249463 * overallSize",
     "0.166212 * overallSize"
    ],
    [
     "0.228279 * overallSize",
     "0.169010 * overallSize"
    ],
    [
     "0.208142 * overallSize",
     "0.177348 * overallSize"
    ],
    [
     "0.190685 * overallSize",
     "0.190734 * overallSize"
    ],
    [
     "0.177348 * overallSize",
     "0.208142 * overallSize"
    ],
    [
     "0.169010 * overallSize",
     "0.228279 * overallSize"
    ],
    [
     "0.166210 * overallSize",
     "0.249479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.771721 * overallSize",
     "0.169010 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.166210 * overallSize"
    ],
    [
     "0.750537 * overallSize",
     "0.083944 * overallSize"
    ],
    [
     "0.793008 * overallSize",
     "0.089535 * overallSize"
    ],
    [
     "0.833071 * overallSize",
     "0.106130 * overallSize"
    ],
    [
     "0.867472 * overallSize",
     "0.132528 * overallSize"
    ],
    [
     "0.893870 * overallSize",
     "0.166929 * overallSize"
    ],
    [
     "0.910465 * overallSize",
     "0.206992 * overallSize"
    ],
    [
     "0.916056 * overallSize",
     "0.249463 * overallSize"
    ],
    [
     "0.833788 * overallSize",
     "0.249463 * overallSize"
    ],
    [
     "0.830990 * overallSize",
     "0.228279 * overallSize"
    ],
    [
     "0.822610 * overallSize",
     "0.208062 * overallSize"
    ],
    [
     "0.809266 * overallSize",
     "0.190685 * overallSize"
    ],
    [
     "0.791858 * overallSize",
     "0.177348 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.322593 * overallSize",
     "0.208045 * overallSize"
    ],
    [
     "0.309232 * overallSize",
     "0.190656 * overallSize"
    ],
    [
     "0.291858 * overallSize",
     "0.177348 * overallSize"
    ],
    [
     "0.271721 * overallSize",
     "0.169010 * overallSize"
    ],
    [
     "0.257945 * overallSize",
     "0.167187 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.167187 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.242095 * overallSize"
    ],
    [
     "0.330958 * overallSize",
     "0.228219 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.333854 * overallSize",
     "0.167187 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.167187 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.333854 * overallSize",
     "0.249479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.499479 * overallSize",
     "0.167187 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.417187 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.417187 * overallSize",
     "0.167187 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.582812 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.167187 * overallSize"
    ],
    [
     "0.582812 * overallSize",
     "0.167187 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.666144 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.583854 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.583854 * overallSize",
     "0.167187 * overallSize"
    ],
    [
     "0.666129 * overallSize",
     "0.167187 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.742038 * overallSize",
     "0.167204 * overallSize"
    ],
    [
     "0.728262 * overallSize",
     "0.169026 * overallSize"
    ],
    [
     "0.708126 * overallSize",
     "0.177365 * overallSize"
    ],
    [
     "0.690685 * overallSize",
     "0.190734 * overallSize"
    ],
    [
     "0.677348 * overallSize",
     "0.208142 * overallSize"
    ],
    [
     "0.669010 * overallSize",
     "0.228279 * overallSize"
    ],
    [
     "0.667186 * overallSize",
     "0.242067 * overallSize"
    ],
    [
     "0.667171 * overallSize",
     "0.167204 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.167261 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.170030 * overallSize",
     "0.228555 * overallSize"
    ],
    [
     "0.178301 * overallSize",
     "0.208588 * overallSize"
    ],
    [
     "0.191457 * overallSize",
     "0.191440 * overallSize"
    ],
    [
     "0.208604 * overallSize",
     "0.178284 * overallSize"
    ],
    [
     "0.228571 * overallSize",
     "0.170014 * overallSize"
    ],
    [
     "0.249479 * overallSize",
     "0.167261 * overallSize"
    ],
    [
     "0.249479 * overallSize",
     "0.249479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.250537 * overallSize",
     "0.167277 * overallSize"
    ],
    [
     "0.271445 * overallSize",
     "0.170030 * overallSize"
    ],
    [
     "0.291412 * overallSize",
     "0.178301 * overallSize"
    ],
    [
     "0.308550 * overallSize",
     "0.191450 * overallSize"
    ],
    [
     "0.321699 * overallSize",
     "0.208588 * overallSize"
    ],
    [
     "0.329970 * overallSize",
     "0.228555 * overallSize"
    ],
    [
     "0.332739 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.249479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.749479 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.667261 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.670030 * overallSize",
     "0.228555 * overallSize"
    ],
    [
     "0.678301 * overallSize",
     "0.208588 * overallSize"
    ],
    [
     "0.691450 * overallSize",
     "0.191450 * overallSize"
    ],
    [
     "0.708588 * overallSize",
     "0.178301 * overallSize"
    ],
    [
     "0.728555 * overallSize",
     "0.170030 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.167275 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.750537 * overallSize",
     "0.167277 * overallSize"
    ],
    [
     "0.771445 * overallSize",
     "0.170030 * overallSize"
    ],
    [
     "0.791412 * overallSize",
     "0.178301 * overallSize"
    ],
    [
     "0.808560 * overallSize",
     "0.191457 * overallSize"
    ],
    [
     "0.821716 * overallSize",
     "0.208604 * overallSize"
    ],
    [
     "0.829986 * overallSize",
     "0.228571 * overallSize"
    ],
    [
     "0.832739 * overallSize",
     "0.249479 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.249479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.082812 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.332813 * overallSize"
    ],
    [
     "0.000521 * overallSize",
     "0.332813 * overallSize"
    ],
    [
     "0.000521 * overallSize",
     "0.250521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.083854 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.166146 * overallSize",
     "0.250522 * overallSize"
    ],
    [
     "0.166146 * overallSize",
     "0.332813 * overallSize"
    ],
    [
     "0.083854 * overallSize",
     "0.332813 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.249463 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.249477 * overallSize",
     "0.332725 * overallSize"
    ],
    [
     "0.228569 * overallSize",
     "0.329974 * overallSize"
    ],
    [
     "0.208602 * overallSize",
     "0.321701 * overallSize"
    ],
    [
     "0.191455 * overallSize",
     "0.308545 * overallSize"
    ],
    [
     "0.178295 * overallSize",
     "0.291398 * overallSize"
    ],
    [
     "0.170030 * overallSize",
     "0.271445 * overallSize"
    ],
    [
     "0.167275 * overallSize",
     "0.250521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.394852 * overallSize",
     "0.333487 * overallSize"
    ],
    [
     "0.411515 * overallSize",
     "0.293255 * overallSize"
    ],
    [
     "0.417149 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.499406 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.490974 * overallSize",
     "0.314577 * overallSize"
    ],
    [
     "0.466047 * overallSize",
     "0.374752 * overallSize"
    ],
    [
     "0.426410 * overallSize",
     "0.426410 * overallSize"
    ],
    [
     "0.374752 * overallSize",
     "0.466047 * overallSize"
    ],
    [
     "0.314577 * overallSize",
     "0.490974 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.499406 * overallSize"
    ],
    [
     "0.250583 * overallSize",
     "0.417115 * overallSize"
    ],
    [
     "0.293284 * overallSize",
     "0.411486 * overallSize"
    ],
    [
     "0.333516 * overallSize",
     "0.394823 * overallSize"
    ],
    [
     "0.368225 * overallSize",
     "0.368196 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.589510 * overallSize",
     "0.293002 * overallSize"
    ],
    [
     "0.583917 * overallSize",
     "0.250531 * overallSize"
    ],
    [
     "0.666200 * overallSize",
     "0.250531 * overallSize"
    ],
    [
     "0.668999 * overallSize",
     "0.271730 * overallSize"
    ],
    [
     "0.677338 * overallSize",
     "0.291868 * overallSize"
    ],
    [
     "0.690676 * overallSize",
     "0.309275 * overallSize"
    ],
    [
     "0.708115 * overallSize",
     "0.322646 * overallSize"
    ],
    [
     "0.728252 * overallSize",
     "0.330984 * overallSize"
    ],
    [
     "0.749452 * overallSize",
     "0.333784 * overallSize"
    ],
    [
     "0.749452 * overallSize",
     "0.416067 * overallSize"
    ],
    [
     "0.706982 * overallSize",
     "0.410474 * overallSize"
    ],
    [
     "0.666919 * overallSize",
     "0.393880 * overallSize"
    ],
    [
     "0.632517 * overallSize",
     "0.367483 * overallSize"
    ],
    [
     "0.606103 * overallSize",
     "0.333064 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.749463 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.749477 * overallSize",
     "0.332725 * overallSize"
    ],
    [
     "0.728569 * overallSize",
     "0.329974 * overallSize"
    ],
    [
     "0.708602 * overallSize",
     "0.321701 * overallSize"
    ],
    [
     "0.691455 * overallSize",
     "0.308545 * overallSize"
    ],
    [
     "0.678282 * overallSize",
     "0.291381 * overallSize"
    ],
    [
     "0.670010 * overallSize",
     "0.271414 * overallSize"
    ],
    [
     "0.667262 * overallSize",
     "0.250521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.833854 * overallSize",
     "0.332813 * overallSize"
    ],
    [
     "0.833854 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.916146 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.916146 * overallSize",
     "0.332813 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.917188 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.250521 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.332813 * overallSize"
    ],
    [
     "0.917188 * overallSize",
     "0.332813 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.250504 * overallSize",
     "0.250537 * overallSize"
    ],
    [
     "0.332723 * overallSize",
     "0.250537 * overallSize"
    ],
    [
     "0.329970 * overallSize",
     "0.271445 * overallSize"
    ],
    [
     "0.321699 * overallSize",
     "0.291412 * overallSize"
    ],
    [
     "0.308543 * overallSize",
     "0.308560 * overallSize"
    ],
    [
     "0.291396 * overallSize",
     "0.321716 * overallSize"
    ],
    [
     "0.271429 * overallSize",
     "0.329986 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.332739 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.750504 * overallSize",
     "0.250537 * overallSize"
    ],
    [
     "0.832723 * overallSize",
     "0.250537 * overallSize"
    ],
    [
     "0.829970 * overallSize",
     "0.271445 * overallSize"
    ],
    [
     "0.821699 * overallSize",
     "0.291412 * overallSize"
    ],
    [
     "0.808550 * overallSize",
     "0.308550 * overallSize"
    ],
    [
     "0.791412 * overallSize",
     "0.321699 * overallSize"
    ],
    [
     "0.771445 * overallSize",
     "0.329970 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.332739 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.322635 * overallSize",
     "0.291874 * overallSize"
    ],
    [
     "0.330974 * overallSize",
     "0.271738 * overallSize"
    ],
    [
     "0.333771 * overallSize",
     "0.250554 * overallSize"
    ],
    [
     "0.416039 * overallSize",
     "0.250554 * overallSize"
    ],
    [
     "0.410449 * overallSize",
     "0.293024 * overallSize"
    ],
    [
     "0.393853 * overallSize",
     "0.333087 * overallSize"
    ],
    [
     "0.367456 * overallSize",
     "0.367489 * overallSize"
    ],
    [
     "0.333054 * overallSize",
     "0.393887 * overallSize"
    ],
    [
     "0.292991 * overallSize",
     "0.410482 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.416073 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.333805 * overallSize"
    ],
    [
     "0.271705 * overallSize",
     "0.331007 * overallSize"
    ],
    [
     "0.291841 * overallSize",
     "0.322669 * overallSize"
    ],
    [
     "0.309282 * overallSize",
     "0.309300 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.749479 * overallSize",
     "0.417123 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.499405 * overallSize"
    ],
    [
     "0.685451 * overallSize",
     "0.490976 * overallSize"
    ],
    [
     "0.625275 * overallSize",
     "0.466051 * overallSize"
    ],
    [
     "0.573601 * overallSize",
     "0.426399 * overallSize"
    ],
    [
     "0.534013 * overallSize",
     "0.374789 * overallSize"
    ],
    [
     "0.509087 * overallSize",
     "0.314612 * overallSize"
    ],
    [
     "0.500654 * overallSize",
     "0.250556 * overallSize"
    ],
    [
     "0.582869 * overallSize",
     "0.250556 * overallSize"
    ],
    [
     "0.588505 * overallSize",
     "0.293294 * overallSize"
    ],
    [
     "0.605167 * overallSize",
     "0.333526 * overallSize"
    ],
    [
     "0.631733 * overallSize",
     "0.368171 * overallSize"
    ],
    [
     "0.666376 * overallSize",
     "0.394775 * overallSize"
    ],
    [
     "0.706772 * overallSize",
     "0.411497 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.499479 * overallSize",
     "0.257947 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.257971 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.314840 * overallSize",
     "0.492007 * overallSize"
    ],
    [
     "0.375185 * overallSize",
     "0.467012 * overallSize"
    ],
    [
     "0.427086 * overallSize",
     "0.427211 * overallSize"
    ],
    [
     "0.466964 * overallSize",
     "0.375255 * overallSize"
    ],
    [
     "0.491998 * overallSize",
     "0.314780 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.791955 * overallSize",
     "0.322593 * overallSize"
    ],
    [
     "0.809344 * overallSize",
     "0.309232 * overallSize"
    ],
    [
     "0.822652 * overallSize",
     "0.291858 * overallSize"
    ],
    [
     "0.830990 * overallSize",
     "0.271721 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.257945 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.332813 * overallSize"
    ],
    [
     "0.757905 * overallSize",
     "0.332813 * overallSize"
    ],
    [
     "0.771781 * overallSize",
     "0.330958 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.169026 * overallSize",
     "0.271738 * overallSize"
    ],
    [
     "0.177365 * overallSize",
     "0.291874 * overallSize"
    ],
    [
     "0.190701 * overallSize",
     "0.309283 * overallSize"
    ],
    [
     "0.208142 * overallSize",
     "0.322652 * overallSize"
    ],
    [
     "0.228279 * overallSize",
     "0.330990 * overallSize"
    ],
    [
     "0.242055 * overallSize",
     "0.332813 * overallSize"
    ],
    [
     "0.167188 * overallSize",
     "0.332813 * overallSize"
    ],
    [
     "0.167203 * overallSize",
     "0.257949 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.685131 * overallSize",
     "0.491978 * overallSize"
    ],
    [
     "0.742053 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.258140 * overallSize"
    ],
    [
     "0.507993 * overallSize",
     "0.314840 * overallSize"
    ],
    [
     "0.533029 * overallSize",
     "0.375265 * overallSize"
    ],
    [
     "0.572850 * overallSize",
     "0.427153 * overallSize"
    ],
    [
     "0.624786 * overallSize",
     "0.466983 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000521 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.416146 * overallSize"
    ],
    [
     "0.000521 * overallSize",
     "0.416146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.166146 * overallSize",
     "0.416146 * overallSize"
    ],
    [
     "0.083854 * overallSize",
     "0.416146 * overallSize"
    ],
    [
     "0.083854 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.166146 * overallSize",
     "0.333854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.167187 * overallSize",
     "0.416146 * overallSize"
    ],
    [
     "0.167187 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.249479 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.249479 * overallSize",
     "0.416146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.750521 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.416146 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.416146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.916146 * overallSize",
     "0.416146 * overallSize"
    ],
    [
     "0.833854 * overallSize",
     "0.416146 * overallSize"
    ],
    [
     "0.833854 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.916146 * overallSize",
     "0.333854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.917188 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.333854 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.416146 * overallSize"
    ],
    [
     "0.917188 * overallSize",
     "0.416146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.082812 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.000521 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.000521 * overallSize",
     "0.417187 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.417187 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.166146 * overallSize",
     "0.417187 * overallSize"
    ],
    [
     "0.166146 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.083854 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.083854 * overallSize",
     "0.417187 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.249479 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.167187 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.167187 * overallSize",
     "0.417187 * overallSize"
    ],
    [
     "0.249479 * overallSize",
     "0.417187 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.832812 * overallSize",
     "0.417187 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.417187 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.833854 * overallSize",
     "0.417187 * overallSize"
    ],
    [
     "0.916146 * overallSize",
     "0.417187 * overallSize"
    ],
    [
     "0.916146 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.833854 * overallSize",
     "0.499479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.917188 * overallSize",
     "0.417187 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.417187 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.499479 * overallSize"
    ],
    [
     "0.917188 * overallSize",
     "0.499479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000521 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.582812 * overallSize"
    ],
    [
     "0.000521 * overallSize",
     "0.582812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.083854 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.166146 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.166146 * overallSize",
     "0.582812 * overallSize"
    ],
    [
     "0.083854 * overallSize",
     "0.582812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.249479 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.249479 * overallSize",
     "0.582812 * overallSize"
    ],
    [
     "0.167187 * overallSize",
     "0.582812 * overallSize"
    ],
    [
     "0.167187 * overallSize",
     "0.500521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.375214 * overallSize",
     "0.533017 * overallSize"
    ],
    [
     "0.314869 * overallSize",
     "0.508022 * overallSize"
    ],
    [
     "0.257954 * overallSize",
     "0.500522 * overallSize"
    ],
    [
     "0.499508 * overallSize",
     "0.500550 * overallSize"
    ],
    [
     "0.499505 * overallSize",
     "0.742054 * overallSize"
    ],
    [
     "0.492007 * overallSize",
     "0.685160 * overallSize"
    ],
    [
     "0.467012 * overallSize",
     "0.624815 * overallSize"
    ],
    [
     "0.427115 * overallSize",
     "0.572818 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.741860 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.685160 * overallSize",
     "0.507993 * overallSize"
    ],
    [
     "0.624815 * overallSize",
     "0.532988 * overallSize"
    ],
    [
     "0.572847 * overallSize",
     "0.572850 * overallSize"
    ],
    [
     "0.533017 * overallSize",
     "0.624786 * overallSize"
    ],
    [
     "0.508022 * overallSize",
     "0.685131 * overallSize"
    ],
    [
     "0.500550 * overallSize",
     "0.741831 * overallSize"
    ],
    [
     "0.500550 * overallSize",
     "0.500521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.750521 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.582812 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.582812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.916146 * overallSize",
     "0.582812 * overallSize"
    ],
    [
     "0.833854 * overallSize",
     "0.582812 * overallSize"
    ],
    [
     "0.833854 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.916146 * overallSize",
     "0.500521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.917188 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.500521 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.582812 * overallSize"
    ],
    [
     "0.917188 * overallSize",
     "0.582812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.333516 * overallSize",
     "0.605177 * overallSize"
    ],
    [
     "0.293284 * overallSize",
     "0.588514 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.582877 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.500594 * overallSize"
    ],
    [
     "0.314577 * overallSize",
     "0.509026 * overallSize"
    ],
    [
     "0.374752 * overallSize",
     "0.533953 * overallSize"
    ],
    [
     "0.426391 * overallSize",
     "0.573576 * overallSize"
    ],
    [
     "0.466014 * overallSize",
     "0.625215 * overallSize"
    ],
    [
     "0.490940 * overallSize",
     "0.685390 * overallSize"
    ],
    [
     "0.499373 * overallSize",
     "0.749446 * overallSize"
    ],
    [
     "0.417105 * overallSize",
     "0.749446 * overallSize"
    ],
    [
     "0.411470 * overallSize",
     "0.706700 * overallSize"
    ],
    [
     "0.394806 * overallSize",
     "0.666467 * overallSize"
    ],
    [
     "0.368144 * overallSize",
     "0.631726 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.509026 * overallSize",
     "0.685423 * overallSize"
    ],
    [
     "0.533953 * overallSize",
     "0.625248 * overallSize"
    ],
    [
     "0.573576 * overallSize",
     "0.573609 * overallSize"
    ],
    [
     "0.625215 * overallSize",
     "0.533986 * overallSize"
    ],
    [
     "0.685390 * overallSize",
     "0.509060 * overallSize"
    ],
    [
     "0.749446 * overallSize",
     "0.500627 * overallSize"
    ],
    [
     "0.749446 * overallSize",
     "0.582895 * overallSize"
    ],
    [
     "0.706700 * overallSize",
     "0.588530 * overallSize"
    ],
    [
     "0.666467 * overallSize",
     "0.605194 * overallSize"
    ],
    [
     "0.631756 * overallSize",
     "0.631821 * overallSize"
    ],
    [
     "0.605177 * overallSize",
     "0.666484 * overallSize"
    ],
    [
     "0.588514 * overallSize",
     "0.706716 * overallSize"
    ],
    [
     "0.582877 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.500594 * overallSize",
     "0.749479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000521 * overallSize",
     "0.583854 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.583854 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.000521 * overallSize",
     "0.666146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.083854 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.083854 * overallSize",
     "0.583854 * overallSize"
    ],
    [
     "0.166146 * overallSize",
     "0.583854 * overallSize"
    ],
    [
     "0.166146 * overallSize",
     "0.666146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.249479 * overallSize",
     "0.583854 * overallSize"
    ],
    [
     "0.249479 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.167187 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.167187 * overallSize",
     "0.583854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.832812 * overallSize",
     "0.583854 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.583854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.916146 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.833854 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.833854 * overallSize",
     "0.583854 * overallSize"
    ],
    [
     "0.916146 * overallSize",
     "0.583854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.999479 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.917188 * overallSize",
     "0.666146 * overallSize"
    ],
    [
     "0.917188 * overallSize",
     "0.583854 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.583854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.271721 * overallSize",
     "0.669010 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.666210 * overallSize"
    ],
    [
     "0.250537 * overallSize",
     "0.583944 * overallSize"
    ],
    [
     "0.293008 * overallSize",
     "0.589535 * overallSize"
    ],
    [
     "0.333071 * overallSize",
     "0.606130 * overallSize"
    ],
    [
     "0.367472 * overallSize",
     "0.632528 * overallSize"
    ],
    [
     "0.393870 * overallSize",
     "0.666929 * overallSize"
    ],
    [
     "0.410465 * overallSize",
     "0.706992 * overallSize"
    ],
    [
     "0.416056 * overallSize",
     "0.749463 * overallSize"
    ],
    [
     "0.333788 * overallSize",
     "0.749463 * overallSize"
    ],
    [
     "0.330990 * overallSize",
     "0.728279 * overallSize"
    ],
    [
     "0.322610 * overallSize",
     "0.708062 * overallSize"
    ],
    [
     "0.309266 * overallSize",
     "0.690685 * overallSize"
    ],
    [
     "0.291858 * overallSize",
     "0.677348 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.583927 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.589534 * overallSize",
     "0.706992 * overallSize"
    ],
    [
     "0.606130 * overallSize",
     "0.666929 * overallSize"
    ],
    [
     "0.632528 * overallSize",
     "0.632528 * overallSize"
    ],
    [
     "0.666929 * overallSize",
     "0.606130 * overallSize"
    ],
    [
     "0.706992 * overallSize",
     "0.589535 * overallSize"
    ],
    [
     "0.749463 * overallSize",
     "0.583944 * overallSize"
    ],
    [
     "0.749463 * overallSize",
     "0.666212 * overallSize"
    ],
    [
     "0.728279 * overallSize",
     "0.669010 * overallSize"
    ],
    [
     "0.708142 * overallSize",
     "0.677348 * overallSize"
    ],
    [
     "0.690685 * overallSize",
     "0.690734 * overallSize"
    ],
    [
     "0.677348 * overallSize",
     "0.708142 * overallSize"
    ],
    [
     "0.669010 * overallSize",
     "0.728279 * overallSize"
    ],
    [
     "0.666210 * overallSize",
     "0.749479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000521 * overallSize",
     "0.667188 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.667188 * overallSize"
    ],
    [
     "0.082812 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.000521 * overallSize",
     "0.749479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.166144 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.083854 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.083854 * overallSize",
     "0.667188 * overallSize"
    ],
    [
     "0.166129 * overallSize",
     "0.667188 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.822593 * overallSize",
     "0.708045 * overallSize"
    ],
    [
     "0.809232 * overallSize",
     "0.690656 * overallSize"
    ],
    [
     "0.791858 * overallSize",
     "0.677348 * overallSize"
    ],
    [
     "0.771721 * overallSize",
     "0.669010 * overallSize"
    ],
    [
     "0.757945 * overallSize",
     "0.667188 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.667188 * overallSize"
    ],
    [
     "0.832812 * overallSize",
     "0.742095 * overallSize"
    ],
    [
     "0.830958 * overallSize",
     "0.728219 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.833854 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.833854 * overallSize",
     "0.667188 * overallSize"
    ],
    [
     "0.916146 * overallSize",
     "0.667188 * overallSize"
    ],
    [
     "0.916146 * overallSize",
     "0.749479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.999479 * overallSize",
     "0.667188 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.917188 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.917188 * overallSize",
     "0.667188 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.242038 * overallSize",
     "0.667204 * overallSize"
    ],
    [
     "0.228262 * overallSize",
     "0.669026 * overallSize"
    ],
    [
     "0.208126 * overallSize",
     "0.677365 * overallSize"
    ],
    [
     "0.190685 * overallSize",
     "0.690734 * overallSize"
    ],
    [
     "0.177348 * overallSize",
     "0.708142 * overallSize"
    ],
    [
     "0.169010 * overallSize",
     "0.728279 * overallSize"
    ],
    [
     "0.167186 * overallSize",
     "0.742067 * overallSize"
    ],
    [
     "0.167171 * overallSize",
     "0.667204 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.249479 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.167261 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.170030 * overallSize",
     "0.728555 * overallSize"
    ],
    [
     "0.178301 * overallSize",
     "0.708588 * overallSize"
    ],
    [
     "0.191450 * overallSize",
     "0.691450 * overallSize"
    ],
    [
     "0.208588 * overallSize",
     "0.678301 * overallSize"
    ],
    [
     "0.228555 * overallSize",
     "0.670030 * overallSize"
    ],
    [
     "0.249479 * overallSize",
     "0.667275 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.250537 * overallSize",
     "0.667277 * overallSize"
    ],
    [
     "0.271445 * overallSize",
     "0.670030 * overallSize"
    ],
    [
     "0.291412 * overallSize",
     "0.678301 * overallSize"
    ],
    [
     "0.308560 * overallSize",
     "0.691457 * overallSize"
    ],
    [
     "0.321716 * overallSize",
     "0.708604 * overallSize"
    ],
    [
     "0.329986 * overallSize",
     "0.728571 * overallSize"
    ],
    [
     "0.332739 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.749479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.667261 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.670030 * overallSize",
     "0.728555 * overallSize"
    ],
    [
     "0.678301 * overallSize",
     "0.708588 * overallSize"
    ],
    [
     "0.691457 * overallSize",
     "0.691440 * overallSize"
    ],
    [
     "0.708604 * overallSize",
     "0.678284 * overallSize"
    ],
    [
     "0.728571 * overallSize",
     "0.670014 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.667261 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.749479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.750537 * overallSize",
     "0.667277 * overallSize"
    ],
    [
     "0.771445 * overallSize",
     "0.670030 * overallSize"
    ],
    [
     "0.791412 * overallSize",
     "0.678301 * overallSize"
    ],
    [
     "0.808550 * overallSize",
     "0.691450 * overallSize"
    ],
    [
     "0.821699 * overallSize",
     "0.708588 * overallSize"
    ],
    [
     "0.829970 * overallSize",
     "0.728555 * overallSize"
    ],
    [
     "0.832739 * overallSize",
     "0.749479 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.749479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.249479 * overallSize",
     "0.999406 * overallSize"
    ],
    [
     "-0.249417 * overallSize",
     "0.917061 * overallSize"
    ],
    [
     "-0.206652 * overallSize",
     "0.911422 * overallSize"
    ],
    [
     "-0.166422 * overallSize",
     "0.894760 * overallSize"
    ],
    [
     "-0.131759 * overallSize",
     "0.868182 * overallSize"
    ],
    [
     "-0.105148 * overallSize",
     "0.833487 * overallSize"
    ],
    [
     "-0.088485 * overallSize",
     "0.793255 * overallSize"
    ],
    [
     "-0.082847 * overallSize",
     "0.750492 * overallSize"
    ],
    [
     "-0.000565 * overallSize",
     "0.750492 * overallSize"
    ],
    [
     "-0.008997 * overallSize",
     "0.814547 * overallSize"
    ],
    [
     "-0.033924 * overallSize",
     "0.874723 * overallSize"
    ],
    [
     "-0.073574 * overallSize",
     "0.926397 * overallSize"
    ],
    [
     "-0.125248 * overallSize",
     "0.966047 * overallSize"
    ],
    [
     "-0.185423 * overallSize",
     "0.990974 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.089510 * overallSize",
     "0.793002 * overallSize"
    ],
    [
     "0.083917 * overallSize",
     "0.750531 * overallSize"
    ],
    [
     "0.166200 * overallSize",
     "0.750531 * overallSize"
    ],
    [
     "0.168999 * overallSize",
     "0.771730 * overallSize"
    ],
    [
     "0.177338 * overallSize",
     "0.791868 * overallSize"
    ],
    [
     "0.190676 * overallSize",
     "0.809275 * overallSize"
    ],
    [
     "0.208115 * overallSize",
     "0.822646 * overallSize"
    ],
    [
     "0.228254 * overallSize",
     "0.830984 * overallSize"
    ],
    [
     "0.249452 * overallSize",
     "0.833784 * overallSize"
    ],
    [
     "0.249452 * overallSize",
     "0.916067 * overallSize"
    ],
    [
     "0.206982 * overallSize",
     "0.910474 * overallSize"
    ],
    [
     "0.166919 * overallSize",
     "0.893880 * overallSize"
    ],
    [
     "0.132517 * overallSize",
     "0.867483 * overallSize"
    ],
    [
     "0.106103 * overallSize",
     "0.833064 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.249463 * overallSize",
     "0.750521 * overallSize"
    ],
    [
     "0.249477 * overallSize",
     "0.832725 * overallSize"
    ],
    [
     "0.228569 * overallSize",
     "0.829974 * overallSize"
    ],
    [
     "0.208602 * overallSize",
     "0.821701 * overallSize"
    ],
    [
     "0.191455 * overallSize",
     "0.808545 * overallSize"
    ],
    [
     "0.178282 * overallSize",
     "0.791381 * overallSize"
    ],
    [
     "0.170010 * overallSize",
     "0.771414 * overallSize"
    ],
    [
     "0.167262 * overallSize",
     "0.750521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.333854 * overallSize",
     "0.832812 * overallSize"
    ],
    [
     "0.333854 * overallSize",
     "0.750521 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.750521 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.832812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.417187 * overallSize",
     "0.750521 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.750521 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.832812 * overallSize"
    ],
    [
     "0.417187 * overallSize",
     "0.832812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.500521 * overallSize",
     "0.832812 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.750521 * overallSize"
    ],
    [
     "0.582812 * overallSize",
     "0.750521 * overallSize"
    ],
    [
     "0.582812 * overallSize",
     "0.832812 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.666146 * overallSize",
     "0.750522 * overallSize"
    ],
    [
     "0.666146 * overallSize",
     "0.832812 * overallSize"
    ],
    [
     "0.583854 * overallSize",
     "0.832812 * overallSize"
    ],
    [
     "0.583854 * overallSize",
     "0.750521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.749463 * overallSize",
     "0.750521 * overallSize"
    ],
    [
     "0.749477 * overallSize",
     "0.832725 * overallSize"
    ],
    [
     "0.728569 * overallSize",
     "0.829974 * overallSize"
    ],
    [
     "0.708602 * overallSize",
     "0.821701 * overallSize"
    ],
    [
     "0.691455 * overallSize",
     "0.808545 * overallSize"
    ],
    [
     "0.678295 * overallSize",
     "0.791398 * overallSize"
    ],
    [
     "0.670030 * overallSize",
     "0.771445 * overallSize"
    ],
    [
     "0.667275 * overallSize",
     "0.750521 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.250504 * overallSize",
     "0.750537 * overallSize"
    ],
    [
     "0.332723 * overallSize",
     "0.750537 * overallSize"
    ],
    [
     "0.329970 * overallSize",
     "0.771445 * overallSize"
    ],
    [
     "0.321699 * overallSize",
     "0.791412 * overallSize"
    ],
    [
     "0.308550 * overallSize",
     "0.808550 * overallSize"
    ],
    [
     "0.291412 * overallSize",
     "0.821699 * overallSize"
    ],
    [
     "0.271445 * overallSize",
     "0.829970 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.832739 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.750504 * overallSize",
     "0.750537 * overallSize"
    ],
    [
     "0.832723 * overallSize",
     "0.750537 * overallSize"
    ],
    [
     "0.829970 * overallSize",
     "0.771445 * overallSize"
    ],
    [
     "0.821699 * overallSize",
     "0.791412 * overallSize"
    ],
    [
     "0.808543 * overallSize",
     "0.808560 * overallSize"
    ],
    [
     "0.791396 * overallSize",
     "0.821716 * overallSize"
    ],
    [
     "0.771429 * overallSize",
     "0.829986 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.832739 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.249479 * overallSize",
     "0.917123 * overallSize"
    ],
    [
     "0.249479 * overallSize",
     "0.999405 * overallSize"
    ],
    [
     "0.185451 * overallSize",
     "0.990976 * overallSize"
    ],
    [
     "0.125275 * overallSize",
     "0.966049 * overallSize"
    ],
    [
     "0.073601 * overallSize",
     "0.926399 * overallSize"
    ],
    [
     "0.034013 * overallSize",
     "0.874789 * overallSize"
    ],
    [
     "0.009087 * overallSize",
     "0.814612 * overallSize"
    ],
    [
     "0.000654 * overallSize",
     "0.750556 * overallSize"
    ],
    [
     "0.082869 * overallSize",
     "0.750556 * overallSize"
    ],
    [
     "0.088505 * overallSize",
     "0.793294 * overallSize"
    ],
    [
     "0.105167 * overallSize",
     "0.833526 * overallSize"
    ],
    [
     "0.131733 * overallSize",
     "0.868171 * overallSize"
    ],
    [
     "0.166416 * overallSize",
     "0.894797 * overallSize"
    ],
    [
     "0.206778 * overallSize",
     "0.911498 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.822635 * overallSize",
     "0.791874 * overallSize"
    ],
    [
     "0.830974 * overallSize",
     "0.771738 * overallSize"
    ],
    [
     "0.833771 * overallSize",
     "0.750554 * overallSize"
    ],
    [
     "0.916039 * overallSize",
     "0.750554 * overallSize"
    ],
    [
     "0.910449 * overallSize",
     "0.793024 * overallSize"
    ],
    [
     "0.893853 * overallSize",
     "0.833087 * overallSize"
    ],
    [
     "0.867456 * overallSize",
     "0.867489 * overallSize"
    ],
    [
     "0.833054 * overallSize",
     "0.893887 * overallSize"
    ],
    [
     "0.792991 * overallSize",
     "0.910482 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.916073 * overallSize"
    ],
    [
     "0.750521 * overallSize",
     "0.833805 * overallSize"
    ],
    [
     "0.771705 * overallSize",
     "0.831007 * overallSize"
    ],
    [
     "0.791841 * overallSize",
     "0.822669 * overallSize"
    ],
    [
     "0.809266 * overallSize",
     "0.809315 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000493 * overallSize",
     "0.757925 * overallSize"
    ],
    [
     "0.007993 * overallSize",
     "0.814840 * overallSize"
    ],
    [
     "0.032988 * overallSize",
     "0.875185 * overallSize"
    ],
    [
     "0.072818 * overallSize",
     "0.927121 * overallSize"
    ],
    [
     "0.124786 * overallSize",
     "0.966983 * overallSize"
    ],
    [
     "0.185131 * overallSize",
     "0.991978 * overallSize"
    ],
    [
     "0.241831 * overallSize",
     "0.999450 * overallSize"
    ],
    [
     "0.000521 * overallSize",
     "0.999450 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.291955 * overallSize",
     "0.822593 * overallSize"
    ],
    [
     "0.309344 * overallSize",
     "0.809232 * overallSize"
    ],
    [
     "0.322652 * overallSize",
     "0.791858 * overallSize"
    ],
    [
     "0.330990 * overallSize",
     "0.771721 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.757945 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.832812 * overallSize"
    ],
    [
     "0.257905 * overallSize",
     "0.832812 * overallSize"
    ],
    [
     "0.271781 * overallSize",
     "0.830958 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.757971 * overallSize",
     "0.999479 * overallSize"
    ],
    [
     "0.814840 * overallSize",
     "0.992007 * overallSize"
    ],
    [
     "0.875185 * overallSize",
     "0.967012 * overallSize"
    ],
    [
     "0.927153 * overallSize",
     "0.927150 * overallSize"
    ],
    [
     "0.966983 * overallSize",
     "0.875214 * overallSize"
    ],
    [
     "0.991978 * overallSize",
     "0.814869 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.757947 * overallSize"
    ],
    [
     "0.999479 * overallSize",
     "0.999479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.669026 * overallSize",
     "0.771738 * overallSize"
    ],
    [
     "0.677365 * overallSize",
     "0.791874 * overallSize"
    ],
    [
     "0.690701 * overallSize",
     "0.809283 * overallSize"
    ],
    [
     "0.708142 * overallSize",
     "0.822652 * overallSize"
    ],
    [
     "0.728279 * overallSize",
     "0.830990 * overallSize"
    ],
    [
     "0.742055 * overallSize",
     "0.832812 * overallSize"
    ],
    [
     "0.667188 * overallSize",
     "0.832812 * overallSize"
    ],
    [
     "0.667203 * overallSize",
     "0.757949 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.250521 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.916146 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.916146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.416146 * overallSize",
     "0.916146 * overallSize"
    ],
    [
     "0.333854 * overallSize",
     "0.916146 * overallSize"
    ],
    [
     "0.333854 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.833854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.417187 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.916146 * overallSize"
    ],
    [
     "0.417187 * overallSize",
     "0.916146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.582812 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.582812 * overallSize",
     "0.916146 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.916146 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.833854 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.583854 * overallSize",
     "0.916146 * overallSize"
    ],
    [
     "0.583854 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.666146 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.666146 * overallSize",
     "0.916146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.667188 * overallSize",
     "0.916146 * overallSize"
    ],
    [
     "0.667188 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.833854 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.916146 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.332813 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.332813 * overallSize",
     "0.999479 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.999479 * overallSize"
    ],
    [
     "0.250521 * overallSize",
     "0.917188 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.333854 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.416146 * overallSize",
     "0.999479 * overallSize"
    ],
    [
     "0.333854 * overallSize",
     "0.999479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.417187 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.499479 * overallSize",
     "0.999479 * overallSize"
    ],
    [
     "0.417187 * overallSize",
     "0.999479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.582812 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.582812 * overallSize",
     "0.999479 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.999479 * overallSize"
    ],
    [
     "0.500521 * overallSize",
     "0.917188 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.583854 * overallSize",
     "0.999479 * overallSize"
    ],
    [
     "0.583854 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.666146 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.666146 * overallSize",
     "0.999479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.667188 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.917188 * overallSize"
    ],
    [
     "0.749479 * overallSize",
     "0.999479 * overallSize"
    ],
    [
     "0.667188 * overallSize",
     "0.999479 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000550 * overallSize",
     "1.000492 * overallSize"
    ],
    [
     "0.242054 * overallSize",
     "1.000495 * overallSize"
    ],
    [
     "0.185160 * overallSize",
     "1.007993 * overallSize"
    ],
    [
     "0.124815 * overallSize",
     "1.032988 * overallSize"
    ],
    [
     "0.072847 * overallSize",
     "1.072850 * overallSize"
    ],
    [
     "0.033017 * overallSize",
     "1.124786 * overallSize"
    ],
    [
     "0.008022 * overallSize",
     "1.185131 * overallSize"
    ],
    [
     "0.000522 * overallSize",
     "1.242046 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.814514 * overallSize",
     "1.008964 * overallSize"
    ],
    [
     "0.874689 * overallSize",
     "1.033890 * overallSize"
    ],
    [
     "0.926364 * overallSize",
     "1.073540 * overallSize"
    ],
    [
     "0.966014 * overallSize",
     "1.125215 * overallSize"
    ],
    [
     "0.990940 * overallSize",
     "1.185390 * overallSize"
    ],
    [
     "0.999373 * overallSize",
     "1.249446 * overallSize"
    ],
    [
     "0.917090 * overallSize",
     "1.249446 * overallSize"
    ],
    [
     "0.911453 * overallSize",
     "1.206683 * overallSize"
    ],
    [
     "0.894790 * overallSize",
     "1.166451 * overallSize"
    ],
    [
     "0.868179 * overallSize",
     "1.131756 * overallSize"
    ],
    [
     "0.833516 * overallSize",
     "1.105177 * overallSize"
    ],
    [
     "0.793284 * overallSize",
     "1.088514 * overallSize"
    ],
    [
     "0.750520 * overallSize",
     "1.082877 * overallSize"
    ],
    [
     "0.750459 * overallSize",
     "1.000531 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "480 / 480 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "480 / 480 * overallSize"
  ]
 }
},"meander-strip-mosaic":{
  "schema": 1,
  "id": "meander-strip-mosaic",
  "name": "Meander strip mosaic",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 900,
      "min": 180,
      "max": 3600,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.43137254902 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.43137254902 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.416666666667 * overallSize",
          "0.843137254902 * overallSize"
        ],
        [
          "0.426470588235 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.43137254902 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.43137254902 * overallSize",
          "overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.426470588235 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "0.843137254902 * overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.764705882353 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.769607843137 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.769607843137 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.75 * overallSize"
        ],
        [
          "0.156862745098 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.769607843137 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.769607843137 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0",
          "0.764705882353 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.666666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.156862745098 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.56862745098 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.56862745098 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.563725490196 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.563725490196 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.764705882353 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.563725490196 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.563725490196 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.56862745098 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.56862745098 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.583333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.583333333333 * overallSize",
          "0.823529411765 * overallSize"
        ],
        [
          "0.573529411765 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.573529411765 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.583333333333 * overallSize",
          "0.823529411765 * overallSize"
        ],
        [
          "0.583333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.401960784314 * overallSize",
          "0.769607843137 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.769607843137 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.401960784314 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.343137254902 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.769607843137 * overallSize"
        ],
        [
          "0.401960784314 * overallSize",
          "0.769607843137 * overallSize"
        ],
        [
          "0.401960784314 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.343137254902 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.759803921569 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.264705882353 * overallSize",
          "0.740196078431 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.740196078431 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.735294117647 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.735294117647 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.264705882353 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.676470588235 * overallSize"
        ],
        [
          "0.259803921569 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.735294117647 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.735294117647 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.740196078431 * overallSize"
        ],
        [
          "0.264705882353 * overallSize",
          "0.740196078431 * overallSize"
        ],
        [
          "0.264705882353 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.259803921569 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.676470588235 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.240196078431 * overallSize",
          "0.897058823529 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.897058823529 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.240196078431 * overallSize",
          "0.901960784314 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.897058823529 * overallSize"
        ],
        [
          "0.240196078431 * overallSize",
          "0.897058823529 * overallSize"
        ],
        [
          "0.240196078431 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.176470588235 * overallSize",
          "0.916666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.176470588235 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.936274509804 * overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "0.936274509804 * overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.656862745098 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.926470588235 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "0.936274509804 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.936274509804 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.93137254902 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.926470588235 * overallSize"
        ],
        [
          "0.656862745098 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.916666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.098039215686 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "0.102941176471 * overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "0.102941176471 * overallSize",
          "0.926470588235 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.926470588235 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.083333333333 * overallSize",
          "0.990196078431 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.926470588235 * overallSize"
        ],
        [
          "0.102941176471 * overallSize",
          "0.926470588235 * overallSize"
        ],
        [
          "0.102941176471 * overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.833333333333 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.990196078431 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "overallSize"
        ],
        [
          "0",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.764705882353 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.769607843137 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.769607843137 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "overallSize"
        ],
        [
          "0.764705882353 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.843137254902 * overallSize"
        ],
        [
          "0.759803921569 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.769607843137 * overallSize",
          "0.901960784314 * overallSize"
        ],
        [
          "0.769607843137 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.764705882353 * overallSize",
          "0.906862745098 * overallSize"
        ],
        [
          "0.764705882353 * overallSize",
          "overallSize"
        ],
        [
          "0.75 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.759803921569 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.843137254902 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.740196078431 * overallSize",
          "0.730392156863 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.730392156863 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.735294117647 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.735294117647 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.740196078431 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.730392156863 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.730392156863 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.735294117647 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.735294117647 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.676470588235 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.740196078431 * overallSize"
        ],
        [
          "0.676470588235 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.897058823529 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.897058823529 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.764705882353 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.897058823529 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.897058823529 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.759803921569 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "0.823529411765 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.906862745098 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "0.823529411765 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.833333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.901960784314 * overallSize",
          "0.936274509804 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.936274509804 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.926470588235 * overallSize"
        ],
        [
          "0.843137254902 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.93137254902 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.936274509804 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.936274509804 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "overallSize",
          "0.833333333333 * overallSize"
        ],
        [
          "overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.843137254902 * overallSize",
          "0.916666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.926470588235 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.901960784314 * overallSize",
          "0.602941176471 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.602941176471 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.598039215686 * overallSize"
        ],
        [
          "overallSize",
          "0.598039215686 * overallSize"
        ],
        [
          "overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.593137254902 * overallSize"
        ],
        [
          "0.843137254902 * overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "overallSize",
          "0.598039215686 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.598039215686 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.602941176471 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.602941176471 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "0.843137254902 * overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.593137254902 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.901960784314 * overallSize",
          "0.269607843137 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.269607843137 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.843137254902 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.259803921569 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.897058823529 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.897058823529 * overallSize",
          "0.426470588235 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.426470588235 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "0.490196078431 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.906862745098 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "0.490196078431 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.426470588235 * overallSize"
        ],
        [
          "0.897058823529 * overallSize",
          "0.426470588235 * overallSize"
        ],
        [
          "0.897058823529 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.43137254902 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0.259803921569 * overallSize"
        ],
        [
          "0.843137254902 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "overallSize",
          "0.25 * overallSize"
        ],
        [
          "overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.906862745098 * overallSize",
          "0.269607843137 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.269607843137 * overallSize"
        ],
        [
          "0.901960784314 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.93137254902 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.936274509804 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.936274509804 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.93137254902 * overallSize",
          "0.093137254902 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.916666666667 * overallSize",
          "0.156862745098 * overallSize"
        ],
        [
          "0.916666666667 * overallSize",
          "0"
        ],
        [
          "0.93137254902 * overallSize",
          "0"
        ],
        [
          "0.93137254902 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.936274509804 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.936274509804 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.926470588235 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.833333333333 * overallSize",
          "0"
        ],
        [
          "0.916666666667 * overallSize",
          "0"
        ],
        [
          "0.916666666667 * overallSize",
          "0.156862745098 * overallSize"
        ],
        [
          "0.926470588235 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.740196078431 * overallSize",
          "0.063725490196 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.063725490196 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0"
        ],
        [
          "0.833333333333 * overallSize",
          "0"
        ],
        [
          "0.833333333333 * overallSize",
          "0.06862745098 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.06862745098 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.073529411765 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0"
        ],
        [
          "0.735294117647 * overallSize",
          "0"
        ],
        [
          "0.735294117647 * overallSize",
          "0.063725490196 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.063725490196 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.06862745098 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.06862745098 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.083333333333 * overallSize"
        ],
        [
          "0.676470588235 * overallSize",
          "0.083333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.073529411765 * overallSize"
        ],
        [
          "0.676470588235 * overallSize",
          "0.083333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.083333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.764705882353 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.769607843137 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.769607843137 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.764705882353 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.43137254902 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.43137254902 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.416666666667 * overallSize",
          "0.509803921569 * overallSize"
        ],
        [
          "0.426470588235 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.43137254902 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.43137254902 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.426470588235 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "0.509803921569 * overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.264705882353 * overallSize",
          "0.406862745098 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.406862745098 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.264705882353 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.401960784314 * overallSize",
          "0.436274509804 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.436274509804 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.401960784314 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.426470588235 * overallSize"
        ],
        [
          "0.343137254902 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.436274509804 * overallSize"
        ],
        [
          "0.401960784314 * overallSize",
          "0.436274509804 * overallSize"
        ],
        [
          "0.401960784314 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.343137254902 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.426470588235 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.401960784314 * overallSize",
          "0.102941176471 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.102941176471 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.401960784314 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.343137254902 * overallSize",
          "0.083333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.083333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.406862745098 * overallSize",
          "0.102941176471 * overallSize"
        ],
        [
          "0.401960784314 * overallSize",
          "0.102941176471 * overallSize"
        ],
        [
          "0.401960784314 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.083333333333 * overallSize"
        ],
        [
          "0.343137254902 * overallSize",
          "0.083333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.093137254902 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.56862745098 * overallSize",
          "0"
        ],
        [
          "0.56862745098 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.563725490196 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.563725490196 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.098039215686 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.563725490196 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.563725490196 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.56862745098 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.56862745098 * overallSize",
          "0"
        ],
        [
          "0.583333333333 * overallSize",
          "0"
        ],
        [
          "0.583333333333 * overallSize",
          "0.156862745098 * overallSize"
        ],
        [
          "0.573529411765 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.573529411765 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.583333333333 * overallSize",
          "0.156862745098 * overallSize"
        ],
        [
          "0.583333333333 * overallSize",
          "0"
        ],
        [
          "0.666666666667 * overallSize",
          "0"
        ],
        [
          "0.666666666667 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.264705882353 * overallSize",
          "0.073529411765 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.073529411765 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.06862745098 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.06862745098 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.264705882353 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.009803921569 * overallSize"
        ],
        [
          "0.259803921569 * overallSize",
          "0"
        ],
        [
          "0.333333333333 * overallSize",
          "0"
        ],
        [
          "0.333333333333 * overallSize",
          "0.06862745098 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.06862745098 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.073529411765 * overallSize"
        ],
        [
          "0.264705882353 * overallSize",
          "0.073529411765 * overallSize"
        ],
        [
          "0.264705882353 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0"
        ],
        [
          "0.259803921569 * overallSize",
          "0"
        ],
        [
          "0.25 * overallSize",
          "0.009803921569 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.083333333333 * overallSize"
        ],
        [
          "0.156862745098 * overallSize",
          "0.083333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.102941176471 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.102941176471 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0",
          "0.098039215686 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.166666666667 * overallSize",
          "0"
        ],
        [
          "0.166666666667 * overallSize",
          "0.093137254902 * overallSize"
        ],
        [
          "0.156862745098 * overallSize",
          "0.083333333333 * overallSize"
        ],
        [
          "0",
          "0.083333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.098039215686 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.102941176471 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.102941176471 * overallSize",
          "0.259803921569 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.259803921569 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.083333333333 * overallSize",
          "0.323529411765 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.259803921569 * overallSize"
        ],
        [
          "0.102941176471 * overallSize",
          "0.259803921569 * overallSize"
        ],
        [
          "0.102941176471 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.098039215686 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.098039215686 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.102941176471 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.102941176471 * overallSize"
        ],
        [
          "0.098039215686 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0",
          "0.166666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.166666666667 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.323529411765 * overallSize"
        ],
        [
          "0.093137254902 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.073529411765 * overallSize",
          "0.397058823529 * overallSize"
        ],
        [
          "0.06862745098 * overallSize",
          "0.397058823529 * overallSize"
        ],
        [
          "0.06862745098 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.073529411765 * overallSize",
          "0.401960784314 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.406862745098 * overallSize"
        ],
        [
          "0",
          "0.333333333333 * overallSize"
        ],
        [
          "0.06862745098 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.06862745098 * overallSize",
          "0.397058823529 * overallSize"
        ],
        [
          "0.073529411765 * overallSize",
          "0.397058823529 * overallSize"
        ],
        [
          "0.073529411765 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.009803921569 * overallSize",
          "0.416666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.406862745098 * overallSize"
        ],
        [
          "0.009803921569 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.06862745098 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.06862745098 * overallSize",
          "0.593137254902 * overallSize"
        ],
        [
          "0.063725490196 * overallSize",
          "0.593137254902 * overallSize"
        ],
        [
          "0.063725490196 * overallSize",
          "0.598039215686 * overallSize"
        ],
        [
          "0",
          "0.598039215686 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.598039215686 * overallSize"
        ],
        [
          "0.063725490196 * overallSize",
          "0.598039215686 * overallSize"
        ],
        [
          "0.063725490196 * overallSize",
          "0.593137254902 * overallSize"
        ],
        [
          "0.06862745098 * overallSize",
          "0.593137254902 * overallSize"
        ],
        [
          "0.06862745098 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.656862745098 * overallSize"
        ],
        [
          "0.073529411765 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.073529411765 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.656862745098 * overallSize"
        ],
        [
          "0.083333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.240196078431 * overallSize",
          "0.563725490196 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.563725490196 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.240196078431 * overallSize",
          "0.56862745098 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.563725490196 * overallSize"
        ],
        [
          "0.240196078431 * overallSize",
          "0.563725490196 * overallSize"
        ],
        [
          "0.240196078431 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "0.176470588235 * overallSize",
          "0.583333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.176470588235 * overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.240196078431 * overallSize",
          "0.230392156863 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.230392156863 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.240196078431 * overallSize",
          "0.235294117647 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.235294117647 * overallSize",
          "0.230392156863 * overallSize"
        ],
        [
          "0.240196078431 * overallSize",
          "0.230392156863 * overallSize"
        ],
        [
          "0.240196078431 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.176470588235 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.176470588235 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.343137254902 * overallSize"
        ],
        [
          "0.259803921569 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.269607843137 * overallSize",
          "0.406862745098 * overallSize"
        ],
        [
          "0.264705882353 * overallSize",
          "0.406862745098 * overallSize"
        ],
        [
          "0.264705882353 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.166666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.259803921569 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.343137254902 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.166666666667 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.740196078431 * overallSize",
          "0.397058823529 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.397058823529 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.401960784314 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.406862745098 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.397058823529 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.397058823529 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.401960784314 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.676470588235 * overallSize",
          "0.416666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.509803921569 * overallSize"
        ],
        [
          "0.759803921569 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.769607843137 * overallSize",
          "0.56862745098 * overallSize"
        ],
        [
          "0.769607843137 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.764705882353 * overallSize",
          "0.573529411765 * overallSize"
        ],
        [
          "0.764705882353 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.406862745098 * overallSize"
        ],
        [
          "0.676470588235 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.416666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.759803921569 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.509803921569 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.598039215686 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.602941176471 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.602941176471 * overallSize",
          "0.426470588235 * overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "0.426470588235 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.43137254902 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.43137254902 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.416666666667 * overallSize",
          "0.176470588235 * overallSize"
        ],
        [
          "0.426470588235 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.436274509804 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.43137254902 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.43137254902 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.333333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.426470588235 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "0.176470588235 * overallSize"
        ],
        [
          "0.416666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.333333333333 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.598039215686 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.598039215686 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.602941176471 * overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "0.602941176471 * overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.666666666667 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "0.656862745098 * overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.593137254902 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "0.666666666667 * overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "0.602941176471 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.602941176471 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.598039215686 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.598039215686 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.593137254902 * overallSize"
        ],
        [
          "0.656862745098 * overallSize",
          "0.583333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.583333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.583333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.583333333333 * overallSize",
          "0.490196078431 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.583333333333 * overallSize",
          "0.490196078431 * overallSize"
        ],
        [
          "0.583333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.598039215686 * overallSize",
          "0.426470588235 * overallSize"
        ],
        [
          "0.602941176471 * overallSize",
          "0.426470588235 * overallSize"
        ],
        [
          "0.602941176471 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.43137254902 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.593137254902 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.56862745098 * overallSize",
          "0.269607843137 * overallSize"
        ],
        [
          "0.573529411765 * overallSize",
          "0.269607843137 * overallSize"
        ],
        [
          "0.573529411765 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.56862745098 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.259803921569 * overallSize"
        ],
        [
          "0.509803921569 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.573529411765 * overallSize",
          "0.264705882353 * overallSize"
        ],
        [
          "0.573529411765 * overallSize",
          "0.269607843137 * overallSize"
        ],
        [
          "0.56862745098 * overallSize",
          "0.269607843137 * overallSize"
        ],
        [
          "0.56862745098 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.509803921569 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.259803921569 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.666666666667 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.730392156863 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.730392156863 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.735294117647 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.730392156863 * overallSize",
          "0.240196078431 * overallSize"
        ],
        [
          "0.730392156863 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.235294117647 * overallSize"
        ],
        [
          "0.666666666667 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.176470588235 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.735294117647 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.176470588235 * overallSize"
        ],
        [
          "0.740196078431 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.166666666667 * overallSize"
        ],
        [
          "0.833333333333 * overallSize",
          "0.333333333333 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.333333333333 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"metro-and-square-blocks":{
  "schema": 1,
  "id": "metro-and-square-blocks",
  "name": "Metro and square blocks",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 100,
      "min": 20,
      "max": 600,
      "label": "Metro tile width"
    },
    "square": {
      "expr": "2 * width"
    },
    "length": {
      "expr": "4 * width"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "width",
        "length"
      ]
    },
    {
      "rect": [
        "width",
        "0",
        "square",
        "length"
      ]
    },
    {
      "rect": [
        "square",
        "0",
        "2 * square",
        "width * 2"
      ]
    },
    {
      "rect": [
        "square",
        "square",
        "2 * square",
        "length"
      ]
    },
    {
      "rect": [
        "0",
        "length",
        "square",
        "length + square"
      ]
    },
    {
      "rect": [
        "0",
        "length + square",
        "square",
        "2 * length"
      ]
    },
    {
      "rect": [
        "square",
        "length",
        "square + width",
        "2 * length"
      ]
    },
    {
      "rect": [
        "square + width",
        "length",
        "2 * square",
        "2 * length"
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * square",
      "0"
    ],
    "b": [
      "0",
      "2 * length"
    ]
  }
},"mirrored-zigzag":{
  "schema": 1,
  "id": "mirrored-zigzag",
  "name": "Mirrored zigzag",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 110,
      "min": 20,
      "max": 600,
      "label": "Step across"
    },
    "length": {
      "value": 220,
      "min": 20,
      "max": 1200,
      "label": "Step up"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "2 * width",
          "0"
        ],
        [
          "4 * width",
          "2 * length"
        ],
        [
          "3 * width",
          "3 * length"
        ],
        [
          "2 * width",
          "3 * length"
        ],
        [
          "2 * width",
          "2 * length"
        ],
        [
          "0",
          "2 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * width",
          "0"
        ],
        [
          "6 * width",
          "0"
        ],
        [
          "8 * width",
          "2 * length"
        ],
        [
          "6 * width",
          "2 * length"
        ],
        [
          "6 * width",
          "length"
        ],
        [
          "5 * width",
          "length"
        ],
        [
          "4 * width",
          "2 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * width",
          "0"
        ],
        [
          "8 * width",
          "0"
        ],
        [
          "8 * width",
          "2 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * width",
          "length"
        ],
        [
          "6 * width",
          "length"
        ],
        [
          "6 * width",
          "2 * length"
        ],
        [
          "8 * width",
          "2 * length"
        ],
        [
          "8 * width",
          "4 * length"
        ],
        [
          "6 * width",
          "4 * length"
        ],
        [
          "4 * width",
          "2 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * length"
        ],
        [
          "2 * width",
          "2 * length"
        ],
        [
          "2 * width",
          "3 * length"
        ],
        [
          "3 * width",
          "3 * length"
        ],
        [
          "4 * width",
          "2 * length"
        ],
        [
          "6 * width",
          "4 * length"
        ],
        [
          "2 * width",
          "4 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * length"
        ],
        [
          "2 * width",
          "4 * length"
        ],
        [
          "0",
          "4 * length"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * width",
      "0"
    ],
    "b": [
      "0",
      "4 * length"
    ]
  }
}
,"mitred-frame-square":{
  "schema": 1,
  "id": "mitred-frame-square",
  "name": "Mitred frame square",
  "category": "ceramic",
  "parameters": {
    "overallSize": { "value": 225, "min": 40, "max": 1200, "label": "Tile size" },
    "frameWidth": { "expr": "overallSize * 0.3473" },
    "inner": { "expr": "overallSize - frameWidth" }
  },
  "tiles": [
    { "rect": ["frameWidth", "frameWidth", "inner", "inner"] },
    { "polygon": [["0", "0"], ["overallSize", "0"], ["inner", "frameWidth"], ["frameWidth", "frameWidth"]] },
    { "polygon": [["overallSize", "0"], ["overallSize", "overallSize"], ["inner", "inner"], ["inner", "frameWidth"]] },
    { "polygon": [["overallSize", "overallSize"], ["0", "overallSize"], ["frameWidth", "inner"], ["inner", "inner"]] },
    { "polygon": [["0", "overallSize"], ["0", "0"], ["frameWidth", "frameWidth"], ["frameWidth", "inner"]] }
  ],
  "lattice": { "a": ["overallSize", "0"], "b": ["0", "overallSize"] }
}
,"mixed-width-plank":{
  "schema": 1,
  "id": "mixed-width-plank",
  "name": "Mixed width plank (3 widths)",
  "category": "wood",
  "parameters": {
    "length": { "value": 1800, "min": 600, "max": 3000, "label": "Plank length" },
    "narrowWidth": { "value": 76.2, "min": 20, "max": 400, "label": "Narrow plank" },
    "mediumWidth": { "value": 127, "min": 20, "max": 400, "label": "Medium plank" },
    "wideWidth": { "value": 177.8, "min": 20, "max": 400, "label": "Wide plank" }
  },
  "tiles": [
    {"rect": ["0", "0", "length", "narrowWidth"]},
    {"rect": ["length / 3", "narrowWidth", "4 * length / 3", "narrowWidth + mediumWidth"]},
    {"rect": ["2 * length / 3", "narrowWidth + mediumWidth", "5 * length / 3", "narrowWidth + mediumWidth + wideWidth"]}
  ],
  "lattice": {"a": ["length", "0"], "b": ["0", "narrowWidth + mediumWidth + wideWidth"]}
}
,"modular-paving-mix":{
  "schema": 1,
  "id": "modular-paving-mix",
  "name": "Modular paving mix",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 50,
      "min": 15,
      "max": 300,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "rect": [
        "-3 * moduleSize",
        "0",
        "3 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "0",
        "11 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "11 * moduleSize",
        "0",
        "17 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "2 * moduleSize",
        "6 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "17 * moduleSize",
        "2 * moduleSize",
        "20 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "3 * moduleSize",
        "9 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "3 * moduleSize",
        "17 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "rect": [
        "17 * moduleSize",
        "7 * moduleSize",
        "20 * moduleSize",
        "12 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "8 * moduleSize",
        "3 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "8 * moduleSize",
        "9 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "11 * moduleSize",
        "6 * moduleSize",
        "17 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "11 * moduleSize",
        "12 * moduleSize",
        "14 * moduleSize"
      ]
    },
    {
      "rect": [
        "12 * moduleSize",
        "11 * moduleSize",
        "17 * moduleSize",
        "14 * moduleSize"
      ]
    },
    {
      "rect": [
        "17 * moduleSize",
        "12 * moduleSize",
        "20 * moduleSize",
        "17 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "14 * moduleSize",
        "9 * moduleSize",
        "20 * moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "14 * moduleSize",
        "14 * moduleSize",
        "17 * moduleSize"
      ]
    },
    {
      "rect": [
        "14 * moduleSize",
        "14 * moduleSize",
        "17 * moduleSize",
        "17 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "17 * moduleSize",
        "3 * moduleSize",
        "20 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "17 * moduleSize",
        "6 * moduleSize",
        "22 * moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "17 * moduleSize",
        "15 * moduleSize",
        "20 * moduleSize"
      ]
    },
    {
      "rect": [
        "15 * moduleSize",
        "17 * moduleSize",
        "20 * moduleSize",
        "20 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "20 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-20 * moduleSize"
    ]
  }
},"monk-bond":{
  "schema": 1,
  "id": "monk-bond",
  "name": "Monk bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "2 * length", "width"] },
    { "rect": ["2 * length", "0", "5 * length / 2", "width"] }
  ],
  "lattice": { "a": ["5 * length / 2", "0"], "b": ["5 * length / 4", "width"] }
}
,"moorish-star-and-cross":{
  "schema": 1,
  "id": "moorish-star-and-cross",
  "name": "Moorish star and cross",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.857142857143 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.642857142857 * overallSize"
        ],
        [
          "0.857142857143 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.642857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-0.142857142857 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0",
          "0.642857142857 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.892857142857 * overallSize"
        ],
        [
          "-0.035714285714 * overallSize",
          "0.892857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.357142857143 * overallSize",
          "0"
        ],
        [
          "0.464285714286 * overallSize",
          "-0.107142857143 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "-0.107142857143 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.142857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.607142857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "-0.107142857143 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "-0.107142857143 * overallSize"
        ],
        [
          "0.857142857143 * overallSize",
          "-0.214285714286 * overallSize"
        ],
        [
          "0.964285714286 * overallSize",
          "-0.107142857143 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "-0.107142857143 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "1.214285714286 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "1.107142857143 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.964285714286 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.857142857143 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.392857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.107142857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0",
          "0.642857142857 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.357142857143 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.464285714286 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.642857142857 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.892857142857 * overallSize"
        ],
        [
          "0.464285714286 * overallSize",
          "0.892857142857 * overallSize"
        ],
        [
          "0.357142857143 * overallSize",
          "overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.892857142857 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.892857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.607142857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.642857142857 * overallSize"
        ],
        [
          "0.857142857143 * overallSize",
          "0.785714285714 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.892857142857 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.892857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.357142857143 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.464285714286 * overallSize",
          "0.392857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.107142857143 * overallSize",
          "0.035714285714 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "-0.107142857143 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "-0.107142857143 * overallSize"
        ],
        [
          "0.357142857143 * overallSize",
          "0"
        ],
        [
          "0.214285714286 * overallSize",
          "0.142857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-0.142857142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "-0.035714285714 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.535714285714 * overallSize"
        ],
        [
          "0",
          "0.642857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.607142857143 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.857142857143 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.642857142857 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.535714285714 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.357142857143 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "0.357142857143 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "0.142857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.107142857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "0.357142857143 * overallSize",
          "0.285714285714 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.107142857143 * overallSize",
          "0.392857142857 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"moroccan-arrow-square":{
  "schema": 1,
  "id": "moroccan-arrow-square",
  "name": "Moroccan arrow and square",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 10,
      "min": 2,
      "max": 60,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "4 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "0",
          "9 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "9 * moduleSize",
          "0"
        ],
        [
          "13 * moduleSize",
          "-4 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "0"
        ],
        [
          "22 * moduleSize",
          "0"
        ],
        [
          "22 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "22 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "0"
        ],
        [
          "53 * moduleSize",
          "0"
        ],
        [
          "53 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "49 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "53 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "53 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "49 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "49 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "45 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "49 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "49 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "22 * moduleSize",
        "18 * moduleSize",
        "53 * moduleSize",
        "49 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "49 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-49 * moduleSize"
    ]
  }
},"moroccan-star-and-bar":{
  "schema": 1,
  "id": "moroccan-star-and-bar",
  "name": "Moroccan star and bar",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 260,
      "min": 40,
      "max": 1200,
      "label": "Star width"
    },
    "unit": {
      "expr": "edge / 14"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "22 * unit",
          "0"
        ],
        [
          "25 * unit",
          "0"
        ],
        [
          "27 * unit",
          "2 * unit"
        ],
        [
          "29 * unit",
          "0"
        ],
        [
          "47 * unit",
          "0"
        ],
        [
          "49 * unit",
          "2 * unit"
        ],
        [
          "51 * unit",
          "0"
        ],
        [
          "54 * unit",
          "0"
        ],
        [
          "54 * unit",
          "12 * unit"
        ],
        [
          "51 * unit",
          "12 * unit"
        ],
        [
          "49 * unit",
          "10 * unit"
        ],
        [
          "47 * unit",
          "12 * unit"
        ],
        [
          "29 * unit",
          "12 * unit"
        ],
        [
          "27 * unit",
          "10 * unit"
        ],
        [
          "25 * unit",
          "12 * unit"
        ],
        [
          "22 * unit",
          "12 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * unit",
          "10 * unit"
        ],
        [
          "7 * unit",
          "12 * unit"
        ],
        [
          "10 * unit",
          "12 * unit"
        ],
        [
          "10 * unit",
          "15 * unit"
        ],
        [
          "12 * unit",
          "17 * unit"
        ],
        [
          "10 * unit",
          "19 * unit"
        ],
        [
          "10 * unit",
          "22 * unit"
        ],
        [
          "7 * unit",
          "22 * unit"
        ],
        [
          "5 * unit",
          "24 * unit"
        ],
        [
          "3 * unit",
          "22 * unit"
        ],
        [
          "0",
          "22 * unit"
        ],
        [
          "0",
          "19 * unit"
        ],
        [
          "-2 * unit",
          "17 * unit"
        ],
        [
          "0",
          "15 * unit"
        ],
        [
          "0",
          "12 * unit"
        ],
        [
          "3 * unit",
          "12 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "27 * unit",
          "10 * unit"
        ],
        [
          "29 * unit",
          "12 * unit"
        ],
        [
          "32 * unit",
          "12 * unit"
        ],
        [
          "32 * unit",
          "15 * unit"
        ],
        [
          "34 * unit",
          "17 * unit"
        ],
        [
          "32 * unit",
          "19 * unit"
        ],
        [
          "32 * unit",
          "22 * unit"
        ],
        [
          "29 * unit",
          "22 * unit"
        ],
        [
          "27 * unit",
          "24 * unit"
        ],
        [
          "25 * unit",
          "22 * unit"
        ],
        [
          "22 * unit",
          "22 * unit"
        ],
        [
          "22 * unit",
          "19 * unit"
        ],
        [
          "20 * unit",
          "17 * unit"
        ],
        [
          "22 * unit",
          "15 * unit"
        ],
        [
          "22 * unit",
          "12 * unit"
        ],
        [
          "25 * unit",
          "12 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "32 * unit",
          "12 * unit"
        ],
        [
          "44 * unit",
          "12 * unit"
        ],
        [
          "44 * unit",
          "15 * unit"
        ],
        [
          "42 * unit",
          "17 * unit"
        ],
        [
          "44 * unit",
          "19 * unit"
        ],
        [
          "44 * unit",
          "37 * unit"
        ],
        [
          "42 * unit",
          "39 * unit"
        ],
        [
          "44 * unit",
          "41 * unit"
        ],
        [
          "44 * unit",
          "44 * unit"
        ],
        [
          "32 * unit",
          "44 * unit"
        ],
        [
          "32 * unit",
          "41 * unit"
        ],
        [
          "34 * unit",
          "39 * unit"
        ],
        [
          "32 * unit",
          "37 * unit"
        ],
        [
          "32 * unit",
          "19 * unit"
        ],
        [
          "34 * unit",
          "17 * unit"
        ],
        [
          "32 * unit",
          "15 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "22 * unit"
        ],
        [
          "3 * unit",
          "22 * unit"
        ],
        [
          "5 * unit",
          "24 * unit"
        ],
        [
          "7 * unit",
          "22 * unit"
        ],
        [
          "25 * unit",
          "22 * unit"
        ],
        [
          "27 * unit",
          "24 * unit"
        ],
        [
          "29 * unit",
          "22 * unit"
        ],
        [
          "32 * unit",
          "22 * unit"
        ],
        [
          "32 * unit",
          "34 * unit"
        ],
        [
          "29 * unit",
          "34 * unit"
        ],
        [
          "27 * unit",
          "32 * unit"
        ],
        [
          "25 * unit",
          "34 * unit"
        ],
        [
          "7 * unit",
          "34 * unit"
        ],
        [
          "5 * unit",
          "32 * unit"
        ],
        [
          "3 * unit",
          "34 * unit"
        ],
        [
          "0",
          "34 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * unit",
          "32 * unit"
        ],
        [
          "7 * unit",
          "34 * unit"
        ],
        [
          "10 * unit",
          "34 * unit"
        ],
        [
          "10 * unit",
          "37 * unit"
        ],
        [
          "12 * unit",
          "39 * unit"
        ],
        [
          "10 * unit",
          "41 * unit"
        ],
        [
          "10 * unit",
          "44 * unit"
        ],
        [
          "7 * unit",
          "44 * unit"
        ],
        [
          "5 * unit",
          "46 * unit"
        ],
        [
          "3 * unit",
          "44 * unit"
        ],
        [
          "0",
          "44 * unit"
        ],
        [
          "0",
          "41 * unit"
        ],
        [
          "-2 * unit",
          "39 * unit"
        ],
        [
          "0",
          "37 * unit"
        ],
        [
          "0",
          "34 * unit"
        ],
        [
          "3 * unit",
          "34 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "27 * unit",
          "32 * unit"
        ],
        [
          "29 * unit",
          "34 * unit"
        ],
        [
          "32 * unit",
          "34 * unit"
        ],
        [
          "32 * unit",
          "37 * unit"
        ],
        [
          "34 * unit",
          "39 * unit"
        ],
        [
          "32 * unit",
          "41 * unit"
        ],
        [
          "32 * unit",
          "44 * unit"
        ],
        [
          "29 * unit",
          "44 * unit"
        ],
        [
          "27 * unit",
          "46 * unit"
        ],
        [
          "25 * unit",
          "44 * unit"
        ],
        [
          "22 * unit",
          "44 * unit"
        ],
        [
          "22 * unit",
          "41 * unit"
        ],
        [
          "20 * unit",
          "39 * unit"
        ],
        [
          "22 * unit",
          "37 * unit"
        ],
        [
          "22 * unit",
          "34 * unit"
        ],
        [
          "25 * unit",
          "34 * unit"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * unit",
          "34 * unit"
        ],
        [
          "22 * unit",
          "34 * unit"
        ],
        [
          "22 * unit",
          "37 * unit"
        ],
        [
          "20 * unit",
          "39 * unit"
        ],
        [
          "22 * unit",
          "41 * unit"
        ],
        [
          "22 * unit",
          "59 * unit"
        ],
        [
          "20 * unit",
          "61 * unit"
        ],
        [
          "22 * unit",
          "63 * unit"
        ],
        [
          "22 * unit",
          "66 * unit"
        ],
        [
          "10 * unit",
          "66 * unit"
        ],
        [
          "10 * unit",
          "63 * unit"
        ],
        [
          "12 * unit",
          "61 * unit"
        ],
        [
          "10 * unit",
          "59 * unit"
        ],
        [
          "10 * unit",
          "41 * unit"
        ],
        [
          "12 * unit",
          "39 * unit"
        ],
        [
          "10 * unit",
          "37 * unit"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "44 * unit",
      "0"
    ],
    "b": [
      "0",
      "44 * unit"
    ]
  }
}
,"moroccan-star-and-shield":{
 "schema": 1,
 "id": "moroccan-star-and-shield",
 "name": "Moroccan star and shield",
 "category": "ceramic",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 296.0,
   "min": 29.6,
   "max": 1776.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.001510 * overallSize",
     "0.001696 * overallSize"
    ],
    [
     "0.297111 * overallSize",
     "0.001696 * overallSize"
    ],
    [
     "0.297146 * overallSize",
     "0.426767 * overallSize"
    ],
    [
     "0.499182 * overallSize",
     "0.635682 * overallSize"
    ],
    [
     "0.210697 * overallSize",
     "0.753060 * overallSize"
    ],
    [
     "0.001520 * overallSize",
     "0.551059 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.295787 * overallSize",
     "0.002155 * overallSize"
    ],
    [
     "-0.000179 * overallSize",
     "0.002155 * overallSize"
    ],
    [
     "-0.000179 * overallSize",
     "0.551324 * overallSize"
    ],
    [
     "-0.208867 * overallSize",
     "0.753280 * overallSize"
    ],
    [
     "-0.497848 * overallSize",
     "0.635702 * overallSize"
    ],
    [
     "-0.296025 * overallSize",
     "0.427135 * overallSize"
    ],
    [
     "-0.295787 * overallSize",
     "0.426547 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000817 * overallSize",
     "0.552730 * overallSize"
    ],
    [
     "0.209232 * overallSize",
     "0.753994 * overallSize"
    ],
    [
     "0.209229 * overallSize",
     "0.754511 * overallSize"
    ],
    [
     "0.001247 * overallSize",
     "0.955777 * overallSize"
    ],
    [
     "-0.207433 * overallSize",
     "0.754256 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.789087 * overallSize",
     "0.754257 * overallSize"
    ],
    [
     "0.500682 * overallSize",
     "0.871602 * overallSize"
    ],
    [
     "0.212275 * overallSize",
     "0.754257 * overallSize"
    ],
    [
     "0.500682 * overallSize",
     "0.636912 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.295795 * overallSize",
     "1.081746 * overallSize"
    ],
    [
     "-0.497831 * overallSize",
     "0.872831 * overallSize"
    ],
    [
     "-0.208852 * overallSize",
     "0.755254 * overallSize"
    ],
    [
     "-0.000169 * overallSize",
     "0.956777 * overallSize"
    ],
    [
     "-0.000169 * overallSize",
     "1.506791 * overallSize"
    ],
    [
     "-0.295777 * overallSize",
     "1.506791 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.210699 * overallSize",
     "0.755439 * overallSize"
    ],
    [
     "0.499187 * overallSize",
     "0.872817 * overallSize"
    ],
    [
     "0.297163 * overallSize",
     "1.081719 * overallSize"
    ],
    [
     "0.297128 * overallSize",
     "1.506351 * overallSize"
    ],
    [
     "0.001520 * overallSize",
     "1.506351 * overallSize"
    ],
    [
     "0.001530 * overallSize",
     "0.957747 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.702534 * overallSize",
     "1.082294 * overallSize"
    ],
    [
     "0.702534 * overallSize",
     "1.507287 * overallSize"
    ],
    [
     "0.500676 * overallSize",
     "1.715873 * overallSize"
    ],
    [
     "0.298818 * overallSize",
     "1.507280 * overallSize"
    ],
    [
     "0.298818 * overallSize",
     "1.082301 * overallSize"
    ],
    [
     "0.500679 * overallSize",
     "0.873704 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.297128 * overallSize",
     "1.803649 * overallSize"
    ],
    [
     "0.001520 * overallSize",
     "1.803649 * overallSize"
    ],
    [
     "0.001520 * overallSize",
     "1.508041 * overallSize"
    ],
    [
     "0.297128 * overallSize",
     "1.508041 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.295780 * overallSize",
     "1.508497 * overallSize"
    ],
    [
     "-0.000172 * overallSize",
     "1.508497 * overallSize"
    ],
    [
     "-0.000172 * overallSize",
     "1.803649 * overallSize"
    ],
    [
     "-0.295777 * overallSize",
     "1.803649 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.499512 * overallSize",
     "1.717100 * overallSize"
    ],
    [
     "0.419226 * overallSize",
     "1.803649 * overallSize"
    ],
    [
     "0.298818 * overallSize",
     "1.803649 * overallSize"
    ],
    [
     "0.298818 * overallSize",
     "1.509709 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.702534 * overallSize",
     "1.509722 * overallSize"
    ],
    [
     "0.702534 * overallSize",
     "1.803649 * overallSize"
    ],
    [
     "0.585628 * overallSize",
     "1.803649 * overallSize"
    ],
    [
     "0.501851 * overallSize",
     "1.717101 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.298757 * overallSize",
     "1.922918 * overallSize"
    ],
    [
     "0.298814 * overallSize",
     "1.805355 * overallSize"
    ],
    [
     "0.419926 * overallSize",
     "1.805284 * overallSize"
    ],
    [
     "0.500682 * overallSize",
     "1.718333 * overallSize"
    ],
    [
     "0.584917 * overallSize",
     "1.805281 * overallSize"
    ],
    [
     "0.702510 * overallSize",
     "1.805348 * overallSize"
    ],
    [
     "0.702581 * overallSize",
     "1.926463 * overallSize"
    ],
    [
     "0.789532 * overallSize",
     "2.007219 * overallSize"
    ],
    [
     "0.702584 * overallSize",
     "2.091454 * overallSize"
    ],
    [
     "0.702517 * overallSize",
     "2.209047 * overallSize"
    ],
    [
     "0.581402 * overallSize",
     "2.209118 * overallSize"
    ],
    [
     "0.500657 * overallSize",
     "2.296057 * overallSize"
    ],
    [
     "0.416428 * overallSize",
     "2.209114 * overallSize"
    ],
    [
     "0.298851 * overallSize",
     "2.209047 * overallSize"
    ],
    [
     "0.298781 * overallSize",
     "2.087939 * overallSize"
    ],
    [
     "0.211812 * overallSize",
     "2.007167 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.001837 * overallSize",
     "1.805338 * overallSize"
    ],
    [
     "-0.209228 * overallSize",
     "2.006033 * overallSize"
    ],
    [
     "-0.295777 * overallSize",
     "1.925746 * overallSize"
    ],
    [
     "-0.295764 * overallSize",
     "1.805338 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.297125 * overallSize",
     "1.922254 * overallSize"
    ],
    [
     "0.210570 * overallSize",
     "2.006014 * overallSize"
    ],
    [
     "0.002766 * overallSize",
     "1.805338 * overallSize"
    ],
    [
     "0.297125 * overallSize",
     "1.805348 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000247 * overallSize",
     "1.805671 * overallSize"
    ],
    [
     "0.208923 * overallSize",
     "2.007190 * overallSize"
    ],
    [
     "0.000672 * overallSize",
     "2.208717 * overallSize"
    ],
    [
     "-0.208004 * overallSize",
     "2.007199 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.210614 * overallSize",
     "2.008359 * overallSize"
    ],
    [
     "0.297162 * overallSize",
     "2.088646 * overallSize"
    ],
    [
     "0.297162 * overallSize",
     "2.208615 * overallSize"
    ],
    [
     "0.003675 * overallSize",
     "2.208615 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.209219 * overallSize",
     "2.008377 * overallSize"
    ],
    [
     "-0.001415 * overallSize",
     "2.209054 * overallSize"
    ],
    [
     "-0.295777 * overallSize",
     "2.209054 * overallSize"
    ],
    [
     "-0.295774 * overallSize",
     "2.092138 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.415740 * overallSize",
     "2.210736 * overallSize"
    ],
    [
     "0.499500 * overallSize",
     "2.297291 * overallSize"
    ],
    [
     "0.298818 * overallSize",
     "2.504669 * overallSize"
    ],
    [
     "0.298834 * overallSize",
     "2.210736 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.582125 * overallSize",
     "2.210743 * overallSize"
    ],
    [
     "0.702534 * overallSize",
     "2.210743 * overallSize"
    ],
    [
     "0.702534 * overallSize",
     "2.504670 * overallSize"
    ],
    [
     "0.501839 * overallSize",
     "2.297292 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.000169 * overallSize",
     "2.211622 * overallSize"
    ],
    [
     "-0.000169 * overallSize",
     "2.507230 * overallSize"
    ],
    [
     "-0.295777 * overallSize",
     "2.507230 * overallSize"
    ],
    [
     "-0.295777 * overallSize",
     "2.211622 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.001524 * overallSize",
     "2.211622 * overallSize"
    ],
    [
     "0.297128 * overallSize",
     "2.211622 * overallSize"
    ],
    [
     "0.297128 * overallSize",
     "2.506791 * overallSize"
    ],
    [
     "0.001520 * overallSize",
     "2.506791 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.500676 * overallSize",
     "2.299377 * overallSize"
    ],
    [
     "0.702534 * overallSize",
     "2.507970 * overallSize"
    ],
    [
     "0.702534 * overallSize",
     "2.932962 * overallSize"
    ],
    [
     "0.500676 * overallSize",
     "3.141556 * overallSize"
    ],
    [
     "0.298818 * overallSize",
     "2.932962 * overallSize"
    ],
    [
     "0.298818 * overallSize",
     "2.507970 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "296 / 296 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "742 / 296 * overallSize"
  ]
 }
},"mosaic-star-and-cross":{
  "schema": 1,
  "id": "mosaic-star-and-cross",
  "name": "Mosaic star and cross",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 50,
      "min": 10,
      "max": 300,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "-moduleSize"
        ],
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ],
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "moduleSize",
          "-moduleSize"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "9 * moduleSize",
          "moduleSize"
        ],
        [
          "9 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "7 * moduleSize"
        ],
        [
          "0",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "7 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-8 * moduleSize"
    ]
  }
},"multifoil-sebka":{
  "schema": 1,
  "id": "multifoil-sebka",
  "name": "Multifoil sebka",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 100, "min": 30, "max": 400, "label": "Width" },
    "heightRatio": { "expr": "1.2" },
    "depthRatio": { "expr": "0.66" },
    "rowStep": { "expr": "width * heightRatio" },
    "lobeWidth": { "expr": "width / 3" },
    "lobeRise": { "expr": "depthRatio * lobeWidth / 2" },
    "lobeRadius": { "expr": "(lobeWidth * lobeWidth / 4 + lobeRise * lobeRise) / (2 * lobeRise)" }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": {
            "center": ["1 * lobeWidth / 2", "lobeRise - lobeRadius"],
            "from": ["0 * lobeWidth", "0"],
            "to": ["1 * lobeWidth", "0"],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": ["3 * lobeWidth / 2", "lobeRise - lobeRadius"],
            "from": ["1 * lobeWidth", "0"],
            "to": ["2 * lobeWidth", "0"],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": ["5 * lobeWidth / 2", "lobeRise - lobeRadius"],
            "from": ["2 * lobeWidth", "0"],
            "to": ["3 * lobeWidth", "0"],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": ["width", "rowStep"]
          }
        },
        {
          "arc": {
            "center": ["5 * lobeWidth / 2", "rowStep + lobeRise - lobeRadius"],
            "from": ["3 * lobeWidth", "rowStep"],
            "to": ["2 * lobeWidth", "rowStep"],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": ["3 * lobeWidth / 2", "rowStep + lobeRise - lobeRadius"],
            "from": ["2 * lobeWidth", "rowStep"],
            "to": ["1 * lobeWidth", "rowStep"],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": ["1 * lobeWidth / 2", "rowStep + lobeRise - lobeRadius"],
            "from": ["1 * lobeWidth", "rowStep"],
            "to": ["0 * lobeWidth", "rowStep"],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": ["0", "0"]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": ["width", "0"],
    "b": ["0", "rowStep"]
  }
}
,"muster-k":{
  "schema": 1,
  "id": "muster-k",
  "name": "Muster K",
  "category": "stone",
  "parameters": {
    "moduleSize": {"value": 76.2, "min": 20, "max": 500, "label": "Square side / 2"}
  },
  "tiles": [
    { "rect": ["-2 * moduleSize", "3 * moduleSize", "0", "5 * moduleSize"] },
    { "rect": ["2 * moduleSize", "3 * moduleSize", "4 * moduleSize", "5 * moduleSize"] },
    { "rect": ["moduleSize", "moduleSize", "4 * moduleSize", "3 * moduleSize"] },
    { "rect": ["0", "3 * moduleSize", "2 * moduleSize", "6 * moduleSize"] },
    { "rect": ["0", "6 * moduleSize", "2 * moduleSize", "9 * moduleSize"] },
    { "rect": ["2 * moduleSize", "5 * moduleSize", "5 * moduleSize", "7 * moduleSize"] }
  ],
  "lattice": { "a": ["4 * moduleSize", "4 * moduleSize"], "b": ["-4 * moduleSize", "4 * moduleSize"] }
}
,"narrow-infill-stack":{
  "schema": 1,
  "id": "narrow-infill-stack",
  "name": "Narrow infill stack",
  "category": "stone",
  "parameters": {
    "length": { "value": 260, "min": 60, "max": 1500, "label": "Slab height" },
    "width": { "value": 200, "min": 40, "max": 1200, "label": "Wide slab" },
    "sizeRatio": { "value": 0.55, "min": 0.1, "max": 0.95, "label": "Narrow / wide slab", "unit": "none" },
    "narrowSlab": { "expr": "width * sizeRatio" },
    "period": { "expr": "2 * width + narrowSlab" }
  },
  "tiles": [
    { "rect": ["0", "0", "narrowSlab", "length"] },
    { "rect": ["narrowSlab", "0", "narrowSlab + width", "length"] },
    { "rect": ["narrowSlab + width", "0", "period", "length"] }
  ],
  "lattice": { "a": ["period", "0"], "b": ["0", "length"] }
}
,"natural-slate":{
  "schema": 1,
  "id": "natural-slate",
  "name": "Natural slate",
  "category": "lapped",
  "parameters": {
    "width": { "value": 250, "min": 150, "max": 400, "label": "Slate width" },
    "gauge": { "value": 217.5, "min": 100, "max": 350, "label": "Gauge (visible height)" },
    "offset": { "value": 0.5, "min": 0, "max": 1, "label": "Course offset (fraction of width)", "unit": "none" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "gauge"] }
  ],
  "lattice": { "a": ["width", "0"], "b": ["offset * width", "gauge"] },
  "lap": {"rows": 282.5}
}
,"nested-chevron-frame":{
  "schema": 1,
  "id": "nested-chevron-frame",
  "name": "Nested chevron frame",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 12,
      "min": 2,
      "max": 120,
      "label": "Step across"
    },
    "length": {
      "value": 18,
      "min": 2,
      "max": 180,
      "label": "Step up"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "42 * width",
          "0"
        ],
        [
          "42 * width",
          "20 * length"
        ],
        [
          "38 * width",
          "20 * length"
        ],
        [
          "33 * width",
          "3 * length"
        ],
        [
          "9 * width",
          "3 * length"
        ],
        [
          "4 * width",
          "20 * length"
        ],
        [
          "0",
          "20 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * width",
          "3 * length"
        ],
        [
          "33 * width",
          "3 * length"
        ],
        [
          "38 * width",
          "20 * length"
        ],
        [
          "31 * width",
          "20 * length"
        ],
        [
          "28 * width",
          "13 * length"
        ],
        [
          "14 * width",
          "13 * length"
        ],
        [
          "11 * width",
          "20 * length"
        ],
        [
          "4 * width",
          "20 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "14 * width",
          "13 * length"
        ],
        [
          "28 * width",
          "13 * length"
        ],
        [
          "31 * width",
          "20 * length"
        ],
        [
          "11 * width",
          "20 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "20 * length"
        ],
        [
          "4 * width",
          "20 * length"
        ],
        [
          "9 * width",
          "37 * length"
        ],
        [
          "33 * width",
          "37 * length"
        ],
        [
          "38 * width",
          "20 * length"
        ],
        [
          "42 * width",
          "20 * length"
        ],
        [
          "42 * width",
          "40 * length"
        ],
        [
          "0",
          "40 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * width",
          "20 * length"
        ],
        [
          "11 * width",
          "20 * length"
        ],
        [
          "14 * width",
          "27 * length"
        ],
        [
          "28 * width",
          "27 * length"
        ],
        [
          "31 * width",
          "20 * length"
        ],
        [
          "38 * width",
          "20 * length"
        ],
        [
          "33 * width",
          "37 * length"
        ],
        [
          "9 * width",
          "37 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * width",
          "20 * length"
        ],
        [
          "31 * width",
          "20 * length"
        ],
        [
          "28 * width",
          "27 * length"
        ],
        [
          "14 * width",
          "27 * length"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "42 * width",
      "0"
    ],
    "b": [
      "0",
      "40 * length"
    ]
  }
}
,"nested-pinwheel":{
  "schema": 1,
  "id": "nested-pinwheel",
  "name": "Nested pinwheel",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 50, "min": 10, "max": 300, "label": "Module side" }
  },
  "tiles": [
    { "rect": ["0", "3 * moduleSize", "3 * moduleSize", "12 * moduleSize"] },
    { "rect": ["3 * moduleSize", "9 * moduleSize", "12 * moduleSize", "12 * moduleSize"] },
    { "rect": ["9 * moduleSize", "0", "12 * moduleSize", "9 * moduleSize"] },
    { "rect": ["0", "0", "9 * moduleSize", "3 * moduleSize"] },
    { "rect": ["3 * moduleSize", "5 * moduleSize", "5 * moduleSize", "9 * moduleSize"] },
    { "rect": ["5 * moduleSize", "7 * moduleSize", "9 * moduleSize", "9 * moduleSize"] },
    { "rect": ["7 * moduleSize", "3 * moduleSize", "9 * moduleSize", "7 * moduleSize"] },
    { "rect": ["3 * moduleSize", "3 * moduleSize", "7 * moduleSize", "5 * moduleSize"] },
    { "rect": ["5 * moduleSize", "5 * moduleSize", "7 * moduleSize", "7 * moduleSize"] }
  ],
  "lattice": { "a": ["12 * moduleSize", "0"], "b": ["0", "12 * moduleSize"] }
}
,"none":{
  "schema": 1,
  "id": "none",
  "name": "None",
  "category": "none",
  "parameters": {
    "width": { "value": 1000, "min": 1, "max": 1000000, "label": "Image width" },
    "height": { "value": 1000, "min": 1, "max": 1000000, "label": "Image height" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "height"] }
  ],
  "lattice": { "a": ["width", "0"], "b": ["0", "height"] }
}
,"notched-band-stripe":{
  "schema": 1,
  "id": "notched-band-stripe",
  "name": "Notched band stripe",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "0.306010928962 * overallSize",
        "0.743169398907 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.693989071038 * overallSize",
              "0.743169398907 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.693989071038 * overallSize",
              "0.55737704918 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.766441800116086 * overallSize",
              "0.371584699453552 * overallSize"
            ],
            "from": [
              "0.693989071038 * overallSize",
              "0.55737704918 * overallSize"
            ],
            "to": [
              "0.693989071038 * overallSize",
              "0.185792349727 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.693989071038 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.306010928962 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.306010928962 * overallSize",
              "0.185792349727 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.233558199883914 * overallSize",
              "0.371584699453552 * overallSize"
            ],
            "from": [
              "0.306010928962 * overallSize",
              "0.185792349727 * overallSize"
            ],
            "to": [
              "0.306010928962 * overallSize",
              "0.55737704918 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.306010928962 * overallSize",
              "0.743169398907 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.153005464481 * overallSize",
        "0.743169398907 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.306010928962 * overallSize",
              "0.743169398907 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.306010928962 * overallSize",
              "0.55737704918 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.233558199883914 * overallSize",
              "0.371584699453552 * overallSize"
            ],
            "from": [
              "0.306010928962 * overallSize",
              "0.55737704918 * overallSize"
            ],
            "to": [
              "0.306010928962 * overallSize",
              "0.185792349727 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.306010928962 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.153005464481 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.153005464481 * overallSize",
              "0.27868852459 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.153851281910339 * overallSize",
              "0.371584699453552 * overallSize"
            ],
            "from": [
              "0.153005464481 * overallSize",
              "0.27868852459 * overallSize"
            ],
            "to": [
              "0.153005464481 * overallSize",
              "0.464480874317 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.153005464481 * overallSize",
              "0.743169398907 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.693989071038 * overallSize",
        "0.743169398907 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.846994535519 * overallSize",
              "0.743169398907 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.846994535519 * overallSize",
              "0.464480874317 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.84614871808966 * overallSize",
              "0.371584699453552 * overallSize"
            ],
            "from": [
              "0.846994535519 * overallSize",
              "0.464480874317 * overallSize"
            ],
            "to": [
              "0.846994535519 * overallSize",
              "0.27868852459 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.846994535519 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.693989071038 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.693989071038 * overallSize",
              "0.185792349727 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.766441800116085 * overallSize",
              "0.371584699453552 * overallSize"
            ],
            "from": [
              "0.693989071038 * overallSize",
              "0.185792349727 * overallSize"
            ],
            "to": [
              "0.693989071038 * overallSize",
              "0.55737704918 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.693989071038 * overallSize",
              "0.743169398907 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.846994535519 * overallSize",
        "0.743169398907 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "0.743169398907 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.846994535519 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.846994535519 * overallSize",
              "0.27868852459 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.846148718089662 * overallSize",
              "0.371584699453552 * overallSize"
            ],
            "from": [
              "0.846994535519 * overallSize",
              "0.27868852459 * overallSize"
            ],
            "to": [
              "0.846994535519 * overallSize",
              "0.464480874317 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.846994535519 * overallSize",
              "0.743169398907 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "0.743169398907 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.153005464481 * overallSize",
              "0.743169398907 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.153005464481 * overallSize",
              "0.464480874317 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.153851281910339 * overallSize",
              "0.371584699453552 * overallSize"
            ],
            "from": [
              "0.153005464481 * overallSize",
              "0.464480874317 * overallSize"
            ],
            "to": [
              "0.153005464481 * overallSize",
              "0.27868852459 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.153005464481 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.743169398907 * overallSize"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "0.743169398907 * overallSize"
    ]
  }
}
,"notched-paver":{
  "schema": 1,
  "id": "notched-paver",
  "name": "Notched paver",
  "category": "stone",
  "coverage": "partial",
  "parameters": {
    "length": { "value": 230, "min": 120, "max": 400, "label": "Length" },
    "width": { "value": 115, "min": 80, "max": 200, "label": "Width" },
    "notchDepth": { "expr": "10" },
    "notchOpening": { "expr": "0.1739130435 * length" },
    "notchFloorWidth": { "expr": "0.75 * notchOpening" },
    "bottomNotchX": { "expr": "3 * length / 8" },
    "topNotchX": { "expr": "5 * length / 8" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["bottomNotchX - notchOpening / 2", "0"],
        ["bottomNotchX - notchFloorWidth / 2", "notchDepth"],
        ["bottomNotchX + notchFloorWidth / 2", "notchDepth"],
        ["bottomNotchX + notchOpening / 2", "0"],
        ["length", "0"],
        ["length", "width"],
        ["topNotchX + notchOpening / 2", "width"],
        ["topNotchX + notchFloorWidth / 2", "width - notchDepth"],
        ["topNotchX - notchFloorWidth / 2", "width - notchDepth"],
        ["topNotchX - notchOpening / 2", "width"],
        ["0", "width"]
      ]
    }
  ],
  "lattice": {
    "a": ["length", "0"],
    "b": ["length / 2", "width"]
  }
}
,"notched-square-and-key":{
  "schema": 1,
  "id": "notched-square-and-key",
  "name": "Notched square and key",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 50,
      "min": 10,
      "max": 300,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "-4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "-3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "-moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "0",
          "8 * moduleSize"
        ],
        [
          "-4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-4 * moduleSize",
          "0"
        ],
        [
          "-3 * moduleSize",
          "moduleSize"
        ],
        [
          "-moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "-moduleSize",
          "3 * moduleSize"
        ],
        [
          "-3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "-4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * moduleSize",
      "-4 * moduleSize"
    ],
    "b": [
      "-4 * moduleSize",
      "-4 * moduleSize"
    ]
  }
},"notched-star-weave":{
  "schema": 1,
  "id": "notched-star-weave",
  "name": "Notched star weave",
  "category": "ceramic",
  "parameters": {
    "overallSize": { "value": 319, "min": 60, "max": 1500, "label": "Tile size" },
    "notch": { "expr": "overallSize * 0.163009" },
    "far": { "expr": "overallSize - notch" },
    "half": { "expr": "overallSize / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["notch", "notch"], ["half - notch", "notch"], ["half", "2 * notch"], ["half + notch", "notch"], ["far", "notch"],
        ["far", "half - notch"], ["far - notch", "half"], ["far", "half + notch"], ["far", "far"],
        ["half + notch", "far"], ["half", "far - notch"], ["half - notch", "far"], ["notch", "far"],
        ["notch", "half + notch"], ["2 * notch", "half"], ["notch", "half - notch"]
      ]
    },
    {
      "polygon": [
        ["notch", "-notch"], ["half - notch", "-notch"], ["half", "-2 * notch"], ["half + notch", "-notch"], ["far", "-notch"],
        ["overallSize", "0"], ["far", "notch"], ["half + notch", "notch"], ["half", "2 * notch"], ["half - notch", "notch"],
        ["notch", "notch"], ["0", "0"]
      ]
    },
    {
      "polygon": [
        ["-notch", "notch"], ["0", "0"], ["notch", "notch"], ["notch", "half - notch"], ["2 * notch", "half"],
        ["notch", "half + notch"], ["notch", "far"], ["0", "overallSize"], ["-notch", "far"],
        ["-notch", "half + notch"], ["-2 * notch", "half"], ["-notch", "half - notch"]
      ]
    }
  ],
  "lattice": { "a": ["overallSize", "0"], "b": ["0", "overallSize"] }
}
,"octagon-and-corner":{
  "schema": 1,
  "id": "octagon-and-corner",
  "name": "Octagon and corner",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 300, "min": 40, "max": 1500, "label": "Tile side" },
    "sizeRatio": { "value": 0.25, "min": 0.05, "max": 0.5, "label": "Corner cut / side", "unit": "none" },
    "cut": { "expr": "edge * sizeRatio" }
  },
  "tiles": [
    { "polygon": [["cut", "0"], ["edge - cut", "0"], ["edge", "cut"], ["edge", "edge - cut"], ["edge - cut", "edge"], ["cut", "edge"], ["0", "edge - cut"], ["0", "cut"]] },
    { "polygon": [["0", "0"], ["cut", "0"], ["0", "cut"]] },
    { "polygon": [["edge - cut", "0"], ["edge", "0"], ["edge", "cut"]] },
    { "polygon": [["edge", "edge - cut"], ["edge", "edge"], ["edge - cut", "edge"]] },
    { "polygon": [["0", "edge - cut"], ["cut", "edge"], ["0", "edge"]] }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "edge"] }
}
,"octagon-and-dot":{
  "schema": 1,
  "id": "octagon-and-dot",
  "name": "Octagon and dot",
  "category": "stone",
  "parameters": {
    "edge": { "value": 84.16819587, "min": 10, "max": 1000, "label": "Side" },
    "cellSide": { "expr": "edge * (1 + sqrt(2))" },
    "halfCell": { "expr": "cellSide / 2" },
    "dotHalfDiagonal": { "expr": "edge / sqrt(2)" }
  },
  "tiles": [
    {
      "polygon": [
        ["edge / 2", "halfCell"],
        ["-edge / 2", "halfCell"],
        ["-halfCell", "edge / 2"],
        ["-halfCell", "-edge / 2"],
        ["-edge / 2", "-halfCell"],
        ["edge / 2", "-halfCell"],
        ["halfCell", "-edge / 2"],
        ["halfCell", "edge / 2"]
      ]
    },
    {
      "polygon": [
        ["halfCell + dotHalfDiagonal", "halfCell"],
        ["halfCell", "halfCell + dotHalfDiagonal"],
        ["halfCell - dotHalfDiagonal", "halfCell"],
        ["halfCell", "halfCell - dotHalfDiagonal"]
      ]
    }
  ],
  "lattice": { "a": ["cellSide", "0"], "b": ["0", "cellSide"] }
}
,"octagon-and-square":{
  "schema": 1,
  "id": "octagon-and-square",
  "name": "Octagon and square",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 300,
      "min": 20,
      "max": 1500,
      "label": "Straight side"
    },
    "diagonalEdge": {
      "value": 130,
      "min": 5,
      "max": 1500,
      "label": "Diagonal side"
    },
    "chamfer": {
      "expr": "diagonalEdge / sqrt(2)"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "edge / 2",
          "(edge + 2 * chamfer) / 2"
        ],
        [
          "-edge / 2",
          "(edge + 2 * chamfer) / 2"
        ],
        [
          "-((edge + 2 * chamfer) / 2)",
          "edge / 2"
        ],
        [
          "-((edge + 2 * chamfer) / 2)",
          "-edge / 2"
        ],
        [
          "-edge / 2",
          "-((edge + 2 * chamfer) / 2)"
        ],
        [
          "edge / 2",
          "-((edge + 2 * chamfer) / 2)"
        ],
        [
          "(edge + 2 * chamfer) / 2",
          "-edge / 2"
        ],
        [
          "(edge + 2 * chamfer) / 2",
          "edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "(edge + 2 * chamfer) / 2 + chamfer",
          "(edge + 2 * chamfer) / 2"
        ],
        [
          "(edge + 2 * chamfer) / 2",
          "(edge + 2 * chamfer) / 2 + chamfer"
        ],
        [
          "(edge + 2 * chamfer) / 2 - chamfer",
          "(edge + 2 * chamfer) / 2"
        ],
        [
          "(edge + 2 * chamfer) / 2",
          "(edge + 2 * chamfer) / 2 - chamfer"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge + 2 * chamfer",
      "0"
    ],
    "b": [
      "0",
      "edge + 2 * chamfer"
    ]
  }
}
,"octagon-and-star":{
  "schema": 1,
  "id": "octagon-and-star",
  "name": "Octagon and four-point star",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 40, "min": 10, "max": 200, "label": "Edge" },
    "circumradius": { "expr": "edge / (2 * sin(22.5))" },
    "diagonalVertexCoordinate": { "expr": "circumradius / sqrt(2)" }
  },
  "tiles": [
    {
      "polygon": [
        ["circumradius * cos(0)", "circumradius * sin(0)"],
        ["circumradius * cos(45)", "circumradius * sin(45)"],
        ["circumradius * cos(90)", "circumradius * sin(90)"],
        ["circumradius * cos(135)", "circumradius * sin(135)"],
        ["circumradius * cos(180)", "circumradius * sin(180)"],
        ["circumradius * cos(225)", "circumradius * sin(225)"],
        ["circumradius * cos(270)", "circumradius * sin(270)"],
        ["circumradius * cos(315)", "circumradius * sin(315)"]
      ]
    },
    {
      "polygon": [
        ["2 * circumradius", "circumradius"],
        ["2 * circumradius - diagonalVertexCoordinate", "2 * circumradius - diagonalVertexCoordinate"],
        ["circumradius", "2 * circumradius"],
        ["diagonalVertexCoordinate", "2 * circumradius - diagonalVertexCoordinate"],
        ["0", "circumradius"],
        ["diagonalVertexCoordinate", "diagonalVertexCoordinate"],
        ["circumradius", "0"],
        ["2 * circumradius - diagonalVertexCoordinate", "diagonalVertexCoordinate"]
      ]
    }
  ],
  "lattice": {
    "a": ["2 * circumradius", "0"],
    "b": ["0", "2 * circumradius"]
  }
}
,"octagon-double-eight-star":{
  "schema": 1,
  "id": "octagon-double-eight-star",
  "name": "Octagon with two eight-point stars",
  "category": "ceramic",
  "parameters": {
    "cellSize": {"value": 200, "min": 60, "max": 600, "label": "Cell size"}
  },
  "tiles": [
    {
      "polygon": [
        ["cellSize / 4", "0"],
        ["cellSize * sqrt(2) / 8", "cellSize * sqrt(2) / 8"],
        ["0", "cellSize / 4"],
        ["cellSize * -sqrt(2) / 8", "cellSize * sqrt(2) / 8"],
        ["-cellSize / 4", "0"],
        ["cellSize * -sqrt(2) / 8", "cellSize * -sqrt(2) / 8"],
        ["0", "-cellSize / 4"],
        ["cellSize * sqrt(2) / 8", "cellSize * -sqrt(2) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (8 - sqrt(2)) / 8", "cellSize * sqrt(2) / 8"],
        ["cellSize", "cellSize / 4"],
        ["cellSize * 7 / 8", "cellSize * (1 + sqrt(2)) / 8"],
        ["cellSize * 7 / 8", "cellSize * 3 / 8"],
        ["cellSize * (5 + sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize * 3 / 4", "cellSize * (2 + sqrt(2)) / 8"],
        ["cellSize * (7 - sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize * 5 / 8", "cellSize * 3 / 8"],
        ["cellSize * 5 / 8", "cellSize * (1 + sqrt(2)) / 8"],
        ["cellSize * (6 - sqrt(2)) / 8", "cellSize / 4"],
        ["cellSize * 5 / 8", "cellSize * (3 - sqrt(2)) / 8"],
        ["cellSize * 5 / 8", "cellSize / 8"],
        ["cellSize * (7 - sqrt(2)) / 8", "cellSize / 8"],
        ["cellSize * 3 / 4", "0"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (8 - sqrt(2)) / 8", "cellSize * (8 - sqrt(2)) / 8"],
        ["cellSize * 3 / 4", "cellSize"],
        ["cellSize * (7 - sqrt(2)) / 8", "cellSize * 7 / 8"],
        ["cellSize * 5 / 8", "cellSize * 7 / 8"],
        ["cellSize * 5 / 8", "cellSize * (5 + sqrt(2)) / 8"],
        ["cellSize * (6 - sqrt(2)) / 8", "cellSize * 3 / 4"],
        ["cellSize * 5 / 8", "cellSize * (7 - sqrt(2)) / 8"],
        ["cellSize * 5 / 8", "cellSize * 5 / 8"],
        ["cellSize * (7 - sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize * 3 / 4", "cellSize * (6 - sqrt(2)) / 8"],
        ["cellSize * (5 + sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize * 7 / 8", "cellSize * 5 / 8"],
        ["cellSize * 7 / 8", "cellSize * (7 - sqrt(2)) / 8"],
        ["cellSize", "cellSize * 3 / 4"]
      ]
    },
    {
      "polygon": [
        ["0", "cellSize * 3 / 4"],
        ["cellSize / 8", "cellSize * (7 - sqrt(2)) / 8"],
        ["cellSize / 8", "cellSize * 5 / 8"],
        ["cellSize * (3 - sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize / 4", "cellSize * (6 - sqrt(2)) / 8"],
        ["cellSize * (1 + sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize * 3 / 8", "cellSize * 5 / 8"],
        ["cellSize * 3 / 8", "cellSize * (7 - sqrt(2)) / 8"],
        ["cellSize * (2 + sqrt(2)) / 8", "cellSize * 3 / 4"],
        ["cellSize * 3 / 8", "cellSize * (5 + sqrt(2)) / 8"],
        ["cellSize * 3 / 8", "cellSize * 7 / 8"],
        ["cellSize * (1 + sqrt(2)) / 8", "cellSize * 7 / 8"],
        ["cellSize / 4", "cellSize"],
        ["cellSize * sqrt(2) / 8", "cellSize * (8 - sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["0", "cellSize * 3 / 4"],
        ["-cellSize / 8", "cellSize * (7 - sqrt(2)) / 8"],
        ["-cellSize / 8", "cellSize * 5 / 8"],
        ["cellSize * (1 - sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["0", "cellSize * (4 + sqrt(2)) / 8"],
        ["cellSize * (-1 + sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize / 8", "cellSize * 5 / 8"],
        ["cellSize / 8", "cellSize * (7 - sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["0", "cellSize / 4"],
        ["cellSize / 8", "cellSize * (1 + sqrt(2)) / 8"],
        ["cellSize / 8", "cellSize * 3 / 8"],
        ["cellSize * (-1 + sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["0", "cellSize * (4 - sqrt(2)) / 8"],
        ["cellSize * (1 - sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["-cellSize / 8", "cellSize * 3 / 8"],
        ["-cellSize / 8", "cellSize * (1 + sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["0", "cellSize / 4"],
        ["cellSize * sqrt(2) / 8", "cellSize * sqrt(2) / 8"],
        ["cellSize / 4", "0"],
        ["cellSize * (1 + sqrt(2)) / 8", "cellSize / 8"],
        ["cellSize * 3 / 8", "cellSize / 8"],
        ["cellSize * 3 / 8", "cellSize * (3 - sqrt(2)) / 8"],
        ["cellSize * (2 + sqrt(2)) / 8", "cellSize / 4"],
        ["cellSize * 3 / 8", "cellSize * (1 + sqrt(2)) / 8"],
        ["cellSize * 3 / 8", "cellSize * 3 / 8"],
        ["cellSize * (1 + sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize / 4", "cellSize * (2 + sqrt(2)) / 8"],
        ["cellSize * (3 - sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize / 8", "cellSize * 3 / 8"],
        ["cellSize / 8", "cellSize * (1 + sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 3 / 4", "0"],
        ["cellSize * (7 - sqrt(2)) / 8", "cellSize / 8"],
        ["cellSize * 5 / 8", "cellSize / 8"],
        ["cellSize * 5 / 8", "cellSize * (-1 + sqrt(2)) / 8"],
        ["cellSize * (4 + sqrt(2)) / 8", "0"],
        ["cellSize * 5 / 8", "cellSize * (1 - sqrt(2)) / 8"],
        ["cellSize * 5 / 8", "-cellSize / 8"],
        ["cellSize * (7 - sqrt(2)) / 8", "-cellSize / 8"]
      ]
    },
    {
      "polygon": [
        ["0", "cellSize * (4 + sqrt(2)) / 8"],
        ["cellSize * (1 - sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["-cellSize / 8", "cellSize * 5 / 8"],
        ["-cellSize / 8", "cellSize * (3 + sqrt(2)) / 8"],
        ["cellSize * -sqrt(2) / 8", "cellSize / 2"],
        ["-cellSize / 8", "cellSize * (5 - sqrt(2)) / 8"],
        ["-cellSize / 8", "cellSize * 3 / 8"],
        ["cellSize * (1 - sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["0", "cellSize * (4 - sqrt(2)) / 8"],
        ["cellSize * (-1 + sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize / 8", "cellSize * 3 / 8"],
        ["cellSize / 8", "cellSize * (5 - sqrt(2)) / 8"],
        ["cellSize * sqrt(2) / 8", "cellSize / 2"],
        ["cellSize / 8", "cellSize * (3 + sqrt(2)) / 8"],
        ["cellSize / 8", "cellSize * 5 / 8"],
        ["cellSize * (-1 + sqrt(2)) / 8", "cellSize * 5 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (3 - sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize / 4", "cellSize * (2 + sqrt(2)) / 8"],
        ["cellSize * sqrt(2) / 8", "cellSize / 2"],
        ["cellSize / 8", "cellSize * (5 - sqrt(2)) / 8"],
        ["cellSize / 8", "cellSize * 3 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 7 / 8", "cellSize * 3 / 8"],
        ["cellSize * 7 / 8", "cellSize * (5 - sqrt(2)) / 8"],
        ["cellSize * (8 - sqrt(2)) / 8", "cellSize / 2"],
        ["cellSize * 3 / 4", "cellSize * (2 + sqrt(2)) / 8"],
        ["cellSize * (5 + sqrt(2)) / 8", "cellSize * 3 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (7 - sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize * 3 / 4", "cellSize * (2 + sqrt(2)) / 8"],
        ["cellSize * (4 + sqrt(2)) / 8", "cellSize / 2"],
        ["cellSize * 5 / 8", "cellSize * (5 - sqrt(2)) / 8"],
        ["cellSize * 5 / 8", "cellSize * 3 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (7 - sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize * 5 / 8", "cellSize * 5 / 8"],
        ["cellSize * 5 / 8", "cellSize * (3 + sqrt(2)) / 8"],
        ["cellSize * (4 + sqrt(2)) / 8", "cellSize / 2"],
        ["cellSize * 3 / 4", "cellSize * (6 - sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (5 + sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize * 3 / 4", "cellSize * (6 - sqrt(2)) / 8"],
        ["cellSize * (8 - sqrt(2)) / 8", "cellSize / 2"],
        ["cellSize * 7 / 8", "cellSize * (3 + sqrt(2)) / 8"],
        ["cellSize * 7 / 8", "cellSize * 5 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize / 8", "cellSize * 5 / 8"],
        ["cellSize / 8", "cellSize * (3 + sqrt(2)) / 8"],
        ["cellSize * sqrt(2) / 8", "cellSize / 2"],
        ["cellSize / 4", "cellSize * (6 - sqrt(2)) / 8"],
        ["cellSize * (3 - sqrt(2)) / 8", "cellSize * 5 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize / 4", "0"],
        ["cellSize * (1 + sqrt(2)) / 8", "-cellSize / 8"],
        ["cellSize * 3 / 8", "-cellSize / 8"],
        ["cellSize * 3 / 8", "cellSize * (1 - sqrt(2)) / 8"],
        ["cellSize * (4 - sqrt(2)) / 8", "0"],
        ["cellSize * 3 / 8", "cellSize * (-1 + sqrt(2)) / 8"],
        ["cellSize * 3 / 8", "cellSize / 8"],
        ["cellSize * (1 + sqrt(2)) / 8", "cellSize / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (4 + sqrt(2)) / 8", "0"],
        ["cellSize * 5 / 8", "cellSize * (-1 + sqrt(2)) / 8"],
        ["cellSize * 5 / 8", "cellSize / 8"],
        ["cellSize * (3 + sqrt(2)) / 8", "cellSize / 8"],
        ["cellSize / 2", "cellSize * sqrt(2) / 8"],
        ["cellSize * (5 - sqrt(2)) / 8", "cellSize / 8"],
        ["cellSize * 3 / 8", "cellSize / 8"],
        ["cellSize * 3 / 8", "cellSize * (-1 + sqrt(2)) / 8"],
        ["cellSize * (4 - sqrt(2)) / 8", "0"],
        ["cellSize * 3 / 8", "cellSize * (1 - sqrt(2)) / 8"],
        ["cellSize * 3 / 8", "-cellSize / 8"],
        ["cellSize * (5 - sqrt(2)) / 8", "-cellSize / 8"],
        ["cellSize / 2", "cellSize * -sqrt(2) / 8"],
        ["cellSize * (3 + sqrt(2)) / 8", "-cellSize / 8"],
        ["cellSize * 5 / 8", "-cellSize / 8"],
        ["cellSize * 5 / 8", "cellSize * (1 - sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 3 / 4", "cellSize * (6 - sqrt(2)) / 8"],
        ["cellSize * (4 + sqrt(2)) / 8", "cellSize / 2"],
        ["cellSize * 3 / 4", "cellSize * (2 + sqrt(2)) / 8"],
        ["cellSize * (8 - sqrt(2)) / 8", "cellSize / 2"]
      ]
    },
    {
      "polygon": [
        ["cellSize / 4", "cellSize * (6 - sqrt(2)) / 8"],
        ["cellSize * (4 - sqrt(2)) / 8", "cellSize / 2"],
        ["cellSize * 3 / 8", "cellSize * (3 + sqrt(2)) / 8"],
        ["cellSize * 3 / 8", "cellSize * 5 / 8"],
        ["cellSize * (1 + sqrt(2)) / 8", "cellSize * 5 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize / 4", "cellSize * (6 - sqrt(2)) / 8"],
        ["cellSize * sqrt(2) / 8", "cellSize / 2"],
        ["cellSize / 4", "cellSize * (2 + sqrt(2)) / 8"],
        ["cellSize * (4 - sqrt(2)) / 8", "cellSize / 2"]
      ]
    },
    {
      "polygon": [
        ["cellSize / 4", "cellSize * (2 + sqrt(2)) / 8"],
        ["cellSize * (1 + sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize * 3 / 8", "cellSize * 3 / 8"],
        ["cellSize * 3 / 8", "cellSize * (5 - sqrt(2)) / 8"],
        ["cellSize * (4 - sqrt(2)) / 8", "cellSize / 2"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 5 / 8", "cellSize * (5 - sqrt(2)) / 8"],
        ["cellSize * (4 + sqrt(2)) / 8", "cellSize / 2"],
        ["cellSize * 5 / 8", "cellSize * (3 + sqrt(2)) / 8"],
        ["cellSize * 5 / 8", "cellSize * 5 / 8"],
        ["cellSize * (3 + sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize / 2", "cellSize * (4 + sqrt(2)) / 8"],
        ["cellSize * (5 - sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize * 3 / 8", "cellSize * 5 / 8"],
        ["cellSize * 3 / 8", "cellSize * (3 + sqrt(2)) / 8"],
        ["cellSize * (4 - sqrt(2)) / 8", "cellSize / 2"],
        ["cellSize * 3 / 8", "cellSize * (5 - sqrt(2)) / 8"],
        ["cellSize * 3 / 8", "cellSize * 3 / 8"],
        ["cellSize * (5 - sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize / 2", "cellSize * (4 - sqrt(2)) / 8"],
        ["cellSize * (3 + sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize * 5 / 8", "cellSize * 3 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 5 / 8", "cellSize * 3 / 8"],
        ["cellSize * (3 + sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize / 2", "cellSize * (4 - sqrt(2)) / 8"],
        ["cellSize * (6 - sqrt(2)) / 8", "cellSize / 4"],
        ["cellSize * 5 / 8", "cellSize * (1 + sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 5 / 8", "cellSize * (3 - sqrt(2)) / 8"],
        ["cellSize * (6 - sqrt(2)) / 8", "cellSize / 4"],
        ["cellSize / 2", "cellSize * sqrt(2) / 8"],
        ["cellSize * (3 + sqrt(2)) / 8", "cellSize / 8"],
        ["cellSize * 5 / 8", "cellSize / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 5 / 8", "cellSize * 7 / 8"],
        ["cellSize * (3 + sqrt(2)) / 8", "cellSize * 7 / 8"],
        ["cellSize / 2", "cellSize * (8 - sqrt(2)) / 8"],
        ["cellSize * (6 - sqrt(2)) / 8", "cellSize * 3 / 4"],
        ["cellSize * 5 / 8", "cellSize * (5 + sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 5 / 8", "cellSize * (7 - sqrt(2)) / 8"],
        ["cellSize * (6 - sqrt(2)) / 8", "cellSize * 3 / 4"],
        ["cellSize / 2", "cellSize * (4 + sqrt(2)) / 8"],
        ["cellSize * (3 + sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize * 5 / 8", "cellSize * 5 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (6 - sqrt(2)) / 8", "cellSize / 4"],
        ["cellSize / 2", "cellSize * (4 - sqrt(2)) / 8"],
        ["cellSize * (2 + sqrt(2)) / 8", "cellSize / 4"],
        ["cellSize / 2", "cellSize * sqrt(2) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (6 - sqrt(2)) / 8", "cellSize * 3 / 4"],
        ["cellSize / 2", "cellSize * (8 - sqrt(2)) / 8"],
        ["cellSize * (2 + sqrt(2)) / 8", "cellSize * 3 / 4"],
        ["cellSize / 2", "cellSize * (4 + sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 3 / 8", "cellSize * 5 / 8"],
        ["cellSize * (5 - sqrt(2)) / 8", "cellSize * 5 / 8"],
        ["cellSize / 2", "cellSize * (4 + sqrt(2)) / 8"],
        ["cellSize * (2 + sqrt(2)) / 8", "cellSize * 3 / 4"],
        ["cellSize * 3 / 8", "cellSize * (7 - sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 3 / 8", "cellSize * (5 + sqrt(2)) / 8"],
        ["cellSize * (2 + sqrt(2)) / 8", "cellSize * 3 / 4"],
        ["cellSize / 2", "cellSize * (8 - sqrt(2)) / 8"],
        ["cellSize * (5 - sqrt(2)) / 8", "cellSize * 7 / 8"],
        ["cellSize * 3 / 8", "cellSize * 7 / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 3 / 8", "cellSize / 8"],
        ["cellSize * (5 - sqrt(2)) / 8", "cellSize / 8"],
        ["cellSize / 2", "cellSize * sqrt(2) / 8"],
        ["cellSize * (2 + sqrt(2)) / 8", "cellSize / 4"],
        ["cellSize * 3 / 8", "cellSize * (3 - sqrt(2)) / 8"]
      ]
    },
    {
      "polygon": [
        ["cellSize * 3 / 8", "cellSize * (1 + sqrt(2)) / 8"],
        ["cellSize * (2 + sqrt(2)) / 8", "cellSize / 4"],
        ["cellSize / 2", "cellSize * (4 - sqrt(2)) / 8"],
        ["cellSize * (5 - sqrt(2)) / 8", "cellSize * 3 / 8"],
        ["cellSize * 3 / 8", "cellSize * 3 / 8"]
      ]
    }
  ],
  "lattice": {
    "a": ["cellSize", "0"],
    "b": ["0", "cellSize"]
  }
}
,"octagon-eight-star-pmm":{
  "schema": 1,
  "id": "octagon-eight-star-pmm",
  "name": "Eight-point star rosettes with octagons",
  "category": "ceramic",
  "parameters": {
    "cellSize": {"value": 160, "min": 60, "max": 600, "label": "Cell width"},
    "halfBandWidth": {"expr": "cellSize / (2 / cos(22.5) + 4 * sqrt(2))"},
    "starOuterRadius": {"expr": "halfBandWidth * sqrt(2)"},
    "starInnerRadius": {"expr": "starOuterRadius * cos(45) / cos(22.5)"},
    "smallOctagonRadius": {"expr": "cellSize * (sqrt(2) - 1) / 2"}
  },
  "tiles": [
    {
      "polygon": [
        ["starOuterRadius * cos(0)", "starOuterRadius * sin(0)"],
        ["starInnerRadius * cos(22.5)", "starInnerRadius * sin(22.5)"],
        ["starOuterRadius * cos(45)", "starOuterRadius * sin(45)"],
        ["starInnerRadius * cos(67.5)", "starInnerRadius * sin(67.5)"],
        ["starOuterRadius * cos(90)", "starOuterRadius * sin(90)"],
        ["starInnerRadius * cos(112.5)", "starInnerRadius * sin(112.5)"],
        ["starOuterRadius * cos(135)", "starOuterRadius * sin(135)"],
        ["starInnerRadius * cos(157.5)", "starInnerRadius * sin(157.5)"],
        ["starOuterRadius * cos(180)", "starOuterRadius * sin(180)"],
        ["starInnerRadius * cos(202.5)", "starInnerRadius * sin(202.5)"],
        ["starOuterRadius * cos(225)", "starOuterRadius * sin(225)"],
        ["starInnerRadius * cos(247.5)", "starInnerRadius * sin(247.5)"],
        ["starOuterRadius * cos(270)", "starOuterRadius * sin(270)"],
        ["starInnerRadius * cos(292.5)", "starInnerRadius * sin(292.5)"],
        ["starOuterRadius * cos(315)", "starOuterRadius * sin(315)"],
        ["starInnerRadius * cos(337.5)", "starInnerRadius * sin(337.5)"]
      ]
    },
    {
      "repeat": {"index": "k", "count": "8"},
      "transform": [{"rotate": {"angle": "45 * k", "center": ["0", "0"]}}],
      "polygon": [
        ["starOuterRadius", "0"],
        ["halfBandWidth * (1 + sqrt(2))", "-halfBandWidth"],
        ["cellSize / 2 - halfBandWidth * (sqrt(2) - 1)", "-halfBandWidth"],
        ["cellSize / 2", "0"],
        ["cellSize / 2 - halfBandWidth * (sqrt(2) - 1)", "halfBandWidth"],
        ["halfBandWidth * (1 + sqrt(2))", "halfBandWidth"]
      ]
    },
    {
      "repeat": {"index": "k", "count": "8"},
      "transform": [{"rotate": {"angle": "45 * k", "center": ["0", "0"]}}],
      "polygon": [
        ["halfBandWidth", "halfBandWidth * (sqrt(2) - 1)"],
        ["starOuterRadius", "0"],
        ["halfBandWidth * (1 + sqrt(2))", "halfBandWidth"],
        ["halfBandWidth", "halfBandWidth"]
      ]
    },
    {
      "polygon": [
        ["smallOctagonRadius * cos(0)", "cellSize * sqrt(2) / 2 + smallOctagonRadius * sin(0)"],
        ["smallOctagonRadius * cos(45)", "cellSize * sqrt(2) / 2 + smallOctagonRadius * sin(45)"],
        ["smallOctagonRadius * cos(90)", "cellSize * sqrt(2) / 2 + smallOctagonRadius * sin(90)"],
        ["smallOctagonRadius * cos(135)", "cellSize * sqrt(2) / 2 + smallOctagonRadius * sin(135)"],
        ["smallOctagonRadius * cos(180)", "cellSize * sqrt(2) / 2 + smallOctagonRadius * sin(180)"],
        ["smallOctagonRadius * cos(225)", "cellSize * sqrt(2) / 2 + smallOctagonRadius * sin(225)"],
        ["smallOctagonRadius * cos(270)", "cellSize * sqrt(2) / 2 + smallOctagonRadius * sin(270)"],
        ["smallOctagonRadius * cos(315)", "cellSize * sqrt(2) / 2 + smallOctagonRadius * sin(315)"]
      ]
    },
    {
      "polygon": [
        ["cellSize / 2 + smallOctagonRadius * cos(0)", "cellSize / 2 + smallOctagonRadius * sin(0)"],
        ["cellSize / 2 + smallOctagonRadius * cos(45)", "cellSize / 2 + smallOctagonRadius * sin(45)"],
        ["cellSize / 2 + smallOctagonRadius * cos(90)", "cellSize / 2 + smallOctagonRadius * sin(90)"],
        ["cellSize / 2 + smallOctagonRadius * cos(135)", "cellSize / 2 + smallOctagonRadius * sin(135)"],
        ["cellSize / 2 + smallOctagonRadius * cos(180)", "cellSize / 2 + smallOctagonRadius * sin(180)"],
        ["cellSize / 2 + smallOctagonRadius * cos(225)", "cellSize / 2 + smallOctagonRadius * sin(225)"],
        ["cellSize / 2 + smallOctagonRadius * cos(270)", "cellSize / 2 + smallOctagonRadius * sin(270)"],
        ["cellSize / 2 + smallOctagonRadius * cos(315)", "cellSize / 2 + smallOctagonRadius * sin(315)"]
      ]
    },
    {
      "polygon": [
        ["cellSize / 2 + smallOctagonRadius * cos(0)", "-cellSize / 2 + smallOctagonRadius * sin(0)"],
        ["cellSize / 2 + smallOctagonRadius * cos(45)", "-cellSize / 2 + smallOctagonRadius * sin(45)"],
        ["cellSize / 2 + smallOctagonRadius * cos(90)", "-cellSize / 2 + smallOctagonRadius * sin(90)"],
        ["cellSize / 2 + smallOctagonRadius * cos(135)", "-cellSize / 2 + smallOctagonRadius * sin(135)"],
        ["cellSize / 2 + smallOctagonRadius * cos(180)", "-cellSize / 2 + smallOctagonRadius * sin(180)"],
        ["cellSize / 2 + smallOctagonRadius * cos(225)", "-cellSize / 2 + smallOctagonRadius * sin(225)"],
        ["cellSize / 2 + smallOctagonRadius * cos(270)", "-cellSize / 2 + smallOctagonRadius * sin(270)"],
        ["cellSize / 2 + smallOctagonRadius * cos(315)", "-cellSize / 2 + smallOctagonRadius * sin(315)"]
      ]
    },
    {
      "polygon": [
        ["-halfBandWidth", "cellSize * sqrt(2) + halfBandWidth * (-1 - sqrt(2))"],
        ["-halfBandWidth", "cellSize * (-1 + 2 * sqrt(2)) / 2 + halfBandWidth * (-2 + 2 * sqrt(2)) / 2"],
        ["0", "cellSize * (-1 + 2 * sqrt(2)) / 2"],
        ["cellSize * (-2 + sqrt(2)) / 4", "cellSize * (2 + sqrt(2)) / 4"],
        ["cellSize * (1 - sqrt(2)) / 2", "cellSize * sqrt(2) / 2"],
        ["cellSize * (-2 + sqrt(2)) / 4", "cellSize * (-2 + 3 * sqrt(2)) / 4"],
        ["0", "cellSize / 2"],
        ["-halfBandWidth", "cellSize / 2 + halfBandWidth * (2 - 2 * sqrt(2)) / 2"],
        ["-halfBandWidth", "halfBandWidth * (1 + sqrt(2))"],
        ["cellSize * -sqrt(2) / 4 + halfBandWidth * 4 / 4", "cellSize * sqrt(2) / 4 + halfBandWidth * (-4 + 4 * sqrt(2)) / 4"],
        ["cellSize * -sqrt(2) / 4", "cellSize * sqrt(2) / 4"],
        ["cellSize * (-2 + sqrt(2)) / 2", "cellSize / 2"],
        ["cellSize * -sqrt(2) / 4", "cellSize * (4 - sqrt(2)) / 4"],
        ["-cellSize / 2", "cellSize * sqrt(2) / 2"],
        ["cellSize * -sqrt(2) / 4", "cellSize * (-4 + 5 * sqrt(2)) / 4"],
        ["cellSize * (-2 + sqrt(2)) / 2", "cellSize * (-1 + 2 * sqrt(2)) / 2"],
        ["cellSize * -sqrt(2) / 4", "cellSize * 3 * sqrt(2) / 4"],
        ["cellSize * -sqrt(2) / 4 + halfBandWidth * 4 / 4", "cellSize * 3 * sqrt(2) / 4 + halfBandWidth * (4 - 4 * sqrt(2)) / 4"]
      ]
    },
    {
      "polygon": [
        ["0", "cellSize * (-1 + 2 * sqrt(2)) / 2"],
        ["halfBandWidth", "cellSize * (-1 + 2 * sqrt(2)) / 2 + halfBandWidth * (-2 + 2 * sqrt(2)) / 2"],
        ["halfBandWidth", "cellSize * sqrt(2) + halfBandWidth * (-1 - sqrt(2))"],
        ["cellSize * sqrt(2) / 4 + halfBandWidth * -4 / 4", "cellSize * 3 * sqrt(2) / 4 + halfBandWidth * (4 - 4 * sqrt(2)) / 4"],
        ["cellSize * sqrt(2) / 4", "cellSize * 3 * sqrt(2) / 4"],
        ["cellSize * (2 - sqrt(2)) / 2", "cellSize * (-1 + 2 * sqrt(2)) / 2"],
        ["cellSize * sqrt(2) / 4", "cellSize * (-4 + 5 * sqrt(2)) / 4"],
        ["cellSize / 2", "cellSize * sqrt(2) / 2"],
        ["cellSize * sqrt(2) / 4", "cellSize * (4 - sqrt(2)) / 4"],
        ["cellSize * (2 - sqrt(2)) / 2", "cellSize / 2"],
        ["cellSize * sqrt(2) / 4", "cellSize * sqrt(2) / 4"],
        ["cellSize * sqrt(2) / 4 + halfBandWidth * -4 / 4", "cellSize * sqrt(2) / 4 + halfBandWidth * (-4 + 4 * sqrt(2)) / 4"],
        ["halfBandWidth", "halfBandWidth * (1 + sqrt(2))"],
        ["halfBandWidth", "cellSize / 2 + halfBandWidth * (2 - 2 * sqrt(2)) / 2"],
        ["0", "cellSize / 2"],
        ["cellSize * (2 - sqrt(2)) / 4", "cellSize * (-2 + 3 * sqrt(2)) / 4"],
        ["cellSize * (-1 + sqrt(2)) / 2", "cellSize * sqrt(2) / 2"],
        ["cellSize * (2 - sqrt(2)) / 4", "cellSize * (2 + sqrt(2)) / 4"]
      ]
    },
    {
      "polygon": [
        ["halfBandWidth * (1 + sqrt(2))", "halfBandWidth"],
        ["cellSize * sqrt(2) / 4 + halfBandWidth * (-4 + 4 * sqrt(2)) / 4", "cellSize * sqrt(2) / 4 + halfBandWidth * -4 / 4"],
        ["cellSize * sqrt(2) / 4", "cellSize * sqrt(2) / 4"],
        ["cellSize / 2", "cellSize * (2 - sqrt(2)) / 2"],
        ["cellSize * (4 - sqrt(2)) / 4", "cellSize * sqrt(2) / 4"],
        ["cellSize * (4 - sqrt(2)) / 4 + halfBandWidth * (4 - 4 * sqrt(2)) / 4", "cellSize * sqrt(2) / 4 + halfBandWidth * -4 / 4"],
        ["cellSize + halfBandWidth * (-1 - sqrt(2))", "halfBandWidth"],
        ["cellSize / 2 + halfBandWidth * (-2 + 2 * sqrt(2)) / 2", "halfBandWidth"],
        ["cellSize / 2", "0"],
        ["cellSize / 2 + halfBandWidth * (2 - 2 * sqrt(2)) / 2", "halfBandWidth"]
      ]
    },
    {
      "polygon": [
        ["cellSize * (4 - sqrt(2)) / 4", "cellSize * -sqrt(2) / 4"],
        ["cellSize / 2", "cellSize * (-2 + sqrt(2)) / 2"],
        ["cellSize * sqrt(2) / 4", "cellSize * -sqrt(2) / 4"],
        ["cellSize * sqrt(2) / 4 + halfBandWidth * (-4 + 4 * sqrt(2)) / 4", "cellSize * -sqrt(2) / 4 + halfBandWidth * 4 / 4"],
        ["halfBandWidth * (1 + sqrt(2))", "-halfBandWidth"],
        ["cellSize / 2 + halfBandWidth * (2 - 2 * sqrt(2)) / 2", "-halfBandWidth"],
        ["cellSize / 2", "0"],
        ["cellSize / 2 + halfBandWidth * (-2 + 2 * sqrt(2)) / 2", "-halfBandWidth"],
        ["cellSize + halfBandWidth * (-1 - sqrt(2))", "-halfBandWidth"],
        ["cellSize * (4 - sqrt(2)) / 4 + halfBandWidth * (4 - 4 * sqrt(2)) / 4", "cellSize * -sqrt(2) / 4 + halfBandWidth * 4 / 4"]
      ]
    }
  ],
  "lattice": {
    "a": ["cellSize", "0"],
    "b": ["0", "cellSize * sqrt(2)"]
  }
}
,"octagon-picket":{
  "schema": 1,
  "id": "octagon-picket",
  "name": "Octagon picket",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 200,
      "min": 20,
      "max": 1200,
      "label": "Octagon side"
    },
    "diagonal": {
      "expr": "edge * sqrt(2)"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "1.5 * diagonal",
          "0.5 * diagonal"
        ],
        [
          "1.5 * diagonal + 0.5 * diagonal",
          "0"
        ],
        [
          "1.5 * diagonal + edge + 0.5 * diagonal",
          "0"
        ],
        [
          "1.5 * diagonal + edge + diagonal",
          "0.5 * diagonal"
        ],
        [
          "1.5 * diagonal + edge + diagonal",
          "edge + 0.5 * diagonal"
        ],
        [
          "1.5 * diagonal + edge + 0.5 * diagonal",
          "edge + diagonal"
        ],
        [
          "1.5 * diagonal + 0.5 * diagonal",
          "edge + diagonal"
        ],
        [
          "1.5 * diagonal",
          "edge + 0.5 * diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * diagonal",
          "0.5 * diagonal"
        ],
        [
          "diagonal",
          "0"
        ],
        [
          "1.5 * diagonal",
          "0.5 * diagonal"
        ],
        [
          "1.5 * diagonal",
          "edge + 0.5 * diagonal"
        ],
        [
          "diagonal",
          "edge + diagonal"
        ],
        [
          "0.5 * diagonal",
          "edge + 0.5 * diagonal"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "1.5 * diagonal",
          "edge + 1.5 * diagonal"
        ],
        [
          "2 * diagonal",
          "edge + diagonal"
        ],
        [
          "edge + 2 * diagonal",
          "edge + diagonal"
        ],
        [
          "edge + 2.5 * diagonal",
          "edge + 1.5 * diagonal"
        ],
        [
          "edge + 2 * diagonal",
          "edge + 2 * diagonal"
        ],
        [
          "2 * diagonal",
          "edge + 2 * diagonal"
        ]
      ],
      "grain": [
        "1",
        "0"
      ]
    },
    {
      "polygon": [
        [
          "1.5 * diagonal + 0.5 * diagonal",
          "edge + diagonal"
        ],
        [
          "1.5 * diagonal",
          "edge + diagonal + 0.5 * diagonal"
        ],
        [
          "1.5 * diagonal - 0.5 * diagonal",
          "edge + diagonal"
        ],
        [
          "1.5 * diagonal",
          "edge + diagonal - 0.5 * diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * diagonal + 0.5 * diagonal",
          "0"
        ],
        [
          "1.5 * diagonal",
          "0.5 * diagonal"
        ],
        [
          "1.5 * diagonal - 0.5 * diagonal",
          "0"
        ],
        [
          "1.5 * diagonal",
          "-0.5 * diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * diagonal + 0.5 * diagonal",
          "edge + diagonal"
        ],
        [
          "0.5 * diagonal",
          "edge + diagonal + 0.5 * diagonal"
        ],
        [
          "0.5 * diagonal - 0.5 * diagonal",
          "edge + diagonal"
        ],
        [
          "0.5 * diagonal",
          "edge + diagonal - 0.5 * diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * diagonal + 0.5 * diagonal",
          "0"
        ],
        [
          "0.5 * diagonal",
          "0.5 * diagonal"
        ],
        [
          "0.5 * diagonal - 0.5 * diagonal",
          "0"
        ],
        [
          "0.5 * diagonal",
          "-0.5 * diagonal"
        ]
      ]
    },
    {
      "polygon": [
        [
          "diagonal + 0.5 * diagonal",
          "edge + 1.5 * diagonal"
        ],
        [
          "diagonal",
          "edge + 1.5 * diagonal + 0.5 * diagonal"
        ],
        [
          "diagonal - 0.5 * diagonal",
          "edge + 1.5 * diagonal"
        ],
        [
          "diagonal",
          "edge + 1.5 * diagonal - 0.5 * diagonal"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge + 2 * diagonal",
      "0"
    ],
    "b": [
      "0",
      "edge + 2 * diagonal"
    ]
  }
}
,"octagon-with-stem":{
  "schema": 1,
  "id": "octagon-with-stem",
  "name": "Octagon with stem",
  "category": "stone",
  "parameters": {
    "edge": { "value": 75, "min": 20, "max": 200, "label": "Stem side (= flat sides)" },
    "diagonalEdge": { "value": 45, "min": 10, "max": 150, "label": "Diagonal side" },
    "halfEdge": { "expr": "edge / 2" },
    "halfOctagonWidth": { "expr": "edge / 2 + diagonalEdge / sqrt(2)" },
    "columnStep": { "expr": "2 * halfOctagonWidth + edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["halfEdge", "-halfOctagonWidth"],
        ["halfOctagonWidth", "-halfEdge"],
        ["halfOctagonWidth + edge", "-halfEdge"],
        ["halfOctagonWidth + edge", "halfEdge"],
        ["halfOctagonWidth", "halfEdge"],
        ["halfEdge", "halfOctagonWidth"],
        ["-halfEdge", "halfOctagonWidth"],
        ["-halfOctagonWidth", "halfEdge"],
        ["-halfOctagonWidth", "-halfEdge"],
        ["-halfEdge", "-halfOctagonWidth"]
      ]
    }
  ],
  "lattice": {
    "a": ["columnStep", "0"],
    "b": ["columnStep / 2", "columnStep / 2"]
  }
}
,"octagram-mosaic":{
  "schema": 1,
  "id": "octagram-mosaic",
  "name": "Octagram mosaic",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 100,
      "min": 20,
      "max": 400,
      "label": "Square tile side"
    },
    "cellSize": {
      "expr": "edge * (2 + sqrt(2))"
    },
    "innerRadius": {
      "expr": "edge * cos(45) / cos(22.5)"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "edge * cos(22.5)",
          "cellSize / 2 + edge * sin(22.5)"
        ],
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "1 * cellSize + edge * cos(157.5)",
          "cellSize / 2 + edge * sin(157.5)"
        ],
        [
          "cellSize / 2 + edge / 2",
          "1 * cellSize - edge / 2"
        ],
        [
          "cellSize / 2 - edge / 2",
          "1 * cellSize - edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge * cos(292.5)",
          "cellSize / 2 + edge * sin(292.5)"
        ],
        [
          "cellSize / 2 - edge / 2",
          "edge / 2"
        ],
        [
          "edge * cos(337.5)",
          "cellSize / 2 + edge * sin(337.5)"
        ],
        [
          "innerRadius * cos(315)",
          "cellSize / 2 + innerRadius * sin(315)"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2 + edge / 2",
          "1 * cellSize - edge / 2"
        ],
        [
          "1 * cellSize + edge * cos(112.5)",
          "cellSize / 2 + edge * sin(112.5)"
        ],
        [
          "1 * cellSize",
          "1 * cellSize"
        ],
        [
          "1 * cellSize + edge * cos(247.5)",
          "1 * cellSize + cellSize / 2 + edge * sin(247.5)"
        ],
        [
          "cellSize / 2 + edge / 2",
          "1 * cellSize + edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1 * cellSize + edge * cos(157.5)",
          "cellSize / 2 + edge * sin(157.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(135)",
          "cellSize / 2 + innerRadius * sin(135)"
        ],
        [
          "1 * cellSize + edge * cos(112.5)",
          "cellSize / 2 + edge * sin(112.5)"
        ],
        [
          "cellSize / 2 + edge / 2",
          "1 * cellSize - edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1 * cellSize",
          "0"
        ],
        [
          "1 * cellSize + edge * cos(292.5)",
          "cellSize / 2 + edge * sin(292.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(270)",
          "cellSize / 2 + innerRadius * sin(270)"
        ],
        [
          "1 * cellSize + edge * cos(247.5)",
          "cellSize / 2 + edge * sin(247.5)"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1 * cellSize + edge * cos(112.5)",
          "cellSize / 2 + edge * sin(112.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(90)",
          "cellSize / 2 + innerRadius * sin(90)"
        ],
        [
          "1 * cellSize + edge * cos(67.5)",
          "cellSize / 2 + edge * sin(67.5)"
        ],
        [
          "1 * cellSize",
          "1 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "1 * cellSize"
        ],
        [
          "edge * cos(67.5)",
          "cellSize / 2 + edge * sin(67.5)"
        ],
        [
          "cellSize / 2 - edge / 2",
          "1 * cellSize - edge / 2"
        ],
        [
          "cellSize / 2 - edge / 2",
          "1 * cellSize + edge / 2"
        ],
        [
          "edge * cos(292.5)",
          "1 * cellSize + cellSize / 2 + edge * sin(292.5)"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2 - edge / 2",
          "edge / 2"
        ],
        [
          "cellSize / 2 + edge / 2",
          "edge / 2"
        ],
        [
          "1 * cellSize + edge * cos(202.5)",
          "cellSize / 2 + edge * sin(202.5)"
        ],
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "edge * cos(337.5)",
          "cellSize / 2 + edge * sin(337.5)"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2 - edge / 2",
          "1 * cellSize - edge / 2"
        ],
        [
          "cellSize / 2 + edge / 2",
          "1 * cellSize - edge / 2"
        ],
        [
          "cellSize / 2 + edge / 2",
          "1 * cellSize + edge / 2"
        ],
        [
          "cellSize / 2 - edge / 2",
          "1 * cellSize + edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "innerRadius * cos(45)",
          "cellSize / 2 + innerRadius * sin(45)"
        ],
        [
          "edge * cos(22.5)",
          "cellSize / 2 + edge * sin(22.5)"
        ],
        [
          "cellSize / 2 - edge / 2",
          "1 * cellSize - edge / 2"
        ],
        [
          "edge * cos(67.5)",
          "cellSize / 2 + edge * sin(67.5)"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1 * cellSize + edge * cos(202.5)",
          "cellSize / 2 + edge * sin(202.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(180)",
          "cellSize / 2 + innerRadius * sin(180)"
        ],
        [
          "1 * cellSize + edge * cos(157.5)",
          "cellSize / 2 + edge * sin(157.5)"
        ],
        [
          "cellSize / 2",
          "cellSize / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1 * cellSize + innerRadius * cos(180)",
          "cellSize / 2 + innerRadius * sin(180)"
        ],
        [
          "1 * cellSize + edge * cos(202.5)",
          "cellSize / 2 + edge * sin(202.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(225)",
          "cellSize / 2 + innerRadius * sin(225)"
        ],
        [
          "1 * cellSize + edge * cos(247.5)",
          "cellSize / 2 + edge * sin(247.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(270)",
          "cellSize / 2 + innerRadius * sin(270)"
        ],
        [
          "1 * cellSize + edge * cos(292.5)",
          "cellSize / 2 + edge * sin(292.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(315)",
          "cellSize / 2 + innerRadius * sin(315)"
        ],
        [
          "1 * cellSize + edge * cos(337.5)",
          "cellSize / 2 + edge * sin(337.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(0)",
          "cellSize / 2 + innerRadius * sin(0)"
        ],
        [
          "1 * cellSize + edge * cos(22.5)",
          "cellSize / 2 + edge * sin(22.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(45)",
          "cellSize / 2 + innerRadius * sin(45)"
        ],
        [
          "1 * cellSize + edge * cos(67.5)",
          "cellSize / 2 + edge * sin(67.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(90)",
          "cellSize / 2 + innerRadius * sin(90)"
        ],
        [
          "1 * cellSize + edge * cos(112.5)",
          "cellSize / 2 + edge * sin(112.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(135)",
          "cellSize / 2 + innerRadius * sin(135)"
        ],
        [
          "1 * cellSize + edge * cos(157.5)",
          "cellSize / 2 + edge * sin(157.5)"
        ]
      ]
    },
    {
      "polygon": [
        [
          "cellSize / 2 + edge / 2",
          "edge / 2"
        ],
        [
          "1 * cellSize + edge * cos(247.5)",
          "cellSize / 2 + edge * sin(247.5)"
        ],
        [
          "1 * cellSize + innerRadius * cos(225)",
          "cellSize / 2 + innerRadius * sin(225)"
        ],
        [
          "1 * cellSize + edge * cos(202.5)",
          "cellSize / 2 + edge * sin(202.5)"
        ]
      ]
    },
    {
      "polygon": [
        [
          "innerRadius * cos(0)",
          "cellSize / 2 + innerRadius * sin(0)"
        ],
        [
          "edge * cos(337.5)",
          "cellSize / 2 + edge * sin(337.5)"
        ],
        [
          "cellSize / 2",
          "cellSize / 2"
        ],
        [
          "edge * cos(22.5)",
          "cellSize / 2 + edge * sin(22.5)"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "cellSize",
      "0"
    ],
    "b": [
      "0",
      "cellSize"
    ]
  }
}
,"offset-strip-basketweave":{
  "schema": 1,
  "id": "offset-strip-basketweave",
  "name": "Offset strip basketweave",
  "category": "stone",
  "parameters": {
    "length": { "value": 250, "min": 60, "max": 2000, "label": "Paver length" },
    "bandWidth": { "value": 35, "min": 5, "max": 400, "label": "Strip course" },
    "half": { "expr": "length / 2" },
    "block": { "expr": "2 * length" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "4" }, "rect": ["k * half", "0", "(k + 1) * half", "bandWidth"] },

    { "rect": ["0", "bandWidth", "half", "bandWidth + length"] },
    { "rect": ["half", "bandWidth", "length", "bandWidth + length"] },
    { "rect": ["length", "bandWidth", "block", "bandWidth + half"] },
    { "rect": ["length", "bandWidth + half", "block", "bandWidth + length"] }
  ],
  "lattice": { "a": ["2 * length", "0"], "b": ["length", "length + bandWidth"] }
}
,"ogee-fish-scale":{
  "schema": 1,
  "id": "ogee-fish-scale",
  "name": "Ogee fish scale",
  "category": "ceramic",
  "parameters": {
    "radius": { "value": 75, "min": 15, "max": 400, "label": "Scale radius" },
    "two": { "expr": "2 * radius" },
    "three": { "expr": "3 * radius" }
  },
  "tiles": [
    { "path": [
      { "arc": { "center": ["0", "radius"], "from": ["0", "two"], "to": ["0", "0"], "clockwise": false } },
      { "arc": { "center": ["radius", "0"], "from": ["0", "0"], "to": ["radius", "radius"], "clockwise": true } },
      { "arc": { "center": ["radius", "two"], "from": ["radius", "radius"], "to": ["0", "two"], "clockwise": true } }
    ] },
    { "path": [
      { "arc": { "center": ["radius", "0"], "from": ["two", "0"], "to": ["0", "0"], "clockwise": false } },
      { "arc": { "center": ["0", "-radius"], "from": ["0", "0"], "to": ["radius", "-radius"], "clockwise": true } },
      { "arc": { "center": ["two", "-radius"], "from": ["radius", "-radius"], "to": ["two", "0"], "clockwise": true } }
    ] },
    { "path": [
      { "arc": { "center": ["two", "radius"], "from": ["two", "0"], "to": ["two", "two"], "clockwise": false } },
      { "arc": { "center": ["radius", "two"], "from": ["two", "two"], "to": ["radius", "radius"], "clockwise": true } },
      { "arc": { "center": ["radius", "0"], "from": ["radius", "radius"], "to": ["two", "0"], "clockwise": true } }
    ] },
    { "path": [
      { "arc": { "center": ["radius", "two"], "from": ["0", "two"], "to": ["two", "two"], "clockwise": false } },
      { "arc": { "center": ["two", "three"], "from": ["two", "two"], "to": ["radius", "three"], "clockwise": true } },
      { "arc": { "center": ["0", "three"], "from": ["radius", "three"], "to": ["0", "two"], "clockwise": true } }
    ] }
  ],
  "lattice": { "a": ["two", "two"], "b": ["two", "-two"] }
}
,"open-cell-ceiling":{
  "schema": 1,
  "id": "open-cell-ceiling",
  "name": "Open cell ceiling",
  "category": "metal",
  "parameters": {
    "cellSize": { "value": 75, "min": 20, "max": 300, "label": "Cell width" },
    "wallWidth": { "value": 5, "min": 1, "max": 30, "label": "Blade width" },
    "module": { "expr": "cellSize + wallWidth" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "module", "module"],
      "holes": [
        {
          "rect": ["wallWidth / 2", "wallWidth / 2", "wallWidth / 2 + cellSize", "wallWidth / 2 + cellSize"]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["module", "0"],
    "b": ["0", "module"]
  }
}
,"opus-romano-plank":{
  "schema": 1,
  "id": "opus-romano-plank",
  "name": "Opus Romano (plank format)",
  "category": "wood",
  "parameters": {
    "width": { "value": 200, "min": 20, "max": 1000, "label": "Plank width" }
  },
  "tiles": [
    { "rect": ["0", "0", "4 * width", "width"] },
    { "rect": ["0", "width", "4 * width", "5 * width"] },
    { "rect": ["4 * width", "0", "6 * width", "4 * width"] }
  ],
  "lattice": { "a": ["6 * width", "-width"], "b": ["4 * width", "4 * width"] }
}
,"opus-romano-three-size":{
  "schema": 1,
  "id": "opus-romano-three-size",
  "name": "Opus Romano (three sizes)",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 200, "min": 20, "max": 1000, "label": "Smallest tile side" }
  },
  "tiles": [
    { "rect": ["0", "0", "3 * moduleSize", "3 * moduleSize"] },
    { "rect": ["3 * moduleSize", "0", "5 * moduleSize", "3 * moduleSize"] },
    { "rect": ["0", "3 * moduleSize", "2 * moduleSize", "5 * moduleSize"] }
  ],
  "lattice": { "a": ["5 * moduleSize", "-2 * moduleSize"], "b": ["2 * moduleSize", "3 * moduleSize"] }
}
,"opus-romano":{
  "schema": 1,
  "id": "opus-romano",
  "name": "Opus Romano",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 200, "min": 20, "max": 1000, "label": "Smallest tile side" }
  },
  "tiles": [
    { "rect": ["0", "0", "2 * moduleSize", "2 * moduleSize"] },
    { "rect": ["0", "2 * moduleSize", "moduleSize", "4 * moduleSize"] },
    { "rect": ["moduleSize", "2 * moduleSize", "4 * moduleSize", "5 * moduleSize"] },
    { "rect": ["2 * moduleSize", "moduleSize", "4 * moduleSize", "2 * moduleSize"] },
    { "rect": ["4 * moduleSize", "moduleSize", "6 * moduleSize", "4 * moduleSize"] },
    { "rect": ["5 * moduleSize", "0", "6 * moduleSize", "moduleSize"] },
    { "rect": ["4 * moduleSize", "4 * moduleSize", "5 * moduleSize", "5 * moduleSize"] },
    { "rect": ["moduleSize", "5 * moduleSize", "2 * moduleSize", "6 * moduleSize"] },
    { "rect": ["2 * moduleSize", "5 * moduleSize", "5 * moduleSize", "7 * moduleSize"] },
    { "rect": ["5 * moduleSize", "4 * moduleSize", "7 * moduleSize", "6 * moduleSize"] }
  ],
  "lattice": { "a": ["6 * moduleSize", "0"], "b": ["0", "6 * moduleSize"] }
}
,"oval-and-bar-panel":{
  "schema": 1,
  "id": "oval-and-bar-panel",
  "name": "Oval and bar panel",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 144,
      "min": 40,
      "max": 200,
      "label": "Oval width"
    },
    "length": {
      "value": 530,
      "min": 370,
      "max": 1500,
      "label": "Oval length"
    },
    "bandWidth": {
      "value": 50,
      "min": 10,
      "max": 80,
      "label": "Bar width"
    },
    "gap": {
      "value": 316,
      "min": 50,
      "max": 1000,
      "label": "Gap between ovals"
    },
    "offset": {
      "value": 0,
      "min": 0,
      "max": 1,
      "label": "Column offset (fraction of the repeat)",
      "unit": "none"
    },
    "radius": {
      "expr": "width / 2"
    },
    "column": {
      "expr": "width + 2 * bandWidth"
    },
    "period": {
      "expr": "length + gap"
    },
    "inset": {
      "expr": "width / 2 + bandWidth"
    }
  },
  "tiles": [
    {
      "start": [
        "bandWidth",
        "radius"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "bandWidth + radius",
              "radius"
            ],
            "from": [
              "bandWidth",
              "radius"
            ],
            "to": [
              "bandWidth + width",
              "radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "bandWidth + width",
              "length - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "bandWidth + radius",
              "length - radius"
            ],
            "from": [
              "bandWidth + width",
              "length - radius"
            ],
            "to": [
              "bandWidth",
              "length - radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "bandWidth",
              "radius"
            ]
          }
        }
      ]
    },
    {
      "rect": [
        "0",
        "inset",
        "bandWidth",
        "length - inset"
      ]
    },
    {
      "rect": [
        "bandWidth + width",
        "inset",
        "column",
        "length - inset"
      ]
    },
    {
      "start": [
        "0",
        "length - inset"
      ],
      "path": [
        {
          "line": {
            "to": [
              "bandWidth",
              "length - inset"
            ]
          }
        },
        {
          "line": {
            "to": [
              "bandWidth",
              "length - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "bandWidth + radius",
              "length - radius"
            ],
            "from": [
              "bandWidth",
              "length - radius"
            ],
            "to": [
              "bandWidth + width",
              "length - radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "bandWidth + width",
              "length - inset"
            ]
          }
        },
        {
          "line": {
            "to": [
              "column",
              "length - inset"
            ]
          }
        },
        {
          "line": {
            "to": [
              "column",
              "period + inset"
            ]
          }
        },
        {
          "line": {
            "to": [
              "bandWidth + width",
              "period + inset"
            ]
          }
        },
        {
          "line": {
            "to": [
              "bandWidth + width",
              "period + radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "bandWidth + radius",
              "period + radius"
            ],
            "from": [
              "bandWidth + width",
              "period + radius"
            ],
            "to": [
              "bandWidth",
              "period + radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "bandWidth",
              "period + inset"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "period + inset"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "length - inset"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "column",
      "offset * period"
    ],
    "b": [
      "0",
      "period"
    ]
  }
}
,"oval-tile":{
  "schema": 1,
  "id": "oval-tile",
  "name": "Oval tile",
  "category": "ceramic",
  "coverage": "partial",
  "parameters": {
    "width": {
      "value": 50,
      "min": 10,
      "max": 150,
      "label": "Width"
    },
    "length": {
      "value": 200,
      "min": 160,
      "max": 1500,
      "label": "Length"
    },
    "radius": {
      "expr": "width / 2"
    }
  },
  "tiles": [
    {
      "start": [
        "radius",
        "radius"
      ],
      "path": [
        {
          "line": {
            "to": [
              "radius",
              "length - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "length - radius"
            ],
            "from": [
              "radius",
              "length - radius"
            ],
            "to": [
              "-radius",
              "length - radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "-radius",
              "radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "radius"
            ],
            "from": [
              "-radius",
              "radius"
            ],
            "to": [
              "radius",
              "radius"
            ],
            "clockwise": false
          }
        }
      ],
      "grain": [
        "0",
        "1"
      ]
    }
  ],
  "lattice": {
    "a": [
      "width",
      "0"
    ],
    "b": [
      "radius",
      "length"
    ]
  }
}
,"overlapping-circles":{
  "schema": 1,
  "id": "overlapping-circles",
  "name": "Overlapping circles",
  "category": "ceramic",
  "parameters": {
    "radius": { "value": 50, "min": 10, "max": 300, "label": "Circle radius" },
    "centerSpacing": { "expr": "sqrt(2) * radius" }
  },
  "tiles": [
    {
      "path": [
        { "arc": { "center": ["centerSpacing", "0"], "from": ["centerSpacing / 2", "-centerSpacing / 2"], "to": ["centerSpacing / 2", "centerSpacing / 2"], "clockwise": true } },
        { "arc": { "center": ["0", "centerSpacing"], "from": ["centerSpacing / 2", "centerSpacing / 2"], "to": ["-centerSpacing / 2", "centerSpacing / 2"], "clockwise": true } },
        { "arc": { "center": ["-centerSpacing", "0"], "from": ["-centerSpacing / 2", "centerSpacing / 2"], "to": ["-centerSpacing / 2", "-centerSpacing / 2"], "clockwise": true } },
        { "arc": { "center": ["0", "-centerSpacing"], "from": ["-centerSpacing / 2", "-centerSpacing / 2"], "to": ["centerSpacing / 2", "-centerSpacing / 2"], "clockwise": true } }
      ]
    },
    {
      "path": [
        { "arc": { "center": ["0", "0"], "from": ["centerSpacing / 2", "-centerSpacing / 2"], "to": ["centerSpacing / 2", "centerSpacing / 2"], "clockwise": false } },
        { "arc": { "center": ["centerSpacing", "0"], "from": ["centerSpacing / 2", "centerSpacing / 2"], "to": ["centerSpacing / 2", "-centerSpacing / 2"], "clockwise": false } }
      ]
    },
    {
      "path": [
        { "arc": { "center": ["0", "0"], "from": ["centerSpacing / 2", "centerSpacing / 2"], "to": ["-centerSpacing / 2", "centerSpacing / 2"], "clockwise": false } },
        { "arc": { "center": ["0", "centerSpacing"], "from": ["-centerSpacing / 2", "centerSpacing / 2"], "to": ["centerSpacing / 2", "centerSpacing / 2"], "clockwise": false } }
      ]
    }
  ],
  "lattice": {
    "a": ["centerSpacing", "0"],
    "b": ["0", "centerSpacing"]
  }
}
,"paddle-interlock-tile":{
  "schema": 1,
  "id": "paddle-interlock-tile",
  "name": "Paddle interlock tile",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 165, "min": 30, "max": 1200, "label": "Tile pitch" },
    "headWidth": { "expr": "0.7 * width" },
    "stemLeft": { "expr": "0.2 * width" },
    "stemRight": { "expr": "0.5 * width" },
    "domeLow": { "expr": "-0.4 * width" },
    "sideRadius": { "expr": "0.5 * width" },
    "capRadius": { "expr": "0.25 * width" },
    "capCentre": { "expr": "-0.2 * width" },
    "rowStep": { "expr": "1.4 * width" },
    "shoulder": { "expr": "1.0 * width" },
    "stemTop": { "expr": "2.4 * width" }
  },
  "tiles": [
    {
      "start": ["0", "0"],
      "path": [
        { "arc": { "center": ["sideRadius", "0"], "from": ["0", "0"], "to": ["stemLeft", "domeLow"], "clockwise": false } },
        { "arc": { "center": ["0.35 * width", "capCentre"], "from": ["stemLeft", "domeLow"], "to": ["stemRight", "domeLow"], "clockwise": false } },
        { "arc": { "center": ["stemLeft", "0"], "from": ["stemRight", "domeLow"], "to": ["headWidth", "0"], "clockwise": false } },
        { "line": { "to": ["headWidth", "shoulder"] } },
        { "arc": { "center": ["width", "rowStep"], "from": ["headWidth", "shoulder"], "to": ["stemRight", "rowStep"], "clockwise": true } },
        { "line": { "to": ["stemRight", "stemTop"] } },
        { "arc": { "center": ["0.35 * width", "2.6 * width"], "from": ["stemRight", "stemTop"], "to": ["stemLeft", "stemTop"], "clockwise": true } },
        { "line": { "to": ["stemLeft", "rowStep"] } },
        { "arc": { "center": ["-0.3 * width", "rowStep"], "from": ["stemLeft", "rowStep"], "to": ["0", "shoulder"], "clockwise": true } },
        { "line": { "to": ["0", "0"] } }
      ],
      "grain": ["0", "1"]
    }
  ],
  "lattice": { "a": ["width", "0"], "b": ["stemRight", "rowStep"] }
}
,"pantile":{
  "schema": 1,
  "id": "pantile",
  "name": "Pantile",
  "category": "ceramic",
  "parameters": {
    "coverWidth": {
      "value": 300,
      "min": 150,
      "max": 500,
      "label": "Cover width"
    },
    "depth": {
      "value": 55,
      "min": 10,
      "max": 75,
      "label": "Profile depth"
    },
    "length": {
      "value": 420,
      "min": 200,
      "max": 700,
      "label": "Tile length"
    },
    "arcRadius": {
      "expr": "(coverWidth * coverWidth / 4 + depth * depth) / (4 * depth)"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "coverWidth"
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "0",
      "coverWidth"
    ]
  },
  "body": {
    "profile": {
      "start": [
        "0",
        "0"
      ],
      "section": [
        {
          "arc": {
            "center": [
              "0",
              "arcRadius"
            ],
            "from": [
              "0",
              "0"
            ],
            "to": [
              "coverWidth / 4",
              "depth / 2"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "coverWidth / 2",
              "depth - arcRadius"
            ],
            "from": [
              "coverWidth / 4",
              "depth / 2"
            ],
            "to": [
              "3 * coverWidth / 4",
              "depth / 2"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "coverWidth",
              "arcRadius"
            ],
            "from": [
              "3 * coverWidth / 4",
              "depth / 2"
            ],
            "to": [
              "coverWidth",
              "0"
            ],
            "clockwise": false
          }
        }
      ]
    }
  }
}
,"parallelogram-with-band":{
  "schema": 1,
  "id": "parallelogram-with-band",
  "name": "Parallelogram with band",
  "category": "stone",
  "parameters": {
    "width": { "value": 100, "min": 20, "max": 600, "label": "Slat width" },
    "length": { "value": 300, "min": 60, "max": 2000, "label": "Slat side" },
    "bandWidth": { "value": 25, "min": 5, "max": 400, "label": "Band width" },
    "skew": { "expr": "width" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["width", "skew"], ["width", "skew + length"], ["0", "length"]] },
    { "polygon": [["width", "skew"], ["2 * width", "0"], ["2 * width", "length"], ["width", "skew + length"]] },
    { "rect": ["2 * width", "0", "2 * width + bandWidth", "length"] }
  ],
  "lattice": { "a": ["2 * width + bandWidth", "0"], "b": ["0", "length"] }
}
,"parallelogram":{
  "schema": 1,
  "id": "parallelogram",
  "name": "Parallelogram",
  "category": "stone",
  "parameters": {
    "length": {
      "value": 300,
      "min": 30,
      "max": 2000,
      "label": "Long side"
    },
    "width": {
      "value": 200,
      "min": 20,
      "max": 2000,
      "label": "Slanted side"
    },
    "slantX": {
      "expr": "width / 2"
    },
    "slantY": {
      "expr": "width * sqrt(3) / 2"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "length",
          "0"
        ],
        [
          "length + slantX",
          "slantY"
        ],
        [
          "slantX",
          "slantY"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "slantX",
      "slantY"
    ]
  }
}
,"patterned-tile-mix":{
  "schema": 1,
  "id": "patterned-tile-mix",
  "name": "Patterned tile mix",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 75,
      "min": 15,
      "max": 400,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "0",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "10 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * moduleSize",
          "0"
        ],
        [
          "12 * moduleSize",
          "0"
        ],
        [
          "12 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "0"
        ],
        [
          "11 * moduleSize",
          "0"
        ],
        [
          "10 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "0"
        ],
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "0"
        ],
        [
          "12 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ],
        [
          "0",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ],
        [
          "0",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "10 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "10 * moduleSize"
        ],
        [
          "moduleSize",
          "12 * moduleSize"
        ],
        [
          "0",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "12 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "0",
          "13 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "0",
          "13 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "13 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "13 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "14 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "14 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "14 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "14 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "13 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "0",
          "14 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "14 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "14 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "14 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "14 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "0",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "16 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "16 * moduleSize"
        ],
        [
          "moduleSize",
          "16 * moduleSize"
        ],
        [
          "0",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "18 * moduleSize"
        ],
        [
          "moduleSize",
          "16 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "19 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "19 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "18 * moduleSize"
        ],
        [
          "moduleSize",
          "20 * moduleSize"
        ],
        [
          "0",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "20 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "12 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-20 * moduleSize"
    ]
  }
},"paver-12x12-4x8-and-4x4":{
  "schema": 1,
  "id": "paver-12x12-4x8-and-4x4",
  "name": "Paver 12x12, 4x8 and 4x4",
  "category": "stone",
  "parameters": {
    "moduleSize": {"value": 101.6, "min": 20, "max": 500, "label": "Small paver side"}
  },
  "tiles": [
    { "rect": ["moduleSize", "moduleSize", "4 * moduleSize", "4 * moduleSize"] },
    { "rect": ["4 * moduleSize", "moduleSize", "7 * moduleSize", "4 * moduleSize"] },
    { "rect": ["moduleSize", "4 * moduleSize", "4 * moduleSize", "7 * moduleSize"] },
    { "rect": ["4 * moduleSize", "4 * moduleSize", "7 * moduleSize", "7 * moduleSize"] },
    { "rect": ["0", "0", "moduleSize", "moduleSize"] },
    { "rect": ["moduleSize", "0", "3 * moduleSize", "moduleSize"] },
    { "rect": ["3 * moduleSize", "0", "5 * moduleSize", "moduleSize"] },
    { "rect": ["5 * moduleSize", "0", "7 * moduleSize", "moduleSize"] },
    { "rect": ["0", "moduleSize", "moduleSize", "3 * moduleSize"] },
    { "rect": ["0", "3 * moduleSize", "moduleSize", "5 * moduleSize"] },
    { "rect": ["0", "5 * moduleSize", "moduleSize", "7 * moduleSize"] }
  ],
  "lattice": { "a": ["7 * moduleSize", "0"], "b": ["0", "7 * moduleSize"] }
}
,"paver-3x18-9x18-and-18x18":{
  "schema": 1,
  "id": "paver-3x18-9x18-and-18x18",
  "name": "Paver 3x18, 9x18 and 18x18",
  "category": "stone",
  "parameters": {
    "moduleSize": {"value": 76.2, "min": 20, "max": 500, "label": "Small paver width"}
  },
  "tiles": [
    { "rect": ["0", "0", "moduleSize", "6 * moduleSize"] },
    { "rect": ["moduleSize", "0", "4 * moduleSize", "6 * moduleSize"] },
    { "rect": ["4 * moduleSize", "0", "10 * moduleSize", "6 * moduleSize"] },
    { "rect": ["0", "6 * moduleSize", "6 * moduleSize", "12 * moduleSize"] },
    { "rect": ["6 * moduleSize", "6 * moduleSize", "7 * moduleSize", "12 * moduleSize"] },
    { "rect": ["7 * moduleSize", "6 * moduleSize", "10 * moduleSize", "12 * moduleSize"] }
  ],
  "lattice": { "a": ["10 * moduleSize", "0"], "b": ["0", "12 * moduleSize"] }
}
,"paver-3x6-and-6x6":{
  "schema": 1,
  "id": "paver-3x6-and-6x6",
  "name": "Paver 3x6 and 6x6",
  "category": "stone",
  "parameters": {
    "moduleSize": {"value": 76.2, "min": 20, "max": 500, "label": "Small paver side"}
  },
  "tiles": [
    { "rect": ["0", "0", "moduleSize", "2 * moduleSize"] },
    { "rect": ["moduleSize", "moduleSize", "3 * moduleSize", "2 * moduleSize"] },
    { "rect": ["0", "2 * moduleSize", "2 * moduleSize", "4 * moduleSize"] }
  ],
  "lattice": { "a": ["2 * moduleSize", "2 * moduleSize"], "b": ["-moduleSize", "3 * moduleSize"] }
}
,"paver-8x8-and-4x4":{
  "schema": 1,
  "id": "paver-8x8-and-4x4",
  "name": "Paver 8x8 and 4x4",
  "category": "stone",
  "parameters": {
    "moduleSize": {"value": 101.6, "min": 20, "max": 500, "label": "Small paver side"}
  },
  "tiles": [
    { "rect": ["moduleSize", "moduleSize", "3 * moduleSize", "3 * moduleSize"] },
    { "rect": ["0", "0", "moduleSize", "moduleSize"] },
    { "rect": ["moduleSize", "0", "2 * moduleSize", "moduleSize"] },
    { "rect": ["2 * moduleSize", "0", "3 * moduleSize", "moduleSize"] },
    { "rect": ["0", "moduleSize", "moduleSize", "2 * moduleSize"] },
    { "rect": ["0", "2 * moduleSize", "moduleSize", "3 * moduleSize"] }
  ],
  "lattice": { "a": ["3 * moduleSize", "0"], "b": ["0", "3 * moduleSize"] }
}
,"paver-basketweave-1-2":{
  "schema": 1,
  "id": "paver-basketweave-1-2",
  "name": "Paver basketweave 1:2",
  "category": "stone",
  "parameters": {
    "width": {"value": 76.2, "min": 20, "max": 500, "label": "Paver width"},
    "length": {"expr": "2 * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "1 * width"] },
    { "rect": ["0", "1 * width", "length", "2 * width"] },
    { "rect": ["length", "0", "length + 1 * width", "length"] }
  ],
  "lattice": { "a": ["length + 1 * width", "0"], "b": ["(length + 1 * width) / 2", "length"] }
}
,"paver-basketweave-1-3":{
  "schema": 1,
  "id": "paver-basketweave-1-3",
  "name": "Paver basketweave 1:3",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"},
    "length": {"expr": "3 * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "1 * width"] },
    { "rect": ["0", "1 * width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["length", "0", "length + 1 * width", "length"] }
  ],
  "lattice": { "a": ["length + 1 * width", "0"], "b": ["(length + 1 * width) / 2", "length"] }
}
,"paver-basketweave-1-4":{
  "schema": 1,
  "id": "paver-basketweave-1-4",
  "name": "Paver basketweave 1:4",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"},
    "length": {"expr": "4 * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "1 * width"] },
    { "rect": ["0", "1 * width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["0", "3 * width", "length", "4 * width"] },
    { "rect": ["length", "0", "length + 1 * width", "length"] }
  ],
  "lattice": { "a": ["length + 1 * width", "0"], "b": ["(length + 1 * width) / 2", "length"] }
}
,"paver-basketweave-1-6":{
  "schema": 1,
  "id": "paver-basketweave-1-6",
  "name": "Paver basketweave 1:6",
  "category": "stone",
  "parameters": {
    "width": {"value": 76.2, "min": 20, "max": 500, "label": "Paver width"},
    "length": {"expr": "6 * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "1 * width"] },
    { "rect": ["0", "1 * width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["0", "3 * width", "length", "4 * width"] },
    { "rect": ["0", "4 * width", "length", "5 * width"] },
    { "rect": ["0", "5 * width", "length", "6 * width"] },
    { "rect": ["length", "0", "length + 1 * width", "length"] }
  ],
  "lattice": { "a": ["length + 1 * width", "0"], "b": ["(length + 1 * width) / 2", "length"] }
}
,"paver-basketweave-2-3":{
  "schema": 1,
  "id": "paver-basketweave-2-3",
  "name": "Paver basketweave 2:3",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"},
    "length": {"expr": "3 * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "1 * width"] },
    { "rect": ["0", "1 * width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["length", "0", "length + 1 * width", "length"] },
    { "rect": ["length + 1 * width", "0", "length + 2 * width", "length"] }
  ],
  "lattice": { "a": ["length + 2 * width", "0"], "b": ["(length + 2 * width) / 2", "length"] }
}
,"paver-basketweave-2-4":{
  "schema": 1,
  "id": "paver-basketweave-2-4",
  "name": "Paver basketweave 2:4",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"},
    "length": {"expr": "4 * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "1 * width"] },
    { "rect": ["0", "1 * width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["0", "3 * width", "length", "4 * width"] },
    { "rect": ["length", "0", "length + 1 * width", "length"] },
    { "rect": ["length + 1 * width", "0", "length + 2 * width", "length"] }
  ],
  "lattice": { "a": ["length + 2 * width", "0"], "b": ["(length + 2 * width) / 2", "length"] }
}
,"paver-basketweave-2-6":{
  "schema": 1,
  "id": "paver-basketweave-2-6",
  "name": "Paver basketweave 2:6",
  "category": "stone",
  "parameters": {
    "width": {"value": 76.2, "min": 20, "max": 500, "label": "Paver width"},
    "length": {"expr": "6 * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "1 * width"] },
    { "rect": ["0", "1 * width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["0", "3 * width", "length", "4 * width"] },
    { "rect": ["0", "4 * width", "length", "5 * width"] },
    { "rect": ["0", "5 * width", "length", "6 * width"] },
    { "rect": ["length", "0", "length + 1 * width", "length"] },
    { "rect": ["length + 1 * width", "0", "length + 2 * width", "length"] }
  ],
  "lattice": { "a": ["length + 2 * width", "0"], "b": ["(length + 2 * width) / 2", "length"] }
}
,"paver-basketweave-3-4":{
  "schema": 1,
  "id": "paver-basketweave-3-4",
  "name": "Paver basketweave 3:4",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"},
    "length": {"expr": "4 * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "1 * width"] },
    { "rect": ["0", "1 * width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["0", "3 * width", "length", "4 * width"] },
    { "rect": ["length", "0", "length + 1 * width", "length"] },
    { "rect": ["length + 1 * width", "0", "length + 2 * width", "length"] },
    { "rect": ["length + 2 * width", "0", "length + 3 * width", "length"] }
  ],
  "lattice": { "a": ["length + 3 * width", "0"], "b": ["(length + 3 * width) / 2", "length"] }
}
,"paver-basketweave-3-6":{
  "schema": 1,
  "id": "paver-basketweave-3-6",
  "name": "Paver basketweave 3:6",
  "category": "stone",
  "parameters": {
    "width": {"value": 76.2, "min": 20, "max": 500, "label": "Paver width"},
    "length": {"expr": "6 * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "1 * width"] },
    { "rect": ["0", "1 * width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["0", "3 * width", "length", "4 * width"] },
    { "rect": ["0", "4 * width", "length", "5 * width"] },
    { "rect": ["0", "5 * width", "length", "6 * width"] },
    { "rect": ["length", "0", "length + 1 * width", "length"] },
    { "rect": ["length + 1 * width", "0", "length + 2 * width", "length"] },
    { "rect": ["length + 2 * width", "0", "length + 3 * width", "length"] }
  ],
  "lattice": { "a": ["length + 3 * width", "0"], "b": ["(length + 3 * width) / 2", "length"] }
}
,"paver-basketweave-offset-square":{
  "schema": 1,
  "id": "paver-basketweave-offset-square",
  "name": "Paver basketweave offset with square",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"}
  },
  "tiles": [
    { "rect": ["0", "0", "2 * width", "width"] },
    { "rect": ["0", "width", "width", "3 * width"] },
    { "rect": ["2 * width", "0", "3 * width", "2 * width"] },
    { "rect": ["width", "2 * width", "3 * width", "3 * width"] },
    { "rect": ["width", "width", "2 * width", "2 * width"] }
  ],
  "lattice": { "a": ["3 * width", "0"], "b": ["-width", "3 * width"] }
}
,"paver-basketweave-traditional":{
  "schema": 1,
  "id": "paver-basketweave-traditional",
  "name": "Paver basketweave traditional",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"}
  },
  "tiles": [
    { "rect": ["0", "0", "width", "2 * width"] },
    { "rect": ["0", "2 * width", "2 * width", "3 * width"] },
    { "rect": ["width", "0", "2 * width", "2 * width"] },
    { "rect": ["2 * width", "0", "4 * width", "width"] },
    { "rect": ["2 * width", "width", "3 * width", "3 * width"] },
    { "rect": ["3 * width", "width", "4 * width", "3 * width"] }
  ],
  "lattice": { "a": ["4 * width", "0"], "b": ["0", "3 * width"] }
}
,"paver-basketweave-variation":{
  "schema": 1,
  "id": "paver-basketweave-variation",
  "name": "Paver basketweave variation",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"}
  },
  "tiles": [
    { "rect": ["0", "0", "width", "2 * width"] },
    { "rect": ["0", "2 * width", "2 * width", "3 * width"] },
    { "rect": ["width", "0", "3 * width", "width"] },
    { "rect": ["width", "width", "3 * width", "2 * width"] },
    { "rect": ["2 * width", "2 * width", "4 * width", "3 * width"] },
    { "rect": ["3 * width", "0", "4 * width", "2 * width"] },
    { "rect": ["4 * width", "0", "6 * width", "width"] },
    { "rect": ["4 * width", "width", "5 * width", "3 * width"] },
    { "rect": ["5 * width", "width", "7 * width", "2 * width"] },
    { "rect": ["5 * width", "2 * width", "7 * width", "3 * width"] },
    { "rect": ["6 * width", "0", "8 * width", "width"] },
    { "rect": ["7 * width", "width", "8 * width", "3 * width"] }
  ],
  "lattice": { "a": ["8 * width", "0"], "b": ["0", "3 * width"] }
}
,"paver-herringbone-1-2":{
  "schema": 1,
  "id": "paver-herringbone-1-2",
  "name": "Paver herringbone 1:2",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"},
    "aspectRatio": {"value": 4, "min": 2, "max": 8, "label": "Paver length / width", "unit": "none"},
    "length": {"expr": "aspectRatio * width"}
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "width - length", "length + width", "width"] },
    { "rect": ["length + width", "width - length", "length + 2 * width", "width"] }
  ],
  "lattice": { "a": ["2 * width", "width"], "b": ["-length", "length"] }
}
,"paver-herringbone-square":{
  "schema": 1,
  "id": "paver-herringbone-square",
  "name": "Paver herringbone with square",
  "category": "stone",
  "parameters": {
    "width": {"value": 101.6, "min": 20, "max": 500, "label": "Paver width"}
  },
  "tiles": [
    { "rect": ["0", "0", "2 * width", "width"] },
    { "rect": ["0", "width", "width", "3 * width"] },
    { "rect": ["-width", "2 * width", "0", "3 * width"] }
  ],
  "lattice": { "a": ["width", "2 * width"], "b": ["-2 * width", "width"] }
}
,"penny-round":{
  "schema": 1,
  "id": "penny-round",
  "name": "Penny round",
  "category": "ceramic",
  "coverage": "partial",
  "parameters": {
    "diameter": { "value": 19.05, "min": 5, "max": 610, "label": "Diameter" },
    "gap": { "value": 2, "min": 0.5, "max": 20, "label": "Gap" },
    "centerSpacing": { "expr": "diameter + gap" }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": { "center": ["centerSpacing / 2", "centerSpacing / 2"], "from": ["centerSpacing / 2 + diameter / 2", "centerSpacing / 2"], "to": ["centerSpacing / 2 + diameter / 2", "centerSpacing / 2"], "clockwise": false }
        }
      ]
    }
  ],
  "lattice": {
    "a": ["centerSpacing", "0"],
    "b": ["centerSpacing / 2", "centerSpacing * sqrt(3) / 2"]
  }
}
,"pentagon-ten-star-cmm":{
  "schema": 1,
  "id": "pentagon-ten-star-cmm",
  "name": "Ten-point star and pentagons",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 60, "min": 10, "max": 300, "label": "Edge"},
    "rootFive": {"expr": "sqrt(5)"},
    "cosineEighteen": {"expr": "cos(18)"}
  },
  "tiles": [
    {"polygon": [["edge * (5/8 + 1/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (1/8 + 1/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["0", "edge * (1/2 * cosineEighteen + 1/2 * rootFive * cosineEighteen)"], ["edge * (-1/8 - 1/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (-5/8 - 1/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (-1/2 - 1/4 * rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (-5/8 - 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (-3/4 - 1/4 * rootFive)", "0"], ["edge * (-5/8 - 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (-1/2 - 1/4 * rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (-5/8 - 1/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (-1/8 - 1/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["0", "edge * (-1/2 * cosineEighteen - 1/2 * rootFive * cosineEighteen)"], ["edge * (1/8 + 1/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (5/8 + 1/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (1/2 + 1/4 * rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (3/4 + 1/4 * rootFive)", "0"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (1/2 + 1/4 * rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (11/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (-cosineEighteen)"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (9/4 + 3/4 * rootFive)", "0"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (cosineEighteen)"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (5/4 + 3/4 * rootFive)", "0"]]},
    {"polygon": [["edge * (1 + 1/2 * rootFive)", "0"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (7/8 + 3/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"]]},
    {"polygon": [["edge * (17/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (19/8 + 7/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (21/8 + 9/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (23/8 + 9/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (5/2 + rootFive)", "0"]]},
    {"polygon": [["edge * (5/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "0"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (7/8 + 3/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (19/8 + 7/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (5/2 + rootFive)", "0"], ["edge * (23/8 + 9/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (21/8 + 9/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (7/8 + 3/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 3/8 * rootFive)", "edge * (-cosineEighteen - 1/2 * rootFive * cosineEighteen)"], ["edge * (5/4 + 1/2 * rootFive)", "edge * (-5/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (11/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (13/8 + 5/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (-cosineEighteen)"]]},
    {"polygon": [["edge * (17/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (-cosineEighteen)"], ["edge * (15/8 + 7/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (19/8 + 7/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (7/8 + 3/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (1/2 + 1/4 * rootFive)", "edge * (-1/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"], ["edge * (5/8 + 1/8 * rootFive)", "edge * (-3/4 * cosineEighteen - 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (5/8 + 3/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "0"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (3/4 + 1/4 * rootFive)", "0"]]},
    {"polygon": [["edge * (11/8 + 5/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (5/4 + 3/4 * rootFive)", "0"], ["edge * (11/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (1 + 1/2 * rootFive)", "0"]]},
    {"polygon": [["edge * (17/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (9/4 + 3/4 * rootFive)", "0"], ["edge * (17/8 + 7/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (5/2 + rootFive)", "0"]]},
    {"polygon": [["edge * (5/2 + rootFive)", "0"], ["edge * (23/8 + 9/8 * rootFive)", "edge * (-1/2 * cosineEighteen)"], ["edge * (11/4 + 5/4 * rootFive)", "0"], ["edge * (23/8 + 9/8 * rootFive)", "edge * (1/2 * cosineEighteen)"]]},
    {"polygon": [["edge * (7/8 + 3/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (5/8 + 1/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (1/2 + 1/4 * rootFive)", "edge * (1/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (5/8 + 3/8 * rootFive)", "edge * (1/2 * cosineEighteen)"]]},
    {"polygon": [["edge * (11/8 + 5/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (cosineEighteen)"], ["edge * (13/8 + 5/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"]]},
    {"polygon": [["edge * (17/8 + 7/8 * rootFive)", "edge * (1/2 * cosineEighteen)"], ["edge * (19/8 + 7/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (15/8 + 7/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (7/4 + 3/4 * rootFive)", "edge * (cosineEighteen)"]]},
    {"polygon": [["edge * (7/8 + 3/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 5/8 * rootFive)", "edge * (3/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (5/4 + 1/2 * rootFive)", "edge * (5/4 * cosineEighteen + 1/4 * rootFive * cosineEighteen)"], ["edge * (9/8 + 3/8 * rootFive)", "edge * (cosineEighteen + 1/2 * rootFive * cosineEighteen)"]]}
  ],
  "lattice": {"a": ["edge * (7/4 + 3/4 * rootFive)", "edge * (3/2 * cosineEighteen + 1/2 * rootFive * cosineEighteen)"], "b": ["edge * (7/4 + 3/4 * rootFive)", "edge * (-3/2 * cosineEighteen - 1/2 * rootFive * cosineEighteen)"]}
}
,"perforated-acoustic-panel":{
  "schema": 1,
  "id": "perforated-acoustic-panel",
  "name": "Perforated acoustic panel",
  "category": "stone",
  "parameters": {
    "diameter": { "value": 8, "min": 1, "max": 16, "label": "Hole diameter" },
    "pitch": { "value": 18, "min": 17, "max": 60, "label": "Hole pitch" },
    "holeRadius": { "expr": "diameter / 2" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "pitch", "pitch"],
      "holes": [
        {
          "path": [
            {
              "arc": {
                "center": ["pitch / 2", "pitch / 2"],
                "from": ["pitch / 2 + holeRadius", "pitch / 2"],
                "to": ["pitch / 2 + holeRadius", "pitch / 2"],
                "clockwise": false
              }
            }
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitch", "0"],
    "b": ["0", "pitch"]
  }
}
,"perforated-sheet-round-staggered":{
  "schema": 1,
  "id": "perforated-sheet-round-staggered",
  "name": "Perforated sheet, round holes staggered",
  "category": "metal",
  "parameters": {
    "diameter": { "value": 5, "min": 0.5, "max": 5.5, "label": "Hole diameter" },
    "pitch": { "value": 8, "min": 7, "max": 100, "label": "Hole pitch" },
    "rowPitch": { "expr": "pitch * sqrt(3) / 2" },
    "holeRadius": { "expr": "diameter / 2" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "pitch", "rowPitch"],
      "holes": [
        {
          "path": [
            {
              "arc": {
                "center": ["pitch / 2", "rowPitch / 2"],
                "from": ["pitch / 2 + holeRadius", "rowPitch / 2"],
                "to": ["pitch / 2 + holeRadius", "rowPitch / 2"],
                "clockwise": false
              }
            }
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitch", "0"],
    "b": ["pitch / 2", "rowPitch"]
  }
}
,"perforated-sheet-round-straight":{
  "schema": 1,
  "id": "perforated-sheet-round-straight",
  "name": "Perforated sheet, round holes in rows",
  "category": "metal",
  "parameters": {
    "diameter": { "value": 8, "min": 0.5, "max": 10, "label": "Hole diameter" },
    "pitch": { "value": 12, "min": 11, "max": 150, "label": "Hole pitch" },
    "holeRadius": { "expr": "diameter / 2" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "pitch", "pitch"],
      "holes": [
        {
          "path": [
            {
              "arc": {
                "center": ["pitch / 2", "pitch / 2"],
                "from": ["pitch / 2 + holeRadius", "pitch / 2"],
                "to": ["pitch / 2 + holeRadius", "pitch / 2"],
                "clockwise": false
              }
            }
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitch", "0"],
    "b": ["0", "pitch"]
  }
}
,"perforated-sheet-slotted-staggered":{
  "schema": 1,
  "id": "perforated-sheet-slotted-staggered",
  "name": "Perforated sheet, slotted holes staggered",
  "category": "metal",
  "parameters": {
    "length": { "value": 18, "min": 6, "max": 20, "label": "Slot length" },
    "width": { "value": 3.5, "min": 0.5, "max": 5.5, "label": "Slot width" },
    "pitchAlong": { "value": 21.5, "min": 21, "max": 300, "label": "Slot pitch along" },
    "pitchAcross": { "value": 7, "min": 6, "max": 100, "label": "Slot pitch across" },
    "slotRadius": { "expr": "width / 2" },
    "straightHalf": { "expr": "(length - width) / 2" },
    "centreX": { "expr": "pitchAlong / 2" },
    "centreY": { "expr": "pitchAcross / 2" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "pitchAlong", "pitchAcross"],
      "holes": [
        {
          "start": ["centreX - straightHalf", "centreY - slotRadius"],
          "path": [
            { "line": { "to": ["centreX + straightHalf", "centreY - slotRadius"] } },
            {
              "arc": {
                "center": ["centreX + straightHalf", "centreY"],
                "from": ["centreX + straightHalf", "centreY - slotRadius"],
                "to": ["centreX + straightHalf", "centreY + slotRadius"],
                "clockwise": false
              }
            },
            { "line": { "to": ["centreX - straightHalf", "centreY + slotRadius"] } },
            {
              "arc": {
                "center": ["centreX - straightHalf", "centreY"],
                "from": ["centreX - straightHalf", "centreY + slotRadius"],
                "to": ["centreX - straightHalf", "centreY - slotRadius"],
                "clockwise": false
              }
            }
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitchAlong", "0"],
    "b": ["pitchAlong / 2", "pitchAcross"]
  }
}
,"perforated-sheet-slotted-straight":{
  "schema": 1,
  "id": "perforated-sheet-slotted-straight",
  "name": "Perforated sheet, slotted holes in rows",
  "category": "metal",
  "parameters": {
    "length": { "value": 25, "min": 9, "max": 28, "label": "Slot length" },
    "width": { "value": 5, "min": 0.5, "max": 8, "label": "Slot width" },
    "pitchAlong": { "value": 30, "min": 29, "max": 300, "label": "Slot pitch along" },
    "pitchAcross": { "value": 10, "min": 8.5, "max": 100, "label": "Slot pitch across" },
    "slotRadius": { "expr": "width / 2" },
    "straightHalf": { "expr": "(length - width) / 2" },
    "centreX": { "expr": "pitchAlong / 2" },
    "centreY": { "expr": "pitchAcross / 2" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "pitchAlong", "pitchAcross"],
      "holes": [
        {
          "start": ["centreX - straightHalf", "centreY - slotRadius"],
          "path": [
            { "line": { "to": ["centreX + straightHalf", "centreY - slotRadius"] } },
            {
              "arc": {
                "center": ["centreX + straightHalf", "centreY"],
                "from": ["centreX + straightHalf", "centreY - slotRadius"],
                "to": ["centreX + straightHalf", "centreY + slotRadius"],
                "clockwise": false
              }
            },
            { "line": { "to": ["centreX - straightHalf", "centreY + slotRadius"] } },
            {
              "arc": {
                "center": ["centreX - straightHalf", "centreY"],
                "from": ["centreX - straightHalf", "centreY + slotRadius"],
                "to": ["centreX - straightHalf", "centreY - slotRadius"],
                "clockwise": false
              }
            }
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitchAlong", "0"],
    "b": ["0", "pitchAcross"]
  }
}
,"perforated-sheet-square-staggered":{
  "schema": 1,
  "id": "perforated-sheet-square-staggered",
  "name": "Perforated sheet, square holes staggered",
  "category": "metal",
  "parameters": {
    "cellSize": { "value": 10, "min": 1, "max": 12, "label": "Hole side" },
    "pitch": { "value": 15, "min": 13, "max": 150, "label": "Hole pitch" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "pitch", "pitch"],
      "holes": [
        {
          "rect": [
            "(pitch - cellSize) / 2",
            "(pitch - cellSize) / 2",
            "(pitch + cellSize) / 2",
            "(pitch + cellSize) / 2"
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitch", "0"],
    "b": ["pitch / 2", "pitch"]
  }
}
,"perforated-sheet-square-straight":{
  "schema": 1,
  "id": "perforated-sheet-square-straight",
  "name": "Perforated sheet, square holes in rows",
  "category": "metal",
  "parameters": {
    "cellSize": { "value": 10, "min": 1, "max": 12, "label": "Hole side" },
    "pitch": { "value": 15, "min": 13, "max": 150, "label": "Hole pitch" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "pitch", "pitch"],
      "holes": [
        {
          "rect": [
            "(pitch - cellSize) / 2",
            "(pitch - cellSize) / 2",
            "(pitch + cellSize) / 2",
            "(pitch + cellSize) / 2"
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitch", "0"],
    "b": ["0", "pitch"]
  }
}
,"petal-mosaic":{
  "schema": 1,
  "id": "petal-mosaic",
  "name": "Petal mosaic",
  "category": "ceramic",
  "parameters": {
    "cellSize": {
      "value": 900,
      "min": 300,
      "max": 2400,
      "label": "Repeat width"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.5 * cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.839285714286 * cellSize"
        ],
        [
          "0.803571428571 * cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "0.803571428571 * cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "1.410714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.160714285714 * cellSize",
          "1.303571428571 * cellSize"
        ],
        [
          "0.321428571429 * cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "0.410714285714 * cellSize",
          "1.375 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "1.464285714286 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-0.107142857143 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.053571428571 * cellSize",
          "0.767857142857 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "0.928571428571 * cellSize"
        ],
        [
          "0",
          "1.035714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.053571428571 * cellSize",
          "1.464285714286 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "1.303571428571 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "1.464285714286 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "1.696428571429 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.803571428571 * cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "0.892857142857 * cellSize",
          "1.375 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "1.410714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.321428571429 * cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "1.410714285714 * cellSize"
        ],
        [
          "0.410714285714 * cellSize",
          "1.375 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.410714285714 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.839285714286 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "0.321428571429 * cellSize",
          "1.035714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.071428571429 * cellSize"
        ],
        [
          "0.821428571429 * cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "0.821428571429 * cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.446428571429 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.339285714286 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.446428571429 * cellSize"
        ],
        [
          "0.553571428571 * cellSize",
          "0.607142857143 * cellSize"
        ],
        [
          "0.392857142857 * cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * cellSize",
          "-0.089285714286 * cellSize"
        ],
        [
          "0.910714285714 * cellSize",
          "0"
        ],
        [
          "0.821428571429 * cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.071428571429 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.303571428571 * cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "0.303571428571 * cellSize",
          "0.339285714286 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.821428571429 * cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "0.821428571429 * cellSize",
          "0.339285714286 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.660714285714 * cellSize",
          "0.839285714286 * cellSize"
        ],
        [
          "0.892857142857 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "0.803571428571 * cellSize",
          "1.035714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * cellSize",
          "0.607142857143 * cellSize"
        ],
        [
          "0.910714285714 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "1.160714285714 * cellSize",
          "0.535714285714 * cellSize"
        ],
        [
          "1.053571428571 * cellSize",
          "0.767857142857 * cellSize"
        ],
        [
          "0.892857142857 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.839285714286 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.553571428571 * cellSize",
          "1.642857142857 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "1.410714285714 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "1.642857142857 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "1.803571428571 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.160714285714 * cellSize",
          "0.535714285714 * cellSize"
        ],
        [
          "0.392857142857 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.553571428571 * cellSize",
          "0.607142857143 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.839285714286 * cellSize"
        ],
        [
          "0.410714285714 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.767857142857 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.339285714286 * cellSize"
        ],
        [
          "0",
          "0.160714285714 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "-0.035714285714 * cellSize"
        ],
        [
          "0.303571428571 * cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "0.303571428571 * cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "0.535714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.303571428571 * cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "0.392857142857 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "0.535714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.553571428571 * cellSize",
          "0.607142857143 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.446428571429 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.607142857143 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.839285714286 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.392857142857 * cellSize",
          "0"
        ],
        [
          "0.553571428571 * cellSize",
          "-0.089285714286 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "0.071428571429 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "0.160714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.660714285714 * cellSize",
          "0.446428571429 * cellSize"
        ],
        [
          "0.821428571429 * cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "0.910714285714 * cellSize",
          "0.5 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "0.607142857143 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.803571428571 * cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "0.803571428571 * cellSize",
          "1.214285714286 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "1.035714285714 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "0.928571428571 * cellSize"
        ],
        [
          "0.321428571429 * cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "0.321428571429 * cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "1.303571428571 * cellSize"
        ],
        [
          "0",
          "1.214285714286 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.660714285714 * cellSize",
          "1.410714285714 * cellSize"
        ],
        [
          "0.892857142857 * cellSize",
          "1.375 * cellSize"
        ],
        [
          "1.053571428571 * cellSize",
          "1.464285714286 * cellSize"
        ],
        [
          "1.160714285714 * cellSize",
          "1.696428571429 * cellSize"
        ],
        [
          "0.910714285714 * cellSize",
          "1.732142857143 * cellSize"
        ],
        [
          "0.75 * cellSize",
          "1.642857142857 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.821428571429 * cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "cellSize",
          "0.339285714286 * cellSize"
        ],
        [
          "1.160714285714 * cellSize",
          "0.535714285714 * cellSize"
        ],
        [
          "0.910714285714 * cellSize",
          "0.5 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.910714285714 * cellSize",
          "0"
        ],
        [
          "1.160714285714 * cellSize",
          "-0.035714285714 * cellSize"
        ],
        [
          "cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "0.821428571429 * cellSize",
          "0.160714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.160714285714 * cellSize",
          "-0.035714285714 * cellSize"
        ],
        [
          "0.392857142857 * cellSize",
          "0"
        ],
        [
          "0.5 * cellSize",
          "0.160714285714 * cellSize"
        ],
        [
          "0.303571428571 * cellSize",
          "0.160714285714 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.321428571429 * cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "0.5 * cellSize",
          "1.214285714286 * cellSize"
        ],
        [
          "0.321428571429 * cellSize",
          "1.214285714286 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * cellSize",
          "0.767857142857 * cellSize"
        ],
        [
          "0.410714285714 * cellSize",
          "0.875 * cellSize"
        ],
        [
          "0.321428571429 * cellSize",
          "1.035714285714 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "0.928571428571 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "1.214285714286 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "1.303571428571 * cellSize"
        ],
        [
          "0.053571428571 * cellSize",
          "1.464285714286 * cellSize"
        ],
        [
          "-0.107142857143 * cellSize",
          "1.375 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.053571428571 * cellSize",
          "0.767857142857 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "0.535714285714 * cellSize"
        ],
        [
          "0.25 * cellSize",
          "0.767857142857 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "0.928571428571 * cellSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * cellSize",
          "1.464285714286 * cellSize"
        ],
        [
          "0.410714285714 * cellSize",
          "1.375 * cellSize"
        ],
        [
          "0.660714285714 * cellSize",
          "1.410714285714 * cellSize"
        ],
        [
          "0.553571428571 * cellSize",
          "1.642857142857 * cellSize"
        ],
        [
          "0.392857142857 * cellSize",
          "1.732142857143 * cellSize"
        ],
        [
          "0.160714285714 * cellSize",
          "1.696428571429 * cellSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "cellSize",
      "0"
    ],
    "b": [
      "0",
      "1.732142857143 * cellSize"
    ]
  }
}
,"picket-and-square":{
  "schema": 1,
  "id": "picket-and-square",
  "name": "Picket and square",
  "category": "ceramic",
  "parameters": {
    "length": { "value": 350, "min": 310, "max": 1500, "label": "Picket length" },
    "width": { "value": 150, "min": 20, "max": 300, "label": "Picket width" },
    "half": { "expr": "length / 2" },
    "halfWidth": { "expr": "width / 2" },
    "body": { "expr": "(length - width) / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "half"],
        ["-halfWidth", "body"],
        ["-halfWidth", "-body"],
        ["0", "-half"],
        ["halfWidth", "-body"],
        ["halfWidth", "body"]
      ],
      "grain": ["0", "1"]
    },
    { "rect": ["half - body", "-body", "half + body", "body"] },
    {
      "polygon": [
        ["half + half", "half"],
        ["half + body", "half + halfWidth"],
        ["half - body", "half + halfWidth"],
        ["half - half", "half"],
        ["half - body", "half - halfWidth"],
        ["half + body", "half - halfWidth"]
      ],
      "grain": ["1", "0"]
    }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "length"] }
}
,"picket":{
  "schema": 1,
  "id": "picket",
  "name": "Picket (elongated hexagon)",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 75, "min": 10, "max": 300, "label": "Width" },
    "length": { "value": 255, "min": 10, "max": 2000, "label": "Straight side" },
    "tip": { "expr": "0.3" },
    "tipHeight": { "expr": "tip * width" }
  },
  "tiles": [
    {
      "polygon": [
        ["width / 2", "-length / 2"],
        ["width / 2", "length / 2"],
        ["0", "length / 2 + tipHeight"],
        ["-width / 2", "length / 2"],
        ["-width / 2", "-length / 2"],
        ["0", "-length / 2 - tipHeight"]
      ],
      "grain": ["0", "1"]
    }
  ],
  "lattice": { "a": ["width", "0"], "b": ["width / 2", "length + tipHeight"] }
}
,"pillowed-setts":{
  "schema": 1,
  "id": "pillowed-setts",
  "name": "Pillowed setts",
  "category": "stone",
  "parameters": {
    "length": { "value": 200, "min": 50, "max": 600, "label": "Length" },
    "width": { "value": 100, "min": 30, "max": 300, "label": "Width" },
    "offset": { "value": 0.5, "min": 0, "max": 1, "label": "Row offset (fraction of length)", "unit": "none" },
    "relief": { "value": 8, "min": 0, "max": 40, "label": "Pillow height" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["offset * length", "width"] },
  "body": {
    "heightfield": {
      "height": "relief * (1 - abs(x)^3) * (1 - abs(y)^3)",
      "resolution": "min(length, width) / 8"
    }
  }
}
,"pinwheel-cross-mosaic":{
  "schema": 1,
  "id": "pinwheel-cross-mosaic",
  "name": "Pinwheel cross mosaic",
  "category": "ceramic",
  "parameters": {
    "moduleSize": { "value": 55.6, "min": 10, "max": 600, "label": "Module" },
    "arms": { "expr": "4" },
    "centre": { "expr": "moduleSize" }
  },
  "tiles": [
    {
      "repeat": { "index": "k", "count": "arms" },
      "polygon": [
        ["0", "2 * moduleSize"], ["moduleSize", "2 * moduleSize"], ["moduleSize", "moduleSize"], ["2 * moduleSize", "moduleSize"],
        ["2 * moduleSize", "2 * moduleSize"], ["3 * moduleSize", "moduleSize"], ["4 * moduleSize", "moduleSize"], ["4 * moduleSize", "2 * moduleSize"],
        ["3 * moduleSize", "3 * moduleSize"], ["4 * moduleSize", "3 * moduleSize"], ["4 * moduleSize", "4 * moduleSize"], ["3 * moduleSize", "4 * moduleSize"],
        ["3 * moduleSize", "5 * moduleSize"], ["2 * moduleSize", "4 * moduleSize"], ["moduleSize", "4 * moduleSize"], ["moduleSize", "3 * moduleSize"]
      ],
      "transform": [{ "rotate": { "angle": "90 * k", "center": ["centre", "centre"] } }]
    }
  ],
  "lattice": { "a": ["6 * moduleSize", "0"], "b": ["0", "6 * moduleSize"] }
}
,"pinwheel-elbow":{
  "schema": 1,
  "id": "pinwheel-elbow",
  "name": "Pinwheel elbow",
  "category": "stone",
  "parameters": {
    "edge": { "value": 195, "min": 190, "max": 1500, "label": "Tile size" },
    "width": { "value": 49.9, "min": 5, "max": 90, "label": "Band width" },
    "half": { "expr": "edge / 2" },
    "far": { "expr": "edge - width" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "half"] },
    { "rect": ["width", "0", "half", "width"] },
    { "rect": ["half", "0", "edge", "width"] },
    { "rect": ["far", "width", "edge", "half"] },
    { "rect": ["far", "half", "edge", "edge"] },
    { "rect": ["half", "far", "far", "edge"] },
    { "rect": ["0", "far", "half", "edge"] },
    { "rect": ["0", "half", "width", "far"] },
    { "rect": ["width", "width", "far", "far"] }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "edge"] }
}
,"pinwheel":{
  "schema": 1,
  "id": "pinwheel",
  "name": "Pinwheel",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 100, "min": 10, "max": 1000, "label": "Tile width" },
    "dotSize": { "value": 100, "min": 10, "max": 1000, "label": "Centre square" },
    "longSide": { "expr": "width + dotSize" }
  },
  "tiles": [
    { "rect": ["0", "0", "longSide", "width"] },
    { "rect": ["longSide", "0", "longSide + width", "longSide"] },
    { "rect": ["width", "longSide", "longSide + width", "longSide + width"] },
    { "rect": ["0", "width", "width", "longSide + width"] },
    { "rect": ["width", "width", "longSide", "longSide"] }
  ],
  "lattice": { "a": ["longSide + width", "0"], "b": ["0", "longSide + width"] }
}
,"plain-tile":{
  "schema": 1,
  "id": "plain-tile",
  "name": "Plain tile",
  "category": "lapped",
  "parameters": {
    "width": { "value": 165, "min": 50, "max": 600, "label": "Tile width" },
    "gauge": { "value": 100, "min": 30, "max": 400, "label": "Gauge (visible height)" },
    "offset": { "value": 0.5, "min": 0, "max": 1, "label": "Course offset (fraction of width)", "unit": "none" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "gauge"] }
  ],
  "lattice": { "a": ["width", "0"], "b": ["offset * width", "gauge"] },
  "lap": {"rows": 165, "batten": 25}
}
,"plus-paver":{
  "schema": 1,
  "id": "plus-paver",
  "name": "Plus paver",
  "category": "stone",
  "parameters": {
    "overallSize": { "value": 400, "min": 60, "max": 1500, "label": "Overall size" },
    "armWidth": { "expr": "overallSize / 2" },
    "arm": { "expr": "armWidth / 2" },
    "half": { "expr": "overallSize / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["arm", "arm"],
        ["arm", "half"],
        ["-arm", "half"],
        ["-arm", "arm"],
        ["-half", "arm"],
        ["-half", "-arm"],
        ["-arm", "-arm"],
        ["-arm", "-half"],
        ["arm", "-half"],
        ["arm", "-arm"],
        ["half", "-arm"],
        ["half", "arm"]
      ]
    }
  ],
  "lattice": { "a": ["3 * arm", "2 * arm"], "b": ["0", "4 * arm"] }
}
,"pointed-hexagon-weave":{
  "schema": 1,
  "id": "pointed-hexagon-weave",
  "name": "Pointed hexagon weave",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 300,
      "min": 60,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "1.181764705882 * overallSize"
        ],
        [
          "0",
          "0.956666666667 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.731568627451 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.225098039216 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.75 * overallSize",
          "0.225098039216 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.731568627451 * overallSize"
        ],
        [
          "overallSize",
          "0.956666666667 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.181764705882 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.688235294118 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.913333333333 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.688235294118 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "2.138431372549 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.913333333333 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.688235294118 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.181764705882 * overallSize"
        ],
        [
          "overallSize",
          "0.956666666667 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "1.181764705882 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "1.688235294118 * overallSize"
        ],
        [
          "1.5 * overallSize",
          "1.913333333333 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "2.138431372549 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "2.644901960784 * overallSize"
        ],
        [
          "overallSize",
          "2.87 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "2.644901960784 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "1.913333333333 * overallSize"
    ]
  }
}
,"polygonal-interlock-split":{
  "schema": 1,
  "id": "polygonal-interlock-split",
  "name": "Polygonal interlock split",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 70,
      "min": 14,
      "max": 400,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "-moduleSize"
        ],
        [
          "6 * moduleSize",
          "-2 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "-moduleSize"
        ],
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "-moduleSize"
        ],
        [
          "8 * moduleSize",
          "-2 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "-moduleSize"
        ],
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "7 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-8 * moduleSize"
    ]
  }
},"polygonal-interlock":{
  "schema": 1,
  "id": "polygonal-interlock",
  "name": "Polygonal interlock",
  "category": "stone",
  "parameters": {
    "edge": { "value": 270, "min": 200, "max": 1200, "label": "Module side" },
    "armWidth": { "value": 70, "min": 10, "max": 95, "label": "Tab size" }
  },
  "tiles": [
    {
      "polygon": [
        ["armWidth", "armWidth"], ["2 * armWidth", "0"], ["edge", "0"], ["edge + armWidth", "armWidth"],
        ["edge", "2 * armWidth"], ["edge", "edge"], ["edge + armWidth", "edge + armWidth"], ["edge", "edge + 2 * armWidth"],
        ["2 * armWidth", "edge + 2 * armWidth"], ["armWidth", "edge + armWidth"], ["2 * armWidth", "edge"], ["2 * armWidth", "2 * armWidth"]
      ]
    },
    {
      "polygon": [
        ["-edge", "2 * armWidth"], ["-edge + armWidth", "armWidth"], ["-edge + 2 * armWidth", "2 * armWidth"], ["0", "2 * armWidth"],
        ["armWidth", "armWidth"], ["2 * armWidth", "2 * armWidth"], ["2 * armWidth", "edge"], ["armWidth", "edge + armWidth"],
        ["0", "edge"], ["-edge + 2 * armWidth", "edge"], ["-edge + armWidth", "edge + armWidth"], ["-edge", "edge"]
      ]
    }
  ],
  "lattice": { "a": ["edge", "edge"], "b": ["edge", "-edge"] }
}
,"prismatic-pentagonal":{
  "schema": 1,
  "id": "prismatic-pentagonal",
  "name": "Prismatic pentagonal",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Source edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["-edge", "edge * (-1 - rootThree) / 2"],
        ["0", "edge * (-1 - rootThree) / 2"],
        ["0", "-rootThree * edge / 3"],
        ["-edge / 2", "-rootThree * edge / 6"],
        ["-edge", "-rootThree * edge / 3"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "-rootThree * edge / 6"],
        ["0", "-rootThree * edge / 3"],
        ["edge / 2", "-rootThree * edge / 6"],
        ["edge / 2", "edge / 2"],
        ["-edge / 2", "edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["edge / 2", "edge * (2 + rootThree) / 2"] }
}
,"propeller-paver":{
  "schema": 1,
  "id": "propeller-paver",
  "name": "Propeller paver",
  "category": "stone",
  "parameters": {
    "edge": { "value": 200, "min": 40, "max": 900, "label": "Hexagon side" },
    "flat": { "expr": "edge * sqrt(3) / 2" },
    "third": { "expr": "edge * sqrt(3) / 3" },
    "sixth": { "expr": "edge * sqrt(3) / 6" }
  },
  "tiles": [
    { "path": [
      { "arc": { "center": ["-third", "edge"], "from": ["-flat", "edge / 2"], "to": ["0", "edge"], "clockwise": false } },
      { "arc": { "center": ["sixth", "edge / 2"], "from": ["0", "edge"], "to": ["flat", "edge / 2"], "clockwise": true } },
      { "arc": { "center": ["2 * third", "0"], "from": ["flat", "edge / 2"], "to": ["flat", "-edge / 2"], "clockwise": false } },
      { "arc": { "center": ["sixth", "-edge / 2"], "from": ["flat", "-edge / 2"], "to": ["0", "-edge"], "clockwise": true } },
      { "arc": { "center": ["-third", "-edge"], "from": ["0", "-edge"], "to": ["-flat", "-edge / 2"], "clockwise": false } },
      { "arc": { "center": ["-third", "0"], "from": ["-flat", "-edge / 2"], "to": ["-flat", "edge / 2"], "clockwise": true } }
    ] }
  ],
  "lattice": { "a": ["2 * flat", "0"], "b": ["flat", "3 * edge / 2"] }
}
,"pyramid-versailles":{
  "schema": 1,
  "id": "pyramid-versailles",
  "name": "Pyramid Versailles",
  "category": "wood",
  "parameters": {
    "bandWidth": {
      "value": 100,
      "min": 10,
      "max": 400,
      "label": "Frame width"
    }
  },
  "tiles": [
    {
      "repeat": {
        "index": "k",
        "count": "3"
      },
      "polygon": [
        [
          "k * bandWidth",
          "k * bandWidth"
        ],
        [
          "8 * bandWidth - k * bandWidth",
          "k * bandWidth"
        ],
        [
          "8 * bandWidth - (k + 1) * bandWidth",
          "(k + 1) * bandWidth"
        ],
        [
          "(k + 1) * bandWidth",
          "(k + 1) * bandWidth"
        ]
      ]
    },
    {
      "repeat": {
        "index": "k",
        "count": "3"
      },
      "polygon": [
        [
          "8 * bandWidth - k * bandWidth",
          "k * bandWidth"
        ],
        [
          "8 * bandWidth - k * bandWidth",
          "8 * bandWidth - k * bandWidth"
        ],
        [
          "8 * bandWidth - (k + 1) * bandWidth",
          "8 * bandWidth - (k + 1) * bandWidth"
        ],
        [
          "8 * bandWidth - (k + 1) * bandWidth",
          "(k + 1) * bandWidth"
        ]
      ]
    },
    {
      "repeat": {
        "index": "k",
        "count": "3"
      },
      "polygon": [
        [
          "8 * bandWidth - k * bandWidth",
          "8 * bandWidth - k * bandWidth"
        ],
        [
          "k * bandWidth",
          "8 * bandWidth - k * bandWidth"
        ],
        [
          "(k + 1) * bandWidth",
          "8 * bandWidth - (k + 1) * bandWidth"
        ],
        [
          "8 * bandWidth - (k + 1) * bandWidth",
          "8 * bandWidth - (k + 1) * bandWidth"
        ]
      ]
    },
    {
      "repeat": {
        "index": "k",
        "count": "3"
      },
      "polygon": [
        [
          "k * bandWidth",
          "8 * bandWidth - k * bandWidth"
        ],
        [
          "k * bandWidth",
          "k * bandWidth"
        ],
        [
          "(k + 1) * bandWidth",
          "(k + 1) * bandWidth"
        ],
        [
          "(k + 1) * bandWidth",
          "8 * bandWidth - (k + 1) * bandWidth"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * bandWidth",
          "3 * bandWidth"
        ],
        [
          "5 * bandWidth",
          "3 * bandWidth"
        ],
        [
          "4 * bandWidth",
          "4 * bandWidth"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * bandWidth",
          "3 * bandWidth"
        ],
        [
          "5 * bandWidth",
          "5 * bandWidth"
        ],
        [
          "4 * bandWidth",
          "4 * bandWidth"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * bandWidth",
          "5 * bandWidth"
        ],
        [
          "3 * bandWidth",
          "5 * bandWidth"
        ],
        [
          "4 * bandWidth",
          "4 * bandWidth"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * bandWidth",
          "5 * bandWidth"
        ],
        [
          "3 * bandWidth",
          "3 * bandWidth"
        ],
        [
          "4 * bandWidth",
          "4 * bandWidth"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * bandWidth",
      "0"
    ],
    "b": [
      "0",
      "8 * bandWidth"
    ]
  }
}
,"quarter-and-diagonal-check":{
  "schema": 1,
  "id": "quarter-and-diagonal-check",
  "name": "Quarter and diagonal check",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 300, "min": 40, "max": 1500, "label": "Block side" }
  },
  "tiles": [
    { "rect": ["0", "0", "edge / 2", "edge / 2"] },
    { "rect": ["edge / 2", "0", "edge", "edge / 2"] },
    { "rect": ["0", "edge / 2", "edge / 2", "edge"] },
    { "rect": ["edge / 2", "edge / 2", "edge", "edge"] },
    { "polygon": [["edge", "0"], ["2 * edge", "0"], ["2 * edge", "edge"]] },
    { "polygon": [["edge", "0"], ["2 * edge", "edge"], ["edge", "edge"]] }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["edge", "edge"] }
}
,"quarter-arc-split-grid":{
  "schema": 1,
  "id": "quarter-arc-split-grid",
  "name": "Quarter arc split grid",
  "category": "ceramic",
  "parameters": {
    "cellSize": {
      "value": 150,
      "min": 30,
      "max": 600,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "cellSize"
            ],
            "from": [
              "0",
              "cellSize"
            ],
            "to": [
              "cellSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "cellSize"
            ],
            "from": [
              "cellSize",
              "0"
            ],
            "to": [
              "0",
              "cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "cellSize"
            ],
            "from": [
              "cellSize",
              "0"
            ],
            "to": [
              "2 * cellSize",
              "cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * cellSize",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "cellSize"
            ],
            "from": [
              "2 * cellSize",
              "cellSize"
            ],
            "to": [
              "cellSize",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "2 * cellSize",
        "0",
        "3 * cellSize",
        "cellSize / 2"
      ]
    },
    {
      "rect": [
        "2 * cellSize",
        "cellSize / 2",
        "3 * cellSize",
        "cellSize"
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "3 * cellSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "cellSize"
            ],
            "from": [
              "3 * cellSize",
              "0"
            ],
            "to": [
              "4 * cellSize",
              "cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * cellSize",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "cellSize"
            ],
            "from": [
              "4 * cellSize",
              "cellSize"
            ],
            "to": [
              "3 * cellSize",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "cellSize"
            ],
            "from": [
              "4 * cellSize",
              "cellSize"
            ],
            "to": [
              "5 * cellSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "4 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "cellSize"
            ],
            "from": [
              "5 * cellSize",
              "0"
            ],
            "to": [
              "4 * cellSize",
              "cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "5 * cellSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "cellSize"
            ],
            "from": [
              "5 * cellSize",
              "0"
            ],
            "to": [
              "6 * cellSize",
              "cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * cellSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "6 * cellSize",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "cellSize"
            ],
            "from": [
              "6 * cellSize",
              "cellSize"
            ],
            "to": [
              "5 * cellSize",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "cellSize"
            ],
            "from": [
              "cellSize",
              "2 * cellSize"
            ],
            "to": [
              "0",
              "cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "2 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0",
              "2 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "cellSize"
            ],
            "from": [
              "0",
              "cellSize"
            ],
            "to": [
              "cellSize",
              "2 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "cellSize",
        "cellSize",
        "2 * cellSize",
        "1 * cellSize + cellSize / 2"
      ]
    },
    {
      "rect": [
        "cellSize",
        "1 * cellSize + cellSize / 2",
        "2 * cellSize",
        "2 * cellSize"
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "3 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "cellSize"
            ],
            "from": [
              "3 * cellSize",
              "2 * cellSize"
            ],
            "to": [
              "2 * cellSize",
              "cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "2 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * cellSize",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "cellSize"
            ],
            "from": [
              "2 * cellSize",
              "cellSize"
            ],
            "to": [
              "3 * cellSize",
              "2 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "cellSize"
            ],
            "from": [
              "4 * cellSize",
              "cellSize"
            ],
            "to": [
              "3 * cellSize",
              "2 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "4 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "cellSize"
            ],
            "from": [
              "3 * cellSize",
              "2 * cellSize"
            ],
            "to": [
              "4 * cellSize",
              "cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "4 * cellSize",
        "cellSize",
        "4 * cellSize + cellSize / 2",
        "2 * cellSize"
      ]
    },
    {
      "rect": [
        "4 * cellSize + cellSize / 2",
        "cellSize",
        "5 * cellSize",
        "2 * cellSize"
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * cellSize",
              "cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "cellSize"
            ],
            "from": [
              "6 * cellSize",
              "cellSize"
            ],
            "to": [
              "5 * cellSize",
              "2 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "6 * cellSize",
        "cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "cellSize"
            ],
            "from": [
              "5 * cellSize",
              "2 * cellSize"
            ],
            "to": [
              "6 * cellSize",
              "cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "0",
        "2 * cellSize",
        "cellSize",
        "2 * cellSize + cellSize / 2"
      ]
    },
    {
      "rect": [
        "0",
        "2 * cellSize + cellSize / 2",
        "cellSize",
        "3 * cellSize"
      ]
    },
    {
      "start": [
        "cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "3 * cellSize"
            ],
            "from": [
              "cellSize",
              "2 * cellSize"
            ],
            "to": [
              "2 * cellSize",
              "3 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "3 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "2 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * cellSize",
              "3 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "3 * cellSize"
            ],
            "from": [
              "2 * cellSize",
              "3 * cellSize"
            ],
            "to": [
              "cellSize",
              "2 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "3 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "2 * cellSize",
              "3 * cellSize"
            ],
            "to": [
              "3 * cellSize",
              "2 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "3 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "3 * cellSize",
              "2 * cellSize"
            ],
            "to": [
              "2 * cellSize",
              "3 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "3 * cellSize",
        "2 * cellSize",
        "3 * cellSize + cellSize / 2",
        "3 * cellSize"
      ]
    },
    {
      "rect": [
        "3 * cellSize + cellSize / 2",
        "2 * cellSize",
        "4 * cellSize",
        "3 * cellSize"
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "3 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "4 * cellSize",
              "3 * cellSize"
            ],
            "to": [
              "5 * cellSize",
              "2 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "3 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "4 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "2 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "5 * cellSize",
              "2 * cellSize"
            ],
            "to": [
              "4 * cellSize",
              "3 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "5 * cellSize",
        "2 * cellSize",
        "5 * cellSize + cellSize / 2",
        "3 * cellSize"
      ]
    },
    {
      "rect": [
        "5 * cellSize + cellSize / 2",
        "2 * cellSize",
        "6 * cellSize",
        "3 * cellSize"
      ]
    },
    {
      "start": [
        "cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "3 * cellSize"
            ],
            "from": [
              "cellSize",
              "4 * cellSize"
            ],
            "to": [
              "0",
              "3 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "3 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "4 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "3 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "3 * cellSize"
            ],
            "from": [
              "0",
              "3 * cellSize"
            ],
            "to": [
              "cellSize",
              "4 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "3 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "3 * cellSize"
            ],
            "from": [
              "2 * cellSize",
              "3 * cellSize"
            ],
            "to": [
              "cellSize",
              "4 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "3 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "3 * cellSize"
            ],
            "from": [
              "cellSize",
              "4 * cellSize"
            ],
            "to": [
              "2 * cellSize",
              "3 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "3 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "3 * cellSize",
              "4 * cellSize"
            ],
            "to": [
              "2 * cellSize",
              "3 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "3 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "4 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * cellSize",
              "3 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "2 * cellSize",
              "3 * cellSize"
            ],
            "to": [
              "3 * cellSize",
              "4 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "3 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "4 * cellSize",
              "3 * cellSize"
            ],
            "to": [
              "3 * cellSize",
              "4 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "3 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "4 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "3 * cellSize",
              "4 * cellSize"
            ],
            "to": [
              "4 * cellSize",
              "3 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "5 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "5 * cellSize",
              "4 * cellSize"
            ],
            "to": [
              "4 * cellSize",
              "3 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "3 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "4 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * cellSize",
              "3 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "4 * cellSize",
              "3 * cellSize"
            ],
            "to": [
              "5 * cellSize",
              "4 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * cellSize",
              "3 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "6 * cellSize",
              "3 * cellSize"
            ],
            "to": [
              "5 * cellSize",
              "4 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "3 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "6 * cellSize",
        "3 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "3 * cellSize"
            ],
            "from": [
              "5 * cellSize",
              "4 * cellSize"
            ],
            "to": [
              "6 * cellSize",
              "3 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0",
              "5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "5 * cellSize"
            ],
            "from": [
              "0",
              "5 * cellSize"
            ],
            "to": [
              "cellSize",
              "4 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "5 * cellSize"
            ],
            "from": [
              "cellSize",
              "4 * cellSize"
            ],
            "to": [
              "0",
              "5 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "cellSize",
        "4 * cellSize",
        "1 * cellSize + cellSize / 2",
        "5 * cellSize"
      ]
    },
    {
      "rect": [
        "1 * cellSize + cellSize / 2",
        "4 * cellSize",
        "2 * cellSize",
        "5 * cellSize"
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "2 * cellSize",
              "5 * cellSize"
            ],
            "to": [
              "3 * cellSize",
              "4 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "3 * cellSize",
              "4 * cellSize"
            ],
            "to": [
              "2 * cellSize",
              "5 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "3 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "3 * cellSize",
              "4 * cellSize"
            ],
            "to": [
              "4 * cellSize",
              "5 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "4 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * cellSize",
              "5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "4 * cellSize",
              "5 * cellSize"
            ],
            "to": [
              "3 * cellSize",
              "4 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "4 * cellSize",
        "4 * cellSize",
        "5 * cellSize",
        "4 * cellSize + cellSize / 2"
      ]
    },
    {
      "rect": [
        "4 * cellSize",
        "4 * cellSize + cellSize / 2",
        "5 * cellSize",
        "5 * cellSize"
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "5 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "5 * cellSize",
              "4 * cellSize"
            ],
            "to": [
              "6 * cellSize",
              "5 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "4 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * cellSize",
              "4 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "6 * cellSize",
              "5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "6 * cellSize",
              "5 * cellSize"
            ],
            "to": [
              "5 * cellSize",
              "4 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSize",
              "6 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "5 * cellSize"
            ],
            "from": [
              "cellSize",
              "6 * cellSize"
            ],
            "to": [
              "0",
              "5 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "6 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0",
              "6 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "5 * cellSize"
            ],
            "from": [
              "0",
              "5 * cellSize"
            ],
            "to": [
              "cellSize",
              "6 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "5 * cellSize"
            ],
            "from": [
              "2 * cellSize",
              "5 * cellSize"
            ],
            "to": [
              "cellSize",
              "6 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "6 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSize",
              "6 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSize",
              "5 * cellSize"
            ],
            "from": [
              "cellSize",
              "6 * cellSize"
            ],
            "to": [
              "2 * cellSize",
              "5 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "3 * cellSize",
              "6 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "3 * cellSize",
              "6 * cellSize"
            ],
            "to": [
              "2 * cellSize",
              "5 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "3 * cellSize",
              "5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "3 * cellSize",
        "6 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * cellSize",
              "6 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * cellSize",
              "5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "2 * cellSize",
              "5 * cellSize"
            ],
            "to": [
              "3 * cellSize",
              "6 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "rect": [
        "3 * cellSize",
        "5 * cellSize",
        "4 * cellSize",
        "5 * cellSize + cellSize / 2"
      ]
    },
    {
      "rect": [
        "3 * cellSize",
        "5 * cellSize + cellSize / 2",
        "4 * cellSize",
        "6 * cellSize"
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "5 * cellSize",
              "6 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "5 * cellSize",
              "6 * cellSize"
            ],
            "to": [
              "4 * cellSize",
              "5 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "6 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "4 * cellSize",
              "6 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "4 * cellSize",
              "5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "4 * cellSize",
              "5 * cellSize"
            ],
            "to": [
              "5 * cellSize",
              "6 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "5 * cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * cellSize",
              "5 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "6 * cellSize",
              "5 * cellSize"
            ],
            "to": [
              "5 * cellSize",
              "6 * cellSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "5 * cellSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "6 * cellSize",
        "5 * cellSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "6 * cellSize",
              "6 * cellSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "5 * cellSize",
              "6 * cellSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "5 * cellSize",
              "5 * cellSize"
            ],
            "from": [
              "5 * cellSize",
              "6 * cellSize"
            ],
            "to": [
              "6 * cellSize",
              "5 * cellSize"
            ],
            "clockwise": true
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "6 * cellSize",
      "0"
    ],
    "b": [
      "0",
      "6 * cellSize"
    ]
  }
}
,"quarter-disc-square":{
  "schema": 1,
  "id": "quarter-disc-square",
  "name": "Quarter disc square",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 300,
      "min": 60,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.05 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.95 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0.95 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "2 * overallSize",
              "0.5 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "0.95 * overallSize"
            ],
            "to": [
              "2 * overallSize",
              "0.05 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.05 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "overallSize",
              "0.5 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.05 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.95 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1.05 * overallSize",
        "2 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.95 * overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "2.00009 * overallSize"
            ],
            "from": [
              "1.95 * overallSize",
              "2 * overallSize"
            ],
            "to": [
              "1.05 * overallSize",
              "2 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.95 * overallSize",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.05 * overallSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "-0.000025 * overallSize"
            ],
            "from": [
              "0.05 * overallSize",
              "0"
            ],
            "to": [
              "0.95 * overallSize",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "2 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "1.95 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "overallSize",
              "1.5 * overallSize"
            ],
            "from": [
              "overallSize",
              "1.95 * overallSize"
            ],
            "to": [
              "overallSize",
              "1.05 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.95 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.05 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1.05 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "1.5 * overallSize"
            ],
            "from": [
              "0",
              "1.05 * overallSize"
            ],
            "to": [
              "0",
              "1.95 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "2 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.05 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.95 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "1.00009 * overallSize"
            ],
            "from": [
              "0.95 * overallSize",
              "overallSize"
            ],
            "to": [
              "0.05 * overallSize",
              "overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "2 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.05 * overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "2 * overallSize"
            ],
            "from": [
              "1.05 * overallSize",
              "2 * overallSize"
            ],
            "to": [
              "1.95 * overallSize",
              "2 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.95 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "overallSize"
            ],
            "from": [
              "1.95 * overallSize",
              "overallSize"
            ],
            "to": [
              "1.05 * overallSize",
              "overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "1.05 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "1.95 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "2 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "1.95 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "1.05 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.000024999999999 * overallSize",
              "1.5 * overallSize"
            ],
            "from": [
              "overallSize",
              "1.05 * overallSize"
            ],
            "to": [
              "overallSize",
              "1.95 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "1.95 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.05 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.5 * overallSize",
              "0.999975 * overallSize"
            ],
            "from": [
              "1.05 * overallSize",
              "overallSize"
            ],
            "to": [
              "1.95 * overallSize",
              "overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "0.95 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "overallSize",
              "0.5 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.95 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.05 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.95 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.05 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "overallSize"
            ],
            "from": [
              "0.05 * overallSize",
              "overallSize"
            ],
            "to": [
              "0.95 * overallSize",
              "overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.95 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.05 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.95 * overallSize",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5 * overallSize",
              "0 * overallSize"
            ],
            "from": [
              "0.95 * overallSize",
              "0"
            ],
            "to": [
              "0.05 * overallSize",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "1.95 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0 * overallSize",
              "1.5 * overallSize"
            ],
            "from": [
              "0",
              "1.95 * overallSize"
            ],
            "to": [
              "0",
              "1.05 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1.95 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "2 * overallSize",
        "0.95 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0.05 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "2.000025 * overallSize",
              "0.5 * overallSize"
            ],
            "from": [
              "2 * overallSize",
              "0.05 * overallSize"
            ],
            "to": [
              "2 * overallSize",
              "0.95 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * overallSize",
      "0"
    ],
    "b": [
      "0",
      "2 * overallSize"
    ]
  }
}
,"quartered-circle-square":{
  "schema": 1,
  "id": "quartered-circle-square",
  "name": "Quartered square with circle",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 300,
      "min": 60,
      "max": 1500,
      "label": "Tile side"
    },
    "diameter": {
      "expr": "edge / 2"
    },
    "radius": {
      "expr": "diameter / 2"
    },
    "mid": {
      "expr": "edge / 2"
    },
    "step": {
      "expr": "radius / sqrt(2)"
    }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "mid + radius",
              "mid"
            ],
            "to": [
              "mid - radius",
              "mid"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "mid - radius",
              "mid"
            ],
            "to": [
              "mid + radius",
              "mid"
            ],
            "clockwise": false
          }
        }
      ],
      "start": [
        "mid + radius",
        "mid"
      ]
    },
    {
      "path": [
        {
          "line": {
            "to": [
              "edge",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "mid + step",
              "mid - step"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "mid + step",
              "mid - step"
            ],
            "to": [
              "mid - step",
              "mid - step"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ],
      "start": [
        "0",
        "0"
      ]
    },
    {
      "path": [
        {
          "line": {
            "to": [
              "edge",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "mid + step",
              "mid + step"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "mid + step",
              "mid + step"
            ],
            "to": [
              "mid + step",
              "mid - step"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "0"
            ]
          }
        }
      ],
      "start": [
        "edge",
        "0"
      ]
    },
    {
      "path": [
        {
          "line": {
            "to": [
              "0",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "mid - step",
              "mid + step"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "mid - step",
              "mid + step"
            ],
            "to": [
              "mid + step",
              "mid + step"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "edge"
            ]
          }
        }
      ],
      "start": [
        "edge",
        "edge"
      ]
    },
    {
      "path": [
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "mid - step",
              "mid - step"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "mid - step",
              "mid - step"
            ],
            "to": [
              "mid - step",
              "mid + step"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "edge"
            ]
          }
        }
      ],
      "start": [
        "0",
        "edge"
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "edge"
    ]
  }
},"quartered-circle-star":{
  "schema": 1,
  "id": "quartered-circle-star",
  "name": "Quartered circle and star",
  "category": "stone",
  "parameters": {
    "radius": {
      "value": 190,
      "min": 20,
      "max": 1000,
      "label": "Circle radius"
    },
    "pitch": {
      "expr": "2 * radius"
    }
  },
  "tiles": [
    {
      "repeat": {
        "index": "k",
        "count": "4"
      },
      "start": [
        "0",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "radius",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "radius",
              "0"
            ],
            "to": [
              "0",
              "radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ],
      "transform": [
        {
          "rotate": {
            "angle": "90 * k",
            "center": [
              "radius",
              "radius"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "radius",
        "0"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "pitch",
              "0"
            ],
            "from": [
              "radius",
              "0"
            ],
            "to": [
              "pitch",
              "radius"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "pitch",
              "pitch"
            ],
            "from": [
              "pitch",
              "radius"
            ],
            "to": [
              "radius",
              "pitch"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "pitch"
            ],
            "from": [
              "radius",
              "pitch"
            ],
            "to": [
              "0",
              "radius"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "0",
              "radius"
            ],
            "to": [
              "radius",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "pitch",
      "0"
    ],
    "b": [
      "0",
      "pitch"
    ]
  }
}
,"quartered-square-and-disc":{
  "schema": 1,
  "id": "quartered-square-and-disc",
  "name": "Quartered square and disc",
  "category": "stone",
  "parameters": {
    "overallSize": {
      "value": 450,
      "min": 400,
      "max": 2000,
      "label": "Cell size"
    },
    "radius": {
      "value": 75,
      "min": 20,
      "max": 95,
      "label": "Disc radius"
    },
    "size": {
      "expr": "overallSize"
    },
    "half": {
      "expr": "overallSize / 2"
    },
    "quarter": {
      "expr": "overallSize / 4"
    },
    "diagonalStep": {
      "expr": "radius / sqrt(2)"
    }
  },
  "tiles": [
    {
      "repeat": {
        "index": "k",
        "count": "4"
      },
      "start": [
        "0",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "size",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "3 * quarter + diagonalStep",
              "quarter - diagonalStep"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "3 * quarter",
              "quarter"
            ],
            "from": [
              "3 * quarter + diagonalStep",
              "quarter - diagonalStep"
            ],
            "to": [
              "3 * quarter - diagonalStep",
              "quarter + diagonalStep"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "half",
              "half"
            ]
          }
        },
        {
          "line": {
            "to": [
              "quarter + diagonalStep",
              "quarter + diagonalStep"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "quarter",
              "quarter"
            ],
            "from": [
              "quarter + diagonalStep",
              "quarter + diagonalStep"
            ],
            "to": [
              "quarter - diagonalStep",
              "quarter - diagonalStep"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ],
      "transform": [
        {
          "rotate": {
            "angle": "90 * k",
            "center": [
              "half",
              "half"
            ]
          }
        }
      ]
    },
    {
      "repeat": {
        "index": "k",
        "count": "4"
      },
      "start": [
        "quarter - diagonalStep",
        "quarter - diagonalStep"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "quarter",
              "quarter"
            ],
            "from": [
              "quarter - diagonalStep",
              "quarter - diagonalStep"
            ],
            "to": [
              "quarter + diagonalStep",
              "quarter + diagonalStep"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "quarter - diagonalStep",
              "quarter - diagonalStep"
            ]
          }
        }
      ],
      "transform": [
        {
          "rotate": {
            "angle": "90 * k",
            "center": [
              "half",
              "half"
            ]
          }
        }
      ]
    },
    {
      "repeat": {
        "index": "k",
        "count": "4"
      },
      "start": [
        "quarter + diagonalStep",
        "quarter + diagonalStep"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "quarter",
              "quarter"
            ],
            "from": [
              "quarter + diagonalStep",
              "quarter + diagonalStep"
            ],
            "to": [
              "quarter - diagonalStep",
              "quarter - diagonalStep"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "quarter + diagonalStep",
              "quarter + diagonalStep"
            ]
          }
        }
      ],
      "transform": [
        {
          "rotate": {
            "angle": "90 * k",
            "center": [
              "half",
              "half"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "size",
      "0"
    ],
    "b": [
      "0",
      "size"
    ]
  }
}
,"quartered-square-check":{
  "schema": 1,
  "id": "quartered-square-check",
  "name": "Quartered square check",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 200, "min": 20, "max": 1200, "label": "Tile side" },
    "half": { "expr": "edge / 2" }
  },
  "tiles": [
    { "rect": ["0", "edge", "edge", "2 * edge"] },
    { "rect": ["edge", "0", "2 * edge", "edge"] },
    { "polygon": [["0", "0"], ["half", "half"], ["0", "edge"]] },
    { "polygon": [["0", "0"], ["edge", "0"], ["half", "half"]] },
    { "polygon": [["edge", "0"], ["edge", "edge"], ["half", "half"]] },
    { "polygon": [["half", "half"], ["edge", "edge"], ["0", "edge"]] },
    { "polygon": [["edge", "edge"], ["edge + half", "edge + half"], ["edge", "2 * edge"]] },
    { "polygon": [["edge", "edge"], ["2 * edge", "edge"], ["edge + half", "edge + half"]] },
    { "polygon": [["2 * edge", "edge"], ["2 * edge", "2 * edge"], ["edge + half", "edge + half"]] },
    { "polygon": [["edge + half", "edge + half"], ["2 * edge", "2 * edge"], ["edge", "2 * edge"]] }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["0", "2 * edge"] }
}
,"quatrefoil-flower-grid":{
  "schema": 1,
  "id": "quatrefoil-flower-grid",
  "name": "Quatrefoil flower grid",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 300,
      "min": 60,
      "max": 1200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "0.994082840237 * overallSize",
        "1.011834319527 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.06351082103032 * overallSize",
              "1.3132111567161 * overallSize"
            ],
            "from": [
              "0.994082840237 * overallSize",
              "1.011834319527 * overallSize"
            ],
            "to": [
              "1.372781065089 * overallSize",
              "1.313609467456 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.686390532544 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.676873205004357 * overallSize",
              "0.692229246647402 * overallSize"
            ],
            "from": [
              "1.686390532544 * overallSize",
              "overallSize"
            ],
            "to": [
              "1.378698224852 * overallSize",
              "0.615384615385 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "1.309393173504347 * overallSize",
              "0.313853513792434 * overallSize"
            ],
            "from": [
              "1.378698224852 * overallSize",
              "0.615384615385 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.313609467456 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.686390532544 * overallSize",
              "0.627218934911 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.696055582606168 * overallSize",
              "0.934871510246426 * overallSize"
            ],
            "from": [
              "0.686390532544 * overallSize",
              "0.627218934911 * overallSize"
            ],
            "to": [
              "0.994082840237 * overallSize",
              "1.011834319527 * overallSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "1.372781065089 * overallSize",
          "1.313609467456 * overallSize"
        ],
        [
          "1.686390532544 * overallSize",
          "overallSize"
        ],
        [
          "2 * overallSize",
          "1.313609467456 * overallSize"
        ],
        [
          "1.686390532544 * overallSize",
          "1.627218934911 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.372781065089 * overallSize",
          "0.313609467456 * overallSize"
        ],
        [
          "1.686390532544 * overallSize",
          "0"
        ],
        [
          "2 * overallSize",
          "0.313609467456 * overallSize"
        ],
        [
          "1.686390532544 * overallSize",
          "0.627218934911 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "1.686390532544 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.686390532544 * overallSize",
              "0.627218934911 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.372781065089 * overallSize",
              "0.313609467456 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.313609467456 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.309335762272065 * overallSize",
              "0.313925559260395 * overallSize"
            ],
            "from": [
              "overallSize",
              "0.313609467456 * overallSize"
            ],
            "to": [
              "1.378698224852 * overallSize",
              "0.615384615385 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "1.676827675882568 * overallSize",
              "0.692265669944833 * overallSize"
            ],
            "from": [
              "1.378698224852 * overallSize",
              "0.615384615385 * overallSize"
            ],
            "to": [
              "1.686390532544 * overallSize",
              "overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "overallSize",
        "0.313609467456 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "1.372781065089 * overallSize",
              "0.313609467456 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.686390532544 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.686390532544 * overallSize",
              "-0.372781065089 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.686047744947755 * overallSize",
              "-0.063466576025823 * overallSize"
            ],
            "from": [
              "1.686390532544 * overallSize",
              "-0.372781065089 * overallSize"
            ],
            "to": [
              "1.384615384615 * overallSize",
              "0.005917159763 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "1.307626267926141 * overallSize",
              "0.303911533132528 * overallSize"
            ],
            "from": [
              "1.384615384615 * overallSize",
              "0.005917159763 * overallSize"
            ],
            "to": [
              "overallSize",
              "0.313609467456 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.372781065089 * overallSize",
          "0.313609467456 * overallSize"
        ],
        [
          "0.686390532544 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.313609467456 * overallSize"
        ],
        [
          "0.686390532544 * overallSize",
          "0.627218934911 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "1.686390532544 * overallSize",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0.313609467456 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "2.372781065089 * overallSize",
              "0.313609467456 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "2.063501076249017 * overallSize",
              "0.313223385461263 * overallSize"
            ],
            "from": [
              "2.372781065089 * overallSize",
              "0.313609467456 * overallSize"
            ],
            "to": [
              "1.994082840237 * overallSize",
              "0.011834319527 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "1.696047431825284 * overallSize",
              "-0.065121969128866 * overallSize"
            ],
            "from": [
              "1.994082840237 * overallSize",
              "0.011834319527 * overallSize"
            ],
            "to": [
              "1.686390532544 * overallSize",
              "-0.372781065089 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "1.686390532544 * overallSize",
              "0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "1.686390532544 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "1.686743494701452 * overallSize",
              "0.690693618789924 * overallSize"
            ],
            "from": [
              "1.686390532544 * overallSize",
              "overallSize"
            ],
            "to": [
              "1.988165680473 * overallSize",
              "0.621301775148 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "2.065082758179885 * overallSize",
              "0.3232173530503 * overallSize"
            ],
            "from": [
              "1.988165680473 * overallSize",
              "0.621301775148 * overallSize"
            ],
            "to": [
              "2.372781065089 * overallSize",
              "0.313609467456 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "2 * overallSize",
              "0.313609467456 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.686390532544 * overallSize",
              "0.627218934911 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.686390532544 * overallSize",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.372781065089 * overallSize",
          "1.313609467456 * overallSize"
        ],
        [
          "0.686390532544 * overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "1.313609467456 * overallSize"
        ],
        [
          "0.686390532544 * overallSize",
          "1.627218934911 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.686390532544 * overallSize",
        "2 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.686390532544 * overallSize",
              "1.627218934911 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.372781065089 * overallSize",
              "1.313609467456 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "1.313609467456 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.309335762272064 * overallSize",
              "1.313925559260396 * overallSize"
            ],
            "from": [
              "0",
              "1.313609467456 * overallSize"
            ],
            "to": [
              "0.378698224852 * overallSize",
              "1.615384615385 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0.676827675882567 * overallSize",
              "1.692265669944834 * overallSize"
            ],
            "from": [
              "0.378698224852 * overallSize",
              "1.615384615385 * overallSize"
            ],
            "to": [
              "0.686390532544 * overallSize",
              "2 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "1.313609467456 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.372781065089 * overallSize",
              "1.313609467456 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.686390532544 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.686390532544 * overallSize",
              "0.627218934911 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.686047744947755 * overallSize",
              "0.936533423974177 * overallSize"
            ],
            "from": [
              "0.686390532544 * overallSize",
              "0.627218934911 * overallSize"
            ],
            "to": [
              "0.384615384615 * overallSize",
              "1.005917159763 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0.30762626792614 * overallSize",
              "1.303911533132527 * overallSize"
            ],
            "from": [
              "0.384615384615 * overallSize",
              "1.005917159763 * overallSize"
            ],
            "to": [
              "0",
              "1.313609467456 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.686390532544 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "1.313609467456 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "1.372781065089 * overallSize",
              "1.313609467456 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.063501076249018 * overallSize",
              "1.313223385461262 * overallSize"
            ],
            "from": [
              "1.372781065089 * overallSize",
              "1.313609467456 * overallSize"
            ],
            "to": [
              "0.994082840237 * overallSize",
              "1.011834319527 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "0.696047431825287 * overallSize",
              "0.934878030871131 * overallSize"
            ],
            "from": [
              "0.994082840237 * overallSize",
              "1.011834319527 * overallSize"
            ],
            "to": [
              "0.686390532544 * overallSize",
              "0.627218934911 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.686390532544 * overallSize",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.686390532544 * overallSize",
        "2 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.686743494701453 * overallSize",
              "1.690693618789925 * overallSize"
            ],
            "from": [
              "0.686390532544 * overallSize",
              "2 * overallSize"
            ],
            "to": [
              "0.988165680473 * overallSize",
              "1.621301775148 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "1.065082758179889 * overallSize",
              "1.323217353050305 * overallSize"
            ],
            "from": [
              "0.988165680473 * overallSize",
              "1.621301775148 * overallSize"
            ],
            "to": [
              "1.372781065089 * overallSize",
              "1.313609467456 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "1.313609467456 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.686390532544 * overallSize",
              "1.627218934911 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.686390532544 * overallSize",
              "2 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.686390532544 * overallSize",
        "2 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "2.313609467456 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.307725021778911 * overallSize",
              "2.304034975448491 * overallSize"
            ],
            "from": [
              "overallSize",
              "2.313609467456 * overallSize"
            ],
            "to": [
              "1.384615384615 * overallSize",
              "2.005917159763 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "1.68610572115601 * overallSize",
              "1.93657962376513 * overallSize"
            ],
            "from": [
              "1.384615384615 * overallSize",
              "2.005917159763 * overallSize"
            ],
            "to": [
              "1.686390532544 * overallSize",
              "1.627218934911 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "1.372781065089 * overallSize",
              "1.313609467456 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "1.065082758179889 * overallSize",
              "1.323217353050305 * overallSize"
            ],
            "from": [
              "1.372781065089 * overallSize",
              "1.313609467456 * overallSize"
            ],
            "to": [
              "0.988165680473 * overallSize",
              "1.621301775148 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "0.686743494701454 * overallSize",
              "1.690693618789926 * overallSize"
            ],
            "from": [
              "0.988165680473 * overallSize",
              "1.621301775148 * overallSize"
            ],
            "to": [
              "0.686390532544 * overallSize",
              "2 * overallSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "-0.313609467456 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0",
              "1.313609467456 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.30772502177891 * overallSize",
              "1.304034975448489 * overallSize"
            ],
            "from": [
              "0",
              "1.313609467456 * overallSize"
            ],
            "to": [
              "0.384615384615 * overallSize",
              "1.005917159763 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "0.686105721156007 * overallSize",
              "0.936579623765128 * overallSize"
            ],
            "from": [
              "0.384615384615 * overallSize",
              "1.005917159763 * overallSize"
            ],
            "to": [
              "0.686390532544 * overallSize",
              "0.627218934911 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.372781065089 * overallSize",
              "0.313609467456 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.065082758179887 * overallSize",
              "0.323217353050303 * overallSize"
            ],
            "from": [
              "0.372781065089 * overallSize",
              "0.313609467456 * overallSize"
            ],
            "to": [
              "-0.011834319527 * overallSize",
              "0.621301775148 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "-0.313256505298547 * overallSize",
              "0.690693618789925 * overallSize"
            ],
            "from": [
              "-0.011834319527 * overallSize",
              "0.621301775148 * overallSize"
            ],
            "to": [
              "-0.313609467456 * overallSize",
              "overallSize"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "-0.005917159763 * overallSize",
        "2.011834319527 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.063510821030319 * overallSize",
              "2.3132111567161 * overallSize"
            ],
            "from": [
              "-0.005917159763 * overallSize",
              "2.011834319527 * overallSize"
            ],
            "to": [
              "0.372781065089 * overallSize",
              "2.313609467456 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.686390532544 * overallSize",
              "2 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.676873205004355 * overallSize",
              "1.692229246647404 * overallSize"
            ],
            "from": [
              "0.686390532544 * overallSize",
              "2 * overallSize"
            ],
            "to": [
              "0.378698224852 * overallSize",
              "1.615384615385 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "0.309393173504347 * overallSize",
              "1.313853513792433 * overallSize"
            ],
            "from": [
              "0.378698224852 * overallSize",
              "1.615384615385 * overallSize"
            ],
            "to": [
              "0",
              "1.313609467456 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "-0.313609467456 * overallSize",
              "1.627218934911 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "-0.303939921381578 * overallSize",
              "1.934867913436623 * overallSize"
            ],
            "from": [
              "-0.313609467456 * overallSize",
              "1.627218934911 * overallSize"
            ],
            "to": [
              "-0.005917159763 * overallSize",
              "2.011834319527 * overallSize"
            ],
            "clockwise": false
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * overallSize",
      "0"
    ],
    "b": [
      "0",
      "2 * overallSize"
    ]
  }
}
,"quatrefoil":{
  "schema": 1,
  "id": "quatrefoil",
  "name": "Quatrefoil",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 100, "min": 20, "max": 400, "label": "Square side (lobe diameter)" }
  },
  "tiles": [
    {
      "path": [
        { "arc": { "center": ["edge / 2", "0"], "from": ["edge / 2", "-edge / 2"], "to": ["edge / 2", "edge / 2"], "clockwise": false } },
        { "arc": { "center": ["0", "edge / 2"], "from": ["edge / 2", "edge / 2"], "to": ["-edge / 2", "edge / 2"], "clockwise": false } },
        { "arc": { "center": ["-edge / 2", "0"], "from": ["-edge / 2", "edge / 2"], "to": ["-edge / 2", "-edge / 2"], "clockwise": false } },
        { "arc": { "center": ["0", "-edge / 2"], "from": ["-edge / 2", "-edge / 2"], "to": ["edge / 2", "-edge / 2"], "clockwise": false } }
      ]
    },
    {
      "path": [
        { "arc": { "center": ["3 * edge / 2", "0"], "from": ["edge", "0"], "to": ["3 * edge / 2", "edge / 2"], "clockwise": true } },
        { "arc": { "center": ["2 * edge", "edge / 2"], "from": ["3 * edge / 2", "edge / 2"], "to": ["2 * edge", "edge"], "clockwise": true } },
        { "arc": { "center": ["2 * edge", "3 * edge / 2"], "from": ["2 * edge", "edge"], "to": ["3 * edge / 2", "3 * edge / 2"], "clockwise": true } },
        { "arc": { "center": ["3 * edge / 2", "2 * edge"], "from": ["3 * edge / 2", "3 * edge / 2"], "to": ["edge", "2 * edge"], "clockwise": true } },
        { "arc": { "center": ["edge / 2", "2 * edge"], "from": ["edge", "2 * edge"], "to": ["edge / 2", "3 * edge / 2"], "clockwise": true } },
        { "arc": { "center": ["0", "3 * edge / 2"], "from": ["edge / 2", "3 * edge / 2"], "to": ["0", "edge"], "clockwise": true } },
        { "arc": { "center": ["0", "edge / 2"], "from": ["0", "edge"], "to": ["edge / 2", "edge / 2"], "clockwise": true } },
        { "arc": { "center": ["edge / 2", "0"], "from": ["edge / 2", "edge / 2"], "to": ["edge", "0"], "clockwise": true } }
      ]
    }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["0", "2 * edge"] }
}
,"quincunx-disc-panel":{
  "schema": 1,
  "id": "quincunx-disc-panel",
  "name": "Quincunx disc panel",
  "category": "ceramic",
  "parameters": {
    "radius": {
      "value": 125,
      "min": 10,
      "max": 750,
      "label": "Disc radius"
    },
    "twoRadii": {
      "expr": "2 * radius"
    },
    "threeRadii": {
      "expr": "3 * radius"
    },
    "cellSpan": {
      "expr": "4 * radius"
    }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "radius",
              "0"
            ],
            "to": [
              "radius",
              "0"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "path": [
        {
          "arc": {
            "center": [
              "twoRadii",
              "twoRadii"
            ],
            "from": [
              "threeRadii",
              "twoRadii"
            ],
            "to": [
              "threeRadii",
              "twoRadii"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "start": [
        "radius",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "twoRadii",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "twoRadii",
              "radius"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "0",
              "radius"
            ],
            "to": [
              "radius",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "radius"
      ],
      "path": [
        {
          "line": {
            "to": [
              "twoRadii",
              "radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "twoRadii",
              "twoRadii"
            ],
            "from": [
              "twoRadii",
              "radius"
            ],
            "to": [
              "radius",
              "twoRadii"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "twoRadii"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "radius"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "twoRadii",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "threeRadii",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "threeRadii",
              "twoRadii"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "twoRadii",
              "twoRadii"
            ],
            "from": [
              "threeRadii",
              "twoRadii"
            ],
            "to": [
              "twoRadii",
              "radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "twoRadii",
              "0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "cellSpan",
        "radius"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSpan",
              "twoRadii"
            ]
          }
        },
        {
          "line": {
            "to": [
              "threeRadii",
              "twoRadii"
            ]
          }
        },
        {
          "line": {
            "to": [
              "threeRadii",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSpan",
              "0"
            ],
            "from": [
              "threeRadii",
              "0"
            ],
            "to": [
              "cellSpan",
              "radius"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "threeRadii",
        "twoRadii"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSpan",
              "twoRadii"
            ]
          }
        },
        {
          "line": {
            "to": [
              "cellSpan",
              "threeRadii"
            ]
          }
        },
        {
          "line": {
            "to": [
              "twoRadii",
              "threeRadii"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "twoRadii",
              "twoRadii"
            ],
            "from": [
              "twoRadii",
              "threeRadii"
            ],
            "to": [
              "threeRadii",
              "twoRadii"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "twoRadii",
        "threeRadii"
      ],
      "path": [
        {
          "line": {
            "to": [
              "cellSpan",
              "threeRadii"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "cellSpan",
              "cellSpan"
            ],
            "from": [
              "cellSpan",
              "threeRadii"
            ],
            "to": [
              "threeRadii",
              "cellSpan"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "twoRadii",
              "cellSpan"
            ]
          }
        },
        {
          "line": {
            "to": [
              "twoRadii",
              "threeRadii"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "twoRadii",
        "threeRadii"
      ],
      "path": [
        {
          "line": {
            "to": [
              "twoRadii",
              "cellSpan"
            ]
          }
        },
        {
          "line": {
            "to": [
              "radius",
              "cellSpan"
            ]
          }
        },
        {
          "line": {
            "to": [
              "radius",
              "twoRadii"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "twoRadii",
              "twoRadii"
            ],
            "from": [
              "radius",
              "twoRadii"
            ],
            "to": [
              "twoRadii",
              "threeRadii"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "twoRadii"
      ],
      "path": [
        {
          "line": {
            "to": [
              "radius",
              "twoRadii"
            ]
          }
        },
        {
          "line": {
            "to": [
              "radius",
              "cellSpan"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "cellSpan"
            ],
            "from": [
              "radius",
              "cellSpan"
            ],
            "to": [
              "0",
              "threeRadii"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "twoRadii"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "cellSpan",
      "0"
    ],
    "b": [
      "0",
      "cellSpan"
    ]
  }
},"random-ashlar":{
  "schema": 1,
  "id": "random-ashlar",
  "name": "Random ashlar",
  "category": "stone",
  "parameters": {
    "minimumLength": { "value": 300, "min": 50, "max": 900, "label": "Shortest stone" },
    "minimumWidth": { "value": 150, "min": 30, "max": 300, "label": "Lowest course" },
    "tileWidthStep": { "expr": "round(minimumLength * 1000 / 3) / 1000" },
    "tileHeightStep": { "expr": "round(minimumWidth * 1000 / 3) / 1000" }
  },
  "generator": {
    "randomAshlar": {
      "width": "36 * tileWidthStep",
      "height": "36 * tileHeightStep",
      "minimumTileWidth": "3 * tileWidthStep",
      "maximumTileWidth": "9 * tileWidthStep",
      "tileWidthStep": "tileWidthStep",
      "minimumTileHeight": "3 * tileHeightStep",
      "maximumTileHeight": "6 * tileHeightStep",
      "tileHeightStep": "tileHeightStep",
      "minimumStagger": "1.5 * tileWidthStep",
      "seed": "seed"
    }
  }
}
,"random-bond":{
  "schema": 1,
  "id": "random-bond",
  "name": "Random bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Brick length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 300, "label": "Course height (with joint)" },
    "minimumLength": { "expr": "length / 2" },
    "maximumLength": { "expr": "length" },
    "lengthStep": { "expr": "length / 2" },
    "rows": { "expr": "8" },
    "period": { "expr": "4 * length" },
    "minimumStagger": { "expr": "length / 4" }
  },
  "generator": {
    "randomRows": {
      "width": "width",
      "minimumLength": "minimumLength",
      "maximumLength": "maximumLength",
      "lengthStep": "lengthStep",
      "rows": "rows",
      "period": "period",
      "minimumStagger": "minimumStagger",
      "seed": "seed"
    }
  }
}
,"random-flagstone-large":{
  "schema": 1,
  "id": "random-flagstone-large",
  "name": "Random flagstone (large)",
  "category": "stone",
  "parameters": {
    "stoneSize": { "value": 700, "min": 250, "max": 1500, "label": "Mean stone height" }
  },
  "generator": {
    "periodicVoronoi": {
      "width": "14 * stoneSize",
      "height": "14 * stoneSize",
      "stoneSize": "stoneSize",
      "stretch": "1",
      "separation": "0.55",
      "relaxation": "2",
      "seed": "seed"
    }
  }
}
,"random-plank-narrow":{
  "schema": 1,
  "id": "random-plank-narrow",
  "name": "Random plank (narrow)",
  "category": "wood",
  "parameters": {
    "width": { "value": 120, "min": 20, "max": 400, "label": "Plank width" },
    "minimumLength": { "value": 400, "min": 100, "max": 1200, "label": "Shortest plank" },
    "maximumLength": { "value": 1200, "min": 400, "max": 6000, "label": "Longest plank" },
    "lengthStep": { "expr": "minimumLength / 2" },
    "rows": { "expr": "10" },
    "period": { "expr": "9 * minimumLength" },
    "minimumStagger": { "expr": "minimumLength / 2" }
  },
  "generator": {
    "randomRows": {
      "width": "width",
      "minimumLength": "minimumLength",
      "maximumLength": "maximumLength",
      "lengthStep": "lengthStep",
      "rows": "rows",
      "period": "period",
      "minimumStagger": "minimumStagger",
      "seed": "seed"
    }
  }
}
,"random-plank-ship-deck":{
  "schema": 1,
  "id": "random-plank-ship-deck",
  "name": "Random plank (ship deck)",
  "category": "wood",
  "parameters": {
    "width": { "value": 70, "min": 20, "max": 400, "label": "Plank width" },
    "minimumLength": { "value": 400, "min": 100, "max": 450, "label": "Shortest plank" },
    "maximumLength": { "value": 500, "min": 450, "max": 6000, "label": "Longest plank" },
    "lengthStep": { "expr": "(maximumLength - minimumLength) / 2" },
    "rows": { "expr": "8" },
    "period": { "expr": "3 * minimumLength + 3 * maximumLength" },
    "minimumStagger": { "expr": "minimumLength / 4" }
  },
  "generator": {
    "randomRows": {
      "width": "width",
      "minimumLength": "minimumLength",
      "maximumLength": "maximumLength",
      "lengthStep": "lengthStep",
      "rows": "rows",
      "period": "period",
      "minimumStagger": "minimumStagger",
      "seed": "seed"
    }
  }
}
,"random-plank-strip":{
  "schema": 1,
  "id": "random-plank-strip",
  "name": "Random plank (end-matched strip)",
  "category": "wood",
  "parameters": {
    "width": { "value": 57.15, "min": 20, "max": 400, "label": "Plank width" },
    "minimumLength": { "value": 228.6, "min": 101.6, "max": 1524, "label": "Shortest plank" },
    "maximumLength": { "value": 1752.6, "min": 533.4, "max": 6000, "label": "Longest plank" },
    "lengthStep": { "expr": "(maximumLength - minimumLength) / 10" },
    "rows": { "expr": "12" },
    "period": { "expr": "19 * minimumLength + maximumLength" },
    "minimumStagger": { "expr": "lengthStep" }
  },
  "generator": {
    "randomRows": {
      "width": "width",
      "minimumLength": "minimumLength",
      "maximumLength": "maximumLength",
      "lengthStep": "lengthStep",
      "rows": "rows",
      "period": "period",
      "minimumStagger": "minimumStagger",
      "seed": "seed"
    }
  }
}
,"random-plank-three-length":{
  "schema": 1,
  "id": "random-plank-three-length",
  "name": "Random plank (three lengths)",
  "category": "wood",
  "parameters": {
    "width": { "value": 150, "min": 20, "max": 400, "label": "Plank width" },
    "minimumLength": { "value": 600, "min": 100, "max": 1800, "label": "Shortest plank" },
    "maximumLength": { "value": 1800, "min": 1200, "max": 6000, "label": "Longest plank" },
    "lengthStep": { "expr": "maximumLength / 3" },
    "rows": { "expr": "6" },
    "period": { "expr": "12 * minimumLength" },
    "minimumStagger": { "expr": "min(minimumLength, lengthStep) / 2" }
  },
  "generator": {
    "randomRows": {
      "width": "width",
      "minimumLength": "minimumLength",
      "maximumLength": "maximumLength",
      "lengthStep": "lengthStep",
      "rows": "rows",
      "period": "period",
      "minimumStagger": "minimumStagger",
      "seed": "seed"
    }
  }
}
,"random-plank-wide":{
  "schema": 1,
  "id": "random-plank-wide",
  "name": "Random plank (wide)",
  "category": "wood",
  "parameters": {
    "width": { "value": 250, "min": 20, "max": 400, "label": "Plank width" },
    "minimumLength": { "value": 1200, "min": 100, "max": 2400, "label": "Shortest plank" },
    "maximumLength": { "value": 2400, "min": 1200, "max": 6000, "label": "Longest plank" },
    "lengthStep": { "expr": "minimumLength / 4" },
    "rows": { "expr": "6" },
    "period": { "expr": "6 * minimumLength" },
    "minimumStagger": { "expr": "minimumLength / 3" }
  },
  "generator": {
    "randomRows": {
      "width": "width",
      "minimumLength": "minimumLength",
      "maximumLength": "maximumLength",
      "lengthStep": "lengthStep",
      "rows": "rows",
      "period": "period",
      "minimumStagger": "minimumStagger",
      "seed": "seed"
    }
  }
}
,"random-plank":{
  "schema": 1,
  "id": "random-plank",
  "name": "Random plank",
  "category": "wood",
  "parameters": {
    "width": { "value": 190, "min": 20, "max": 400, "label": "Plank width" },
    "minimumLength": { "value": 600, "min": 100, "max": 1600, "label": "Shortest plank" },
    "maximumLength": { "value": 1800, "min": 600, "max": 6000, "label": "Longest plank" },
    "lengthStep": { "expr": "minimumLength / 2" },
    "rows": { "expr": "8" },
    "period": { "expr": "8 * minimumLength" },
    "minimumStagger": { "expr": "minimumLength / 2" }
  },
  "generator": {
    "randomRows": {
      "width": "width",
      "minimumLength": "minimumLength",
      "maximumLength": "maximumLength",
      "lengthStep": "lengthStep",
      "rows": "rows",
      "period": "period",
      "minimumStagger": "minimumStagger",
      "seed": "seed"
    }
  }
}
,"rat-trap-bond":{
  "schema": 1,
  "id": "rat-trap-bond",
  "name": "Rat-trap bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Shiner length (with joint)" },
    "rowlockWidth": { "value": 75, "min": 20, "max": 200, "label": "Rowlock face width (with joint)" },
    "width": { "value": 112.5, "min": 30, "max": 250, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "length + rowlockWidth", "width"] }
  ],
  "lattice": { "a": ["length + rowlockWidth", "0"], "b": ["(length + rowlockWidth) / 2", "width"] }
}
,"rectangle-notch-panels":{
  "schema": 1,
  "id": "rectangle-notch-panels",
  "name": "Rectangle and notch panels",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 10,
      "min": 2,
      "max": 100,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "18 * moduleSize",
        "26 * moduleSize",
        "36 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "48 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "48 * moduleSize",
          "36 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "36 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "36 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "36 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "33 * moduleSize",
        "27 * moduleSize",
        "43 * moduleSize",
        "36 * moduleSize"
      ]
    },
    {
      "rect": [
        "10 * moduleSize",
        "0",
        "36 * moduleSize",
        "18 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "36 * moduleSize",
          "0"
        ],
        [
          "43 * moduleSize",
          "0"
        ],
        [
          "43 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "53 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "53 * moduleSize",
          "0"
        ],
        [
          "58 * moduleSize",
          "0"
        ],
        [
          "58 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "36 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "43 * moduleSize",
        "0",
        "53 * moduleSize",
        "9 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "48 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "36 * moduleSize"
    ]
  }
},"reeded-panel":{
  "schema": 1,
  "id": "reeded-panel",
  "name": "Reeded panel",
  "category": "wood",
  "parameters": {
    "pitch": {
      "value": 30,
      "min": 20,
      "max": 100,
      "label": "Reed pitch"
    },
    "gap": {
      "expr": "4"
    },
    "heightRatio": {
      "expr": "0.6"
    },
    "width": {
      "value": 600,
      "min": 100,
      "max": 1500,
      "label": "Panel width"
    },
    "length": {
      "value": 2400,
      "min": 300,
      "max": 3600,
      "label": "Panel length"
    },
    "chord": {
      "expr": "pitch - gap"
    },
    "reed": {
      "expr": "heightRatio * chord / 2"
    },
    "arcRadius": {
      "expr": "(chord * chord / 4 + reed * reed) / (2 * reed)"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "width"
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "0",
      "width"
    ]
  },
  "body": {
    "profile": {
      "start": [
        "0",
        "0"
      ],
      "section": [
        {
          "line": {
            "to": [
              "gap",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "gap + chord / 2",
              "reed - arcRadius"
            ],
            "from": [
              "gap",
              "0"
            ],
            "to": [
              "pitch",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    }
  }
}
,"rhombitrihexagonal":{
  "schema": 1,
  "id": "rhombitrihexagonal",
  "name": "Rhombitrihexagonal",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 60, "min": 10, "max": 500, "label": "Edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "0"],
        ["edge / 2", "rootThree * edge / 2"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["-edge", "0"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "-rootThree * edge / 2"],
        ["-edge", "0"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge / 2", "-rootThree * edge / 2"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["edge / 2", "edge * (-2 - rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["-edge", "0"],
        ["-edge / 2", "rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["-edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["-edge", "0"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (3 + rootThree) / 2", "edge * (1 + rootThree) / 2"], "b": ["0", "edge * (1 + rootThree)"] }
}
,"rhombus-split-circle":{
  "schema": 1,
  "id": "rhombus-split-circle",
  "name": "Rhombus and split circle",
  "category": "ceramic",
  "parameters": {
    "shortDiagonal": {
      "value": 288,
      "min": 60,
      "max": 1200,
      "label": "Short diagonal"
    },
    "longDiagonal": {
      "expr": "5 * shortDiagonal / 3"
    },
    "halfShort": {
      "expr": "shortDiagonal / 2"
    },
    "halfLong": {
      "expr": "longDiagonal / 2"
    },
    "radius": {
      "expr": "5 * shortDiagonal / 12"
    }
  },
  "tiles": [
    {
      "start": [
        "0",
        "radius"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "0",
              "radius"
            ],
            "to": [
              "0",
              "-radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "radius"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "-radius"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "0",
              "-radius"
            ],
            "to": [
              "0",
              "radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "-radius"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "halfLong"
      ],
      "path": [
        {
          "line": {
            "to": [
              "-halfShort",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "-halfLong"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "-radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "0",
              "-radius"
            ],
            "to": [
              "0",
              "radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "halfLong"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "-halfLong"
      ],
      "path": [
        {
          "line": {
            "to": [
              "halfShort",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "halfLong"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "0",
              "radius"
            ],
            "to": [
              "0",
              "-radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "-halfLong"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "halfShort",
      "halfLong"
    ],
    "b": [
      "halfShort",
      "-halfLong"
    ]
  }
},"rhombus-split-square":{
  "schema": 1,
  "id": "rhombus-split-square",
  "name": "Rhombus split square",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 300, "min": 40, "max": 1500, "label": "Tile side" },
    "sizeRatio": { "value": 0.5, "min": 0.1, "max": 0.9, "label": "Short / long diagonal", "unit": "none" },
    "inset": { "expr": "edge * (1 - sizeRatio) / 2" }
  },
  "tiles": [
    { "polygon": [["inset", "inset"], ["edge", "0"], ["edge - inset", "edge - inset"], ["0", "edge"]] },
    { "polygon": [["0", "0"], ["edge", "0"], ["inset", "inset"]] },
    { "polygon": [["edge", "0"], ["edge", "edge"], ["edge - inset", "edge - inset"]] },
    { "polygon": [["edge", "edge"], ["0", "edge"], ["edge - inset", "edge - inset"]] },
    { "polygon": [["0", "edge"], ["0", "0"], ["inset", "inset"]] }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "edge"] }
}
,"rhombus-triangle-weave":{
  "schema": 1,
  "id": "rhombus-triangle-weave",
  "name": "Rhombus and triangle weave",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 200,
      "min": 30,
      "max": 1200,
      "label": "Piece edge"
    },
    "acrossStep": {
      "expr": "sqrt(3) * edge / 2"
    },
    "upStep": {
      "expr": "edge / 2"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "upStep"
        ],
        [
          "acrossStep",
          "2 * upStep"
        ],
        [
          "0",
          "3 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "upStep"
        ],
        [
          "0",
          "3 * upStep"
        ],
        [
          "-acrossStep",
          "2 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "acrossStep",
          "2 * upStep"
        ],
        [
          "2 * acrossStep",
          "3 * upStep"
        ],
        [
          "2 * acrossStep",
          "5 * upStep"
        ],
        [
          "acrossStep",
          "4 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "acrossStep",
          "2 * upStep"
        ],
        [
          "acrossStep",
          "4 * upStep"
        ],
        [
          "0",
          "5 * upStep"
        ],
        [
          "0",
          "3 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "acrossStep",
          "4 * upStep"
        ],
        [
          "2 * acrossStep",
          "5 * upStep"
        ],
        [
          "acrossStep",
          "6 * upStep"
        ],
        [
          "0",
          "5 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "5 * upStep"
        ],
        [
          "acrossStep",
          "6 * upStep"
        ],
        [
          "acrossStep",
          "8 * upStep"
        ],
        [
          "0",
          "7 * upStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "5 * upStep"
        ],
        [
          "0",
          "7 * upStep"
        ],
        [
          "-acrossStep",
          "8 * upStep"
        ],
        [
          "-acrossStep",
          "6 * upStep"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * acrossStep",
      "0"
    ],
    "b": [
      "0",
      "6 * upStep"
    ]
  }
}
,"ring-grid":{
  "schema": 1,
  "id": "ring-grid",
  "name": "Ring grid",
  "category": "stone",
  "coverage": "partial",
  "parameters": {
    "pitch": { "value": 83.3, "min": 40, "max": 300, "label": "Pitch" },
    "ringOuterRadius": { "expr": "0.72 * pitch / 2" },
    "ringInnerRadius": { "expr": "ringOuterRadius * 0.9" }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": { "center": ["pitch / 2", "pitch / 2"], "from": ["pitch / 2 + ringOuterRadius", "pitch / 2"], "to": ["pitch / 2 + ringOuterRadius", "pitch / 2"], "clockwise": false }
        }
      ],
      "holes": [
        {
          "path": [
            {
              "arc": { "center": ["pitch / 2", "pitch / 2"], "from": ["pitch / 2 + ringInnerRadius", "pitch / 2"], "to": ["pitch / 2 + ringInnerRadius", "pitch / 2"], "clockwise": false }
            }
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitch", "0"],
    "b": ["0", "pitch"]
  }
}
,"riven-slate":{
  "schema": 1,
  "id": "riven-slate",
  "name": "Riven slate",
  "category": "stone",
  "parameters": {
    "minimumLength": { "value": 300, "min": 50, "max": 600, "label": "Shortest stone" },
    "minimumWidth": { "value": 300, "min": 30, "max": 300, "label": "Course height" },
    "relief": { "value": 3, "min": 0, "max": 15, "label": "Riven depth" },
    "tileWidthStep": { "expr": "round(minimumLength * 1000 / 3) / 1000" },
    "cleft": { "expr": "minimumLength / 5" },
    "edgeBand": { "expr": "cleft / 5" }
  },
  "generator": {
    "randomAshlar": {
      "width": "24 * tileWidthStep",
      "height": "4 * minimumWidth",
      "minimumTileWidth": "3 * tileWidthStep",
      "maximumTileWidth": "6 * tileWidthStep",
      "tileWidthStep": "tileWidthStep",
      "minimumTileHeight": "minimumWidth",
      "maximumTileHeight": "2 * minimumWidth",
      "tileHeightStep": "minimumWidth",
      "minimumStagger": "tileWidthStep",
      "seed": "seed"
    }
  },
  "body": {
    "heightfield": {
      "height": "relief * min(e, edgeBand) / edgeBand * (0.65 * noise(u / cleft + 0.31, v / cleft + 0.77) + 0.35 * noise(2.3 * u / cleft + 5.1, 2.3 * v / cleft + 2.9))",
      "resolution": "cleft / 2",
      "slots": 12
    }
  }
}
,"roman-tile":{
  "schema": 1,
  "id": "roman-tile",
  "name": "Roman tile",
  "category": "ceramic",
  "parameters": {
    "coverWidth": {
      "value": 300,
      "min": 150,
      "max": 500,
      "label": "Cover width"
    },
    "length": {
      "value": 420,
      "min": 200,
      "max": 700,
      "label": "Tile length"
    },
    "rollFraction": { "expr": "0.4" },
    "riseRatio": { "expr": "0.83" },
    "roll": {
      "expr": "coverWidth * rollFraction"
    },
    "pan": {
      "expr": "coverWidth - roll"
    },
    "rise": {
      "expr": "riseRatio * roll / 2"
    },
    "arcRadius": {
      "expr": "(roll * roll / 4 + rise * rise) / (2 * rise)"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "coverWidth"
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "0",
      "coverWidth"
    ]
  },
  "body": {
    "profile": {
      "start": [
        "0",
        "0"
      ],
      "section": [
        {
          "line": {
            "to": [
              "pan",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "pan + roll / 2",
              "rise - arcRadius"
            ],
            "from": [
              "pan",
              "0"
            ],
            "to": [
              "coverWidth",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    }
  }
}
,"rotating-block-parquet":{
  "schema": 1,
  "id": "rotating-block-parquet",
  "name": "Rotating block parquet",
  "category": "wood",
  "parameters": {
    "width": { "value": 100, "min": 20, "max": 400, "label": "Strip width" },
    "blockSize": { "expr": "3 * width" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "3" }, "rect": ["k * width", "0", "(k + 1) * width", "blockSize"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["blockSize", "k * width", "2 * blockSize", "(k + 1) * width"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["2 * blockSize", "k * width", "3 * blockSize", "(k + 1) * width"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["0", "blockSize + k * width", "blockSize", "blockSize + (k + 1) * width"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["blockSize + k * width", "blockSize", "blockSize + (k + 1) * width", "2 * blockSize"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["2 * blockSize + k * width", "blockSize", "2 * blockSize + (k + 1) * width", "2 * blockSize"] }
  ],
  "lattice": { "a": ["3 * blockSize", "0"], "b": ["0", "2 * blockSize"] }
}
,"rounded-chip-terrazzo":{
  "schema": 1,
  "id": "rounded-chip-terrazzo",
  "name": "Rounded chip terrazzo",
  "category": "stone",
  "parameters": {
    "edge": {
      "value": 600,
      "min": 200,
      "max": 2400,
      "label": "Panel width"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.422343324251 * edge",
          "0.149863760218 * edge"
        ],
        [
          "0.405994550409 * edge",
          "0.118982742961 * edge"
        ],
        [
          "0.406902815622 * edge",
          "0.089918256131 * edge"
        ],
        [
          "0.407811080836 * edge",
          "0.061762034514 * edge"
        ],
        [
          "0.407811080836 * edge",
          "0.053587647593 * edge"
        ],
        [
          "0.409627611262 * edge",
          "0.028156221617 * edge"
        ],
        [
          "0.413260672116 * edge",
          "0.016348773842 * edge"
        ],
        [
          "0.422343324251 * edge",
          "0.006357856494 * edge"
        ],
        [
          "0.432334241599 * edge",
          "-0.000908265213 * edge"
        ],
        [
          "0.44323342416 * edge",
          "-0.006357856494 * edge"
        ],
        [
          "0.456857402361 * edge",
          "-0.010899182561 * edge"
        ],
        [
          "0.470481380563 * edge",
          "-0.013623978202 * edge"
        ],
        [
          "0.484105358765 * edge",
          "-0.015440508629 * edge"
        ],
        [
          "0.496821071753 * edge",
          "-0.016348773842 * edge"
        ],
        [
          "0.523160762943 * edge",
          "-0.016348773842 * edge"
        ],
        [
          "0.535876475931 * edge",
          "-0.015440508629 * edge"
        ],
        [
          "0.549500454133 * edge",
          "-0.014532243415 * edge"
        ],
        [
          "0.561307901907 * edge",
          "-0.012715712988 * edge"
        ],
        [
          "0.576748410536 * edge",
          "-0.010899182561 * edge"
        ],
        [
          "0.589464123524 * edge",
          "-0.009990917348 * edge"
        ],
        [
          "0.601271571299 * edge",
          "-0.008174386921 * edge"
        ],
        [
          "0.6148955495 * edge",
          "-0.006357856494 * edge"
        ],
        [
          "0.627611262489 * edge",
          "-0.005449591281 * edge"
        ],
        [
          "0.639418710263 * edge",
          "-0.004541326067 * edge"
        ],
        [
          "0.653042688465 * edge",
          "-0.003633060854 * edge"
        ],
        [
          "0.66485013624 * edge",
          "-0.00272479564 * edge"
        ],
        [
          "0.678474114441 * edge",
          "-0.001816530427 * edge"
        ],
        [
          "0.692098092643 * edge",
          "0.000908265213 * edge"
        ],
        [
          "0.704813805631 * edge",
          "0.005449591281 * edge"
        ],
        [
          "0.717529518619 * edge",
          "0.010899182561 * edge"
        ],
        [
          "0.727520435967 * edge",
          "0.018165304269 * edge"
        ],
        [
          "0.732970027248 * edge",
          "0.030881017257 * edge"
        ],
        [
          "0.735694822888 * edge",
          "0.043596730245 * edge"
        ],
        [
          "0.735694822888 * edge",
          "0.056312443233 * edge"
        ],
        [
          "0.733878292461 * edge",
          "0.08174386921 * edge"
        ],
        [
          "0.728428701181 * edge",
          "0.108991825613 * edge"
        ],
        [
          "0.724795640327 * edge",
          "0.120799273388 * edge"
        ],
        [
          "0.719346049046 * edge",
          "0.133514986376 * edge"
        ],
        [
          "0.715712988193 * edge",
          "0.145322434151 * edge"
        ],
        [
          "0.707538601272 * edge",
          "0.155313351499 * edge"
        ],
        [
          "0.695731153497 * edge",
          "0.161671207993 * edge"
        ],
        [
          "0.67029972752 * edge",
          "0.168029064487 * edge"
        ],
        [
          "0.657584014532 * edge",
          "0.1689373297 * edge"
        ],
        [
          "0.643960036331 * edge",
          "0.169845594914 * edge"
        ],
        [
          "0.631244323342 * edge",
          "0.170753860127 * edge"
        ],
        [
          "0.618528610354 * edge",
          "0.169845594914 * edge"
        ],
        [
          "0.58038147139 * edge",
          "0.169845594914 * edge"
        ],
        [
          "0.564940962761 * edge",
          "0.1689373297 * edge"
        ],
        [
          "0.553133514986 * edge",
          "0.168029064487 * edge"
        ],
        [
          "0.540417801998 * edge",
          "0.16621253406 * edge"
        ],
        [
          "0.523160762943 * edge",
          "0.164396003633 * edge"
        ],
        [
          "0.510445049955 * edge",
          "0.16348773842 * edge"
        ],
        [
          "0.49591280654 * edge",
          "0.161671207993 * edge"
        ],
        [
          "0.484105358765 * edge",
          "0.160762942779 * edge"
        ],
        [
          "0.471389645777 * edge",
          "0.159854677566 * edge"
        ],
        [
          "0.4459582198 * edge",
          "0.156221616712 * edge"
        ],
        [
          "0.434150772025 * edge",
          "0.153496821072 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.039055404178 * edge",
          "0.728428701181 * edge"
        ],
        [
          "0.025431425976 * edge",
          "0.689373297003 * edge"
        ],
        [
          "0.018165304269 * edge",
          "0.665758401453 * edge"
        ],
        [
          "0.015440508629 * edge",
          "0.653042688465 * edge"
        ],
        [
          "0.012715712988 * edge",
          "0.639418710263 * edge"
        ],
        [
          "0.010899182561 * edge",
          "0.627611262489 * edge"
        ],
        [
          "0.008174386921 * edge",
          "0.615803814714 * edge"
        ],
        [
          "0.00272479564 * edge",
          "0.590372388738 * edge"
        ],
        [
          "0.000908265213 * edge",
          "0.577656675749 * edge"
        ],
        [
          "0",
          "0.564032697548 * edge"
        ],
        [
          "0",
          "0.551316984559 * edge"
        ],
        [
          "0.000908265213 * edge",
          "0.538601271571 * edge"
        ],
        [
          "0.005449591281 * edge",
          "0.52497729337 * edge"
        ],
        [
          "0.010899182561 * edge",
          "0.514078110808 * edge"
        ],
        [
          "0.018165304269 * edge",
          "0.50408719346 * edge"
        ],
        [
          "0.02906448683 * edge",
          "0.497729336966 * edge"
        ],
        [
          "0.040871934605 * edge",
          "0.493188010899 * edge"
        ],
        [
          "0.053587647593 * edge",
          "0.491371480472 * edge"
        ],
        [
          "0.066303360581 * edge",
          "0.490463215259 * edge"
        ],
        [
          "0.079019073569 * edge",
          "0.490463215259 * edge"
        ],
        [
          "0.091734786558 * edge",
          "0.491371480472 * edge"
        ],
        [
          "0.104450499546 * edge",
          "0.491371480472 * edge"
        ],
        [
          "0.117166212534 * edge",
          "0.492279745686 * edge"
        ],
        [
          "0.129881925522 * edge",
          "0.495004541326 * edge"
        ],
        [
          "0.141689373297 * edge",
          "0.499545867393 * edge"
        ],
        [
          "0.150772025431 * edge",
          "0.507720254314 * edge"
        ],
        [
          "0.157129881926 * edge",
          "0.519527702089 * edge"
        ],
        [
          "0.161671207993 * edge",
          "0.53042688465 * edge"
        ],
        [
          "0.165304268847 * edge",
          "0.542234332425 * edge"
        ],
        [
          "0.168029064487 * edge",
          "0.554950045413 * edge"
        ],
        [
          "0.171662125341 * edge",
          "0.567665758401 * edge"
        ],
        [
          "0.177111716621 * edge",
          "0.591280653951 * edge"
        ],
        [
          "0.179836512262 * edge",
          "0.604904632153 * edge"
        ],
        [
          "0.182561307902 * edge",
          "0.616712079927 * edge"
        ],
        [
          "0.185286103542 * edge",
          "0.629427792916 * edge"
        ],
        [
          "0.188010899183 * edge",
          "0.64123524069 * edge"
        ],
        [
          "0.189827429609 * edge",
          "0.653950953678 * edge"
        ],
        [
          "0.191643960036 * edge",
          "0.66757493188 * edge"
        ],
        [
          "0.193460490463 * edge",
          "0.680290644868 * edge"
        ],
        [
          "0.193460490463 * edge",
          "0.704813805631 * edge"
        ],
        [
          "0.19255222525 * edge",
          "0.717529518619 * edge"
        ],
        [
          "0.187102633969 * edge",
          "0.729336966394 * edge"
        ],
        [
          "0.177111716621 * edge",
          "0.736603088102 * edge"
        ],
        [
          "0.165304268847 * edge",
          "0.741144414169 * edge"
        ],
        [
          "0.153496821072 * edge",
          "0.743869209809 * edge"
        ],
        [
          "0.140781108084 * edge",
          "0.745685740236 * edge"
        ],
        [
          "0.128065395095 * edge",
          "0.744777475023 * edge"
        ],
        [
          "0.114441416894 * edge",
          "0.742960944596 * edge"
        ],
        [
          "0.103542234332 * edge",
          "0.741144414169 * edge"
        ],
        [
          "0.094459582198 * edge",
          "0.741144414169 * edge"
        ],
        [
          "0.069028156222 * edge",
          "0.736603088102 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.791099000908 * edge",
          "0.257039055404 * edge"
        ],
        [
          "0.760217983651 * edge",
          "0.236148955495 * edge"
        ],
        [
          "0.740236148955 * edge",
          "0.205267938238 * edge"
        ],
        [
          "0.762034514078 * edge",
          "0.141689373297 * edge"
        ],
        [
          "0.770208900999 * edge",
          "0.126248864668 * edge"
        ],
        [
          "0.776566757493 * edge",
          "0.109900090827 * edge"
        ],
        [
          "0.783832879201 * edge",
          "0.094459582198 * edge"
        ],
        [
          "0.800181653043 * edge",
          "0.061762034514 * edge"
        ],
        [
          "0.810172570391 * edge",
          "0.047229791099 * edge"
        ],
        [
          "0.819255222525 * edge",
          "0.034514078111 * edge"
        ],
        [
          "0.830154405086 * edge",
          "0.020890099909 * edge"
        ],
        [
          "0.841961852861 * edge",
          "0.011807447775 * edge"
        ],
        [
          "0.854677565849 * edge",
          "0.00272479564 * edge"
        ],
        [
          "0.871934604905 * edge",
          "-0.00272479564 * edge"
        ],
        [
          "0.887375113533 * edge",
          "-0.00272479564 * edge"
        ],
        [
          "0.902815622162 * edge",
          "0.000908265213 * edge"
        ],
        [
          "0.916439600363 * edge",
          "0.007266121708 * edge"
        ],
        [
          "0.931880108992 * edge",
          "0.012715712988 * edge"
        ],
        [
          "0.945504087193 * edge",
          "0.019981834696 * edge"
        ],
        [
          "0.960944595822 * edge",
          "0.028156221617 * edge"
        ],
        [
          "0.975476839237 * edge",
          "0.037238873751 * edge"
        ],
        [
          "0.989100817439 * edge",
          "0.046321525886 * edge"
        ],
        [
          "1.001816530427 * edge",
          "0.057220708447 * edge"
        ],
        [
          "1.012715712988 * edge",
          "0.069028156222 * edge"
        ],
        [
          "1.019073569482 * edge",
          "0.08446866485 * edge"
        ],
        [
          "1.017257039055 * edge",
          "0.099909173479 * edge"
        ],
        [
          "1.013623978202 * edge",
          "0.116257947321 * edge"
        ],
        [
          "1.006357856494 * edge",
          "0.130790190736 * edge"
        ],
        [
          "0.999091734787 * edge",
          "0.144414168937 * edge"
        ],
        [
          "0.993642143506 * edge",
          "0.158946412352 * edge"
        ],
        [
          "0.987284287012 * edge",
          "0.174386920981 * edge"
        ],
        [
          "0.974568574024 * edge",
          "0.203451407811 * edge"
        ],
        [
          "0.96821071753 * edge",
          "0.219800181653 * edge"
        ],
        [
          "0.961852861035 * edge",
          "0.234332425068 * edge"
        ],
        [
          "0.952770208901 * edge",
          "0.249772933697 * edge"
        ],
        [
          "0.945504087193 * edge",
          "0.263396911898 * edge"
        ],
        [
          "0.936421435059 * edge",
          "0.275204359673 * edge"
        ],
        [
          "0.923705722071 * edge",
          "0.292461398728 * edge"
        ],
        [
          "0.910081743869 * edge",
          "0.30336058129 * edge"
        ],
        [
          "0.894641235241 * edge",
          "0.305177111717 * edge"
        ],
        [
          "0.879200726612 * edge",
          "0.301544050863 * edge"
        ],
        [
          "0.861943687557 * edge",
          "0.294277929155 * edge"
        ],
        [
          "0.845594913715 * edge",
          "0.286103542234 * edge"
        ],
        [
          "0.831970935513 * edge",
          "0.278837420527 * edge"
        ],
        [
          "0.817438692098 * edge",
          "0.270663033606 * edge"
        ],
        [
          "0.80472297911 * edge",
          "0.262488646685 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.079019073569 * edge",
          "1.016348773842 * edge"
        ],
        [
          "0.074477747502 * edge",
          "1.003633060854 * edge"
        ],
        [
          "0.070844686649 * edge",
          "0.989100817439 * edge"
        ],
        [
          "0.067211625795 * edge",
          "0.977293369664 * edge"
        ],
        [
          "0.065395095368 * edge",
          "0.964577656676 * edge"
        ],
        [
          "0.064486830154 * edge",
          "0.950045413261 * edge"
        ],
        [
          "0.065395095368 * edge",
          "0.937329700272 * edge"
        ],
        [
          "0.065395095368 * edge",
          "0.924613987284 * edge"
        ],
        [
          "0.068119891008 * edge",
          "0.911898274296 * edge"
        ],
        [
          "0.070844686649 * edge",
          "0.898274296094 * edge"
        ],
        [
          "0.073569482289 * edge",
          "0.88646684832 * edge"
        ],
        [
          "0.080835603996 * edge",
          "0.874659400545 * edge"
        ],
        [
          "0.091734786558 * edge",
          "0.867393278837 * edge"
        ],
        [
          "0.102633969119 * edge",
          "0.861035422343 * edge"
        ],
        [
          "0.128065395095 * edge",
          "0.853769300636 * edge"
        ],
        [
          "0.141689373297 * edge",
          "0.852861035422 * edge"
        ],
        [
          "0.155313351499 * edge",
          "0.851044504995 * edge"
        ],
        [
          "0.1689373297 * edge",
          "0.851044504995 * edge"
        ],
        [
          "0.182561307902 * edge",
          "0.851952770209 * edge"
        ],
        [
          "0.197093551317 * edge",
          "0.852861035422 * edge"
        ],
        [
          "0.211625794732 * edge",
          "0.852861035422 * edge"
        ],
        [
          "0.225249772934 * edge",
          "0.853769300636 * edge"
        ],
        [
          "0.237965485922 * edge",
          "0.855585831063 * edge"
        ],
        [
          "0.252497729337 * edge",
          "0.85740236149 * edge"
        ],
        [
          "0.265213442325 * edge",
          "0.859218891916 * edge"
        ],
        [
          "0.278837420527 * edge",
          "0.861035422343 * edge"
        ],
        [
          "0.291553133515 * edge",
          "0.861943687557 * edge"
        ],
        [
          "0.33514986376 * edge",
          "0.882833787466 * edge"
        ],
        [
          "0.348773841962 * edge",
          "0.908265213442 * edge"
        ],
        [
          "0.351498637602 * edge",
          "0.936421435059 * edge"
        ],
        [
          "0.349682107175 * edge",
          "0.94459582198 * edge"
        ],
        [
          "0.350590372389 * edge",
          "0.958219800182 * edge"
        ],
        [
          "0.350590372389 * edge",
          "0.97093551317 * edge"
        ],
        [
          "0.349682107175 * edge",
          "0.985467756585 * edge"
        ],
        [
          "0.347865576748 * edge",
          "0.998183469573 * edge"
        ],
        [
          "0.344232515895 * edge",
          "1.010899182561 * edge"
        ],
        [
          "0.336966394187 * edge",
          "1.021798365123 * edge"
        ],
        [
          "0.325158946412 * edge",
          "1.028156221617 * edge"
        ],
        [
          "0.310626702997 * edge",
          "1.03178928247 * edge"
        ],
        [
          "0.297910990009 * edge",
          "1.034514078111 * edge"
        ],
        [
          "0.285195277021 * edge",
          "1.036330608538 * edge"
        ],
        [
          "0.259763851045 * edge",
          "1.036330608538 * edge"
        ],
        [
          "0.247048138056 * edge",
          "1.034514078111 * edge"
        ],
        [
          "0.233424159855 * edge",
          "1.033605812897 * edge"
        ],
        [
          "0.219800181653 * edge",
          "1.03178928247 * edge"
        ],
        [
          "0.207084468665 * edge",
          "1.030881017257 * edge"
        ],
        [
          "0.193460490463 * edge",
          "1.030881017257 * edge"
        ],
        [
          "0.180744777475 * edge",
          "1.02906448683 * edge"
        ],
        [
          "0.155313351499 * edge",
          "1.02906448683 * edge"
        ],
        [
          "0.14259763851 * edge",
          "1.028156221617 * edge"
        ],
        [
          "0.116257947321 * edge",
          "1.028156221617 * edge"
        ],
        [
          "0.103542234332 * edge",
          "1.027247956403 * edge"
        ],
        [
          "0.090826521344 * edge",
          "1.02361489555 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.708446866485 * edge",
          "0.669391462307 * edge"
        ],
        [
          "0.706630336058 * edge",
          "0.629427792916 * edge"
        ],
        [
          "0.705722070845 * edge",
          "0.582198001817 * edge"
        ],
        [
          "0.704813805631 * edge",
          "0.570390554042 * edge"
        ],
        [
          "0.702997275204 * edge",
          "0.5540417802 * edge"
        ],
        [
          "0.702997275204 * edge",
          "0.533151680291 * edge"
        ],
        [
          "0.702089009991 * edge",
          "0.514986376022 * edge"
        ],
        [
          "0.702089009991 * edge",
          "0.49591280654 * edge"
        ],
        [
          "0.700272479564 * edge",
          "0.457765667575 * edge"
        ],
        [
          "0.700272479564 * edge",
          "0.420526793824 * edge"
        ],
        [
          "0.702089009991 * edge",
          "0.401453224342 * edge"
        ],
        [
          "0.711171662125 * edge",
          "0.384196185286 * edge"
        ],
        [
          "0.729336966394 * edge",
          "0.375113533152 * edge"
        ],
        [
          "0.747502270663 * edge",
          "0.368755676658 * edge"
        ],
        [
          "0.765667574932 * edge",
          "0.36421435059 * edge"
        ],
        [
          "0.783832879201 * edge",
          "0.363306085377 * edge"
        ],
        [
          "0.802906448683 * edge",
          "0.36421435059 * edge"
        ],
        [
          "0.821071752952 * edge",
          "0.366939146231 * edge"
        ],
        [
          "0.837420526794 * edge",
          "0.376021798365 * edge"
        ],
        [
          "0.851952770209 * edge",
          "0.389645776567 * edge"
        ],
        [
          "0.861035422343 * edge",
          "0.407811080836 * edge"
        ],
        [
          "0.867393278837 * edge",
          "0.425068119891 * edge"
        ],
        [
          "0.871934604905 * edge",
          "0.44323342416 * edge"
        ],
        [
          "0.874659400545 * edge",
          "0.461398728429 * edge"
        ],
        [
          "0.876475930972 * edge",
          "0.479564032698 * edge"
        ],
        [
          "0.877384196185 * edge",
          "0.50136239782 * edge"
        ],
        [
          "0.878292461399 * edge",
          "0.519527702089 * edge"
        ],
        [
          "0.879200726612 * edge",
          "0.539509536785 * edge"
        ],
        [
          "0.880108991826 * edge",
          "0.558583106267 * edge"
        ],
        [
          "0.880108991826 * edge",
          "0.577656675749 * edge"
        ],
        [
          "0.881017257039 * edge",
          "0.595821980018 * edge"
        ],
        [
          "0.881017257039 * edge",
          "0.633969118983 * edge"
        ],
        [
          "0.875567665758 * edge",
          "0.652134423252 * edge"
        ],
        [
          "0.863760217984 * edge",
          "0.666666666667 * edge"
        ],
        [
          "0.847411444142 * edge",
          "0.676657584015 * edge"
        ],
        [
          "0.829246139873 * edge",
          "0.683923705722 * edge"
        ],
        [
          "0.809264305177 * edge",
          "0.688465031789 * edge"
        ],
        [
          "0.789282470481 * edge",
          "0.69118982743 * edge"
        ],
        [
          "0.772025431426 * edge",
          "0.693006357856 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.625794732062 * edge",
          "0.963669391462 * edge"
        ],
        [
          "0.6148955495 * edge",
          "0.937329700272 * edge"
        ],
        [
          "0.613079019074 * edge",
          "0.930063578565 * edge"
        ],
        [
          "0.604904632153 * edge",
          "0.905540417802 * edge"
        ],
        [
          "0.601271571299 * edge",
          "0.892824704814 * edge"
        ],
        [
          "0.599455040872 * edge",
          "0.881017257039 * edge"
        ],
        [
          "0.598546775658 * edge",
          "0.867393278837 * edge"
        ],
        [
          "0.599455040872 * edge",
          "0.854677565849 * edge"
        ],
        [
          "0.602179836512 * edge",
          "0.842870118074 * edge"
        ],
        [
          "0.607629427793 * edge",
          "0.831970935513 * edge"
        ],
        [
          "0.616712079927 * edge",
          "0.821071752952 * edge"
        ],
        [
          "0.626702997275 * edge",
          "0.814713896458 * edge"
        ],
        [
          "0.637602179837 * edge",
          "0.808356039964 * edge"
        ],
        [
          "0.649409627611 * edge",
          "0.803814713896 * edge"
        ],
        [
          "0.662125340599 * edge",
          "0.800181653043 * edge"
        ],
        [
          "0.675749318801 * edge",
          "0.798365122616 * edge"
        ],
        [
          "0.689373297003 * edge",
          "0.795640326975 * edge"
        ],
        [
          "0.702089009991 * edge",
          "0.793823796549 * edge"
        ],
        [
          "0.714804722979 * edge",
          "0.792915531335 * edge"
        ],
        [
          "0.728428701181 * edge",
          "0.792007266122 * edge"
        ],
        [
          "0.741144414169 * edge",
          "0.791099000908 * edge"
        ],
        [
          "0.753860127157 * edge",
          "0.789282470481 * edge"
        ],
        [
          "0.768392370572 * edge",
          "0.787465940054 * edge"
        ],
        [
          "0.782016348774 * edge",
          "0.785649409628 * edge"
        ],
        [
          "0.796548592189 * edge",
          "0.783832879201 * edge"
        ],
        [
          "0.808356039964 * edge",
          "0.78110808356 * edge"
        ],
        [
          "0.821980018165 * edge",
          "0.77838328792 * edge"
        ],
        [
          "0.834695731153 * edge",
          "0.776566757493 * edge"
        ],
        [
          "0.846503178928 * edge",
          "0.774750227066 * edge"
        ],
        [
          "0.86012715713 * edge",
          "0.773841961853 * edge"
        ],
        [
          "0.871934604905 * edge",
          "0.776566757493 * edge"
        ],
        [
          "0.883742052679 * edge",
          "0.78110808356 * edge"
        ],
        [
          "0.8919164396 * edge",
          "0.792007266122 * edge"
        ],
        [
          "0.897366030881 * edge",
          "0.803814713896 * edge"
        ],
        [
          "0.901907356948 * edge",
          "0.815622161671 * edge"
        ],
        [
          "0.905540417802 * edge",
          "0.827429609446 * edge"
        ],
        [
          "0.908265213442 * edge",
          "0.840145322434 * edge"
        ],
        [
          "0.910081743869 * edge",
          "0.855585831063 * edge"
        ],
        [
          "0.911898274296 * edge",
          "0.867393278837 * edge"
        ],
        [
          "0.913714804723 * edge",
          "0.880108991826 * edge"
        ],
        [
          "0.913714804723 * edge",
          "0.8919164396 * edge"
        ],
        [
          "0.914623069936 * edge",
          "0.905540417802 * edge"
        ],
        [
          "0.911898274296 * edge",
          "0.917347865577 * edge"
        ],
        [
          "0.906448683015 * edge",
          "0.929155313351 * edge"
        ],
        [
          "0.895549500454 * edge",
          "0.937329700272 * edge"
        ],
        [
          "0.884650317893 * edge",
          "0.94459582198 * edge"
        ],
        [
          "0.871934604905 * edge",
          "0.950953678474 * edge"
        ],
        [
          "0.86012715713 * edge",
          "0.955495004541 * edge"
        ],
        [
          "0.845594913715 * edge",
          "0.960036330609 * edge"
        ],
        [
          "0.820163487738 * edge",
          "0.967302452316 * edge"
        ],
        [
          "0.808356039964 * edge",
          "0.970027247956 * edge"
        ],
        [
          "0.770208900999 * edge",
          "0.978201634877 * edge"
        ],
        [
          "0.756584922797 * edge",
          "0.980926430518 * edge"
        ],
        [
          "0.744777475023 * edge",
          "0.982742960945 * edge"
        ],
        [
          "0.732061762035 * edge",
          "0.984559491371 * edge"
        ],
        [
          "0.718437783833 * edge",
          "0.985467756585 * edge"
        ],
        [
          "0.705722070845 * edge",
          "0.987284287012 * edge"
        ],
        [
          "0.69391462307 * edge",
          "0.989100817439 * edge"
        ],
        [
          "0.681198910082 * edge",
          "0.990917347866 * edge"
        ],
        [
          "0.637602179837 * edge",
          "0.990917347866 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.013623978202 * edge",
          "0.306993642144 * edge"
        ],
        [
          "0.012715712988 * edge",
          "0.280653950954 * edge"
        ],
        [
          "0.010899182561 * edge",
          "0.251589464124 * edge"
        ],
        [
          "0.010899182561 * edge",
          "0.19255222525 * edge"
        ],
        [
          "0.011807447775 * edge",
          "0.180744777475 * edge"
        ],
        [
          "0.013623978202 * edge",
          "0.167120799273 * edge"
        ],
        [
          "0.017257039055 * edge",
          "0.156221616712 * edge"
        ],
        [
          "0.02361489555 * edge",
          "0.144414168937 * edge"
        ],
        [
          "0.033605812897 * edge",
          "0.135331516803 * edge"
        ],
        [
          "0.046321525886 * edge",
          "0.128973660309 * edge"
        ],
        [
          "0.057220708447 * edge",
          "0.124432334242 * edge"
        ],
        [
          "0.08446866485 * edge",
          "0.122615803815 * edge"
        ],
        [
          "0.123524069028 * edge",
          "0.122615803815 * edge"
        ],
        [
          "0.136239782016 * edge",
          "0.123524069028 * edge"
        ],
        [
          "0.148955495005 * edge",
          "0.123524069028 * edge"
        ],
        [
          "0.161671207993 * edge",
          "0.125340599455 * edge"
        ],
        [
          "0.173478655767 * edge",
          "0.126248864668 * edge"
        ],
        [
          "0.186194368756 * edge",
          "0.127157129882 * edge"
        ],
        [
          "0.198910081744 * edge",
          "0.128973660309 * edge"
        ],
        [
          "0.211625794732 * edge",
          "0.129881925522 * edge"
        ],
        [
          "0.225249772934 * edge",
          "0.131698455949 * edge"
        ],
        [
          "0.238873751135 * edge",
          "0.132606721163 * edge"
        ],
        [
          "0.251589464124 * edge",
          "0.134423251589 * edge"
        ],
        [
          "0.263396911898 * edge",
          "0.13714804723 * edge"
        ],
        [
          "0.271571298819 * edge",
          "0.147138964578 * edge"
        ],
        [
          "0.2770208901 * edge",
          "0.158946412352 * edge"
        ],
        [
          "0.27974568574 * edge",
          "0.172570390554 * edge"
        ],
        [
          "0.280653950954 * edge",
          "0.185286103542 * edge"
        ],
        [
          "0.280653950954 * edge",
          "0.19800181653 * edge"
        ],
        [
          "0.27974568574 * edge",
          "0.211625794732 * edge"
        ],
        [
          "0.278837420527 * edge",
          "0.22434150772 * edge"
        ],
        [
          "0.278837420527 * edge",
          "0.249772933697 * edge"
        ],
        [
          "0.277929155313 * edge",
          "0.262488646685 * edge"
        ],
        [
          "0.277929155313 * edge",
          "0.276112624886 * edge"
        ],
        [
          "0.276112624886 * edge",
          "0.287920072661 * edge"
        ],
        [
          "0.269754768392 * edge",
          "0.299727520436 * edge"
        ],
        [
          "0.258855585831 * edge",
          "0.307901907357 * edge"
        ],
        [
          "0.246139872843 * edge",
          "0.313351498638 * edge"
        ],
        [
          "0.235240690282 * edge",
          "0.316984559491 * edge"
        ],
        [
          "0.22161671208 * edge",
          "0.320617620345 * edge"
        ],
        [
          "0.205267938238 * edge",
          "0.323342415985 * edge"
        ],
        [
          "0.193460490463 * edge",
          "0.325158946412 * edge"
        ],
        [
          "0.180744777475 * edge",
          "0.326067211626 * edge"
        ],
        [
          "0.167120799273 * edge",
          "0.326067211626 * edge"
        ],
        [
          "0.152588555858 * edge",
          "0.325158946412 * edge"
        ],
        [
          "0.13987284287 * edge",
          "0.325158946412 * edge"
        ],
        [
          "0.126248864668 * edge",
          "0.324250681199 * edge"
        ],
        [
          "0.099909173479 * edge",
          "0.324250681199 * edge"
        ],
        [
          "0.070844686649 * edge",
          "0.322434150772 * edge"
        ],
        [
          "0.057220708447 * edge",
          "0.321525885559 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.318801089918 * edge",
          "0.752951861944 * edge"
        ],
        [
          "0.311534968211 * edge",
          "0.742960944596 * edge"
        ],
        [
          "0.304268846503 * edge",
          "0.732061762035 * edge"
        ],
        [
          "0.297002724796 * edge",
          "0.72025431426 * edge"
        ],
        [
          "0.284287011807 * edge",
          "0.698455949137 * edge"
        ],
        [
          "0.277929155313 * edge",
          "0.686648501362 * edge"
        ],
        [
          "0.272479564033 * edge",
          "0.676657584015 * edge"
        ],
        [
          "0.266121707539 * edge",
          "0.665758401453 * edge"
        ],
        [
          "0.260672116258 * edge",
          "0.653950953678 * edge"
        ],
        [
          "0.256130790191 * edge",
          "0.643051771117 * edge"
        ],
        [
          "0.252497729337 * edge",
          "0.630336058129 * edge"
        ],
        [
          "0.260672116258 * edge",
          "0.592188919164 * edge"
        ],
        [
          "0.283378746594 * edge",
          "0.570390554042 * edge"
        ],
        [
          "0.30608537693 * edge",
          "0.551316984559 * edge"
        ],
        [
          "0.312443233424 * edge",
          "0.548592188919 * edge"
        ],
        [
          "0.322434150772 * edge",
          "0.541326067212 * edge"
        ],
        [
          "0.334241598547 * edge",
          "0.534968210718 * edge"
        ],
        [
          "0.346049046322 * edge",
          "0.532243415077 * edge"
        ],
        [
          "0.35876475931 * edge",
          "0.529518619437 * edge"
        ],
        [
          "0.371480472298 * edge",
          "0.532243415077 * edge"
        ],
        [
          "0.383287920073 * edge",
          "0.538601271571 * edge"
        ],
        [
          "0.393278837421 * edge",
          "0.545867393279 * edge"
        ],
        [
          "0.402361489555 * edge",
          "0.5540417802 * edge"
        ],
        [
          "0.411444141689 * edge",
          "0.563124432334 * edge"
        ],
        [
          "0.420526793824 * edge",
          "0.573115349682 * edge"
        ],
        [
          "0.429609445958 * edge",
          "0.584014532243 * edge"
        ],
        [
          "0.436875567666 * edge",
          "0.594005449591 * edge"
        ],
        [
          "0.445049954587 * edge",
          "0.603996366939 * edge"
        ],
        [
          "0.452316076294 * edge",
          "0.6148955495 * edge"
        ],
        [
          "0.458673932788 * edge",
          "0.624886466848 * edge"
        ],
        [
          "0.466848319709 * edge",
          "0.634877384196 * edge"
        ],
        [
          "0.473206176203 * edge",
          "0.645776566757 * edge"
        ],
        [
          "0.480472297911 * edge",
          "0.656675749319 * edge"
        ],
        [
          "0.486830154405 * edge",
          "0.66757493188 * edge"
        ],
        [
          "0.493188010899 * edge",
          "0.677565849228 * edge"
        ],
        [
          "0.500454132607 * edge",
          "0.690281562216 * edge"
        ],
        [
          "0.509536784741 * edge",
          "0.713896457766 * edge"
        ],
        [
          "0.511353315168 * edge",
          "0.727520435967 * edge"
        ],
        [
          "0.506811989101 * edge",
          "0.739327883742 * edge"
        ],
        [
          "0.497729336966 * edge",
          "0.74931880109 * edge"
        ],
        [
          "0.486830154405 * edge",
          "0.757493188011 * edge"
        ],
        [
          "0.47502270663 * edge",
          "0.764759309718 * edge"
        ],
        [
          "0.464123524069 * edge",
          "0.772025431426 * edge"
        ],
        [
          "0.453224341508 * edge",
          "0.77838328792 * edge"
        ],
        [
          "0.439600363306 * edge",
          "0.784741144414 * edge"
        ],
        [
          "0.417801998183 * edge",
          "0.795640326975 * edge"
        ],
        [
          "0.405994550409 * edge",
          "0.799273387829 * edge"
        ],
        [
          "0.393278837421 * edge",
          "0.801089918256 * edge"
        ],
        [
          "0.380563124432 * edge",
          "0.800181653043 * edge"
        ],
        [
          "0.368755676658 * edge",
          "0.795640326975 * edge"
        ],
        [
          "0.356039963669 * edge",
          "0.788374205268 * edge"
        ],
        [
          "0.346049046322 * edge",
          "0.78110808356 * edge"
        ],
        [
          "0.336966394187 * edge",
          "0.772933696639 * edge"
        ],
        [
          "0.326975476839 * edge",
          "0.762034514078 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.383287920073 * edge",
          "0.442325158946 * edge"
        ],
        [
          "0.370572207084 * edge",
          "0.435967302452 * edge"
        ],
        [
          "0.340599455041 * edge",
          "0.399636693915 * edge"
        ],
        [
          "0.347865576748 * edge",
          "0.372388737511 * edge"
        ],
        [
          "0.353315168029 * edge",
          "0.346049046322 * edge"
        ],
        [
          "0.356039963669 * edge",
          "0.338782924614 * edge"
        ],
        [
          "0.360581289737 * edge",
          "0.324250681199 * edge"
        ],
        [
          "0.365122615804 * edge",
          "0.312443233424 * edge"
        ],
        [
          "0.373297002725 * edge",
          "0.299727520436 * edge"
        ],
        [
          "0.380563124432 * edge",
          "0.289736603088 * edge"
        ],
        [
          "0.389645776567 * edge",
          "0.280653950954 * edge"
        ],
        [
          "0.400544959128 * edge",
          "0.271571298819 * edge"
        ],
        [
          "0.411444141689 * edge",
          "0.266121707539 * edge"
        ],
        [
          "0.425068119891 * edge",
          "0.263396911898 * edge"
        ],
        [
          "0.437783832879 * edge",
          "0.262488646685 * edge"
        ],
        [
          "0.465031789282 * edge",
          "0.264305177112 * edge"
        ],
        [
          "0.479564032698 * edge",
          "0.267938237965 * edge"
        ],
        [
          "0.491371480472 * edge",
          "0.271571298819 * edge"
        ],
        [
          "0.50408719346 * edge",
          "0.276112624886 * edge"
        ],
        [
          "0.516802906449 * edge",
          "0.282470481381 * edge"
        ],
        [
          "0.528610354223 * edge",
          "0.287011807448 * edge"
        ],
        [
          "0.540417801998 * edge",
          "0.293369663942 * edge"
        ],
        [
          "0.553133514986 * edge",
          "0.298819255223 * edge"
        ],
        [
          "0.574931880109 * edge",
          "0.309718437784 * edge"
        ],
        [
          "0.587647593097 * edge",
          "0.314259763851 * edge"
        ],
        [
          "0.601271571299 * edge",
          "0.319709355132 * edge"
        ],
        [
          "0.61217075386 * edge",
          "0.325158946412 * edge"
        ],
        [
          "0.623069936421 * edge",
          "0.33242506812 * edge"
        ],
        [
          "0.632152588556 * edge",
          "0.340599455041 * edge"
        ],
        [
          "0.639418710263 * edge",
          "0.352406902816 * edge"
        ],
        [
          "0.643051771117 * edge",
          "0.366030881017 * edge"
        ],
        [
          "0.643960036331 * edge",
          "0.379654859219 * edge"
        ],
        [
          "0.643051771117 * edge",
          "0.392370572207 * edge"
        ],
        [
          "0.64123524069 * edge",
          "0.404178019982 * edge"
        ],
        [
          "0.637602179837 * edge",
          "0.41961852861 * edge"
        ],
        [
          "0.63578564941 * edge",
          "0.430517711172 * edge"
        ],
        [
          "0.632152588556 * edge",
          "0.444141689373 * edge"
        ],
        [
          "0.624886466848 * edge",
          "0.467756584923 * edge"
        ],
        [
          "0.619436875568 * edge",
          "0.482288828338 * edge"
        ],
        [
          "0.6148955495 * edge",
          "0.495004541326 * edge"
        ],
        [
          "0.60944595822 * edge",
          "0.506811989101 * edge"
        ],
        [
          "0.603088101726 * edge",
          "0.516802906449 * edge"
        ],
        [
          "0.586739327884 * edge",
          "0.519527702089 * edge"
        ],
        [
          "0.574023614896 * edge",
          "0.518619436876 * edge"
        ],
        [
          "0.558583106267 * edge",
          "0.515894641235 * edge"
        ],
        [
          "0.546775658492 * edge",
          "0.513169845595 * edge"
        ],
        [
          "0.534968210718 * edge",
          "0.508628519528 * edge"
        ],
        [
          "0.519527702089 * edge",
          "0.503178928247 * edge"
        ],
        [
          "0.507720254314 * edge",
          "0.49863760218 * edge"
        ],
        [
          "0.495004541326 * edge",
          "0.492279745686 * edge"
        ],
        [
          "0.46957311535 * edge",
          "0.481380563124 * edge"
        ],
        [
          "0.458673932788 * edge",
          "0.476839237057 * edge"
        ],
        [
          "0.446866485014 * edge",
          "0.471389645777 * edge"
        ],
        [
          "0.433242506812 * edge",
          "0.465031789282 * edge"
        ],
        [
          "0.421435059037 * edge",
          "0.459582198002 * edge"
        ],
        [
          "0.408719346049 * edge",
          "0.454132606721 * edge"
        ],
        [
          "0.396003633061 * edge",
          "0.447774750227 * edge"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "1.036330608538 * edge"
    ]
  },
  "coverage": "partial"
},"rounded-corner-grid":{
  "schema": 1,
  "id": "rounded-corner-grid",
  "name": "Rounded corner grid",
  "category": "ceramic",
  "coverage": "partial",
  "parameters": {
    "width": {
      "value": 220,
      "min": 170,
      "max": 1500,
      "label": "Tile width"
    },
    "length": {
      "value": 230,
      "min": 170,
      "max": 1500,
      "label": "Tile length"
    },
    "radius": {
      "value": 30,
      "min": 4,
      "max": 80,
      "label": "Corner radius"
    }
  },
  "tiles": [
    {
      "start": [
        "radius",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "width - radius",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width - radius",
              "radius"
            ],
            "from": [
              "width - radius",
              "0"
            ],
            "to": [
              "width",
              "radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "width",
              "length - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width - radius",
              "length - radius"
            ],
            "from": [
              "width",
              "length - radius"
            ],
            "to": [
              "width - radius",
              "length"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "radius",
              "length"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "radius",
              "length - radius"
            ],
            "from": [
              "radius",
              "length"
            ],
            "to": [
              "0",
              "length - radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "radius",
              "radius"
            ],
            "from": [
              "0",
              "radius"
            ],
            "to": [
              "radius",
              "0"
            ],
            "clockwise": false
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "width",
      "0"
    ],
    "b": [
      "0",
      "length"
    ]
  }
}
,"rounded-panel-split":{
  "schema": 1,
  "id": "rounded-panel-split",
  "name": "Rounded panel split",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 450, "min": 90, "max": 1500, "label": "Tile side" },
    "gap": { "expr": "edge / 15" },
    "radius": { "expr": "2 * edge / 15" },
    "half": { "expr": "edge / 2" },
    "far": { "expr": "edge - gap" },
    "low": { "expr": "gap + radius" },
    "high": { "expr": "edge - gap - radius" }
  },
  "tiles": [
    { "path": [
      { "line": { "to": ["half", "0"] } },
      { "line": { "to": ["half", "gap"] } },
      { "line": { "to": ["low", "gap"] } },
      { "arc": { "center": ["low", "low"], "from": ["low", "gap"], "to": ["gap", "low"], "clockwise": true } },
      { "line": { "to": ["gap", "high"] } },
      { "arc": { "center": ["low", "high"], "from": ["gap", "high"], "to": ["low", "far"], "clockwise": true } },
      { "line": { "to": ["half", "far"] } },
      { "line": { "to": ["half", "edge"] } },
      { "line": { "to": ["0", "edge"] } },
      { "line": { "to": ["0", "0"] } }
    ], "start": ["0", "0"] },
    { "path": [
      { "line": { "to": ["edge", "0"] } },
      { "line": { "to": ["edge", "edge"] } },
      { "line": { "to": ["half", "edge"] } },
      { "line": { "to": ["half", "far"] } },
      { "line": { "to": ["edge - low", "far"] } },
      { "arc": { "center": ["edge - low", "high"], "from": ["edge - low", "far"], "to": ["far", "high"], "clockwise": true } },
      { "line": { "to": ["far", "low"] } },
      { "arc": { "center": ["edge - low", "low"], "from": ["far", "low"], "to": ["edge - low", "gap"], "clockwise": true } },
      { "line": { "to": ["half", "gap"] } },
      { "line": { "to": ["half", "0"] } }
    ], "start": ["half", "0"] },
    { "path": [
      { "line": { "to": ["half", "far"] } },
      { "line": { "to": ["low", "far"] } },
      { "arc": { "center": ["low", "high"], "from": ["low", "far"], "to": ["gap", "high"], "clockwise": false } },
      { "line": { "to": ["gap", "low"] } },
      { "arc": { "center": ["low", "low"], "from": ["gap", "low"], "to": ["low", "gap"], "clockwise": false } },
      { "line": { "to": ["half", "gap"] } }
    ], "start": ["half", "gap"] },
    { "path": [
      { "line": { "to": ["edge - low", "gap"] } },
      { "arc": { "center": ["edge - low", "low"], "from": ["edge - low", "gap"], "to": ["far", "low"], "clockwise": false } },
      { "line": { "to": ["far", "high"] } },
      { "arc": { "center": ["edge - low", "high"], "from": ["far", "high"], "to": ["edge - low", "far"], "clockwise": false } },
      { "line": { "to": ["half", "far"] } },
      { "line": { "to": ["half", "gap"] } }
    ], "start": ["half", "gap"] }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "edge"] }
}
,"rounded-rectangle-patchwork":{
 "schema": 1,
 "id": "rounded-rectangle-patchwork",
 "name": "Rounded rectangle patchwork",
 "category": "ceramic",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 750.0,
   "min": 75.0,
   "max": 4500.0,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.000725 * overallSize",
     "0.223817 * overallSize"
    ],
    [
     "0.001963 * overallSize",
     "0.217596 * overallSize"
    ],
    [
     "0.004001 * overallSize",
     "0.211589 * overallSize"
    ],
    [
     "0.006807 * overallSize",
     "0.205900 * overallSize"
    ],
    [
     "0.010330 * overallSize",
     "0.200627 * overallSize"
    ],
    [
     "0.014512 * overallSize",
     "0.195858 * overallSize"
    ],
    [
     "0.019282 * overallSize",
     "0.191676 * overallSize"
    ],
    [
     "0.024555 * overallSize",
     "0.188152 * overallSize"
    ],
    [
     "0.030244 * overallSize",
     "0.185346 * overallSize"
    ],
    [
     "0.036250 * overallSize",
     "0.183308 * overallSize"
    ],
    [
     "0.042472 * overallSize",
     "0.182070 * overallSize"
    ],
    [
     "0.048812 * overallSize",
     "0.181655 * overallSize"
    ],
    [
     "0.117830 * overallSize",
     "0.181655 * overallSize"
    ],
    [
     "0.124171 * overallSize",
     "0.182070 * overallSize"
    ],
    [
     "0.130392 * overallSize",
     "0.183308 * overallSize"
    ],
    [
     "0.136397 * overallSize",
     "0.185346 * overallSize"
    ],
    [
     "0.142086 * overallSize",
     "0.188152 * overallSize"
    ],
    [
     "0.147361 * overallSize",
     "0.191676 * overallSize"
    ],
    [
     "0.152130 * overallSize",
     "0.195858 * overallSize"
    ],
    [
     "0.156312 * overallSize",
     "0.200627 * overallSize"
    ],
    [
     "0.159836 * overallSize",
     "0.205900 * overallSize"
    ],
    [
     "0.162642 * overallSize",
     "0.211589 * overallSize"
    ],
    [
     "0.164680 * overallSize",
     "0.217596 * overallSize"
    ],
    [
     "0.165918 * overallSize",
     "0.223817 * overallSize"
    ],
    [
     "0.166333 * overallSize",
     "0.230158 * overallSize"
    ],
    [
     "0.166333 * overallSize",
     "0.359667 * overallSize"
    ],
    [
     "0.000333 * overallSize",
     "0.359667 * overallSize"
    ],
    [
     "0.000309 * overallSize",
     "0.230158 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.343681 * overallSize",
     "0.522035 * overallSize"
    ],
    [
     "0.340157 * overallSize",
     "0.516761 * overallSize"
    ],
    [
     "0.337351 * overallSize",
     "0.511072 * overallSize"
    ],
    [
     "0.335312 * overallSize",
     "0.505066 * overallSize"
    ],
    [
     "0.334075 * overallSize",
     "0.498844 * overallSize"
    ],
    [
     "0.333660 * overallSize",
     "0.492504 * overallSize"
    ],
    [
     "0.333660 * overallSize",
     "0.408819 * overallSize"
    ],
    [
     "0.334075 * overallSize",
     "0.402480 * overallSize"
    ],
    [
     "0.335312 * overallSize",
     "0.396258 * overallSize"
    ],
    [
     "0.337351 * overallSize",
     "0.390252 * overallSize"
    ],
    [
     "0.340157 * overallSize",
     "0.384563 * overallSize"
    ],
    [
     "0.343681 * overallSize",
     "0.379289 * overallSize"
    ],
    [
     "0.347863 * overallSize",
     "0.374520 * overallSize"
    ],
    [
     "0.352631 * overallSize",
     "0.370338 * overallSize"
    ],
    [
     "0.357906 * overallSize",
     "0.366813 * overallSize"
    ],
    [
     "0.363594 * overallSize",
     "0.364009 * overallSize"
    ],
    [
     "0.369601 * overallSize",
     "0.361969 * overallSize"
    ],
    [
     "0.375822 * overallSize",
     "0.360733 * overallSize"
    ],
    [
     "0.382163 * overallSize",
     "0.360316 * overallSize"
    ],
    [
     "0.451181 * overallSize",
     "0.360316 * overallSize"
    ],
    [
     "0.457520 * overallSize",
     "0.360733 * overallSize"
    ],
    [
     "0.463742 * overallSize",
     "0.361969 * overallSize"
    ],
    [
     "0.469748 * overallSize",
     "0.364009 * overallSize"
    ],
    [
     "0.475437 * overallSize",
     "0.366813 * overallSize"
    ],
    [
     "0.480711 * overallSize",
     "0.370338 * overallSize"
    ],
    [
     "0.485480 * overallSize",
     "0.374520 * overallSize"
    ],
    [
     "0.489662 * overallSize",
     "0.379289 * overallSize"
    ],
    [
     "0.493187 * overallSize",
     "0.384563 * overallSize"
    ],
    [
     "0.495991 * overallSize",
     "0.390252 * overallSize"
    ],
    [
     "0.498031 * overallSize",
     "0.396258 * overallSize"
    ],
    [
     "0.499267 * overallSize",
     "0.402480 * overallSize"
    ],
    [
     "0.499684 * overallSize",
     "0.408819 * overallSize"
    ],
    [
     "0.499684 * overallSize",
     "0.492504 * overallSize"
    ],
    [
     "0.499267 * overallSize",
     "0.498844 * overallSize"
    ],
    [
     "0.498031 * overallSize",
     "0.505066 * overallSize"
    ],
    [
     "0.495991 * overallSize",
     "0.511072 * overallSize"
    ],
    [
     "0.493187 * overallSize",
     "0.516761 * overallSize"
    ],
    [
     "0.489662 * overallSize",
     "0.522035 * overallSize"
    ],
    [
     "0.485480 * overallSize",
     "0.526804 * overallSize"
    ],
    [
     "0.480711 * overallSize",
     "0.530986 * overallSize"
    ],
    [
     "0.475437 * overallSize",
     "0.534509 * overallSize"
    ],
    [
     "0.469748 * overallSize",
     "0.537315 * overallSize"
    ],
    [
     "0.463742 * overallSize",
     "0.539355 * overallSize"
    ],
    [
     "0.457520 * overallSize",
     "0.540591 * overallSize"
    ],
    [
     "0.451375 * overallSize",
     "0.540994 * overallSize"
    ],
    [
     "0.381969 * overallSize",
     "0.540994 * overallSize"
    ],
    [
     "0.375822 * overallSize",
     "0.540591 * overallSize"
    ],
    [
     "0.369601 * overallSize",
     "0.539355 * overallSize"
    ],
    [
     "0.363595 * overallSize",
     "0.537315 * overallSize"
    ],
    [
     "0.357906 * overallSize",
     "0.534509 * overallSize"
    ],
    [
     "0.352631 * overallSize",
     "0.530986 * overallSize"
    ],
    [
     "0.347863 * overallSize",
     "0.526804 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.666333 * overallSize",
     "0.719667 * overallSize"
    ],
    [
     "0.500333 * overallSize",
     "0.719667 * overallSize"
    ],
    [
     "0.500331 * overallSize",
     "0.408496 * overallSize"
    ],
    [
     "0.500725 * overallSize",
     "0.402484 * overallSize"
    ],
    [
     "0.501963 * overallSize",
     "0.396262 * overallSize"
    ],
    [
     "0.504001 * overallSize",
     "0.390256 * overallSize"
    ],
    [
     "0.506807 * overallSize",
     "0.384567 * overallSize"
    ],
    [
     "0.510330 * overallSize",
     "0.379294 * overallSize"
    ],
    [
     "0.514512 * overallSize",
     "0.374524 * overallSize"
    ],
    [
     "0.519282 * overallSize",
     "0.370342 * overallSize"
    ],
    [
     "0.524555 * overallSize",
     "0.366819 * overallSize"
    ],
    [
     "0.530244 * overallSize",
     "0.364013 * overallSize"
    ],
    [
     "0.536250 * overallSize",
     "0.361975 * overallSize"
    ],
    [
     "0.542472 * overallSize",
     "0.360737 * overallSize"
    ],
    [
     "0.548812 * overallSize",
     "0.360321 * overallSize"
    ],
    [
     "0.617830 * overallSize",
     "0.360321 * overallSize"
    ],
    [
     "0.624171 * overallSize",
     "0.360737 * overallSize"
    ],
    [
     "0.630392 * overallSize",
     "0.361975 * overallSize"
    ],
    [
     "0.636397 * overallSize",
     "0.364013 * overallSize"
    ],
    [
     "0.642086 * overallSize",
     "0.366819 * overallSize"
    ],
    [
     "0.647361 * overallSize",
     "0.370342 * overallSize"
    ],
    [
     "0.652130 * overallSize",
     "0.374524 * overallSize"
    ],
    [
     "0.656312 * overallSize",
     "0.379294 * overallSize"
    ],
    [
     "0.659836 * overallSize",
     "0.384567 * overallSize"
    ],
    [
     "0.662642 * overallSize",
     "0.390256 * overallSize"
    ],
    [
     "0.664680 * overallSize",
     "0.396262 * overallSize"
    ],
    [
     "0.665918 * overallSize",
     "0.402484 * overallSize"
    ],
    [
     "0.666333 * overallSize",
     "0.408824 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.010372 * overallSize",
     "0.700702 * overallSize"
    ],
    [
     "0.006848 * overallSize",
     "0.695428 * overallSize"
    ],
    [
     "0.004042 * overallSize",
     "0.689739 * overallSize"
    ],
    [
     "0.002003 * overallSize",
     "0.683732 * overallSize"
    ],
    [
     "0.000766 * overallSize",
     "0.677511 * overallSize"
    ],
    [
     "0.000351 * overallSize",
     "0.671170 * overallSize"
    ],
    [
     "0.000351 * overallSize",
     "0.360333 * overallSize"
    ],
    [
     "0.166351 * overallSize",
     "0.360333 * overallSize"
    ],
    [
     "0.166351 * overallSize",
     "0.671170 * overallSize"
    ],
    [
     "0.165934 * overallSize",
     "0.677511 * overallSize"
    ],
    [
     "0.164697 * overallSize",
     "0.683732 * overallSize"
    ],
    [
     "0.162658 * overallSize",
     "0.689739 * overallSize"
    ],
    [
     "0.159853 * overallSize",
     "0.695428 * overallSize"
    ],
    [
     "0.156328 * overallSize",
     "0.700702 * overallSize"
    ],
    [
     "0.152146 * overallSize",
     "0.705470 * overallSize"
    ],
    [
     "0.147378 * overallSize",
     "0.709652 * overallSize"
    ],
    [
     "0.142104 * overallSize",
     "0.713176 * overallSize"
    ],
    [
     "0.136415 * overallSize",
     "0.715982 * overallSize"
    ],
    [
     "0.130408 * overallSize",
     "0.718021 * overallSize"
    ],
    [
     "0.124187 * overallSize",
     "0.719258 * overallSize"
    ],
    [
     "0.117848 * overallSize",
     "0.719673 * overallSize"
    ],
    [
     "0.048830 * overallSize",
     "0.719673 * overallSize"
    ],
    [
     "0.042489 * overallSize",
     "0.719258 * overallSize"
    ],
    [
     "0.036268 * overallSize",
     "0.718021 * overallSize"
    ],
    [
     "0.030261 * overallSize",
     "0.715982 * overallSize"
    ],
    [
     "0.024572 * overallSize",
     "0.713176 * overallSize"
    ],
    [
     "0.019298 * overallSize",
     "0.709652 * overallSize"
    ],
    [
     "0.014530 * overallSize",
     "0.705471 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.191239 * overallSize",
     "0.713176 * overallSize"
    ],
    [
     "0.185965 * overallSize",
     "0.709652 * overallSize"
    ],
    [
     "0.181197 * overallSize",
     "0.705471 * overallSize"
    ],
    [
     "0.177039 * overallSize",
     "0.700702 * overallSize"
    ],
    [
     "0.173515 * overallSize",
     "0.695428 * overallSize"
    ],
    [
     "0.170709 * overallSize",
     "0.689739 * overallSize"
    ],
    [
     "0.168669 * overallSize",
     "0.683732 * overallSize"
    ],
    [
     "0.167433 * overallSize",
     "0.677511 * overallSize"
    ],
    [
     "0.167017 * overallSize",
     "0.671170 * overallSize"
    ],
    [
     "0.167017 * overallSize",
     "0.360328 * overallSize"
    ],
    [
     "0.333017 * overallSize",
     "0.360328 * overallSize"
    ],
    [
     "0.332993 * overallSize",
     "0.671536 * overallSize"
    ],
    [
     "0.332601 * overallSize",
     "0.677511 * overallSize"
    ],
    [
     "0.331364 * overallSize",
     "0.683732 * overallSize"
    ],
    [
     "0.329325 * overallSize",
     "0.689739 * overallSize"
    ],
    [
     "0.326520 * overallSize",
     "0.695428 * overallSize"
    ],
    [
     "0.322995 * overallSize",
     "0.700702 * overallSize"
    ],
    [
     "0.318813 * overallSize",
     "0.705470 * overallSize"
    ],
    [
     "0.314045 * overallSize",
     "0.709652 * overallSize"
    ],
    [
     "0.308770 * overallSize",
     "0.713176 * overallSize"
    ],
    [
     "0.303081 * overallSize",
     "0.715982 * overallSize"
    ],
    [
     "0.297075 * overallSize",
     "0.718021 * overallSize"
    ],
    [
     "0.290854 * overallSize",
     "0.719258 * overallSize"
    ],
    [
     "0.284698 * overallSize",
     "0.719661 * overallSize"
    ],
    [
     "0.215313 * overallSize",
     "0.719661 * overallSize"
    ],
    [
     "0.209156 * overallSize",
     "0.719258 * overallSize"
    ],
    [
     "0.202934 * overallSize",
     "0.718021 * overallSize"
    ],
    [
     "0.196928 * overallSize",
     "0.715982 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.677039 * overallSize",
     "0.522036 * overallSize"
    ],
    [
     "0.673515 * overallSize",
     "0.516761 * overallSize"
    ],
    [
     "0.670709 * overallSize",
     "0.511072 * overallSize"
    ],
    [
     "0.668669 * overallSize",
     "0.505066 * overallSize"
    ],
    [
     "0.667433 * overallSize",
     "0.498844 * overallSize"
    ],
    [
     "0.667017 * overallSize",
     "0.492504 * overallSize"
    ],
    [
     "0.667017 * overallSize",
     "0.360328 * overallSize"
    ],
    [
     "0.833017 * overallSize",
     "0.360328 * overallSize"
    ],
    [
     "0.833017 * overallSize",
     "0.492504 * overallSize"
    ],
    [
     "0.832601 * overallSize",
     "0.498844 * overallSize"
    ],
    [
     "0.831364 * overallSize",
     "0.505066 * overallSize"
    ],
    [
     "0.829325 * overallSize",
     "0.511072 * overallSize"
    ],
    [
     "0.826520 * overallSize",
     "0.516761 * overallSize"
    ],
    [
     "0.822995 * overallSize",
     "0.522035 * overallSize"
    ],
    [
     "0.818813 * overallSize",
     "0.526804 * overallSize"
    ],
    [
     "0.814045 * overallSize",
     "0.530986 * overallSize"
    ],
    [
     "0.808770 * overallSize",
     "0.534509 * overallSize"
    ],
    [
     "0.803081 * overallSize",
     "0.537315 * overallSize"
    ],
    [
     "0.797075 * overallSize",
     "0.539355 * overallSize"
    ],
    [
     "0.790854 * overallSize",
     "0.540591 * overallSize"
    ],
    [
     "0.784659 * overallSize",
     "0.540997 * overallSize"
    ],
    [
     "0.715334 * overallSize",
     "0.540996 * overallSize"
    ],
    [
     "0.709156 * overallSize",
     "0.540591 * overallSize"
    ],
    [
     "0.702934 * overallSize",
     "0.539355 * overallSize"
    ],
    [
     "0.696928 * overallSize",
     "0.537315 * overallSize"
    ],
    [
     "0.691239 * overallSize",
     "0.534509 * overallSize"
    ],
    [
     "0.685965 * overallSize",
     "0.530986 * overallSize"
    ],
    [
     "0.681197 * overallSize",
     "0.526804 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.833684 * overallSize",
     "0.360333 * overallSize"
    ],
    [
     "0.999667 * overallSize",
     "0.360333 * overallSize"
    ],
    [
     "0.999667 * overallSize",
     "0.719667 * overallSize"
    ],
    [
     "0.833667 * overallSize",
     "0.719667 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.343681 * overallSize",
     "0.703369 * overallSize"
    ],
    [
     "0.340157 * overallSize",
     "0.698094 * overallSize"
    ],
    [
     "0.337351 * overallSize",
     "0.692405 * overallSize"
    ],
    [
     "0.335312 * overallSize",
     "0.686399 * overallSize"
    ],
    [
     "0.334075 * overallSize",
     "0.680178 * overallSize"
    ],
    [
     "0.333660 * overallSize",
     "0.673837 * overallSize"
    ],
    [
     "0.333660 * overallSize",
     "0.590152 * overallSize"
    ],
    [
     "0.334075 * overallSize",
     "0.583813 * overallSize"
    ],
    [
     "0.335312 * overallSize",
     "0.577592 * overallSize"
    ],
    [
     "0.337351 * overallSize",
     "0.571585 * overallSize"
    ],
    [
     "0.340157 * overallSize",
     "0.565896 * overallSize"
    ],
    [
     "0.343681 * overallSize",
     "0.560622 * overallSize"
    ],
    [
     "0.347863 * overallSize",
     "0.555854 * overallSize"
    ],
    [
     "0.352631 * overallSize",
     "0.551672 * overallSize"
    ],
    [
     "0.357906 * overallSize",
     "0.548147 * overallSize"
    ],
    [
     "0.363594 * overallSize",
     "0.545342 * overallSize"
    ],
    [
     "0.369601 * overallSize",
     "0.543303 * overallSize"
    ],
    [
     "0.375822 * overallSize",
     "0.542066 * overallSize"
    ],
    [
     "0.382163 * overallSize",
     "0.541649 * overallSize"
    ],
    [
     "0.451181 * overallSize",
     "0.541649 * overallSize"
    ],
    [
     "0.457520 * overallSize",
     "0.542066 * overallSize"
    ],
    [
     "0.463742 * overallSize",
     "0.543303 * overallSize"
    ],
    [
     "0.469748 * overallSize",
     "0.545342 * overallSize"
    ],
    [
     "0.475437 * overallSize",
     "0.548147 * overallSize"
    ],
    [
     "0.480711 * overallSize",
     "0.551672 * overallSize"
    ],
    [
     "0.485480 * overallSize",
     "0.555854 * overallSize"
    ],
    [
     "0.489662 * overallSize",
     "0.560622 * overallSize"
    ],
    [
     "0.493187 * overallSize",
     "0.565896 * overallSize"
    ],
    [
     "0.495991 * overallSize",
     "0.571585 * overallSize"
    ],
    [
     "0.498031 * overallSize",
     "0.577592 * overallSize"
    ],
    [
     "0.499267 * overallSize",
     "0.583813 * overallSize"
    ],
    [
     "0.499684 * overallSize",
     "0.590152 * overallSize"
    ],
    [
     "0.499684 * overallSize",
     "0.673837 * overallSize"
    ],
    [
     "0.499267 * overallSize",
     "0.680178 * overallSize"
    ],
    [
     "0.498031 * overallSize",
     "0.686399 * overallSize"
    ],
    [
     "0.495991 * overallSize",
     "0.692406 * overallSize"
    ],
    [
     "0.493187 * overallSize",
     "0.698094 * overallSize"
    ],
    [
     "0.489662 * overallSize",
     "0.703369 * overallSize"
    ],
    [
     "0.485480 * overallSize",
     "0.708137 * overallSize"
    ],
    [
     "0.480711 * overallSize",
     "0.712319 * overallSize"
    ],
    [
     "0.475437 * overallSize",
     "0.715843 * overallSize"
    ],
    [
     "0.469748 * overallSize",
     "0.718649 * overallSize"
    ],
    [
     "0.463742 * overallSize",
     "0.720688 * overallSize"
    ],
    [
     "0.462184 * overallSize",
     "0.720997 * overallSize"
    ],
    [
     "0.457584 * overallSize",
     "0.720085 * overallSize"
    ],
    [
     "0.451189 * overallSize",
     "0.719667 * overallSize"
    ],
    [
     "0.382149 * overallSize",
     "0.719667 * overallSize"
    ],
    [
     "0.375754 * overallSize",
     "0.720085 * overallSize"
    ],
    [
     "0.371157 * overallSize",
     "0.720997 * overallSize"
    ],
    [
     "0.369601 * overallSize",
     "0.720688 * overallSize"
    ],
    [
     "0.363595 * overallSize",
     "0.718649 * overallSize"
    ],
    [
     "0.357906 * overallSize",
     "0.715843 * overallSize"
    ],
    [
     "0.352631 * overallSize",
     "0.712319 * overallSize"
    ],
    [
     "0.347863 * overallSize",
     "0.708137 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.667391 * overallSize",
     "0.583817 * overallSize"
    ],
    [
     "0.668629 * overallSize",
     "0.577596 * overallSize"
    ],
    [
     "0.670667 * overallSize",
     "0.571589 * overallSize"
    ],
    [
     "0.673473 * overallSize",
     "0.565900 * overallSize"
    ],
    [
     "0.676997 * overallSize",
     "0.560627 * overallSize"
    ],
    [
     "0.681179 * overallSize",
     "0.555858 * overallSize"
    ],
    [
     "0.685949 * overallSize",
     "0.551676 * overallSize"
    ],
    [
     "0.691222 * overallSize",
     "0.548152 * overallSize"
    ],
    [
     "0.696910 * overallSize",
     "0.545346 * overallSize"
    ],
    [
     "0.702917 * overallSize",
     "0.543308 * overallSize"
    ],
    [
     "0.709138 * overallSize",
     "0.542070 * overallSize"
    ],
    [
     "0.715479 * overallSize",
     "0.541655 * overallSize"
    ],
    [
     "0.784497 * overallSize",
     "0.541655 * overallSize"
    ],
    [
     "0.790838 * overallSize",
     "0.542070 * overallSize"
    ],
    [
     "0.797059 * overallSize",
     "0.543308 * overallSize"
    ],
    [
     "0.803064 * overallSize",
     "0.545346 * overallSize"
    ],
    [
     "0.808753 * overallSize",
     "0.548152 * overallSize"
    ],
    [
     "0.814027 * overallSize",
     "0.551676 * overallSize"
    ],
    [
     "0.818797 * overallSize",
     "0.555858 * overallSize"
    ],
    [
     "0.822979 * overallSize",
     "0.560627 * overallSize"
    ],
    [
     "0.826503 * overallSize",
     "0.565900 * overallSize"
    ],
    [
     "0.829309 * overallSize",
     "0.571589 * overallSize"
    ],
    [
     "0.831347 * overallSize",
     "0.577596 * overallSize"
    ],
    [
     "0.832585 * overallSize",
     "0.583817 * overallSize"
    ],
    [
     "0.833000 * overallSize",
     "0.590158 * overallSize"
    ],
    [
     "0.833000 * overallSize",
     "0.719667 * overallSize"
    ],
    [
     "0.667000 * overallSize",
     "0.719667 * overallSize"
    ],
    [
     "0.666976 * overallSize",
     "0.590158 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.159843 * overallSize",
     "0.876774 * overallSize"
    ],
    [
     "-0.162649 * overallSize",
     "0.871085 * overallSize"
    ],
    [
     "-0.164688 * overallSize",
     "0.865079 * overallSize"
    ],
    [
     "-0.165925 * overallSize",
     "0.858858 * overallSize"
    ],
    [
     "-0.166340 * overallSize",
     "0.852517 * overallSize"
    ],
    [
     "-0.166340 * overallSize",
     "0.768819 * overallSize"
    ],
    [
     "-0.165925 * overallSize",
     "0.762480 * overallSize"
    ],
    [
     "-0.164688 * overallSize",
     "0.756258 * overallSize"
    ],
    [
     "-0.162649 * overallSize",
     "0.750252 * overallSize"
    ],
    [
     "-0.159843 * overallSize",
     "0.744563 * overallSize"
    ],
    [
     "-0.156319 * overallSize",
     "0.739289 * overallSize"
    ],
    [
     "-0.152137 * overallSize",
     "0.734520 * overallSize"
    ],
    [
     "-0.147369 * overallSize",
     "0.730338 * overallSize"
    ],
    [
     "-0.142094 * overallSize",
     "0.726813 * overallSize"
    ],
    [
     "-0.136406 * overallSize",
     "0.724009 * overallSize"
    ],
    [
     "-0.130399 * overallSize",
     "0.721969 * overallSize"
    ],
    [
     "-0.124178 * overallSize",
     "0.720733 * overallSize"
    ],
    [
     "-0.117837 * overallSize",
     "0.720316 * overallSize"
    ],
    [
     "-0.048819 * overallSize",
     "0.720316 * overallSize"
    ],
    [
     "-0.042480 * overallSize",
     "0.720733 * overallSize"
    ],
    [
     "-0.036258 * overallSize",
     "0.721969 * overallSize"
    ],
    [
     "-0.030252 * overallSize",
     "0.724009 * overallSize"
    ],
    [
     "-0.024563 * overallSize",
     "0.726813 * overallSize"
    ],
    [
     "-0.019289 * overallSize",
     "0.730338 * overallSize"
    ],
    [
     "-0.014520 * overallSize",
     "0.734520 * overallSize"
    ],
    [
     "-0.010338 * overallSize",
     "0.739289 * overallSize"
    ],
    [
     "-0.006813 * overallSize",
     "0.744563 * overallSize"
    ],
    [
     "-0.004009 * overallSize",
     "0.750252 * overallSize"
    ],
    [
     "-0.001969 * overallSize",
     "0.756258 * overallSize"
    ],
    [
     "-0.000733 * overallSize",
     "0.762480 * overallSize"
    ],
    [
     "-0.000316 * overallSize",
     "0.768819 * overallSize"
    ],
    [
     "-0.000316 * overallSize",
     "0.852504 * overallSize"
    ],
    [
     "-0.000733 * overallSize",
     "0.858844 * overallSize"
    ],
    [
     "-0.001969 * overallSize",
     "0.865066 * overallSize"
    ],
    [
     "-0.004009 * overallSize",
     "0.871072 * overallSize"
    ],
    [
     "-0.006813 * overallSize",
     "0.876761 * overallSize"
    ],
    [
     "-0.010338 * overallSize",
     "0.882035 * overallSize"
    ],
    [
     "-0.014520 * overallSize",
     "0.886804 * overallSize"
    ],
    [
     "-0.019289 * overallSize",
     "0.890986 * overallSize"
    ],
    [
     "-0.024563 * overallSize",
     "0.894509 * overallSize"
    ],
    [
     "-0.030252 * overallSize",
     "0.897315 * overallSize"
    ],
    [
     "-0.036258 * overallSize",
     "0.899355 * overallSize"
    ],
    [
     "-0.042480 * overallSize",
     "0.900591 * overallSize"
    ],
    [
     "-0.048819 * overallSize",
     "0.901007 * overallSize"
    ],
    [
     "-0.117837 * overallSize",
     "0.901007 * overallSize"
    ],
    [
     "-0.124178 * overallSize",
     "0.900591 * overallSize"
    ],
    [
     "-0.130399 * overallSize",
     "0.899355 * overallSize"
    ],
    [
     "-0.136405 * overallSize",
     "0.897315 * overallSize"
    ],
    [
     "-0.142094 * overallSize",
     "0.894509 * overallSize"
    ],
    [
     "-0.147369 * overallSize",
     "0.890986 * overallSize"
    ],
    [
     "-0.152137 * overallSize",
     "0.886804 * overallSize"
    ],
    [
     "-0.156319 * overallSize",
     "0.882048 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000331 * overallSize",
     "0.768496 * overallSize"
    ],
    [
     "0.000725 * overallSize",
     "0.762484 * overallSize"
    ],
    [
     "0.001963 * overallSize",
     "0.756262 * overallSize"
    ],
    [
     "0.004001 * overallSize",
     "0.750256 * overallSize"
    ],
    [
     "0.006807 * overallSize",
     "0.744567 * overallSize"
    ],
    [
     "0.010330 * overallSize",
     "0.739294 * overallSize"
    ],
    [
     "0.014512 * overallSize",
     "0.734524 * overallSize"
    ],
    [
     "0.019282 * overallSize",
     "0.730342 * overallSize"
    ],
    [
     "0.024555 * overallSize",
     "0.726819 * overallSize"
    ],
    [
     "0.030244 * overallSize",
     "0.724013 * overallSize"
    ],
    [
     "0.036250 * overallSize",
     "0.721975 * overallSize"
    ],
    [
     "0.042472 * overallSize",
     "0.720737 * overallSize"
    ],
    [
     "0.048667 * overallSize",
     "0.720331 * overallSize"
    ],
    [
     "0.117993 * overallSize",
     "0.720332 * overallSize"
    ],
    [
     "0.124171 * overallSize",
     "0.720737 * overallSize"
    ],
    [
     "0.130392 * overallSize",
     "0.721975 * overallSize"
    ],
    [
     "0.136397 * overallSize",
     "0.724013 * overallSize"
    ],
    [
     "0.142086 * overallSize",
     "0.726819 * overallSize"
    ],
    [
     "0.147361 * overallSize",
     "0.730342 * overallSize"
    ],
    [
     "0.152130 * overallSize",
     "0.734524 * overallSize"
    ],
    [
     "0.156312 * overallSize",
     "0.739294 * overallSize"
    ],
    [
     "0.159836 * overallSize",
     "0.744567 * overallSize"
    ],
    [
     "0.162642 * overallSize",
     "0.750256 * overallSize"
    ],
    [
     "0.164680 * overallSize",
     "0.756262 * overallSize"
    ],
    [
     "0.165918 * overallSize",
     "0.762484 * overallSize"
    ],
    [
     "0.166333 * overallSize",
     "0.768824 * overallSize"
    ],
    [
     "0.166333 * overallSize",
     "1.079661 * overallSize"
    ],
    [
     "0.000333 * overallSize",
     "1.079661 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.181197 * overallSize",
     "1.065471 * overallSize"
    ],
    [
     "0.177039 * overallSize",
     "1.060702 * overallSize"
    ],
    [
     "0.173515 * overallSize",
     "1.055428 * overallSize"
    ],
    [
     "0.170709 * overallSize",
     "1.049739 * overallSize"
    ],
    [
     "0.168669 * overallSize",
     "1.043732 * overallSize"
    ],
    [
     "0.167433 * overallSize",
     "1.037511 * overallSize"
    ],
    [
     "0.167017 * overallSize",
     "1.031170 * overallSize"
    ],
    [
     "0.167017 * overallSize",
     "0.720328 * overallSize"
    ],
    [
     "0.333017 * overallSize",
     "0.720328 * overallSize"
    ],
    [
     "0.333005 * overallSize",
     "1.031364 * overallSize"
    ],
    [
     "0.332601 * overallSize",
     "1.037511 * overallSize"
    ],
    [
     "0.331364 * overallSize",
     "1.043732 * overallSize"
    ],
    [
     "0.329325 * overallSize",
     "1.049739 * overallSize"
    ],
    [
     "0.326520 * overallSize",
     "1.055428 * overallSize"
    ],
    [
     "0.322995 * overallSize",
     "1.060702 * overallSize"
    ],
    [
     "0.318813 * overallSize",
     "1.065470 * overallSize"
    ],
    [
     "0.314045 * overallSize",
     "1.069652 * overallSize"
    ],
    [
     "0.308770 * overallSize",
     "1.073176 * overallSize"
    ],
    [
     "0.303081 * overallSize",
     "1.075982 * overallSize"
    ],
    [
     "0.297075 * overallSize",
     "1.078021 * overallSize"
    ],
    [
     "0.290854 * overallSize",
     "1.079258 * overallSize"
    ],
    [
     "0.284708 * overallSize",
     "1.079661 * overallSize"
    ],
    [
     "0.215302 * overallSize",
     "1.079661 * overallSize"
    ],
    [
     "0.209156 * overallSize",
     "1.079258 * overallSize"
    ],
    [
     "0.202934 * overallSize",
     "1.078021 * overallSize"
    ],
    [
     "0.196928 * overallSize",
     "1.075982 * overallSize"
    ],
    [
     "0.191239 * overallSize",
     "1.073176 * overallSize"
    ],
    [
     "0.185965 * overallSize",
     "1.069652 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.382160 * overallSize",
     "0.720333 * overallSize"
    ],
    [
     "0.451178 * overallSize",
     "0.720333 * overallSize"
    ],
    [
     "0.457519 * overallSize",
     "0.720749 * overallSize"
    ],
    [
     "0.460458 * overallSize",
     "0.721333 * overallSize"
    ],
    [
     "0.457519 * overallSize",
     "0.721918 * overallSize"
    ],
    [
     "0.451178 * overallSize",
     "0.722333 * overallSize"
    ],
    [
     "0.382160 * overallSize",
     "0.722333 * overallSize"
    ],
    [
     "0.375820 * overallSize",
     "0.721918 * overallSize"
    ],
    [
     "0.372881 * overallSize",
     "0.721333 * overallSize"
    ],
    [
     "0.375820 * overallSize",
     "0.720749 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.500331 * overallSize",
     "0.768496 * overallSize"
    ],
    [
     "0.500725 * overallSize",
     "0.762484 * overallSize"
    ],
    [
     "0.501963 * overallSize",
     "0.756262 * overallSize"
    ],
    [
     "0.504001 * overallSize",
     "0.750257 * overallSize"
    ],
    [
     "0.506807 * overallSize",
     "0.744567 * overallSize"
    ],
    [
     "0.510330 * overallSize",
     "0.739294 * overallSize"
    ],
    [
     "0.514512 * overallSize",
     "0.734524 * overallSize"
    ],
    [
     "0.519282 * overallSize",
     "0.730342 * overallSize"
    ],
    [
     "0.524555 * overallSize",
     "0.726819 * overallSize"
    ],
    [
     "0.530244 * overallSize",
     "0.724013 * overallSize"
    ],
    [
     "0.536250 * overallSize",
     "0.721975 * overallSize"
    ],
    [
     "0.542472 * overallSize",
     "0.720737 * overallSize"
    ],
    [
     "0.548629 * overallSize",
     "0.720333 * overallSize"
    ],
    [
     "0.618014 * overallSize",
     "0.720333 * overallSize"
    ],
    [
     "0.624171 * overallSize",
     "0.720737 * overallSize"
    ],
    [
     "0.630392 * overallSize",
     "0.721975 * overallSize"
    ],
    [
     "0.636397 * overallSize",
     "0.724013 * overallSize"
    ],
    [
     "0.642086 * overallSize",
     "0.726819 * overallSize"
    ],
    [
     "0.647361 * overallSize",
     "0.730342 * overallSize"
    ],
    [
     "0.652130 * overallSize",
     "0.734524 * overallSize"
    ],
    [
     "0.656312 * overallSize",
     "0.739294 * overallSize"
    ],
    [
     "0.659836 * overallSize",
     "0.744567 * overallSize"
    ],
    [
     "0.662642 * overallSize",
     "0.750257 * overallSize"
    ],
    [
     "0.664680 * overallSize",
     "0.756262 * overallSize"
    ],
    [
     "0.665918 * overallSize",
     "0.762484 * overallSize"
    ],
    [
     "0.666333 * overallSize",
     "0.768824 * overallSize"
    ],
    [
     "0.666333 * overallSize",
     "1.079661 * overallSize"
    ],
    [
     "0.500333 * overallSize",
     "1.079661 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.666988 * overallSize",
     "0.768623 * overallSize"
    ],
    [
     "0.667391 * overallSize",
     "0.762470 * overallSize"
    ],
    [
     "0.668629 * overallSize",
     "0.756249 * overallSize"
    ],
    [
     "0.670667 * overallSize",
     "0.750242 * overallSize"
    ],
    [
     "0.673473 * overallSize",
     "0.744554 * overallSize"
    ],
    [
     "0.676997 * overallSize",
     "0.739281 * overallSize"
    ],
    [
     "0.681179 * overallSize",
     "0.734511 * overallSize"
    ],
    [
     "0.685949 * overallSize",
     "0.730329 * overallSize"
    ],
    [
     "0.691222 * overallSize",
     "0.726805 * overallSize"
    ],
    [
     "0.696910 * overallSize",
     "0.723999 * overallSize"
    ],
    [
     "0.702917 * overallSize",
     "0.721961 * overallSize"
    ],
    [
     "0.709138 * overallSize",
     "0.720723 * overallSize"
    ],
    [
     "0.715092 * overallSize",
     "0.720333 * overallSize"
    ],
    [
     "0.784884 * overallSize",
     "0.720333 * overallSize"
    ],
    [
     "0.790838 * overallSize",
     "0.720723 * overallSize"
    ],
    [
     "0.797059 * overallSize",
     "0.721961 * overallSize"
    ],
    [
     "0.803064 * overallSize",
     "0.723999 * overallSize"
    ],
    [
     "0.808753 * overallSize",
     "0.726805 * overallSize"
    ],
    [
     "0.814027 * overallSize",
     "0.730329 * overallSize"
    ],
    [
     "0.818797 * overallSize",
     "0.734511 * overallSize"
    ],
    [
     "0.822979 * overallSize",
     "0.739281 * overallSize"
    ],
    [
     "0.826503 * overallSize",
     "0.744554 * overallSize"
    ],
    [
     "0.829309 * overallSize",
     "0.750242 * overallSize"
    ],
    [
     "0.831347 * overallSize",
     "0.756249 * overallSize"
    ],
    [
     "0.832585 * overallSize",
     "0.762470 * overallSize"
    ],
    [
     "0.833000 * overallSize",
     "0.768811 * overallSize"
    ],
    [
     "0.833000 * overallSize",
     "1.079667 * overallSize"
    ],
    [
     "0.667000 * overallSize",
     "1.079667 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.347863 * overallSize",
     "1.065470 * overallSize"
    ],
    [
     "0.343681 * overallSize",
     "1.060702 * overallSize"
    ],
    [
     "0.340157 * overallSize",
     "1.055428 * overallSize"
    ],
    [
     "0.337351 * overallSize",
     "1.049739 * overallSize"
    ],
    [
     "0.335312 * overallSize",
     "1.043732 * overallSize"
    ],
    [
     "0.334075 * overallSize",
     "1.037511 * overallSize"
    ],
    [
     "0.333660 * overallSize",
     "1.031170 * overallSize"
    ],
    [
     "0.333660 * overallSize",
     "0.768819 * overallSize"
    ],
    [
     "0.334075 * overallSize",
     "0.762480 * overallSize"
    ],
    [
     "0.335312 * overallSize",
     "0.756258 * overallSize"
    ],
    [
     "0.337351 * overallSize",
     "0.750252 * overallSize"
    ],
    [
     "0.340157 * overallSize",
     "0.744563 * overallSize"
    ],
    [
     "0.343681 * overallSize",
     "0.739289 * overallSize"
    ],
    [
     "0.347863 * overallSize",
     "0.734520 * overallSize"
    ],
    [
     "0.352631 * overallSize",
     "0.730338 * overallSize"
    ],
    [
     "0.357906 * overallSize",
     "0.726813 * overallSize"
    ],
    [
     "0.363594 * overallSize",
     "0.724009 * overallSize"
    ],
    [
     "0.369601 * overallSize",
     "0.721969 * overallSize"
    ],
    [
     "0.371115 * overallSize",
     "0.721668 * overallSize"
    ],
    [
     "0.375754 * overallSize",
     "0.722582 * overallSize"
    ],
    [
     "0.382149 * overallSize",
     "0.723000 * overallSize"
    ],
    [
     "0.451189 * overallSize",
     "0.723000 * overallSize"
    ],
    [
     "0.457584 * overallSize",
     "0.722582 * overallSize"
    ],
    [
     "0.462228 * overallSize",
     "0.721668 * overallSize"
    ],
    [
     "0.463741 * overallSize",
     "0.721969 * overallSize"
    ],
    [
     "0.469748 * overallSize",
     "0.724009 * overallSize"
    ],
    [
     "0.475437 * overallSize",
     "0.726813 * overallSize"
    ],
    [
     "0.480711 * overallSize",
     "0.730338 * overallSize"
    ],
    [
     "0.485480 * overallSize",
     "0.734520 * overallSize"
    ],
    [
     "0.489662 * overallSize",
     "0.739289 * overallSize"
    ],
    [
     "0.493187 * overallSize",
     "0.744563 * overallSize"
    ],
    [
     "0.495991 * overallSize",
     "0.750252 * overallSize"
    ],
    [
     "0.498031 * overallSize",
     "0.756258 * overallSize"
    ],
    [
     "0.499267 * overallSize",
     "0.762480 * overallSize"
    ],
    [
     "0.499684 * overallSize",
     "0.768819 * overallSize"
    ],
    [
     "0.499684 * overallSize",
     "1.031170 * overallSize"
    ],
    [
     "0.499267 * overallSize",
     "1.037511 * overallSize"
    ],
    [
     "0.498031 * overallSize",
     "1.043732 * overallSize"
    ],
    [
     "0.495991 * overallSize",
     "1.049739 * overallSize"
    ],
    [
     "0.493187 * overallSize",
     "1.055428 * overallSize"
    ],
    [
     "0.489662 * overallSize",
     "1.060702 * overallSize"
    ],
    [
     "0.485480 * overallSize",
     "1.065470 * overallSize"
    ],
    [
     "0.480711 * overallSize",
     "1.069652 * overallSize"
    ],
    [
     "0.475437 * overallSize",
     "1.073176 * overallSize"
    ],
    [
     "0.469748 * overallSize",
     "1.075982 * overallSize"
    ],
    [
     "0.463742 * overallSize",
     "1.078021 * overallSize"
    ],
    [
     "0.457520 * overallSize",
     "1.079258 * overallSize"
    ],
    [
     "0.451181 * overallSize",
     "1.079673 * overallSize"
    ],
    [
     "0.382163 * overallSize",
     "1.079673 * overallSize"
    ],
    [
     "0.375822 * overallSize",
     "1.079258 * overallSize"
    ],
    [
     "0.369601 * overallSize",
     "1.078021 * overallSize"
    ],
    [
     "0.363595 * overallSize",
     "1.075982 * overallSize"
    ],
    [
     "0.357906 * overallSize",
     "1.073176 * overallSize"
    ],
    [
     "0.352631 * overallSize",
     "1.069652 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.834058 * overallSize",
     "0.943817 * overallSize"
    ],
    [
     "0.835296 * overallSize",
     "0.937596 * overallSize"
    ],
    [
     "0.837334 * overallSize",
     "0.931589 * overallSize"
    ],
    [
     "0.840140 * overallSize",
     "0.925900 * overallSize"
    ],
    [
     "0.843664 * overallSize",
     "0.920627 * overallSize"
    ],
    [
     "0.847846 * overallSize",
     "0.915858 * overallSize"
    ],
    [
     "0.852615 * overallSize",
     "0.911676 * overallSize"
    ],
    [
     "0.857888 * overallSize",
     "0.908152 * overallSize"
    ],
    [
     "0.863577 * overallSize",
     "0.905346 * overallSize"
    ],
    [
     "0.869584 * overallSize",
     "0.903308 * overallSize"
    ],
    [
     "0.875805 * overallSize",
     "0.902070 * overallSize"
    ],
    [
     "0.882146 * overallSize",
     "0.901655 * overallSize"
    ],
    [
     "0.951164 * overallSize",
     "0.901655 * overallSize"
    ],
    [
     "0.957504 * overallSize",
     "0.902070 * overallSize"
    ],
    [
     "0.963726 * overallSize",
     "0.903308 * overallSize"
    ],
    [
     "0.969731 * overallSize",
     "0.905346 * overallSize"
    ],
    [
     "0.975420 * overallSize",
     "0.908152 * overallSize"
    ],
    [
     "0.980694 * overallSize",
     "0.911676 * overallSize"
    ],
    [
     "0.985464 * overallSize",
     "0.915858 * overallSize"
    ],
    [
     "0.989646 * overallSize",
     "0.920627 * overallSize"
    ],
    [
     "0.993169 * overallSize",
     "0.925900 * overallSize"
    ],
    [
     "0.995975 * overallSize",
     "0.931589 * overallSize"
    ],
    [
     "0.998013 * overallSize",
     "0.937596 * overallSize"
    ],
    [
     "0.999251 * overallSize",
     "0.943817 * overallSize"
    ],
    [
     "0.999667 * overallSize",
     "0.950158 * overallSize"
    ],
    [
     "0.999667 * overallSize",
     "1.079667 * overallSize"
    ],
    [
     "0.833666 * overallSize",
     "1.079667 * overallSize"
    ],
    [
     "0.833643 * overallSize",
     "0.950158 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.173491 * overallSize",
     "1.236761 * overallSize"
    ],
    [
     "0.170685 * overallSize",
     "1.231072 * overallSize"
    ],
    [
     "0.168645 * overallSize",
     "1.225066 * overallSize"
    ],
    [
     "0.167409 * overallSize",
     "1.218844 * overallSize"
    ],
    [
     "0.166993 * overallSize",
     "1.212504 * overallSize"
    ],
    [
     "0.166993 * overallSize",
     "1.128819 * overallSize"
    ],
    [
     "0.167409 * overallSize",
     "1.122480 * overallSize"
    ],
    [
     "0.168645 * overallSize",
     "1.116258 * overallSize"
    ],
    [
     "0.170685 * overallSize",
     "1.110252 * overallSize"
    ],
    [
     "0.173491 * overallSize",
     "1.104563 * overallSize"
    ],
    [
     "0.177014 * overallSize",
     "1.099289 * overallSize"
    ],
    [
     "0.181196 * overallSize",
     "1.094520 * overallSize"
    ],
    [
     "0.185965 * overallSize",
     "1.090338 * overallSize"
    ],
    [
     "0.191239 * overallSize",
     "1.086813 * overallSize"
    ],
    [
     "0.196928 * overallSize",
     "1.084009 * overallSize"
    ],
    [
     "0.202934 * overallSize",
     "1.081969 * overallSize"
    ],
    [
     "0.209156 * overallSize",
     "1.080733 * overallSize"
    ],
    [
     "0.215496 * overallSize",
     "1.080316 * overallSize"
    ],
    [
     "0.284514 * overallSize",
     "1.080316 * overallSize"
    ],
    [
     "0.290854 * overallSize",
     "1.080733 * overallSize"
    ],
    [
     "0.297075 * overallSize",
     "1.081969 * overallSize"
    ],
    [
     "0.303082 * overallSize",
     "1.084009 * overallSize"
    ],
    [
     "0.308770 * overallSize",
     "1.086813 * overallSize"
    ],
    [
     "0.314045 * overallSize",
     "1.090338 * overallSize"
    ],
    [
     "0.318813 * overallSize",
     "1.094520 * overallSize"
    ],
    [
     "0.322995 * overallSize",
     "1.099289 * overallSize"
    ],
    [
     "0.326520 * overallSize",
     "1.104563 * overallSize"
    ],
    [
     "0.329325 * overallSize",
     "1.110252 * overallSize"
    ],
    [
     "0.331364 * overallSize",
     "1.116258 * overallSize"
    ],
    [
     "0.332601 * overallSize",
     "1.122480 * overallSize"
    ],
    [
     "0.333017 * overallSize",
     "1.128819 * overallSize"
    ],
    [
     "0.333017 * overallSize",
     "1.212504 * overallSize"
    ],
    [
     "0.332601 * overallSize",
     "1.218844 * overallSize"
    ],
    [
     "0.331364 * overallSize",
     "1.225066 * overallSize"
    ],
    [
     "0.329325 * overallSize",
     "1.231072 * overallSize"
    ],
    [
     "0.326520 * overallSize",
     "1.236761 * overallSize"
    ],
    [
     "0.322995 * overallSize",
     "1.242035 * overallSize"
    ],
    [
     "0.318813 * overallSize",
     "1.246804 * overallSize"
    ],
    [
     "0.314045 * overallSize",
     "1.250986 * overallSize"
    ],
    [
     "0.308770 * overallSize",
     "1.254509 * overallSize"
    ],
    [
     "0.303081 * overallSize",
     "1.257315 * overallSize"
    ],
    [
     "0.297075 * overallSize",
     "1.259355 * overallSize"
    ],
    [
     "0.290854 * overallSize",
     "1.260591 * overallSize"
    ],
    [
     "0.284514 * overallSize",
     "1.261007 * overallSize"
    ],
    [
     "0.215496 * overallSize",
     "1.261007 * overallSize"
    ],
    [
     "0.209156 * overallSize",
     "1.260591 * overallSize"
    ],
    [
     "0.202934 * overallSize",
     "1.259355 * overallSize"
    ],
    [
     "0.196928 * overallSize",
     "1.257315 * overallSize"
    ],
    [
     "0.191239 * overallSize",
     "1.254509 * overallSize"
    ],
    [
     "0.185965 * overallSize",
     "1.250986 * overallSize"
    ],
    [
     "0.181196 * overallSize",
     "1.246804 * overallSize"
    ],
    [
     "0.177014 * overallSize",
     "1.242035 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.156295 * overallSize",
     "1.420702 * overallSize"
    ],
    [
     "-0.159819 * overallSize",
     "1.415428 * overallSize"
    ],
    [
     "-0.162625 * overallSize",
     "1.409739 * overallSize"
    ],
    [
     "-0.164664 * overallSize",
     "1.403732 * overallSize"
    ],
    [
     "-0.165901 * overallSize",
     "1.397511 * overallSize"
    ],
    [
     "-0.166316 * overallSize",
     "1.391170 * overallSize"
    ],
    [
     "-0.166316 * overallSize",
     "1.080328 * overallSize"
    ],
    [
     "-0.000316 * overallSize",
     "1.080328 * overallSize"
    ],
    [
     "-0.000316 * overallSize",
     "1.391170 * overallSize"
    ],
    [
     "-0.000733 * overallSize",
     "1.397511 * overallSize"
    ],
    [
     "-0.001969 * overallSize",
     "1.403732 * overallSize"
    ],
    [
     "-0.004009 * overallSize",
     "1.409739 * overallSize"
    ],
    [
     "-0.006813 * overallSize",
     "1.415428 * overallSize"
    ],
    [
     "-0.010338 * overallSize",
     "1.420702 * overallSize"
    ],
    [
     "-0.014520 * overallSize",
     "1.425470 * overallSize"
    ],
    [
     "-0.019289 * overallSize",
     "1.429652 * overallSize"
    ],
    [
     "-0.024563 * overallSize",
     "1.433176 * overallSize"
    ],
    [
     "-0.030252 * overallSize",
     "1.435982 * overallSize"
    ],
    [
     "-0.036258 * overallSize",
     "1.438021 * overallSize"
    ],
    [
     "-0.042480 * overallSize",
     "1.439258 * overallSize"
    ],
    [
     "-0.048819 * overallSize",
     "1.439673 * overallSize"
    ],
    [
     "-0.117837 * overallSize",
     "1.439673 * overallSize"
    ],
    [
     "-0.124178 * overallSize",
     "1.439258 * overallSize"
    ],
    [
     "-0.130399 * overallSize",
     "1.438021 * overallSize"
    ],
    [
     "-0.136405 * overallSize",
     "1.435982 * overallSize"
    ],
    [
     "-0.142094 * overallSize",
     "1.433176 * overallSize"
    ],
    [
     "-0.147369 * overallSize",
     "1.429652 * overallSize"
    ],
    [
     "-0.152137 * overallSize",
     "1.425471 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.014530 * overallSize",
     "1.425471 * overallSize"
    ],
    [
     "0.010372 * overallSize",
     "1.420702 * overallSize"
    ],
    [
     "0.006848 * overallSize",
     "1.415428 * overallSize"
    ],
    [
     "0.004042 * overallSize",
     "1.409739 * overallSize"
    ],
    [
     "0.002003 * overallSize",
     "1.403732 * overallSize"
    ],
    [
     "0.000766 * overallSize",
     "1.397511 * overallSize"
    ],
    [
     "0.000351 * overallSize",
     "1.391170 * overallSize"
    ],
    [
     "0.000351 * overallSize",
     "1.080328 * overallSize"
    ],
    [
     "0.166351 * overallSize",
     "1.080328 * overallSize"
    ],
    [
     "0.166327 * overallSize",
     "1.391536 * overallSize"
    ],
    [
     "0.165934 * overallSize",
     "1.397511 * overallSize"
    ],
    [
     "0.164697 * overallSize",
     "1.403732 * overallSize"
    ],
    [
     "0.162658 * overallSize",
     "1.409739 * overallSize"
    ],
    [
     "0.159853 * overallSize",
     "1.415428 * overallSize"
    ],
    [
     "0.156328 * overallSize",
     "1.420702 * overallSize"
    ],
    [
     "0.152146 * overallSize",
     "1.425470 * overallSize"
    ],
    [
     "0.147378 * overallSize",
     "1.429652 * overallSize"
    ],
    [
     "0.142104 * overallSize",
     "1.433176 * overallSize"
    ],
    [
     "0.136415 * overallSize",
     "1.435982 * overallSize"
    ],
    [
     "0.130408 * overallSize",
     "1.438021 * overallSize"
    ],
    [
     "0.124187 * overallSize",
     "1.439258 * overallSize"
    ],
    [
     "0.117848 * overallSize",
     "1.439673 * overallSize"
    ],
    [
     "0.048830 * overallSize",
     "1.439673 * overallSize"
    ],
    [
     "0.042489 * overallSize",
     "1.439258 * overallSize"
    ],
    [
     "0.036268 * overallSize",
     "1.438021 * overallSize"
    ],
    [
     "0.030261 * overallSize",
     "1.435982 * overallSize"
    ],
    [
     "0.024572 * overallSize",
     "1.433176 * overallSize"
    ],
    [
     "0.019298 * overallSize",
     "1.429652 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.499667 * overallSize",
     "1.128824 * overallSize"
    ],
    [
     "0.499666 * overallSize",
     "1.439667 * overallSize"
    ],
    [
     "0.333666 * overallSize",
     "1.439667 * overallSize"
    ],
    [
     "0.333664 * overallSize",
     "1.128496 * overallSize"
    ],
    [
     "0.334058 * overallSize",
     "1.122484 * overallSize"
    ],
    [
     "0.335296 * overallSize",
     "1.116262 * overallSize"
    ],
    [
     "0.337334 * overallSize",
     "1.110256 * overallSize"
    ],
    [
     "0.340140 * overallSize",
     "1.104567 * overallSize"
    ],
    [
     "0.343664 * overallSize",
     "1.099294 * overallSize"
    ],
    [
     "0.347846 * overallSize",
     "1.094524 * overallSize"
    ],
    [
     "0.352615 * overallSize",
     "1.090342 * overallSize"
    ],
    [
     "0.357888 * overallSize",
     "1.086819 * overallSize"
    ],
    [
     "0.363577 * overallSize",
     "1.084013 * overallSize"
    ],
    [
     "0.369584 * overallSize",
     "1.081975 * overallSize"
    ],
    [
     "0.375805 * overallSize",
     "1.080737 * overallSize"
    ],
    [
     "0.382001 * overallSize",
     "1.080331 * overallSize"
    ],
    [
     "0.451326 * overallSize",
     "1.080332 * overallSize"
    ],
    [
     "0.457504 * overallSize",
     "1.080737 * overallSize"
    ],
    [
     "0.463726 * overallSize",
     "1.081975 * overallSize"
    ],
    [
     "0.469731 * overallSize",
     "1.084013 * overallSize"
    ],
    [
     "0.475420 * overallSize",
     "1.086819 * overallSize"
    ],
    [
     "0.480694 * overallSize",
     "1.090342 * overallSize"
    ],
    [
     "0.485464 * overallSize",
     "1.094524 * overallSize"
    ],
    [
     "0.489646 * overallSize",
     "1.099294 * overallSize"
    ],
    [
     "0.493169 * overallSize",
     "1.104567 * overallSize"
    ],
    [
     "0.495975 * overallSize",
     "1.110256 * overallSize"
    ],
    [
     "0.498013 * overallSize",
     "1.116262 * overallSize"
    ],
    [
     "0.499251 * overallSize",
     "1.122484 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.510372 * overallSize",
     "1.242036 * overallSize"
    ],
    [
     "0.506848 * overallSize",
     "1.236761 * overallSize"
    ],
    [
     "0.504042 * overallSize",
     "1.231072 * overallSize"
    ],
    [
     "0.502003 * overallSize",
     "1.225066 * overallSize"
    ],
    [
     "0.500766 * overallSize",
     "1.218844 * overallSize"
    ],
    [
     "0.500351 * overallSize",
     "1.212504 * overallSize"
    ],
    [
     "0.500351 * overallSize",
     "1.080328 * overallSize"
    ],
    [
     "0.666351 * overallSize",
     "1.080328 * overallSize"
    ],
    [
     "0.666351 * overallSize",
     "1.212504 * overallSize"
    ],
    [
     "0.665934 * overallSize",
     "1.218844 * overallSize"
    ],
    [
     "0.664697 * overallSize",
     "1.225066 * overallSize"
    ],
    [
     "0.662658 * overallSize",
     "1.231072 * overallSize"
    ],
    [
     "0.659853 * overallSize",
     "1.236761 * overallSize"
    ],
    [
     "0.656328 * overallSize",
     "1.242035 * overallSize"
    ],
    [
     "0.652146 * overallSize",
     "1.246804 * overallSize"
    ],
    [
     "0.647378 * overallSize",
     "1.250986 * overallSize"
    ],
    [
     "0.642104 * overallSize",
     "1.254509 * overallSize"
    ],
    [
     "0.636415 * overallSize",
     "1.257315 * overallSize"
    ],
    [
     "0.630408 * overallSize",
     "1.259355 * overallSize"
    ],
    [
     "0.624187 * overallSize",
     "1.260591 * overallSize"
    ],
    [
     "0.617993 * overallSize",
     "1.260997 * overallSize"
    ],
    [
     "0.548667 * overallSize",
     "1.260996 * overallSize"
    ],
    [
     "0.542489 * overallSize",
     "1.260591 * overallSize"
    ],
    [
     "0.536268 * overallSize",
     "1.259355 * overallSize"
    ],
    [
     "0.530261 * overallSize",
     "1.257315 * overallSize"
    ],
    [
     "0.524572 * overallSize",
     "1.254509 * overallSize"
    ],
    [
     "0.519298 * overallSize",
     "1.250986 * overallSize"
    ],
    [
     "0.514530 * overallSize",
     "1.246804 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.833000 * overallSize",
     "1.439667 * overallSize"
    ],
    [
     "0.667000 * overallSize",
     "1.439667 * overallSize"
    ],
    [
     "0.667017 * overallSize",
     "1.080333 * overallSize"
    ],
    [
     "0.833000 * overallSize",
     "1.080333 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.500725 * overallSize",
     "1.303817 * overallSize"
    ],
    [
     "0.501963 * overallSize",
     "1.297596 * overallSize"
    ],
    [
     "0.504001 * overallSize",
     "1.291589 * overallSize"
    ],
    [
     "0.506807 * overallSize",
     "1.285900 * overallSize"
    ],
    [
     "0.510330 * overallSize",
     "1.280627 * overallSize"
    ],
    [
     "0.514512 * overallSize",
     "1.275858 * overallSize"
    ],
    [
     "0.519282 * overallSize",
     "1.271676 * overallSize"
    ],
    [
     "0.524555 * overallSize",
     "1.268152 * overallSize"
    ],
    [
     "0.530244 * overallSize",
     "1.265346 * overallSize"
    ],
    [
     "0.536250 * overallSize",
     "1.263308 * overallSize"
    ],
    [
     "0.542472 * overallSize",
     "1.262070 * overallSize"
    ],
    [
     "0.548812 * overallSize",
     "1.261655 * overallSize"
    ],
    [
     "0.617830 * overallSize",
     "1.261655 * overallSize"
    ],
    [
     "0.624171 * overallSize",
     "1.262070 * overallSize"
    ],
    [
     "0.630392 * overallSize",
     "1.263308 * overallSize"
    ],
    [
     "0.636397 * overallSize",
     "1.265346 * overallSize"
    ],
    [
     "0.642086 * overallSize",
     "1.268152 * overallSize"
    ],
    [
     "0.647361 * overallSize",
     "1.271676 * overallSize"
    ],
    [
     "0.652130 * overallSize",
     "1.275858 * overallSize"
    ],
    [
     "0.656312 * overallSize",
     "1.280627 * overallSize"
    ],
    [
     "0.659836 * overallSize",
     "1.285900 * overallSize"
    ],
    [
     "0.662642 * overallSize",
     "1.291589 * overallSize"
    ],
    [
     "0.664680 * overallSize",
     "1.297596 * overallSize"
    ],
    [
     "0.665918 * overallSize",
     "1.303817 * overallSize"
    ],
    [
     "0.666333 * overallSize",
     "1.310158 * overallSize"
    ],
    [
     "0.666333 * overallSize",
     "1.439667 * overallSize"
    ],
    [
     "0.500333 * overallSize",
     "1.439667 * overallSize"
    ],
    [
     "0.500309 * overallSize",
     "1.310158 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.177014 * overallSize",
     "1.423369 * overallSize"
    ],
    [
     "0.173491 * overallSize",
     "1.418094 * overallSize"
    ],
    [
     "0.170685 * overallSize",
     "1.412405 * overallSize"
    ],
    [
     "0.168645 * overallSize",
     "1.406399 * overallSize"
    ],
    [
     "0.167409 * overallSize",
     "1.400178 * overallSize"
    ],
    [
     "0.166993 * overallSize",
     "1.393837 * overallSize"
    ],
    [
     "0.166993 * overallSize",
     "1.310152 * overallSize"
    ],
    [
     "0.167409 * overallSize",
     "1.303813 * overallSize"
    ],
    [
     "0.168645 * overallSize",
     "1.297592 * overallSize"
    ],
    [
     "0.170685 * overallSize",
     "1.291585 * overallSize"
    ],
    [
     "0.173491 * overallSize",
     "1.285896 * overallSize"
    ],
    [
     "0.177014 * overallSize",
     "1.280622 * overallSize"
    ],
    [
     "0.181196 * overallSize",
     "1.275854 * overallSize"
    ],
    [
     "0.185965 * overallSize",
     "1.271672 * overallSize"
    ],
    [
     "0.191239 * overallSize",
     "1.268147 * overallSize"
    ],
    [
     "0.196928 * overallSize",
     "1.265342 * overallSize"
    ],
    [
     "0.202934 * overallSize",
     "1.263303 * overallSize"
    ],
    [
     "0.209156 * overallSize",
     "1.262066 * overallSize"
    ],
    [
     "0.215302 * overallSize",
     "1.261662 * overallSize"
    ],
    [
     "0.284708 * overallSize",
     "1.261662 * overallSize"
    ],
    [
     "0.290854 * overallSize",
     "1.262066 * overallSize"
    ],
    [
     "0.297075 * overallSize",
     "1.263303 * overallSize"
    ],
    [
     "0.303082 * overallSize",
     "1.265342 * overallSize"
    ],
    [
     "0.308770 * overallSize",
     "1.268147 * overallSize"
    ],
    [
     "0.314045 * overallSize",
     "1.271672 * overallSize"
    ],
    [
     "0.318813 * overallSize",
     "1.275854 * overallSize"
    ],
    [
     "0.322995 * overallSize",
     "1.280622 * overallSize"
    ],
    [
     "0.326520 * overallSize",
     "1.285896 * overallSize"
    ],
    [
     "0.329325 * overallSize",
     "1.291585 * overallSize"
    ],
    [
     "0.331364 * overallSize",
     "1.297592 * overallSize"
    ],
    [
     "0.332601 * overallSize",
     "1.303813 * overallSize"
    ],
    [
     "0.333017 * overallSize",
     "1.310152 * overallSize"
    ],
    [
     "0.333017 * overallSize",
     "1.393837 * overallSize"
    ],
    [
     "0.332601 * overallSize",
     "1.400178 * overallSize"
    ],
    [
     "0.331364 * overallSize",
     "1.406399 * overallSize"
    ],
    [
     "0.329325 * overallSize",
     "1.412406 * overallSize"
    ],
    [
     "0.326520 * overallSize",
     "1.418094 * overallSize"
    ],
    [
     "0.322995 * overallSize",
     "1.423369 * overallSize"
    ],
    [
     "0.318813 * overallSize",
     "1.428137 * overallSize"
    ],
    [
     "0.314045 * overallSize",
     "1.432319 * overallSize"
    ],
    [
     "0.308770 * overallSize",
     "1.435843 * overallSize"
    ],
    [
     "0.303081 * overallSize",
     "1.438649 * overallSize"
    ],
    [
     "0.297075 * overallSize",
     "1.440688 * overallSize"
    ],
    [
     "0.290854 * overallSize",
     "1.441925 * overallSize"
    ],
    [
     "0.284514 * overallSize",
     "1.442340 * overallSize"
    ],
    [
     "0.215496 * overallSize",
     "1.442340 * overallSize"
    ],
    [
     "0.209156 * overallSize",
     "1.441925 * overallSize"
    ],
    [
     "0.202934 * overallSize",
     "1.440688 * overallSize"
    ],
    [
     "0.196928 * overallSize",
     "1.438649 * overallSize"
    ],
    [
     "0.191239 * overallSize",
     "1.435843 * overallSize"
    ],
    [
     "0.185965 * overallSize",
     "1.432319 * overallSize"
    ],
    [
     "0.181196 * overallSize",
     "1.428137 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.833667 * overallSize",
     "1.802333 * overallSize"
    ],
    [
     "0.833655 * overallSize",
     "1.491290 * overallSize"
    ],
    [
     "0.834058 * overallSize",
     "1.485137 * overallSize"
    ],
    [
     "0.835296 * overallSize",
     "1.478916 * overallSize"
    ],
    [
     "0.837334 * overallSize",
     "1.472910 * overallSize"
    ],
    [
     "0.840140 * overallSize",
     "1.467220 * overallSize"
    ],
    [
     "0.843664 * overallSize",
     "1.461947 * overallSize"
    ],
    [
     "0.847846 * overallSize",
     "1.457178 * overallSize"
    ],
    [
     "0.852615 * overallSize",
     "1.452996 * overallSize"
    ],
    [
     "0.857888 * overallSize",
     "1.449472 * overallSize"
    ],
    [
     "0.863577 * overallSize",
     "1.446666 * overallSize"
    ],
    [
     "0.869584 * overallSize",
     "1.444628 * overallSize"
    ],
    [
     "0.875805 * overallSize",
     "1.443390 * overallSize"
    ],
    [
     "0.882146 * overallSize",
     "1.442975 * overallSize"
    ],
    [
     "0.951164 * overallSize",
     "1.442975 * overallSize"
    ],
    [
     "0.957504 * overallSize",
     "1.443390 * overallSize"
    ],
    [
     "0.963726 * overallSize",
     "1.444628 * overallSize"
    ],
    [
     "0.969731 * overallSize",
     "1.446666 * overallSize"
    ],
    [
     "0.975420 * overallSize",
     "1.449472 * overallSize"
    ],
    [
     "0.980694 * overallSize",
     "1.452996 * overallSize"
    ],
    [
     "0.985464 * overallSize",
     "1.457178 * overallSize"
    ],
    [
     "0.989646 * overallSize",
     "1.461947 * overallSize"
    ],
    [
     "0.993169 * overallSize",
     "1.467220 * overallSize"
    ],
    [
     "0.995975 * overallSize",
     "1.472910 * overallSize"
    ],
    [
     "0.998013 * overallSize",
     "1.478916 * overallSize"
    ],
    [
     "0.999251 * overallSize",
     "1.485137 * overallSize"
    ],
    [
     "0.999667 * overallSize",
     "1.491478 * overallSize"
    ],
    [
     "0.999667 * overallSize",
     "1.802333 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.006824 * overallSize",
     "1.599441 * overallSize"
    ],
    [
     "0.004018 * overallSize",
     "1.593752 * overallSize"
    ],
    [
     "0.001979 * overallSize",
     "1.587746 * overallSize"
    ],
    [
     "0.000742 * overallSize",
     "1.581524 * overallSize"
    ],
    [
     "0.000327 * overallSize",
     "1.575184 * overallSize"
    ],
    [
     "0.000327 * overallSize",
     "1.491486 * overallSize"
    ],
    [
     "0.000742 * overallSize",
     "1.485146 * overallSize"
    ],
    [
     "0.001979 * overallSize",
     "1.478925 * overallSize"
    ],
    [
     "0.004018 * overallSize",
     "1.472919 * overallSize"
    ],
    [
     "0.006824 * overallSize",
     "1.467230 * overallSize"
    ],
    [
     "0.010348 * overallSize",
     "1.461955 * overallSize"
    ],
    [
     "0.014530 * overallSize",
     "1.457187 * overallSize"
    ],
    [
     "0.019298 * overallSize",
     "1.453005 * overallSize"
    ],
    [
     "0.024572 * overallSize",
     "1.449480 * overallSize"
    ],
    [
     "0.030261 * overallSize",
     "1.446675 * overallSize"
    ],
    [
     "0.036268 * overallSize",
     "1.444636 * overallSize"
    ],
    [
     "0.042489 * overallSize",
     "1.443399 * overallSize"
    ],
    [
     "0.048830 * overallSize",
     "1.442983 * overallSize"
    ],
    [
     "0.117848 * overallSize",
     "1.442983 * overallSize"
    ],
    [
     "0.124187 * overallSize",
     "1.443399 * overallSize"
    ],
    [
     "0.130408 * overallSize",
     "1.444636 * overallSize"
    ],
    [
     "0.136415 * overallSize",
     "1.446675 * overallSize"
    ],
    [
     "0.142104 * overallSize",
     "1.449480 * overallSize"
    ],
    [
     "0.147378 * overallSize",
     "1.453005 * overallSize"
    ],
    [
     "0.152146 * overallSize",
     "1.457187 * overallSize"
    ],
    [
     "0.156328 * overallSize",
     "1.461955 * overallSize"
    ],
    [
     "0.159853 * overallSize",
     "1.467230 * overallSize"
    ],
    [
     "0.162658 * overallSize",
     "1.472918 * overallSize"
    ],
    [
     "0.164697 * overallSize",
     "1.478925 * overallSize"
    ],
    [
     "0.165934 * overallSize",
     "1.485146 * overallSize"
    ],
    [
     "0.166351 * overallSize",
     "1.491486 * overallSize"
    ],
    [
     "0.166351 * overallSize",
     "1.575170 * overallSize"
    ],
    [
     "0.165934 * overallSize",
     "1.581511 * overallSize"
    ],
    [
     "0.164697 * overallSize",
     "1.587732 * overallSize"
    ],
    [
     "0.162658 * overallSize",
     "1.593739 * overallSize"
    ],
    [
     "0.159853 * overallSize",
     "1.599428 * overallSize"
    ],
    [
     "0.156328 * overallSize",
     "1.604702 * overallSize"
    ],
    [
     "0.152146 * overallSize",
     "1.609470 * overallSize"
    ],
    [
     "0.147378 * overallSize",
     "1.613652 * overallSize"
    ],
    [
     "0.142104 * overallSize",
     "1.617176 * overallSize"
    ],
    [
     "0.136415 * overallSize",
     "1.619982 * overallSize"
    ],
    [
     "0.130408 * overallSize",
     "1.622021 * overallSize"
    ],
    [
     "0.124187 * overallSize",
     "1.623258 * overallSize"
    ],
    [
     "0.117848 * overallSize",
     "1.623673 * overallSize"
    ],
    [
     "0.048830 * overallSize",
     "1.623673 * overallSize"
    ],
    [
     "0.042489 * overallSize",
     "1.623258 * overallSize"
    ],
    [
     "0.036268 * overallSize",
     "1.622021 * overallSize"
    ],
    [
     "0.030261 * overallSize",
     "1.619982 * overallSize"
    ],
    [
     "0.024572 * overallSize",
     "1.617176 * overallSize"
    ],
    [
     "0.019298 * overallSize",
     "1.613652 * overallSize"
    ],
    [
     "0.014529 * overallSize",
     "1.609470 * overallSize"
    ],
    [
     "0.010348 * overallSize",
     "1.604715 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.506824 * overallSize",
     "1.778094 * overallSize"
    ],
    [
     "0.504018 * overallSize",
     "1.772405 * overallSize"
    ],
    [
     "0.501979 * overallSize",
     "1.766399 * overallSize"
    ],
    [
     "0.500742 * overallSize",
     "1.760178 * overallSize"
    ],
    [
     "0.500327 * overallSize",
     "1.753837 * overallSize"
    ],
    [
     "0.500327 * overallSize",
     "1.491486 * overallSize"
    ],
    [
     "0.500742 * overallSize",
     "1.485146 * overallSize"
    ],
    [
     "0.501979 * overallSize",
     "1.478925 * overallSize"
    ],
    [
     "0.504018 * overallSize",
     "1.472919 * overallSize"
    ],
    [
     "0.506824 * overallSize",
     "1.467230 * overallSize"
    ],
    [
     "0.510348 * overallSize",
     "1.461955 * overallSize"
    ],
    [
     "0.514530 * overallSize",
     "1.457187 * overallSize"
    ],
    [
     "0.519298 * overallSize",
     "1.453005 * overallSize"
    ],
    [
     "0.524572 * overallSize",
     "1.449480 * overallSize"
    ],
    [
     "0.530261 * overallSize",
     "1.446675 * overallSize"
    ],
    [
     "0.536268 * overallSize",
     "1.444636 * overallSize"
    ],
    [
     "0.542489 * overallSize",
     "1.443399 * overallSize"
    ],
    [
     "0.548830 * overallSize",
     "1.442983 * overallSize"
    ],
    [
     "0.617848 * overallSize",
     "1.442983 * overallSize"
    ],
    [
     "0.624187 * overallSize",
     "1.443399 * overallSize"
    ],
    [
     "0.630408 * overallSize",
     "1.444636 * overallSize"
    ],
    [
     "0.636415 * overallSize",
     "1.446675 * overallSize"
    ],
    [
     "0.642104 * overallSize",
     "1.449480 * overallSize"
    ],
    [
     "0.647378 * overallSize",
     "1.453005 * overallSize"
    ],
    [
     "0.652146 * overallSize",
     "1.457187 * overallSize"
    ],
    [
     "0.656328 * overallSize",
     "1.461955 * overallSize"
    ],
    [
     "0.659853 * overallSize",
     "1.467230 * overallSize"
    ],
    [
     "0.662658 * overallSize",
     "1.472918 * overallSize"
    ],
    [
     "0.664697 * overallSize",
     "1.478925 * overallSize"
    ],
    [
     "0.665934 * overallSize",
     "1.485146 * overallSize"
    ],
    [
     "0.666351 * overallSize",
     "1.491486 * overallSize"
    ],
    [
     "0.666351 * overallSize",
     "1.753837 * overallSize"
    ],
    [
     "0.665934 * overallSize",
     "1.760178 * overallSize"
    ],
    [
     "0.664697 * overallSize",
     "1.766399 * overallSize"
    ],
    [
     "0.662658 * overallSize",
     "1.772406 * overallSize"
    ],
    [
     "0.659853 * overallSize",
     "1.778094 * overallSize"
    ],
    [
     "0.656328 * overallSize",
     "1.783369 * overallSize"
    ],
    [
     "0.652146 * overallSize",
     "1.788137 * overallSize"
    ],
    [
     "0.647378 * overallSize",
     "1.792319 * overallSize"
    ],
    [
     "0.642104 * overallSize",
     "1.795843 * overallSize"
    ],
    [
     "0.636415 * overallSize",
     "1.798649 * overallSize"
    ],
    [
     "0.630408 * overallSize",
     "1.800688 * overallSize"
    ],
    [
     "0.624187 * overallSize",
     "1.801925 * overallSize"
    ],
    [
     "0.617848 * overallSize",
     "1.802340 * overallSize"
    ],
    [
     "0.548830 * overallSize",
     "1.802340 * overallSize"
    ],
    [
     "0.542489 * overallSize",
     "1.801925 * overallSize"
    ],
    [
     "0.536268 * overallSize",
     "1.800688 * overallSize"
    ],
    [
     "0.530261 * overallSize",
     "1.798649 * overallSize"
    ],
    [
     "0.524572 * overallSize",
     "1.795843 * overallSize"
    ],
    [
     "0.519298 * overallSize",
     "1.792319 * overallSize"
    ],
    [
     "0.514530 * overallSize",
     "1.788137 * overallSize"
    ],
    [
     "0.510348 * overallSize",
     "1.783369 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.666998 * overallSize",
     "1.491162 * overallSize"
    ],
    [
     "0.667391 * overallSize",
     "1.485150 * overallSize"
    ],
    [
     "0.668629 * overallSize",
     "1.478929 * overallSize"
    ],
    [
     "0.670667 * overallSize",
     "1.472924 * overallSize"
    ],
    [
     "0.673473 * overallSize",
     "1.467234 * overallSize"
    ],
    [
     "0.676997 * overallSize",
     "1.461961 * overallSize"
    ],
    [
     "0.681179 * overallSize",
     "1.457191 * overallSize"
    ],
    [
     "0.685949 * overallSize",
     "1.453009 * overallSize"
    ],
    [
     "0.691222 * overallSize",
     "1.449485 * overallSize"
    ],
    [
     "0.696910 * overallSize",
     "1.446679 * overallSize"
    ],
    [
     "0.702917 * overallSize",
     "1.444641 * overallSize"
    ],
    [
     "0.709138 * overallSize",
     "1.443403 * overallSize"
    ],
    [
     "0.715479 * overallSize",
     "1.442988 * overallSize"
    ],
    [
     "0.784497 * overallSize",
     "1.442988 * overallSize"
    ],
    [
     "0.790838 * overallSize",
     "1.443403 * overallSize"
    ],
    [
     "0.797059 * overallSize",
     "1.444641 * overallSize"
    ],
    [
     "0.803064 * overallSize",
     "1.446679 * overallSize"
    ],
    [
     "0.808753 * overallSize",
     "1.449485 * overallSize"
    ],
    [
     "0.814027 * overallSize",
     "1.453009 * overallSize"
    ],
    [
     "0.818797 * overallSize",
     "1.457191 * overallSize"
    ],
    [
     "0.822979 * overallSize",
     "1.461961 * overallSize"
    ],
    [
     "0.826503 * overallSize",
     "1.467234 * overallSize"
    ],
    [
     "0.829309 * overallSize",
     "1.472924 * overallSize"
    ],
    [
     "0.831347 * overallSize",
     "1.478929 * overallSize"
    ],
    [
     "0.832585 * overallSize",
     "1.485150 * overallSize"
    ],
    [
     "0.833000 * overallSize",
     "1.491491 * overallSize"
    ],
    [
     "0.833000 * overallSize",
     "1.802333 * overallSize"
    ],
    [
     "0.667000 * overallSize",
     "1.802333 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.167000 * overallSize",
     "1.802333 * overallSize"
    ],
    [
     "0.166998 * overallSize",
     "1.491162 * overallSize"
    ],
    [
     "0.167391 * overallSize",
     "1.485150 * overallSize"
    ],
    [
     "0.168629 * overallSize",
     "1.478929 * overallSize"
    ],
    [
     "0.170667 * overallSize",
     "1.472922 * overallSize"
    ],
    [
     "0.173473 * overallSize",
     "1.467234 * overallSize"
    ],
    [
     "0.176997 * overallSize",
     "1.461961 * overallSize"
    ],
    [
     "0.181179 * overallSize",
     "1.457191 * overallSize"
    ],
    [
     "0.185949 * overallSize",
     "1.453009 * overallSize"
    ],
    [
     "0.191222 * overallSize",
     "1.449485 * overallSize"
    ],
    [
     "0.196910 * overallSize",
     "1.446679 * overallSize"
    ],
    [
     "0.202917 * overallSize",
     "1.444641 * overallSize"
    ],
    [
     "0.209138 * overallSize",
     "1.443403 * overallSize"
    ],
    [
     "0.215334 * overallSize",
     "1.442997 * overallSize"
    ],
    [
     "0.284659 * overallSize",
     "1.442999 * overallSize"
    ],
    [
     "0.290838 * overallSize",
     "1.443403 * overallSize"
    ],
    [
     "0.297059 * overallSize",
     "1.444641 * overallSize"
    ],
    [
     "0.303064 * overallSize",
     "1.446679 * overallSize"
    ],
    [
     "0.308753 * overallSize",
     "1.449485 * overallSize"
    ],
    [
     "0.314027 * overallSize",
     "1.453009 * overallSize"
    ],
    [
     "0.318797 * overallSize",
     "1.457191 * overallSize"
    ],
    [
     "0.322979 * overallSize",
     "1.461961 * overallSize"
    ],
    [
     "0.326503 * overallSize",
     "1.467234 * overallSize"
    ],
    [
     "0.329309 * overallSize",
     "1.472922 * overallSize"
    ],
    [
     "0.331347 * overallSize",
     "1.478929 * overallSize"
    ],
    [
     "0.332585 * overallSize",
     "1.485150 * overallSize"
    ],
    [
     "0.333000 * overallSize",
     "1.491491 * overallSize"
    ],
    [
     "0.333000 * overallSize",
     "1.802333 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.343705 * overallSize",
     "1.783369 * overallSize"
    ],
    [
     "0.340181 * overallSize",
     "1.778094 * overallSize"
    ],
    [
     "0.337375 * overallSize",
     "1.772405 * overallSize"
    ],
    [
     "0.335336 * overallSize",
     "1.766399 * overallSize"
    ],
    [
     "0.334099 * overallSize",
     "1.760178 * overallSize"
    ],
    [
     "0.333684 * overallSize",
     "1.753837 * overallSize"
    ],
    [
     "0.333684 * overallSize",
     "1.442995 * overallSize"
    ],
    [
     "0.499684 * overallSize",
     "1.442995 * overallSize"
    ],
    [
     "0.499671 * overallSize",
     "1.754031 * overallSize"
    ],
    [
     "0.499267 * overallSize",
     "1.760178 * overallSize"
    ],
    [
     "0.498031 * overallSize",
     "1.766399 * overallSize"
    ],
    [
     "0.495991 * overallSize",
     "1.772406 * overallSize"
    ],
    [
     "0.493187 * overallSize",
     "1.778094 * overallSize"
    ],
    [
     "0.489662 * overallSize",
     "1.783369 * overallSize"
    ],
    [
     "0.485480 * overallSize",
     "1.788137 * overallSize"
    ],
    [
     "0.480711 * overallSize",
     "1.792319 * overallSize"
    ],
    [
     "0.475437 * overallSize",
     "1.795843 * overallSize"
    ],
    [
     "0.469748 * overallSize",
     "1.798649 * overallSize"
    ],
    [
     "0.463742 * overallSize",
     "1.800688 * overallSize"
    ],
    [
     "0.457520 * overallSize",
     "1.801925 * overallSize"
    ],
    [
     "0.451181 * overallSize",
     "1.802340 * overallSize"
    ],
    [
     "0.382163 * overallSize",
     "1.802340 * overallSize"
    ],
    [
     "0.375822 * overallSize",
     "1.801925 * overallSize"
    ],
    [
     "0.369601 * overallSize",
     "1.800688 * overallSize"
    ],
    [
     "0.363595 * overallSize",
     "1.798649 * overallSize"
    ],
    [
     "0.357906 * overallSize",
     "1.795843 * overallSize"
    ],
    [
     "0.352631 * overallSize",
     "1.792319 * overallSize"
    ],
    [
     "0.347863 * overallSize",
     "1.788137 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "750 / 750 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "1082 / 750 * overallSize"
  ]
 }
},"rounded-square-and-disc":{
  "schema": 1,
  "id": "rounded-square-and-disc",
  "name": "Rounded square and disc",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 500,
      "min": 100,
      "max": 2000,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.157142857143 * overallSize",
          "0.128571428571 * overallSize"
        ],
        [
          "0.171428571429 * overallSize",
          "0.114285714286 * overallSize"
        ],
        [
          "0.171428571429 * overallSize",
          "0.085714285714 * overallSize"
        ],
        [
          "0.185714285714 * overallSize",
          "0.071428571429 * overallSize"
        ],
        [
          "0.185714285714 * overallSize",
          "0.057142857143 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.242857142857 * overallSize",
          "0.014285714286 * overallSize"
        ],
        [
          "0.257142857143 * overallSize",
          "0.014285714286 * overallSize"
        ],
        [
          "0.271428571429 * overallSize",
          "0"
        ],
        [
          "0.557142857143 * overallSize",
          "0"
        ],
        [
          "0.571428571429 * overallSize",
          "0.014285714286 * overallSize"
        ],
        [
          "0.585714285714 * overallSize",
          "0.014285714286 * overallSize"
        ],
        [
          "0.614285714286 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.628571428571 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.057142857143 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.071428571429 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.085714285714 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.371428571429 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.371428571429 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.385714285714 * overallSize"
        ],
        [
          "0.514285714286 * overallSize",
          "0.442857142857 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.471428571429 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.328571428571 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.314285714286 * overallSize",
          "0.471428571429 * overallSize"
        ],
        [
          "0.285714285714 * overallSize",
          "0.414285714286 * overallSize"
        ],
        [
          "0.257142857143 * overallSize",
          "0.385714285714 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "0.371428571429 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "0.371428571429 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.157142857143 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.142857142857 * overallSize",
          "0.585714285714 * overallSize"
        ],
        [
          "0.142857142857 * overallSize",
          "0.571428571429 * overallSize"
        ],
        [
          "0.114285714286 * overallSize",
          "0.542857142857 * overallSize"
        ],
        [
          "0.1 * overallSize",
          "0.542857142857 * overallSize"
        ],
        [
          "0.085714285714 * overallSize",
          "0.528571428571 * overallSize"
        ],
        [
          "0.071428571429 * overallSize",
          "0.528571428571 * overallSize"
        ],
        [
          "0.057142857143 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.057142857143 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.071428571429 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.085714285714 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.1 * overallSize",
          "0.485714285714 * overallSize"
        ],
        [
          "0.114285714286 * overallSize",
          "0.485714285714 * overallSize"
        ],
        [
          "0.142857142857 * overallSize",
          "0.457142857143 * overallSize"
        ],
        [
          "0.142857142857 * overallSize",
          "0.442857142857 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "0.371428571429 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "0.371428571429 * overallSize"
        ],
        [
          "0.257142857143 * overallSize",
          "0.385714285714 * overallSize"
        ],
        [
          "0.285714285714 * overallSize",
          "0.414285714286 * overallSize"
        ],
        [
          "0.314285714286 * overallSize",
          "0.471428571429 * overallSize"
        ],
        [
          "0.328571428571 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.314285714286 * overallSize",
          "0.557142857143 * overallSize"
        ],
        [
          "0.285714285714 * overallSize",
          "0.614285714286 * overallSize"
        ],
        [
          "0.257142857143 * overallSize",
          "0.642857142857 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "0.657142857143 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "0.657142857143 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.014285714286 * overallSize",
          "0.071428571429 * overallSize"
        ],
        [
          "0",
          "0.042857142857 * overallSize"
        ],
        [
          "0",
          "-0.042857142857 * overallSize"
        ],
        [
          "0.014285714286 * overallSize",
          "-0.071428571429 * overallSize"
        ],
        [
          "0.071428571429 * overallSize",
          "-0.128571428571 * overallSize"
        ],
        [
          "0.1 * overallSize",
          "-0.142857142857 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "-0.142857142857 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "-0.128571428571 * overallSize"
        ],
        [
          "0.171428571429 * overallSize",
          "-0.1 * overallSize"
        ],
        [
          "0.171428571429 * overallSize",
          "-0.085714285714 * overallSize"
        ],
        [
          "0.185714285714 * overallSize",
          "-0.071428571429 * overallSize"
        ],
        [
          "0.185714285714 * overallSize",
          "-0.057142857143 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "-0.028571428571 * overallSize"
        ],
        [
          "0.228571428571 * overallSize",
          "-0.028571428571 * overallSize"
        ],
        [
          "0.242857142857 * overallSize",
          "-0.014285714286 * overallSize"
        ],
        [
          "0.257142857143 * overallSize",
          "-0.014285714286 * overallSize"
        ],
        [
          "0.271428571429 * overallSize",
          "0"
        ],
        [
          "0.271428571429 * overallSize",
          "0"
        ],
        [
          "0.257142857143 * overallSize",
          "0.014285714286 * overallSize"
        ],
        [
          "0.242857142857 * overallSize",
          "0.014285714286 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.2 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.185714285714 * overallSize",
          "0.057142857143 * overallSize"
        ],
        [
          "0.185714285714 * overallSize",
          "0.071428571429 * overallSize"
        ],
        [
          "0.171428571429 * overallSize",
          "0.085714285714 * overallSize"
        ],
        [
          "0.171428571429 * overallSize",
          "0.114285714286 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "0.128571428571 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "0.1 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "0.071428571429 * overallSize",
          "0.128571428571 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.657142857143 * overallSize",
          "0.085714285714 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.071428571429 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.057142857143 * overallSize"
        ],
        [
          "0.628571428571 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.614285714286 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.585714285714 * overallSize",
          "0.014285714286 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.014285714286 * overallSize"
        ],
        [
          "0.557142857143 * overallSize",
          "0"
        ],
        [
          "0.557142857143 * overallSize",
          "0"
        ],
        [
          "0.571428571429 * overallSize",
          "-0.014285714286 * overallSize"
        ],
        [
          "0.585714285714 * overallSize",
          "-0.014285714286 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "-0.028571428571 * overallSize"
        ],
        [
          "0.614285714286 * overallSize",
          "-0.028571428571 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "-0.057142857143 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "-0.071428571429 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "-0.085714285714 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "-0.142857142857 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "-0.142857142857 * overallSize"
        ],
        [
          "0.757142857143 * overallSize",
          "-0.128571428571 * overallSize"
        ],
        [
          "0.785714285714 * overallSize",
          "-0.1 * overallSize"
        ],
        [
          "0.814285714286 * overallSize",
          "-0.042857142857 * overallSize"
        ],
        [
          "0.828571428571 * overallSize",
          "0"
        ],
        [
          "0.814285714286 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.785714285714 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.757142857143 * overallSize",
          "0.128571428571 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.142857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.185714285714 * overallSize",
          "0.971428571429 * overallSize"
        ],
        [
          "0.185714285714 * overallSize",
          "0.957142857143 * overallSize"
        ],
        [
          "0.171428571429 * overallSize",
          "0.942857142857 * overallSize"
        ],
        [
          "0.171428571429 * overallSize",
          "0.928571428571 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "0.9 * overallSize"
        ],
        [
          "0.157142857143 * overallSize",
          "0.657142857143 * overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "0.657142857143 * overallSize"
        ],
        [
          "0.257142857143 * overallSize",
          "0.642857142857 * overallSize"
        ],
        [
          "0.285714285714 * overallSize",
          "0.614285714286 * overallSize"
        ],
        [
          "0.314285714286 * overallSize",
          "0.557142857143 * overallSize"
        ],
        [
          "0.328571428571 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.557142857143 * overallSize"
        ],
        [
          "0.514285714286 * overallSize",
          "0.585714285714 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.642857142857 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.657142857143 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.657142857143 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.942857142857 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.957142857143 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.971428571429 * overallSize"
        ],
        [
          "0.614285714286 * overallSize",
          "overallSize"
        ],
        [
          "0.6 * overallSize",
          "overallSize"
        ],
        [
          "0.585714285714 * overallSize",
          "1.014285714286 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "1.014285714286 * overallSize"
        ],
        [
          "0.557142857143 * overallSize",
          "1.028571428571 * overallSize"
        ],
        [
          "0.271428571429 * overallSize",
          "1.028571428571 * overallSize"
        ],
        [
          "0.257142857143 * overallSize",
          "1.014285714286 * overallSize"
        ],
        [
          "0.242857142857 * overallSize",
          "1.014285714286 * overallSize"
        ],
        [
          "0.228571428571 * overallSize",
          "overallSize"
        ],
        [
          "0.214285714286 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.514285714286 * overallSize",
          "0.585714285714 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.557142857143 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.471428571429 * overallSize"
        ],
        [
          "0.514285714286 * overallSize",
          "0.442857142857 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.385714285714 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.371428571429 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.371428571429 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.385714285714 * overallSize"
        ],
        [
          "0.671428571429 * overallSize",
          "0.414285714286 * overallSize"
        ],
        [
          "0.671428571429 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "0.685714285714 * overallSize",
          "0.442857142857 * overallSize"
        ],
        [
          "0.685714285714 * overallSize",
          "0.457142857143 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.485714285714 * overallSize"
        ],
        [
          "0.728571428571 * overallSize",
          "0.485714285714 * overallSize"
        ],
        [
          "0.742857142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.757142857143 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.771428571429 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.771428571429 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.757142857143 * overallSize",
          "0.528571428571 * overallSize"
        ],
        [
          "0.742857142857 * overallSize",
          "0.528571428571 * overallSize"
        ],
        [
          "0.728571428571 * overallSize",
          "0.542857142857 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.542857142857 * overallSize"
        ],
        [
          "0.685714285714 * overallSize",
          "0.571428571429 * overallSize"
        ],
        [
          "0.685714285714 * overallSize",
          "0.585714285714 * overallSize"
        ],
        [
          "0.671428571429 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.671428571429 * overallSize",
          "0.614285714286 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.642857142857 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.657142857143 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.657142857143 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.642857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.685714285714 * overallSize",
          "0.457142857143 * overallSize"
        ],
        [
          "0.685714285714 * overallSize",
          "0.442857142857 * overallSize"
        ],
        [
          "0.671428571429 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "0.671428571429 * overallSize",
          "0.414285714286 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.385714285714 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "0.757142857143 * overallSize",
          "0.128571428571 * overallSize"
        ],
        [
          "0.785714285714 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.814285714286 * overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "0.828571428571 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.042857142857 * overallSize"
        ],
        [
          "1.014285714286 * overallSize",
          "0.071428571429 * overallSize"
        ],
        [
          "1.071428571429 * overallSize",
          "0.128571428571 * overallSize"
        ],
        [
          "1.1 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "1.157142857143 * overallSize",
          "0.142857142857 * overallSize"
        ],
        [
          "1.157142857143 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "1.142857142857 * overallSize",
          "0.442857142857 * overallSize"
        ],
        [
          "1.142857142857 * overallSize",
          "0.457142857143 * overallSize"
        ],
        [
          "1.114285714286 * overallSize",
          "0.485714285714 * overallSize"
        ],
        [
          "1.1 * overallSize",
          "0.485714285714 * overallSize"
        ],
        [
          "1.085714285714 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.071428571429 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.057142857143 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.771428571429 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "0.757142857143 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.742857142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.728571428571 * overallSize",
          "0.485714285714 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.485714285714 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.657142857143 * overallSize",
          "0.642857142857 * overallSize"
        ],
        [
          "0.671428571429 * overallSize",
          "0.614285714286 * overallSize"
        ],
        [
          "0.671428571429 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.685714285714 * overallSize",
          "0.585714285714 * overallSize"
        ],
        [
          "0.685714285714 * overallSize",
          "0.571428571429 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.542857142857 * overallSize"
        ],
        [
          "0.728571428571 * overallSize",
          "0.542857142857 * overallSize"
        ],
        [
          "0.742857142857 * overallSize",
          "0.528571428571 * overallSize"
        ],
        [
          "0.757142857143 * overallSize",
          "0.528571428571 * overallSize"
        ],
        [
          "0.771428571429 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "1.057142857143 * overallSize",
          "0.514285714286 * overallSize"
        ],
        [
          "1.071428571429 * overallSize",
          "0.528571428571 * overallSize"
        ],
        [
          "1.085714285714 * overallSize",
          "0.528571428571 * overallSize"
        ],
        [
          "1.1 * overallSize",
          "0.542857142857 * overallSize"
        ],
        [
          "1.114285714286 * overallSize",
          "0.542857142857 * overallSize"
        ],
        [
          "1.142857142857 * overallSize",
          "0.571428571429 * overallSize"
        ],
        [
          "1.142857142857 * overallSize",
          "0.585714285714 * overallSize"
        ],
        [
          "1.157142857143 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "1.157142857143 * overallSize",
          "0.885714285714 * overallSize"
        ],
        [
          "1.1 * overallSize",
          "0.885714285714 * overallSize"
        ],
        [
          "1.071428571429 * overallSize",
          "0.9 * overallSize"
        ],
        [
          "1.014285714286 * overallSize",
          "0.957142857143 * overallSize"
        ],
        [
          "overallSize",
          "0.985714285714 * overallSize"
        ],
        [
          "overallSize",
          "1.028571428571 * overallSize"
        ],
        [
          "0.828571428571 * overallSize",
          "1.028571428571 * overallSize"
        ],
        [
          "0.814285714286 * overallSize",
          "0.985714285714 * overallSize"
        ],
        [
          "0.785714285714 * overallSize",
          "0.928571428571 * overallSize"
        ],
        [
          "0.757142857143 * overallSize",
          "0.9 * overallSize"
        ],
        [
          "0.714285714286 * overallSize",
          "0.885714285714 * overallSize"
        ],
        [
          "0.657142857143 * overallSize",
          "0.885714285714 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "1.028571428571 * overallSize"
    ]
  }
}
,"rounded-tee-tile":{
  "schema": 1,
  "id": "rounded-tee-tile",
  "name": "Rounded tee tile",
  "category": "stone",
  "coverage": "partial",
  "parameters": {
    "moduleSize": {
      "value": 85,
      "min": 15,
      "max": 600,
      "label": "Module side"
    },
    "radius": {
      "expr": "moduleSize / 3"
    },
    "bar": {
      "expr": "4 * moduleSize"
    },
    "stemLeft": {
      "expr": "moduleSize"
    },
    "stemRight": {
      "expr": "3 * moduleSize"
    },
    "stemTop": {
      "expr": "2 * moduleSize"
    },
    "centreHeight": {
      "expr": "1.5 * moduleSize"
    }
  },
  "tiles": [
    {
      "start": [
        "radius",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "bar - radius",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "bar - radius",
              "radius"
            ],
            "from": [
              "bar - radius",
              "0"
            ],
            "to": [
              "bar",
              "radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "bar",
              "moduleSize - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "bar - radius",
              "moduleSize - radius"
            ],
            "from": [
              "bar",
              "moduleSize - radius"
            ],
            "to": [
              "bar - radius",
              "moduleSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "stemRight + radius",
              "moduleSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "stemRight + radius",
              "moduleSize + radius"
            ],
            "from": [
              "stemRight + radius",
              "moduleSize"
            ],
            "to": [
              "stemRight",
              "moduleSize + radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "stemRight",
              "stemTop - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "stemRight - radius",
              "stemTop - radius"
            ],
            "from": [
              "stemRight",
              "stemTop - radius"
            ],
            "to": [
              "stemRight - radius",
              "stemTop"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "stemLeft + radius",
              "stemTop"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "stemLeft + radius",
              "stemTop - radius"
            ],
            "from": [
              "stemLeft + radius",
              "stemTop"
            ],
            "to": [
              "stemLeft",
              "stemTop - radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "stemLeft",
              "moduleSize + radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "stemLeft - radius",
              "moduleSize + radius"
            ],
            "from": [
              "stemLeft",
              "moduleSize + radius"
            ],
            "to": [
              "stemLeft - radius",
              "moduleSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "radius",
              "moduleSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "radius",
              "moduleSize - radius"
            ],
            "from": [
              "radius",
              "moduleSize"
            ],
            "to": [
              "0",
              "moduleSize - radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "radius",
              "radius"
            ],
            "from": [
              "0",
              "radius"
            ],
            "to": [
              "radius",
              "0"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "transform": [
        {
          "rotate": {
            "angle": "180",
            "center": [
              "moduleSize",
              "centreHeight"
            ]
          }
        }
      ],
      "start": [
        "radius",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "bar - radius",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "bar - radius",
              "radius"
            ],
            "from": [
              "bar - radius",
              "0"
            ],
            "to": [
              "bar",
              "radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "bar",
              "moduleSize - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "bar - radius",
              "moduleSize - radius"
            ],
            "from": [
              "bar",
              "moduleSize - radius"
            ],
            "to": [
              "bar - radius",
              "moduleSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "stemRight + radius",
              "moduleSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "stemRight + radius",
              "moduleSize + radius"
            ],
            "from": [
              "stemRight + radius",
              "moduleSize"
            ],
            "to": [
              "stemRight",
              "moduleSize + radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "stemRight",
              "stemTop - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "stemRight - radius",
              "stemTop - radius"
            ],
            "from": [
              "stemRight",
              "stemTop - radius"
            ],
            "to": [
              "stemRight - radius",
              "stemTop"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "stemLeft + radius",
              "stemTop"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "stemLeft + radius",
              "stemTop - radius"
            ],
            "from": [
              "stemLeft + radius",
              "stemTop"
            ],
            "to": [
              "stemLeft",
              "stemTop - radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "stemLeft",
              "moduleSize + radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "stemLeft - radius",
              "moduleSize + radius"
            ],
            "from": [
              "stemLeft",
              "moduleSize + radius"
            ],
            "to": [
              "stemLeft - radius",
              "moduleSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "radius",
              "moduleSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "radius",
              "moduleSize - radius"
            ],
            "from": [
              "radius",
              "moduleSize"
            ],
            "to": [
              "0",
              "moduleSize - radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "radius",
              "radius"
            ],
            "from": [
              "0",
              "radius"
            ],
            "to": [
              "radius",
              "0"
            ],
            "clockwise": false
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "bar",
      "0"
    ],
    "b": [
      "2 * moduleSize",
      "3 * moduleSize"
    ]
  }
},"rounded-tongue-plank":{
  "schema": 1,
  "id": "rounded-tongue-plank",
  "name": "Rounded tongue plank",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 200, "min": 40, "max": 800, "label": "Plank width" },
    "length": { "value": 700, "min": 120, "max": 2400, "label": "Plank length" },
    "radius": { "expr": "width / 2" }
  },
  "tiles": [
    {
      "start": ["0", "0"],
      "path": [
        { "arc": { "center": ["radius", "0"], "from": ["0", "0"], "to": ["width", "0"], "clockwise": false } },
        { "line": { "to": ["width", "length"] } },
        { "arc": { "center": ["radius", "length"], "from": ["width", "length"], "to": ["0", "length"], "clockwise": true } },
        { "line": { "to": ["0", "0"] } }
      ]
    },
    {
      "start": ["width", "-radius"],
      "path": [
        { "arc": { "center": ["width + radius", "-radius"], "from": ["width", "-radius"], "to": ["2 * width", "-radius"], "clockwise": true } },
        { "line": { "to": ["2 * width", "length - radius"] } },
        { "arc": { "center": ["width + radius", "length - radius"], "from": ["2 * width", "length - radius"], "to": ["width", "length - radius"], "clockwise": false } },
        { "line": { "to": ["width", "-radius"] } }
      ]
    }
  ],
  "lattice": { "a": ["2 * width", "0"], "b": ["0", "length"] }
}
,"rubble-wall":{
  "schema": 1,
  "id": "rubble-wall",
  "name": "Rubble wall",
  "category": "stone",
  "parameters": {
    "stoneSize": { "value": 150, "min": 68, "max": 400, "label": "Mean stone height" }
  },
  "generator": {
    "periodicVoronoi": {
      "width": "44 * stoneSize",
      "height": "20 * stoneSize",
      "stoneSize": "stoneSize",
      "stretch": "2.2",
      "separation": "0.5",
      "relaxation": "2",
      "seed": "seed"
    }
  }
}
,"running-bond":{
  "schema": 1,
  "id": "running-bond",
  "name": "Running bond",
  "category": "ceramic",
  "parameters": {
    "length": { "value": 600, "min": 10, "max": 3000, "label": "Length" },
    "width": { "value": 300, "min": 10, "max": 3000, "label": "Width" },
    "offset": { "value": 0.5, "min": 0, "max": 1, "label": "Row offset (fraction of length)", "unit": "none" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["offset * length", "width"] }
}
,"saft":{
  "schema": 1,
  "id": "saft",
  "name": "Saft",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 40, "min": 10, "max": 200, "label": "Short edge" },
    "straightRatio": { "expr": "1" },
    "legOffset": { "expr": "edge / sqrt(2)" },
    "tileSpan": { "expr": "(straightRatio + sqrt(2)) * edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["legOffset", "legOffset"],
        ["0", "2 * legOffset"],
        ["tileSpan", "2 * legOffset"],
        ["tileSpan - legOffset", "legOffset"],
        ["tileSpan", "0"]
      ]
    }
  ],
  "lattice": {
    "a": ["0", "2 * legOffset"],
    "b": ["tileSpan - legOffset", "legOffset"]
  }
}
,"scallop-split-column":{
  "schema": 1,
  "id": "scallop-split-column",
  "name": "Scallop split column",
  "category": "ceramic",
  "parameters": {
    "radius": { "value": 85, "min": 10, "max": 600, "label": "Scallop radius" },
    "column": { "expr": "2 * radius" },
    "cellHeight": { "expr": "3.7 * radius" },
    "cupLevel": { "expr": "2.1 * radius" },
    "cupLow": { "expr": "1.1 * radius" },
    "domeLevel": { "expr": "1.6 * radius" },
    "domeHigh": { "expr": "2.6 * radius" }
  },
  "tiles": [
    { "start": ["0", "cupLevel"], "path": [
      { "arc": { "center": ["radius", "cupLevel"], "from": ["0", "cupLevel"], "to": ["column", "cupLevel"], "clockwise": false } },
      { "line": { "to": ["column", "cellHeight"] } },
      { "line": { "to": ["0", "cellHeight"] } },
      { "line": { "to": ["0", "cupLevel"] } } ] },

    { "start": ["0", "0"], "path": [
      { "line": { "to": ["radius", "0"] } },
      { "line": { "to": ["radius", "cupLow"] } },
      { "arc": { "center": ["radius", "cupLevel"], "from": ["radius", "cupLow"], "to": ["0", "cupLevel"], "clockwise": true } },
      { "line": { "to": ["0", "0"] } } ] },

    { "start": ["radius", "0"], "path": [
      { "line": { "to": ["column", "0"] } },
      { "line": { "to": ["column", "cupLevel"] } },
      { "arc": { "center": ["radius", "cupLevel"], "from": ["column", "cupLevel"], "to": ["radius", "cupLow"], "clockwise": true } },
      { "line": { "to": ["radius", "0"] } } ] },

    { "start": ["column", "0"], "path": [
      { "line": { "to": ["2 * column", "0"] } },
      { "line": { "to": ["2 * column", "domeLevel"] } },
      { "arc": { "center": ["3 * radius", "domeLevel"], "from": ["2 * column", "domeLevel"], "to": ["column", "domeLevel"], "clockwise": false } },
      { "line": { "to": ["column", "0"] } } ] },

    { "start": ["column", "domeLevel"], "path": [
      { "arc": { "center": ["3 * radius", "domeLevel"], "from": ["column", "domeLevel"], "to": ["3 * radius", "domeHigh"], "clockwise": true } },
      { "line": { "to": ["3 * radius", "cellHeight"] } },
      { "line": { "to": ["column", "cellHeight"] } },
      { "line": { "to": ["column", "domeLevel"] } } ] },

    { "start": ["3 * radius", "domeHigh"], "path": [
      { "arc": { "center": ["3 * radius", "domeLevel"], "from": ["3 * radius", "domeHigh"], "to": ["2 * column", "domeLevel"], "clockwise": true } },
      { "line": { "to": ["2 * column", "cellHeight"] } },
      { "line": { "to": ["3 * radius", "cellHeight"] } },
      { "line": { "to": ["3 * radius", "domeHigh"] } } ] }
  ],
  "lattice": { "a": ["2 * column", "0"], "b": ["0", "cellHeight"] }
}
,"scalloped-medallion-tile":{
  "schema": 1,
  "id": "scalloped-medallion-tile",
  "name": "Scalloped medallion tile",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.491379310345 * overallSize"
        ],
        [
          "0.008620689655 * overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "0.008620689655 * overallSize",
          "0.474137931034 * overallSize"
        ],
        [
          "0.01724137931 * overallSize",
          "0.474137931034 * overallSize"
        ],
        [
          "0.01724137931 * overallSize",
          "0.465517241379 * overallSize"
        ],
        [
          "0.025862068966 * overallSize",
          "0.465517241379 * overallSize"
        ],
        [
          "0.034482758621 * overallSize",
          "0.456896551724 * overallSize"
        ],
        [
          "0.086206896552 * overallSize",
          "0.456896551724 * overallSize"
        ],
        [
          "0.103448275862 * overallSize",
          "0.448275862069 * overallSize"
        ],
        [
          "0.129310344828 * overallSize",
          "0.422413793103 * overallSize"
        ],
        [
          "0.137931034483 * overallSize",
          "0.405172413793 * overallSize"
        ],
        [
          "0.146551724138 * overallSize",
          "0.396551724138 * overallSize"
        ],
        [
          "0.146551724138 * overallSize",
          "0.327586206897 * overallSize"
        ],
        [
          "0.155172413793 * overallSize",
          "0.327586206897 * overallSize"
        ],
        [
          "0.155172413793 * overallSize",
          "0.318965517241 * overallSize"
        ],
        [
          "0.163793103448 * overallSize",
          "0.318965517241 * overallSize"
        ],
        [
          "0.163793103448 * overallSize",
          "0.310344827586 * overallSize"
        ],
        [
          "0.23275862069 * overallSize",
          "0.310344827586 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.301724137931 * overallSize"
        ],
        [
          "0.275862068966 * overallSize",
          "0.275862068966 * overallSize"
        ],
        [
          "0.284482758621 * overallSize",
          "0.258620689655 * overallSize"
        ],
        [
          "0.293103448276 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.293103448276 * overallSize",
          "0.181034482759 * overallSize"
        ],
        [
          "0.301724137931 * overallSize",
          "0.181034482759 * overallSize"
        ],
        [
          "0.301724137931 * overallSize",
          "0.172413793103 * overallSize"
        ],
        [
          "0.310344827586 * overallSize",
          "0.172413793103 * overallSize"
        ],
        [
          "0.310344827586 * overallSize",
          "0.163793103448 * overallSize"
        ],
        [
          "0.379310344828 * overallSize",
          "0.163793103448 * overallSize"
        ],
        [
          "0.396551724138 * overallSize",
          "0.155172413793 * overallSize"
        ],
        [
          "0.422413793103 * overallSize",
          "0.129310344828 * overallSize"
        ],
        [
          "0.431034482759 * overallSize",
          "0.112068965517 * overallSize"
        ],
        [
          "0.439655172414 * overallSize",
          "0.103448275862 * overallSize"
        ],
        [
          "0.439655172414 * overallSize",
          "0.043103448276 * overallSize"
        ],
        [
          "0.448275862069 * overallSize",
          "0.034482758621 * overallSize"
        ],
        [
          "0.448275862069 * overallSize",
          "0.025862068966 * overallSize"
        ],
        [
          "0.456896551724 * overallSize",
          "0.01724137931 * overallSize"
        ],
        [
          "0.465517241379 * overallSize",
          "0.01724137931 * overallSize"
        ],
        [
          "0.465517241379 * overallSize",
          "0.008620689655 * overallSize"
        ],
        [
          "0.474137931034 * overallSize",
          "0.008620689655 * overallSize"
        ],
        [
          "0.48275862069 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.48275862069 * overallSize",
          "0"
        ],
        [
          "0.474137931034 * overallSize",
          "0.008620689655 * overallSize"
        ],
        [
          "0.465517241379 * overallSize",
          "0.008620689655 * overallSize"
        ],
        [
          "0.465517241379 * overallSize",
          "0.01724137931 * overallSize"
        ],
        [
          "0.456896551724 * overallSize",
          "0.01724137931 * overallSize"
        ],
        [
          "0.448275862069 * overallSize",
          "0.025862068966 * overallSize"
        ],
        [
          "0.448275862069 * overallSize",
          "0.034482758621 * overallSize"
        ],
        [
          "0.439655172414 * overallSize",
          "0.043103448276 * overallSize"
        ],
        [
          "0.439655172414 * overallSize",
          "0.103448275862 * overallSize"
        ],
        [
          "0.431034482759 * overallSize",
          "0.112068965517 * overallSize"
        ],
        [
          "0.422413793103 * overallSize",
          "0.129310344828 * overallSize"
        ],
        [
          "0.396551724138 * overallSize",
          "0.155172413793 * overallSize"
        ],
        [
          "0.379310344828 * overallSize",
          "0.163793103448 * overallSize"
        ],
        [
          "0.310344827586 * overallSize",
          "0.163793103448 * overallSize"
        ],
        [
          "0.310344827586 * overallSize",
          "0.172413793103 * overallSize"
        ],
        [
          "0.301724137931 * overallSize",
          "0.172413793103 * overallSize"
        ],
        [
          "0.301724137931 * overallSize",
          "0.181034482759 * overallSize"
        ],
        [
          "0.293103448276 * overallSize",
          "0.181034482759 * overallSize"
        ],
        [
          "0.293103448276 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.284482758621 * overallSize",
          "0.258620689655 * overallSize"
        ],
        [
          "0.275862068966 * overallSize",
          "0.275862068966 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.301724137931 * overallSize"
        ],
        [
          "0.23275862069 * overallSize",
          "0.310344827586 * overallSize"
        ],
        [
          "0.163793103448 * overallSize",
          "0.310344827586 * overallSize"
        ],
        [
          "0.163793103448 * overallSize",
          "0.318965517241 * overallSize"
        ],
        [
          "0.155172413793 * overallSize",
          "0.318965517241 * overallSize"
        ],
        [
          "0.155172413793 * overallSize",
          "0.327586206897 * overallSize"
        ],
        [
          "0.146551724138 * overallSize",
          "0.327586206897 * overallSize"
        ],
        [
          "0.146551724138 * overallSize",
          "0.396551724138 * overallSize"
        ],
        [
          "0.137931034483 * overallSize",
          "0.405172413793 * overallSize"
        ],
        [
          "0.129310344828 * overallSize",
          "0.422413793103 * overallSize"
        ],
        [
          "0.103448275862 * overallSize",
          "0.448275862069 * overallSize"
        ],
        [
          "0.086206896552 * overallSize",
          "0.456896551724 * overallSize"
        ],
        [
          "0.034482758621 * overallSize",
          "0.456896551724 * overallSize"
        ],
        [
          "0.025862068966 * overallSize",
          "0.465517241379 * overallSize"
        ],
        [
          "0.01724137931 * overallSize",
          "0.465517241379 * overallSize"
        ],
        [
          "0.01724137931 * overallSize",
          "0.474137931034 * overallSize"
        ],
        [
          "0.008620689655 * overallSize",
          "0.474137931034 * overallSize"
        ],
        [
          "0.008620689655 * overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "0",
          "0.491379310345 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.98275862069 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.974137931034 * overallSize",
          "0.508620689655 * overallSize"
        ],
        [
          "0.965517241379 * overallSize",
          "0.508620689655 * overallSize"
        ],
        [
          "0.965517241379 * overallSize",
          "0.51724137931 * overallSize"
        ],
        [
          "0.956896551724 * overallSize",
          "0.51724137931 * overallSize"
        ],
        [
          "0.948275862069 * overallSize",
          "0.525862068966 * overallSize"
        ],
        [
          "0.948275862069 * overallSize",
          "0.534482758621 * overallSize"
        ],
        [
          "0.939655172414 * overallSize",
          "0.543103448276 * overallSize"
        ],
        [
          "0.939655172414 * overallSize",
          "0.603448275862 * overallSize"
        ],
        [
          "0.931034482759 * overallSize",
          "0.612068965517 * overallSize"
        ],
        [
          "0.922413793103 * overallSize",
          "0.629310344828 * overallSize"
        ],
        [
          "0.896551724138 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.879310344828 * overallSize",
          "0.663793103448 * overallSize"
        ],
        [
          "0.810344827586 * overallSize",
          "0.663793103448 * overallSize"
        ],
        [
          "0.810344827586 * overallSize",
          "0.672413793103 * overallSize"
        ],
        [
          "0.801724137931 * overallSize",
          "0.672413793103 * overallSize"
        ],
        [
          "0.801724137931 * overallSize",
          "0.681034482759 * overallSize"
        ],
        [
          "0.793103448276 * overallSize",
          "0.681034482759 * overallSize"
        ],
        [
          "0.793103448276 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.784482758621 * overallSize",
          "0.758620689655 * overallSize"
        ],
        [
          "0.775862068966 * overallSize",
          "0.775862068966 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.801724137931 * overallSize"
        ],
        [
          "0.73275862069 * overallSize",
          "0.810344827586 * overallSize"
        ],
        [
          "0.663793103448 * overallSize",
          "0.810344827586 * overallSize"
        ],
        [
          "0.663793103448 * overallSize",
          "0.818965517241 * overallSize"
        ],
        [
          "0.655172413793 * overallSize",
          "0.818965517241 * overallSize"
        ],
        [
          "0.655172413793 * overallSize",
          "0.827586206897 * overallSize"
        ],
        [
          "0.646551724138 * overallSize",
          "0.827586206897 * overallSize"
        ],
        [
          "0.646551724138 * overallSize",
          "0.896551724138 * overallSize"
        ],
        [
          "0.637931034483 * overallSize",
          "0.905172413793 * overallSize"
        ],
        [
          "0.629310344828 * overallSize",
          "0.922413793103 * overallSize"
        ],
        [
          "0.603448275862 * overallSize",
          "0.948275862069 * overallSize"
        ],
        [
          "0.586206896552 * overallSize",
          "0.956896551724 * overallSize"
        ],
        [
          "0.534482758621 * overallSize",
          "0.956896551724 * overallSize"
        ],
        [
          "0.525862068966 * overallSize",
          "0.965517241379 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "0.965517241379 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "0.974137931034 * overallSize"
        ],
        [
          "0.508620689655 * overallSize",
          "0.974137931034 * overallSize"
        ],
        [
          "0.508620689655 * overallSize",
          "0.98275862069 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.991379310345 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.98275862069 * overallSize"
        ],
        [
          "0.491379310345 * overallSize",
          "0.974137931034 * overallSize"
        ],
        [
          "0.491379310345 * overallSize",
          "0.965517241379 * overallSize"
        ],
        [
          "0.48275862069 * overallSize",
          "0.965517241379 * overallSize"
        ],
        [
          "0.48275862069 * overallSize",
          "0.956896551724 * overallSize"
        ],
        [
          "0.474137931034 * overallSize",
          "0.948275862069 * overallSize"
        ],
        [
          "0.465517241379 * overallSize",
          "0.948275862069 * overallSize"
        ],
        [
          "0.456896551724 * overallSize",
          "0.939655172414 * overallSize"
        ],
        [
          "0.396551724138 * overallSize",
          "0.939655172414 * overallSize"
        ],
        [
          "0.387931034483 * overallSize",
          "0.931034482759 * overallSize"
        ],
        [
          "0.370689655172 * overallSize",
          "0.922413793103 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.896551724138 * overallSize"
        ],
        [
          "0.336206896552 * overallSize",
          "0.879310344828 * overallSize"
        ],
        [
          "0.336206896552 * overallSize",
          "0.810344827586 * overallSize"
        ],
        [
          "0.327586206897 * overallSize",
          "0.810344827586 * overallSize"
        ],
        [
          "0.327586206897 * overallSize",
          "0.801724137931 * overallSize"
        ],
        [
          "0.318965517241 * overallSize",
          "0.801724137931 * overallSize"
        ],
        [
          "0.318965517241 * overallSize",
          "0.793103448276 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.793103448276 * overallSize"
        ],
        [
          "0.241379310345 * overallSize",
          "0.784482758621 * overallSize"
        ],
        [
          "0.224137931034 * overallSize",
          "0.775862068966 * overallSize"
        ],
        [
          "0.198275862069 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.189655172414 * overallSize",
          "0.73275862069 * overallSize"
        ],
        [
          "0.189655172414 * overallSize",
          "0.663793103448 * overallSize"
        ],
        [
          "0.181034482759 * overallSize",
          "0.663793103448 * overallSize"
        ],
        [
          "0.181034482759 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0.646551724138 * overallSize"
        ],
        [
          "0.103448275862 * overallSize",
          "0.646551724138 * overallSize"
        ],
        [
          "0.094827586207 * overallSize",
          "0.637931034483 * overallSize"
        ],
        [
          "0.077586206897 * overallSize",
          "0.629310344828 * overallSize"
        ],
        [
          "0.051724137931 * overallSize",
          "0.603448275862 * overallSize"
        ],
        [
          "0.043103448276 * overallSize",
          "0.586206896552 * overallSize"
        ],
        [
          "0.043103448276 * overallSize",
          "0.534482758621 * overallSize"
        ],
        [
          "0.034482758621 * overallSize",
          "0.525862068966 * overallSize"
        ],
        [
          "0.034482758621 * overallSize",
          "0.51724137931 * overallSize"
        ],
        [
          "0.025862068966 * overallSize",
          "0.51724137931 * overallSize"
        ],
        [
          "0.025862068966 * overallSize",
          "0.508620689655 * overallSize"
        ],
        [
          "0.01724137931 * overallSize",
          "0.508620689655 * overallSize"
        ],
        [
          "0.008620689655 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.991379310345 * overallSize"
        ],
        [
          "0.508620689655 * overallSize",
          "0.98275862069 * overallSize"
        ],
        [
          "0.508620689655 * overallSize",
          "0.974137931034 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "0.974137931034 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "0.965517241379 * overallSize"
        ],
        [
          "0.525862068966 * overallSize",
          "0.965517241379 * overallSize"
        ],
        [
          "0.534482758621 * overallSize",
          "0.956896551724 * overallSize"
        ],
        [
          "0.586206896552 * overallSize",
          "0.956896551724 * overallSize"
        ],
        [
          "0.603448275862 * overallSize",
          "0.948275862069 * overallSize"
        ],
        [
          "0.629310344828 * overallSize",
          "0.922413793103 * overallSize"
        ],
        [
          "0.637931034483 * overallSize",
          "0.905172413793 * overallSize"
        ],
        [
          "0.646551724138 * overallSize",
          "0.896551724138 * overallSize"
        ],
        [
          "0.646551724138 * overallSize",
          "0.827586206897 * overallSize"
        ],
        [
          "0.655172413793 * overallSize",
          "0.827586206897 * overallSize"
        ],
        [
          "0.655172413793 * overallSize",
          "0.818965517241 * overallSize"
        ],
        [
          "0.663793103448 * overallSize",
          "0.818965517241 * overallSize"
        ],
        [
          "0.663793103448 * overallSize",
          "0.810344827586 * overallSize"
        ],
        [
          "0.73275862069 * overallSize",
          "0.810344827586 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.801724137931 * overallSize"
        ],
        [
          "0.775862068966 * overallSize",
          "0.775862068966 * overallSize"
        ],
        [
          "0.784482758621 * overallSize",
          "0.758620689655 * overallSize"
        ],
        [
          "0.793103448276 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.793103448276 * overallSize",
          "0.681034482759 * overallSize"
        ],
        [
          "0.801724137931 * overallSize",
          "0.681034482759 * overallSize"
        ],
        [
          "0.801724137931 * overallSize",
          "0.672413793103 * overallSize"
        ],
        [
          "0.810344827586 * overallSize",
          "0.672413793103 * overallSize"
        ],
        [
          "0.810344827586 * overallSize",
          "0.663793103448 * overallSize"
        ],
        [
          "0.879310344828 * overallSize",
          "0.663793103448 * overallSize"
        ],
        [
          "0.896551724138 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.922413793103 * overallSize",
          "0.629310344828 * overallSize"
        ],
        [
          "0.931034482759 * overallSize",
          "0.612068965517 * overallSize"
        ],
        [
          "0.939655172414 * overallSize",
          "0.603448275862 * overallSize"
        ],
        [
          "0.939655172414 * overallSize",
          "0.543103448276 * overallSize"
        ],
        [
          "0.948275862069 * overallSize",
          "0.534482758621 * overallSize"
        ],
        [
          "0.948275862069 * overallSize",
          "0.525862068966 * overallSize"
        ],
        [
          "0.956896551724 * overallSize",
          "0.51724137931 * overallSize"
        ],
        [
          "0.965517241379 * overallSize",
          "0.51724137931 * overallSize"
        ],
        [
          "0.965517241379 * overallSize",
          "0.508620689655 * overallSize"
        ],
        [
          "0.974137931034 * overallSize",
          "0.508620689655 * overallSize"
        ],
        [
          "0.98275862069 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.008620689655 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.01724137931 * overallSize",
          "0.508620689655 * overallSize"
        ],
        [
          "0.025862068966 * overallSize",
          "0.508620689655 * overallSize"
        ],
        [
          "0.025862068966 * overallSize",
          "0.51724137931 * overallSize"
        ],
        [
          "0.034482758621 * overallSize",
          "0.51724137931 * overallSize"
        ],
        [
          "0.034482758621 * overallSize",
          "0.525862068966 * overallSize"
        ],
        [
          "0.043103448276 * overallSize",
          "0.534482758621 * overallSize"
        ],
        [
          "0.043103448276 * overallSize",
          "0.586206896552 * overallSize"
        ],
        [
          "0.051724137931 * overallSize",
          "0.603448275862 * overallSize"
        ],
        [
          "0.077586206897 * overallSize",
          "0.629310344828 * overallSize"
        ],
        [
          "0.094827586207 * overallSize",
          "0.637931034483 * overallSize"
        ],
        [
          "0.103448275862 * overallSize",
          "0.646551724138 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0.646551724138 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.181034482759 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.181034482759 * overallSize",
          "0.663793103448 * overallSize"
        ],
        [
          "0.189655172414 * overallSize",
          "0.663793103448 * overallSize"
        ],
        [
          "0.189655172414 * overallSize",
          "0.73275862069 * overallSize"
        ],
        [
          "0.198275862069 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.224137931034 * overallSize",
          "0.775862068966 * overallSize"
        ],
        [
          "0.241379310345 * overallSize",
          "0.784482758621 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.793103448276 * overallSize"
        ],
        [
          "0.318965517241 * overallSize",
          "0.793103448276 * overallSize"
        ],
        [
          "0.318965517241 * overallSize",
          "0.801724137931 * overallSize"
        ],
        [
          "0.327586206897 * overallSize",
          "0.801724137931 * overallSize"
        ],
        [
          "0.327586206897 * overallSize",
          "0.810344827586 * overallSize"
        ],
        [
          "0.336206896552 * overallSize",
          "0.810344827586 * overallSize"
        ],
        [
          "0.336206896552 * overallSize",
          "0.879310344828 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.896551724138 * overallSize"
        ],
        [
          "0.370689655172 * overallSize",
          "0.922413793103 * overallSize"
        ],
        [
          "0.387931034483 * overallSize",
          "0.931034482759 * overallSize"
        ],
        [
          "0.396551724138 * overallSize",
          "0.939655172414 * overallSize"
        ],
        [
          "0.456896551724 * overallSize",
          "0.939655172414 * overallSize"
        ],
        [
          "0.465517241379 * overallSize",
          "0.948275862069 * overallSize"
        ],
        [
          "0.474137931034 * overallSize",
          "0.948275862069 * overallSize"
        ],
        [
          "0.48275862069 * overallSize",
          "0.956896551724 * overallSize"
        ],
        [
          "0.48275862069 * overallSize",
          "0.965517241379 * overallSize"
        ],
        [
          "0.491379310345 * overallSize",
          "0.965517241379 * overallSize"
        ],
        [
          "0.491379310345 * overallSize",
          "0.974137931034 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.98275862069 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.508620689655 * overallSize",
          "0"
        ],
        [
          "0.51724137931 * overallSize",
          "0.008620689655 * overallSize"
        ],
        [
          "0.525862068966 * overallSize",
          "0.008620689655 * overallSize"
        ],
        [
          "0.525862068966 * overallSize",
          "0.01724137931 * overallSize"
        ],
        [
          "0.534482758621 * overallSize",
          "0.01724137931 * overallSize"
        ],
        [
          "0.534482758621 * overallSize",
          "0.025862068966 * overallSize"
        ],
        [
          "0.543103448276 * overallSize",
          "0.034482758621 * overallSize"
        ],
        [
          "0.543103448276 * overallSize",
          "0.086206896552 * overallSize"
        ],
        [
          "0.551724137931 * overallSize",
          "0.103448275862 * overallSize"
        ],
        [
          "0.577586206897 * overallSize",
          "0.129310344828 * overallSize"
        ],
        [
          "0.594827586207 * overallSize",
          "0.137931034483 * overallSize"
        ],
        [
          "0.603448275862 * overallSize",
          "0.146551724138 * overallSize"
        ],
        [
          "0.672413793103 * overallSize",
          "0.146551724138 * overallSize"
        ],
        [
          "0.672413793103 * overallSize",
          "0.155172413793 * overallSize"
        ],
        [
          "0.681034482759 * overallSize",
          "0.155172413793 * overallSize"
        ],
        [
          "0.681034482759 * overallSize",
          "0.163793103448 * overallSize"
        ],
        [
          "0.689655172414 * overallSize",
          "0.163793103448 * overallSize"
        ],
        [
          "0.689655172414 * overallSize",
          "0.23275862069 * overallSize"
        ],
        [
          "0.698275862069 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.724137931034 * overallSize",
          "0.275862068966 * overallSize"
        ],
        [
          "0.741379310345 * overallSize",
          "0.284482758621 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.293103448276 * overallSize"
        ],
        [
          "0.818965517241 * overallSize",
          "0.293103448276 * overallSize"
        ],
        [
          "0.818965517241 * overallSize",
          "0.301724137931 * overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "0.301724137931 * overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "0.310344827586 * overallSize"
        ],
        [
          "0.836206896552 * overallSize",
          "0.310344827586 * overallSize"
        ],
        [
          "0.836206896552 * overallSize",
          "0.379310344828 * overallSize"
        ],
        [
          "0.844827586207 * overallSize",
          "0.396551724138 * overallSize"
        ],
        [
          "0.870689655172 * overallSize",
          "0.422413793103 * overallSize"
        ],
        [
          "0.887931034483 * overallSize",
          "0.431034482759 * overallSize"
        ],
        [
          "0.896551724138 * overallSize",
          "0.439655172414 * overallSize"
        ],
        [
          "0.956896551724 * overallSize",
          "0.439655172414 * overallSize"
        ],
        [
          "0.965517241379 * overallSize",
          "0.448275862069 * overallSize"
        ],
        [
          "0.974137931034 * overallSize",
          "0.448275862069 * overallSize"
        ],
        [
          "0.98275862069 * overallSize",
          "0.456896551724 * overallSize"
        ],
        [
          "0.98275862069 * overallSize",
          "0.465517241379 * overallSize"
        ],
        [
          "0.991379310345 * overallSize",
          "0.465517241379 * overallSize"
        ],
        [
          "0.991379310345 * overallSize",
          "0.474137931034 * overallSize"
        ],
        [
          "overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "0.991379310345 * overallSize",
          "0.474137931034 * overallSize"
        ],
        [
          "0.991379310345 * overallSize",
          "0.465517241379 * overallSize"
        ],
        [
          "0.98275862069 * overallSize",
          "0.465517241379 * overallSize"
        ],
        [
          "0.98275862069 * overallSize",
          "0.456896551724 * overallSize"
        ],
        [
          "0.974137931034 * overallSize",
          "0.448275862069 * overallSize"
        ],
        [
          "0.965517241379 * overallSize",
          "0.448275862069 * overallSize"
        ],
        [
          "0.956896551724 * overallSize",
          "0.439655172414 * overallSize"
        ],
        [
          "0.896551724138 * overallSize",
          "0.439655172414 * overallSize"
        ],
        [
          "0.887931034483 * overallSize",
          "0.431034482759 * overallSize"
        ],
        [
          "0.870689655172 * overallSize",
          "0.422413793103 * overallSize"
        ],
        [
          "0.844827586207 * overallSize",
          "0.396551724138 * overallSize"
        ],
        [
          "0.836206896552 * overallSize",
          "0.379310344828 * overallSize"
        ],
        [
          "0.836206896552 * overallSize",
          "0.310344827586 * overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "0.310344827586 * overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "0.301724137931 * overallSize"
        ],
        [
          "0.818965517241 * overallSize",
          "0.301724137931 * overallSize"
        ],
        [
          "0.818965517241 * overallSize",
          "0.293103448276 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.293103448276 * overallSize"
        ],
        [
          "0.741379310345 * overallSize",
          "0.284482758621 * overallSize"
        ],
        [
          "0.724137931034 * overallSize",
          "0.275862068966 * overallSize"
        ],
        [
          "0.698275862069 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.689655172414 * overallSize",
          "0.23275862069 * overallSize"
        ],
        [
          "0.689655172414 * overallSize",
          "0.163793103448 * overallSize"
        ],
        [
          "0.681034482759 * overallSize",
          "0.163793103448 * overallSize"
        ],
        [
          "0.681034482759 * overallSize",
          "0.155172413793 * overallSize"
        ],
        [
          "0.672413793103 * overallSize",
          "0.155172413793 * overallSize"
        ],
        [
          "0.672413793103 * overallSize",
          "0.146551724138 * overallSize"
        ],
        [
          "0.603448275862 * overallSize",
          "0.146551724138 * overallSize"
        ],
        [
          "0.594827586207 * overallSize",
          "0.137931034483 * overallSize"
        ],
        [
          "0.577586206897 * overallSize",
          "0.129310344828 * overallSize"
        ],
        [
          "0.551724137931 * overallSize",
          "0.103448275862 * overallSize"
        ],
        [
          "0.543103448276 * overallSize",
          "0.086206896552 * overallSize"
        ],
        [
          "0.543103448276 * overallSize",
          "0.034482758621 * overallSize"
        ],
        [
          "0.534482758621 * overallSize",
          "0.025862068966 * overallSize"
        ],
        [
          "0.534482758621 * overallSize",
          "0.01724137931 * overallSize"
        ],
        [
          "0.525862068966 * overallSize",
          "0.01724137931 * overallSize"
        ],
        [
          "0.525862068966 * overallSize",
          "0.008620689655 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "0.008620689655 * overallSize"
        ],
        [
          "0.508620689655 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"scattered-split-squares":{
  "schema": 1,
  "id": "scattered-split-squares",
  "name": "Scattered split squares",
  "category": "stone",
  "parameters": {
    "edge": {
      "value": 90,
      "min": 30,
      "max": 600,
      "label": "Tile side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "4 * edge",
          "4 * edge"
        ],
        [
          "9 * edge / 2",
          "9 * edge / 2"
        ],
        [
          "4 * edge",
          "5 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * edge",
          "4 * edge"
        ],
        [
          "11 * edge / 2",
          "9 * edge / 2"
        ],
        [
          "5 * edge",
          "5 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge / 2",
          "9 * edge / 2"
        ],
        [
          "2 * edge",
          "4 * edge"
        ],
        [
          "2 * edge",
          "5 * edge"
        ]
      ]
    },
    {
      "rect": [
        "2 * edge",
        "4 * edge",
        "3 * edge",
        "5 * edge"
      ]
    },
    {
      "rect": [
        "3 * edge",
        "4 * edge",
        "4 * edge",
        "5 * edge"
      ]
    },
    {
      "polygon": [
        [
          "5 * edge",
          "4 * edge"
        ],
        [
          "9 * edge / 2",
          "9 * edge / 2"
        ],
        [
          "4 * edge",
          "4 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * edge",
          "4 * edge"
        ],
        [
          "5 * edge",
          "5 * edge"
        ],
        [
          "9 * edge / 2",
          "9 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * edge",
          "4 * edge"
        ],
        [
          "11 * edge / 2",
          "9 * edge / 2"
        ],
        [
          "5 * edge",
          "4 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * edge / 2",
          "9 * edge / 2"
        ],
        [
          "5 * edge",
          "5 * edge"
        ],
        [
          "4 * edge",
          "5 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * edge / 2",
          "9 * edge / 2"
        ],
        [
          "6 * edge",
          "5 * edge"
        ],
        [
          "5 * edge",
          "5 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * edge",
          "5 * edge"
        ],
        [
          "9 * edge / 2",
          "11 * edge / 2"
        ],
        [
          "4 * edge",
          "6 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * edge",
          "5 * edge"
        ],
        [
          "11 * edge / 2",
          "11 * edge / 2"
        ],
        [
          "5 * edge",
          "6 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "5 * edge"
        ],
        [
          "3 * edge / 2",
          "11 * edge / 2"
        ],
        [
          "edge",
          "5 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge / 2",
          "11 * edge / 2"
        ],
        [
          "2 * edge",
          "5 * edge"
        ],
        [
          "2 * edge",
          "6 * edge"
        ]
      ]
    },
    {
      "rect": [
        "2 * edge",
        "5 * edge",
        "3 * edge",
        "6 * edge"
      ]
    },
    {
      "rect": [
        "3 * edge",
        "5 * edge",
        "4 * edge",
        "6 * edge"
      ]
    },
    {
      "polygon": [
        [
          "4 * edge",
          "5 * edge"
        ],
        [
          "5 * edge",
          "5 * edge"
        ],
        [
          "9 * edge / 2",
          "11 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * edge",
          "5 * edge"
        ],
        [
          "5 * edge",
          "6 * edge"
        ],
        [
          "9 * edge / 2",
          "11 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge / 2",
          "11 * edge / 2"
        ],
        [
          "2 * edge",
          "6 * edge"
        ],
        [
          "edge",
          "6 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * edge / 2",
          "11 * edge / 2"
        ],
        [
          "5 * edge",
          "6 * edge"
        ],
        [
          "4 * edge",
          "6 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "6 * edge"
        ],
        [
          "5 * edge / 2",
          "13 * edge / 2"
        ],
        [
          "2 * edge",
          "7 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge",
          "6 * edge"
        ],
        [
          "7 * edge / 2",
          "13 * edge / 2"
        ],
        [
          "3 * edge",
          "7 * edge"
        ]
      ]
    },
    {
      "rect": [
        "edge",
        "6 * edge",
        "2 * edge",
        "7 * edge"
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "6 * edge"
        ],
        [
          "3 * edge",
          "6 * edge"
        ],
        [
          "5 * edge / 2",
          "13 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge",
          "6 * edge"
        ],
        [
          "3 * edge",
          "7 * edge"
        ],
        [
          "5 * edge / 2",
          "13 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * edge",
          "6 * edge"
        ],
        [
          "7 * edge / 2",
          "13 * edge / 2"
        ],
        [
          "3 * edge",
          "6 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * edge / 2",
          "13 * edge / 2"
        ],
        [
          "4 * edge",
          "6 * edge"
        ],
        [
          "4 * edge",
          "7 * edge"
        ]
      ]
    },
    {
      "rect": [
        "4 * edge",
        "6 * edge",
        "5 * edge",
        "7 * edge"
      ]
    },
    {
      "polygon": [
        [
          "5 * edge / 2",
          "13 * edge / 2"
        ],
        [
          "3 * edge",
          "7 * edge"
        ],
        [
          "2 * edge",
          "7 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * edge / 2",
          "13 * edge / 2"
        ],
        [
          "4 * edge",
          "7 * edge"
        ],
        [
          "3 * edge",
          "7 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "7 * edge"
        ],
        [
          "3 * edge / 2",
          "15 * edge / 2"
        ],
        [
          "edge",
          "8 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * edge",
          "7 * edge"
        ],
        [
          "9 * edge / 2",
          "15 * edge / 2"
        ],
        [
          "4 * edge",
          "8 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "7 * edge"
        ],
        [
          "edge",
          "7 * edge"
        ],
        [
          "edge / 2",
          "15 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "edge",
          "7 * edge"
        ],
        [
          "edge",
          "8 * edge"
        ],
        [
          "edge / 2",
          "15 * edge / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * edge",
          "7 * edge"
        ],
        [
          "3 * edge / 2",
          "15 * edge / 2"
        ],
        [
          "edge",
          "7 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge / 2",
          "15 * edge / 2"
        ],
        [
          "2 * edge",
          "7 * edge"
        ],
        [
          "2 * edge",
          "8 * edge"
        ]
      ]
    },
    {
      "rect": [
        "2 * edge",
        "7 * edge",
        "3 * edge",
        "8 * edge"
      ]
    },
    {
      "rect": [
        "3 * edge",
        "7 * edge",
        "4 * edge",
        "8 * edge"
      ]
    },
    {
      "polygon": [
        [
          "edge / 2",
          "15 * edge / 2"
        ],
        [
          "edge",
          "8 * edge"
        ],
        [
          "0",
          "8 * edge"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * edge / 2",
          "15 * edge / 2"
        ],
        [
          "2 * edge",
          "8 * edge"
        ],
        [
          "edge",
          "8 * edge"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * edge",
      "0"
    ],
    "b": [
      "2 * edge",
      "-4 * edge"
    ]
  }
},"scottish-bond":{
  "schema": 1,
  "id": "scottish-bond",
  "name": "Scottish bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length / 2", "width", "3 * length / 2", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["length / 2", "3 * width", "3 * length / 2", "4 * width"] },
    { "rect": ["0", "4 * width", "length", "5 * width"] },
    { "rect": ["length / 4", "5 * width", "3 * length / 4", "6 * width"] },
    { "rect": ["3 * length / 4", "5 * width", "5 * length / 4", "6 * width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "6 * width"] }
}
,"screen-block-cloverleaf":{
  "schema": 1,
  "id": "screen-block-cloverleaf",
  "name": "Screen block, cloverleaf",
  "category": "stone",
  "parameters": {
    "edge": { "value": 290, "min": 150, "max": 600, "label": "Block face" },
    "wallWidth": { "value": 35, "min": 10, "max": 80, "label": "Web width" },
    "span": { "expr": "(edge - 2 * wallWidth) / 2" },
    "lobe": { "expr": "span / 2" },
    "middle": { "expr": "edge / 2" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "edge", "edge"],
      "holes": [
        {
          "path": [
            {
              "arc": {
                "center": ["middle", "middle + lobe"],
                "from": ["middle + lobe", "middle + lobe"],
                "to": ["middle - lobe", "middle + lobe"],
                "clockwise": false
              }
            },
            {
              "arc": {
                "center": ["middle - lobe", "middle"],
                "from": ["middle - lobe", "middle + lobe"],
                "to": ["middle - lobe", "middle - lobe"],
                "clockwise": false
              }
            },
            {
              "arc": {
                "center": ["middle", "middle - lobe"],
                "from": ["middle - lobe", "middle - lobe"],
                "to": ["middle + lobe", "middle - lobe"],
                "clockwise": false
              }
            },
            {
              "arc": {
                "center": ["middle + lobe", "middle"],
                "from": ["middle + lobe", "middle - lobe"],
                "to": ["middle + lobe", "middle + lobe"],
                "clockwise": false
              }
            }
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["edge", "0"],
    "b": ["0", "edge"]
  }
}
,"screen-block-cross":{
  "schema": 1,
  "id": "screen-block-cross",
  "name": "Screen block, cross",
  "category": "stone",
  "parameters": {
    "edge": { "value": 290, "min": 150, "max": 600, "label": "Block face" },
    "wallWidth": { "value": 35, "min": 10, "max": 40, "label": "Web width" },
    "inner": { "expr": "edge - 2 * wallWidth" },
    "bandHalf": { "expr": "wallWidth / sqrt(2)" },
    "middle": { "expr": "wallWidth + inner / 2" }
  },
  "tiles": [
    {
      "rect": ["0", "0", "edge", "edge"],
      "holes": [
        {
          "polygon": [
            ["wallWidth + bandHalf", "wallWidth"],
            ["edge - wallWidth - bandHalf", "wallWidth"],
            ["middle", "middle - bandHalf"]
          ]
        },
        {
          "polygon": [
            ["edge - wallWidth", "wallWidth + bandHalf"],
            ["edge - wallWidth", "edge - wallWidth - bandHalf"],
            ["middle + bandHalf", "middle"]
          ]
        },
        {
          "polygon": [
            ["edge - wallWidth - bandHalf", "edge - wallWidth"],
            ["wallWidth + bandHalf", "edge - wallWidth"],
            ["middle", "middle + bandHalf"]
          ]
        },
        {
          "polygon": [
            ["wallWidth", "edge - wallWidth - bandHalf"],
            ["wallWidth", "wallWidth + bandHalf"],
            ["middle - bandHalf", "middle"]
          ]
        }
      ]
    }
  ],
  "lattice": {
    "a": ["edge", "0"],
    "b": ["0", "edge"]
  }
}
,"semicircle-course":{
  "schema": 1,
  "id": "semicircle-course",
  "name": "Semicircle course",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 300, "min": 40, "max": 1500, "label": "Tile side" },
    "half": { "expr": "edge / 2" }
  },
  "tiles": [
    {
      "start": ["0", "0"],
      "path": [
        { "arc": { "center": ["0", "half"], "from": ["0", "0"], "to": ["0", "edge"], "clockwise": false } },
        { "line": { "to": ["0", "0"] } }
      ]
    },
    {
      "start": ["0", "0"],
      "path": [
        { "line": { "to": ["edge", "0"] } },
        { "line": { "to": ["edge", "edge"] } },
        { "line": { "to": ["0", "edge"] } },
        { "arc": { "center": ["0", "half"], "from": ["0", "edge"], "to": ["0", "0"], "clockwise": true } }
      ]
    },
    {
      "start": ["edge", "2 * edge"],
      "path": [
        { "arc": { "center": ["edge", "edge + half"], "from": ["edge", "2 * edge"], "to": ["edge", "edge"], "clockwise": false } },
        { "line": { "to": ["edge", "2 * edge"] } }
      ]
    },
    {
      "start": ["0", "edge"],
      "path": [
        { "line": { "to": ["edge", "edge"] } },
        { "arc": { "center": ["edge", "edge + half"], "from": ["edge", "edge"], "to": ["edge", "2 * edge"], "clockwise": true } },
        { "line": { "to": ["0", "2 * edge"] } },
        { "line": { "to": ["0", "edge"] } }
      ]
    }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "2 * edge"] }
}
,"semicircle-split-alternating":{
  "schema": 1,
  "id": "semicircle-split-alternating",
  "name": "Semicircle split alternating",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 200, "min": 40, "max": 1200, "label": "Tile size" },
    "lobe": { "expr": "edge * 0.45" },
    "middle": { "expr": "edge / 2" }
  },
  "tiles": [
    {
      "path": [
        { "arc": { "center": ["0", "middle"], "from": ["0", "middle - lobe"], "to": ["0", "middle + lobe"], "clockwise": false } },
        { "line": { "to": ["0", "middle - lobe"] } }
      ]
    },
    {
      "path": [
        { "arc": { "center": ["edge", "middle"], "from": ["edge", "middle + lobe"], "to": ["edge", "middle - lobe"], "clockwise": false } },
        { "line": { "to": ["edge", "middle + lobe"] } }
      ]
    },
    {
      "start": ["0", "0"],
      "path": [
        { "line": { "to": ["edge", "0"] } },
        { "line": { "to": ["edge", "middle - lobe"] } },
        { "arc": { "center": ["edge", "middle"], "from": ["edge", "middle - lobe"], "to": ["edge", "middle + lobe"], "clockwise": true } },
        { "line": { "to": ["edge", "edge"] } },
        { "line": { "to": ["0", "edge"] } },
        { "line": { "to": ["0", "middle + lobe"] } },
        { "arc": { "center": ["0", "middle"], "from": ["0", "middle + lobe"], "to": ["0", "middle - lobe"], "clockwise": true } },
        { "line": { "to": ["0", "0"] } }
      ]
    },
    {
      "path": [
        { "arc": { "center": ["middle", "edge"], "from": ["middle + lobe", "edge"], "to": ["middle - lobe", "edge"], "clockwise": false } },
        { "line": { "to": ["middle + lobe", "edge"] } }
      ]
    },
    {
      "path": [
        { "arc": { "center": ["middle", "2 * edge"], "from": ["middle - lobe", "2 * edge"], "to": ["middle + lobe", "2 * edge"], "clockwise": false } },
        { "line": { "to": ["middle - lobe", "2 * edge"] } }
      ]
    },
    {
      "start": ["0", "edge"],
      "path": [
        { "line": { "to": ["middle - lobe", "edge"] } },
        { "arc": { "center": ["middle", "edge"], "from": ["middle - lobe", "edge"], "to": ["middle + lobe", "edge"], "clockwise": true } },
        { "line": { "to": ["edge", "edge"] } },
        { "line": { "to": ["edge", "2 * edge"] } },
        { "line": { "to": ["middle + lobe", "2 * edge"] } },
        { "arc": { "center": ["middle", "2 * edge"], "from": ["middle + lobe", "2 * edge"], "to": ["middle - lobe", "2 * edge"], "clockwise": true } },
        { "line": { "to": ["0", "2 * edge"] } },
        { "line": { "to": ["0", "edge"] } }
      ]
    }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "2 * edge"] }
}
,"semicircle-split-square":{
  "schema": 1,
  "id": "semicircle-split-square",
  "name": "Semicircle split square",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 200, "min": 40, "max": 1200, "label": "Tile size" },
    "lobe": { "expr": "edge * 0.45" },
    "middle": { "expr": "edge / 2" }
  },
  "tiles": [
    {
      "path": [
        { "arc": { "center": ["0", "middle"], "from": ["0", "middle - lobe"], "to": ["0", "middle + lobe"], "clockwise": false } },
        { "line": { "to": ["0", "middle - lobe"] } }
      ]
    },
    {
      "path": [
        { "arc": { "center": ["edge", "middle"], "from": ["edge", "middle + lobe"], "to": ["edge", "middle - lobe"], "clockwise": false } },
        { "line": { "to": ["edge", "middle + lobe"] } }
      ]
    },
    {
      "start": ["0", "0"],
      "path": [
        { "line": { "to": ["edge", "0"] } },
        { "line": { "to": ["edge", "middle - lobe"] } },
        { "arc": { "center": ["edge", "middle"], "from": ["edge", "middle - lobe"], "to": ["edge", "middle + lobe"], "clockwise": true } },
        { "line": { "to": ["edge", "edge"] } },
        { "line": { "to": ["0", "edge"] } },
        { "line": { "to": ["0", "middle + lobe"] } },
        { "arc": { "center": ["0", "middle"], "from": ["0", "middle + lobe"], "to": ["0", "middle - lobe"], "clockwise": true } },
        { "line": { "to": ["0", "0"] } }
      ]
    }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "edge"] }
}
,"separated-picket":{
  "schema": 1,
  "id": "separated-picket",
  "name": "Separated picket",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 100,
      "min": 20,
      "max": 800,
      "label": "Picket width"
    },
    "length": {
      "value": 100,
      "min": 20,
      "max": 1500,
      "label": "Straight side"
    },
    "point": {
      "expr": "width / 2"
    },
    "half": {
      "expr": "width / 2"
    },
    "course": {
      "expr": "length + point"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "half",
          "0"
        ],
        [
          "width",
          "0"
        ],
        [
          "width",
          "course"
        ],
        [
          "half",
          "length"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "width",
          "0"
        ],
        [
          "width + half",
          "0"
        ],
        [
          "width + half",
          "length"
        ],
        [
          "width",
          "course"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "0",
          "course"
        ],
        [
          "half",
          "course + point"
        ],
        [
          "half",
          "2 * course"
        ],
        [
          "0",
          "2 * course"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "width",
          "course"
        ],
        [
          "width",
          "2 * course"
        ],
        [
          "half",
          "2 * course"
        ],
        [
          "half",
          "course + point"
        ]
      ],
      "grain": [
        "0",
        "1"
      ]
    },
    {
      "polygon": [
        [
          "width + half",
          "length"
        ],
        [
          "2 * width",
          "course"
        ],
        [
          "width + half",
          "course + point"
        ],
        [
          "width",
          "course"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "width",
      "0"
    ],
    "b": [
      "0",
      "2 * course"
    ]
  }
}
,"shiplap-board":{
  "schema": 1,
  "id": "shiplap-board",
  "name": "Shiplap board",
  "category": "wood",
  "parameters": {
    "coverWidth": {
      "value": 110,
      "min": 60,
      "max": 300,
      "label": "Face width"
    },
    "lap": {
      "expr": "20"
    },
    "step": {
      "expr": "6"
    },
    "length": {
      "value": 2400,
      "min": 300,
      "max": 6000,
      "label": "Board length"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "coverWidth"
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "0",
      "coverWidth"
    ]
  },
  "body": {
    "profile": {
      "start": [
        "0",
        "0"
      ],
      "section": [
        {
          "line": {
            "to": [
              "lap",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "lap",
              "step"
            ]
          }
        },
        {
          "line": {
            "to": [
              "coverWidth",
              "step"
            ]
          }
        }
      ]
    }
  }
}
,"silesian-bond":{
  "schema": 1,
  "id": "silesian-bond",
  "name": "Silesian bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "2 * length", "width"] },
    { "rect": ["2 * length", "0", "5 * length / 2", "width"] },
    { "rect": ["length / 4", "width", "5 * length / 4", "2 * width"] },
    { "rect": ["5 * length / 4", "width", "9 * length / 4", "2 * width"] },
    { "rect": ["9 * length / 4", "width", "11 * length / 4", "2 * width"] }
  ],
  "lattice": { "a": ["5 * length / 2", "0"], "b": ["0", "2 * width"] }
}
,"single-basket-weave-bond":{
  "schema": 1,
  "id": "single-basket-weave-bond",
  "name": "Single basket weave bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length / 2", "length"] },
    { "rect": ["length / 2", "0", "length", "length"] },
    { "rect": ["0", "length", "length", "3 * length / 2"] },
    { "rect": ["length", "0", "2 * length", "length / 2"] },
    { "rect": ["length", "length / 2", "3 * length / 2", "3 * length / 2"] },
    { "rect": ["3 * length / 2", "length / 2", "2 * length", "3 * length / 2"] }
  ],
  "lattice": { "a": ["2 * length", "0"], "b": ["0", "3 * length / 2"] }
}
,"six-point-intersecting-circle":{
  "schema": 1,
  "id": "six-point-intersecting-circle",
  "name": "Six-point intersecting circle",
  "category": "ceramic",
  "parameters": {
    "radius": {
      "value": 150,
      "min": 20,
      "max": 600,
      "label": "Circle radius"
    },
    "spacing": {
      "expr": "radius * sqrt(3)"
    }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": {
            "center": [
              "spacing * cos(60)",
              "spacing * sin(60)"
            ],
            "from": [
              "radius * cos(30)",
              "radius * sin(30)"
            ],
            "to": [
              "radius * cos(90)",
              "radius * sin(90)"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "spacing * cos(120)",
              "spacing * sin(120)"
            ],
            "from": [
              "radius * cos(90)",
              "radius * sin(90)"
            ],
            "to": [
              "radius * cos(150)",
              "radius * sin(150)"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "spacing * cos(180)",
              "spacing * sin(180)"
            ],
            "from": [
              "radius * cos(150)",
              "radius * sin(150)"
            ],
            "to": [
              "radius * cos(210)",
              "radius * sin(210)"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "spacing * cos(240)",
              "spacing * sin(240)"
            ],
            "from": [
              "radius * cos(210)",
              "radius * sin(210)"
            ],
            "to": [
              "radius * cos(270)",
              "radius * sin(270)"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "spacing * cos(300)",
              "spacing * sin(300)"
            ],
            "from": [
              "radius * cos(270)",
              "radius * sin(270)"
            ],
            "to": [
              "radius * cos(330)",
              "radius * sin(330)"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "spacing * cos(360)",
              "spacing * sin(360)"
            ],
            "from": [
              "radius * cos(330)",
              "radius * sin(330)"
            ],
            "to": [
              "radius * cos(390)",
              "radius * sin(390)"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "radius * cos(-30)",
              "radius * sin(-30)"
            ],
            "to": [
              "radius * cos(30)",
              "radius * sin(30)"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "spacing",
              "0"
            ],
            "from": [
              "radius * cos(30)",
              "radius * sin(30)"
            ],
            "to": [
              "radius * cos(-30)",
              "radius * sin(-30)"
            ],
            "clockwise": false
          }
        }
      ]
    },
    {
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "radius * cos(-30)",
              "radius * sin(-30)"
            ],
            "to": [
              "radius * cos(30)",
              "radius * sin(30)"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "spacing",
              "0"
            ],
            "from": [
              "radius * cos(30)",
              "radius * sin(30)"
            ],
            "to": [
              "radius * cos(-30)",
              "radius * sin(-30)"
            ],
            "clockwise": false
          }
        }
      ],
      "transform": [
        {
          "rotate": {
            "angle": "60",
            "center": [
              "0",
              "0"
            ]
          }
        }
      ]
    },
    {
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "radius * cos(-30)",
              "radius * sin(-30)"
            ],
            "to": [
              "radius * cos(30)",
              "radius * sin(30)"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "spacing",
              "0"
            ],
            "from": [
              "radius * cos(30)",
              "radius * sin(30)"
            ],
            "to": [
              "radius * cos(-30)",
              "radius * sin(-30)"
            ],
            "clockwise": false
          }
        }
      ],
      "transform": [
        {
          "rotate": {
            "angle": "120",
            "center": [
              "0",
              "0"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "spacing",
      "0"
    ],
    "b": [
      "spacing / 2",
      "spacing * sqrt(3) / 2"
    ]
  }
}
,"six-point-star-mosaic":{
  "schema": 1,
  "id": "six-point-star-mosaic",
  "name": "Six-point star mosaic",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 100,
      "min": 20,
      "max": 400,
      "label": "Piece edge"
    },
    "rootThree": {
      "expr": "sqrt(3)"
    },
    "lattice": {
      "expr": "16 * edge / sqrt(100 - 48 * sqrt(3))"
    },
    "tipRadius": {
      "expr": "lattice / 2"
    },
    "innerRadius": {
      "expr": "3 * lattice / 8"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "tipRadius",
          "0"
        ],
        [
          "rootThree * innerRadius / 2",
          "innerRadius / 2"
        ],
        [
          "tipRadius / 2",
          "rootThree * tipRadius / 2"
        ],
        [
          "0",
          "innerRadius"
        ],
        [
          "-tipRadius / 2",
          "rootThree * tipRadius / 2"
        ],
        [
          "-rootThree * innerRadius / 2",
          "innerRadius / 2"
        ],
        [
          "-tipRadius",
          "0"
        ],
        [
          "-rootThree * innerRadius / 2",
          "-innerRadius / 2"
        ],
        [
          "-tipRadius / 2",
          "-rootThree * tipRadius / 2"
        ],
        [
          "0",
          "-innerRadius"
        ],
        [
          "tipRadius / 2",
          "-rootThree * tipRadius / 2"
        ],
        [
          "rootThree * innerRadius / 2",
          "-innerRadius / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "lattice / 2",
          "0"
        ],
        [
          "lattice - rootThree * innerRadius / 2",
          "innerRadius / 2"
        ],
        [
          "3 * lattice / 4",
          "rootThree * lattice / 4"
        ],
        [
          "lattice / 2",
          "rootThree * lattice / 2 - innerRadius"
        ],
        [
          "lattice / 4",
          "rootThree * lattice / 4"
        ],
        [
          "rootThree * innerRadius / 2",
          "innerRadius / 2"
        ]
      ]
    },
    {
      "polygon": [
        [
          "lattice",
          "innerRadius"
        ],
        [
          "5 * lattice / 4",
          "rootThree * lattice / 4"
        ],
        [
          "3 * lattice / 2 - rootThree * innerRadius / 2",
          "rootThree * lattice / 2 - innerRadius / 2"
        ],
        [
          "lattice",
          "rootThree * lattice / 2"
        ],
        [
          "lattice / 2 + rootThree * innerRadius / 2",
          "rootThree * lattice / 2 - innerRadius / 2"
        ],
        [
          "3 * lattice / 4",
          "rootThree * lattice / 4"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "lattice",
      "0"
    ],
    "b": [
      "lattice / 2",
      "rootThree * lattice / 2"
    ]
  }
}
,"six-star-chevron":{
  "schema": 1,
  "id": "six-star-chevron",
  "name": "Six-point star and chevron",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "-0.075 * overallSize"
        ],
        [
          "0.225 * overallSize",
          "0"
        ],
        [
          "0.15 * overallSize",
          "-0.225 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "-0.225 * overallSize"
        ],
        [
          "0.425 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.325 * overallSize",
          "0.275 * overallSize"
        ],
        [
          "0.225 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0",
          "0.275 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.575 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "-0.225 * overallSize"
        ],
        [
          "0.85 * overallSize",
          "-0.225 * overallSize"
        ],
        [
          "0.775 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "-0.075 * overallSize"
        ],
        [
          "overallSize",
          "0.275 * overallSize"
        ],
        [
          "0.775 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.675 * overallSize",
          "0.275 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.275 * overallSize"
        ],
        [
          "0.225 * overallSize",
          "0.35 * overallSize"
        ],
        [
          "0.325 * overallSize",
          "0.275 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.45 * overallSize"
        ],
        [
          "0.425 * overallSize",
          "0.55 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.775 * overallSize"
        ],
        [
          "0.15 * overallSize",
          "0.775 * overallSize"
        ],
        [
          "0.225 * overallSize",
          "0.55 * overallSize"
        ],
        [
          "0",
          "0.625 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.675 * overallSize",
          "0.275 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.45 * overallSize"
        ],
        [
          "0.325 * overallSize",
          "0.275 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.775 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "overallSize",
          "0.275 * overallSize"
        ],
        [
          "0.775 * overallSize",
          "0.35 * overallSize"
        ],
        [
          "0.675 * overallSize",
          "0.275 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.425 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.775 * overallSize"
        ],
        [
          "0.575 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.1 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.225 * overallSize",
          "0.2 * overallSize"
        ],
        [
          "0.325 * overallSize",
          "0.275 * overallSize"
        ],
        [
          "0.225 * overallSize",
          "0.35 * overallSize"
        ],
        [
          "0",
          "0.275 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.425 * overallSize",
          "0.55 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.45 * overallSize"
        ],
        [
          "0.575 * overallSize",
          "0.55 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.775 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.575 * overallSize",
          "0.55 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.45 * overallSize"
        ],
        [
          "0.675 * overallSize",
          "0.275 * overallSize"
        ],
        [
          "0.775 * overallSize",
          "0.35 * overallSize"
        ],
        [
          "overallSize",
          "0.275 * overallSize"
        ],
        [
          "overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.775 * overallSize",
          "0.55 * overallSize"
        ],
        [
          "0.85 * overallSize",
          "0.775 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.775 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.85 * overallSize",
          "0.775 * overallSize"
        ],
        [
          "0.775 * overallSize",
          "0.55 * overallSize"
        ],
        [
          "overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.225 * overallSize",
          "0.55 * overallSize"
        ],
        [
          "1.15 * overallSize",
          "0.775 * overallSize"
        ],
        [
          "1.225 * overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "0.925 * overallSize"
        ],
        [
          "0.775 * overallSize",
          "overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"six-star-fatehpur-sikri":{
  "schema": 1,
  "id": "six-star-fatehpur-sikri",
  "name": "Six-star pinwheel",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 40, "min": 10, "max": 200, "label": "Edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["3 * edge / 2", "sqrt(3) * edge / 2"],
        ["edge / 2", "sqrt(3) * edge / 2"],
        ["0", "2 * sqrt(3) * edge / 2"],
        ["-edge / 2", "sqrt(3) * edge / 2"],
        ["-3 * edge / 2", "sqrt(3) * edge / 2"],
        ["-2 * edge / 2", "0"],
        ["-3 * edge / 2", "-sqrt(3) * edge / 2"],
        ["-edge / 2", "-sqrt(3) * edge / 2"],
        ["0", "-2 * sqrt(3) * edge / 2"],
        ["edge / 2", "-sqrt(3) * edge / 2"],
        ["3 * edge / 2", "-sqrt(3) * edge / 2"],
        ["2 * edge / 2", "0"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "sqrt(3) * edge / 2"],
        ["0", "2 * sqrt(3) * edge / 2"],
        ["-2 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["0", "4 * sqrt(3) * edge / 2"],
        ["edge / 2", "5 * sqrt(3) * edge / 2"],
        ["-5 * edge / 2", "5 * sqrt(3) * edge / 2"],
        ["-6 * edge / 2", "4 * sqrt(3) * edge / 2"],
        ["-8 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["-6 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["-5 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["-3 * edge / 2", "sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "-sqrt(3) * edge / 2"],
        ["-3 * edge / 2", "-sqrt(3) * edge / 2"],
        ["-5 * edge / 2", "-3 * sqrt(3) * edge / 2"],
        ["-6 * edge / 2", "-2 * sqrt(3) * edge / 2"],
        ["-8 * edge / 2", "-2 * sqrt(3) * edge / 2"],
        ["-5 * edge / 2", "-5 * sqrt(3) * edge / 2"],
        ["-3 * edge / 2", "-5 * sqrt(3) * edge / 2"],
        ["edge / 2", "-5 * sqrt(3) * edge / 2"],
        ["0", "-4 * sqrt(3) * edge / 2"],
        ["-2 * edge / 2", "-4 * sqrt(3) * edge / 2"],
        ["0", "-2 * sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["2 * edge / 2", "0"],
        ["3 * edge / 2", "-sqrt(3) * edge / 2"],
        ["7 * edge / 2", "-sqrt(3) * edge / 2"],
        ["6 * edge / 2", "-2 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "-3 * sqrt(3) * edge / 2"],
        ["10 * edge / 2", "0"],
        ["9 * edge / 2", "sqrt(3) * edge / 2"],
        ["7 * edge / 2", "3 * sqrt(3) * edge / 2"],
        ["6 * edge / 2", "2 * sqrt(3) * edge / 2"],
        ["7 * edge / 2", "sqrt(3) * edge / 2"],
        ["3 * edge / 2", "sqrt(3) * edge / 2"]
      ]
    }
  ],
  "lattice": {
    "a": ["6 * edge", "0"],
    "b": ["3 * edge", "3 * sqrt(3) * edge"]
  }
}
,"six-star-kite-ibn-tulun":{
  "schema": 1,
  "id": "six-star-kite-ibn-tulun",
  "name": "Six-point star, kites and pentagons",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 30, "min": 10, "max": 100, "label": "Star edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["5 * sqrt(3) * edge / 2", "7 * edge / 2"],
        ["5 * sqrt(3) * edge / 2", "11 * edge / 2"],
        ["11 * sqrt(3) * edge / 6", "11 * edge / 2"],
        ["3 * sqrt(3) * edge / 2", "13 * edge / 2"],
        ["sqrt(3) * edge / 2", "11 * edge / 2"],
        ["sqrt(3) * edge / 2", "7 * edge / 2"],
        ["7 * sqrt(3) * edge / 6", "7 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["-7 * sqrt(3) * edge / 6", "7 * edge / 2"],
        ["-sqrt(3) * edge / 2", "7 * edge / 2"],
        ["-sqrt(3) * edge / 2", "11 * edge / 2"],
        ["-3 * sqrt(3) * edge / 2", "13 * edge / 2"],
        ["-11 * sqrt(3) * edge / 6", "11 * edge / 2"],
        ["-5 * sqrt(3) * edge / 2", "11 * edge / 2"],
        ["-5 * sqrt(3) * edge / 2", "7 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["2 * sqrt(3) * edge", "-1 * edge"],
        ["3 * sqrt(3) * edge", "-2 * edge"],
        ["4 * sqrt(3) * edge", "-1 * edge"],
        ["11 * sqrt(3) * edge / 3", "0"],
        ["4 * sqrt(3) * edge", "1 * edge"],
        ["3 * sqrt(3) * edge", "2 * edge"],
        ["2 * sqrt(3) * edge", "1 * edge"],
        ["7 * sqrt(3) * edge / 3", "0"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge", "0"],
        ["sqrt(3) * edge / 2", "1 * edge / 2"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["0", "1 * edge"],
        ["-sqrt(3) * edge / 2", "3 * edge / 2"],
        ["-sqrt(3) * edge / 2", "1 * edge / 2"],
        ["-sqrt(3) * edge", "0"],
        ["-sqrt(3) * edge / 2", "-1 * edge / 2"],
        ["-sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["0", "-1 * edge"],
        ["sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["sqrt(3) * edge / 2", "-1 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge / 2", "1 * edge / 2"],
        ["-sqrt(3) * edge / 2", "3 * edge / 2"],
        ["-3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["-2 * sqrt(3) * edge", "1 * edge"],
        ["-sqrt(3) * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge / 2", "-1 * edge / 2"],
        ["-sqrt(3) * edge", "0"],
        ["-2 * sqrt(3) * edge", "-1 * edge"],
        ["-3 * sqrt(3) * edge / 2", "-5 * edge / 2"],
        ["-sqrt(3) * edge / 2", "-3 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge / 2", "-1 * edge / 2"],
        ["sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["3 * sqrt(3) * edge / 2", "-5 * edge / 2"],
        ["2 * sqrt(3) * edge", "-1 * edge"],
        ["sqrt(3) * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge / 2", "1 * edge / 2"],
        ["sqrt(3) * edge", "0"],
        ["2 * sqrt(3) * edge", "1 * edge"],
        ["3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "1 * edge"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["sqrt(3) * edge / 2", "7 * edge / 2"],
        ["-sqrt(3) * edge / 2", "7 * edge / 2"],
        ["-sqrt(3) * edge / 2", "3 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "-1 * edge"],
        ["-sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["-sqrt(3) * edge / 2", "-7 * edge / 2"],
        ["sqrt(3) * edge / 2", "-7 * edge / 2"],
        ["sqrt(3) * edge / 2", "-3 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-2 * sqrt(3) * edge", "1 * edge"],
        ["-3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["-5 * sqrt(3) * edge / 2", "7 * edge / 2"],
        ["-3 * sqrt(3) * edge", "3 * edge"],
        ["-3 * sqrt(3) * edge", "2 * edge"]
      ]
    },
    {
      "polygon": [
        ["-2 * sqrt(3) * edge", "-1 * edge"],
        ["-3 * sqrt(3) * edge", "-2 * edge"],
        ["-3 * sqrt(3) * edge", "-3 * edge"],
        ["-5 * sqrt(3) * edge / 2", "-7 * edge / 2"],
        ["-3 * sqrt(3) * edge / 2", "-5 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["3 * sqrt(3) * edge / 2", "-5 * edge / 2"],
        ["5 * sqrt(3) * edge / 2", "-7 * edge / 2"],
        ["3 * sqrt(3) * edge", "-3 * edge"],
        ["3 * sqrt(3) * edge", "-2 * edge"],
        ["2 * sqrt(3) * edge", "-1 * edge"]
      ]
    },
    {
      "polygon": [
        ["3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["2 * sqrt(3) * edge", "1 * edge"],
        ["3 * sqrt(3) * edge", "2 * edge"],
        ["3 * sqrt(3) * edge", "3 * edge"],
        ["5 * sqrt(3) * edge / 2", "7 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge / 2", "7 * edge / 2"],
        ["sqrt(3) * edge / 2", "11 * edge / 2"],
        ["0", "6 * edge"],
        ["-sqrt(3) * edge / 2", "11 * edge / 2"],
        ["-sqrt(3) * edge / 2", "7 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge / 2", "-7 * edge / 2"],
        ["-sqrt(3) * edge / 2", "-11 * edge / 2"],
        ["0", "-6 * edge"],
        ["sqrt(3) * edge / 2", "-11 * edge / 2"],
        ["sqrt(3) * edge / 2", "-7 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge", "0"],
        ["-2 * sqrt(3) * edge", "1 * edge"],
        ["-7 * sqrt(3) * edge / 3", "0"],
        ["-2 * sqrt(3) * edge", "-1 * edge"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge", "0"],
        ["2 * sqrt(3) * edge", "-1 * edge"],
        ["7 * sqrt(3) * edge / 3", "0"],
        ["2 * sqrt(3) * edge", "1 * edge"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["7 * sqrt(3) * edge / 6", "7 * edge / 2"],
        ["sqrt(3) * edge / 2", "7 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge / 2", "3 * edge / 2"],
        ["-sqrt(3) * edge / 2", "7 * edge / 2"],
        ["-7 * sqrt(3) * edge / 6", "7 * edge / 2"],
        ["-3 * sqrt(3) * edge / 2", "5 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["-3 * sqrt(3) * edge / 2", "-5 * edge / 2"],
        ["-7 * sqrt(3) * edge / 6", "-7 * edge / 2"],
        ["-sqrt(3) * edge / 2", "-7 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["sqrt(3) * edge / 2", "-7 * edge / 2"],
        ["7 * sqrt(3) * edge / 6", "-7 * edge / 2"],
        ["3 * sqrt(3) * edge / 2", "-5 * edge / 2"]
      ]
    }
  ],
  "lattice": {
    "a": ["6 * sqrt(3) * edge", "0"],
    "b": ["3 * sqrt(3) * edge", "9 * edge"]
  }
}
,"six-star-lozenge":{
  "schema": 1,
  "id": "six-star-lozenge",
  "name": "Six-point star and lozenge",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0.289473684211 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.289473684211 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.421052631579 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.723684210526 * overallSize"
        ],
        [
          "0",
          "0.578947368421 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.25 * overallSize",
          "-0.144736842105 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.157894736842 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.289473684211 * overallSize"
        ],
        [
          "0",
          "0.289473684211 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "-0.289473684211 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "-0.144736842105 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.157894736842 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.289473684211 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.421052631579 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.289473684211 * overallSize"
        ],
        [
          "overallSize",
          "0.289473684211 * overallSize"
        ],
        [
          "overallSize",
          "0.578947368421 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.723684210526 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "1.289473684211 * overallSize"
        ],
        [
          "overallSize",
          "1.157894736842 * overallSize"
        ],
        [
          "overallSize",
          "1.736842105263 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.592105263158 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.723684210526 * overallSize"
        ],
        [
          "overallSize",
          "0.578947368421 * overallSize"
        ],
        [
          "overallSize",
          "1.157894736842 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.026315789474 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "1.026315789474 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.723684210526 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.868421052632 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.157894736842 * overallSize"
        ],
        [
          "0",
          "1.157894736842 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "1.157894736842 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.289473684211 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.592105263158 * overallSize"
        ],
        [
          "0",
          "1.736842105263 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "1.157894736842 * overallSize"
        ],
        [
          "overallSize",
          "1.157894736842 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.289473684211 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.592105263158 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.447368421053 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.578947368421 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.723684210526 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.026315789474 * overallSize"
        ],
        [
          "0",
          "1.157894736842 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.868421052632 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.723684210526 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.026315789474 * overallSize"
        ],
        [
          "overallSize",
          "1.157894736842 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.157894736842 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "1.289473684211 * overallSize"
        ],
        [
          "0",
          "1.157894736842 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.157894736842 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "1.447368421053 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.592105263158 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.289473684211 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.421052631579 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.723684210526 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.868421052632 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.421052631579 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.289473684211 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.868421052632 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.723684210526 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "-0.144736842105 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "-0.289473684211 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.289473684211 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.157894736842 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.157894736842 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "-0.144736842105 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.289473684211 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.289473684211 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "1.736842105263 * overallSize"
    ]
  }
}
,"six-star-triangle":{
  "schema": 1,
  "id": "six-star-triangle",
  "name": "Six-point star and triangle",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 30, "min": 10, "max": 100, "label": "Star edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["sqrt(3) * edge", "0"],
        ["sqrt(3) * edge / 2", "1 * edge / 2"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["0", "1 * edge"],
        ["-sqrt(3) * edge / 2", "3 * edge / 2"],
        ["-sqrt(3) * edge / 2", "1 * edge / 2"],
        ["-sqrt(3) * edge", "0"],
        ["-sqrt(3) * edge / 2", "-1 * edge / 2"],
        ["-sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["0", "-1 * edge"],
        ["sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["sqrt(3) * edge / 2", "-1 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge", "0"],
        ["3 * sqrt(3) * edge / 2", "3 * edge / 2"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["5 * sqrt(3) * edge / 2", "3 * edge / 2"],
        ["2 * sqrt(3) * edge", "3 * edge"],
        ["3 * sqrt(3) * edge / 2", "3 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge", "0"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["sqrt(3) * edge / 2", "1 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["-sqrt(3) * edge / 2", "3 * edge / 2"],
        ["0", "1 * edge"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge / 2", "3 * edge / 2"],
        ["-sqrt(3) * edge", "0"],
        ["-sqrt(3) * edge / 2", "1 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge", "0"],
        ["-sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["-sqrt(3) * edge / 2", "-1 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["0", "-1 * edge"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["sqrt(3) * edge", "0"],
        ["sqrt(3) * edge / 2", "-1 * edge / 2"]
      ]
    }
  ],
  "lattice": {
    "a": ["2 * sqrt(3) * edge", "0"],
    "b": ["sqrt(3) * edge", "3 * edge"]
  }
}
,"six-star-twelve-star-square":{
  "schema": 1,
  "id": "six-star-twelve-star-square",
  "name": "Six- and twelve-point stars with squares",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 30, "min": 10, "max": 100, "label": "Star edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(1 + sqrt(3)) * edge", "0"],
        ["(2 + sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["1 * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["0", "(1 + sqrt(3)) * edge"],
        ["-1 * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(-1 - sqrt(3)) * edge", "0"],
        ["(-2 - sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["-1 * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["0", "(-1 - sqrt(3)) * edge"],
        ["1 * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(25 + 21 * sqrt(3)) * edge / 10", "(11 + 5 * sqrt(3)) * edge / 10"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(24 + 10 * sqrt(3)) * edge / 15"],
        ["(35 + 31 * sqrt(3)) * edge / 10", "(11 + 5 * sqrt(3)) * edge / 10"],
        ["(35 + 31 * sqrt(3)) * edge / 10", "(63 + 25 * sqrt(3)) * edge / 30"],
        ["(20 + 18 * sqrt(3)) * edge / 5", "(13 + 5 * sqrt(3)) * edge / 5"],
        ["(35 + 31 * sqrt(3)) * edge / 10", "(93 + 35 * sqrt(3)) * edge / 30"],
        ["(35 + 31 * sqrt(3)) * edge / 10", "(41 + 15 * sqrt(3)) * edge / 10"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(54 + 20 * sqrt(3)) * edge / 15"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(41 + 15 * sqrt(3)) * edge / 10"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(93 + 35 * sqrt(3)) * edge / 30"],
        ["(10 + 8 * sqrt(3)) * edge / 5", "(13 + 5 * sqrt(3)) * edge / 5"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(63 + 25 * sqrt(3)) * edge / 30"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(37 + 15 * sqrt(3)) * edge / 10"],
        ["0", "(63 + 25 * sqrt(3)) * edge / 15"],
        ["(1 + sqrt(3)) * edge / 2", "(37 + 15 * sqrt(3)) * edge / 10"],
        ["(1 + sqrt(3)) * edge / 2", "(141 + 55 * sqrt(3)) * edge / 30"],
        ["(1 + sqrt(3)) * edge", "(26 + 10 * sqrt(3)) * edge / 5"],
        ["(1 + sqrt(3)) * edge / 2", "(171 + 65 * sqrt(3)) * edge / 30"],
        ["(1 + sqrt(3)) * edge / 2", "(67 + 25 * sqrt(3)) * edge / 10"],
        ["0", "(93 + 35 * sqrt(3)) * edge / 15"],
        ["(-1 - sqrt(3)) * edge / 2", "(67 + 25 * sqrt(3)) * edge / 10"],
        ["(-1 - sqrt(3)) * edge / 2", "(171 + 65 * sqrt(3)) * edge / 30"],
        ["(-1 - sqrt(3)) * edge", "(26 + 10 * sqrt(3)) * edge / 5"],
        ["(-1 - sqrt(3)) * edge / 2", "(141 + 55 * sqrt(3)) * edge / 30"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(-10 - 8 * sqrt(3)) * edge / 5", "(13 + 5 * sqrt(3)) * edge / 5"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(63 + 25 * sqrt(3)) * edge / 30"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(11 + 5 * sqrt(3)) * edge / 10"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(10 + 8 * sqrt(3)) * edge / 5", "(-13 - 5 * sqrt(3)) * edge / 5"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-63 - 25 * sqrt(3)) * edge / 30"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-11 - 5 * sqrt(3)) * edge / 10"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(11 + 5 * sqrt(3)) * edge / 10"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(63 + 25 * sqrt(3)) * edge / 30"],
        ["(10 + 8 * sqrt(3)) * edge / 5", "(13 + 5 * sqrt(3)) * edge / 5"],
        ["(2 + sqrt(3)) * edge", "(2 + sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["0", "(1 + sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(37 + 15 * sqrt(3)) * edge / 10"],
        ["0", "(63 + 25 * sqrt(3)) * edge / 15"],
        ["(-1 - sqrt(3)) * edge / 2", "(37 + 15 * sqrt(3)) * edge / 10"],
        ["(-1 - sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(-11 - 5 * sqrt(3)) * edge / 10"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(-63 - 25 * sqrt(3)) * edge / 30"],
        ["(-10 - 8 * sqrt(3)) * edge / 5", "(-13 - 5 * sqrt(3)) * edge / 5"],
        ["(-2 - sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["0", "(-1 - sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-37 - 15 * sqrt(3)) * edge / 10"],
        ["0", "(-63 - 25 * sqrt(3)) * edge / 15"],
        ["(1 + sqrt(3)) * edge / 2", "(-37 - 15 * sqrt(3)) * edge / 10"],
        ["(1 + sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(-5 - 8 * sqrt(3)) * edge / 10", "(34 + 15 * sqrt(3)) * edge / 10"],
        ["(-40 + 15 * sqrt(2) - 26 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(58 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(48 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-10 - 15 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(68 - 5 * sqrt(2) + 30 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-20 - 13 * sqrt(3)) * edge / 10", "(29 + 10 * sqrt(3)) * edge / 10"],
        ["(-2 - sqrt(3)) * edge", "(2 + sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge", "0"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(-1 + sqrt(2) - sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "0"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(1 - sqrt(2) + sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(5 + 8 * sqrt(3)) * edge / 10", "(-34 - 15 * sqrt(3)) * edge / 10"],
        ["(40 - 15 * sqrt(2) + 26 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-58 - 5 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-48 - 15 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(10 + 15 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-68 + 5 * sqrt(2) - 30 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(20 + 13 * sqrt(3)) * edge / 10", "(-29 - 10 * sqrt(3)) * edge / 10"],
        ["(2 + sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge", "0"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(1 - sqrt(2) + sqrt(3) - sqrt(6)) * edge / 2"],
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "0"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-1 + sqrt(2) - sqrt(3) + sqrt(6)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-20 - 13 * sqrt(3)) * edge / 10", "(-29 - 10 * sqrt(3)) * edge / 10"],
        ["(-10 - 15 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-68 + 5 * sqrt(2) - 30 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-48 - 15 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-40 + 15 * sqrt(2) - 26 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-58 - 5 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-5 - 8 * sqrt(3)) * edge / 10", "(-34 - 15 * sqrt(3)) * edge / 10"],
        ["(-1 - sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(20 + 13 * sqrt(3)) * edge / 10", "(29 + 10 * sqrt(3)) * edge / 10"],
        ["(10 + 15 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(68 - 5 * sqrt(2) + 30 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(48 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(40 - 15 * sqrt(2) + 26 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(58 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(5 + 8 * sqrt(3)) * edge / 10", "(34 + 15 * sqrt(3)) * edge / 10"],
        ["(1 + sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(25 + 21 * sqrt(3)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(35 - 5 * sqrt(2) + 31 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(2 - sqrt(2) + 2 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(25 + 5 * sqrt(2) + 21 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(35 + 31 * sqrt(3)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(35 + 31 * sqrt(3)) * edge / 10", "(11 + 5 * sqrt(3)) * edge / 10"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(24 + 10 * sqrt(3)) * edge / 15"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(11 + 5 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 8 * sqrt(3)) * edge / 10", "(34 + 15 * sqrt(3)) * edge / 10"],
        ["(-1 - sqrt(3)) * edge / 2", "(37 + 15 * sqrt(3)) * edge / 10"],
        ["(-1 - sqrt(3)) * edge / 2", "(141 + 55 * sqrt(3)) * edge / 30"],
        ["(-1 - sqrt(3)) * edge", "(26 + 10 * sqrt(3)) * edge / 5"],
        ["(-10 - 13 * sqrt(3)) * edge / 10", "(49 + 20 * sqrt(3)) * edge / 10"],
        ["(-10 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(68 + 15 * sqrt(2) + 30 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-15 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(88 - 5 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-20 + 5 * sqrt(2) - 26 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(98 - 15 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"]
      ]
    },
    {
      "polygon": [
        ["(-20 - 13 * sqrt(3)) * edge / 10", "(29 + 10 * sqrt(3)) * edge / 10"],
        ["(-50 + 5 * sqrt(2) - 36 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(88 - 15 * sqrt(2) + 30 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-60 + 15 * sqrt(2) - 36 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(68 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-40 - 5 * sqrt(2) - 26 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(58 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-25 - 18 * sqrt(3)) * edge / 10", "(44 + 15 * sqrt(3)) * edge / 10"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(41 + 15 * sqrt(3)) * edge / 10"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(93 + 35 * sqrt(3)) * edge / 30"],
        ["(-10 - 8 * sqrt(3)) * edge / 5", "(13 + 5 * sqrt(3)) * edge / 5"]
      ]
    },
    {
      "polygon": [
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-11 - 5 * sqrt(3)) * edge / 10"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(-24 - 10 * sqrt(3)) * edge / 15"],
        ["(35 + 31 * sqrt(3)) * edge / 10", "(-11 - 5 * sqrt(3)) * edge / 10"],
        ["(35 + 31 * sqrt(3)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"],
        ["(25 + 5 * sqrt(2) + 21 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(-2 + sqrt(2) - 2 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(35 - 5 * sqrt(2) + 31 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(10 + 8 * sqrt(3)) * edge / 5", "(13 + 5 * sqrt(3)) * edge / 5"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(93 + 35 * sqrt(3)) * edge / 30"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(41 + 15 * sqrt(3)) * edge / 10"],
        ["(25 + 18 * sqrt(3)) * edge / 10", "(44 + 15 * sqrt(3)) * edge / 10"],
        ["(40 + 5 * sqrt(2) + 26 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(58 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(60 - 15 * sqrt(2) + 36 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(68 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(50 - 5 * sqrt(2) + 36 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(88 - 15 * sqrt(2) + 30 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(20 + 13 * sqrt(3)) * edge / 10", "(29 + 10 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(5 + 8 * sqrt(3)) * edge / 10", "(34 + 15 * sqrt(3)) * edge / 10"],
        ["(20 - 5 * sqrt(2) + 26 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(98 - 15 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(15 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(88 - 5 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(10 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(68 + 15 * sqrt(2) + 30 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(10 + 13 * sqrt(3)) * edge / 10", "(49 + 20 * sqrt(3)) * edge / 10"],
        ["(1 + sqrt(3)) * edge", "(26 + 10 * sqrt(3)) * edge / 5"],
        ["(1 + sqrt(3)) * edge / 2", "(141 + 55 * sqrt(3)) * edge / 30"],
        ["(1 + sqrt(3)) * edge / 2", "(37 + 15 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-2 - sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["(-2 - sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(-1 - sqrt(3)) * edge", "0"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["1 * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["0", "(-1 - sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 + sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(1 + sqrt(3)) * edge", "0"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-1 * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["0", "(1 + sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 + sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["1 * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["0", "(1 + sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-1 * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["0", "(-1 - sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(48 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-15 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(88 - 5 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-40 + 5 * sqrt(2) - 36 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(108 - 15 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-60 + 15 * sqrt(2) - 36 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(68 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"]
      ]
    },
    {
      "polygon": [
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "0"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(-2 + sqrt(2) - 2 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(40 - 5 * sqrt(2) + 36 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "0"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(2 - sqrt(2) + 2 * sqrt(3) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(48 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(60 - 15 * sqrt(2) + 36 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(68 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(40 - 5 * sqrt(2) + 36 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(108 - 15 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(15 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(88 - 5 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"]
      ]
    },
    {
      "polygon": [
        ["(-40 + 15 * sqrt(2) - 26 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(58 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-5 - 8 * sqrt(3)) * edge / 10", "(34 + 15 * sqrt(3)) * edge / 10"],
        ["(-20 + 5 * sqrt(2) - 26 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(98 - 15 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-15 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(88 - 5 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(48 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"]
      ]
    },
    {
      "polygon": [
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(1 - sqrt(2) + sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "0"],
        ["(-15 - 13 * sqrt(3)) * edge / 5", "(-2 + sqrt(2) - 2 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-35 + 5 * sqrt(2) - 31 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(40 - 15 * sqrt(2) + 26 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-58 - 5 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(5 + 8 * sqrt(3)) * edge / 10", "(-34 - 15 * sqrt(3)) * edge / 10"],
        ["(20 - 5 * sqrt(2) + 26 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-98 + 15 * sqrt(2) - 40 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(15 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-88 + 5 * sqrt(2) - 40 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-48 - 15 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"]
      ]
    },
    {
      "polygon": [
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-1 + sqrt(2) - sqrt(3) + sqrt(6)) * edge / 2"],
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "0"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(2 - sqrt(2) + 2 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(35 - 5 * sqrt(2) + 31 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-10 - 15 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(68 - 5 * sqrt(2) + 30 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(48 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-60 + 15 * sqrt(2) - 36 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(68 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-50 + 5 * sqrt(2) - 36 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(88 - 15 * sqrt(2) + 30 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-20 - 13 * sqrt(3)) * edge / 10", "(29 + 10 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(-1 + sqrt(2) - sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(-35 + 5 * sqrt(2) - 31 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(-15 - 13 * sqrt(3)) * edge / 5", "(2 - sqrt(2) + 2 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "0"]
      ]
    },
    {
      "polygon": [
        ["(10 + 15 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-68 + 5 * sqrt(2) - 30 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-48 - 15 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(60 - 15 * sqrt(2) + 36 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-68 - 5 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(50 - 5 * sqrt(2) + 36 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-88 + 15 * sqrt(2) - 30 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(20 + 13 * sqrt(3)) * edge / 10", "(-29 - 10 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(25 + 21 * sqrt(3)) * edge / 10", "(1 - sqrt(2) + sqrt(3) - sqrt(6)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"],
        ["(35 - 5 * sqrt(2) + 31 * sqrt(3) - 5 * sqrt(6)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"],
        ["(15 + 13 * sqrt(3)) * edge / 5", "(-2 + sqrt(2) - 2 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 10", "0"]
      ]
    },
    {
      "polygon": [
        ["(-20 - 13 * sqrt(3)) * edge / 10", "(-29 - 10 * sqrt(3)) * edge / 10"],
        ["(-50 + 5 * sqrt(2) - 36 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-88 + 15 * sqrt(2) - 30 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-60 + 15 * sqrt(2) - 36 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-68 - 5 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-48 - 15 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-10 - 15 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-68 + 5 * sqrt(2) - 30 * sqrt(3) + 5 * sqrt(6)) * edge / 20"]
      ]
    },
    {
      "polygon": [
        ["(-40 + 15 * sqrt(2) - 26 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-58 - 5 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-20 - 5 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-48 - 15 * sqrt(2) - 20 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(-15 * sqrt(2) - 16 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(-88 + 5 * sqrt(2) - 40 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-20 + 5 * sqrt(2) - 26 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(-98 + 15 * sqrt(2) - 40 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(-5 - 8 * sqrt(3)) * edge / 10", "(-34 - 15 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(20 + 13 * sqrt(3)) * edge / 10", "(29 + 10 * sqrt(3)) * edge / 10"],
        ["(50 - 5 * sqrt(2) + 36 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(88 - 15 * sqrt(2) + 30 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(60 - 15 * sqrt(2) + 36 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(68 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(48 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(10 + 15 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(68 - 5 * sqrt(2) + 30 * sqrt(3) - 5 * sqrt(6)) * edge / 20"]
      ]
    },
    {
      "polygon": [
        ["(40 - 15 * sqrt(2) + 26 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(58 + 5 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(20 + 5 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(48 + 15 * sqrt(2) + 20 * sqrt(3) + 5 * sqrt(6)) * edge / 20"],
        ["(15 * sqrt(2) + 16 * sqrt(3) + 5 * sqrt(6)) * edge / 20", "(88 - 5 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(20 - 5 * sqrt(2) + 26 * sqrt(3) - 5 * sqrt(6)) * edge / 20", "(98 - 15 * sqrt(2) + 40 * sqrt(3) - 5 * sqrt(6)) * edge / 20"],
        ["(5 + 8 * sqrt(3)) * edge / 10", "(34 + 15 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(-2 - sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(-20 - 13 * sqrt(3)) * edge / 10", "(29 + 10 * sqrt(3)) * edge / 10"],
        ["(-10 - 8 * sqrt(3)) * edge / 5", "(13 + 5 * sqrt(3)) * edge / 5"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(11 + 5 * sqrt(3)) * edge / 10"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"],
        ["(-25 - 21 * sqrt(3)) * edge / 10", "(-11 - 5 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-37 - 15 * sqrt(3)) * edge / 10"],
        ["(5 + 8 * sqrt(3)) * edge / 10", "(-34 - 15 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(5 + 3 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(1 + sqrt(3)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(11 + 5 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(37 + 15 * sqrt(3)) * edge / 10"],
        ["(-5 - 8 * sqrt(3)) * edge / 10", "(34 + 15 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(2 + sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(20 + 13 * sqrt(3)) * edge / 10", "(-29 - 10 * sqrt(3)) * edge / 10"],
        ["(10 + 8 * sqrt(3)) * edge / 5", "(-13 - 5 * sqrt(3)) * edge / 5"]
      ]
    },
    {
      "polygon": [
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-11 - 5 * sqrt(3)) * edge / 10"],
        ["(25 + 21 * sqrt(3)) * edge / 10", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 + sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(10 + 8 * sqrt(3)) * edge / 5", "(13 + 5 * sqrt(3)) * edge / 5"],
        ["(20 + 13 * sqrt(3)) * edge / 10", "(29 + 10 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(5 + 8 * sqrt(3)) * edge / 10", "(34 + 15 * sqrt(3)) * edge / 10"],
        ["(1 + sqrt(3)) * edge / 2", "(37 + 15 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(-2 - sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-10 - 8 * sqrt(3)) * edge / 5", "(-13 - 5 * sqrt(3)) * edge / 5"],
        ["(-20 - 13 * sqrt(3)) * edge / 10", "(-29 - 10 * sqrt(3)) * edge / 10"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(-5 - 8 * sqrt(3)) * edge / 10", "(-34 - 15 * sqrt(3)) * edge / 10"],
        ["(-1 - sqrt(3)) * edge / 2", "(-37 - 15 * sqrt(3)) * edge / 10"]
      ]
    }
  ],
  "lattice": {
    "a": ["(30 + 26 * sqrt(3)) * edge / 5", "0"],
    "b": ["(-15 - 13 * sqrt(3)) * edge / 5", "(39 + 15 * sqrt(3)) * edge / 5"]
  }
}
,"six-star-two-point-isfahan":{
  "schema": 1,
  "id": "six-star-two-point-isfahan",
  "name": "Six-star and rhombi",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 40, "min": 10, "max": 200, "label": "Edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["2 * sqrt(3) * edge / 2", "0"],
        ["sqrt(3) * edge / 2", "edge / 2"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["0", "2 * edge / 2"],
        ["-sqrt(3) * edge / 2", "3 * edge / 2"],
        ["-sqrt(3) * edge / 2", "edge / 2"],
        ["-2 * sqrt(3) * edge / 2", "0"],
        ["-sqrt(3) * edge / 2", "-edge / 2"],
        ["-sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["0", "-2 * edge / 2"],
        ["sqrt(3) * edge / 2", "-3 * edge / 2"],
        ["sqrt(3) * edge / 2", "-edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "4 * edge / 2"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["0", "2 * edge / 2"],
        ["-sqrt(3) * edge / 2", "3 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "6 * edge / 2"],
        ["sqrt(3) * edge / 2", "5 * edge / 2"],
        ["0", "4 * edge / 2"],
        ["-sqrt(3) * edge / 2", "5 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge / 2", "5 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "4 * edge / 2"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["0", "4 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["4 * sqrt(3) * edge / 2", "4 * edge / 2"],
        ["3 * sqrt(3) * edge / 2", "3 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "4 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["2 * sqrt(3) * edge / 2", "4 * edge / 2"],
        ["3 * sqrt(3) * edge / 2", "3 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "2 * edge / 2"],
        ["sqrt(3) * edge / 2", "3 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["2 * sqrt(3) * edge / 2", "6 * edge / 2"],
        ["3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "4 * edge / 2"],
        ["sqrt(3) * edge / 2", "5 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["sqrt(3) * edge / 2", "3 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "2 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "0"],
        ["sqrt(3) * edge / 2", "edge / 2"]
      ]
    },
    {
      "polygon": [
        ["3 * sqrt(3) * edge / 2", "3 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "2 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "0"],
        ["3 * sqrt(3) * edge / 2", "edge / 2"]
      ]
    },
    {
      "polygon": [
        ["2 * sqrt(3) * edge / 2", "8 * edge / 2"],
        ["sqrt(3) * edge / 2", "7 * edge / 2"],
        ["sqrt(3) * edge / 2", "5 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "6 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["2 * sqrt(3) * edge / 2", "8 * edge / 2"],
        ["3 * sqrt(3) * edge / 2", "7 * edge / 2"],
        ["3 * sqrt(3) * edge / 2", "5 * edge / 2"],
        ["2 * sqrt(3) * edge / 2", "6 * edge / 2"]
      ]
    }
  ],
  "lattice": {
    "a": ["2 * sqrt(3) * edge", "0"],
    "b": ["0", "4 * edge"]
  }
}
,"snowflake-mosaic":{
  "schema": 1,
  "id": "snowflake-mosaic",
  "name": "Snowflake mosaic",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 100,
      "min": 10,
      "max": 500,
      "label": "Piece edge"
    },
    "halfEdge": {
      "expr": "edge / 2"
    },
    "rowStep": {
      "expr": "sqrt(3) * edge / 2"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "2 * halfEdge",
          "2 * rowStep"
        ],
        [
          "3 * halfEdge",
          "3 * rowStep"
        ],
        [
          "halfEdge",
          "3 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * halfEdge",
          "2 * rowStep"
        ],
        [
          "6 * halfEdge",
          "2 * rowStep"
        ],
        [
          "5 * halfEdge",
          "3 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * halfEdge",
          "3 * rowStep"
        ],
        [
          "4 * halfEdge",
          "2 * rowStep"
        ],
        [
          "5 * halfEdge",
          "3 * rowStep"
        ],
        [
          "4 * halfEdge",
          "4 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * halfEdge",
          "0"
        ],
        [
          "8 * halfEdge",
          "0"
        ],
        [
          "7 * halfEdge",
          "rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * halfEdge",
          "rowStep"
        ],
        [
          "7 * halfEdge",
          "rowStep"
        ],
        [
          "6 * halfEdge",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfEdge",
          "3 * rowStep"
        ],
        [
          "3 * halfEdge",
          "3 * rowStep"
        ],
        [
          "4 * halfEdge",
          "4 * rowStep"
        ],
        [
          "2 * halfEdge",
          "4 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfEdge",
          "rowStep"
        ],
        [
          "3 * halfEdge",
          "rowStep"
        ],
        [
          "2 * halfEdge",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * halfEdge",
          "2 * rowStep"
        ],
        [
          "4 * halfEdge",
          "2 * rowStep"
        ],
        [
          "3 * halfEdge",
          "3 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * halfEdge",
          "0"
        ],
        [
          "6 * halfEdge",
          "0"
        ],
        [
          "7 * halfEdge",
          "rowStep"
        ],
        [
          "5 * halfEdge",
          "rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfEdge",
          "3 * rowStep"
        ],
        [
          "2 * halfEdge",
          "4 * rowStep"
        ],
        [
          "0",
          "4 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * halfEdge",
          "3 * rowStep"
        ],
        [
          "7 * halfEdge",
          "3 * rowStep"
        ],
        [
          "6 * halfEdge",
          "4 * rowStep"
        ],
        [
          "4 * halfEdge",
          "4 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * halfEdge",
          "3 * rowStep"
        ],
        [
          "8 * halfEdge",
          "4 * rowStep"
        ],
        [
          "6 * halfEdge",
          "4 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "2 * halfEdge",
          "0"
        ],
        [
          "halfEdge",
          "rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * halfEdge",
          "rowStep"
        ],
        [
          "4 * halfEdge",
          "0"
        ],
        [
          "5 * halfEdge",
          "rowStep"
        ],
        [
          "4 * halfEdge",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * halfEdge",
          "2 * rowStep"
        ],
        [
          "7 * halfEdge",
          "3 * rowStep"
        ],
        [
          "5 * halfEdge",
          "3 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * halfEdge",
          "0"
        ],
        [
          "4 * halfEdge",
          "0"
        ],
        [
          "3 * halfEdge",
          "rowStep"
        ],
        [
          "halfEdge",
          "rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * halfEdge",
          "rowStep"
        ],
        [
          "4 * halfEdge",
          "2 * rowStep"
        ],
        [
          "2 * halfEdge",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * halfEdge",
          "rowStep"
        ],
        [
          "6 * halfEdge",
          "2 * rowStep"
        ],
        [
          "4 * halfEdge",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * halfEdge",
          "0"
        ],
        [
          "9 * halfEdge",
          "rowStep"
        ],
        [
          "7 * halfEdge",
          "rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * halfEdge",
          "0"
        ],
        [
          "12 * halfEdge",
          "0"
        ],
        [
          "11 * halfEdge",
          "rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * halfEdge",
          "rowStep"
        ],
        [
          "10 * halfEdge",
          "0"
        ],
        [
          "11 * halfEdge",
          "rowStep"
        ],
        [
          "10 * halfEdge",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * rowStep"
        ],
        [
          "2 * halfEdge",
          "2 * rowStep"
        ],
        [
          "halfEdge",
          "3 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * halfEdge",
          "3 * rowStep"
        ],
        [
          "13 * halfEdge",
          "3 * rowStep"
        ],
        [
          "12 * halfEdge",
          "4 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * halfEdge",
          "rowStep"
        ],
        [
          "9 * halfEdge",
          "rowStep"
        ],
        [
          "10 * halfEdge",
          "2 * rowStep"
        ],
        [
          "8 * halfEdge",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * halfEdge",
          "3 * rowStep"
        ],
        [
          "9 * halfEdge",
          "3 * rowStep"
        ],
        [
          "8 * halfEdge",
          "4 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * halfEdge",
          "0"
        ],
        [
          "10 * halfEdge",
          "0"
        ],
        [
          "9 * halfEdge",
          "rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * halfEdge",
          "2 * rowStep"
        ],
        [
          "12 * halfEdge",
          "2 * rowStep"
        ],
        [
          "13 * halfEdge",
          "3 * rowStep"
        ],
        [
          "11 * halfEdge",
          "3 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * halfEdge",
          "rowStep"
        ],
        [
          "8 * halfEdge",
          "2 * rowStep"
        ],
        [
          "6 * halfEdge",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * halfEdge",
          "rowStep"
        ],
        [
          "13 * halfEdge",
          "rowStep"
        ],
        [
          "12 * halfEdge",
          "2 * rowStep"
        ],
        [
          "10 * halfEdge",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "halfEdge",
          "rowStep"
        ],
        [
          "2 * halfEdge",
          "2 * rowStep"
        ],
        [
          "0",
          "2 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * halfEdge",
          "2 * rowStep"
        ],
        [
          "8 * halfEdge",
          "2 * rowStep"
        ],
        [
          "7 * halfEdge",
          "3 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * halfEdge",
          "3 * rowStep"
        ],
        [
          "10 * halfEdge",
          "2 * rowStep"
        ],
        [
          "11 * halfEdge",
          "3 * rowStep"
        ],
        [
          "10 * halfEdge",
          "4 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "halfEdge",
          "rowStep"
        ],
        [
          "-halfEdge",
          "rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * halfEdge",
          "2 * rowStep"
        ],
        [
          "10 * halfEdge",
          "2 * rowStep"
        ],
        [
          "9 * halfEdge",
          "3 * rowStep"
        ],
        [
          "7 * halfEdge",
          "3 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * halfEdge",
          "3 * rowStep"
        ],
        [
          "10 * halfEdge",
          "4 * rowStep"
        ],
        [
          "8 * halfEdge",
          "4 * rowStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * halfEdge",
          "3 * rowStep"
        ],
        [
          "12 * halfEdge",
          "4 * rowStep"
        ],
        [
          "10 * halfEdge",
          "4 * rowStep"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "12 * halfEdge",
      "0"
    ],
    "b": [
      "0",
      "4 * rowStep"
    ]
  }
}
,"snub-hexagonal":{
  "schema": 1,
  "id": "snub-hexagonal",
  "name": "Snub hexagonal",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "0"],
        ["edge / 2", "rootThree * edge / 2"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["-edge", "0"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["3 * edge / 2", "rootThree * edge / 2"],
        ["edge / 2", "rootThree * edge / 2"],
        ["edge", "0"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "-rootThree * edge / 2"],
        ["-edge", "0"],
        ["-3 * edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "rootThree * edge"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["edge / 2", "rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge / 2", "-rootThree * edge / 2"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["0", "-rootThree * edge"]
      ]
    },
    {
      "polygon": [
        ["-edge", "0"],
        ["-3 * edge / 2", "rootThree * edge / 2"],
        ["-2 * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["edge", "0"],
        ["edge / 2", "-rootThree * edge / 2"],
        ["3 * edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-3 * edge / 2", "-rootThree * edge / 2"],
        ["-edge", "-rootThree * edge"],
        ["-edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-edge", "0"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["-3 * edge / 2", "rootThree * edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["5 * edge / 2", "rootThree * edge / 2"], "b": ["edge / 2", "3 * rootThree * edge / 2"] }
}
,"snub-square":{
  "schema": 1,
  "id": "snub-square",
  "name": "Snub square",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Edge"},
    "rootTwo": {"expr": "sqrt(2)"},
    "rootSix": {"expr": "sqrt(6)"}
  },
  "tiles": [
    {
      "polygon": [
        ["-rootTwo * edge / 4", "-rootSix * edge / 4"],
        ["rootSix * edge / 4", "-rootTwo * edge / 4"],
        ["rootTwo * edge / 4", "rootSix * edge / 4"],
        ["-rootSix * edge / 4", "rootTwo * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["edge * (-rootTwo - 2 * rootSix) / 4", "edge * (-2 * rootTwo - rootSix) / 4"],
        ["-rootSix * edge / 4", "edge * (-rootTwo - 2 * rootSix) / 4"],
        ["-rootTwo * edge / 4", "-rootSix * edge / 4"],
        ["edge * (-2 * rootTwo - rootSix) / 4", "-rootTwo * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["edge * (2 * rootTwo + rootSix) / 4", "rootTwo * edge / 4"],
        ["rootTwo * edge / 4", "rootSix * edge / 4"],
        ["rootSix * edge / 4", "-rootTwo * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["-rootSix * edge / 4", "rootTwo * edge / 4"],
        ["edge * (-2 * rootTwo - rootSix) / 4", "-rootTwo * edge / 4"],
        ["-rootTwo * edge / 4", "-rootSix * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["rootTwo * edge / 4", "rootSix * edge / 4"],
        ["-rootTwo * edge / 4", "edge * (2 * rootTwo + rootSix) / 4"],
        ["-rootSix * edge / 4", "rootTwo * edge / 4"]
      ]
    },
    {
      "polygon": [
        ["-rootTwo * edge / 4", "-rootSix * edge / 4"],
        ["rootTwo * edge / 4", "edge * (-2 * rootTwo - rootSix) / 4"],
        ["rootSix * edge / 4", "-rootTwo * edge / 4"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (rootTwo + rootSix) / 2", "0"], "b": ["0", "edge * (rootTwo + rootSix) / 2"] }
}
,"solar-cell-array":{
  "schema": 1,
  "id": "solar-cell-array",
  "name": "Solar cell array",
  "category": "metal",
  "coverage": "partial",
  "parameters": {
    "edge": { "value": 182, "min": 50, "max": 400, "label": "Cell side" },
    "diagonalEdge": { "value": 8.55, "min": 1, "max": 30, "label": "Corner chamfer" },
    "gap": { "value": 2, "min": 0, "max": 30, "label": "Gap between cells" },
    "cut": { "expr": "diagonalEdge / sqrt(2)" }
  },
  "tiles": [
    {
      "polygon": [
        ["cut", "0"],
        ["edge - cut", "0"],
        ["edge", "cut"],
        ["edge", "edge - cut"],
        ["edge - cut", "edge"],
        ["cut", "edge"],
        ["0", "edge - cut"],
        ["0", "cut"]
      ]
    }
  ],
  "lattice": {
    "a": ["edge + gap", "0"],
    "b": ["0", "edge + gap"]
  }
}
,"split-checkered":{
  "schema": 1,
  "id": "split-checkered",
  "name": "Split checkered",
  "category": "stone",
  "parameters": {
    "length": { "value": 100, "min": 30, "max": 900, "label": "Large paver side" },
    "settSize": { "expr": "3 * length / 10" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "9" },
      "rect": ["(k - 3 * floor(k / 3)) * length", "floor(k / 3) * length",
               "(k - 3 * floor(k / 3) + 1) * length", "(floor(k / 3) + 1) * length"] },
    { "repeat": { "index": "k", "count": "11" },
      "rect": ["3 * length", "k * settSize", "3 * length + settSize", "(k + 1) * settSize"] },
    { "repeat": { "index": "k", "count": "10" },
      "rect": ["k * settSize", "3 * length", "(k + 1) * settSize", "3 * length + settSize"] }
  ],
  "lattice": { "a": ["3 * length + settSize", "0"], "b": ["0", "3 * length + settSize"] }
}
,"split-circle-tiles":{
  "schema": 1,
  "id": "split-circle-tiles",
  "name": "Split circle tiles",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 300,
      "min": 60,
      "max": 1500,
      "label": "Tile side"
    },
    "diameter": {
      "expr": "5 * edge / 6"
    },
    "radius": {
      "expr": "diameter / 2"
    },
    "mid": {
      "expr": "edge / 2"
    },
    "left": {
      "expr": "(edge - diameter) / 2"
    },
    "right": {
      "expr": "(edge + diameter) / 2"
    }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "right",
              "mid"
            ],
            "to": [
              "left",
              "mid"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "right",
              "mid"
            ]
          }
        }
      ],
      "start": [
        "right",
        "mid"
      ]
    },
    {
      "path": [
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "left",
              "mid"
            ],
            "to": [
              "right",
              "mid"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "left",
              "mid"
            ]
          }
        }
      ],
      "start": [
        "left",
        "mid"
      ]
    },
    {
      "path": [
        {
          "line": {
            "to": [
              "mid",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "mid",
              "mid - radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "mid",
              "mid - radius"
            ],
            "to": [
              "left",
              "mid"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "mid"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ],
      "start": [
        "0",
        "0"
      ]
    },
    {
      "path": [
        {
          "line": {
            "to": [
              "edge",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "mid"
            ]
          }
        },
        {
          "line": {
            "to": [
              "right",
              "mid"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "right",
              "mid"
            ],
            "to": [
              "mid",
              "mid - radius"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "mid",
              "0"
            ]
          }
        }
      ],
      "start": [
        "mid",
        "0"
      ]
    },
    {
      "path": [
        {
          "line": {
            "to": [
              "right",
              "mid"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "right",
              "mid"
            ],
            "to": [
              "mid",
              "mid + radius"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "mid",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "mid"
            ]
          }
        }
      ],
      "start": [
        "edge",
        "mid"
      ]
    },
    {
      "path": [
        {
          "line": {
            "to": [
              "mid",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "mid",
              "mid + radius"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "mid",
              "mid"
            ],
            "from": [
              "mid",
              "mid + radius"
            ],
            "to": [
              "left",
              "mid"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "mid"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "edge"
            ]
          }
        }
      ],
      "start": [
        "0",
        "edge"
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "mid",
      "edge"
    ]
  }
},"split-fish-scale":{
  "schema": 1,
  "id": "split-fish-scale",
  "name": "Split fish scale",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 200, "min": 30, "max": 1000, "label": "Scale width" },
    "radius": { "expr": "width / 2" }
  },
  "tiles": [
    {
      "start": ["-radius", "0"],
      "path": [
        { "arc": { "center": ["0", "0"], "from": ["-radius", "0"], "to": ["0", "-radius"], "clockwise": false } },
        { "line": { "to": ["0", "radius"] } },
        { "arc": { "center": ["-radius", "radius"], "from": ["0", "radius"], "to": ["-radius", "0"], "clockwise": true } }
      ]
    },
    {
      "start": ["0", "-radius"],
      "path": [
        { "arc": { "center": ["0", "0"], "from": ["0", "-radius"], "to": ["radius", "0"], "clockwise": false } },
        { "arc": { "center": ["radius", "radius"], "from": ["radius", "0"], "to": ["0", "radius"], "clockwise": true } },
        { "line": { "to": ["0", "-radius"] } }
      ]
    }
  ],
  "lattice": { "a": ["radius", "radius"], "b": ["-radius", "radius"] }
}
,"split-frame-square":{
  "schema": 1,
  "id": "split-frame-square",
  "name": "Split frame square",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 500, "min": 200, "max": 1500, "label": "Frame side" },
    "gap": { "value": 50, "min": 5, "max": 90, "label": "Frame border" },
    "bandWidth": { "value": 80, "min": 10, "max": 180, "label": "Middle strip" },
    "strip": { "expr": "(edge - bandWidth) / 2" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["edge / 2", "0"], ["edge / 2", "gap"], ["gap", "gap"], ["gap", "edge - gap"], ["edge / 2", "edge - gap"], ["edge / 2", "edge"], ["0", "edge"]] },
    { "polygon": [["edge / 2", "0"], ["edge", "0"], ["edge", "edge"], ["edge / 2", "edge"], ["edge / 2", "edge - gap"], ["edge - gap", "edge - gap"], ["edge - gap", "gap"], ["edge / 2", "gap"]] },
    { "rect": ["gap", "gap", "edge / 2", "edge - gap"] },
    { "rect": ["edge / 2", "gap", "edge - gap", "edge - gap"] },
    { "rect": ["edge", "0", "3 * edge / 2", "strip"] },
    { "rect": ["edge", "strip", "3 * edge / 2", "strip + bandWidth"] },
    { "rect": ["edge", "strip + bandWidth", "3 * edge / 2", "edge"] },
    { "rect": ["3 * edge / 2", "0", "2 * edge", "strip"] },
    { "rect": ["3 * edge / 2", "strip", "2 * edge", "strip + bandWidth"] },
    { "rect": ["3 * edge / 2", "strip + bandWidth", "2 * edge", "edge"] }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["0", "edge"] }
}
,"split-lantern-tile":{
 "schema": 1,
 "id": "split-lantern-tile",
 "name": "Split lantern tile",
 "category": "ceramic",
 "coverage": "partial",
 "parameters": {
  "overallSize": {
   "value": 547.78,
   "min": 54.778,
   "max": 3286.68,
   "label": "Repeat width"
  }
 },
 "tiles": [
  {
   "polygon": [
    [
     "0.250310 * overallSize",
     "0.894993 * overallSize"
    ],
    [
     "0.250041 * overallSize",
     "0.894858 * overallSize"
    ],
    [
     "0.185394 * overallSize",
     "0.886346 * overallSize"
    ],
    [
     "0.125211 * overallSize",
     "0.861418 * overallSize"
    ],
    [
     "0.073528 * overallSize",
     "0.821760 * overallSize"
    ],
    [
     "0.033872 * overallSize",
     "0.770079 * overallSize"
    ],
    [
     "0.008951 * overallSize",
     "0.709913 * overallSize"
    ],
    [
     "0.000449 * overallSize",
     "0.645350 * overallSize"
    ],
    [
     "0.008954 * overallSize",
     "0.580765 * overallSize"
    ],
    [
     "0.033883 * overallSize",
     "0.520580 * overallSize"
    ],
    [
     "0.073539 * overallSize",
     "0.468899 * overallSize"
    ],
    [
     "0.125220 * overallSize",
     "0.429242 * overallSize"
    ],
    [
     "0.185405 * overallSize",
     "0.404313 * overallSize"
    ],
    [
     "0.250050 * overallSize",
     "0.395801 * overallSize"
    ],
    [
     "0.250348 * overallSize",
     "0.395633 * overallSize"
    ],
    [
     "0.250447 * overallSize",
     "0.395348 * overallSize"
    ],
    [
     "0.250447 * overallSize",
     "0.219731 * overallSize"
    ],
    [
     "0.277307 * overallSize",
     "0.210785 * overallSize"
    ],
    [
     "0.303720 * overallSize",
     "0.199801 * overallSize"
    ],
    [
     "0.329328 * overallSize",
     "0.186905 * overallSize"
    ],
    [
     "0.353908 * overallSize",
     "0.172204 * overallSize"
    ],
    [
     "0.377356 * overallSize",
     "0.155761 * overallSize"
    ],
    [
     "0.399527 * overallSize",
     "0.137684 * overallSize"
    ],
    [
     "0.420381 * overallSize",
     "0.118005 * overallSize"
    ],
    [
     "0.439728 * overallSize",
     "0.096889 * overallSize"
    ],
    [
     "0.457478 * overallSize",
     "0.074455 * overallSize"
    ],
    [
     "0.473594 * overallSize",
     "0.050741 * overallSize"
    ],
    [
     "0.487914 * overallSize",
     "0.025976 * overallSize"
    ],
    [
     "0.499553 * overallSize",
     "0.001998 * overallSize"
    ],
    [
     "0.499553 * overallSize",
     "1.288673 * overallSize"
    ],
    [
     "0.487914 * overallSize",
     "1.264695 * overallSize"
    ],
    [
     "0.473594 * overallSize",
     "1.239932 * overallSize"
    ],
    [
     "0.457478 * overallSize",
     "1.216216 * overallSize"
    ],
    [
     "0.439697 * overallSize",
     "1.193744 * overallSize"
    ],
    [
     "0.420370 * overallSize",
     "1.172653 * overallSize"
    ],
    [
     "0.399518 * overallSize",
     "1.152974 * overallSize"
    ],
    [
     "0.377320 * overallSize",
     "1.134880 * overallSize"
    ],
    [
     "0.353899 * overallSize",
     "1.118455 * overallSize"
    ],
    [
     "0.329319 * overallSize",
     "1.103754 * overallSize"
    ],
    [
     "0.303711 * overallSize",
     "1.090858 * overallSize"
    ],
    [
     "0.277297 * overallSize",
     "1.079874 * overallSize"
    ],
    [
     "0.250447 * overallSize",
     "1.070931 * overallSize"
    ],
    [
     "0.250431 * overallSize",
     "0.895235 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.000437 * overallSize",
     "0.652274 * overallSize"
    ],
    [
     "0.008063 * overallSize",
     "0.710150 * overallSize"
    ],
    [
     "0.033052 * overallSize",
     "0.770484 * overallSize"
    ],
    [
     "0.072894 * overallSize",
     "0.822422 * overallSize"
    ],
    [
     "0.124806 * overallSize",
     "0.862238 * overallSize"
    ],
    [
     "0.185138 * overallSize",
     "0.887226 * overallSize"
    ],
    [
     "0.249525 * overallSize",
     "0.895710 * overallSize"
    ],
    [
     "0.249525 * overallSize",
     "1.071257 * overallSize"
    ],
    [
     "0.249625 * overallSize",
     "1.071541 * overallSize"
    ],
    [
     "0.249838 * overallSize",
     "1.071690 * overallSize"
    ],
    [
     "0.276962 * overallSize",
     "1.080723 * overallSize"
    ],
    [
     "0.303346 * overallSize",
     "1.091694 * overallSize"
    ],
    [
     "0.328865 * overallSize",
     "1.104546 * overallSize"
    ],
    [
     "0.353388 * overallSize",
     "1.119212 * overallSize"
    ],
    [
     "0.376783 * overallSize",
     "1.135617 * overallSize"
    ],
    [
     "0.398928 * overallSize",
     "1.153671 * overallSize"
    ],
    [
     "0.419708 * overallSize",
     "1.173282 * overallSize"
    ],
    [
     "0.439013 * overallSize",
     "1.194348 * overallSize"
    ],
    [
     "0.456741 * overallSize",
     "1.216757 * overallSize"
    ],
    [
     "0.472801 * overallSize",
     "1.240390 * overallSize"
    ],
    [
     "0.487106 * overallSize",
     "1.265125 * overallSize"
    ],
    [
     "0.499271 * overallSize",
     "1.290189 * overallSize"
    ],
    [
     "0.000456 * overallSize",
     "1.290189 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.527179 * overallSize",
     "1.240412 * overallSize"
    ],
    [
     "0.543238 * overallSize",
     "1.216780 * overallSize"
    ],
    [
     "0.560967 * overallSize",
     "1.194372 * overallSize"
    ],
    [
     "0.580272 * overallSize",
     "1.173306 * overallSize"
    ],
    [
     "0.601052 * overallSize",
     "1.153695 * overallSize"
    ],
    [
     "0.623197 * overallSize",
     "1.135641 * overallSize"
    ],
    [
     "0.646592 * overallSize",
     "1.119236 * overallSize"
    ],
    [
     "0.671115 * overallSize",
     "1.104570 * overallSize"
    ],
    [
     "0.696634 * overallSize",
     "1.091718 * overallSize"
    ],
    [
     "0.723018 * overallSize",
     "1.080747 * overallSize"
    ],
    [
     "0.750142 * overallSize",
     "1.071713 * overallSize"
    ],
    [
     "0.750355 * overallSize",
     "1.071565 * overallSize"
    ],
    [
     "0.750455 * overallSize",
     "1.071280 * overallSize"
    ],
    [
     "0.750455 * overallSize",
     "0.895734 * overallSize"
    ],
    [
     "0.814840 * overallSize",
     "0.887249 * overallSize"
    ],
    [
     "0.875174 * overallSize",
     "0.862260 * overallSize"
    ],
    [
     "0.927086 * overallSize",
     "0.822446 * overallSize"
    ],
    [
     "0.966928 * overallSize",
     "0.770508 * overallSize"
    ],
    [
     "0.991917 * overallSize",
     "0.710174 * overallSize"
    ],
    [
     "0.999544 * overallSize",
     "0.652296 * overallSize"
    ],
    [
     "0.999544 * overallSize",
     "1.290189 * overallSize"
    ],
    [
     "0.500729 * overallSize",
     "1.290189 * overallSize"
    ],
    [
     "0.512874 * overallSize",
     "1.265149 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.249643 * overallSize",
     "1.509710 * overallSize"
    ],
    [
     "-0.276951 * overallSize",
     "1.500560 * overallSize"
    ],
    [
     "-0.303335 * overallSize",
     "1.489590 * overallSize"
    ],
    [
     "-0.328854 * overallSize",
     "1.476737 * overallSize"
    ],
    [
     "-0.353377 * overallSize",
     "1.462073 * overallSize"
    ],
    [
     "-0.376772 * overallSize",
     "1.445667 * overallSize"
    ],
    [
     "-0.398917 * overallSize",
     "1.427611 * overallSize"
    ],
    [
     "-0.419699 * overallSize",
     "1.408002 * overallSize"
    ],
    [
     "-0.439002 * overallSize",
     "1.386934 * overallSize"
    ],
    [
     "-0.456731 * overallSize",
     "1.364526 * overallSize"
    ],
    [
     "-0.472792 * overallSize",
     "1.340894 * overallSize"
    ],
    [
     "-0.487095 * overallSize",
     "1.316159 * overallSize"
    ],
    [
     "-0.499260 * overallSize",
     "1.291095 * overallSize"
    ],
    [
     "-0.000445 * overallSize",
     "1.291095 * overallSize"
    ],
    [
     "-0.000445 * overallSize",
     "1.929009 * overallSize"
    ],
    [
     "-0.008074 * overallSize",
     "1.871129 * overallSize"
    ],
    [
     "-0.033063 * overallSize",
     "1.810795 * overallSize"
    ],
    [
     "-0.072905 * overallSize",
     "1.758855 * overallSize"
    ],
    [
     "-0.124815 * overallSize",
     "1.719041 * overallSize"
    ],
    [
     "-0.185149 * overallSize",
     "1.694052 * overallSize"
    ],
    [
     "-0.249534 * overallSize",
     "1.685569 * overallSize"
    ],
    [
     "-0.249514 * overallSize",
     "1.510028 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "0.008083 * overallSize",
     "1.871136 * overallSize"
    ],
    [
     "0.000467 * overallSize",
     "1.928931 * overallSize"
    ],
    [
     "0.000476 * overallSize",
     "1.291102 * overallSize"
    ],
    [
     "0.499289 * overallSize",
     "1.291102 * overallSize"
    ],
    [
     "0.487126 * overallSize",
     "1.316161 * overallSize"
    ],
    [
     "0.472821 * overallSize",
     "1.340898 * overallSize"
    ],
    [
     "0.456762 * overallSize",
     "1.364530 * overallSize"
    ],
    [
     "0.439033 * overallSize",
     "1.386938 * overallSize"
    ],
    [
     "0.419728 * overallSize",
     "1.408004 * overallSize"
    ],
    [
     "0.398948 * overallSize",
     "1.427615 * overallSize"
    ],
    [
     "0.376803 * overallSize",
     "1.445669 * overallSize"
    ],
    [
     "0.353408 * overallSize",
     "1.462074 * overallSize"
    ],
    [
     "0.328885 * overallSize",
     "1.476740 * overallSize"
    ],
    [
     "0.303366 * overallSize",
     "1.489592 * overallSize"
    ],
    [
     "0.276982 * overallSize",
     "1.500564 * overallSize"
    ],
    [
     "0.249858 * overallSize",
     "1.509597 * overallSize"
    ],
    [
     "0.249619 * overallSize",
     "1.509781 * overallSize"
    ],
    [
     "0.249545 * overallSize",
     "1.510030 * overallSize"
    ],
    [
     "0.249545 * overallSize",
     "1.685576 * overallSize"
    ],
    [
     "0.185160 * overallSize",
     "1.694061 * overallSize"
    ],
    [
     "0.124756 * overallSize",
     "1.719086 * overallSize"
    ],
    [
     "0.072886 * overallSize",
     "1.758892 * overallSize"
    ],
    [
     "0.033072 * overallSize",
     "1.810802 * overallSize"
    ]
   ]
  },
  {
   "polygon": [
    [
     "-0.499544 * overallSize",
     "2.579306 * overallSize"
    ],
    [
     "-0.499544 * overallSize",
     "1.292602 * overallSize"
    ],
    [
     "-0.487894 * overallSize",
     "1.316602 * overallSize"
    ],
    [
     "-0.473574 * overallSize",
     "1.341365 * overallSize"
    ],
    [
     "-0.457457 * overallSize",
     "1.365079 * overallSize"
    ],
    [
     "-0.439686 * overallSize",
     "1.387539 * overallSize"
    ],
    [
     "-0.420361 * overallSize",
     "1.408631 * overallSize"
    ],
    [
     "-0.399507 * overallSize",
     "1.428308 * overallSize"
    ],
    [
     "-0.377309 * overallSize",
     "1.446405 * overallSize"
    ],
    [
     "-0.353888 * overallSize",
     "1.462829 * overallSize"
    ],
    [
     "-0.329308 * overallSize",
     "1.477529 * overallSize"
    ],
    [
     "-0.303700 * overallSize",
     "1.490427 * overallSize"
    ],
    [
     "-0.277286 * overallSize",
     "1.501409 * overallSize"
    ],
    [
     "-0.250438 * overallSize",
     "1.510353 * overallSize"
    ],
    [
     "-0.250447 * overallSize",
     "1.685969 * overallSize"
    ],
    [
     "-0.250374 * overallSize",
     "1.686217 * overallSize"
    ],
    [
     "-0.250050 * overallSize",
     "1.686421 * overallSize"
    ],
    [
     "-0.185405 * overallSize",
     "1.694931 * overallSize"
    ],
    [
     "-0.125220 * overallSize",
     "1.719861 * overallSize"
    ],
    [
     "-0.073539 * overallSize",
     "1.759517 * overallSize"
    ],
    [
     "-0.033883 * overallSize",
     "1.811200 * overallSize"
    ],
    [
     "-0.008954 * overallSize",
     "1.871385 * overallSize"
    ],
    [
     "-0.000446 * overallSize",
     "1.935997 * overallSize"
    ],
    [
     "-0.008943 * overallSize",
     "2.000540 * overallSize"
    ],
    [
     "-0.033872 * overallSize",
     "2.060725 * overallSize"
    ],
    [
     "-0.073528 * overallSize",
     "2.112406 * overallSize"
    ],
    [
     "-0.125211 * overallSize",
     "2.152064 * overallSize"
    ],
    [
     "-0.185394 * overallSize",
     "2.176992 * overallSize"
    ],
    [
     "-0.250041 * overallSize",
     "2.185504 * overallSize"
    ],
    [
     "-0.250365 * overallSize",
     "2.185707 * overallSize"
    ],
    [
     "-0.250438 * overallSize",
     "2.185956 * overallSize"
    ],
    [
     "-0.250438 * overallSize",
     "2.361574 * overallSize"
    ],
    [
     "-0.277297 * overallSize",
     "2.370519 * overallSize"
    ],
    [
     "-0.303711 * overallSize",
     "2.381504 * overallSize"
    ],
    [
     "-0.329319 * overallSize",
     "2.394400 * overallSize"
    ],
    [
     "-0.353899 * overallSize",
     "2.409101 * overallSize"
    ],
    [
     "-0.377345 * overallSize",
     "2.425545 * overallSize"
    ],
    [
     "-0.399518 * overallSize",
     "2.443620 * overallSize"
    ],
    [
     "-0.420370 * overallSize",
     "2.463299 * overallSize"
    ],
    [
     "-0.439719 * overallSize",
     "2.484415 * overallSize"
    ],
    [
     "-0.457486 * overallSize",
     "2.506876 * overallSize"
    ],
    [
     "-0.473566 * overallSize",
     "2.530537 * overallSize"
    ],
    [
     "-0.487920 * overallSize",
     "2.555358 * overallSize"
    ]
   ]
  }
 ],
 "lattice": {
  "a": [
   "547.78 / 547.78 * overallSize",
   "0"
  ],
  "b": [
   "0",
   "706.99 / 547.78 * overallSize"
  ]
 }
},"split-panel-patchwork":{
  "schema": 1,
  "id": "split-panel-patchwork",
  "name": "Split panel patchwork",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.9 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.9 * overallSize",
          "0.9 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.9 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.9 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "overallSize",
          "0.4 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0.125 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.625 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.58664982470476 * overallSize",
              "1.08664982470476 * overallSize"
            ],
            "from": [
              "0.5 * overallSize",
              "0.625 * overallSize"
            ],
            "to": [
              "0.125 * overallSize",
              "overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.9 * overallSize",
          "0.9 * overallSize"
        ],
        [
          "overallSize",
          "0.875 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.6 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.9 * overallSize",
          "0.4 * overallSize"
        ],
        [
          "0.9 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.6 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.375 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "-0.086632348559806 * overallSize",
              "0.413367651440194 * overallSize"
            ],
            "from": [
              "0.375 * overallSize",
              "0.5 * overallSize"
            ],
            "to": [
              "0",
              "0.875 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "0.875 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "-0.086674132824006 * overallSize",
              "0.413325867175994 * overallSize"
            ],
            "from": [
              "0",
              "0.875 * overallSize"
            ],
            "to": [
              "0.375 * overallSize",
              "0.5 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.875 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.6 * overallSize",
          "0"
        ],
        [
          "0.6 * overallSize",
          "0.1 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.1 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.4 * overallSize"
        ]
      ]
    },
    {
      "start": [
        "0",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.125 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.586632348559806 * overallSize",
              "1.086632348559806 * overallSize"
            ],
            "from": [
              "0.125 * overallSize",
              "overallSize"
            ],
            "to": [
              "0.5 * overallSize",
              "0.625 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "0.6 * overallSize"
        ],
        [
          "0.6 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.9 * overallSize",
          "0.9 * overallSize"
        ],
        [
          "0.9 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.875 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"split-rectangle":{
  "schema": 1,
  "id": "split-rectangle",
  "name": "Split rectangle",
  "category": "stone",
  "parameters": {
    "length": { "value": 450, "min": 200, "max": 2000, "label": "Paver length" },
    "width": { "value": 300, "min": 200, "max": 1200, "label": "Paver width" },
    "dotSize": { "value": 150, "min": 20, "max": 190, "label": "Square tile" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["length", "0"], ["length", "width"], ["(length + dotSize) / 2", "width"], ["(length + dotSize) / 2", "width - dotSize"], ["(length - dotSize) / 2", "width - dotSize"], ["(length - dotSize) / 2", "width"], ["0", "width"]] },
    { "rect": ["(length - dotSize) / 2", "width - dotSize", "(length + dotSize) / 2", "width"] },
    { "polygon": [["0", "width"], ["(length - dotSize) / 2", "width"], ["(length - dotSize) / 2", "width + dotSize"], ["(length + dotSize) / 2", "width + dotSize"], ["(length + dotSize) / 2", "width"], ["length", "width"], ["length", "2 * width"], ["0", "2 * width"]] },
    { "rect": ["(length - dotSize) / 2", "width", "(length + dotSize) / 2", "width + dotSize"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "2 * width"] }
}
,"split-square-grid":{
  "schema": 1,
  "id": "split-square-grid",
  "name": "Split square grid",
  "category": "ceramic",
  "parameters": {
    "length": { "value": 300, "min": 40, "max": 1500, "label": "Wide tile" },
    "bandWidth": { "value": 140, "min": 10, "max": 800, "label": "Narrow tile" },
    "width": { "value": 370, "min": 20, "max": 1500, "label": "Course height" },
    "span": { "expr": "2 * length + bandWidth" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "length + bandWidth", "width"] },
    { "rect": ["length + bandWidth", "0", "span", "width"] },
    { "rect": ["0", "width", "length", "2 * width"] },
    { "rect": ["length", "width", "length + bandWidth", "2 * width"] },
    { "rect": ["length + bandWidth", "width", "span", "2 * width"] }
  ],
  "lattice": { "a": ["span", "0"], "b": ["0", "2 * width"] }
}
,"split-square-pair":{
  "schema": 1,
  "id": "split-square-pair",
  "name": "Split square pair",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 100,
      "min": 20,
      "max": 600,
      "label": "Half tile side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "2 * moduleSize"
    ]
  }
},"split-square-sampler":{
  "schema": 1,
  "id": "split-square-sampler",
  "name": "Split square sampler",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 800,
      "min": 160,
      "max": 3200,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.125 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.25 * overallSize",
          "0"
        ],
        [
          "0.125 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0"
        ],
        [
          "0.25 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.357142857143 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.357142857143 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0",
          "0.392857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.428571428571 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.375 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.321428571429 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.321428571429 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.357142857143 * overallSize"
        ],
        [
          "0",
          "0.357142857143 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.375 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.25 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.321428571429 * overallSize"
        ],
        [
          "0",
          "0.321428571429 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.392857142857 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.392857142857 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.428571428571 * overallSize"
        ],
        [
          "0",
          "0.428571428571 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.125 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.125 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.607142857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.678571428571 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.678571428571 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.571428571429 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.642857142857 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.678571428571 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.678571428571 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.375 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.25 * overallSize"
        ],
        [
          "overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.625 * overallSize",
          "0"
        ],
        [
          "0.75 * overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.625 * overallSize",
          "0"
        ],
        [
          "0.75 * overallSize",
          "0"
        ],
        [
          "0.75 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.625 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.25 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.25 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.875 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.75 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.75 * overallSize"
        ],
        [
          "overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.642857142857 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.678571428571 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.678571428571 * overallSize",
          "overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.607142857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.642857142857 * overallSize",
          "overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.678571428571 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "overallSize"
        ],
        [
          "0.678571428571 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.571428571429 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.607142857143 * overallSize",
          "overallSize"
        ],
        [
          "0.571428571429 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.25 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.875 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.875 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.892857142857 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.892857142857 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.928571428571 * overallSize"
        ],
        [
          "0",
          "0.928571428571 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.857142857143 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.857142857143 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.892857142857 * overallSize"
        ],
        [
          "0",
          "0.892857142857 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.75 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.821428571429 * overallSize"
        ],
        [
          "0",
          "0.821428571429 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.928571428571 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.928571428571 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "overallSize"
        ],
        [
          "0",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.821428571429 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.821428571429 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.857142857143 * overallSize"
        ],
        [
          "0",
          "0.857142857143 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"square-and-corner-block":{
  "schema": 1,
  "id": "square-and-corner-block",
  "name": "Square with corner block",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 250,
      "min": 110,
      "max": 1200,
      "label": "Tile side"
    },
    "dotSize": {
      "value": 35,
      "min": 5,
      "max": 100,
      "label": "Corner dot side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "edge",
          "0"
        ],
        [
          "edge",
          "edge - dotSize"
        ],
        [
          "edge - dotSize",
          "edge - dotSize"
        ],
        [
          "edge - dotSize",
          "edge"
        ],
        [
          "0",
          "edge"
        ]
      ]
    },
    {
      "rect": [
        "edge - dotSize",
        "edge - dotSize",
        "edge",
        "edge"
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "edge"
    ]
  }
},"square-and-corner-dot":{
  "schema": 1,
  "id": "square-and-corner-dot",
  "name": "Square with corner dot",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 100,
      "min": 60,
      "max": 1000,
      "label": "Tile side"
    },
    "diameter": {
      "value": 30,
      "min": 2,
      "max": 55,
      "label": "Dot diameter"
    }
  },
  "tiles": [
    {
      "start": [
        "diameter / 2",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "edge - diameter / 2",
              "0"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "edge",
              "0"
            ],
            "from": [
              "edge - diameter / 2",
              "0"
            ],
            "to": [
              "edge",
              "diameter / 2"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "diameter / 2"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "0",
              "diameter / 2"
            ],
            "to": [
              "diameter / 2",
              "0"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "edge"
      ],
      "path": [
        {
          "line": {
            "to": [
              "edge",
              "edge"
            ]
          }
        },
        {
          "line": {
            "to": [
              "edge",
              "2 * edge - diameter / 2"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "edge",
              "2 * edge"
            ],
            "from": [
              "edge",
              "2 * edge - diameter / 2"
            ],
            "to": [
              "edge - diameter / 2",
              "2 * edge"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "diameter / 2",
              "2 * edge"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "2 * edge"
            ],
            "from": [
              "diameter / 2",
              "2 * edge"
            ],
            "to": [
              "0",
              "2 * edge - diameter / 2"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0",
              "edge"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "diameter / 2",
        "0"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "diameter / 2",
              "0"
            ],
            "to": [
              "-(diameter / 2)",
              "0"
            ],
            "clockwise": false
          }
        },
        {
          "arc": {
            "center": [
              "0",
              "0"
            ],
            "from": [
              "-(diameter / 2)",
              "0"
            ],
            "to": [
              "diameter / 2",
              "0"
            ],
            "clockwise": false
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "edge",
      "0"
    ],
    "b": [
      "0",
      "2 * edge"
    ]
  }
}
,"square-and-cross-bands":{
  "schema": 1,
  "id": "square-and-cross-bands",
  "name": "Square and cross bands",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 10,
      "min": 2,
      "max": 60,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "rect": [
        "9 * moduleSize",
        "-8 * moduleSize",
        "31 * moduleSize",
        "15 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "0",
        "9 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "-7 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "-7 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "35 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "35 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "19 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "24 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "31 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "31 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "24 * moduleSize",
          "19 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "16 * moduleSize",
        "15 * moduleSize",
        "24 * moduleSize",
        "27 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "35 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "35 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "24 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "35 * moduleSize"
        ],
        [
          "31 * moduleSize",
          "35 * moduleSize"
        ],
        [
          "31 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "24 * moduleSize",
          "27 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "31 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-35 * moduleSize"
    ]
  }
},"square-and-half":{
  "schema": 1,
  "id": "square-and-half",
  "name": "Square and half",
  "category": "stone",
  "parameters": {
    "edge": { "value": 120, "min": 40, "max": 1200, "label": "Square side" },
    "half": { "expr": "edge / 2" }
  },
  "tiles": [
    { "rect": ["0", "edge", "edge", "2 * edge"] },
    { "rect": ["edge", "edge", "edge + half", "2 * edge"] },
    { "rect": ["0", "0", "half", "edge"] },
    { "rect": ["half", "0", "half + edge", "edge"] }
  ],
  "lattice": { "a": ["edge + half", "0"], "b": ["0", "2 * edge"] }
}
,"square-and-metro":{
  "schema": 1,
  "id": "square-and-metro",
  "name": "Square and metro",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 100, "min": 20, "max": 600, "label": "Square tile" },
    "length": { "value": 400, "min": 60, "max": 2000, "label": "Metro tile" }
  },
  "tiles": [
    { "rect": ["0", "0", "edge", "edge"] },
    { "rect": ["edge", "0", "2 * edge", "edge"] },
    { "rect": ["0", "edge", "2 * edge", "2 * edge"] },
    { "rect": ["0", "2 * edge", "edge", "3 * edge"] },
    { "rect": ["edge", "2 * edge", "2 * edge", "3 * edge"] },
    { "rect": ["0", "3 * edge", "edge", "3 * edge + length"] },
    { "rect": ["edge", "3 * edge", "2 * edge", "3 * edge + length"] }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["0", "3 * edge + length"] }
}
,"square-and-split-cross":{
  "schema": 1,
  "id": "square-and-split-cross",
  "name": "Square and split cross",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 30,
      "min": 6,
      "max": 180,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "rect": [
        "3 * moduleSize",
        "-2 * moduleSize",
        "9 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "0",
        "moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "0",
        "2 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "0",
        "3 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "-2 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "moduleSize",
          "9 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ],
        [
          "-2 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "4 * moduleSize",
        "7 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "5 * moduleSize",
        "7 * moduleSize",
        "6 * moduleSize"
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "6 * moduleSize",
        "7 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "9 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-9 * moduleSize"
    ]
  }
},"square-and-strip-mix":{
  "schema": 1,
  "id": "square-and-strip-mix",
  "name": "Square and strip mix",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 200, "min": 50, "max": 1200, "label": "Square side" },
    "width": { "expr": "edge / 4" }
  },
  "tiles": [
    { "rect": ["0", "2 * edge", "edge", "3 * edge"] },
    { "rect": ["3 * edge", "2 * edge", "4 * edge", "3 * edge"] },
    { "rect": ["edge", "edge", "2 * edge", "2 * edge"] },
    { "rect": ["3 * edge", "edge", "4 * edge", "2 * edge"] },
    { "rect": ["edge", "0", "2 * edge", "edge"] },
    { "rect": ["3 * edge", "0", "4 * edge", "edge"] },
    { "repeat": { "index": "k", "count": "8" },
      "rect": ["edge + floor(k / 4) * edge", "2 * edge + (k - 4 * floor(k / 4)) * width",
               "2 * edge + floor(k / 4) * edge", "2 * edge + (k - 4 * floor(k / 4) + 1) * width"] },
    { "repeat": { "index": "k", "count": "8" },
      "rect": ["(k - 4 * floor(k / 4)) * width", "floor(k / 4) * edge",
               "(k - 4 * floor(k / 4) + 1) * width", "(floor(k / 4) + 1) * edge"] },
    { "repeat": { "index": "k", "count": "8" },
      "rect": ["2 * edge + (k - 4 * floor(k / 4)) * width", "floor(k / 4) * edge",
               "2 * edge + (k - 4 * floor(k / 4) + 1) * width", "(floor(k / 4) + 1) * edge"] }
  ],
  "lattice": { "a": ["4 * edge", "0"], "b": ["0", "3 * edge"] }
}
,"stack-bond":{
  "schema": 1,
  "id": "stack-bond",
  "name": "Stack bond",
  "category": "ceramic",
  "parameters": {
    "length": { "value": 600, "min": 10, "max": 3000, "label": "Length" },
    "width": { "value": 300, "min": 10, "max": 3000, "label": "Width" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["0", "width"] }
}
,"stadium-split-tile":{
  "schema": 1,
  "id": "stadium-split-tile",
  "name": "Stadium split tile",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 280, "min": 40, "max": 290, "label": "Stadium width" },
    "length": { "value": 900, "min": 300, "max": 2400, "label": "Stadium length" },
    "gap": { "value": 100, "min": 10, "max": 500, "label": "Border" },
    "radius": { "expr": "width / 2" },
    "centre": { "expr": "gap + radius" },
    "top": { "expr": "gap + length" },
    "span": { "expr": "width + 2 * gap" },
    "height": { "expr": "length + 2 * gap" }
  },
  "tiles": [
    {
      "start": ["centre", "top"],
      "path": [
        { "arc": { "center": ["centre", "top - radius"], "from": ["centre", "top"], "to": ["centre - radius", "top - radius"], "clockwise": false } },
        { "line": { "to": ["centre - radius", "gap + radius"] } },
        { "arc": { "center": ["centre", "gap + radius"], "from": ["centre - radius", "gap + radius"], "to": ["centre", "gap"], "clockwise": false } },
        { "line": { "to": ["centre", "top"] } }
      ]
    },
    {
      "start": ["centre", "gap"],
      "path": [
        { "arc": { "center": ["centre", "gap + radius"], "from": ["centre", "gap"], "to": ["centre + radius", "gap + radius"], "clockwise": false } },
        { "line": { "to": ["centre + radius", "top - radius"] } },
        { "arc": { "center": ["centre", "top - radius"], "from": ["centre + radius", "top - radius"], "to": ["centre", "top"], "clockwise": false } },
        { "line": { "to": ["centre", "gap"] } }
      ]
    },
    {
      "start": ["0", "0"],
      "path": [
        { "line": { "to": ["centre", "0"] } },
        { "line": { "to": ["centre", "gap"] } },
        { "arc": { "center": ["centre", "gap + radius"], "from": ["centre", "gap"], "to": ["centre - radius", "gap + radius"], "clockwise": true } },
        { "line": { "to": ["centre - radius", "top - radius"] } },
        { "arc": { "center": ["centre", "top - radius"], "from": ["centre - radius", "top - radius"], "to": ["centre", "top"], "clockwise": true } },
        { "line": { "to": ["centre", "height"] } },
        { "line": { "to": ["0", "height"] } },
        { "line": { "to": ["0", "0"] } }
      ]
    },
    {
      "start": ["centre", "0"],
      "path": [
        { "line": { "to": ["span", "0"] } },
        { "line": { "to": ["span", "height"] } },
        { "line": { "to": ["centre", "height"] } },
        { "line": { "to": ["centre", "top"] } },
        { "arc": { "center": ["centre", "top - radius"], "from": ["centre", "top"], "to": ["centre + radius", "top - radius"], "clockwise": true } },
        { "line": { "to": ["centre + radius", "gap + radius"] } },
        { "arc": { "center": ["centre", "gap + radius"], "from": ["centre + radius", "gap + radius"], "to": ["centre", "gap"], "clockwise": true } },
        { "line": { "to": ["centre", "0"] } }
      ]
    }
  ],
  "lattice": { "a": ["span", "0"], "b": ["0", "height"] }
}
,"staggered-bond":{
  "schema": 1,
  "id": "staggered-bond",
  "name": "Staggered bond",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" },
    "lengthStep": { "expr": "length / 8" },
    "rows": { "expr": "8" },
    "period": { "expr": "6 * length" },
    "minimumStagger": { "expr": "length / 4" }
  },
  "generator": {
    "randomRows": {
      "width": "width",
      "minimumLength": "length",
      "maximumLength": "length",
      "lengthStep": "lengthStep",
      "rows": "rows",
      "period": "period",
      "minimumStagger": "minimumStagger",
      "seed": "seed"
    }
  }
}
,"staggered-parallelogram-band":{
  "schema": 1,
  "id": "staggered-parallelogram-band",
  "name": "Staggered parallelogram band",
  "category": "stone",
  "parameters": {
    "width": { "value": 180, "min": 20, "max": 800, "label": "Slat width" },
    "length": { "value": 400, "min": 60, "max": 2000, "label": "Slat side" },
    "bandWidth": { "value": 70, "min": 5, "max": 400, "label": "Band width" },
    "skew": { "expr": "width / 2" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["width", "skew"], ["width", "skew + length"], ["0", "length"]] },
    { "polygon": [["width", "skew + length / 2"], ["2 * width", "skew + length / 2 + skew"], ["2 * width", "skew + length / 2 + skew + length"], ["width", "skew + length / 2 + length"]] },
    { "rect": ["2 * width", "0", "2 * width + bandWidth", "length"] }
  ],
  "lattice": { "a": ["2 * width + bandWidth", "0"], "b": ["0", "length"] }
}
,"staggered-triangle":{
  "schema": 1,
  "id": "staggered-triangle",
  "name": "Staggered triangle",
  "category": "ceramic",
  "parameters": {
    "base": { "value": 200, "min": 20, "max": 1000, "label": "Base" },
    "height": { "value": 175, "min": 20, "max": 1000, "label": "Height" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["base", "0"], ["base / 2", "height"]] },
    { "polygon": [["base", "0"], ["3 * base / 2", "height"], ["base / 2", "height"]] }
  ],
  "lattice": { "a": ["base", "0"], "b": ["0", "height"] }
}
,"staircase-ribbon":{
  "schema": 1,
  "id": "staircase-ribbon",
  "name": "Staircase ribbon",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 60,
      "min": 10,
      "max": 400,
      "label": "Step across"
    },
    "length": {
      "value": 100,
      "min": 10,
      "max": 600,
      "label": "Step up"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "9 * width",
          "0"
        ],
        [
          "9 * width",
          "3 * length"
        ],
        [
          "8 * width",
          "3 * length"
        ],
        [
          "8 * width",
          "5 * length"
        ],
        [
          "7 * width",
          "5 * length"
        ],
        [
          "7 * width",
          "7 * length"
        ],
        [
          "6 * width",
          "7 * length"
        ],
        [
          "6 * width",
          "8 * length"
        ],
        [
          "4 * width",
          "8 * length"
        ],
        [
          "4 * width",
          "7 * length"
        ],
        [
          "3 * width",
          "7 * length"
        ],
        [
          "3 * width",
          "5 * length"
        ],
        [
          "2 * width",
          "5 * length"
        ],
        [
          "2 * width",
          "3 * length"
        ],
        [
          "width",
          "3 * length"
        ],
        [
          "width",
          "length"
        ],
        [
          "0",
          "length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * width",
          "0"
        ],
        [
          "10 * width",
          "0"
        ],
        [
          "10 * width",
          "8 * length"
        ],
        [
          "6 * width",
          "8 * length"
        ],
        [
          "6 * width",
          "7 * length"
        ],
        [
          "7 * width",
          "7 * length"
        ],
        [
          "7 * width",
          "5 * length"
        ],
        [
          "8 * width",
          "5 * length"
        ],
        [
          "8 * width",
          "3 * length"
        ],
        [
          "9 * width",
          "3 * length"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "length"
        ],
        [
          "width",
          "length"
        ],
        [
          "width",
          "3 * length"
        ],
        [
          "2 * width",
          "3 * length"
        ],
        [
          "2 * width",
          "5 * length"
        ],
        [
          "3 * width",
          "5 * length"
        ],
        [
          "3 * width",
          "7 * length"
        ],
        [
          "4 * width",
          "7 * length"
        ],
        [
          "4 * width",
          "8 * length"
        ],
        [
          "0",
          "8 * length"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "10 * width",
      "0"
    ],
    "b": [
      "0",
      "8 * length"
    ]
  }
}
,"standing-seam-panel":{
  "schema": 1,
  "id": "standing-seam-panel",
  "name": "Standing seam panel",
  "category": "metal",
  "parameters": {
    "coverWidth": {
      "value": 406,
      "min": 150,
      "max": 1000,
      "label": "Panel coverage"
    },
    "depth": {
      "value": 38,
      "min": 10,
      "max": 100,
      "label": "Seam height"
    },
    "seamTop": {
      "expr": "12"
    },
    "flank": {
      "expr": "6"
    },
    "panels": {
      "expr": "4"
    },
    "length": {
      "value": 3000,
      "min": 300,
      "max": 13500,
      "label": "Panel length"
    },
    "width": {
      "expr": "panels * coverWidth"
    },
    "pan": {
      "expr": "coverWidth - seamTop - 2 * flank"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "width"
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "0",
      "width"
    ]
  },
  "body": {
    "profile": {
      "start": [
        "0",
        "depth"
      ],
      "section": [
        {
          "line": {
            "to": [
              "seamTop / 2",
              "depth"
            ]
          }
        },
        {
          "line": {
            "to": [
              "seamTop / 2 + flank",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "seamTop / 2 + flank + pan",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "seamTop / 2 + 2 * flank + pan",
              "depth"
            ]
          }
        },
        {
          "line": {
            "to": [
              "coverWidth",
              "depth"
            ]
          }
        }
      ]
    }
  }
}
,"star-and-cross":{
  "schema": 1,
  "id": "star-and-cross",
  "name": "Star and cross",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Edge"},
    "starDepthRatio": { "expr": "0.585786" },
    "rootTwo": {"expr": "sqrt(2)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge * (1 + rootTwo) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (2 + rootTwo) / 4)", "starDepthRatio * (edge * (2 + rootTwo) / 4)"],
        ["edge / 2", "edge * (1 + rootTwo) / 2"],
        ["0", "starDepthRatio * (edge * (1 + rootTwo) / 2)"],
        ["-edge / 2", "edge * (1 + rootTwo) / 2"],
        ["starDepthRatio * (edge * (-2 - rootTwo) / 4)", "starDepthRatio * (edge * (2 + rootTwo) / 4)"],
        ["edge * (-1 - rootTwo) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (-1 - rootTwo) / 2)", "0"],
        ["edge * (-1 - rootTwo) / 2", "-edge / 2"],
        ["starDepthRatio * (edge * (-2 - rootTwo) / 4)", "starDepthRatio * (edge * (-2 - rootTwo) / 4)"],
        ["-edge / 2", "edge * (-1 - rootTwo) / 2"],
        ["0", "starDepthRatio * (edge * (-1 - rootTwo) / 2)"],
        ["edge / 2", "edge * (-1 - rootTwo) / 2"],
        ["starDepthRatio * (edge * (2 + rootTwo) / 4)", "starDepthRatio * (edge * (-2 - rootTwo) / 4)"],
        ["edge * (1 + rootTwo) / 2", "-edge / 2"],
        ["starDepthRatio * (edge * (1 + rootTwo) / 2)", "0"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "edge * (-1 - rootTwo) / 2"],
        ["0", "starDepthRatio * (edge * (-1 - rootTwo) / 2)"],
        ["edge / 2", "edge * (-1 - rootTwo) / 2"],
        ["0", "edge * (-1 - rootTwo) + starDepthRatio * (edge * (-1 - rootTwo) / 2 - (edge * (-1 - rootTwo)))"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootTwo) / 2", "edge / 2"],
        ["starDepthRatio * (edge * (-1 - rootTwo) / 2)", "0"],
        ["edge * (-1 - rootTwo) / 2", "-edge / 2"],
        ["edge * (-1 - rootTwo) + starDepthRatio * (edge * (-1 - rootTwo) / 2 - (edge * (-1 - rootTwo)))", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - 2 * rootTwo) / 2", "edge * (-1 - rootTwo) / 2"],
        ["edge * (-1 - rootTwo) + starDepthRatio * (edge * (-2 - 3 * rootTwo) / 4 - (edge * (-1 - rootTwo)))", "edge * (-1 - rootTwo) + starDepthRatio * (edge * (-2 - 3 * rootTwo) / 4 - (edge * (-1 - rootTwo)))"],
        ["edge * (-1 - rootTwo) / 2", "edge * (-1 - 2 * rootTwo) / 2"],
        ["starDepthRatio * (edge * (-2 - rootTwo) / 4)", "edge * (-1 - rootTwo) + starDepthRatio * (edge * (-2 - 3 * rootTwo) / 4 - (edge * (-1 - rootTwo)))"],
        ["-edge / 2", "edge * (-1 - rootTwo) / 2"],
        ["starDepthRatio * (edge * (-2 - rootTwo) / 4)", "starDepthRatio * (edge * (-2 - rootTwo) / 4)"],
        ["edge * (-1 - rootTwo) / 2", "-edge / 2"],
        ["edge * (-1 - rootTwo) + starDepthRatio * (edge * (-2 - 3 * rootTwo) / 4 - (edge * (-1 - rootTwo)))", "starDepthRatio * (edge * (-2 - rootTwo) / 4)"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (1 + rootTwo)", "0"], "b": ["0", "edge * (1 + rootTwo)"] }
}
,"star-and-square-grid":{
  "schema": 1,
  "id": "star-and-square-grid",
  "name": "Star and square grid",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.344827586207 * overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.655172413793 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.827586206897 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.827586206897 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.172413793103 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0"
        ],
        [
          "0.344827586207 * overallSize",
          "0.172413793103 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0",
          "0.48275862069 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.344827586207 * overallSize",
          "0.827586206897 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.827586206897 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "overallSize"
        ],
        [
          "0",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.827586206897 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.344827586207 * overallSize",
          "0.827586206897 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.51724137931 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "overallSize",
          "0.827586206897 * overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.827586206897 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.344827586207 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.827586206897 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "0.655172413793 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.48275862069 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0",
          "0.655172413793 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.344827586207 * overallSize",
          "0"
        ],
        [
          "0.344827586207 * overallSize",
          "0.172413793103 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.827586206897 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.172413793103 * overallSize"
        ],
        [
          "overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.172413793103 * overallSize"
        ],
        [
          "0.51724137931 * overallSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.344827586207 * overallSize",
          "0"
        ],
        [
          "0.51724137931 * overallSize",
          "0"
        ],
        [
          "0.344827586207 * overallSize",
          "0.172413793103 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.344827586207 * overallSize",
          "0.48275862069 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0.655172413793 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.172413793103 * overallSize"
        ],
        [
          "0.827586206897 * overallSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.827586206897 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "overallSize",
          "0.827586206897 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.172413793103 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0.344827586207 * overallSize",
          "0.827586206897 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.172413793103 * overallSize",
          "0"
        ],
        [
          "0",
          "0.172413793103 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.655172413793 * overallSize"
        ],
        [
          "0.172413793103 * overallSize",
          "0.655172413793 * overallSize"
        ],
        [
          "0",
          "0.827586206897 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"star-and-square-panel":{
  "schema": 1,
  "id": "star-and-square-panel",
  "name": "Star and square panel",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 30,
      "min": 6,
      "max": 180,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "6 * moduleSize",
          "-3 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "-2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "0",
          "12 * moduleSize"
        ],
        [
          "-4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "12 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "0",
          "13 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "12 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-12 * moduleSize"
    ]
  }
},"star-cross-chamfer":{
  "schema": 1,
  "id": "star-cross-chamfer",
  "name": "Star and cross with chamfer",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 60,
      "min": 12,
      "max": 360,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "-moduleSize"
        ],
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "0"
        ],
        [
          "9 * moduleSize",
          "0"
        ],
        [
          "9 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ],
        [
          "-moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "-moduleSize",
        "6 * moduleSize",
        "moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-8 * moduleSize"
    ]
  }
},"star-cross-notched":{
  "schema": 1,
  "id": "star-cross-notched",
  "name": "Star and cross, notched",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 10,
      "min": 2,
      "max": 60,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "2 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "0",
          "6 * moduleSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "-3 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "-3 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "-15 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "-15 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "-17 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "-17 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "-15 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "-15 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "-3 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "-3 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "0"
        ],
        [
          "40 * moduleSize",
          "0"
        ],
        [
          "40 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "23 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "25 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "25 * moduleSize"
        ],
        [
          "23 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "42 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "42 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "54 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "54 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "57 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "57 * moduleSize",
          "25 * moduleSize"
        ],
        [
          "54 * moduleSize",
          "25 * moduleSize"
        ],
        [
          "54 * moduleSize",
          "37 * moduleSize"
        ],
        [
          "42 * moduleSize",
          "37 * moduleSize"
        ],
        [
          "42 * moduleSize",
          "40 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "40 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "37 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "37 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "40 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-40 * moduleSize"
    ]
  }
},"star-mosaic":{
  "schema": 1,
  "id": "star-mosaic",
  "name": "Star mosaic",
  "category": "ceramic",
  "parameters": {
    "cellSize": {
      "value": 2400,
      "min": 600,
      "max": 6000,
      "label": "Repeat width"
    },
    "stepX": {
      "expr": "cellSize / 176"
    },
    "stepY": {
      "expr": "cellSize * 0.726505561949 / 128"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "150 * stepX",
          "68 * stepY"
        ],
        [
          "155 * stepX",
          "64 * stepY"
        ],
        [
          "162 * stepX",
          "69 * stepY"
        ],
        [
          "159 * stepX",
          "76 * stepY"
        ],
        [
          "138 * stepX",
          "76 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "162 * stepX",
          "69 * stepY"
        ],
        [
          "155 * stepX",
          "64 * stepY"
        ],
        [
          "162 * stepX",
          "59 * stepY"
        ],
        [
          "159 * stepX",
          "52 * stepY"
        ],
        [
          "167 * stepX",
          "52 * stepY"
        ],
        [
          "170 * stepX",
          "44 * stepY"
        ],
        [
          "176 * stepX",
          "49 * stepY"
        ],
        [
          "182 * stepX",
          "44 * stepY"
        ],
        [
          "185 * stepX",
          "52 * stepY"
        ],
        [
          "193 * stepX",
          "52 * stepY"
        ],
        [
          "190 * stepX",
          "59 * stepY"
        ],
        [
          "197 * stepX",
          "64 * stepY"
        ],
        [
          "190 * stepX",
          "69 * stepY"
        ],
        [
          "193 * stepX",
          "76 * stepY"
        ],
        [
          "185 * stepX",
          "76 * stepY"
        ],
        [
          "182 * stepX",
          "84 * stepY"
        ],
        [
          "176 * stepX",
          "79 * stepY"
        ],
        [
          "170 * stepX",
          "84 * stepY"
        ],
        [
          "167 * stepX",
          "76 * stepY"
        ],
        [
          "159 * stepX",
          "76 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "88 * stepX",
          "40 * stepY"
        ],
        [
          "93 * stepX",
          "25 * stepY"
        ],
        [
          "94 * stepX",
          "20 * stepY"
        ],
        [
          "111 * stepX",
          "32 * stepY"
        ],
        [
          "115 * stepX",
          "44 * stepY"
        ],
        [
          "105 * stepX",
          "52 * stepY"
        ],
        [
          "92 * stepX",
          "52 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "97 * stepX",
          "12 * stepY"
        ],
        [
          "105 * stepX",
          "12 * stepY"
        ],
        [
          "105 * stepX",
          "14 * stepY"
        ],
        [
          "111 * stepX",
          "32 * stepY"
        ],
        [
          "94 * stepX",
          "20 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "71 * stepX",
          "52 * stepY"
        ],
        [
          "84 * stepX",
          "52 * stepY"
        ],
        [
          "88 * stepX",
          "40 * stepY"
        ],
        [
          "92 * stepX",
          "52 * stepY"
        ],
        [
          "105 * stepX",
          "52 * stepY"
        ],
        [
          "98 * stepX",
          "56 * stepY"
        ],
        [
          "96 * stepX",
          "58 * stepY"
        ],
        [
          "88 * stepX",
          "64 * stepY"
        ],
        [
          "75 * stepX",
          "55 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "14 * stepX",
          "69 * stepY"
        ],
        [
          "21 * stepX",
          "64 * stepY"
        ],
        [
          "26 * stepX",
          "68 * stepY"
        ],
        [
          "38 * stepX",
          "76 * stepY"
        ],
        [
          "17 * stepX",
          "76 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "17 * stepX",
          "52 * stepY"
        ],
        [
          "38 * stepX",
          "52 * stepY"
        ],
        [
          "31 * stepX",
          "56 * stepY"
        ],
        [
          "21 * stepX",
          "64 * stepY"
        ],
        [
          "14 * stepX",
          "59 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "88 * stepX",
          "64 * stepY"
        ],
        [
          "96 * stepX",
          "58 * stepY"
        ],
        [
          "98 * stepX",
          "56 * stepY"
        ],
        [
          "105 * stepX",
          "52 * stepY"
        ],
        [
          "118 * stepX",
          "52 * stepY"
        ],
        [
          "122 * stepX",
          "64 * stepY"
        ],
        [
          "118 * stepX",
          "76 * stepY"
        ],
        [
          "105 * stepX",
          "76 * stepY"
        ],
        [
          "94 * stepX",
          "68 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "115 * stepX",
          "44 * stepY"
        ],
        [
          "111 * stepX",
          "32 * stepY"
        ],
        [
          "122 * stepX",
          "40 * stepY"
        ],
        [
          "132 * stepX",
          "32 * stepY"
        ],
        [
          "128 * stepX",
          "44 * stepY"
        ],
        [
          "138 * stepX",
          "52 * stepY"
        ],
        [
          "126 * stepX",
          "52 * stepY"
        ],
        [
          "122 * stepX",
          "64 * stepY"
        ],
        [
          "118 * stepX",
          "52 * stepY"
        ],
        [
          "105 * stepX",
          "52 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "82 * stepX",
          "20 * stepY"
        ],
        [
          "88 * stepX",
          "15 * stepY"
        ],
        [
          "94 * stepX",
          "20 * stepY"
        ],
        [
          "93 * stepX",
          "25 * stepY"
        ],
        [
          "88 * stepX",
          "40 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-4 * stepX",
          "37 * stepY"
        ],
        [
          "0",
          "24 * stepY"
        ],
        [
          "4 * stepX",
          "37 * stepY"
        ],
        [
          "6 * stepX",
          "44 * stepY"
        ],
        [
          "0",
          "49 * stepY"
        ],
        [
          "-6 * stepX",
          "44 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "48 * stepX",
          "84 * stepY"
        ],
        [
          "38 * stepX",
          "76 * stepY"
        ],
        [
          "50 * stepX",
          "76 * stepY"
        ],
        [
          "54 * stepX",
          "64 * stepY"
        ],
        [
          "58 * stepX",
          "76 * stepY"
        ],
        [
          "71 * stepX",
          "76 * stepY"
        ],
        [
          "61 * stepX",
          "84 * stepY"
        ],
        [
          "65 * stepX",
          "96 * stepY"
        ],
        [
          "54 * stepX",
          "88 * stepY"
        ],
        [
          "44 * stepX",
          "96 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "17 * stepX",
          "50 * stepY"
        ],
        [
          "23 * stepX",
          "32 * stepY"
        ],
        [
          "34 * stepX",
          "24 * stepY"
        ],
        [
          "44 * stepX",
          "32 * stepY"
        ],
        [
          "48 * stepX",
          "44 * stepY"
        ],
        [
          "38 * stepX",
          "52 * stepY"
        ],
        [
          "17 * stepX",
          "52 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "54 * stepX",
          "64 * stepY"
        ],
        [
          "58 * stepX",
          "52 * stepY"
        ],
        [
          "71 * stepX",
          "52 * stepY"
        ],
        [
          "75 * stepX",
          "55 * stepY"
        ],
        [
          "88 * stepX",
          "64 * stepY"
        ],
        [
          "74 * stepX",
          "74 * stepY"
        ],
        [
          "71 * stepX",
          "76 * stepY"
        ],
        [
          "58 * stepX",
          "76 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "153 * stepX",
          "32 * stepY"
        ],
        [
          "170 * stepX",
          "44 * stepY"
        ],
        [
          "167 * stepX",
          "52 * stepY"
        ],
        [
          "159 * stepX",
          "52 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "132 * stepX",
          "32 * stepY"
        ],
        [
          "142 * stepX",
          "24 * stepY"
        ],
        [
          "153 * stepX",
          "32 * stepY"
        ],
        [
          "159 * stepX",
          "52 * stepY"
        ],
        [
          "138 * stepX",
          "52 * stepY"
        ],
        [
          "128 * stepX",
          "44 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "65 * stepX",
          "32 * stepY"
        ],
        [
          "73 * stepX",
          "26 * stepY"
        ],
        [
          "82 * stepX",
          "20 * stepY"
        ],
        [
          "88 * stepX",
          "40 * stepY"
        ],
        [
          "84 * stepX",
          "52 * stepY"
        ],
        [
          "71 * stepX",
          "52 * stepY"
        ],
        [
          "61 * stepX",
          "44 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "115 * stepX",
          "84 * stepY"
        ],
        [
          "105 * stepX",
          "76 * stepY"
        ],
        [
          "118 * stepX",
          "76 * stepY"
        ],
        [
          "122 * stepX",
          "64 * stepY"
        ],
        [
          "126 * stepX",
          "76 * stepY"
        ],
        [
          "138 * stepX",
          "76 * stepY"
        ],
        [
          "128 * stepX",
          "84 * stepY"
        ],
        [
          "132 * stepX",
          "96 * stepY"
        ],
        [
          "122 * stepX",
          "88 * stepY"
        ],
        [
          "111 * stepX",
          "96 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "48 * stepX",
          "44 * stepY"
        ],
        [
          "44 * stepX",
          "32 * stepY"
        ],
        [
          "54 * stepX",
          "40 * stepY"
        ],
        [
          "65 * stepX",
          "32 * stepY"
        ],
        [
          "61 * stepX",
          "44 * stepY"
        ],
        [
          "71 * stepX",
          "52 * stepY"
        ],
        [
          "58 * stepX",
          "52 * stepY"
        ],
        [
          "54 * stepX",
          "64 * stepY"
        ],
        [
          "50 * stepX",
          "52 * stepY"
        ],
        [
          "38 * stepX",
          "52 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "40 * stepX",
          "20 * stepY"
        ],
        [
          "50 * stepX",
          "12 * stepY"
        ],
        [
          "71 * stepX",
          "12 * stepY"
        ],
        [
          "71 * stepX",
          "14 * stepY"
        ],
        [
          "65 * stepX",
          "32 * stepY"
        ],
        [
          "54 * stepX",
          "40 * stepY"
        ],
        [
          "44 * stepX",
          "32 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "105 * stepX",
          "14 * stepY"
        ],
        [
          "105 * stepX",
          "12 * stepY"
        ],
        [
          "126 * stepX",
          "12 * stepY"
        ],
        [
          "136 * stepX",
          "20 * stepY"
        ],
        [
          "132 * stepX",
          "32 * stepY"
        ],
        [
          "122 * stepX",
          "40 * stepY"
        ],
        [
          "111 * stepX",
          "32 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "74 * stepX",
          "74 * stepY"
        ],
        [
          "88 * stepX",
          "64 * stepY"
        ],
        [
          "94 * stepX",
          "68 * stepY"
        ],
        [
          "105 * stepX",
          "76 * stepY"
        ],
        [
          "92 * stepX",
          "76 * stepY"
        ],
        [
          "88 * stepX",
          "88 * stepY"
        ],
        [
          "84 * stepX",
          "76 * stepY"
        ],
        [
          "71 * stepX",
          "76 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "21 * stepX",
          "64 * stepY"
        ],
        [
          "31 * stepX",
          "56 * stepY"
        ],
        [
          "38 * stepX",
          "52 * stepY"
        ],
        [
          "50 * stepX",
          "52 * stepY"
        ],
        [
          "54 * stepX",
          "64 * stepY"
        ],
        [
          "50 * stepX",
          "76 * stepY"
        ],
        [
          "38 * stepX",
          "76 * stepY"
        ],
        [
          "26 * stepX",
          "68 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "149 * stepX",
          "20 * stepY"
        ],
        [
          "159 * stepX",
          "12 * stepY"
        ],
        [
          "172 * stepX",
          "12 * stepY"
        ],
        [
          "176 * stepX",
          "24 * stepY"
        ],
        [
          "172 * stepX",
          "37 * stepY"
        ],
        [
          "170 * stepX",
          "44 * stepY"
        ],
        [
          "153 * stepX",
          "32 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * stepX",
          "44 * stepY"
        ],
        [
          "14 * stepX",
          "39 * stepY"
        ],
        [
          "23 * stepX",
          "32 * stepY"
        ],
        [
          "17 * stepX",
          "50 * stepY"
        ],
        [
          "17 * stepX",
          "52 * stepY"
        ],
        [
          "9 * stepX",
          "52 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "71 * stepX",
          "14 * stepY"
        ],
        [
          "71 * stepX",
          "12 * stepY"
        ],
        [
          "79 * stepX",
          "12 * stepY"
        ],
        [
          "82 * stepX",
          "20 * stepY"
        ],
        [
          "73 * stepX",
          "26 * stepY"
        ],
        [
          "65 * stepX",
          "32 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "138 * stepX",
          "52 * stepY"
        ],
        [
          "159 * stepX",
          "52 * stepY"
        ],
        [
          "162 * stepX",
          "59 * stepY"
        ],
        [
          "155 * stepX",
          "64 * stepY"
        ],
        [
          "145 * stepX",
          "56 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "122 * stepX",
          "64 * stepY"
        ],
        [
          "126 * stepX",
          "52 * stepY"
        ],
        [
          "138 * stepX",
          "52 * stepY"
        ],
        [
          "145 * stepX",
          "56 * stepY"
        ],
        [
          "155 * stepX",
          "64 * stepY"
        ],
        [
          "150 * stepX",
          "68 * stepY"
        ],
        [
          "138 * stepX",
          "76 * stepY"
        ],
        [
          "126 * stepX",
          "76 * stepY"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * stepX",
          "37 * stepY"
        ],
        [
          "0",
          "24 * stepY"
        ],
        [
          "4 * stepX",
          "12 * stepY"
        ],
        [
          "17 * stepX",
          "12 * stepY"
        ],
        [
          "27 * stepX",
          "20 * stepY"
        ],
        [
          "23 * stepX",
          "32 * stepY"
        ],
        [
          "14 * stepX",
          "39 * stepY"
        ],
        [
          "6 * stepX",
          "44 * stepY"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "176 * stepX",
      "0"
    ],
    "b": [
      "88 * stepX",
      "64 * stepY"
    ]
  }
}
,"star-square-and-pentagon":{
  "schema": 1,
  "id": "star-square-and-pentagon",
  "name": "Star, square and pentagon",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 255, "min": 120, "max": 2000, "label": "Star side" },
    "dotSize": { "value": 100, "min": 20, "max": 110, "label": "Small square" },
    "point": { "expr": "dotSize / 2" },
    "shoulder": { "expr": "(edge - dotSize) / 2" },
    "cell": { "expr": "edge + dotSize" },
    "middle": { "expr": "dotSize + edge / 2" }
  },
  "tiles": [
    { "rect": ["0", "0", "dotSize", "dotSize"] },
    {
      "polygon": [
        ["dotSize", "0"], ["dotSize + shoulder", "0"], ["middle", "point"], ["dotSize + shoulder", "dotSize"], ["dotSize", "dotSize"]
      ]
    },
    {
      "polygon": [
        ["dotSize + shoulder + dotSize", "0"], ["cell", "0"], ["cell", "dotSize"], ["dotSize + shoulder + dotSize", "dotSize"], ["middle", "point"]
      ]
    },
    {
      "polygon": [
        ["0", "dotSize"], ["dotSize", "dotSize"], ["dotSize", "dotSize + shoulder"], ["point", "middle"], ["0", "dotSize + shoulder"]
      ]
    },
    {
      "polygon": [
        ["0", "dotSize + shoulder + dotSize"], ["point", "middle"], ["dotSize", "dotSize + shoulder + dotSize"], ["dotSize", "cell"], ["0", "cell"]
      ]
    },
    {
      "polygon": [
        ["dotSize", "dotSize"], ["dotSize + shoulder", "dotSize"], ["middle", "dotSize - point"], ["dotSize + shoulder + dotSize", "dotSize"],
        ["cell", "dotSize"], ["cell", "dotSize + shoulder"], ["cell + point", "middle"], ["cell", "dotSize + shoulder + dotSize"],
        ["cell", "cell"], ["dotSize + shoulder + dotSize", "cell"], ["middle", "cell + point"], ["dotSize + shoulder", "cell"],
        ["dotSize", "cell"], ["dotSize", "dotSize + shoulder + dotSize"], ["dotSize - point", "middle"], ["dotSize", "dotSize + shoulder"]
      ]
    }
  ],
  "lattice": { "a": ["cell", "0"], "b": ["0", "cell"] }
}
,"stars-and-crosses":{
  "schema": 1,
  "id": "stars-and-crosses",
  "name": "Stars and crosses",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 200,
      "min": 20,
      "max": 1000,
      "label": "Tile square"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "-1 * overallSize / 4"
        ],
        [
          "2 * overallSize / 4",
          "-2 * overallSize / 4"
        ],
        [
          "4 * overallSize / 4",
          "-1 * overallSize / 4"
        ],
        [
          "4 * overallSize / 4",
          "0"
        ],
        [
          "3 * overallSize / 4",
          "0"
        ],
        [
          "2 * overallSize / 4",
          "2 * overallSize / 4"
        ],
        [
          "1 * overallSize / 4",
          "0"
        ],
        [
          "0",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "-1 * overallSize / 4"
        ],
        [
          "2 * overallSize / 4",
          "-2 * overallSize / 4"
        ],
        [
          "4 * overallSize / 4",
          "-1 * overallSize / 4"
        ],
        [
          "4 * overallSize / 4",
          "0"
        ],
        [
          "3 * overallSize / 4",
          "0"
        ],
        [
          "2 * overallSize / 4",
          "2 * overallSize / 4"
        ],
        [
          "1 * overallSize / 4",
          "0"
        ],
        [
          "0",
          "0"
        ]
      ],
      "transform": [
        {
          "rotate": {
            "angle": "90",
            "center": [
              "0",
              "0"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0",
          "-1 * overallSize / 4"
        ],
        [
          "2 * overallSize / 4",
          "-2 * overallSize / 4"
        ],
        [
          "4 * overallSize / 4",
          "-1 * overallSize / 4"
        ],
        [
          "4 * overallSize / 4",
          "0"
        ],
        [
          "3 * overallSize / 4",
          "0"
        ],
        [
          "2 * overallSize / 4",
          "2 * overallSize / 4"
        ],
        [
          "1 * overallSize / 4",
          "0"
        ],
        [
          "0",
          "0"
        ]
      ],
      "transform": [
        {
          "rotate": {
            "angle": "180",
            "center": [
              "0",
              "0"
            ]
          }
        }
      ]
    },
    {
      "polygon": [
        [
          "0",
          "-1 * overallSize / 4"
        ],
        [
          "2 * overallSize / 4",
          "-2 * overallSize / 4"
        ],
        [
          "4 * overallSize / 4",
          "-1 * overallSize / 4"
        ],
        [
          "4 * overallSize / 4",
          "0"
        ],
        [
          "3 * overallSize / 4",
          "0"
        ],
        [
          "2 * overallSize / 4",
          "2 * overallSize / 4"
        ],
        [
          "1 * overallSize / 4",
          "0"
        ],
        [
          "0",
          "0"
        ]
      ],
      "transform": [
        {
          "rotate": {
            "angle": "270",
            "center": [
              "0",
              "0"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "-overallSize",
      "overallSize"
    ],
    "b": [
      "overallSize",
      "overallSize"
    ]
  }
}
,"stepped-block":{
  "schema": 1,
  "id": "stepped-block",
  "name": "Stepped block",
  "category": "stone",
  "parameters": {
    "length": { "value": 230, "min": 60, "max": 2000, "label": "Block length" },
    "width": { "value": 35, "min": 10, "max": 600, "label": "Limb width" },
    "step": { "expr": "length * 0.1723" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"], ["width", "0"], ["width", "step"], ["2 * width", "step"],
        ["2 * width", "length - step"], ["width", "length - step"], ["width", "length"], ["0", "length"]
      ]
    },
    {
      "polygon": [
        ["3 * width", "0"], ["4 * width", "0"], ["4 * width", "length"], ["3 * width", "length"],
        ["3 * width", "length - step"], ["2 * width", "length - step"], ["2 * width", "step"], ["3 * width", "step"]
      ]
    }
  ],
  "lattice": { "a": ["4 * width", "0"], "b": ["2 * width", "length - step"] }
}
,"stepped-corner-split":{
  "schema": 1,
  "id": "stepped-corner-split",
  "name": "Stepped corner split",
  "category": "stone",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0.073529411765 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.338235294118 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.705882352941 * overallSize"
        ],
        [
          "0.308823529412 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.676470588235 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.926470588235 * overallSize",
          "1.014705882353 * overallSize"
        ],
        [
          "0",
          "1.014705882353 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.705882352941 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.338235294118 * overallSize"
        ],
        [
          "0",
          "0.073529411765 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.411764705882 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.588235294118 * overallSize"
        ],
        [
          "overallSize",
          "1.014705882353 * overallSize"
        ],
        [
          "0.926470588235 * overallSize",
          "1.014705882353 * overallSize"
        ],
        [
          "0.676470588235 * overallSize",
          "0.764705882353 * overallSize"
        ],
        [
          "0.308823529412 * overallSize",
          "0.764705882353 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.588235294118 * overallSize"
        ],
        [
          "0.411764705882 * overallSize",
          "0"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "1.014705882353 * overallSize"
    ]
  }
}
,"stepped-cross-and-disc":{
  "schema": 1,
  "id": "stepped-cross-and-disc",
  "name": "Stepped cross and disc",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 1800,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "start": [
        "0.410714285714 * overallSize",
        "0.75 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.410714285714 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.589285714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.589285714286 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.490591277863464 * overallSize",
              "0.509408722136536 * overallSize"
            ],
            "from": [
              "0.25 * overallSize",
              "0.589285714286 * overallSize"
            ],
            "to": [
              "0.410714285714 * overallSize",
              "0.75 * overallSize"
            ],
            "clockwise": true
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * overallSize",
        "0.901785714286 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.410714285714 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.410714285714 * overallSize",
              "0.75 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.490686367369628 * overallSize",
              "0.509313632630372 * overallSize"
            ],
            "from": [
              "0.410714285714 * overallSize",
              "0.75 * overallSize"
            ],
            "to": [
              "0.25 * overallSize",
              "0.589285714286 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.589285714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.026785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.026785714286 * overallSize",
              "0.732142857143 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.151785714286 * overallSize",
              "0.732142857143 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.352704539926009 * overallSize",
              "0.630924248413491 * overallSize"
            ],
            "from": [
              "0.151785714286 * overallSize",
              "0.732142857143 * overallSize"
            ],
            "to": [
              "0.267857142857 * overallSize",
              "0.839285714286 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.267857142857 * overallSize",
              "0.973214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.973214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.973214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.267857142857 * overallSize",
              "0.973214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.267857142857 * overallSize",
              "0.839285714286 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.352701640852576 * overallSize",
              "0.630927389076376 * overallSize"
            ],
            "from": [
              "0.267857142857 * overallSize",
              "0.839285714286 * overallSize"
            ],
            "to": [
              "0.151785714286 * overallSize",
              "0.732142857143 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.026785714286 * overallSize",
              "0.732142857143 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.026785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.026785714286 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.410714285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.25 * overallSize",
              "0.410714285714 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.49068636736963 * overallSize",
              "0.49068636736963 * overallSize"
            ],
            "from": [
              "0.25 * overallSize",
              "0.410714285714 * overallSize"
            ],
            "to": [
              "0.410714285714 * overallSize",
              "0.25 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.410714285714 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.026785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.267857142857 * overallSize",
              "0.026785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.267857142857 * overallSize",
              "0.151785714286 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.36907575158651 * overallSize",
              "0.352704539926009 * overallSize"
            ],
            "from": [
              "0.267857142857 * overallSize",
              "0.151785714286 * overallSize"
            ],
            "to": [
              "0.160714285714 * overallSize",
              "0.267857142857 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.026785714286 * overallSize",
              "0.267857142857 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.026785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.026785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.026785714286 * overallSize",
              "0.267857142857 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.160714285714 * overallSize",
              "0.267857142857 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.369072610923623 * overallSize",
              "0.352701640852576 * overallSize"
            ],
            "from": [
              "0.160714285714 * overallSize",
              "0.267857142857 * overallSize"
            ],
            "to": [
              "0.267857142857 * overallSize",
              "0.151785714286 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.267857142857 * overallSize",
              "0.026785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.026785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * overallSize",
        "0.973214285714 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.732142857143 * overallSize",
              "0.973214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.732142857143 * overallSize",
              "0.848214285714 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.630937327460673 * overallSize",
              "0.647307533040622 * overallSize"
            ],
            "from": [
              "0.732142857143 * overallSize",
              "0.848214285714 * overallSize"
            ],
            "to": [
              "0.839285714286 * overallSize",
              "0.732142857143 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.973214285714 * overallSize",
              "0.732142857143 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.973214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.589285714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.589285714286 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.5093087248441 * overallSize",
              "0.5093087248441 * overallSize"
            ],
            "from": [
              "0.75 * overallSize",
              "0.589285714286 * overallSize"
            ],
            "to": [
              "0.589285714286 * overallSize",
              "0.75 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.589285714286 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.973214285714 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * overallSize",
        "0.901785714286 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.589285714286 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.589285714286 * overallSize",
              "0.75 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.509297578971948 * overallSize",
              "0.509297578971948 * overallSize"
            ],
            "from": [
              "0.589285714286 * overallSize",
              "0.75 * overallSize"
            ],
            "to": [
              "0.75 * overallSize",
              "0.589285714286 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.589285714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.901785714286 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.098214285714 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.410714285714 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.410714285714 * overallSize",
              "0.25 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.490702421028053 * overallSize",
              "0.490702421028053 * overallSize"
            ],
            "from": [
              "0.410714285714 * overallSize",
              "0.25 * overallSize"
            ],
            "to": [
              "0.25 * overallSize",
              "0.410714285714 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.410714285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.098214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * overallSize",
        "overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "overallSize",
              "overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.973214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.973214285714 * overallSize",
              "0.732142857143 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.839285714286 * overallSize",
              "0.732142857143 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.630927389076371 * overallSize",
              "0.64729835914742 * overallSize"
            ],
            "from": [
              "0.839285714286 * overallSize",
              "0.732142857143 * overallSize"
            ],
            "to": [
              "0.732142857143 * overallSize",
              "0.848214285714 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.732142857143 * overallSize",
              "0.973214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.973214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.5 * overallSize",
        "0.5 * overallSize"
      ],
      "path": [
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.410714285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.75 * overallSize",
              "0.410714285714 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.509297578971947 * overallSize",
              "0.490702421028053 * overallSize"
            ],
            "from": [
              "0.75 * overallSize",
              "0.410714285714 * overallSize"
            ],
            "to": [
              "0.589285714286 * overallSize",
              "0.25 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.589285714286 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.5 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.732142857143 * overallSize",
        "0.160714285714 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.647298359147422 * overallSize",
              "0.369072610923627 * overallSize"
            ],
            "from": [
              "0.732142857143 * overallSize",
              "0.160714285714 * overallSize"
            ],
            "to": [
              "0.848214285714 * overallSize",
              "0.267857142857 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.973214285714 * overallSize",
              "0.267857142857 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.973214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.026785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.732142857143 * overallSize",
              "0.026785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.732142857143 * overallSize",
              "0.160714285714 * overallSize"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0.589285714286 * overallSize",
        "0.25 * overallSize"
      ],
      "path": [
        {
          "arc": {
            "center": [
              "0.50931363263037 * overallSize",
              "0.49068636736963 * overallSize"
            ],
            "from": [
              "0.589285714286 * overallSize",
              "0.25 * overallSize"
            ],
            "to": [
              "0.75 * overallSize",
              "0.410714285714 * overallSize"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.410714285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.901785714286 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.973214285714 * overallSize",
              "0.5 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.973214285714 * overallSize",
              "0.267857142857 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.848214285714 * overallSize",
              "0.267857142857 * overallSize"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "0.64729546007399 * overallSize",
              "0.369075751586511 * overallSize"
            ],
            "from": [
              "0.848214285714 * overallSize",
              "0.267857142857 * overallSize"
            ],
            "to": [
              "0.732142857143 * overallSize",
              "0.160714285714 * overallSize"
            ],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": [
              "0.732142857143 * overallSize",
              "0.026785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.026785714286 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.5 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.589285714286 * overallSize",
              "0.098214285714 * overallSize"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0.589285714286 * overallSize",
              "0.25 * overallSize"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"stepped-cross-mosaic":{
  "schema": 1,
  "id": "stepped-cross-mosaic",
  "name": "Stepped cross mosaic",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 60,
      "min": 12,
      "max": 240,
      "label": "Module size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "9 * moduleSize",
          "0"
        ],
        [
          "9 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "9 * moduleSize",
          "moduleSize"
        ],
        [
          "9 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "0"
        ],
        [
          "10 * moduleSize",
          "0"
        ],
        [
          "10 * moduleSize",
          "moduleSize"
        ],
        [
          "9 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "moduleSize"
        ],
        [
          "10 * moduleSize",
          "moduleSize"
        ],
        [
          "10 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "moduleSize",
          "0"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "0",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "7 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "9 * moduleSize"
        ],
        [
          "0",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "9 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "9 * moduleSize"
        ],
        [
          "moduleSize",
          "9 * moduleSize"
        ],
        [
          "moduleSize",
          "10 * moduleSize"
        ],
        [
          "0",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "-1 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "-1 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "-2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "-2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "-1 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "-1 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ],
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "10 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "10 * moduleSize"
    ]
  }
}
,"stepped-diamond-tile":{
  "schema": 1,
  "id": "stepped-diamond-tile",
  "name": "Stepped diamond tile",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 5,
      "min": 1,
      "max": 30,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "20 * moduleSize",
          "0"
        ],
        [
          "20 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "0",
          "42 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "42 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "0"
        ],
        [
          "30 * moduleSize",
          "0"
        ],
        [
          "30 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "34 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "34 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "50 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "50 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "0",
          "50 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "43 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "34 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "34 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "0"
        ],
        [
          "50 * moduleSize",
          "0"
        ],
        [
          "50 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "42 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "16 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "70 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "70 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "58 * moduleSize"
        ],
        [
          "0",
          "58 * moduleSize"
        ],
        [
          "0",
          "50 * moduleSize"
        ],
        [
          "50 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "50 * moduleSize",
          "58 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "58 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "70 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "70 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "34 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "34 * moduleSize",
          "93 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "93 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "100 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "100 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "93 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "93 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "58 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "58 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "70 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "70 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "93 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "93 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "100 * moduleSize"
        ],
        [
          "0",
          "100 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "30 * moduleSize",
          "93 * moduleSize"
        ],
        [
          "34 * moduleSize",
          "93 * moduleSize"
        ],
        [
          "34 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "39 * moduleSize",
          "70 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "70 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "58 * moduleSize"
        ],
        [
          "50 * moduleSize",
          "58 * moduleSize"
        ],
        [
          "50 * moduleSize",
          "100 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "100 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "50 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-100 * moduleSize"
    ]
  }
},"stepped-mirror-tile":{
  "schema": 1,
  "id": "stepped-mirror-tile",
  "name": "Stepped mirror tile",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 5,
      "min": 1,
      "max": 30,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "17 * moduleSize",
          "0"
        ],
        [
          "17 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "0",
          "50 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "0"
        ],
        [
          "30 * moduleSize",
          "0"
        ],
        [
          "30 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "50 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "30 * moduleSize",
          "0"
        ],
        [
          "43 * moduleSize",
          "0"
        ],
        [
          "43 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "49 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "49 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "55 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "55 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "50 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "55 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "49 * moduleSize",
          "32 * moduleSize"
        ],
        [
          "49 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "0"
        ],
        [
          "60 * moduleSize",
          "0"
        ],
        [
          "60 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "55 * moduleSize",
          "50 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "50 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "68 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "68 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "100 * moduleSize"
        ],
        [
          "0",
          "100 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "17 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "68 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "68 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "100 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "100 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "30 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "55 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "55 * moduleSize",
          "68 * moduleSize"
        ],
        [
          "49 * moduleSize",
          "68 * moduleSize"
        ],
        [
          "49 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "100 * moduleSize"
        ],
        [
          "30 * moduleSize",
          "100 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "43 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "49 * moduleSize",
          "82 * moduleSize"
        ],
        [
          "49 * moduleSize",
          "68 * moduleSize"
        ],
        [
          "55 * moduleSize",
          "68 * moduleSize"
        ],
        [
          "55 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "60 * moduleSize",
          "50 * moduleSize"
        ],
        [
          "60 * moduleSize",
          "100 * moduleSize"
        ],
        [
          "43 * moduleSize",
          "100 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "60 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-100 * moduleSize"
    ]
  }
},"stepped-rectangle-split":{
  "schema": 1,
  "id": "stepped-rectangle-split",
  "name": "Stepped rectangle split",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 20,
      "min": 4,
      "max": 100,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "11 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "25 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "25 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "0",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "0",
        "-5 * moduleSize",
        "3 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "-5 * moduleSize",
        "14 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "rect": [
        "14 * moduleSize",
        "0",
        "25 * moduleSize",
        "6 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "25 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "21 * moduleSize"
    ]
  }
},"stepped-star-and-cross":{
  "schema": 1,
  "id": "stepped-star-and-cross",
  "name": "Stepped star and cross",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 10,
      "min": 2,
      "max": 60,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "4 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "0",
          "26 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "22 * moduleSize",
          "35 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "35 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "39 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "35 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "35 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-13 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "-9 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "-4 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "-4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "0",
          "26 * moduleSize"
        ],
        [
          "-4 * moduleSize",
          "22 * moduleSize"
        ],
        [
          "-4 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "-9 * moduleSize",
          "17 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "26 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "26 * moduleSize"
    ]
  }
},"stile-and-rail-panelling":{
  "schema": 1,
  "id": "stile-and-rail-panelling",
  "name": "Stile and rail panelling",
  "category": "wood",
  "parameters": {
    "width": { "value": 480, "min": 150, "max": 1200, "label": "Panel width" },
    "length": { "value": 800, "min": 200, "max": 2400, "label": "Panel height" },
    "bandWidth": { "value": 100, "min": 30, "max": 300, "label": "Stile and rail width" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "length"] },
    { "rect": ["width", "0", "width + bandWidth", "length"] },
    { "rect": ["0", "length", "width", "length + bandWidth"] },
    { "rect": ["width", "length", "width + bandWidth", "length + bandWidth"] }
  ],
  "lattice": {
    "a": ["width + bandWidth", "0"],
    "b": ["0", "length + bandWidth"]
  }
}
,"strip-and-square-grid":{
  "schema": 1,
  "id": "strip-and-square-grid",
  "name": "Strip and square grid",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 125, "min": 20, "max": 1200, "label": "Square side" },
    "stripWidth": { "expr": "edge * 0.28" }
  },
  "tiles": [
    { "rect": ["0", "0", "stripWidth", "edge"] },
    { "rect": ["stripWidth", "0", "stripWidth + edge", "edge"] },
    { "rect": ["stripWidth + edge", "0", "stripWidth + 2 * edge", "edge"] }
  ],
  "lattice": { "a": ["stripWidth + 2 * edge", "0"], "b": ["0", "edge"] }
}
,"strip-course-basketweave":{
  "schema": 1,
  "id": "strip-course-basketweave",
  "name": "Strip course basketweave",
  "category": "stone",
  "parameters": {
    "length": { "value": 250, "min": 60, "max": 2000, "label": "Paver length" },
    "bandWidth": { "value": 35, "min": 5, "max": 400, "label": "Strip course" },
    "half": { "expr": "length / 2" },
    "block": { "expr": "2 * length" },
    "cell": { "expr": "2 * length + bandWidth" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "4" }, "rect": ["k * half", "0", "(k + 1) * half", "bandWidth"] },

    { "rect": ["0", "bandWidth", "half", "bandWidth + length"] },
    { "rect": ["half", "bandWidth", "length", "bandWidth + length"] },
    { "rect": ["length", "bandWidth", "block", "bandWidth + half"] },
    { "rect": ["length", "bandWidth + half", "block", "bandWidth + length"] },

    { "rect": ["0", "bandWidth + length", "length", "bandWidth + length + half"] },
    { "rect": ["0", "bandWidth + length + half", "length", "cell"] },
    { "rect": ["length", "bandWidth + length", "length + half", "cell"] },
    { "rect": ["length + half", "bandWidth + length", "block", "cell"] }
  ],
  "lattice": { "a": ["2 * length", "0"], "b": ["0", "2 * length + bandWidth"] }
}
,"striped-band-check":{
  "schema": 1,
  "id": "striped-band-check",
  "name": "Striped band check",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 300, "min": 60, "max": 1500, "label": "Tile side" },
    "stripes": { "expr": "8" },
    "band": { "expr": "edge / 3" }
  },
  "tiles": [
    { "rect": ["0", "0", "edge", "band"] },
    { "repeat": { "index": "k", "count": "stripes" }, "rect": ["k * edge / stripes", "band", "(k + 1) * edge / stripes", "2 * band"] },
    { "rect": ["0", "2 * band", "edge", "edge"] },
    { "rect": ["edge", "0", "2 * edge", "edge"] }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["edge", "edge"] }
}
,"striped-diagonal-check":{
  "schema": 1,
  "id": "striped-diagonal-check",
  "name": "Striped diagonal check",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 300, "min": 60, "max": 1500, "label": "Tile side" },
    "stripes": { "expr": "8" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "stripes" }, "rect": ["0", "k * edge / stripes", "edge", "(k + 1) * edge / stripes"] },
    { "rect": ["edge", "0", "2 * edge", "edge"] },
    { "polygon": [["0", "edge"], ["edge", "edge"], ["edge", "2 * edge"]] },
    { "polygon": [["0", "edge"], ["edge", "2 * edge"], ["0", "2 * edge"]] },
    { "repeat": { "index": "k", "count": "stripes" }, "rect": ["edge + k * edge / stripes", "edge", "edge + (k + 1) * edge / stripes", "2 * edge"] }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["0", "2 * edge"] }
}
,"striped-quarter-square":{
  "schema": 1,
  "id": "striped-quarter-square",
  "name": "Striped quarter square",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 15,
      "min": 3,
      "max": 90,
      "label": "Stripe width"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0",
          "20 * moduleSize"
        ],
        [
          "moduleSize",
          "19 * moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "19 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "20 * moduleSize",
          "0"
        ],
        [
          "19 * moduleSize",
          "moduleSize"
        ],
        [
          "19 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * moduleSize",
          "moduleSize"
        ],
        [
          "18 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "18 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "19 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "18 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "18 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "17 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "17 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "16 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "15 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "15 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "15 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "15 * moduleSize",
          "15 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "14 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "14 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "13 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "11 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "20 * moduleSize",
          "0"
        ],
        [
          "19 * moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "19 * moduleSize",
          "moduleSize"
        ],
        [
          "18 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "18 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "15 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "15 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "20 * moduleSize"
        ],
        [
          "moduleSize",
          "19 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "20 * moduleSize",
          "20 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "19 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "18 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "19 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "18 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "17 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "17 * moduleSize",
          "17 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "15 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "15 * moduleSize",
          "15 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "14 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "13 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "13 * moduleSize",
          "13 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "9 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "11 * moduleSize",
          "11 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "20 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "20 * moduleSize"
    ]
  }
},"striped-tumbling-block":{
  "schema": 1,
  "id": "striped-tumbling-block",
  "name": "Striped tumbling block",
  "category": "stone",
  "parameters": {
    "overallSize": {
      "value": 900,
      "min": 180,
      "max": 3600,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.328125 * overallSize",
          "0.225889008621 * overallSize"
        ],
        [
          "0.34375 * overallSize",
          "0.220635775862 * overallSize"
        ],
        [
          "0.34375 * overallSize",
          "0.451778017241 * overallSize"
        ],
        [
          "0.328125 * overallSize",
          "0.446524784483 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.484375 * overallSize",
          "0.173356681034 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.168103448276 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.504310344828 * overallSize"
        ],
        [
          "0.484375 * overallSize",
          "0.499057112069 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.28125 * overallSize",
          "0.241648706897 * overallSize"
        ],
        [
          "0.296875 * overallSize",
          "0.236395474138 * overallSize"
        ],
        [
          "0.296875 * overallSize",
          "0.436018318966 * overallSize"
        ],
        [
          "0.28125 * overallSize",
          "0.430765086207 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.390625 * overallSize",
          "-0.131330818966 * overallSize"
        ],
        [
          "0.40625 * overallSize",
          "-0.136584051724 * overallSize"
        ],
        [
          "0.40625 * overallSize",
          "0.136584051724 * overallSize"
        ],
        [
          "0.390625 * overallSize",
          "0.131330818966 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.375 * overallSize",
          "-0.126077586207 * overallSize"
        ],
        [
          "0.390625 * overallSize",
          "-0.131330818966 * overallSize"
        ],
        [
          "0.390625 * overallSize",
          "0.131330818966 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.126077586207 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.3125 * overallSize",
          "0.231142241379 * overallSize"
        ],
        [
          "0.328125 * overallSize",
          "0.225889008621 * overallSize"
        ],
        [
          "0.328125 * overallSize",
          "0.446524784483 * overallSize"
        ],
        [
          "0.3125 * overallSize",
          "0.441271551724 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.359375 * overallSize",
          "0.215382543103 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.210129310345 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.462284482759 * overallSize"
        ],
        [
          "0.359375 * overallSize",
          "0.45703125 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.4375 * overallSize",
          "-0.147090517241 * overallSize"
        ],
        [
          "0.453125 * overallSize",
          "-0.15234375 * overallSize"
        ],
        [
          "0.453125 * overallSize",
          "0.15234375 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.147090517241 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.40625 * overallSize",
          "-0.136584051724 * overallSize"
        ],
        [
          "0.421875 * overallSize",
          "-0.141837284483 * overallSize"
        ],
        [
          "0.421875 * overallSize",
          "0.141837284483 * overallSize"
        ],
        [
          "0.40625 * overallSize",
          "0.136584051724 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.296875 * overallSize",
          "0.236395474138 * overallSize"
        ],
        [
          "0.3125 * overallSize",
          "0.231142241379 * overallSize"
        ],
        [
          "0.3125 * overallSize",
          "0.441271551724 * overallSize"
        ],
        [
          "0.296875 * overallSize",
          "0.436018318966 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.421875 * overallSize",
          "-0.141837284483 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "-0.147090517241 * overallSize"
        ],
        [
          "0.4375 * overallSize",
          "0.147090517241 * overallSize"
        ],
        [
          "0.421875 * overallSize",
          "0.141837284483 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.34375 * overallSize",
          "0.220635775862 * overallSize"
        ],
        [
          "0.359375 * overallSize",
          "0.215382543103 * overallSize"
        ],
        [
          "0.359375 * overallSize",
          "0.45703125 * overallSize"
        ],
        [
          "0.34375 * overallSize",
          "0.451778017241 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.453125 * overallSize",
          "-0.15234375 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "-0.157596982759 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.157596982759 * overallSize"
        ],
        [
          "0.453125 * overallSize",
          "0.15234375 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.46875 * overallSize",
          "0.178609913793 * overallSize"
        ],
        [
          "0.484375 * overallSize",
          "0.173356681034 * overallSize"
        ],
        [
          "0.484375 * overallSize",
          "0.499057112069 * overallSize"
        ],
        [
          "0.46875 * overallSize",
          "0.49380387931 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.265625 * overallSize",
          "0.246901939655 * overallSize"
        ],
        [
          "0.28125 * overallSize",
          "0.241648706897 * overallSize"
        ],
        [
          "0.28125 * overallSize",
          "0.430765086207 * overallSize"
        ],
        [
          "0.265625 * overallSize",
          "0.425511853448 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.765625 * overallSize",
          "0.078798491379 * overallSize"
        ],
        [
          "0.78125 * overallSize",
          "0.073545258621 * overallSize"
        ],
        [
          "0.78125 * overallSize",
          "0.262661637931 * overallSize"
        ],
        [
          "0.765625 * overallSize",
          "0.257408405172 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.921875 * overallSize",
          "0.026266163793 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.021012931034 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.315193965517 * overallSize"
        ],
        [
          "0.921875 * overallSize",
          "0.309940732759 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.875 * overallSize",
          "0.042025862069 * overallSize"
        ],
        [
          "0.890625 * overallSize",
          "0.03677262931 * overallSize"
        ],
        [
          "0.890625 * overallSize",
          "0.299434267241 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.294181034483 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.984375 * overallSize",
          "0.005253232759 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.336206896552 * overallSize"
        ],
        [
          "0.984375 * overallSize",
          "0.330953663793 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.84375 * overallSize",
          "0.052532327586 * overallSize"
        ],
        [
          "0.859375 * overallSize",
          "0.047279094828 * overallSize"
        ],
        [
          "0.859375 * overallSize",
          "0.288927801724 * overallSize"
        ],
        [
          "0.84375 * overallSize",
          "0.283674568966 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.890625 * overallSize",
          "0.03677262931 * overallSize"
        ],
        [
          "0.90625 * overallSize",
          "0.031519396552 * overallSize"
        ],
        [
          "0.90625 * overallSize",
          "0.3046875 * overallSize"
        ],
        [
          "0.890625 * overallSize",
          "0.299434267241 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.90625 * overallSize",
          "0.031519396552 * overallSize"
        ],
        [
          "0.921875 * overallSize",
          "0.026266163793 * overallSize"
        ],
        [
          "0.921875 * overallSize",
          "0.309940732759 * overallSize"
        ],
        [
          "0.90625 * overallSize",
          "0.3046875 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.9375 * overallSize",
          "0.021012931034 * overallSize"
        ],
        [
          "0.953125 * overallSize",
          "0.015759698276 * overallSize"
        ],
        [
          "0.953125 * overallSize",
          "0.320447198276 * overallSize"
        ],
        [
          "0.9375 * overallSize",
          "0.315193965517 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "-0.084051724138 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "0.75 * overallSize",
          "0.084051724138 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.828125 * overallSize",
          "0.057785560345 * overallSize"
        ],
        [
          "0.84375 * overallSize",
          "0.052532327586 * overallSize"
        ],
        [
          "0.84375 * overallSize",
          "0.283674568966 * overallSize"
        ],
        [
          "0.828125 * overallSize",
          "0.278421336207 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.084051724138 * overallSize"
        ],
        [
          "0.765625 * overallSize",
          "0.078798491379 * overallSize"
        ],
        [
          "0.765625 * overallSize",
          "0.257408405172 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.252155172414 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.78125 * overallSize",
          "0.073545258621 * overallSize"
        ],
        [
          "0.796875 * overallSize",
          "0.068292025862 * overallSize"
        ],
        [
          "0.796875 * overallSize",
          "0.26791487069 * overallSize"
        ],
        [
          "0.78125 * overallSize",
          "0.262661637931 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.859375 * overallSize",
          "0.047279094828 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.042025862069 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.294181034483 * overallSize"
        ],
        [
          "0.859375 * overallSize",
          "0.288927801724 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.953125 * overallSize",
          "0.015759698276 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.010506465517 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.325700431034 * overallSize"
        ],
        [
          "0.953125 * overallSize",
          "0.320447198276 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.796875 * overallSize",
          "0.068292025862 * overallSize"
        ],
        [
          "0.8125 * overallSize",
          "0.063038793103 * overallSize"
        ],
        [
          "0.8125 * overallSize",
          "0.273168103448 * overallSize"
        ],
        [
          "0.796875 * overallSize",
          "0.26791487069 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.96875 * overallSize",
          "0.010506465517 * overallSize"
        ],
        [
          "0.984375 * overallSize",
          "0.005253232759 * overallSize"
        ],
        [
          "0.984375 * overallSize",
          "0.330953663793 * overallSize"
        ],
        [
          "0.96875 * overallSize",
          "0.325700431034 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.75 * overallSize",
          "0.252155172414 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.42025862069 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.336206896552 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.8125 * overallSize",
          "0.063038793103 * overallSize"
        ],
        [
          "0.828125 * overallSize",
          "0.057785560345 * overallSize"
        ],
        [
          "0.828125 * overallSize",
          "0.278421336207 * overallSize"
        ],
        [
          "0.8125 * overallSize",
          "0.273168103448 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.75 * overallSize",
          "0.084051724138 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.252155172414 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.336206896552 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.084051724138 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.252155172414 * overallSize"
        ],
        [
          "0",
          "0.168103448276 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.084051724138 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.168103448276 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.252155172414 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "-0.168103448276 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "-0.084051724138 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.084051724138 * overallSize"
        ],
        [
          "0",
          "0.168103448276 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.252155172414 * overallSize"
        ],
        [
          "0.265625 * overallSize",
          "0.246901939655 * overallSize"
        ],
        [
          "0.265625 * overallSize",
          "0.425511853448 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.42025862069 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "0.336206896552 * overallSize"
    ]
  }
}
,"sun-star-panel":{
  "schema": 1,
  "id": "sun-star-panel",
  "name": "Sun star panel",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 16,
      "min": 3,
      "max": 100,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "24 * moduleSize",
          "0"
        ],
        [
          "24 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "21 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "18 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "0",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "18 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "21 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "12 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "18 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "21 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "24 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "24 * moduleSize",
          "24 * moduleSize"
        ],
        [
          "0",
          "24 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "21 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "18 * moduleSize",
          "14 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "16 * moduleSize"
        ],
        [
          "16 * moduleSize",
          "19 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "21 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "19 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "24 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-24 * moduleSize"
    ]
  }
},"swiss-cross-and-square":{
  "schema": 1,
  "id": "swiss-cross-and-square",
  "name": "Swiss cross and square",
  "category": "ceramic",
  "parameters": {
    "armWidth": { "value": 100, "min": 10, "max": 400, "label": "Arm width" },
    "half": { "expr": "armWidth / 2" },
    "reach": { "expr": "3 * armWidth / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["half", "half"],
        ["half", "reach"],
        ["-half", "reach"],
        ["-half", "half"],
        ["-reach", "half"],
        ["-reach", "-half"],
        ["-half", "-half"],
        ["-half", "-reach"],
        ["half", "-reach"],
        ["half", "-half"],
        ["reach", "-half"],
        ["reach", "half"]
      ]
    },
    { "rect": ["half", "half", "reach + armWidth", "reach + armWidth"] }
  ],
  "lattice": { "a": ["3 * armWidth", "0"], "b": ["0", "3 * armWidth"] }
}
,"swiss-cross":{
  "schema": 1,
  "id": "swiss-cross",
  "name": "Swiss cross",
  "category": "ceramic",
  "parameters": {
    "armWidth": { "value": 60, "min": 10, "max": 300, "label": "Arm width" }
  },
  "tiles": [
    {
      "polygon": [
        ["armWidth", "0"], ["2 * armWidth", "0"], ["2 * armWidth", "armWidth"], ["3 * armWidth", "armWidth"], ["3 * armWidth", "2 * armWidth"], ["2 * armWidth", "2 * armWidth"],
        ["2 * armWidth", "3 * armWidth"], ["armWidth", "3 * armWidth"], ["armWidth", "2 * armWidth"], ["0", "2 * armWidth"], ["0", "armWidth"], ["armWidth", "armWidth"]
      ]
    }
  ],
  "lattice": { "a": ["2 * armWidth", "armWidth"], "b": ["-armWidth", "2 * armWidth"] }
}
,"tab-interlock-course":{
  "schema": 1,
  "id": "tab-interlock-course",
  "name": "Tab interlock course",
  "category": "stone",
  "parameters": {
    "length": { "value": 400, "min": 300, "max": 2000, "label": "Paver length" },
    "width": { "value": 200, "min": 40, "max": 280, "label": "Course height" },
    "tab": { "expr": "width / 2" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["length", "0"], ["length", "width"], ["length / 2 + tab / 2", "width"], ["length / 2 + tab", "width - tab"], ["length / 2 - tab", "width - tab"], ["length / 2 - tab / 2", "width"], ["0", "width"]] },
    { "polygon": [["0", "width"], ["length / 2 - tab / 2", "width"], ["length / 2 - tab", "width - tab"], ["length / 2 + tab", "width - tab"], ["length / 2 + tab / 2", "width"], ["length", "width"], ["length", "2 * width"], ["0", "2 * width"]] },
    { "polygon": [["length", "0"], ["2 * length", "0"], ["2 * length", "width"], ["3 * length / 2 + tab / 2", "width"], ["3 * length / 2 + tab", "width + tab"], ["3 * length / 2 - tab", "width + tab"], ["3 * length / 2 - tab / 2", "width"], ["length", "width"]] },
    { "polygon": [["length", "width"], ["3 * length / 2 - tab / 2", "width"], ["3 * length / 2 - tab", "width + tab"], ["3 * length / 2 + tab", "width + tab"], ["3 * length / 2 + tab / 2", "width"], ["2 * length", "width"], ["2 * length", "2 * width"], ["length", "2 * width"]] }
  ],
  "lattice": { "a": ["2 * length", "0"], "b": ["0", "2 * width"] }
}
,"tactile-blister":{
  "schema": 1,
  "id": "tactile-blister",
  "name": "Tactile blister",
  "category": "stone",
  "coverage": "partial",
  "parameters": {
    "pitch": { "value": 66.8, "min": 50, "max": 80, "label": "Pitch" },
    "diameter": { "value": 45, "min": 30, "max": 49, "label": "Base diameter" }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": { "center": ["pitch / 2", "pitch / 2"], "from": ["pitch / 2 + diameter / 2", "pitch / 2"], "to": ["pitch / 2 + diameter / 2", "pitch / 2"], "clockwise": false }
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitch", "0"],
    "b": ["0", "pitch"]
  }
}
,"tactile-corduroy":{
  "schema": 1,
  "id": "tactile-corduroy",
  "name": "Tactile corduroy",
  "category": "stone",
  "parameters": {
    "length": { "value": 400, "min": 100, "max": 1000, "label": "Bar length" },
    "pitch": { "value": 50, "min": 30, "max": 100, "label": "Bar pitch" },
    "width": { "value": 20, "min": 10, "max": 25, "label": "Bar width" }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "width"
      ]
    },
    {
      "rect": [
        "0",
        "width",
        "length",
        "pitch"
      ]
    }
  ],
  "lattice": {
    "a": ["length", "0"],
    "b": ["0", "pitch"]
  }
}
,"tactile-guidance-bars":{
  "schema": 1,
  "id": "tactile-guidance-bars",
  "name": "Tactile guidance bars",
  "category": "stone",
  "parameters": {
    "pitch": { "value": 80, "min": 50, "max": 200, "label": "Bar pitch" },
    "width": { "value": 35, "min": 20, "max": 40, "label": "Bar width" },
    "length": { "value": 400, "min": 200, "max": 1000, "label": "Slab length" },
    "endMargin": { "expr": "10" },
    "barRadius": { "expr": "width / 2" },
    "barCenterX": { "expr": "pitch / 2" }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": {
            "center": ["barCenterX", "endMargin + barRadius"],
            "from": ["barCenterX - barRadius", "endMargin + barRadius"],
            "to": ["barCenterX + barRadius", "endMargin + barRadius"],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": ["barCenterX + barRadius", "length - endMargin - barRadius"]
          }
        },
        {
          "arc": {
            "center": ["barCenterX", "length - endMargin - barRadius"],
            "from": ["barCenterX + barRadius", "length - endMargin - barRadius"],
            "to": ["barCenterX - barRadius", "length - endMargin - barRadius"],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": ["barCenterX - barRadius", "endMargin + barRadius"]
          }
        }
      ]
    },
    {
      "start": ["0", "0"],
      "path": [
        {
          "line": {
            "to": ["barCenterX", "0"]
          }
        },
        {
          "line": {
            "to": ["barCenterX", "endMargin"]
          }
        },
        {
          "arc": {
            "center": ["barCenterX", "endMargin + barRadius"],
            "from": ["barCenterX", "endMargin"],
            "to": ["barCenterX - barRadius", "endMargin + barRadius"],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": ["barCenterX - barRadius", "length - endMargin - barRadius"]
          }
        },
        {
          "arc": {
            "center": ["barCenterX", "length - endMargin - barRadius"],
            "from": ["barCenterX - barRadius", "length - endMargin - barRadius"],
            "to": ["barCenterX", "length - endMargin"],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": ["barCenterX", "length"]
          }
        },
        {
          "line": {
            "to": ["0", "length"]
          }
        },
        {
          "line": {
            "to": ["0", "0"]
          }
        }
      ]
    },
    {
      "start": ["barCenterX", "0"],
      "path": [
        {
          "line": {
            "to": ["pitch", "0"]
          }
        },
        {
          "line": {
            "to": ["pitch", "length"]
          }
        },
        {
          "line": {
            "to": ["barCenterX", "length"]
          }
        },
        {
          "line": {
            "to": ["barCenterX", "length - endMargin"]
          }
        },
        {
          "arc": {
            "center": ["barCenterX", "length - endMargin - barRadius"],
            "from": ["barCenterX", "length - endMargin"],
            "to": ["barCenterX + barRadius", "length - endMargin - barRadius"],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": ["barCenterX + barRadius", "endMargin + barRadius"]
          }
        },
        {
          "arc": {
            "center": ["barCenterX", "endMargin + barRadius"],
            "from": ["barCenterX + barRadius", "endMargin + barRadius"],
            "to": ["barCenterX", "endMargin"],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": ["barCenterX", "0"]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitch", "0"],
    "b": ["0", "length"]
  }
}
,"tactile-lozenge":{
  "schema": 1,
  "id": "tactile-lozenge",
  "name": "Tactile lozenge",
  "category": "stone",
  "parameters": {
    "length": { "value": 150, "min": 110, "max": 180, "label": "Lozenge length" },
    "width": { "value": 83, "min": 50, "max": 100, "label": "Lozenge width" },
    "pitchAlong": { "value": 200, "min": 190, "max": 300, "label": "Pitch along the lozenge" },
    "pitchAcross": { "value": 133.3, "min": 110, "max": 200, "label": "Pitch across the lozenge" },
    "centerX": { "expr": "pitchAlong / 2" },
    "centerY": { "expr": "pitchAcross / 2" },
    "capRadius": { "expr": "width / 2" },
    "leftCapCenterX": { "expr": "centerX - length / 2 + capRadius" },
    "rightCapCenterX": { "expr": "centerX + length / 2 - capRadius" }
  },
  "tiles": [
    {
      "path": [
        {
          "arc": {
            "center": ["rightCapCenterX", "centerY"],
            "from": ["rightCapCenterX", "centerY - capRadius"],
            "to": ["rightCapCenterX", "centerY + capRadius"],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": ["leftCapCenterX", "centerY + capRadius"]
          }
        },
        {
          "arc": {
            "center": ["leftCapCenterX", "centerY"],
            "from": ["leftCapCenterX", "centerY + capRadius"],
            "to": ["leftCapCenterX", "centerY - capRadius"],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": ["rightCapCenterX", "centerY - capRadius"]
          }
        }
      ]
    },
    {
      "start": ["0", "0"],
      "path": [
        {
          "line": {
            "to": ["centerX", "0"]
          }
        },
        {
          "line": {
            "to": ["centerX", "centerY - capRadius"]
          }
        },
        {
          "line": {
            "to": ["leftCapCenterX", "centerY - capRadius"]
          }
        },
        {
          "arc": {
            "center": ["leftCapCenterX", "centerY"],
            "from": ["leftCapCenterX", "centerY - capRadius"],
            "to": ["leftCapCenterX", "centerY + capRadius"],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": ["centerX", "centerY + capRadius"]
          }
        },
        {
          "line": {
            "to": ["centerX", "pitchAcross"]
          }
        },
        {
          "line": {
            "to": ["0", "pitchAcross"]
          }
        },
        {
          "line": {
            "to": ["0", "0"]
          }
        }
      ]
    },
    {
      "start": ["centerX", "0"],
      "path": [
        {
          "line": {
            "to": ["pitchAlong", "0"]
          }
        },
        {
          "line": {
            "to": ["pitchAlong", "pitchAcross"]
          }
        },
        {
          "line": {
            "to": ["centerX", "pitchAcross"]
          }
        },
        {
          "line": {
            "to": ["centerX", "centerY + capRadius"]
          }
        },
        {
          "line": {
            "to": ["rightCapCenterX", "centerY + capRadius"]
          }
        },
        {
          "arc": {
            "center": ["rightCapCenterX", "centerY"],
            "from": ["rightCapCenterX", "centerY + capRadius"],
            "to": ["rightCapCenterX", "centerY - capRadius"],
            "clockwise": true
          }
        },
        {
          "line": {
            "to": ["centerX", "centerY - capRadius"]
          }
        },
        {
          "line": {
            "to": ["centerX", "0"]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": ["pitchAlong", "0"],
    "b": ["0", "pitchAcross"]
  }
}
,"tangram-panel":{
  "schema": 1,
  "id": "tangram-panel",
  "name": "Tangram panel",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 220,
      "min": 40,
      "max": 1000,
      "label": "Half panel side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "3 * moduleSize"
    ]
  }
},"tapered-panel-grid":{
  "schema": 1,
  "id": "tapered-panel-grid",
  "name": "Tapered panel grid",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 200,
      "min": 40,
      "max": 800,
      "label": "Module size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "moduleSize",
          "0"
        ],
        [
          "1.5 * moduleSize",
          "0"
        ],
        [
          "1.5 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "1.275 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "1.15 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * moduleSize",
          "2.8 * moduleSize"
        ],
        [
          "0.825 * moduleSize",
          "2.85 * moduleSize"
        ],
        [
          "0.825 * moduleSize",
          "2.175 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2.225 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "3.5 * moduleSize",
          "0"
        ],
        [
          "3.5 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "3.275 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "3.15 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.5 * moduleSize",
          "0.225 * moduleSize"
        ],
        [
          "2.825 * moduleSize",
          "0.175 * moduleSize"
        ],
        [
          "2.825 * moduleSize",
          "0.85 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "0.8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.5 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "2.725 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "2.825 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "0.825 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "0.725 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "3.275 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "3.15 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3.2 * moduleSize"
        ],
        [
          "1.175 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "1.175 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3.775 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.275 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "3.15 * moduleSize",
          "2.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.5 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "2.825 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "2.725 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.175 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3.2 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3.775 * moduleSize"
        ],
        [
          "1.175 * moduleSize",
          "3.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3.225 * moduleSize"
        ],
        [
          "3.15 * moduleSize",
          "3.275 * moduleSize"
        ],
        [
          "3.15 * moduleSize",
          "3.725 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3.8 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * moduleSize",
          "0.2 * moduleSize"
        ],
        [
          "0.85 * moduleSize",
          "0.275 * moduleSize"
        ],
        [
          "0.85 * moduleSize",
          "0.725 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "0.775 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "1.2 * moduleSize"
        ],
        [
          "3.175 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "3.175 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "1.775 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "0.825 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "0.725 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.15 * moduleSize",
          "3.275 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3.225 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3.8 * moduleSize"
        ],
        [
          "3.15 * moduleSize",
          "3.725 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.275 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "3.15 * moduleSize",
          "0.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.275 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "1.15 * moduleSize",
          "2.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.15 * moduleSize",
          "1.275 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "1.225 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "1.8 * moduleSize"
        ],
        [
          "1.15 * moduleSize",
          "1.725 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * moduleSize",
          "0.775 * moduleSize"
        ],
        [
          "0.85 * moduleSize",
          "0.725 * moduleSize"
        ],
        [
          "0.85 * moduleSize",
          "0.275 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "0.2 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "0"
        ],
        [
          "moduleSize",
          "0"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * moduleSize",
          "2.225 * moduleSize"
        ],
        [
          "0.825 * moduleSize",
          "2.175 * moduleSize"
        ],
        [
          "0.825 * moduleSize",
          "2.85 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2.8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.275 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "1.15 * moduleSize",
          "0.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.5 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "2.725 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "2.825 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "1.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "0.725 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "0.825 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "1.275 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "1.15 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.5 * moduleSize",
          "0.8 * moduleSize"
        ],
        [
          "2.825 * moduleSize",
          "0.85 * moduleSize"
        ],
        [
          "2.825 * moduleSize",
          "0.175 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "0.225 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "1.225 * moduleSize"
        ],
        [
          "1.15 * moduleSize",
          "1.275 * moduleSize"
        ],
        [
          "1.15 * moduleSize",
          "1.725 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "1.8 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.5 * moduleSize",
          "2.2 * moduleSize"
        ],
        [
          "2.85 * moduleSize",
          "2.275 * moduleSize"
        ],
        [
          "2.85 * moduleSize",
          "2.725 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2.775 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.175 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "1.2 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "1.775 * moduleSize"
        ],
        [
          "3.175 * moduleSize",
          "1.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "0.725 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "0.825 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "1.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.5 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "2.825 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "2.725 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.5 * moduleSize",
          "2.775 * moduleSize"
        ],
        [
          "2.85 * moduleSize",
          "2.725 * moduleSize"
        ],
        [
          "2.85 * moduleSize",
          "2.275 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2.2 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.275 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "0.15 * moduleSize",
          "3.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "3 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "0.275 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "0.15 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.5 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "3.725 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "3.825 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "0.275 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "0.15 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.275 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "0.15 * moduleSize",
          "1.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.5 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "3.725 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "3.825 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "0.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2.2 * moduleSize"
        ],
        [
          "2.175 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "2.175 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2.775 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "1.725 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "1.825 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "0.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "1.825 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "1.725 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.175 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "0.2 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "0.775 * moduleSize"
        ],
        [
          "0.175 * moduleSize",
          "0.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.5 * moduleSize",
          "1.2 * moduleSize"
        ],
        [
          "3.85 * moduleSize",
          "1.275 * moduleSize"
        ],
        [
          "3.85 * moduleSize",
          "1.725 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "1.775 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2.225 * moduleSize"
        ],
        [
          "0.15 * moduleSize",
          "2.275 * moduleSize"
        ],
        [
          "0.15 * moduleSize",
          "2.725 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2.8 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.5 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "3.825 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "3.725 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.15 * moduleSize",
          "0.275 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "0.225 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "0.8 * moduleSize"
        ],
        [
          "2.15 * moduleSize",
          "0.725 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * moduleSize",
          "1.8 * moduleSize"
        ],
        [
          "1.825 * moduleSize",
          "1.85 * moduleSize"
        ],
        [
          "1.825 * moduleSize",
          "1.175 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "1.225 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "2.275 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "2.15 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "1.825 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "1.725 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.275 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "1.15 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "1.825 * moduleSize"
        ],
        [
          "2.15 * moduleSize",
          "1.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.5 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "3.825 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "3.725 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "1.725 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "1.825 * moduleSize",
          "2.825 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "2.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * moduleSize",
          "1.225 * moduleSize"
        ],
        [
          "1.825 * moduleSize",
          "1.175 * moduleSize"
        ],
        [
          "1.825 * moduleSize",
          "1.85 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "1.8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "2.5 * moduleSize",
          "0"
        ],
        [
          "2.5 * moduleSize",
          "0.225 * moduleSize"
        ],
        [
          "2.15 * moduleSize",
          "0.275 * moduleSize"
        ],
        [
          "2.15 * moduleSize",
          "0.725 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "0.8 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.15 * moduleSize",
          "2.275 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2.225 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "2.8 * moduleSize"
        ],
        [
          "0.15 * moduleSize",
          "2.725 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.5 * moduleSize",
          "3.225 * moduleSize"
        ],
        [
          "3.825 * moduleSize",
          "3.175 * moduleSize"
        ],
        [
          "3.825 * moduleSize",
          "3.85 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3.8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.175 * moduleSize",
          "2.15 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2.2 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "2.775 * moduleSize"
        ],
        [
          "2.175 * moduleSize",
          "2.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "0.5 * moduleSize",
          "0"
        ],
        [
          "0.5 * moduleSize",
          "0.2 * moduleSize"
        ],
        [
          "0.175 * moduleSize",
          "0.15 * moduleSize"
        ],
        [
          "0.175 * moduleSize",
          "0.825 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "0.775 * moduleSize"
        ],
        [
          "0.5 * moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.5 * moduleSize",
          "1.775 * moduleSize"
        ],
        [
          "3.85 * moduleSize",
          "1.725 * moduleSize"
        ],
        [
          "3.85 * moduleSize",
          "1.275 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "1.2 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "2.275 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "2.15 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2.275 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3.15 * moduleSize"
        ],
        [
          "2.5 * moduleSize",
          "3.825 * moduleSize"
        ],
        [
          "2.15 * moduleSize",
          "3.825 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3.5 * moduleSize",
          "3.8 * moduleSize"
        ],
        [
          "3.825 * moduleSize",
          "3.85 * moduleSize"
        ],
        [
          "3.825 * moduleSize",
          "3.175 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3.225 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3.5 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * moduleSize",
          "3.775 * moduleSize"
        ],
        [
          "1.85 * moduleSize",
          "3.725 * moduleSize"
        ],
        [
          "1.85 * moduleSize",
          "3.275 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3.2 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.5 * moduleSize",
          "3.2 * moduleSize"
        ],
        [
          "1.85 * moduleSize",
          "3.275 * moduleSize"
        ],
        [
          "1.85 * moduleSize",
          "3.725 * moduleSize"
        ],
        [
          "1.5 * moduleSize",
          "3.775 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "4 * moduleSize"
    ]
  }
}
,"tapered-slat":{
  "schema": 1,
  "id": "tapered-slat",
  "name": "Tapered slat",
  "category": "wood",
  "parameters": {
    "width": { "value": 120, "min": 20, "max": 140, "label": "Slat width" },
    "length": { "value": 600, "min": 300, "max": 2000, "label": "Long side" },
    "shortSide": { "expr": "length - 2 * width" },
    "period": { "expr": "length + shortSide" }
  },
  "tiles": [
    { "polygon": [["0", "-length / 2"], ["width", "-shortSide / 2"], ["width", "shortSide / 2"], ["0", "length / 2"]] },
    { "polygon": [["0", "length / 2"], ["width", "shortSide / 2"], ["width", "shortSide / 2 + length"], ["0", "length / 2 + shortSide"]] },
    { "polygon": [["width", "-shortSide / 2"], ["2 * width", "-length / 2"], ["2 * width", "length / 2"], ["width", "shortSide / 2"]] },
    { "polygon": [["width", "shortSide / 2"], ["2 * width", "length / 2"], ["2 * width", "length / 2 + shortSide"], ["width", "shortSide / 2 + length"]] }
  ],
  "lattice": { "a": ["2 * width", "0"], "b": ["0", "period"] }
}
,"tapered-zigzag-plank":{
  "schema": 1,
  "id": "tapered-zigzag-plank",
  "name": "Tapered zigzag plank",
  "category": "wood",
  "parameters": {
    "width": { "value": 188, "min": 40, "max": 800, "label": "Plank width" },
    "length": { "value": 375, "min": 100, "max": 3000, "label": "Course length" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["1.5 * width", "0"], ["width", "length"], ["0", "length"]] },
    { "polygon": [["1.5 * width", "0"], ["2 * width", "0"], ["2 * width", "length"], ["width", "length"]] },
    { "polygon": [["2 * width", "0"], ["2.5 * width", "0"], ["3 * width", "length"], ["2 * width", "length"]] },
    { "polygon": [["2.5 * width", "0"], ["4 * width", "0"], ["4 * width", "length"], ["3 * width", "length"]] },

    { "polygon": [["0", "length"], ["width", "length"], ["1.5 * width", "2 * length"], ["0", "2 * length"]] },
    { "polygon": [["width", "length"], ["2 * width", "length"], ["2 * width", "2 * length"], ["1.5 * width", "2 * length"]] },
    { "polygon": [["2 * width", "length"], ["3 * width", "length"], ["2.5 * width", "2 * length"], ["2 * width", "2 * length"]] },
    { "polygon": [["3 * width", "length"], ["4 * width", "length"], ["4 * width", "2 * length"], ["2.5 * width", "2 * length"]] }
  ],
  "lattice": { "a": ["4 * width", "0"], "b": ["0", "2 * length"] }
}
,"tetrakis-square":{
  "schema": 1,
  "id": "tetrakis-square",
  "name": "Tetrakis square",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Source edge"},
    "rootTwo": {"expr": "sqrt(2)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge * (-1 - rootTwo)", "0"],
        ["0", "0"],
        ["edge * (-1 - rootTwo) / 2", "edge * (1 + rootTwo) / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "edge * (-1 - rootTwo)"],
        ["edge * (1 + rootTwo) / 2", "edge * (-1 - rootTwo) / 2"],
        ["0", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootTwo) / 2", "edge * (-1 - rootTwo) / 2"],
        ["0", "0"],
        ["edge * (-1 - rootTwo)", "0"]
      ]
    },
    {
      "polygon": [
        ["0", "edge * (-1 - rootTwo)"],
        ["0", "0"],
        ["edge * (-1 - rootTwo) / 2", "edge * (-1 - rootTwo) / 2"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (1 + rootTwo)", "0"], "b": ["0", "edge * (1 + rootTwo)"] }
}
,"thin-slat-cladding":{
  "schema": 1,
  "id": "thin-slat-cladding",
  "name": "Thin slat cladding",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 40,
      "min": 10,
      "max": 300,
      "label": "Slat width"
    },
    "length": {
      "value": 330,
      "min": 40,
      "max": 2000,
      "label": "Slat length"
    },
    "half": {
      "expr": "length / 2"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "width",
          "0"
        ],
        [
          "width",
          "2 * half"
        ],
        [
          "0",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * half"
        ],
        [
          "width",
          "2 * half"
        ],
        [
          "width",
          "4 * half"
        ],
        [
          "0",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "width",
          "0"
        ],
        [
          "2 * width",
          "0"
        ],
        [
          "2 * width",
          "2 * half"
        ],
        [
          "width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "width",
          "2 * half"
        ],
        [
          "2 * width",
          "2 * half"
        ],
        [
          "2 * width",
          "4 * half"
        ],
        [
          "width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * width",
          "0"
        ],
        [
          "3 * width",
          "0"
        ],
        [
          "3 * width",
          "2 * half"
        ],
        [
          "2 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * width",
          "2 * half"
        ],
        [
          "3 * width",
          "2 * half"
        ],
        [
          "3 * width",
          "4 * half"
        ],
        [
          "2 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * width",
          "0"
        ],
        [
          "4 * width",
          "0"
        ],
        [
          "4 * width",
          "2 * half"
        ],
        [
          "3 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * width",
          "2 * half"
        ],
        [
          "4 * width",
          "2 * half"
        ],
        [
          "4 * width",
          "4 * half"
        ],
        [
          "3 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * width",
          "0"
        ],
        [
          "5 * width",
          "0"
        ],
        [
          "5 * width",
          "2 * half"
        ],
        [
          "4 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * width",
          "2 * half"
        ],
        [
          "5 * width",
          "2 * half"
        ],
        [
          "5 * width",
          "4 * half"
        ],
        [
          "4 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * width",
          "0"
        ],
        [
          "6 * width",
          "0"
        ],
        [
          "6 * width",
          "2 * half"
        ],
        [
          "5 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * width",
          "2 * half"
        ],
        [
          "6 * width",
          "2 * half"
        ],
        [
          "6 * width",
          "4 * half"
        ],
        [
          "5 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * width",
          "0"
        ],
        [
          "7 * width",
          "0"
        ],
        [
          "7 * width",
          "2 * half"
        ],
        [
          "6 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * width",
          "2 * half"
        ],
        [
          "7 * width",
          "2 * half"
        ],
        [
          "7 * width",
          "4 * half"
        ],
        [
          "6 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * width",
          "0"
        ],
        [
          "8 * width",
          "0"
        ],
        [
          "8 * width",
          "2 * half"
        ],
        [
          "7 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * width",
          "2 * half"
        ],
        [
          "8 * width",
          "2 * half"
        ],
        [
          "8 * width",
          "4 * half"
        ],
        [
          "7 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * width",
          "0"
        ],
        [
          "9 * width",
          "0"
        ],
        [
          "9 * width",
          "2 * half"
        ],
        [
          "8 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * width",
          "2 * half"
        ],
        [
          "9 * width",
          "2 * half"
        ],
        [
          "9 * width",
          "4 * half"
        ],
        [
          "8 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * width",
          "0"
        ],
        [
          "10 * width",
          "0"
        ],
        [
          "10 * width",
          "2 * half"
        ],
        [
          "9 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * width",
          "2 * half"
        ],
        [
          "10 * width",
          "2 * half"
        ],
        [
          "10 * width",
          "3 * half"
        ],
        [
          "9 * width",
          "3 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "9 * width",
          "3 * half"
        ],
        [
          "10 * width",
          "3 * half"
        ],
        [
          "10 * width",
          "4 * half"
        ],
        [
          "9 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * width",
          "0"
        ],
        [
          "11 * width",
          "0"
        ],
        [
          "11 * width",
          "2 * half"
        ],
        [
          "10 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * width",
          "2 * half"
        ],
        [
          "11 * width",
          "2 * half"
        ],
        [
          "11 * width",
          "4 * half"
        ],
        [
          "10 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * width",
          "0"
        ],
        [
          "12 * width",
          "0"
        ],
        [
          "12 * width",
          "2 * half"
        ],
        [
          "11 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "11 * width",
          "2 * half"
        ],
        [
          "12 * width",
          "2 * half"
        ],
        [
          "12 * width",
          "4 * half"
        ],
        [
          "11 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * width",
          "0"
        ],
        [
          "13 * width",
          "0"
        ],
        [
          "13 * width",
          "half"
        ],
        [
          "12 * width",
          "half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * width",
          "half"
        ],
        [
          "13 * width",
          "half"
        ],
        [
          "13 * width",
          "2 * half"
        ],
        [
          "12 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "12 * width",
          "2 * half"
        ],
        [
          "13 * width",
          "2 * half"
        ],
        [
          "13 * width",
          "4 * half"
        ],
        [
          "12 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * width",
          "0"
        ],
        [
          "14 * width",
          "0"
        ],
        [
          "14 * width",
          "2 * half"
        ],
        [
          "13 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * width",
          "2 * half"
        ],
        [
          "14 * width",
          "2 * half"
        ],
        [
          "14 * width",
          "3 * half"
        ],
        [
          "13 * width",
          "3 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "13 * width",
          "3 * half"
        ],
        [
          "14 * width",
          "3 * half"
        ],
        [
          "14 * width",
          "4 * half"
        ],
        [
          "13 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "14 * width",
          "0"
        ],
        [
          "15 * width",
          "0"
        ],
        [
          "15 * width",
          "2 * half"
        ],
        [
          "14 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "14 * width",
          "2 * half"
        ],
        [
          "15 * width",
          "2 * half"
        ],
        [
          "15 * width",
          "4 * half"
        ],
        [
          "14 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "15 * width",
          "0"
        ],
        [
          "16 * width",
          "0"
        ],
        [
          "16 * width",
          "2 * half"
        ],
        [
          "15 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "15 * width",
          "2 * half"
        ],
        [
          "16 * width",
          "2 * half"
        ],
        [
          "16 * width",
          "4 * half"
        ],
        [
          "15 * width",
          "4 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "16 * width",
          "0"
        ],
        [
          "17 * width",
          "0"
        ],
        [
          "17 * width",
          "half"
        ],
        [
          "16 * width",
          "half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "16 * width",
          "half"
        ],
        [
          "17 * width",
          "half"
        ],
        [
          "17 * width",
          "2 * half"
        ],
        [
          "16 * width",
          "2 * half"
        ]
      ]
    },
    {
      "polygon": [
        [
          "16 * width",
          "2 * half"
        ],
        [
          "17 * width",
          "2 * half"
        ],
        [
          "17 * width",
          "4 * half"
        ],
        [
          "16 * width",
          "4 * half"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "17 * width",
      "0"
    ],
    "b": [
      "0",
      "2 * length"
    ]
  }
}
,"three-piece-modular-paver":{
  "schema": 1,
  "id": "three-piece-modular-paver",
  "name": "Three-piece modular paver",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 101.6,
      "min": 20,
      "max": 500,
      "label": "Smallest paver side"
    }
  },
  "tiles": [
    {
      "rect": [
        "3 * moduleSize",
        "3 * moduleSize",
        "6 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "3 * moduleSize",
        "7 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "7 * moduleSize",
        "6 * moduleSize",
        "9 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "5 * moduleSize",
        "4 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "5 * moduleSize",
        "7 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "8 * moduleSize",
        "0",
        "10 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "0",
        "2 * moduleSize",
        "moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "5 * moduleSize",
        "12 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "4 * moduleSize",
        "3 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "5 * moduleSize",
        "5 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "8 * moduleSize",
        "4 * moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "rect": [
        "5 * moduleSize",
        "moduleSize",
        "8 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "9 * moduleSize",
        "7 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "moduleSize",
        "5 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "moduleSize",
        "moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "8 * moduleSize",
        "7 * moduleSize",
        "10 * moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "rect": [
        "9 * moduleSize",
        "3 * moduleSize",
        "11 * moduleSize",
        "5 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "moduleSize",
        "3 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "3 * moduleSize",
        "9 * moduleSize",
        "6 * moduleSize"
      ]
    },
    {
      "rect": [
        "6 * moduleSize",
        "7 * moduleSize",
        "8 * moduleSize",
        "9 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "7 * moduleSize",
        "2 * moduleSize",
        "8 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "6 * moduleSize",
        "9 * moduleSize",
        "7 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "8 * moduleSize",
        "moduleSize",
        "10 * moduleSize"
      ]
    },
    {
      "rect": [
        "7 * moduleSize",
        "9 * moduleSize",
        "8 * moduleSize",
        "11 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "0",
        "4 * moduleSize",
        "moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "10 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "10 * moduleSize"
    ]
  }
}
,"three-tab-shingle":{
  "schema": 1,
  "id": "three-tab-shingle",
  "name": "Three-tab asphalt shingle",
  "category": "lapped",
  "parameters": {
    "width": { "value": 304.8, "min": 150, "max": 450, "label": "Tab width" },
    "gauge": { "value": 127, "min": 60, "max": 200, "label": "Exposure" },
    "offset": { "value": 0.5, "min": 0, "max": 1, "label": "Course offset (fraction of tab)", "unit": "none" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "gauge"] }
  ],
  "lattice": { "a": ["width", "0"], "b": ["offset * width", "gauge"] },
  "lap": {"rows": 177.8}
}
,"tongue-and-groove-board":{
  "schema": 1,
  "id": "tongue-and-groove-board",
  "name": "Tongue and groove board",
  "category": "wood",
  "parameters": {
    "coverWidth": {
      "value": 88,
      "min": 60,
      "max": 300,
      "label": "Face width"
    },
    "chamfer": {
      "expr": "3"
    },
    "length": {
      "value": 2400,
      "min": 300,
      "max": 6000,
      "label": "Board length"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "coverWidth"
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "0",
      "coverWidth"
    ]
  },
  "body": {
    "profile": {
      "start": [
        "0",
        "0"
      ],
      "section": [
        {
          "line": {
            "to": [
              "chamfer",
              "chamfer"
            ]
          }
        },
        {
          "line": {
            "to": [
              "coverWidth - chamfer",
              "chamfer"
            ]
          }
        },
        {
          "line": {
            "to": [
              "coverWidth",
              "0"
            ]
          }
        }
      ]
    }
  }
}
,"trapezoid-compass":{
  "schema": 1,
  "id": "trapezoid-compass",
  "name": "Trapezoid compass",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 60, "min": 15, "max": 400, "label": "Module side" }
  },
  "tiles": [
    { "polygon": [["-moduleSize", "4 * moduleSize"], ["0", "0"], ["moduleSize", "4 * moduleSize"], ["0", "7 * moduleSize"]] },
    { "polygon": [["moduleSize", "4 * moduleSize"], ["3 * moduleSize", "4 * moduleSize"], ["4 * moduleSize", "7 * moduleSize"], ["0", "7 * moduleSize"]] },
    { "polygon": [["0", "0"], ["4 * moduleSize", "0"], ["3 * moduleSize", "4 * moduleSize"], ["moduleSize", "4 * moduleSize"]] }
  ],
  "lattice": { "a": ["4 * moduleSize", "0"], "b": ["0", "7 * moduleSize"] }
}
,"trapezoid-triangle":{
  "schema": 1,
  "id": "trapezoid-triangle",
  "name": "Trapezoid triangle",
  "category": "stone",
  "parameters": {
    "edge": { "value": 300, "min": 50, "max": 1200, "label": "Hexagon side" },
    "rowStep": { "expr": "edge * sqrt(3) / 2" }
  },
  "tiles": [
    { "polygon": [["0", "3 * rowStep"], ["edge / 2", "2 * rowStep"], ["3 * edge / 2", "2 * rowStep"], ["2 * edge", "3 * rowStep"]] },
    { "polygon": [["2 * edge", "3 * rowStep"], ["3 * edge", "3 * rowStep"], ["7 * edge / 2", "2 * rowStep"], ["3 * edge", "rowStep"]] },
    { "polygon": [["edge", "rowStep"], ["2 * edge", "rowStep"], ["5 * edge / 2", "0"], ["edge / 2", "0"]] },
    { "polygon": [["edge / 2", "2 * rowStep"], ["3 * edge / 2", "2 * rowStep"], ["edge / 2", "0"], ["0", "rowStep"]] },
    { "polygon": [["5 * edge / 2", "2 * rowStep"], ["7 * edge / 2", "0"], ["5 * edge / 2", "0"], ["2 * edge", "rowStep"]] },
    { "polygon": [["2 * edge", "3 * rowStep"], ["5 * edge / 2", "2 * rowStep"], ["2 * edge", "rowStep"], ["edge", "rowStep"]] }
  ],
  "lattice": { "a": ["3 * edge", "0"], "b": ["0", "3 * rowStep"] }
}
,"trapezoid":{
  "schema": 1,
  "id": "trapezoid",
  "name": "Trapezoid",
  "category": "ceramic",
  "parameters": {
    "base": { "value": 200, "min": 40, "max": 800, "label": "Long base" },
    "ratio": { "expr": "0.5" },
    "height": { "value": 150, "min": 20, "max": 600, "label": "Height" },
    "top": { "expr": "base * ratio" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["base", "0"], ["(base + top) / 2", "height"], ["(base - top) / 2", "height"]] },
    { "polygon": [["base", "0"], ["base + top", "0"], ["(base + top) / 2 + base", "height"], ["(base + top) / 2", "height"]] }
  ],
  "lattice": { "a": ["base + top", "0"], "b": ["(base + top) / 2", "height"] }
}
,"trapezoidal-sheet":{
  "schema": 1,
  "id": "trapezoidal-sheet",
  "name": "Trapezoidal sheet",
  "category": "metal",
  "parameters": {
    "pitch": {
      "value": 207,
      "min": 60,
      "max": 600,
      "label": "Rib pitch"
    },
    "depth": {
      "value": 35,
      "min": 10,
      "max": 100,
      "label": "Rib height"
    },
    "topFraction": {
      "expr": "0.21"
    },
    "flankFraction": {
      "expr": "0.11"
    },
    "ribs": {
      "expr": "5"
    },
    "length": {
      "value": 3000,
      "min": 300,
      "max": 13500,
      "label": "Sheet length"
    },
    "width": {
      "expr": "ribs * pitch"
    },
    "top": {
      "expr": "pitch * topFraction"
    },
    "flank": {
      "expr": "pitch * flankFraction"
    },
    "pan": {
      "expr": "pitch - top - 2 * flank"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "width"
      ],
      "grain": [
        "1",
        "0"
      ]
    }
  ],
  "lattice": {
    "a": [
      "length",
      "0"
    ],
    "b": [
      "0",
      "width"
    ]
  },
  "body": {
    "profile": {
      "start": [
        "0",
        "0"
      ],
      "section": [
        {
          "line": {
            "to": [
              "pan",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "pan + flank",
              "depth"
            ]
          }
        },
        {
          "line": {
            "to": [
              "pan + flank + top",
              "depth"
            ]
          }
        },
        {
          "line": {
            "to": [
              "pitch",
              "0"
            ]
          }
        }
      ]
    }
  }
}
,"tri-hexagon":{
  "schema": 1,
  "id": "tri-hexagon",
  "name": "Tri-hexagon",
  "category": "stone",
  "parameters": {
    "edge": { "value": 58.9, "min": 10, "max": 400, "label": "Hexagon side" },
    "inradius": { "expr": "edge * sqrt(3) / 2" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "-edge"],
        ["inradius", "-edge / 2"],
        ["2 * inradius", "-edge"],
        ["3 * inradius", "-edge / 2"],
        ["3 * inradius", "edge / 2"],
        ["2 * inradius", "edge"],
        ["2 * inradius", "2 * edge"],
        ["inradius", "5 * edge / 2"],
        ["0", "2 * edge"],
        ["0", "edge"],
        ["-inradius", "edge / 2"],
        ["-inradius", "-edge / 2"]
      ]
    }
  ],
  "lattice": {
    "a": ["3 * inradius", "3 * edge / 2"],
    "b": ["3 * inradius", "-3 * edge / 2"]
  }
}
,"triakis-triangular":{
  "schema": 1,
  "id": "triakis-triangular",
  "name": "Triakis triangular",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 50, "min": 10, "max": 500, "label": "Source edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge * (-2 - rootThree)", "0"],
        ["0", "0"],
        ["edge * (-2 - rootThree) / 2", "edge * (3 + 2 * rootThree) / 6"],
        ["edge * (-2 - rootThree) / 2", "edge * (3 + 2 * rootThree) / 6"],
        ["edge * (-2 - rootThree) / 2", "edge * (3 + 2 * rootThree) / 6"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "edge * (-3 - 2 * rootThree) / 2"],
        ["0", "edge * (-3 - 2 * rootThree) / 3"],
        ["0", "edge * (-3 - 2 * rootThree) / 3"],
        ["0", "edge * (-3 - 2 * rootThree) / 3"],
        ["0", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "edge * (-3 - 2 * rootThree) / 2"],
        ["0", "0"],
        ["edge * (-2 - rootThree) / 2", "edge * (-3 - 2 * rootThree) / 6"],
        ["edge * (-2 - rootThree) / 2", "edge * (-3 - 2 * rootThree) / 6"],
        ["edge * (-2 - rootThree) / 2", "edge * (-3 - 2 * rootThree) / 6"]
      ]
    },
    {
      "polygon": [
        ["0", "0"],
        ["0", "edge * (3 + 2 * rootThree) / 3"],
        ["0", "edge * (3 + 2 * rootThree) / 3"],
        ["0", "edge * (3 + 2 * rootThree) / 3"],
        ["edge * (-2 - rootThree) / 2", "edge * (3 + 2 * rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "edge * (-3 - 2 * rootThree) / 6"],
        ["edge * (-2 - rootThree) / 2", "edge * (-3 - 2 * rootThree) / 6"],
        ["edge * (-2 - rootThree) / 2", "edge * (-3 - 2 * rootThree) / 6"],
        ["0", "0"],
        ["edge * (-2 - rootThree)", "0"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "edge * (3 + 2 * rootThree) / 6"],
        ["edge * (-2 - rootThree) / 2", "edge * (3 + 2 * rootThree) / 6"],
        ["edge * (-2 - rootThree) / 2", "edge * (3 + 2 * rootThree) / 6"],
        ["0", "0"],
        ["edge * (-2 - rootThree) / 2", "edge * (3 + 2 * rootThree) / 2"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (2 + rootThree)", "0"], "b": ["edge * (2 + rootThree) / 2", "edge * (3 + 2 * rootThree) / 2"] }
}
,"triangle-chevron":{
  "schema": 1,
  "id": "triangle-chevron",
  "name": "Triangle chevron",
  "category": "stone",
  "parameters": {
    "edge": { "value": 300, "min": 30, "max": 1200, "label": "Square side" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["edge", "0"], ["edge", "edge"]] },
    { "polygon": [["0", "0"], ["edge", "edge"], ["0", "edge"]] },
    { "polygon": [["0", "edge"], ["edge", "edge"], ["0", "2 * edge"]] },
    { "polygon": [["edge", "edge"], ["edge", "2 * edge"], ["0", "2 * edge"]] }
  ],
  "lattice": { "a": ["edge", "0"], "b": ["0", "2 * edge"] }
}
,"triangle-diamond":{
  "schema": 1,
  "id": "triangle-diamond",
  "name": "Triangle diamond",
  "category": "stone",
  "parameters": {
    "edge": { "value": 300, "min": 30, "max": 1200, "label": "Square side" },
    "twice": { "expr": "2 * edge" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["edge", "0"], ["0", "edge"]] },
    { "polygon": [["edge", "0"], ["edge", "edge"], ["0", "edge"]] },
    { "polygon": [["edge", "0"], ["twice", "0"], ["twice", "edge"]] },
    { "polygon": [["edge", "0"], ["twice", "edge"], ["edge", "edge"]] },
    { "polygon": [["0", "edge"], ["edge", "edge"], ["edge", "twice"]] },
    { "polygon": [["0", "edge"], ["edge", "twice"], ["0", "twice"]] },
    { "polygon": [["edge", "edge"], ["twice", "edge"], ["edge", "twice"]] },
    { "polygon": [["twice", "edge"], ["twice", "twice"], ["edge", "twice"]] }
  ],
  "lattice": { "a": ["twice", "0"], "b": ["0", "twice"] }
}
,"triangle-split-rectangle":{
  "schema": 1,
  "id": "triangle-split-rectangle",
  "name": "Triangle split rectangle",
  "category": "ceramic",
  "parameters": {
    "moduleSize": { "value": 60, "min": 15, "max": 400, "label": "Module side" }
  },
  "tiles": [
    { "polygon": [["moduleSize", "4 * moduleSize"], ["2 * moduleSize", "2 * moduleSize"], ["2 * moduleSize", "6 * moduleSize"]] },
    { "polygon": [["0", "2 * moduleSize"], ["2 * moduleSize", "2 * moduleSize"], ["moduleSize", "4 * moduleSize"]] },
    { "polygon": [["2 * moduleSize", "0"], ["4 * moduleSize", "4 * moduleSize"], ["2 * moduleSize", "4 * moduleSize"]] },
    { "polygon": [["3 * moduleSize", "2 * moduleSize"], ["4 * moduleSize", "0"], ["4 * moduleSize", "4 * moduleSize"]] },
    { "polygon": [["0", "-2 * moduleSize"], ["2 * moduleSize", "2 * moduleSize"], ["0", "2 * moduleSize"]] },
    { "polygon": [["2 * moduleSize", "0"], ["4 * moduleSize", "0"], ["3 * moduleSize", "2 * moduleSize"]] }
  ],
  "lattice": { "a": ["4 * moduleSize", "0"], "b": ["0", "4 * moduleSize"] }
}
,"triangle-square-mosaic":{
  "schema": 1,
  "id": "triangle-square-mosaic",
  "name": "Triangle and square mosaic",
  "category": "ceramic",
  "parameters": {
    "edge": {
      "value": 150,
      "min": 10,
      "max": 800,
      "label": "Edge"
    },
    "longStep": {
      "expr": "edge * sqrt(3) / 2"
    },
    "shortStep": {
      "expr": "edge / 2"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "longStep",
          "shortStep"
        ],
        [
          "2 * longStep",
          "0"
        ],
        [
          "2 * longStep + shortStep",
          "longStep"
        ],
        [
          "longStep + shortStep",
          "longStep + shortStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * longStep",
          "0"
        ],
        [
          "2 * longStep + 2 * shortStep",
          "0"
        ],
        [
          "2 * longStep + shortStep",
          "longStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * longStep + 2 * shortStep"
        ],
        [
          "longStep",
          "2 * longStep + shortStep"
        ],
        [
          "longStep",
          "2 * longStep + 3 * shortStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "longStep",
          "2 * longStep + shortStep"
        ],
        [
          "2 * longStep",
          "2 * longStep + 2 * shortStep"
        ],
        [
          "longStep",
          "2 * longStep + 3 * shortStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * longStep + shortStep",
          "longStep + 2 * shortStep"
        ],
        [
          "2 * longStep + 2 * shortStep",
          "2 * longStep + 2 * shortStep"
        ],
        [
          "2 * longStep",
          "2 * longStep + 2 * shortStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "longStep + shortStep",
          "longStep + shortStep"
        ],
        [
          "2 * longStep + shortStep",
          "longStep + 2 * shortStep"
        ],
        [
          "2 * longStep",
          "2 * longStep + 2 * shortStep"
        ],
        [
          "longStep",
          "2 * longStep + shortStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "longStep + shortStep",
          "longStep + shortStep"
        ],
        [
          "2 * longStep + shortStep",
          "longStep"
        ],
        [
          "2 * longStep + shortStep",
          "longStep + 2 * shortStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "longStep - shortStep",
          "longStep + shortStep"
        ],
        [
          "longStep + shortStep",
          "longStep + shortStep"
        ],
        [
          "longStep",
          "2 * longStep + shortStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * longStep + shortStep",
          "longStep + 2 * shortStep"
        ],
        [
          "3 * longStep + shortStep",
          "longStep + shortStep"
        ],
        [
          "3 * longStep + 2 * shortStep",
          "2 * longStep + shortStep"
        ],
        [
          "2 * longStep + 2 * shortStep",
          "2 * longStep + 2 * shortStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "longStep",
          "shortStep"
        ],
        [
          "longStep + shortStep",
          "longStep + shortStep"
        ],
        [
          "longStep - shortStep",
          "longStep + shortStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * longStep + 2 * shortStep",
          "0"
        ],
        [
          "3 * longStep + 2 * shortStep",
          "shortStep"
        ],
        [
          "3 * longStep + shortStep",
          "longStep + shortStep"
        ],
        [
          "2 * longStep + shortStep",
          "longStep"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * longStep + shortStep",
          "longStep"
        ],
        [
          "3 * longStep + shortStep",
          "longStep + shortStep"
        ],
        [
          "2 * longStep + shortStep",
          "longStep + 2 * shortStep"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * longStep + 2 * shortStep",
      "0"
    ],
    "b": [
      "0",
      "2 * longStep + 2 * shortStep"
    ]
  }
}
,"triangle":{
  "schema": 1,
  "id": "triangle",
  "name": "Triangle",
  "category": "ceramic",
  "parameters": {
    "base": { "value": 200, "min": 20, "max": 1000, "label": "Base" },
    "height": { "value": 175, "min": 20, "max": 1000, "label": "Height" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["base", "0"], ["base / 2", "height"]] },
    { "polygon": [["base", "0"], ["3 * base / 2", "height"], ["base / 2", "height"]] }
  ],
  "lattice": { "a": ["base", "0"], "b": ["base / 2", "height"] }
}
,"triangular-houndstooth":{
  "schema": 1,
  "id": "triangular-houndstooth",
  "name": "Triangular houndstooth",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 140,
      "min": 20,
      "max": 1200,
      "label": "Tile width"
    },
    "step": {
      "expr": "width / 7"
    },
    "halfSpan": {
      "expr": "5 * width / 14"
    },
    "depth": {
      "expr": "width / 3"
    },
    "drop": {
      "expr": "3 * width / 20"
    },
    "bar": {
      "expr": "11 * width / 15"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "depth - drop"
        ],
        [
          "step",
          "depth"
        ],
        [
          "step + halfSpan",
          "0"
        ],
        [
          "step + 2 * halfSpan",
          "depth"
        ],
        [
          "width",
          "depth - drop"
        ],
        [
          "width",
          "depth - drop + bar"
        ],
        [
          "width - step",
          "depth - 2 * drop + bar"
        ],
        [
          "width - step",
          "depth - 2 * drop + 2 * bar"
        ],
        [
          "step + halfSpan",
          "depth - 2 * drop + 2 * bar - depth"
        ],
        [
          "step",
          "depth - 2 * drop + 2 * bar"
        ],
        [
          "step",
          "depth - 2 * drop + bar"
        ],
        [
          "0",
          "depth - drop + bar"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "12 * width / 7",
      "0"
    ],
    "b": [
      "6 * width / 7",
      "7 * width / 12"
    ]
  }
}
,"trihexagonal":{
  "schema": 1,
  "id": "trihexagonal",
  "name": "Trihexagonal (kagome)",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 100, "min": 10, "max": 500, "label": "Edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge", "0"],
        ["edge / 2", "rootThree * edge / 2"],
        ["-edge / 2", "rootThree * edge / 2"],
        ["-edge", "0"],
        ["-edge / 2", "-rootThree * edge / 2"],
        ["edge / 2", "-rootThree * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "rootThree * edge / 2"],
        ["-3 * edge / 2", "rootThree * edge / 2"],
        ["-edge", "0"]
      ]
    },
    {
      "polygon": [
        ["-edge", "0"],
        ["-3 * edge / 2", "-rootThree * edge / 2"],
        ["-edge / 2", "-rootThree * edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["2 * edge", "0"], "b": ["edge", "rootThree * edge"] }
}
,"triple-basketweave":{
  "schema": 1,
  "id": "triple-basketweave",
  "name": "Triple basketweave",
  "category": "wood",
  "parameters": {
    "moduleSize": { "value": 300, "min": 60, "max": 3000, "label": "Block side" }
  },
  "tiles": [
    { "rect": ["0", "0", "moduleSize", "moduleSize / 3"] },
    { "rect": ["0", "moduleSize / 3", "moduleSize", "2 * moduleSize / 3"] },
    { "rect": ["0", "2 * moduleSize / 3", "moduleSize", "moduleSize"] },
    { "rect": ["moduleSize", "0", "4 * moduleSize / 3", "moduleSize"] },
    { "rect": ["4 * moduleSize / 3", "0", "5 * moduleSize / 3", "moduleSize"] },
    { "rect": ["5 * moduleSize / 3", "0", "2 * moduleSize", "moduleSize"] }
  ],
  "lattice": { "a": ["2 * moduleSize", "0"], "b": ["moduleSize", "moduleSize"] }
}
,"triple-chevron":{
  "schema": 1,
  "id": "triple-chevron",
  "name": "Triple chevron",
  "category": "wood",
  "parameters": {
    "length": { "value": 600, "min": 50, "max": 3000, "label": "Plank length" },
    "width": { "value": 75, "min": 10, "max": 500, "label": "Plank width" },
    "cutAngle": { "value": 60, "min": 10, "max": 90, "label": "End cut angle (degrees)", "unit": "deg" }
  },
  "tiles": [
    {"polygon": [["0", "0"], ["length * sin(cutAngle)", "length * cos(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width) / sin(cutAngle)"], ["0", "(width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"]},
    {"polygon": [["0", "(width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width + width) / sin(cutAngle)"], ["0", "(width + width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"]},
    {"polygon": [["0", "(width + width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width + width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width + width + width) / sin(cutAngle)"], ["0", "(width + width + width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"]},
    {"polygon": [["0", "0"], ["length * sin(cutAngle)", "length * cos(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width) / sin(cutAngle)"], ["0", "(width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"], "transform": [{"mirror": {"line": [["0", "0"], ["0", "1"]]}}]},
    {"polygon": [["0", "(width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width + width) / sin(cutAngle)"], ["0", "(width + width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"], "transform": [{"mirror": {"line": [["0", "0"], ["0", "1"]]}}]},
    {"polygon": [["0", "(width + width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width + width) / sin(cutAngle)"], ["length * sin(cutAngle)", "length * cos(cutAngle) + (width + width + width) / sin(cutAngle)"], ["0", "(width + width + width) / sin(cutAngle)"]], "grain": ["sin(cutAngle)", "cos(cutAngle)"], "transform": [{"mirror": {"line": [["0", "0"], ["0", "1"]]}}]}
  ],
  "lattice": {"a": ["2 * length * sin(cutAngle)", "0"], "b": ["0", "3 * width / sin(cutAngle)"]}
}
,"triple-flemish-bond":{
  "schema": 1,
  "id": "triple-flemish-bond",
  "name": "Triple Flemish bond (tripled courses)",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "3 * length / 2", "width"] },
    { "rect": ["0", "width", "length", "2 * width"] },
    { "rect": ["length", "width", "3 * length / 2", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["length", "2 * width", "3 * length / 2", "3 * width"] }
  ],
  "lattice": { "a": ["3 * length / 2", "0"], "b": ["3 * length / 4", "3 * width"] }
}
,"triple-herringbone":{
  "schema": 1,
  "id": "triple-herringbone",
  "name": "Triple herringbone",
  "category": "wood",
  "angle": 45,
  "parameters": {
    "length": { "value": 900, "min": 100, "max": 3000, "label": "Length" },
    "width": { "value": 150, "min": 20, "max": 500, "label": "Plank width" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["0", "width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] },
    { "rect": ["length", "3 * width - length", "length + width", "3 * width"] },
    { "rect": ["length + width", "3 * width - length", "length + 2 * width", "3 * width"] },
    { "rect": ["length + 2 * width", "3 * width - length", "length + 3 * width", "3 * width"] }
  ],
  "lattice": { "a": ["3 * width", "3 * width"], "b": ["-length", "length"] }
}
,"triple-stretcher-bond":{
  "schema": 1,
  "id": "triple-stretcher-bond",
  "name": "Triple stretcher bond (tripled courses)",
  "category": "brick",
  "parameters": {
    "length": { "value": 225, "min": 100, "max": 600, "label": "Stretcher length (with joint)" },
    "width": { "value": 75, "min": 30, "max": 200, "label": "Course height (with joint)" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["0", "width", "length", "2 * width"] },
    { "rect": ["0", "2 * width", "length", "3 * width"] }
  ],
  "lattice": { "a": ["length", "0"], "b": ["length / 2", "3 * width"] }
}
,"triple-weave-and-dot":{
  "schema": 1,
  "id": "triple-weave-and-dot",
  "name": "Triple weave and dot",
  "category": "stone",
  "parameters": {
    "length": { "value": 250, "min": 60, "max": 2000, "label": "Paver length" },
    "width": { "value": 50, "min": 10, "max": 600, "label": "Paver width" },
    "block": { "expr": "3 * width" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "3" }, "rect": ["0", "k * width", "length", "(k + 1) * width"] },
    { "repeat": { "index": "k", "count": "9" }, "rect": ["length + floor(k / 3) * width", "(k - 3 * floor(k / 3)) * width", "length + (floor(k / 3) + 1) * width", "(k - 3 * floor(k / 3) + 1) * width"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["length + k * width", "block", "length + (k + 1) * width", "block + length"] },
    { "rect": ["0", "block", "length", "block + length"] }
  ],
  "lattice": { "a": ["length + block", "0"], "b": ["0", "length + block"] }
}
,"truncated-hexagonal":{
  "schema": 1,
  "id": "truncated-hexagonal",
  "name": "Truncated hexagonal",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 50, "min": 10, "max": 500, "label": "Edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge * (2 + rootThree) / 2", "edge / 2"],
        ["edge * (1 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge / 2", "edge * (2 + rootThree) / 2"],
        ["-edge / 2", "edge * (2 + rootThree) / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["edge / 2", "edge * (-2 - rootThree) / 2"],
        ["edge * (1 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (2 + rootThree) / 2", "-edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-3 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-3 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (2 + rootThree)", "0"], "b": ["edge * (2 + rootThree) / 2", "edge * (3 + 2 * rootThree) / 2"] }
}
,"truncated-trihexagonal":{
  "schema": 1,
  "id": "truncated-trihexagonal",
  "name": "Truncated trihexagonal",
  "category": "ceramic",
  "parameters": {
    "edge": {"value": 50, "min": 10, "max": 500, "label": "Edge"},
    "rootThree": {"expr": "sqrt(3)"}
  },
  "tiles": [
    {
      "polygon": [
        ["edge * (2 + rootThree) / 2", "edge / 2"],
        ["edge * (1 + rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge / 2", "edge * (2 + rootThree) / 2"],
        ["-edge / 2", "edge * (2 + rootThree) / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["edge / 2", "edge * (-2 - rootThree) / 2"],
        ["edge * (1 + rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (2 + rootThree) / 2", "-edge / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-2 - rootThree) / 2", "edge / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "edge * (1 + 2 * rootThree) / 2"],
        ["edge * (-4 - rootThree) / 2", "edge * (1 + 2 * rootThree) / 2"],
        ["edge * (-5 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["edge * (-4 - rootThree) / 2", "edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-edge / 2", "edge * (-2 - rootThree) / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "edge * (-1 - 2 * rootThree) / 2"],
        ["-edge", "edge * (-1 - rootThree)"]
      ]
    },
    {
      "polygon": [
        ["edge * (-1 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-4 - rootThree) / 2", "-edge / 2"],
        ["edge * (-5 - rootThree) / 2", "edge * (-1 - rootThree) / 2"],
        ["edge * (-4 - rootThree) / 2", "edge * (-1 - 2 * rootThree) / 2"],
        ["edge * (-2 - rootThree) / 2", "edge * (-1 - 2 * rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["-edge", "edge * (1 + rootThree)"],
        ["edge * (-2 - rootThree) / 2", "edge * (1 + 2 * rootThree) / 2"],
        ["edge * (-1 - rootThree) / 2", "edge * (1 + rootThree) / 2"],
        ["-edge / 2", "edge * (2 + rootThree) / 2"]
      ]
    },
    {
      "polygon": [
        ["edge * (-4 - rootThree) / 2", "edge / 2"],
        ["edge * (-4 - rootThree) / 2", "-edge / 2"],
        ["edge * (-2 - rootThree) / 2", "-edge / 2"],
        ["edge * (-2 - rootThree) / 2", "edge / 2"]
      ]
    }
  ],
  "lattice": { "a": ["edge * (3 + rootThree)", "0"], "b": ["edge * (3 + rootThree) / 2", "edge * (3 + 3 * rootThree) / 2"] }
}
,"tumbling-blocks":{
  "schema": 1,
  "id": "tumbling-blocks",
  "name": "Tumbling blocks",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 175, "min": 20, "max": 600, "label": "Rhombus side" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["edge", "0"], ["edge / 2", "sqrt(3) * edge / 2"], ["-edge / 2", "sqrt(3) * edge / 2"]] },
    { "polygon": [["0", "0"], ["-edge / 2", "sqrt(3) * edge / 2"], ["-edge", "0"], ["-edge / 2", "-sqrt(3) * edge / 2"]] },
    { "polygon": [["0", "0"], ["-edge / 2", "-sqrt(3) * edge / 2"], ["edge / 2", "-sqrt(3) * edge / 2"], ["edge", "0"]] }
  ],
  "lattice": { "a": ["3 * edge / 2", "sqrt(3) * edge / 2"], "b": ["0", "sqrt(3) * edge"] }
}
,"twelve-star-fountain-fez":{
  "schema": 1,
  "id": "twelve-star-fountain-fez",
  "name": "Twelve-point star fountain pattern",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 30, "min": 10, "max": 100, "label": "Star edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(1 + sqrt(3)) * edge", "0"],
        ["(2 + sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["1 * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["0", "(1 + sqrt(3)) * edge"],
        ["-1 * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(-1 - sqrt(3)) * edge", "0"],
        ["(-2 - sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["-1 * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["0", "(-1 - sqrt(3)) * edge"],
        ["1 * edge / 2", "(-2 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(7 + 3 * sqrt(3)) * edge"],
        ["1 * edge / 2", "(14 + 7 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge / 2", "(15 + 8 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(2 + sqrt(3)) * edge / 2", "(17 + 8 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(17 + 9 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(17 + 9 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(19 + 9 * sqrt(3)) * edge / 2"],
        ["1 * edge / 2", "(18 + 9 * sqrt(3)) * edge / 2"],
        ["0", "(9 + 5 * sqrt(3)) * edge"],
        ["-1 * edge / 2", "(18 + 9 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(19 + 9 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(17 + 9 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(17 + 9 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge / 2", "(17 + 8 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-2 - sqrt(3)) * edge / 2", "(15 + 8 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["-1 * edge / 2", "(14 + 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge", "0"],
        ["(14 + 7 * sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(15 + 8 * sqrt(3)) * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-1 - sqrt(3)) * edge"],
        ["(17 + 8 * sqrt(3)) * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["(17 + 9 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(17 + 9 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(19 + 9 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(18 + 9 * sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge", "0"],
        ["(18 + 9 * sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(19 + 9 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(17 + 9 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(17 + 9 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(17 + 8 * sqrt(3)) * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(1 + sqrt(3)) * edge"],
        ["(15 + 8 * sqrt(3)) * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(14 + 7 * sqrt(3)) * edge / 2", "1 * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(32 - 3 * sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4", "(32 - sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(32 - sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4", "(32 - 3 * sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4"],
        ["(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(16 + sqrt(2) + 8 * sqrt(3)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(32 + sqrt(2) + 16 * sqrt(3) + sqrt(6)) * edge / 4", "(32 - 3 * sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4"],
        ["(16 + sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(32 + 3 * sqrt(2) + 16 * sqrt(3) + sqrt(6)) * edge / 4", "(32 - sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4"],
        ["(16 + 2 * sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(16 + sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2", "(8 + 4 * sqrt(3)) * edge"],
        ["(16 + 2 * sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 + sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(32 + 3 * sqrt(2) + 16 * sqrt(3) + sqrt(6)) * edge / 4", "(32 + sqrt(2) + 16 * sqrt(3) + sqrt(6)) * edge / 4"],
        ["(16 + sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 + sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(32 + sqrt(2) + 16 * sqrt(3) + sqrt(6)) * edge / 4", "(32 + 3 * sqrt(2) + 16 * sqrt(3) + sqrt(6)) * edge / 4"],
        ["(16 + sqrt(2) + 8 * sqrt(3)) * edge / 2", "(16 + 2 * sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(16 + sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(16 + 2 * sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(32 - sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4", "(32 + 3 * sqrt(2) + 16 * sqrt(3) + sqrt(6)) * edge / 4"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 + sqrt(2) + 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(32 - 3 * sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4", "(32 + sqrt(2) + 16 * sqrt(3) + sqrt(6)) * edge / 4"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 + sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(8 + 4 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-4 - 2 * sqrt(3)) * edge", "(5 + 3 * sqrt(3)) * edge"],
        ["(-5 - 2 * sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(-14 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(14 - sqrt(2) + 6 * sqrt(3)) * edge / 2"],
        ["(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-14 + sqrt(2) - 6 * sqrt(3)) * edge / 2", "(14 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(-5 - 3 * sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(-5 - 2 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-4 - 2 * sqrt(3)) * edge", "(-5 - 3 * sqrt(3)) * edge"],
        ["(-5 - 2 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(-5 - 3 * sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(-6 - 3 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(-14 + sqrt(2) - 6 * sqrt(3)) * edge / 2", "(-14 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-14 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(-14 + sqrt(2) - 6 * sqrt(3)) * edge / 2"],
        ["(-5 - 2 * sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(4 + 2 * sqrt(3)) * edge", "(-5 - 3 * sqrt(3)) * edge"],
        ["(5 + 2 * sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(14 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(-14 + sqrt(2) - 6 * sqrt(3)) * edge / 2"],
        ["(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(14 - sqrt(2) + 6 * sqrt(3)) * edge / 2", "(-14 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(5 + 3 * sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(5 + 2 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(4 + 2 * sqrt(3)) * edge", "(5 + 3 * sqrt(3)) * edge"],
        ["(5 + 2 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(5 + 3 * sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(6 + 3 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(14 - sqrt(2) + 6 * sqrt(3)) * edge / 2", "(14 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(14 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(14 - sqrt(2) + 6 * sqrt(3)) * edge / 2"],
        ["(5 + 2 * sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(9 + 3 * sqrt(3)) * edge / 2", "(13 + 5 * sqrt(3)) * edge / 2"],
        ["(5 + 2 * sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(12 - sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(14 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(8 - 2 * sqrt(2) + 4 * sqrt(3) - sqrt(6)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(12 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(14 + sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(17 + 7 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-9 - 3 * sqrt(3)) * edge / 2", "(13 + 5 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(17 + 7 * sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-12 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(14 + sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(-8 + 2 * sqrt(2) - 4 * sqrt(3) + sqrt(6)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-12 + sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(14 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-5 - 2 * sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-9 - 3 * sqrt(3)) * edge / 2", "(-13 - 5 * sqrt(3)) * edge / 2"],
        ["(-5 - 2 * sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(-12 + sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(-14 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3)) * edge / 2"],
        ["(-8 + 2 * sqrt(2) - 4 * sqrt(3) + sqrt(6)) * edge", "(-8 - 4 * sqrt(3)) * edge"],
        ["(-12 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(-14 - sqrt(2) - 8 * sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(-8 - 4 * sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-17 - 7 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(9 + 3 * sqrt(3)) * edge / 2", "(-13 - 5 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-17 - 7 * sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(-8 - 4 * sqrt(3)) * edge"],
        ["(12 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(-14 - sqrt(2) - 8 * sqrt(3)) * edge / 2"],
        ["(8 - 2 * sqrt(2) + 4 * sqrt(3) - sqrt(6)) * edge", "(-8 - 4 * sqrt(3)) * edge"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3)) * edge / 2"],
        ["(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(12 - sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(-14 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(5 + 2 * sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-13 - 5 * sqrt(3)) * edge / 2", "(9 + 3 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(-14 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(12 - sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-16 + sqrt(2) - 8 * sqrt(3)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-8 - 4 * sqrt(3)) * edge", "(8 - 2 * sqrt(2) + 4 * sqrt(3) - sqrt(6)) * edge"],
        ["(-14 - sqrt(2) - 8 * sqrt(3)) * edge / 2", "(12 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-8 - 4 * sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(-17 - 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-13 - 5 * sqrt(3)) * edge / 2", "(-9 - 3 * sqrt(3)) * edge / 2"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-17 - 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-8 - 4 * sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(-14 - sqrt(2) - 8 * sqrt(3)) * edge / 2", "(-12 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-8 - 4 * sqrt(3)) * edge", "(-8 + 2 * sqrt(2) - 4 * sqrt(3) + sqrt(6)) * edge"],
        ["(-16 + sqrt(2) - 8 * sqrt(3)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-14 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-12 + sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(13 + 5 * sqrt(3)) * edge / 2", "(-9 - 3 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(14 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-12 + sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-8 + 2 * sqrt(2) - 4 * sqrt(3) + sqrt(6)) * edge"],
        ["(14 + sqrt(2) + 8 * sqrt(3)) * edge / 2", "(-12 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(17 + 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(13 + 5 * sqrt(3)) * edge / 2", "(9 + 3 * sqrt(3)) * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(17 + 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(14 + sqrt(2) + 8 * sqrt(3)) * edge / 2", "(12 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(8 - 2 * sqrt(2) + 4 * sqrt(3) - sqrt(6)) * edge"],
        ["(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(14 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(12 - sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge / 2", "(7 + 4 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(-6 - 3 * sqrt(3)) * edge / 2", "(9 + 4 * sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(11 + 5 * sqrt(3)) * edge / 2"],
        ["(-5 - 2 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(-11 - 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(-9 - 4 * sqrt(3)) * edge / 2", "(6 + 3 * sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(-7 - 4 * sqrt(3)) * edge / 2", "(6 + 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 4 * sqrt(3)) * edge / 2", "(-6 - 3 * sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(-9 - 4 * sqrt(3)) * edge / 2", "(-6 - 3 * sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-11 - 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-5 - 2 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-11 - 5 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge / 2", "(-9 - 4 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(-6 - 3 * sqrt(3)) * edge / 2", "(-7 - 4 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge / 2", "(-7 - 4 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(6 + 3 * sqrt(3)) * edge / 2", "(-9 - 4 * sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-11 - 5 * sqrt(3)) * edge / 2"],
        ["(5 + 2 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(11 + 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(9 + 4 * sqrt(3)) * edge / 2", "(-6 - 3 * sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(7 + 4 * sqrt(3)) * edge / 2", "(-6 - 3 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(5 + 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(7 + 4 * sqrt(3)) * edge / 2", "(6 + 3 * sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(9 + 4 * sqrt(3)) * edge / 2", "(6 + 3 * sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(11 + 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(5 + 2 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(11 + 5 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge / 2", "(9 + 4 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(6 + 3 * sqrt(3)) * edge / 2", "(7 + 4 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["0", "(3 + sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(15 + 5 * sqrt(3)) * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(15 + 5 * sqrt(3)) * edge / 6"],
        ["0", "(3 + sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(2 + sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["0", "(-3 - sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(-15 - 5 * sqrt(3)) * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-15 - 5 * sqrt(3)) * edge / 6"],
        ["0", "(-3 - sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "0"],
        ["(-15 - 5 * sqrt(3)) * edge / 6", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-15 - 5 * sqrt(3)) * edge / 6", "(-1 - sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "0"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "0"],
        ["(15 + 5 * sqrt(3)) * edge / 6", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(15 + 5 * sqrt(3)) * edge / 6", "(1 + sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "0"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(2 + sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(5 + 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(33 + 19 * sqrt(3)) * edge / 6"],
        ["0", "(5 + 3 * sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["0", "(5 + 3 * sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(33 + 19 * sqrt(3)) * edge / 6"],
        ["(-1 - sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-33 - 19 * sqrt(3)) * edge / 6"],
        ["0", "(-5 - 3 * sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["0", "(-5 - 3 * sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(-33 - 19 * sqrt(3)) * edge / 6"],
        ["(1 + sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(11 + 5 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(15 + 5 * sqrt(3)) * edge / 6", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(11 + 5 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(-15 - 5 * sqrt(3)) * edge / 6", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-11 - 5 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(-8 - 4 * sqrt(3)) * edge"],
        ["(-15 - 5 * sqrt(3)) * edge / 6", "(-15 - 7 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-15 - 7 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-11 - 5 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(-15 - 7 * sqrt(3)) * edge / 2"],
        ["(15 + 5 * sqrt(3)) * edge / 6", "(-15 - 7 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(-8 - 4 * sqrt(3)) * edge"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-33 - 19 * sqrt(3)) * edge / 6", "(1 + sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge", "0"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge", "0"],
        ["(-33 - 19 * sqrt(3)) * edge / 6", "(-1 - sqrt(3)) * edge / 2"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(33 + 19 * sqrt(3)) * edge / 6", "(-1 - sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge", "0"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(9 + 5 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge", "0"],
        ["(33 + 19 * sqrt(3)) * edge / 6", "(1 + sqrt(3)) * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-11 - 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-8 - 4 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(-15 - 7 * sqrt(3)) * edge / 2", "(15 + 5 * sqrt(3)) * edge / 6"],
        ["(-15 - 7 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(2 + sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-11 - 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-15 - 7 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-15 - 7 * sqrt(3)) * edge / 2", "(-15 - 5 * sqrt(3)) * edge / 6"],
        ["(-8 - 4 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(11 + 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(-15 - 5 * sqrt(3)) * edge / 6"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(11 + 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(15 + 5 * sqrt(3)) * edge / 6"],
        ["(8 + 4 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(-1 + sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["0", "(4 + 2 * sqrt(3)) * edge"],
        ["(-1 + sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 - sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["0", "(4 + 2 * sqrt(3)) * edge"],
        ["(1 - sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(1 - sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["0", "(-4 - 2 * sqrt(3)) * edge"],
        ["(1 - sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 + sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["0", "(-4 - 2 * sqrt(3)) * edge"],
        ["(-1 + sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "0"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(1 - sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "0"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(1 - sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(1 - sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "0"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "0"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["1 * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(15 + 5 * sqrt(3)) * edge / 6"],
        ["0", "(3 + sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(15 + 5 * sqrt(3)) * edge / 6"],
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["-1 * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["0", "(1 + sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["-1 * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-15 - 5 * sqrt(3)) * edge / 6"],
        ["0", "(-3 - sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(-15 - 5 * sqrt(3)) * edge / 6"],
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["1 * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["0", "(-1 - sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-2 - sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-15 - 5 * sqrt(3)) * edge / 6", "(1 + sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "0"],
        ["(-15 - 5 * sqrt(3)) * edge / 6", "(-1 - sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(-1 - sqrt(3)) * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["(2 + sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(15 + 5 * sqrt(3)) * edge / 6", "(-1 - sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "0"],
        ["(15 + 5 * sqrt(3)) * edge / 6", "(1 + sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(1 + sqrt(3)) * edge", "0"]
      ]
    },
    {
      "polygon": [
        ["0", "(5 + 3 * sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(33 + 19 * sqrt(3)) * edge / 6"],
        ["(1 + sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["1 * edge / 2", "(14 + 7 * sqrt(3)) * edge / 2"],
        ["0", "(7 + 3 * sqrt(3)) * edge"],
        ["-1 * edge / 2", "(14 + 7 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(33 + 19 * sqrt(3)) * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["0", "(-5 - 3 * sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(-33 - 19 * sqrt(3)) * edge / 6"],
        ["(-1 - sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"],
        ["-1 * edge / 2", "(-14 - 7 * sqrt(3)) * edge / 2"],
        ["0", "(-7 - 3 * sqrt(3)) * edge"],
        ["1 * edge / 2", "(-14 - 7 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-33 - 19 * sqrt(3)) * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["(15 + 5 * sqrt(3)) * edge / 6", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(15 + 5 * sqrt(3)) * edge / 6", "(17 + 9 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(17 + 9 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge / 2", "(17 + 8 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(2 + sqrt(3)) * edge / 2", "(15 + 8 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge / 2", "(15 + 8 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-2 - sqrt(3)) * edge / 2", "(17 + 8 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(17 + 9 * sqrt(3)) * edge / 2"],
        ["(-15 - 5 * sqrt(3)) * edge / 6", "(17 + 9 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-15 - 5 * sqrt(3)) * edge / 6", "(15 + 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 3 * sqrt(3)) * edge", "0"],
        ["(-33 - 19 * sqrt(3)) * edge / 6", "(1 + sqrt(3)) * edge / 2"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-14 - 7 * sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge", "0"],
        ["(-14 - 7 * sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-33 - 19 * sqrt(3)) * edge / 6", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(5 + 3 * sqrt(3)) * edge", "0"],
        ["(33 + 19 * sqrt(3)) * edge / 6", "(-1 - sqrt(3)) * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(14 + 7 * sqrt(3)) * edge / 2", "-1 * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge", "0"],
        ["(14 + 7 * sqrt(3)) * edge / 2", "1 * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(33 + 19 * sqrt(3)) * edge / 6", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(15 + 7 * sqrt(3)) * edge / 2", "(-15 - 5 * sqrt(3)) * edge / 6"],
        ["(8 + 4 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(17 + 9 * sqrt(3)) * edge / 2", "(-15 - 5 * sqrt(3)) * edge / 6"],
        ["(17 + 9 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(17 + 8 * sqrt(3)) * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-1 - sqrt(3)) * edge"],
        ["(15 + 8 * sqrt(3)) * edge / 2", "(-2 - sqrt(3)) * edge / 2"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(15 + 7 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(15 + 8 * sqrt(3)) * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(1 + sqrt(3)) * edge"],
        ["(17 + 8 * sqrt(3)) * edge / 2", "(2 + sqrt(3)) * edge / 2"],
        ["(17 + 9 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(17 + 9 * sqrt(3)) * edge / 2", "(15 + 5 * sqrt(3)) * edge / 6"],
        ["(8 + 4 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(15 + 5 * sqrt(3)) * edge / 6"]
      ]
    },
    {
      "polygon": [
        ["0", "(3 + sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-1 + sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["0", "(4 + 2 * sqrt(3)) * edge"],
        ["(1 - sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(-3 - sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(1 - sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["0", "(-4 - 2 * sqrt(3)) * edge"],
        ["(-1 + sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge", "0"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "0"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(1 - sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge", "0"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(1 - sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "0"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(4 + 2 * sqrt(3)) * edge"],
        ["(-1 + sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["0", "(5 + 3 * sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(1 - sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(-4 - 2 * sqrt(3)) * edge"],
        ["(1 - sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["0", "(-5 - 3 * sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(-1 + sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(11 + 5 * sqrt(3)) * edge / 2"],
        ["(5 + 2 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(4 + 2 * sqrt(3)) * edge", "(5 + 3 * sqrt(3)) * edge"],
        ["(5 + 2 * sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(9 + 3 * sqrt(3)) * edge / 2", "(13 + 5 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(11 + 5 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(-9 - 3 * sqrt(3)) * edge / 2", "(13 + 5 * sqrt(3)) * edge / 2"],
        ["(-5 - 2 * sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(-4 - 2 * sqrt(3)) * edge", "(5 + 3 * sqrt(3)) * edge"],
        ["(-5 - 2 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-11 - 5 * sqrt(3)) * edge / 2"],
        ["(-5 - 2 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(-4 - 2 * sqrt(3)) * edge", "(-5 - 3 * sqrt(3)) * edge"],
        ["(-5 - 2 * sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(-9 - 3 * sqrt(3)) * edge / 2", "(-13 - 5 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-11 - 5 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"],
        ["(9 + 3 * sqrt(3)) * edge / 2", "(-13 - 5 * sqrt(3)) * edge / 2"],
        ["(5 + 2 * sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(4 + 2 * sqrt(3)) * edge", "(-5 - 3 * sqrt(3)) * edge"],
        ["(5 + 2 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-4 - 2 * sqrt(3)) * edge", "0"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge", "0"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(4 + 2 * sqrt(3)) * edge", "0"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(1 - sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge", "0"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 2 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(-5 - 3 * sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(-6 - 3 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(-13 - 5 * sqrt(3)) * edge / 2", "(9 + 3 * sqrt(3)) * edge / 2"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-11 - 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 2 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(-11 - 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-13 - 5 * sqrt(3)) * edge / 2", "(-9 - 3 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(-5 - 3 * sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(5 + 2 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(5 + 3 * sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(6 + 3 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(13 + 5 * sqrt(3)) * edge / 2", "(-9 - 3 * sqrt(3)) * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(11 + 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(5 + 2 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(11 + 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(13 + 5 * sqrt(3)) * edge / 2", "(9 + 3 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(5 + 3 * sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(17 + 7 * sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(15 + 9 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(19 + 9 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(19 + 9 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(15 + 9 * sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(17 + 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(13 + 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(17 + 7 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(15 + 9 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(19 + 9 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(13 + 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(19 + 9 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(15 + 9 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(17 + 7 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-2 - sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-2 - sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 + sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 + sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge / 2", "(7 + 4 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(-6 - 3 * sqrt(3)) * edge / 2", "(7 + 4 * sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge / 2", "(-7 - 4 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(6 + 3 * sqrt(3)) * edge / 2", "(-7 - 4 * sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(6 + 3 * sqrt(3)) * edge / 2", "(9 + 4 * sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge / 2", "(9 + 4 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(-6 - 3 * sqrt(3)) * edge / 2", "(-9 - 4 * sqrt(3)) * edge / 2"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge / 2", "(-9 - 4 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 4 * sqrt(3)) * edge / 2", "(6 + 3 * sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(-7 - 4 * sqrt(3)) * edge / 2", "(-6 - 3 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(7 + 4 * sqrt(3)) * edge / 2", "(-6 - 3 * sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(7 + 4 * sqrt(3)) * edge / 2", "(6 + 3 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(7 + 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(11 + 5 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(5 + 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(11 + 5 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(9 + 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(-7 - 3 * sqrt(3)) * edge / 2", "(-11 - 5 * sqrt(3)) * edge / 2"],
        ["(-2 - sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(-5 - 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(5 + 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"],
        ["(2 + sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-11 - 5 * sqrt(3)) * edge / 2"],
        ["(7 + 3 * sqrt(3)) * edge / 2", "(-9 - 5 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-4 - 2 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(-9 - 4 * sqrt(3)) * edge / 2", "(6 + 3 * sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-4 - 2 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(-9 - 4 * sqrt(3)) * edge / 2", "(-6 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(4 + 2 * sqrt(3)) * edge", "(-3 - sqrt(3)) * edge"],
        ["(9 + 4 * sqrt(3)) * edge / 2", "(-6 - 3 * sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(4 + 2 * sqrt(3)) * edge", "(3 + sqrt(3)) * edge"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(9 + 4 * sqrt(3)) * edge / 2", "(6 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 + sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(3 + sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-2 - sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(-1 - sqrt(3)) * edge / 2", "(13 + 7 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(15 + 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-2 - sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(-3 - sqrt(3)) * edge / 2", "(-15 - 7 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-15 - 7 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(2 + sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(1 + sqrt(3)) * edge / 2", "(-13 - 7 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-15 - 7 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-15 - 7 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-11 - 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"],
        ["(-6 - 3 * sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-11 - 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(-9 - 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(11 + 5 * sqrt(3)) * edge / 2", "(-7 - 3 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(-5 - 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(9 + 5 * sqrt(3)) * edge / 2", "(5 + 3 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(11 + 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"],
        ["(9 + 5 * sqrt(3)) * edge / 2", "(7 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(-32 + 3 * sqrt(2) - 16 * sqrt(3) + sqrt(6)) * edge / 4", "(32 - sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4"],
        ["(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-32 + 3 * sqrt(2) - 16 * sqrt(3) + sqrt(6)) * edge / 4", "(-32 + sqrt(2) - 16 * sqrt(3) + sqrt(6)) * edge / 4"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3)) * edge / 2"],
        ["(32 - 3 * sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4", "(-32 + sqrt(2) - 16 * sqrt(3) + sqrt(6)) * edge / 4"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(32 - 3 * sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4", "(32 - sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(8 - 2 * sqrt(2) + 4 * sqrt(3) - sqrt(6)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(8 + 4 * sqrt(3)) * edge"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 + sqrt(2) + 8 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-8 + 2 * sqrt(2) - 4 * sqrt(3) + sqrt(6)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 + sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(8 + 4 * sqrt(3)) * edge"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-6 - 3 * sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(-15 - 7 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-15 - 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-6 - 3 * sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(-13 - 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-15 - 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-15 - 7 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(6 + 3 * sqrt(3)) * edge", "(-2 - sqrt(3)) * edge"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(6 + 3 * sqrt(3)) * edge", "(2 + sqrt(3)) * edge"],
        ["(13 + 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(15 + 7 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-16 + sqrt(2) - 8 * sqrt(3)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-32 + sqrt(2) - 16 * sqrt(3) + sqrt(6)) * edge / 4", "(-32 + 3 * sqrt(2) - 16 * sqrt(3) + sqrt(6)) * edge / 4"],
        ["(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-32 + sqrt(2) - 16 * sqrt(3) + sqrt(6)) * edge / 4", "(32 - 3 * sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4"],
        ["(-16 + sqrt(2) - 8 * sqrt(3)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(32 - sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4", "(-32 + 3 * sqrt(2) - 16 * sqrt(3) + sqrt(6)) * edge / 4"],
        ["(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(32 - sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4", "(32 - 3 * sqrt(2) + 16 * sqrt(3) - sqrt(6)) * edge / 4"],
        ["(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-16 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(16 + sqrt(2) + 8 * sqrt(3)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-8 + 2 * sqrt(2) - 4 * sqrt(3) + sqrt(6)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(16 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(8 - 2 * sqrt(2) + 4 * sqrt(3) - sqrt(6)) * edge"],
        ["(16 + sqrt(2) + 8 * sqrt(3)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(16 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 2 * sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(-12 + sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(14 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-14 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(14 - sqrt(2) + 6 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-5 - 2 * sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(-14 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(-14 + sqrt(2) - 6 * sqrt(3)) * edge / 2"],
        ["(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-12 + sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(-14 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(5 + 2 * sqrt(3)) * edge", "(-6 - 3 * sqrt(3)) * edge"],
        ["(12 - sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(-14 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2", "(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(14 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(-14 + sqrt(2) - 6 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(5 + 2 * sqrt(3)) * edge", "(6 + 3 * sqrt(3)) * edge"],
        ["(14 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(14 - sqrt(2) + 6 * sqrt(3)) * edge / 2"],
        ["(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2", "(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(12 - sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(14 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(12 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(14 + sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(8 - 2 * sqrt(2) + 4 * sqrt(3) - sqrt(6)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(12 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2", "(18 - sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(4 + 2 * sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-12 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(14 + sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(-4 - 2 * sqrt(3)) * edge", "(8 + 4 * sqrt(3)) * edge"],
        ["(-12 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2", "(18 - sqrt(2) + 8 * sqrt(3)) * edge / 2"],
        ["(-8 + 2 * sqrt(2) - 4 * sqrt(3) + sqrt(6)) * edge", "(8 + 4 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(-6 - 3 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(-14 + sqrt(2) - 6 * sqrt(3)) * edge / 2", "(14 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(-14 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(12 - sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-6 - 3 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(-14 + sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-12 + sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(-16 + 2 * sqrt(2) - 8 * sqrt(3) + sqrt(6)) * edge / 2", "(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(-14 + sqrt(2) - 6 * sqrt(3)) * edge / 2", "(-14 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(6 + 3 * sqrt(3)) * edge", "(-5 - 2 * sqrt(3)) * edge"],
        ["(14 - sqrt(2) + 6 * sqrt(3)) * edge / 2", "(-14 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-16 + 3 * sqrt(2) - 8 * sqrt(3) + 2 * sqrt(6)) * edge / 2"],
        ["(14 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(-12 + sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(6 + 3 * sqrt(3)) * edge", "(5 + 2 * sqrt(3)) * edge"],
        ["(14 - sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(12 - sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(16 - 2 * sqrt(2) + 8 * sqrt(3) - sqrt(6)) * edge / 2", "(16 - 3 * sqrt(2) + 8 * sqrt(3) - 2 * sqrt(6)) * edge / 2"],
        ["(14 - sqrt(2) + 6 * sqrt(3)) * edge / 2", "(14 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(14 + sqrt(2) + 8 * sqrt(3)) * edge / 2", "(-12 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-8 + 2 * sqrt(2) - 4 * sqrt(3) + sqrt(6)) * edge"],
        ["(18 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(-12 + 2 * sqrt(2) - 6 * sqrt(3) + sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(-4 - 2 * sqrt(3)) * edge"]
      ]
    },
    {
      "polygon": [
        ["(14 + sqrt(2) + 8 * sqrt(3)) * edge / 2", "(12 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(4 + 2 * sqrt(3)) * edge"],
        ["(18 - sqrt(2) + 8 * sqrt(3)) * edge / 2", "(12 - 2 * sqrt(2) + 6 * sqrt(3) - sqrt(6)) * edge / 2"],
        ["(8 + 4 * sqrt(3)) * edge", "(8 - 2 * sqrt(2) + 4 * sqrt(3) - sqrt(6)) * edge"]
      ]
    }
  ],
  "lattice": {
    "a": ["(16 + 8 * sqrt(3)) * edge", "0"],
    "b": ["0", "(16 + 8 * sqrt(3)) * edge"]
  }
}
,"twelve-star-six-kite":{
  "schema": 1,
  "id": "twelve-star-six-kite",
  "name": "Twelve-point star and kites",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 30, "min": 10, "max": 100, "label": "Star edge" }
  },
  "tiles": [
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(3 + 2 * sqrt(3)) * edge / 2", "-sqrt(3) * edge / 2"],
        ["(1 + sqrt(3)) * edge", "0"],
        ["(3 + 2 * sqrt(3)) * edge / 2", "sqrt(3) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["sqrt(3) * edge / 2", "(3 + 2 * sqrt(3)) * edge / 2"],
        ["0", "(1 + sqrt(3)) * edge"],
        ["-sqrt(3) * edge / 2", "(3 + 2 * sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-3 - 2 * sqrt(3)) * edge / 2", "sqrt(3) * edge / 2"],
        ["(-1 - sqrt(3)) * edge", "0"],
        ["(-3 - 2 * sqrt(3)) * edge / 2", "-sqrt(3) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["-sqrt(3) * edge / 2", "(-3 - 2 * sqrt(3)) * edge / 2"],
        ["0", "(-1 - sqrt(3)) * edge"],
        ["sqrt(3) * edge / 2", "(-3 - 2 * sqrt(3)) * edge / 2"],
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["-sqrt(3) * edge / 2", "(3 + 2 * sqrt(3)) * edge / 2"],
        ["0", "(3 + sqrt(3)) * edge"],
        ["sqrt(3) * edge / 2", "(3 + 2 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(3 + 3 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(3 + 5 * sqrt(3)) * edge / 2"],
        ["(3 - sqrt(3)) * edge / 2", "(3 + 5 * sqrt(3)) * edge / 2"],
        ["3 * edge / 2", "(6 + 5 * sqrt(3)) * edge / 2"],
        ["0", "(3 + 3 * sqrt(3)) * edge"],
        ["-3 * edge / 2", "(6 + 5 * sqrt(3)) * edge / 2"],
        ["(-3 + sqrt(3)) * edge / 2", "(3 + 5 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(3 + 5 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(3 + 3 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + 2 * sqrt(3)) * edge / 2", "sqrt(3) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "0"],
        ["(9 + 2 * sqrt(3)) * edge / 2", "sqrt(3) * edge / 2"],
        ["(9 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(9 + 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(9 + 3 * sqrt(3)) * edge / 2", "(3 + 3 * sqrt(3)) * edge / 2"],
        ["(6 + 3 * sqrt(3)) * edge / 2", "(3 + 4 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "2 * sqrt(3) * edge"],
        ["(6 + sqrt(3)) * edge / 2", "(3 + 4 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(3 + 3 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(3 + 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["-sqrt(3) * edge / 2", "(3 + 2 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(3 + 3 * sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-3 - 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(-3 - 2 * sqrt(3)) * edge / 2", "sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge", "0"],
        ["(-3 - 2 * sqrt(3)) * edge / 2", "sqrt(3) * edge / 2"],
        ["(-3 - sqrt(3)) * edge", "0"],
        ["(-3 - 2 * sqrt(3)) * edge / 2", "-sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(-1 - sqrt(3)) * edge"],
        ["-sqrt(3) * edge / 2", "(-3 - 2 * sqrt(3)) * edge / 2"],
        ["0", "(-3 - sqrt(3)) * edge"],
        ["sqrt(3) * edge / 2", "(-3 - 2 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge", "0"],
        ["(3 + 2 * sqrt(3)) * edge / 2", "-sqrt(3) * edge / 2"],
        ["(3 + sqrt(3)) * edge", "0"],
        ["(3 + 2 * sqrt(3)) * edge / 2", "sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["0", "(1 + sqrt(3)) * edge"],
        ["sqrt(3) * edge / 2", "(3 + 2 * sqrt(3)) * edge / 2"],
        ["0", "(3 + sqrt(3)) * edge"],
        ["-sqrt(3) * edge / 2", "(3 + 2 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["sqrt(3) * edge / 2", "(-3 - 2 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-3 - 3 * sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(3 + 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(3 + 2 * sqrt(3)) * edge / 2", "-sqrt(3) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-1 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-3 - 3 * sqrt(3)) * edge / 2"],
        ["-sqrt(3) * edge / 2", "(-3 - 2 * sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(-3 - sqrt(3)) * edge / 2", "(-1 - sqrt(3)) * edge / 2"],
        ["(-3 - 2 * sqrt(3)) * edge / 2", "-sqrt(3) * edge / 2"],
        ["(-3 - 3 * sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"],
        ["(-3 - sqrt(3)) * edge / 2", "(-3 - sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(3 + sqrt(3)) * edge / 2", "(1 + sqrt(3)) * edge / 2"],
        ["(3 + 2 * sqrt(3)) * edge / 2", "sqrt(3) * edge / 2"],
        ["(3 + 3 * sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"]
      ]
    },
    {
      "polygon": [
        ["(1 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(3 + sqrt(3)) * edge / 2"],
        ["(3 + sqrt(3)) * edge / 2", "(3 + 3 * sqrt(3)) * edge / 2"],
        ["sqrt(3) * edge / 2", "(3 + 2 * sqrt(3)) * edge / 2"]
      ]
    }
  ],
  "lattice": {
    "a": ["(6 + 2 * sqrt(3)) * edge", "0"],
    "b": ["(-3 - sqrt(3)) * edge", "(3 + 3 * sqrt(3)) * edge"]
  }
}
,"twin-lobe-block":{
  "schema": 1,
  "id": "twin-lobe-block",
  "name": "Twin lobe block",
  "category": "ceramic",
  "parameters": {
    "edge": { "value": 400, "min": 80, "max": 1500, "label": "Block side" },
    "bandWidth": { "value": 180, "min": 20, "max": 700, "label": "Border strip" },
    "sizeRatio": { "value": 0.45, "min": 0.1, "max": 0.49, "label": "Lobe rise / side", "unit": "none" },
    "lobe": { "expr": "edge * sizeRatio" },
    "radius": { "expr": "(edge * edge / 4 + lobe * lobe) / (2 * lobe)" },
    "low": { "expr": "lobe - radius" },
    "high": { "expr": "edge - low" },
    "span": { "expr": "edge + bandWidth" }
  },
  "tiles": [
    {
      "start": ["edge", "0"],
      "path": [
        { "arc": { "center": ["edge / 2", "low"], "from": ["edge", "0"], "to": ["0", "0"], "clockwise": false } },
        { "line": { "to": ["edge", "0"] } }
      ]
    },
    {
      "start": ["0", "edge"],
      "path": [
        { "arc": { "center": ["edge / 2", "high"], "from": ["0", "edge"], "to": ["edge", "edge"], "clockwise": false } },
        { "line": { "to": ["0", "edge"] } }
      ]
    },
    {
      "start": ["0", "0"],
      "path": [
        { "arc": { "center": ["edge / 2", "low"], "from": ["0", "0"], "to": ["edge", "0"], "clockwise": true } },
        { "line": { "to": ["edge", "edge"] } },
        { "arc": { "center": ["edge / 2", "high"], "from": ["edge", "edge"], "to": ["0", "edge"], "clockwise": true } },
        { "line": { "to": ["0", "0"] } }
      ]
    },
    { "rect": ["0", "edge", "edge", "span"] },
    { "rect": ["edge", "0", "span", "span"] }
  ],
  "lattice": { "a": ["span", "0"], "b": ["0", "span"] }
}
,"two-length-bond":{
  "schema": 1,
  "id": "two-length-bond",
  "name": "Two-length bond",
  "category": "brick",
  "parameters": {
    "width": { "value": 65, "min": 15, "max": 400, "label": "Course height" },
    "minimumLength": { "value": 440, "min": 60, "max": 2000, "label": "Short brick" },
    "maximumLength": { "value": 580, "min": 60, "max": 2600, "label": "Long brick" },
    "span": { "expr": "2 * minimumLength + maximumLength" }
  },
  "tiles": [
    { "rect": ["0", "0", "minimumLength", "width"] },
    { "rect": ["minimumLength", "0", "minimumLength + maximumLength", "width"] },
    { "rect": ["minimumLength + maximumLength", "0", "span", "width"] },
    { "rect": ["width", "width", "width + minimumLength", "2 * width"] },
    { "rect": ["width + minimumLength", "width", "width + 2 * minimumLength", "2 * width"] },
    { "rect": ["width + 2 * minimumLength", "width", "width + 2 * minimumLength + maximumLength", "2 * width"] }
  ],
  "lattice": { "a": ["span", "0"], "b": ["0", "2 * width"] }
}
,"two-size-grid":{
  "schema": 1,
  "id": "two-size-grid",
  "name": "Two-size grid",
  "category": "ceramic",
  "parameters": {
    "length": { "value": 400, "min": 40, "max": 2000, "label": "Wide tile" },
    "width": { "value": 600, "min": 20, "max": 2000, "label": "Tall course" },
    "sizeRatio": { "value": 0.5, "min": 0.05, "max": 1, "label": "Small / large side", "unit": "none" },
    "shortLength": { "expr": "length * sizeRatio" },
    "shortWidth": { "expr": "width * sizeRatio" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "length + shortLength", "width"] },
    { "rect": ["0", "width", "length", "width + shortWidth"] },
    { "rect": ["length", "width", "length + shortLength", "width + shortWidth"] }
  ],
  "lattice": { "a": ["length + shortLength", "0"], "b": ["0", "width + shortWidth"] }
}
,"two-width-plank-bond":{
  "schema": 1,
  "id": "two-width-plank-bond",
  "name": "Two-width plank bond",
  "category": "stone",
  "parameters": {
    "length": {
      "value": 170,
      "min": 40,
      "max": 3000,
      "label": "Plank length"
    },
    "width": {
      "value": 85,
      "min": 20,
      "max": 1000,
      "label": "Wide plank"
    },
    "narrowWidth": {
      "value": 50,
      "min": 20,
      "max": 1000,
      "label": "Narrow plank"
    },
    "drop": {
      "expr": "width - narrowWidth"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "width",
        "length"
      ]
    },
    {
      "rect": [
        "width",
        "-drop",
        "width + narrowWidth",
        "length - drop"
      ]
    }
  ],
  "lattice": {
    "a": [
      "width + narrowWidth",
      "0"
    ],
    "b": [
      "0",
      "length"
    ]
  }
}
,"two-width-stack":{
  "schema": 1,
  "id": "two-width-stack",
  "name": "Two-width stack",
  "category": "ceramic",
  "parameters": {
    "length": { "value": 600, "min": 40, "max": 2000, "label": "Long tile" },
    "width": { "value": 300, "min": 20, "max": 1200, "label": "Course height" },
    "sizeRatio": { "value": 0.2, "min": 0.05, "max": 1, "label": "Short / long tile", "unit": "none" },
    "shortLength": { "expr": "length * sizeRatio" }
  },
  "tiles": [
    { "rect": ["0", "0", "length", "width"] },
    { "rect": ["length", "0", "length + shortLength", "width"] }
  ],
  "lattice": { "a": ["length + shortLength", "0"], "b": ["0", "width"] }
}
,"uncoursed-ashlar":{
  "schema": 1,
  "id": "uncoursed-ashlar",
  "name": "Uncoursed ashlar",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 70, "min": 20, "max": 150, "label": "Smallest stone" },
    "maximumLength": { "value": 490, "min": 150, "max": 1200, "label": "Longest stone" }
  },
  "generator": {
    "uncoursedAshlar": {
      "width": "18 * moduleSize",
      "height": "18 * moduleSize",
      "moduleSize": "moduleSize",
      "maximumTileWidth": "maximumLength",
      "maximumTileHeight": "3 * moduleSize",
      "seed": "seed"
    }
  }
}
,"unified-herringbone":{
  "schema": 1,
  "id": "unified-herringbone",
  "name": "Unified herringbone",
  "category": "stone",
  "parameters": {
    "length": { "value": 300, "min": 150, "max": 1200, "label": "Arm length" },
    "width": { "value": 100, "min": 20, "max": 140, "label": "Arm width" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["length", "0"], ["length", "width"], ["width", "width"], ["width", "length"], ["0", "length"]] }
  ],
  "lattice": { "a": ["width", "width"], "b": ["length", "width - length"] }
}
,"v-herringbone-mixed":{
  "schema": 1,
  "id": "v-herringbone-mixed",
  "name": "Mixed V herringbone",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 125,
      "min": 20,
      "max": 600,
      "label": "Smallest piece side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "4 * moduleSize"
    ]
  }
}
,"v-paver-hexagon":{
  "schema": 1,
  "id": "v-paver-hexagon",
  "name": "V paver hexagon weave",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 10.0,
      "min": 1.0,
      "max": 200.0,
      "label": "Grid step"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "15 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "0",
          "23 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "0"
        ],
        [
          "45 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "15 * moduleSize"
        ],
        [
          "0",
          "23 * moduleSize"
        ],
        [
          "-7 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "-12 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "-19 * moduleSize",
          "26 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "33 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "52 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "26 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "23 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "41 * moduleSize"
        ],
        [
          "0",
          "45 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "38 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "56 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "60 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "33 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "41 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "30 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "30 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "41 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "38 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "60 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "56 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "26 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "0"
        ],
        [
          "26 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "11 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "41 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "45 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "38 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "26 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "38 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "45 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "41 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "41 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "45 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "48 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "56 * moduleSize"
        ],
        [
          "0",
          "45 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-7 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "0",
          "23 * moduleSize"
        ],
        [
          "0",
          "45 * moduleSize"
        ],
        [
          "-7 * moduleSize",
          "41 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "11 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "26 * moduleSize"
        ],
        [
          "0",
          "15 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "33 * moduleSize",
          "48 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "45 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "41 * moduleSize"
        ],
        [
          "52 * moduleSize",
          "45 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "56 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "30 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "33 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "48 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "45 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "33 * moduleSize",
          "42 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "45 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "48 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "45 * moduleSize",
          "27 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "33 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "30 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "33 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "38 * moduleSize",
          "15 * moduleSize"
        ],
        [
          "33 * moduleSize",
          "18 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "19 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "18 * moduleSize"
        ],
        [
          "14 * moduleSize",
          "15 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "45 * moduleSize",
          "57 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "63 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "60 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "57 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "60 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "63 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "53 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "57 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "71 * moduleSize"
        ],
        [
          "0",
          "75 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "-7 * moduleSize",
          "57 * moduleSize"
        ],
        [
          "0",
          "53 * moduleSize"
        ],
        [
          "0",
          "75 * moduleSize"
        ],
        [
          "-7 * moduleSize",
          "71 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "45 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "56 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "60 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "57 * moduleSize"
        ],
        [
          "0",
          "53 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "45 * moduleSize"
        ],
        [
          "0",
          "53 * moduleSize"
        ],
        [
          "-7 * moduleSize",
          "57 * moduleSize"
        ],
        [
          "-12 * moduleSize",
          "60 * moduleSize"
        ],
        [
          "-19 * moduleSize",
          "56 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "33 * moduleSize",
          "56 * moduleSize"
        ],
        [
          "40 * moduleSize",
          "60 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "63 * moduleSize"
        ],
        [
          "45 * moduleSize",
          "71 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "60 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "63 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "60 * moduleSize"
        ],
        [
          "19 * moduleSize",
          "56 * moduleSize"
        ],
        [
          "26 * moduleSize",
          "60 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "71 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "52 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "60 * moduleSize"
    ]
  }
}
,"v-paver":{
  "schema": 1,
  "id": "v-paver",
  "name": "V paver",
  "category": "stone",
  "parameters": {
    "edge": { "value": 100, "min": 20, "max": 600, "label": "Triangle side" },
    "rowStep": { "expr": "edge * sqrt(3) / 2" }
  },
  "tiles": [
    { "polygon": [["0", "4 * rowStep"], ["edge", "4 * rowStep"], ["3 * edge / 2", "3 * rowStep"], ["5 * edge / 2", "3 * rowStep"], ["3 * edge", "2 * rowStep"], ["edge", "2 * rowStep"]] },
    { "polygon": [["edge", "2 * rowStep"], ["3 * edge", "2 * rowStep"], ["5 * edge / 2", "rowStep"], ["3 * edge / 2", "rowStep"], ["edge", "0"], ["0", "0"]] },
    { "polygon": [["3 * edge", "4 * rowStep"], ["4 * edge", "2 * rowStep"], ["3 * edge", "0"], ["5 * edge / 2", "rowStep"], ["3 * edge", "2 * rowStep"], ["5 * edge / 2", "3 * rowStep"]] }
  ],
  "lattice": { "a": ["3 * edge", "0"], "b": ["3 * edge / 2", "-3 * rowStep"] }
}
,"varied-ashlar":{
  "schema": 1,
  "id": "varied-ashlar",
  "name": "Varied ashlar",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 80, "min": 20, "max": 150, "label": "Smallest stone" },
    "maximumLength": { "value": 480, "min": 150, "max": 1200, "label": "Longest stone" },
    "jitter": { "expr": "moduleSize / 6" }
  },
  "generator": {
    "uncoursedAshlar": {
      "width": "16 * moduleSize",
      "height": "16 * moduleSize",
      "moduleSize": "moduleSize",
      "maximumTileWidth": "maximumLength",
      "maximumTileHeight": "3 * moduleSize",
      "jitter": "jitter",
      "seed": "seed"
    }
  }
}
,"varied-basketweave":{
  "schema": 1,
  "id": "varied-basketweave",
  "name": "Varied basketweave",
  "category": "stone",
  "parameters": {
    "length": {
      "value": 200,
      "min": 40,
      "max": 1200,
      "label": "Block side"
    }
  },
  "tiles": [
    {
      "rect": [
        "0",
        "0",
        "length",
        "length / 2"
      ]
    },
    {
      "rect": [
        "0",
        "length / 2",
        "length",
        "3 * length / 4"
      ]
    },
    {
      "rect": [
        "0",
        "3 * length / 4",
        "length",
        "length"
      ]
    },
    {
      "rect": [
        "0",
        "length",
        "length / 2",
        "2 * length"
      ]
    },
    {
      "rect": [
        "length / 2",
        "length",
        "3 * length / 4",
        "2 * length"
      ]
    },
    {
      "rect": [
        "3 * length / 4",
        "length",
        "length",
        "2 * length"
      ]
    }
  ],
  "lattice": {
    "a": [
      "-length",
      "length"
    ],
    "b": [
      "length",
      "length"
    ]
  }
}
,"varied-square-grid":{
  "schema": 1,
  "id": "varied-square-grid",
  "name": "Varied square grid",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 100,
      "min": 20,
      "max": 400,
      "label": "Module size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "0"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "7 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "7 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "7 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "moduleSize"
        ],
        [
          "8 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "0",
          "5 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "7 * moduleSize"
        ],
        [
          "moduleSize",
          "7 * moduleSize"
        ],
        [
          "moduleSize",
          "8 * moduleSize"
        ],
        [
          "0",
          "8 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "7 * moduleSize"
        ],
        [
          "0",
          "7 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "moduleSize",
          "6 * moduleSize"
        ],
        [
          "0",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "moduleSize",
          "0"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "4 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "8 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "8 * moduleSize"
    ]
  }
}
,"venetian-pave":{
  "schema": 1,
  "id": "venetian-pave",
  "name": "Venetian pave",
  "category": "stone",
  "parameters": {
    "edge": { "value": 300, "min": 40, "max": 1500, "label": "Large square" },
    "sizeRatio": { "value": 0.4, "min": 0.1, "max": 1, "label": "Small / large side", "unit": "none" },
    "smallEdge": { "expr": "edge * sizeRatio" }
  },
  "tiles": [
    { "rect": ["0", "smallEdge", "edge", "smallEdge + edge"] },
    { "rect": ["0", "0", "edge", "smallEdge"] },
    { "rect": ["edge", "0", "edge + smallEdge", "smallEdge"] },
    { "rect": ["edge", "smallEdge", "edge + smallEdge", "smallEdge + edge"] }
  ],
  "lattice": { "a": ["edge + smallEdge", "0"], "b": ["0", "edge + smallEdge"] }
}
,"venetian":{
  "schema": 1,
  "id": "venetian",
  "name": "Venetian",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 100,
      "min": 20,
      "max": 600,
      "label": "Smallest tile side"
    }
  },
  "tiles": [
    {
      "rect": [
        "3 * moduleSize",
        "2 * moduleSize",
        "4 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "0",
        "4 * moduleSize",
        "moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "3 * moduleSize",
        "2 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "3 * moduleSize",
        "moduleSize",
        "4 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "moduleSize",
        "3 * moduleSize",
        "3 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "0",
        "moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "rect": [
        "moduleSize",
        "0",
        "2 * moduleSize",
        "moduleSize"
      ]
    },
    {
      "rect": [
        "2 * moduleSize",
        "3 * moduleSize",
        "3 * moduleSize",
        "4 * moduleSize"
      ]
    },
    {
      "rect": [
        "0",
        "2 * moduleSize",
        "moduleSize",
        "3 * moduleSize"
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "4 * moduleSize"
    ]
  }
}
,"versailles":{
  "schema": 1,
  "id": "versailles",
  "name": "Versailles",
  "category": "stone",
  "parameters": {
    "moduleSize": { "value": 200, "min": 20, "max": 1000, "label": "Smallest tile side" }
  },
  "tiles": [
    { "rect": ["0", "0", "2 * moduleSize", "2 * moduleSize"] },
    { "rect": ["2 * moduleSize", "moduleSize", "4 * moduleSize", "3 * moduleSize"] },
    { "rect": ["4 * moduleSize", "moduleSize", "6 * moduleSize", "4 * moduleSize"] },
    { "rect": ["5 * moduleSize", "0", "6 * moduleSize", "moduleSize"] },
    { "rect": ["0", "2 * moduleSize", "moduleSize", "4 * moduleSize"] },
    { "rect": ["moduleSize", "2 * moduleSize", "2 * moduleSize", "3 * moduleSize"] },
    { "rect": ["moduleSize", "3 * moduleSize", "3 * moduleSize", "5 * moduleSize"] },
    { "rect": ["3 * moduleSize", "3 * moduleSize", "4 * moduleSize", "4 * moduleSize"] },
    { "rect": ["3 * moduleSize", "4 * moduleSize", "5 * moduleSize", "5 * moduleSize"] },
    { "rect": ["5 * moduleSize", "4 * moduleSize", "7 * moduleSize", "6 * moduleSize"] },
    { "rect": ["moduleSize", "5 * moduleSize", "2 * moduleSize", "6 * moduleSize"] },
    { "rect": ["2 * moduleSize", "5 * moduleSize", "5 * moduleSize", "7 * moduleSize"] }
  ],
  "lattice": { "a": ["6 * moduleSize", "0"], "b": ["0", "6 * moduleSize"] }
}
,"victorian-octagon-mosaic":{
  "schema": 1,
  "id": "victorian-octagon-mosaic",
  "name": "Victorian octagon mosaic",
  "category": "ceramic",
  "parameters": {
    "moduleSize": { "value": 60, "min": 10, "max": 600, "label": "Module" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "moduleSize"], ["moduleSize", "0"], ["2 * moduleSize", "0"], ["3 * moduleSize", "moduleSize"],
        ["3 * moduleSize", "2 * moduleSize"], ["2 * moduleSize", "3 * moduleSize"], ["moduleSize", "3 * moduleSize"], ["0", "2 * moduleSize"]
      ]
    },
    {
      "polygon": [
        ["4 * moduleSize", "3 * moduleSize"], ["5 * moduleSize", "3 * moduleSize"], ["6 * moduleSize", "4 * moduleSize"], ["6 * moduleSize", "5 * moduleSize"],
        ["5 * moduleSize", "6 * moduleSize"], ["4 * moduleSize", "6 * moduleSize"], ["3 * moduleSize", "5 * moduleSize"], ["3 * moduleSize", "4 * moduleSize"]
      ]
    },
    {
      "polygon": [
        ["3 * moduleSize", "2 * moduleSize"], ["4 * moduleSize", "2 * moduleSize"], ["4 * moduleSize", "3 * moduleSize"],
        ["3 * moduleSize", "4 * moduleSize"], ["2 * moduleSize", "4 * moduleSize"], ["2 * moduleSize", "3 * moduleSize"]
      ]
    },
    {
      "polygon": [
        ["2 * moduleSize", "-moduleSize"], ["3 * moduleSize", "-moduleSize"], ["4 * moduleSize", "0"], ["4 * moduleSize", "moduleSize"],
        ["3 * moduleSize", "moduleSize"], ["2 * moduleSize", "0"]
      ]
    },
    {
      "polygon": [
        ["-moduleSize", "2 * moduleSize"], ["0", "2 * moduleSize"], ["moduleSize", "3 * moduleSize"], ["moduleSize", "4 * moduleSize"],
        ["0", "4 * moduleSize"], ["-moduleSize", "3 * moduleSize"]
      ]
    },
    {
      "polygon": [
        ["0", "-moduleSize"], ["moduleSize", "-moduleSize"], ["moduleSize", "0"], ["0", "moduleSize"],
        ["-moduleSize", "moduleSize"], ["-moduleSize", "0"]
      ]
    },
    { "rect": ["5 * moduleSize", "moduleSize", "6 * moduleSize", "2 * moduleSize"] },
    { "rect": ["moduleSize", "4 * moduleSize", "2 * moduleSize", "5 * moduleSize"] },
    { "rect": ["3 * moduleSize", "moduleSize", "4 * moduleSize", "2 * moduleSize"] },
    { "rect": ["2 * moduleSize", "4 * moduleSize", "3 * moduleSize", "5 * moduleSize"] },
    { "rect": ["4 * moduleSize", "2 * moduleSize", "5 * moduleSize", "3 * moduleSize"] },
    { "rect": ["moduleSize", "3 * moduleSize", "2 * moduleSize", "4 * moduleSize"] },
    { "rect": ["0", "4 * moduleSize", "moduleSize", "5 * moduleSize"] },
    { "rect": ["moduleSize", "5 * moduleSize", "2 * moduleSize", "6 * moduleSize"] },
    { "rect": ["4 * moduleSize", "moduleSize", "5 * moduleSize", "2 * moduleSize"] },
    { "rect": ["4 * moduleSize", "0", "5 * moduleSize", "moduleSize"] }
  ],
  "lattice": { "a": ["6 * moduleSize", "0"], "b": ["0", "6 * moduleSize"] }
}
,"wave-bands":{
  "schema": 1,
  "id": "wave-bands",
  "name": "Wave bands",
  "category": "stone",
  "parameters": {
    "wavelength": {
      "value": 400,
      "min": 100,
      "max": 2000,
      "label": "Wavelength"
    },
    "amplitude": {
      "value": 40,
      "min": 5,
      "max": 300,
      "label": "Amplitude"
    },
    "bandWidth": {
      "value": 100,
      "min": 20,
      "max": 400,
      "label": "Band width"
    },
    "quarterWavelength": {
      "expr": "wavelength / 4"
    },
    "startHandleHeightRatio": {
      "expr": "0.51228662"
    },
    "endHandleHeightRatio": {
      "expr": "0.56848264"
    },
    "startHandleRunFraction": {
      "expr": "startHandleHeightRatio * 2 / pi"
    },
    "endHandleRunFraction": {
      "expr": "endHandleHeightRatio * 2 / pi"
    }
  },
  "tiles": [
    {
      "start": [
        "0",
        "0"
      ],
      "path": [
        {
          "bezier": {
            "c1": [
              "startHandleRunFraction * quarterWavelength",
              "startHandleHeightRatio * amplitude"
            ],
            "c2": [
              "(1 - endHandleRunFraction) * quarterWavelength",
              "amplitude"
            ],
            "to": [
              "quarterWavelength",
              "amplitude"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(1 + endHandleRunFraction) * quarterWavelength",
              "amplitude"
            ],
            "c2": [
              "(2 - startHandleRunFraction) * quarterWavelength",
              "startHandleHeightRatio * amplitude"
            ],
            "to": [
              "2 * quarterWavelength",
              "0"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(2 + startHandleRunFraction) * quarterWavelength",
              "-startHandleHeightRatio * amplitude"
            ],
            "c2": [
              "(3 - endHandleRunFraction) * quarterWavelength",
              "-amplitude"
            ],
            "to": [
              "3 * quarterWavelength",
              "-amplitude"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(3 + endHandleRunFraction) * quarterWavelength",
              "-amplitude"
            ],
            "c2": [
              "(4 - startHandleRunFraction) * quarterWavelength",
              "-startHandleHeightRatio * amplitude"
            ],
            "to": [
              "4 * quarterWavelength",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "wavelength",
              "bandWidth"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(4 - startHandleRunFraction) * quarterWavelength",
              "bandWidth + (-startHandleHeightRatio * amplitude)"
            ],
            "c2": [
              "(3 + endHandleRunFraction) * quarterWavelength",
              "bandWidth + (-amplitude)"
            ],
            "to": [
              "3 * quarterWavelength",
              "bandWidth + (-amplitude)"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(3 - endHandleRunFraction) * quarterWavelength",
              "bandWidth + (-amplitude)"
            ],
            "c2": [
              "(2 + startHandleRunFraction) * quarterWavelength",
              "bandWidth + (-startHandleHeightRatio * amplitude)"
            ],
            "to": [
              "2 * quarterWavelength",
              "bandWidth + (0)"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(2 - startHandleRunFraction) * quarterWavelength",
              "bandWidth + (startHandleHeightRatio * amplitude)"
            ],
            "c2": [
              "(1 + endHandleRunFraction) * quarterWavelength",
              "bandWidth + (amplitude)"
            ],
            "to": [
              "quarterWavelength",
              "bandWidth + (amplitude)"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(1 - endHandleRunFraction) * quarterWavelength",
              "bandWidth + (amplitude)"
            ],
            "c2": [
              "startHandleRunFraction * quarterWavelength",
              "bandWidth + (startHandleHeightRatio * amplitude)"
            ],
            "to": [
              "0",
              "bandWidth + (0)"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ]
    },
    {
      "start": [
        "0",
        "bandWidth"
      ],
      "path": [
        {
          "bezier": {
            "c1": [
              "startHandleRunFraction * quarterWavelength",
              "bandWidth + (startHandleHeightRatio * amplitude)"
            ],
            "c2": [
              "(1 - endHandleRunFraction) * quarterWavelength",
              "bandWidth + (amplitude)"
            ],
            "to": [
              "quarterWavelength",
              "bandWidth + (amplitude)"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(1 + endHandleRunFraction) * quarterWavelength",
              "bandWidth + (amplitude)"
            ],
            "c2": [
              "(2 - startHandleRunFraction) * quarterWavelength",
              "bandWidth + (startHandleHeightRatio * amplitude)"
            ],
            "to": [
              "2 * quarterWavelength",
              "bandWidth + (0)"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(2 + startHandleRunFraction) * quarterWavelength",
              "bandWidth + (-startHandleHeightRatio * amplitude)"
            ],
            "c2": [
              "(3 - endHandleRunFraction) * quarterWavelength",
              "bandWidth + (-amplitude)"
            ],
            "to": [
              "3 * quarterWavelength",
              "bandWidth + (-amplitude)"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(3 + endHandleRunFraction) * quarterWavelength",
              "bandWidth + (-amplitude)"
            ],
            "c2": [
              "(4 - startHandleRunFraction) * quarterWavelength",
              "bandWidth + (-startHandleHeightRatio * amplitude)"
            ],
            "to": [
              "4 * quarterWavelength",
              "bandWidth + (0)"
            ]
          }
        },
        {
          "line": {
            "to": [
              "wavelength",
              "2 * bandWidth"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(4 - startHandleRunFraction) * quarterWavelength",
              "2 * bandWidth + (-startHandleHeightRatio * amplitude)"
            ],
            "c2": [
              "(3 + endHandleRunFraction) * quarterWavelength",
              "2 * bandWidth + (-amplitude)"
            ],
            "to": [
              "3 * quarterWavelength",
              "2 * bandWidth + (-amplitude)"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(3 - endHandleRunFraction) * quarterWavelength",
              "2 * bandWidth + (-amplitude)"
            ],
            "c2": [
              "(2 + startHandleRunFraction) * quarterWavelength",
              "2 * bandWidth + (-startHandleHeightRatio * amplitude)"
            ],
            "to": [
              "2 * quarterWavelength",
              "2 * bandWidth + (0)"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(2 - startHandleRunFraction) * quarterWavelength",
              "2 * bandWidth + (startHandleHeightRatio * amplitude)"
            ],
            "c2": [
              "(1 + endHandleRunFraction) * quarterWavelength",
              "2 * bandWidth + (amplitude)"
            ],
            "to": [
              "quarterWavelength",
              "2 * bandWidth + (amplitude)"
            ]
          }
        },
        {
          "bezier": {
            "c1": [
              "(1 - endHandleRunFraction) * quarterWavelength",
              "2 * bandWidth + (amplitude)"
            ],
            "c2": [
              "startHandleRunFraction * quarterWavelength",
              "2 * bandWidth + (startHandleHeightRatio * amplitude)"
            ],
            "to": [
              "0",
              "2 * bandWidth + (0)"
            ]
          }
        },
        {
          "line": {
            "to": [
              "0",
              "bandWidth"
            ]
          }
        }
      ]
    }
  ],
  "lattice": {
    "a": [
      "wavelength",
      "0"
    ],
    "b": [
      "0",
      "2 * bandWidth"
    ]
  }
}
,"wave-edge-plank":{
  "schema": 1,
  "id": "wave-edge-plank",
  "name": "Wave edge plank",
  "category": "ceramic",
  "parameters": {
    "width": {
      "value": 140,
      "min": 20,
      "max": 300,
      "label": "Plank width"
    },
    "length": {
      "value": 320,
      "min": 310,
      "max": 3000,
      "label": "Course height"
    },
    "radius": {
      "expr": "width / 2"
    },
    "straight": {
      "expr": "(length - width) / 2"
    },
    "turn": {
      "expr": "straight + radius"
    },
    "upper": {
      "expr": "straight + width"
    }
  },
  "tiles": [
    {
      "start": [
        "0",
        "0"
      ],
      "path": [
        {
          "line": {
            "to": [
              "width",
              "0"
            ]
          }
        },
        {
          "line": {
            "to": [
              "width",
              "straight"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "width + radius",
              "straight"
            ],
            "from": [
              "width",
              "straight"
            ],
            "to": [
              "width + radius",
              "turn"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "width + radius",
              "upper"
            ],
            "from": [
              "width + radius",
              "turn"
            ],
            "to": [
              "2 * width",
              "upper"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "2 * width",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "width",
              "length"
            ]
          }
        },
        {
          "line": {
            "to": [
              "width",
              "upper"
            ]
          }
        },
        {
          "arc": {
            "center": [
              "radius",
              "upper"
            ],
            "from": [
              "width",
              "upper"
            ],
            "to": [
              "radius",
              "turn"
            ],
            "clockwise": true
          }
        },
        {
          "arc": {
            "center": [
              "radius",
              "straight"
            ],
            "from": [
              "radius",
              "turn"
            ],
            "to": [
              "0",
              "straight"
            ],
            "clockwise": false
          }
        },
        {
          "line": {
            "to": [
              "0",
              "0"
            ]
          }
        }
      ],
      "grain": [
        "0",
        "1"
      ]
    }
  ],
  "lattice": {
    "a": [
      "width",
      "0"
    ],
    "b": [
      "0",
      "length"
    ]
  }
},"wave-panel":{
  "schema": 1,
  "id": "wave-panel",
  "name": "Wave panel",
  "category": "wood",
  "parameters": {
    "width": { "value": 120, "min": 40, "max": 600, "label": "Board width" },
    "length": { "value": 1200, "min": 100, "max": 3000, "label": "Board length" },
    "relief": { "value": 12, "min": 1, "max": 50, "label": "Wave height" },
    "waves": { "expr": "1" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "length"] }
  ],
  "lattice": { "a": ["width", "0"], "b": ["0", "length"] },
  "body": {
    "heightfield": {
      "height": "relief * (1 + cos(180 * round(waves) * x)) / 2",
      "resolution": "width / (8 * round(waves))"
    }
  }
}
,"wavy-quatrefoil-grid":{
  "schema": 1,
  "id": "wavy-quatrefoil-grid",
  "name": "Wavy quatrefoil grid",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 300,
      "min": 60,
      "max": 900,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "1.25 * overallSize",
          "1.75 * overallSize"
        ],
        [
          "1.259259259259 * overallSize",
          "1.685185185185 * overallSize"
        ],
        [
          "1.282407407407 * overallSize",
          "1.625 * overallSize"
        ],
        [
          "1.324074074074 * overallSize",
          "1.574074074074 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "1.532407407407 * overallSize"
        ],
        [
          "1.435185185185 * overallSize",
          "1.509259259259 * overallSize"
        ],
        [
          "1.564814814815 * overallSize",
          "1.490740740741 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "1.467592592593 * overallSize"
        ],
        [
          "1.675925925926 * overallSize",
          "1.425925925926 * overallSize"
        ],
        [
          "1.717592592593 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.740740740741 * overallSize",
          "1.314814814815 * overallSize"
        ],
        [
          "1.759259259259 * overallSize",
          "1.185185185185 * overallSize"
        ],
        [
          "1.782407407407 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.824074074074 * overallSize",
          "1.074074074074 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "1.032407407407 * overallSize"
        ],
        [
          "1.935185185185 * overallSize",
          "1.009259259259 * overallSize"
        ],
        [
          "2 * overallSize",
          "overallSize"
        ],
        [
          "2 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "1.935185185185 * overallSize",
          "1.509259259259 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "1.532407407407 * overallSize"
        ],
        [
          "1.824074074074 * overallSize",
          "1.574074074074 * overallSize"
        ],
        [
          "1.782407407407 * overallSize",
          "1.625 * overallSize"
        ],
        [
          "1.759259259259 * overallSize",
          "1.685185185185 * overallSize"
        ],
        [
          "1.75 * overallSize",
          "1.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.824074074074 * overallSize",
          "0.925925925926 * overallSize"
        ],
        [
          "0.782407407407 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.759259259259 * overallSize",
          "0.814814814815 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.759259259259 * overallSize",
          "0.685185185185 * overallSize"
        ],
        [
          "0.782407407407 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.824074074074 * overallSize",
          "0.574074074074 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.532407407407 * overallSize"
        ],
        [
          "0.935185185185 * overallSize",
          "0.509259259259 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.064814814815 * overallSize",
          "0.509259259259 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.532407407407 * overallSize"
        ],
        [
          "1.175925925926 * overallSize",
          "0.574074074074 * overallSize"
        ],
        [
          "1.217592592593 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.240740740741 * overallSize",
          "0.685185185185 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.240740740741 * overallSize",
          "0.814814814815 * overallSize"
        ],
        [
          "1.217592592593 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.175925925926 * overallSize",
          "0.925925925926 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.967592592593 * overallSize"
        ],
        [
          "1.064814814815 * overallSize",
          "0.990740740741 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "0.935185185185 * overallSize",
          "0.990740740741 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.967592592593 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.324074074074 * overallSize",
          "1.425925925926 * overallSize"
        ],
        [
          "0.282407407407 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.259259259259 * overallSize",
          "1.314814814815 * overallSize"
        ],
        [
          "0.240740740741 * overallSize",
          "1.185185185185 * overallSize"
        ],
        [
          "0.217592592593 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.175925925926 * overallSize",
          "1.074074074074 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.032407407407 * overallSize"
        ],
        [
          "0.064814814815 * overallSize",
          "1.009259259259 * overallSize"
        ],
        [
          "0",
          "overallSize"
        ],
        [
          "0",
          "0.75 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.259259259259 * overallSize",
          "0.814814814815 * overallSize"
        ],
        [
          "0.282407407407 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.324074074074 * overallSize",
          "0.925925925926 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.967592592593 * overallSize"
        ],
        [
          "0.435185185185 * overallSize",
          "0.990740740741 * overallSize"
        ],
        [
          "0.564814814815 * overallSize",
          "1.009259259259 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "1.032407407407 * overallSize"
        ],
        [
          "0.675925925926 * overallSize",
          "1.074074074074 * overallSize"
        ],
        [
          "0.717592592593 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.740740740741 * overallSize",
          "1.185185185185 * overallSize"
        ],
        [
          "0.759259259259 * overallSize",
          "1.314814814815 * overallSize"
        ],
        [
          "0.782407407407 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.824074074074 * overallSize",
          "1.425925925926 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "1.467592592593 * overallSize"
        ],
        [
          "0.935185185185 * overallSize",
          "1.490740740741 * overallSize"
        ],
        [
          "overallSize",
          "1.5 * overallSize"
        ],
        [
          "overallSize",
          "1.75 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.75 * overallSize"
        ],
        [
          "0.740740740741 * overallSize",
          "1.685185185185 * overallSize"
        ],
        [
          "0.717592592593 * overallSize",
          "1.625 * overallSize"
        ],
        [
          "0.675925925926 * overallSize",
          "1.574074074074 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "1.532407407407 * overallSize"
        ],
        [
          "0.564814814815 * overallSize",
          "1.509259259259 * overallSize"
        ],
        [
          "0.435185185185 * overallSize",
          "1.490740740741 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "1.467592592593 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.824074074074 * overallSize",
          "0.425925925926 * overallSize"
        ],
        [
          "1.782407407407 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.759259259259 * overallSize",
          "0.314814814815 * overallSize"
        ],
        [
          "1.740740740741 * overallSize",
          "0.185185185185 * overallSize"
        ],
        [
          "1.717592592593 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.675925925926 * overallSize",
          "0.074074074074 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.032407407407 * overallSize"
        ],
        [
          "1.564814814815 * overallSize",
          "0.009259259259 * overallSize"
        ],
        [
          "1.435185185185 * overallSize",
          "-0.009259259259 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "-0.032407407407 * overallSize"
        ],
        [
          "1.324074074074 * overallSize",
          "-0.074074074074 * overallSize"
        ],
        [
          "1.282407407407 * overallSize",
          "-0.125 * overallSize"
        ],
        [
          "1.259259259259 * overallSize",
          "-0.185185185185 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "-0.25 * overallSize"
        ],
        [
          "1.75 * overallSize",
          "-0.25 * overallSize"
        ],
        [
          "1.759259259259 * overallSize",
          "-0.185185185185 * overallSize"
        ],
        [
          "1.782407407407 * overallSize",
          "-0.125 * overallSize"
        ],
        [
          "1.824074074074 * overallSize",
          "-0.074074074074 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "-0.032407407407 * overallSize"
        ],
        [
          "1.935185185185 * overallSize",
          "-0.009259259259 * overallSize"
        ],
        [
          "2 * overallSize",
          "0"
        ],
        [
          "2 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "1.935185185185 * overallSize",
          "0.490740740741 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "0.467592592593 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "1.5 * overallSize"
        ],
        [
          "0",
          "overallSize"
        ],
        [
          "0.064814814815 * overallSize",
          "1.009259259259 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.032407407407 * overallSize"
        ],
        [
          "0.175925925926 * overallSize",
          "1.074074074074 * overallSize"
        ],
        [
          "0.217592592593 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.240740740741 * overallSize",
          "1.185185185185 * overallSize"
        ],
        [
          "0.259259259259 * overallSize",
          "1.314814814815 * overallSize"
        ],
        [
          "0.282407407407 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.324074074074 * overallSize",
          "1.425925925926 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "1.467592592593 * overallSize"
        ],
        [
          "0.435185185185 * overallSize",
          "1.490740740741 * overallSize"
        ],
        [
          "0.564814814815 * overallSize",
          "1.509259259259 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "1.532407407407 * overallSize"
        ],
        [
          "0.675925925926 * overallSize",
          "1.574074074074 * overallSize"
        ],
        [
          "0.717592592593 * overallSize",
          "1.625 * overallSize"
        ],
        [
          "0.740740740741 * overallSize",
          "1.685185185185 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "1.75 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "1.75 * overallSize"
        ],
        [
          "0.240740740741 * overallSize",
          "1.685185185185 * overallSize"
        ],
        [
          "0.217592592593 * overallSize",
          "1.625 * overallSize"
        ],
        [
          "0.175925925926 * overallSize",
          "1.574074074074 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "1.532407407407 * overallSize"
        ],
        [
          "0.064814814815 * overallSize",
          "1.509259259259 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.064814814815 * overallSize",
          "-0.009259259259 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "-0.032407407407 * overallSize"
        ],
        [
          "0.175925925926 * overallSize",
          "-0.074074074074 * overallSize"
        ],
        [
          "0.217592592593 * overallSize",
          "-0.125 * overallSize"
        ],
        [
          "0.240740740741 * overallSize",
          "-0.185185185185 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "-0.25 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "-0.25 * overallSize"
        ],
        [
          "0.740740740741 * overallSize",
          "-0.185185185185 * overallSize"
        ],
        [
          "0.717592592593 * overallSize",
          "-0.125 * overallSize"
        ],
        [
          "0.675925925926 * overallSize",
          "-0.074074074074 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "-0.032407407407 * overallSize"
        ],
        [
          "0.564814814815 * overallSize",
          "-0.009259259259 * overallSize"
        ],
        [
          "0.435185185185 * overallSize",
          "0.009259259259 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.032407407407 * overallSize"
        ],
        [
          "0.324074074074 * overallSize",
          "0.074074074074 * overallSize"
        ],
        [
          "0.282407407407 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.259259259259 * overallSize",
          "0.185185185185 * overallSize"
        ],
        [
          "0.240740740741 * overallSize",
          "0.314814814815 * overallSize"
        ],
        [
          "0.217592592593 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.175925925926 * overallSize",
          "0.425925925926 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.467592592593 * overallSize"
        ],
        [
          "0.064814814815 * overallSize",
          "0.490740740741 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "1.75 * overallSize"
        ],
        [
          "overallSize",
          "1.5 * overallSize"
        ],
        [
          "1.064814814815 * overallSize",
          "1.490740740741 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "1.467592592593 * overallSize"
        ],
        [
          "1.175925925926 * overallSize",
          "1.425925925926 * overallSize"
        ],
        [
          "1.217592592593 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.240740740741 * overallSize",
          "1.314814814815 * overallSize"
        ],
        [
          "1.259259259259 * overallSize",
          "1.185185185185 * overallSize"
        ],
        [
          "1.282407407407 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.324074074074 * overallSize",
          "1.074074074074 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "1.032407407407 * overallSize"
        ],
        [
          "1.435185185185 * overallSize",
          "1.009259259259 * overallSize"
        ],
        [
          "1.564814814815 * overallSize",
          "0.990740740741 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.967592592593 * overallSize"
        ],
        [
          "1.675925925926 * overallSize",
          "0.925925925926 * overallSize"
        ],
        [
          "1.717592592593 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.740740740741 * overallSize",
          "0.814814814815 * overallSize"
        ],
        [
          "1.75 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "2 * overallSize",
          "overallSize"
        ],
        [
          "1.935185185185 * overallSize",
          "1.009259259259 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "1.032407407407 * overallSize"
        ],
        [
          "1.824074074074 * overallSize",
          "1.074074074074 * overallSize"
        ],
        [
          "1.782407407407 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.759259259259 * overallSize",
          "1.185185185185 * overallSize"
        ],
        [
          "1.740740740741 * overallSize",
          "1.314814814815 * overallSize"
        ],
        [
          "1.717592592593 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.675925925926 * overallSize",
          "1.425925925926 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "1.467592592593 * overallSize"
        ],
        [
          "1.564814814815 * overallSize",
          "1.490740740741 * overallSize"
        ],
        [
          "1.435185185185 * overallSize",
          "1.509259259259 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "1.532407407407 * overallSize"
        ],
        [
          "1.324074074074 * overallSize",
          "1.574074074074 * overallSize"
        ],
        [
          "1.282407407407 * overallSize",
          "1.625 * overallSize"
        ],
        [
          "1.259259259259 * overallSize",
          "1.685185185185 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "1.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.824074074074 * overallSize",
          "1.425925925926 * overallSize"
        ],
        [
          "0.782407407407 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "0.759259259259 * overallSize",
          "1.314814814815 * overallSize"
        ],
        [
          "0.740740740741 * overallSize",
          "1.185185185185 * overallSize"
        ],
        [
          "0.717592592593 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "0.675925925926 * overallSize",
          "1.074074074074 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "1.032407407407 * overallSize"
        ],
        [
          "0.564814814815 * overallSize",
          "1.009259259259 * overallSize"
        ],
        [
          "0.435185185185 * overallSize",
          "0.990740740741 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.967592592593 * overallSize"
        ],
        [
          "0.324074074074 * overallSize",
          "0.925925925926 * overallSize"
        ],
        [
          "0.282407407407 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.259259259259 * overallSize",
          "0.814814814815 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.759259259259 * overallSize",
          "0.814814814815 * overallSize"
        ],
        [
          "0.782407407407 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "0.824074074074 * overallSize",
          "0.925925925926 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.967592592593 * overallSize"
        ],
        [
          "0.935185185185 * overallSize",
          "0.990740740741 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "overallSize",
          "1.5 * overallSize"
        ],
        [
          "0.935185185185 * overallSize",
          "1.490740740741 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "1.467592592593 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.75 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.064814814815 * overallSize",
          "0.490740740741 * overallSize"
        ],
        [
          "0.125 * overallSize",
          "0.467592592593 * overallSize"
        ],
        [
          "0.175925925926 * overallSize",
          "0.425925925926 * overallSize"
        ],
        [
          "0.217592592593 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.240740740741 * overallSize",
          "0.314814814815 * overallSize"
        ],
        [
          "0.259259259259 * overallSize",
          "0.185185185185 * overallSize"
        ],
        [
          "0.282407407407 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.324074074074 * overallSize",
          "0.074074074074 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.032407407407 * overallSize"
        ],
        [
          "0.435185185185 * overallSize",
          "0.009259259259 * overallSize"
        ],
        [
          "0.564814814815 * overallSize",
          "-0.009259259259 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "-0.032407407407 * overallSize"
        ],
        [
          "0.675925925926 * overallSize",
          "-0.074074074074 * overallSize"
        ],
        [
          "0.717592592593 * overallSize",
          "-0.125 * overallSize"
        ],
        [
          "0.740740740741 * overallSize",
          "-0.185185185185 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "-0.25 * overallSize"
        ],
        [
          "overallSize",
          "-0.25 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "0.935185185185 * overallSize",
          "0.009259259259 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.032407407407 * overallSize"
        ],
        [
          "0.824074074074 * overallSize",
          "0.074074074074 * overallSize"
        ],
        [
          "0.782407407407 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.759259259259 * overallSize",
          "0.185185185185 * overallSize"
        ],
        [
          "0.740740740741 * overallSize",
          "0.314814814815 * overallSize"
        ],
        [
          "0.717592592593 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.675925925926 * overallSize",
          "0.425925925926 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.467592592593 * overallSize"
        ],
        [
          "0.564814814815 * overallSize",
          "0.490740740741 * overallSize"
        ],
        [
          "0.435185185185 * overallSize",
          "0.509259259259 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.532407407407 * overallSize"
        ],
        [
          "0.324074074074 * overallSize",
          "0.574074074074 * overallSize"
        ],
        [
          "0.282407407407 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.259259259259 * overallSize",
          "0.685185185185 * overallSize"
        ],
        [
          "0.25 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.324074074074 * overallSize",
          "0.425925925926 * overallSize"
        ],
        [
          "1.282407407407 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.259259259259 * overallSize",
          "0.314814814815 * overallSize"
        ],
        [
          "1.240740740741 * overallSize",
          "0.185185185185 * overallSize"
        ],
        [
          "1.217592592593 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.175925925926 * overallSize",
          "0.074074074074 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.032407407407 * overallSize"
        ],
        [
          "1.064814814815 * overallSize",
          "0.009259259259 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "-0.25 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "-0.25 * overallSize"
        ],
        [
          "1.259259259259 * overallSize",
          "-0.185185185185 * overallSize"
        ],
        [
          "1.282407407407 * overallSize",
          "-0.125 * overallSize"
        ],
        [
          "1.324074074074 * overallSize",
          "-0.074074074074 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "-0.032407407407 * overallSize"
        ],
        [
          "1.435185185185 * overallSize",
          "-0.009259259259 * overallSize"
        ],
        [
          "1.564814814815 * overallSize",
          "0.009259259259 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.032407407407 * overallSize"
        ],
        [
          "1.675925925926 * overallSize",
          "0.074074074074 * overallSize"
        ],
        [
          "1.717592592593 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.740740740741 * overallSize",
          "0.185185185185 * overallSize"
        ],
        [
          "1.759259259259 * overallSize",
          "0.314814814815 * overallSize"
        ],
        [
          "1.782407407407 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.824074074074 * overallSize",
          "0.425925925926 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "0.467592592593 * overallSize"
        ],
        [
          "1.935185185185 * overallSize",
          "0.490740740741 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "2 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.75 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.740740740741 * overallSize",
          "0.685185185185 * overallSize"
        ],
        [
          "1.717592592593 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.675925925926 * overallSize",
          "0.574074074074 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.532407407407 * overallSize"
        ],
        [
          "1.564814814815 * overallSize",
          "0.509259259259 * overallSize"
        ],
        [
          "1.435185185185 * overallSize",
          "0.490740740741 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.467592592593 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "1.824074074074 * overallSize",
          "1.925925925926 * overallSize"
        ],
        [
          "1.782407407407 * overallSize",
          "1.875 * overallSize"
        ],
        [
          "1.759259259259 * overallSize",
          "1.814814814815 * overallSize"
        ],
        [
          "1.75 * overallSize",
          "1.75 * overallSize"
        ],
        [
          "1.759259259259 * overallSize",
          "1.685185185185 * overallSize"
        ],
        [
          "1.782407407407 * overallSize",
          "1.625 * overallSize"
        ],
        [
          "1.824074074074 * overallSize",
          "1.574074074074 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "1.532407407407 * overallSize"
        ],
        [
          "1.935185185185 * overallSize",
          "1.509259259259 * overallSize"
        ],
        [
          "2 * overallSize",
          "1.5 * overallSize"
        ],
        [
          "2.064814814815 * overallSize",
          "1.509259259259 * overallSize"
        ],
        [
          "2.125 * overallSize",
          "1.532407407407 * overallSize"
        ],
        [
          "2.175925925926 * overallSize",
          "1.574074074074 * overallSize"
        ],
        [
          "2.217592592593 * overallSize",
          "1.625 * overallSize"
        ],
        [
          "2.240740740741 * overallSize",
          "1.685185185185 * overallSize"
        ],
        [
          "2.25 * overallSize",
          "1.75 * overallSize"
        ],
        [
          "2.240740740741 * overallSize",
          "1.814814814815 * overallSize"
        ],
        [
          "2.217592592593 * overallSize",
          "1.875 * overallSize"
        ],
        [
          "2.175925925926 * overallSize",
          "1.925925925926 * overallSize"
        ],
        [
          "2.125 * overallSize",
          "1.967592592593 * overallSize"
        ],
        [
          "2.064814814815 * overallSize",
          "1.990740740741 * overallSize"
        ],
        [
          "2 * overallSize",
          "2 * overallSize"
        ],
        [
          "1.935185185185 * overallSize",
          "1.990740740741 * overallSize"
        ],
        [
          "1.875 * overallSize",
          "1.967592592593 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.25 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "0.259259259259 * overallSize",
          "0.685185185185 * overallSize"
        ],
        [
          "0.282407407407 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.324074074074 * overallSize",
          "0.574074074074 * overallSize"
        ],
        [
          "0.375 * overallSize",
          "0.532407407407 * overallSize"
        ],
        [
          "0.435185185185 * overallSize",
          "0.509259259259 * overallSize"
        ],
        [
          "0.564814814815 * overallSize",
          "0.490740740741 * overallSize"
        ],
        [
          "0.625 * overallSize",
          "0.467592592593 * overallSize"
        ],
        [
          "0.675925925926 * overallSize",
          "0.425925925926 * overallSize"
        ],
        [
          "0.717592592593 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "0.740740740741 * overallSize",
          "0.314814814815 * overallSize"
        ],
        [
          "0.759259259259 * overallSize",
          "0.185185185185 * overallSize"
        ],
        [
          "0.782407407407 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "0.824074074074 * overallSize",
          "0.074074074074 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.032407407407 * overallSize"
        ],
        [
          "0.935185185185 * overallSize",
          "0.009259259259 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.935185185185 * overallSize",
          "0.509259259259 * overallSize"
        ],
        [
          "0.875 * overallSize",
          "0.532407407407 * overallSize"
        ],
        [
          "0.824074074074 * overallSize",
          "0.574074074074 * overallSize"
        ],
        [
          "0.782407407407 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "0.759259259259 * overallSize",
          "0.685185185185 * overallSize"
        ],
        [
          "0.75 * overallSize",
          "0.75 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "1.064814814815 * overallSize",
          "0.009259259259 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.032407407407 * overallSize"
        ],
        [
          "1.175925925926 * overallSize",
          "0.074074074074 * overallSize"
        ],
        [
          "1.217592592593 * overallSize",
          "0.125 * overallSize"
        ],
        [
          "1.240740740741 * overallSize",
          "0.185185185185 * overallSize"
        ],
        [
          "1.259259259259 * overallSize",
          "0.314814814815 * overallSize"
        ],
        [
          "1.282407407407 * overallSize",
          "0.375 * overallSize"
        ],
        [
          "1.324074074074 * overallSize",
          "0.425925925926 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "0.467592592593 * overallSize"
        ],
        [
          "1.435185185185 * overallSize",
          "0.490740740741 * overallSize"
        ],
        [
          "1.564814814815 * overallSize",
          "0.509259259259 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.532407407407 * overallSize"
        ],
        [
          "1.675925925926 * overallSize",
          "0.574074074074 * overallSize"
        ],
        [
          "1.717592592593 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.740740740741 * overallSize",
          "0.685185185185 * overallSize"
        ],
        [
          "1.75 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.240740740741 * overallSize",
          "0.685185185185 * overallSize"
        ],
        [
          "1.217592592593 * overallSize",
          "0.625 * overallSize"
        ],
        [
          "1.175925925926 * overallSize",
          "0.574074074074 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.532407407407 * overallSize"
        ],
        [
          "1.064814814815 * overallSize",
          "0.509259259259 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "overallSize",
          "1.5 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ],
        [
          "1.064814814815 * overallSize",
          "0.990740740741 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "0.967592592593 * overallSize"
        ],
        [
          "1.175925925926 * overallSize",
          "0.925925925926 * overallSize"
        ],
        [
          "1.217592592593 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.240740740741 * overallSize",
          "0.814814814815 * overallSize"
        ],
        [
          "1.25 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.75 * overallSize",
          "0.75 * overallSize"
        ],
        [
          "1.740740740741 * overallSize",
          "0.814814814815 * overallSize"
        ],
        [
          "1.717592592593 * overallSize",
          "0.875 * overallSize"
        ],
        [
          "1.675925925926 * overallSize",
          "0.925925925926 * overallSize"
        ],
        [
          "1.625 * overallSize",
          "0.967592592593 * overallSize"
        ],
        [
          "1.564814814815 * overallSize",
          "0.990740740741 * overallSize"
        ],
        [
          "1.435185185185 * overallSize",
          "1.009259259259 * overallSize"
        ],
        [
          "1.375 * overallSize",
          "1.032407407407 * overallSize"
        ],
        [
          "1.324074074074 * overallSize",
          "1.074074074074 * overallSize"
        ],
        [
          "1.282407407407 * overallSize",
          "1.125 * overallSize"
        ],
        [
          "1.259259259259 * overallSize",
          "1.185185185185 * overallSize"
        ],
        [
          "1.240740740741 * overallSize",
          "1.314814814815 * overallSize"
        ],
        [
          "1.217592592593 * overallSize",
          "1.375 * overallSize"
        ],
        [
          "1.175925925926 * overallSize",
          "1.425925925926 * overallSize"
        ],
        [
          "1.125 * overallSize",
          "1.467592592593 * overallSize"
        ],
        [
          "1.064814814815 * overallSize",
          "1.490740740741 * overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "2 * overallSize",
      "0"
    ],
    "b": [
      "0",
      "2 * overallSize"
    ]
  }
}
,"weave-with-square":{
  "schema": 1,
  "id": "weave-with-square",
  "name": "Weave with square",
  "category": "stone",
  "parameters": {
    "width": { "value": 100, "min": 20, "max": 500, "label": "Paver width" },
    "length": { "expr": "3 * width" }
  },
  "tiles": [
    { "repeat": { "index": "k", "count": "4" }, "rect": ["0", "k * width", "length", "(k + 1) * width"] },
    { "rect": ["length", "0", "length + width", "width"] },
    { "rect": ["length", "width", "length + width", "width + length"] }
  ],
  "lattice": { "a": ["length + width", "0"], "b": ["0", "length + width"] }
}
,"wedge-split-band":{
  "schema": 1,
  "id": "wedge-split-band",
  "name": "Wedge split band",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 125,
      "min": 25,
      "max": 600,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "moduleSize",
          "0"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ],
        [
          "0",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "rect": [
        "4 * moduleSize",
        "moduleSize",
        "5 * moduleSize",
        "2 * moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "0"
        ]
      ]
    },
    {
      "rect": [
        "moduleSize",
        "0",
        "2 * moduleSize",
        "moduleSize"
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "0"
        ],
        [
          "2 * moduleSize",
          "moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "6 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "2 * moduleSize"
    ]
  }
},"woven-octagon-band":{
  "schema": 1,
  "id": "woven-octagon-band",
  "name": "Woven octagon band",
  "category": "ceramic",
  "parameters": {
    "overallSize": {
      "value": 600,
      "min": 120,
      "max": 2400,
      "label": "Tile size"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0.098360655738 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.209016393443 * overallSize"
        ],
        [
          "0.209016393443 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.331967213115 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.204918032787 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "0.204918032787 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.569672131148 * overallSize",
          "0"
        ],
        [
          "0.668032786885 * overallSize",
          "0.098360655738 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.098360655738 * overallSize",
          "0.672131147541 * overallSize"
        ],
        [
          "0",
          "0.573770491803 * overallSize"
        ],
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.901639344262 * overallSize",
          "0.672131147541 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ],
        [
          "overallSize",
          "0.573770491803 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.668032786885 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.790983606557 * overallSize"
        ],
        [
          "0.790983606557 * overallSize",
          "0.901639344262 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.5 * overallSize"
        ],
        [
          "0",
          "0.426229508197 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.327868852459 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.569672131148 * overallSize",
          "overallSize"
        ],
        [
          "0.668032786885 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.790983606557 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.790983606557 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.672131147541 * overallSize"
        ],
        [
          "overallSize",
          "0.573770491803 * overallSize"
        ],
        [
          "overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.209016393443 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.790983606557 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.672131147541 * overallSize"
        ],
        [
          "0.204918032787 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.901639344262 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.331967213115 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.430327868852 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.790983606557 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.209016393443 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.327868852459 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.22131147541 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.622950819672 * overallSize",
          "0.77868852459 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.377049180328 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.22131147541 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.204918032787 * overallSize",
          "0.606557377049 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.204918032787 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.098360655738 * overallSize",
          "0.672131147541 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.377049180328 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.204918032787 * overallSize",
          "0.77868852459 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0.426229508197 * overallSize"
        ],
        [
          "0",
          "0"
        ],
        [
          "0.430327868852 * overallSize",
          "0"
        ],
        [
          "0.331967213115 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.209016393443 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.209016393443 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.327868852459 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.668032786885 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.569672131148 * overallSize",
          "0"
        ],
        [
          "overallSize",
          "0"
        ],
        [
          "overallSize",
          "0.426229508197 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.327868852459 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.209016393443 * overallSize"
        ],
        [
          "0.790983606557 * overallSize",
          "0.098360655738 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.204918032787 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.204918032787 * overallSize",
          "0.393442622951 * overallSize"
        ],
        [
          "0.377049180328 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.622950819672 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.668032786885 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.569672131148 * overallSize",
          "overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.606557377049 * overallSize"
        ],
        [
          "0.622950819672 * overallSize",
          "0.77868852459 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.204918032787 * overallSize",
          "0.393442622951 * overallSize"
        ],
        [
          "0.204918032787 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "0.331967213115 * overallSize",
          "0.098360655738 * overallSize"
        ],
        [
          "0.430327868852 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0"
        ],
        [
          "0.5 * overallSize",
          "0.098360655738 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.795081967213 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.393442622951 * overallSize"
        ],
        [
          "0.901639344262 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.901639344262 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.622950819672 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "overallSize",
          "0.426229508197 * overallSize"
        ],
        [
          "overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "0.622950819672 * overallSize",
          "0.22131147541 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.393442622951 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.5 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.377049180328 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.204918032787 * overallSize",
          "0.606557377049 * overallSize"
        ],
        [
          "0.204918032787 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.5 * overallSize"
        ],
        [
          "0.5 * overallSize",
          "0.77868852459 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0.622950819672 * overallSize",
          "0.77868852459 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.606557377049 * overallSize"
        ],
        [
          "0.795081967213 * overallSize",
          "0.77868852459 * overallSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "overallSize"
        ],
        [
          "0",
          "0.573770491803 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.672131147541 * overallSize"
        ],
        [
          "0.098360655738 * overallSize",
          "0.790983606557 * overallSize"
        ],
        [
          "0.209016393443 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.331967213115 * overallSize",
          "0.901639344262 * overallSize"
        ],
        [
          "0.430327868852 * overallSize",
          "overallSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "overallSize",
      "0"
    ],
    "b": [
      "0",
      "overallSize"
    ]
  }
}
,"z-plank-weave":{
  "schema": 1,
  "id": "z-plank-weave",
  "name": "Z-plank weave",
  "category": "stone",
  "parameters": {
    "length": { "value": 400, "min": 80, "max": 2000, "label": "Plank length" },
    "width": { "value": 260, "min": 40, "max": 1200, "label": "Plank width" },
    "step": { "expr": "length / 4" }
  },
  "tiles": [
    { "polygon": [["step", "width"], ["5 * step", "width"], ["5 * step", "2 * width"], ["6 * step", "2 * width"], ["6 * step", "3 * width"], ["2 * step", "3 * width"], ["2 * step", "2 * width"], ["step", "2 * width"]] },
    { "polygon": [["7 * step", "width"], ["11 * step", "width"], ["11 * step", "2 * width"], ["10 * step", "2 * width"], ["10 * step", "3 * width"], ["6 * step", "3 * width"], ["6 * step", "2 * width"], ["7 * step", "2 * width"]] },
    { "rect": ["0", "2 * width", "2 * step", "4 * width"] },
    { "polygon": [["2 * step", "3 * width"], ["6 * step", "3 * width"], ["6 * step", "4 * width"], ["5 * step", "4 * width"], ["5 * step", "5 * width"], ["step", "5 * width"], ["step", "4 * width"], ["2 * step", "4 * width"]] },
    { "polygon": [["6 * step", "3 * width"], ["10 * step", "3 * width"], ["10 * step", "4 * width"], ["11 * step", "4 * width"], ["11 * step", "5 * width"], ["7 * step", "5 * width"], ["7 * step", "4 * width"], ["6 * step", "4 * width"]] },
    { "rect": ["5 * step", "4 * width", "7 * step", "6 * width"] }
  ],
  "lattice": { "a": ["10 * step", "0"], "b": ["0", "4 * width"] }
}
,"zellige-column":{
  "schema": 1,
  "id": "zellige-column",
  "name": "Zellige column",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 60, "min": 15, "max": 400, "label": "Tile width" },
    "length": { "value": 250, "min": 40, "max": 1600, "label": "Tile length" },
    "period": { "expr": "length + width" }
  },
  "tiles": [
    { "rect": ["0", "width", "width", "width + length"] },
    { "rect": ["0", "0", "width", "width"] },
    { "rect": ["width", "0", "2 * width", "length"] },
    { "rect": ["width", "length", "2 * width", "length + width"] }
  ],
  "lattice": { "a": ["2 * width", "0"], "b": ["0", "period"] }
}
,"zellige-diamond-hexagon":{
  "schema": 1,
  "id": "zellige-diamond-hexagon",
  "name": "Zellige diamond and hexagon",
  "category": "ceramic",
  "parameters": {
    "moduleSize": {
      "value": 100,
      "min": 20,
      "max": 600,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "moduleSize",
          "-moduleSize"
        ],
        [
          "2 * moduleSize",
          "-moduleSize"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "-moduleSize"
        ],
        [
          "3 * moduleSize",
          "-moduleSize"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "0"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "0",
          "moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "3 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "-4 * moduleSize"
    ]
  }
},"zellige-pointed-star":{
  "schema": 1,
  "id": "zellige-pointed-star",
  "name": "Zellige pointed star",
  "category": "ceramic",
  "parameters": {
    "overallSize": { "value": 150, "min": 40, "max": 1200, "label": "Star width" },
    "unit": { "expr": "overallSize / 8" }
  },
  "tiles": [
    {
      "polygon": [
        ["2 * unit", "unit"], ["3 * unit", "unit"], ["4 * unit", "0"], ["5 * unit", "unit"], ["6 * unit", "unit"],
        ["6 * unit", "3 * unit"], ["7 * unit", "3 * unit"], ["8 * unit", "4 * unit"], ["7 * unit", "5 * unit"],
        ["6 * unit", "5 * unit"], ["6 * unit", "7 * unit"], ["5 * unit", "7 * unit"], ["4 * unit", "8 * unit"],
        ["3 * unit", "7 * unit"], ["2 * unit", "7 * unit"], ["2 * unit", "5 * unit"], ["unit", "5 * unit"],
        ["0", "4 * unit"], ["unit", "3 * unit"], ["2 * unit", "3 * unit"]
      ]
    }
  ],
  "lattice": { "a": ["8 * unit", "0"], "b": ["4 * unit", "4 * unit"] }
}
,"zellige-square":{
  "schema": 1,
  "id": "zellige-square",
  "name": "Zellige square",
  "category": "ceramic",
  "parameters": {
    "moduleSize": { "value": 50, "min": 15, "max": 400, "label": "Module side" }
  },
  "tiles": [
    { "rect": ["0", "4 * moduleSize", "2 * moduleSize", "5 * moduleSize"] },
    { "rect": ["2 * moduleSize", "4 * moduleSize", "4 * moduleSize", "5 * moduleSize"] },
    { "rect": ["4 * moduleSize", "4 * moduleSize", "5 * moduleSize", "5 * moduleSize"] },
    { "polygon": [["0", "2 * moduleSize"], ["moduleSize", "2 * moduleSize"], ["2 * moduleSize", "3 * moduleSize"],
                  ["2 * moduleSize", "4 * moduleSize"], ["0", "4 * moduleSize"]] },
    { "polygon": [["2 * moduleSize", "3 * moduleSize"], ["3 * moduleSize", "2 * moduleSize"], ["4 * moduleSize", "2 * moduleSize"],
                  ["4 * moduleSize", "4 * moduleSize"], ["2 * moduleSize", "4 * moduleSize"]] },
    { "rect": ["4 * moduleSize", "2 * moduleSize", "5 * moduleSize", "4 * moduleSize"] },
    { "polygon": [["moduleSize", "2 * moduleSize"], ["2 * moduleSize", "moduleSize"], ["3 * moduleSize", "2 * moduleSize"],
                  ["2 * moduleSize", "3 * moduleSize"]] },
    { "polygon": [["2 * moduleSize", "0"], ["4 * moduleSize", "0"], ["4 * moduleSize", "2 * moduleSize"],
                  ["3 * moduleSize", "2 * moduleSize"], ["2 * moduleSize", "moduleSize"]] },
    { "polygon": [["0", "0"], ["2 * moduleSize", "0"], ["2 * moduleSize", "moduleSize"],
                  ["moduleSize", "2 * moduleSize"], ["0", "2 * moduleSize"]] },
    { "rect": ["4 * moduleSize", "0", "5 * moduleSize", "2 * moduleSize"] }
  ],
  "lattice": { "a": ["5 * moduleSize", "0"], "b": ["0", "5 * moduleSize"] }
}
,"zellige-weave":{
  "schema": 1,
  "id": "zellige-weave",
  "name": "Zellige weave",
  "category": "ceramic",
  "parameters": {
    "width": { "value": 60, "min": 15, "max": 400, "label": "Tile width" },
    "length": { "expr": "3 * width" }
  },
  "tiles": [
    { "rect": ["0", "0", "width", "width"] },
    { "rect": ["0", "width", "width", "width + length"] },
    { "repeat": { "index": "k", "count": "3" }, "rect": ["width + k * width", "width", "2 * width + k * width", "width + length"] },
    { "rect": ["width", "0", "width + length", "width"] }
  ],
  "lattice": { "a": ["width + length", "0"], "b": ["0", "width + length"] }
}
,"zigzag-cross":{
  "schema": 1,
  "id": "zigzag-cross",
  "name": "Zigzag cross",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 100,
      "min": 10,
      "max": 800,
      "label": "Zigzag step"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "2 * moduleSize"
        ],
        [
          "moduleSize",
          "moduleSize"
        ],
        [
          "2 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "moduleSize"
        ],
        [
          "4 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "moduleSize"
        ],
        [
          "6 * moduleSize",
          "2 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "0",
          "4 * moduleSize"
        ],
        [
          "moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "5 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "7 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "5 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "10 * moduleSize"
        ],
        [
          "moduleSize",
          "9 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "8 * moduleSize"
        ],
        [
          "moduleSize",
          "7 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "moduleSize",
          "5 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "4 * moduleSize"
        ],
        [
          "3 * moduleSize",
          "5 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "4 * moduleSize",
      "4 * moduleSize"
    ],
    "b": [
      "4 * moduleSize",
      "-4 * moduleSize"
    ]
  }
}
,"zigzag-interlock":{
  "schema": 1,
  "id": "zigzag-interlock",
  "name": "Zigzag interlock",
  "category": "stone",
  "parameters": {
    "length": { "value": 225, "min": 60, "max": 600, "label": "Length" },
    "width": { "value": 112.5, "min": 30, "max": 300, "label": "Width" },
    "zigzagDepth": { "expr": "0.0888888889 * min(width, length / 2)" },
    "endBulge": { "expr": "0.0888888889 * min(width, length / 2)" }
  },
  "tiles": [
    {
      "polygon": [
        ["0", "0"],
        ["length / 6", "zigzagDepth"],
        ["length / 3", "-zigzagDepth"],
        ["2 * length / 3", "zigzagDepth"],
        ["5 * length / 6", "-zigzagDepth"],
        ["length", "0"],
        ["length - endBulge", "width / 3"],
        ["length + endBulge", "2 * width / 3"],
        ["length", "width"],
        ["5 * length / 6", "width - zigzagDepth"],
        ["2 * length / 3", "width + zigzagDepth"],
        ["length / 3", "width - zigzagDepth"],
        ["length / 6", "width + zigzagDepth"],
        ["0", "width"],
        ["endBulge", "2 * width / 3"],
        ["-endBulge", "width / 3"]
      ]
    }
  ],
  "lattice": {
    "a": ["length", "0"],
    "b": ["length / 2", "width"]
  }
}
,"zigzag-parallelogram":{
  "schema": 1,
  "id": "zigzag-parallelogram",
  "name": "Zigzag parallelogram",
  "category": "stone",
  "parameters": {
    "moduleSize": {
      "value": 60,
      "min": 10,
      "max": 400,
      "label": "Module side"
    }
  },
  "tiles": [
    {
      "polygon": [
        [
          "0",
          "6 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "0",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "0",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "12 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "12 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "6 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "8 * moduleSize",
          "0"
        ]
      ]
    },
    {
      "polygon": [
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "9 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "9 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "4 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "0",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "0",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "10 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "6 * moduleSize"
        ],
        [
          "8 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "10 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "12 * moduleSize",
          "0"
        ],
        [
          "12 * moduleSize",
          "6 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "0",
          "0"
        ],
        [
          "4 * moduleSize",
          "0"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "2 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    },
    {
      "polygon": [
        [
          "8 * moduleSize",
          "0"
        ],
        [
          "12 * moduleSize",
          "0"
        ],
        [
          "10 * moduleSize",
          "3 * moduleSize"
        ],
        [
          "6 * moduleSize",
          "3 * moduleSize"
        ]
      ]
    }
  ],
  "lattice": {
    "a": [
      "12 * moduleSize",
      "0"
    ],
    "b": [
      "0",
      "12 * moduleSize"
    ]
  }
},"zigzag-split":{
  "schema": 1,
  "id": "zigzag-split",
  "name": "Zigzag split panel",
  "category": "ceramic",
  "parameters": {
    "moduleSize": { "value": 50, "min": 15, "max": 400, "label": "Module side" }
  },
  "tiles": [
    { "polygon": [["0", "0"], ["2 * moduleSize", "moduleSize"], ["2 * moduleSize", "4 * moduleSize"], ["0", "3 * moduleSize"]] },
    { "polygon": [["0", "3 * moduleSize"], ["2 * moduleSize", "4 * moduleSize"], ["0", "4 * moduleSize"]] },
    { "polygon": [["4 * moduleSize", "3 * moduleSize"], ["4 * moduleSize", "4 * moduleSize"], ["2 * moduleSize", "4 * moduleSize"]] },
    { "polygon": [["2 * moduleSize", "moduleSize"], ["4 * moduleSize", "0"], ["4 * moduleSize", "3 * moduleSize"], ["2 * moduleSize", "4 * moduleSize"]] },
    { "polygon": [["4 * moduleSize", "0"], ["2 * moduleSize", "moduleSize"], ["0", "0"]] }
  ],
  "lattice": { "a": ["4 * moduleSize", "0"], "b": ["0", "4 * moduleSize"] }
}
},"sections":{"angled-sawtooth":{
  "schema": 1,
  "id": "angled-sawtooth",
  "name": "Angled sawtooth",
  "group": "metal",
  "source": "A saw tooth whose crest sits a quarter of the period in: a short steep flank and a long shallow one. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.44).",
  "periodMm": 100,
  "depthMm": 44,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0.25 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"angled-trapezoid":{
  "schema": 1,
  "id": "angled-trapezoid",
  "name": "Angled trapezoid",
  "group": "metal",
  "source": "An asymmetric rib: a long flank climbing over two thirds of the period, a short one back down over an eighth, then a flat pan. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.33).",
  "periodMm": 100,
  "depthMm": 33,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0.66 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.78 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"curved-trapezoid":{
  "schema": 1,
  "id": "curved-trapezoid",
  "name": "Curved trapezoid",
  "group": "metal",
  "source": "A trapezoidal rib whose flanks are S curves horizontal at both ends (a cubic Bezier over a run of `depth`), so the pan and the crown meet it without a kink: pan, flank, crown 0.44 of the period, flank, pan. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.14).",
  "periodMm": 100,
  "depthMm": 14,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0.14 * period",
            "0"
          ]
        }
      },
      {
        "bezier": {
          "c1": [
            "0.14 * period + depth / 2",
            "0"
          ],
          "c2": [
            "0.14 * period + depth / 2",
            "depth"
          ],
          "to": [
            "0.14 * period + depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.86 * period - depth",
            "depth"
          ]
        }
      },
      {
        "bezier": {
          "c1": [
            "0.86 * period - depth / 2",
            "depth"
          ],
          "c2": [
            "0.86 * period - depth / 2",
            "0"
          ],
          "to": [
            "0.86 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"deep-incline-wave":{
  "schema": 1,
  "id": "deep-incline-wave",
  "name": "Deep incline wave",
  "group": "metal",
  "source": "A long S curve climbing to a crest at 0.85 of the period, then a straight fall to the period line. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.22).",
  "periodMm": 100,
  "depthMm": 22,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "bezier": {
          "c1": [
            "0.4 * period",
            "0"
          ],
          "c2": [
            "0.6 * period",
            "depth"
          ],
          "to": [
            "0.85 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"double-corrugated":{
  "schema": 1,
  "id": "double-corrugated",
  "name": "Double corrugated",
  "group": "metal",
  "source": "Two round corrugations per period of unequal depth: a deep one over 0.6 of the period and a shallow one of half the depth over the rest, each an S curve horizontal at its crest and its trough. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.27, its crest split by a shallower second wave).",
  "periodMm": 100,
  "depthMm": 27,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "bezier": {
          "c1": [
            "0.15 * period",
            "0"
          ],
          "c2": [
            "0.15 * period",
            "depth"
          ],
          "to": [
            "0.3 * period",
            "depth"
          ]
        }
      },
      {
        "bezier": {
          "c1": [
            "0.45 * period",
            "depth"
          ],
          "c2": [
            "0.45 * period",
            "0"
          ],
          "to": [
            "0.6 * period",
            "0"
          ]
        }
      },
      {
        "bezier": {
          "c1": [
            "0.7 * period",
            "0"
          ],
          "c2": [
            "0.7 * period",
            "0.5 * depth"
          ],
          "to": [
            "0.8 * period",
            "0.5 * depth"
          ]
        }
      },
      {
        "bezier": {
          "c1": [
            "0.9 * period",
            "0.5 * depth"
          ],
          "c2": [
            "0.9 * period",
            "0"
          ],
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"double-shadow-gap-142":{
  "schema": 1,
  "id": "double-shadow-gap-142",
  "name": "Double shadow gap 142",
  "group": "wood",
  "source": "The shadow gap board with a second recess of the same size at mid cover, so one board reads as two. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52)",
  "periodMm": 142,
  "depthMm": 10,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.5 * period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.5 * period - depth",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.5 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.5 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "depth"
          ]
        }
      }
    ]
  }
}
,"double-trapezoid":{
  "schema": 1,
  "id": "double-trapezoid",
  "name": "Double trapezoid",
  "group": "metal",
  "source": "Two identical trapezoidal ribs per period (flank 0.05, crown 0.15, flank 0.05 of the period each), the pans between them a quarter of the period. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.16).",
  "periodMm": 100,
  "depthMm": 16,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0.125 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.175 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.325 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.375 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.625 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.675 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.825 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.875 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"even-trapezoid":{
  "schema": 1,
  "id": "even-trapezoid",
  "name": "Even trapezoid",
  "group": "metal",
  "source": "A trapezoidal rib in equal quarters: flank, crown, flank, pan. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.30).",
  "periodMm": 100,
  "depthMm": 30,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0.25 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.5 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.75 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"micro-bevel-l":{
  "schema": 1,
  "id": "micro-bevel-l",
  "name": "Micro bevel L",
  "group": "wood",
  "source": "A micro bevel on each edge of a 100 mm board: a 45 degree chamfer of 2 mm, the L of a four step range (0.5, 1, 1.5, 2 mm). architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (its four steps all read under 3 mm, below what a 52 px thumbnail separates).",
  "periodMm": 100,
  "depthMm": 2,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"micro-bevel-m":{
  "schema": 1,
  "id": "micro-bevel-m",
  "name": "Micro bevel M",
  "group": "wood",
  "source": "A micro bevel on each edge of a 100 mm board: a 45 degree chamfer of 1.5 mm, the M of a four step range (0.5, 1, 1.5, 2 mm). architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (its four steps all read under 3 mm, below what a 52 px thumbnail separates).",
  "periodMm": 100,
  "depthMm": 1.5,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"micro-bevel-s":{
  "schema": 1,
  "id": "micro-bevel-s",
  "name": "Micro bevel S",
  "group": "wood",
  "source": "A micro bevel on each edge of a 100 mm board: a 45 degree chamfer of 1 mm, the S of a four step range (0.5, 1, 1.5, 2 mm). architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (its four steps all read under 3 mm, below what a 52 px thumbnail separates).",
  "periodMm": 100,
  "depthMm": 1,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"micro-bevel-xs":{
  "schema": 1,
  "id": "micro-bevel-xs",
  "name": "Micro bevel XS",
  "group": "wood",
  "source": "A micro bevel on each edge of a 100 mm board: a 45 degree chamfer of 0.5 mm, the XS of a four step range (0.5, 1, 1.5, 2 mm). architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (its four steps all read under 3 mm, below what a 52 px thumbnail separates).",
  "periodMm": 100,
  "depthMm": 0.5,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"mission-s":{
  "schema": 1,
  "id": "mission-s",
  "name": "Mission S",
  "group": "ceramic",
  "source": "One symmetric S per cover width: the round corrugation of `corrugated-sheet` (two tangent circular arcs), the roll and the pan equally wide. 300 mm cover width, the cover of the library's `roman-tile` and `pantile` (Wienerberger Double Roman and double pantile, recorded in pattern/src/library_tests/profile.rs). architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.22).",
  "periodMm": 300,
  "depthMm": 66,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "arc": {
          "center": [
            "0",
            "(period * period / 4 + depth * depth) / (4 * depth)"
          ],
          "from": [
            "0",
            "0"
          ],
          "to": [
            "0.25 * period",
            "0.5 * depth"
          ],
          "clockwise": false
        }
      },
      {
        "arc": {
          "center": [
            "0.5 * period",
            "depth - (period * period / 4 + depth * depth) / (4 * depth)"
          ],
          "from": [
            "0.25 * period",
            "0.5 * depth"
          ],
          "to": [
            "0.75 * period",
            "0.5 * depth"
          ],
          "clockwise": true
        }
      },
      {
        "arc": {
          "center": [
            "period",
            "(period * period / 4 + depth * depth) / (4 * depth)"
          ],
          "from": [
            "0.75 * period",
            "0.5 * depth"
          ],
          "to": [
            "period",
            "0"
          ],
          "clockwise": false
        }
      }
    ]
  }
}
,"planed-all-round-117":{
  "schema": 1,
  "id": "planed-all-round-117",
  "name": "Planed all round 117",
  "group": "wood",
  "source": "A square edged planed board with the arris eased: a 45 degree chamfer of 2 mm on each edge. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 2.6, 1.8, 2.3 and 2.8 mm over the four covers).",
  "periodMm": 117,
  "depthMm": 2,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"planed-all-round-142":{
  "schema": 1,
  "id": "planed-all-round-142",
  "name": "Planed all round 142",
  "group": "wood",
  "source": "A square edged planed board with the arris eased: a 45 degree chamfer of 2 mm on each edge. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 2.6, 1.8, 2.3 and 2.8 mm over the four covers).",
  "periodMm": 142,
  "depthMm": 2,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"planed-all-round-66":{
  "schema": 1,
  "id": "planed-all-round-66",
  "name": "Planed all round 66",
  "group": "wood",
  "source": "A square edged planed board with the arris eased: a 45 degree chamfer of 2 mm on each edge. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 2.6, 1.8, 2.3 and 2.8 mm over the four covers).",
  "periodMm": 66,
  "depthMm": 2,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"planed-all-round-92":{
  "schema": 1,
  "id": "planed-all-round-92",
  "name": "Planed all round 92",
  "group": "wood",
  "source": "A square edged planed board with the arris eased: a 45 degree chamfer of 2 mm on each edge. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 2.6, 1.8, 2.3 and 2.8 mm over the four covers).",
  "periodMm": 92,
  "depthMm": 2,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"rainscreen-117":{
  "schema": 1,
  "id": "rainscreen-117",
  "name": "Rainscreen 117",
  "group": "wood",
  "source": "An open jointed rainscreen board: the face is flat and splays 13 mm down into the open joint at 45 degrees at one edge, which is the shadow the gap casts. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 13.2, 14.4, 11.7 and 13.9 mm over the four covers).",
  "periodMm": 117,
  "depthMm": 13,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "depth"
          ]
        }
      }
    ]
  }
}
,"rainscreen-142":{
  "schema": 1,
  "id": "rainscreen-142",
  "name": "Rainscreen 142",
  "group": "wood",
  "source": "An open jointed rainscreen board: the face is flat and splays 13 mm down into the open joint at 45 degrees at one edge, which is the shadow the gap casts. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 13.2, 14.4, 11.7 and 13.9 mm over the four covers).",
  "periodMm": 142,
  "depthMm": 13,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "depth"
          ]
        }
      }
    ]
  }
}
,"rainscreen-66":{
  "schema": 1,
  "id": "rainscreen-66",
  "name": "Rainscreen 66",
  "group": "wood",
  "source": "An open jointed rainscreen board: the face is flat and splays 13 mm down into the open joint at 45 degrees at one edge, which is the shadow the gap casts. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 13.2, 14.4, 11.7 and 13.9 mm over the four covers).",
  "periodMm": 66,
  "depthMm": 13,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "depth"
          ]
        }
      }
    ]
  }
}
,"rainscreen-92":{
  "schema": 1,
  "id": "rainscreen-92",
  "name": "Rainscreen 92",
  "group": "wood",
  "source": "An open jointed rainscreen board: the face is flat and splays 13 mm down into the open joint at 45 degrees at one edge, which is the shadow the gap casts. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 13.2, 14.4, 11.7 and 13.9 mm over the four covers).",
  "periodMm": 92,
  "depthMm": 13,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "depth"
          ]
        }
      }
    ]
  }
}
,"ribbed":{
  "schema": 1,
  "id": "ribbed",
  "name": "Ribbed",
  "group": "metal",
  "source": "One circular dish per period: the arc through the two period lines and the trough at mid period, radius (period^2/4 + depth^2) / (2 depth). architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.43).",
  "periodMm": 100,
  "depthMm": 43,
  "profile": {
    "start": [
      "0",
      "depth"
    ],
    "section": [
      {
        "arc": {
          "center": [
            "0.5 * period",
            "(period * period / 4 + depth * depth) / (2 * depth)"
          ],
          "from": [
            "0",
            "depth"
          ],
          "to": [
            "period",
            "depth"
          ],
          "clockwise": false
        }
      }
    ]
  }
}
,"roman-2":{
  "schema": 1,
  "id": "roman-2",
  "name": "Roman 2",
  "group": "ceramic",
  "source": "A single semicircular roll of 0.4 of the cover width standing on a flat pan, so the depth is a fifth of the cover. 300 mm cover width, the cover of the library's `roman-tile` and `pantile` (Wienerberger Double Roman and double pantile, recorded in pattern/src/library_tests/profile.rs). architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.20).",
  "periodMm": 300,
  "depthMm": 60,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0.3 * period",
            "0"
          ]
        }
      },
      {
        "arc": {
          "center": [
            "0.5 * period",
            "0"
          ],
          "from": [
            "0.3 * period",
            "0"
          ],
          "to": [
            "0.7 * period",
            "0"
          ],
          "clockwise": true
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"sawtooth":{
  "schema": 1,
  "id": "sawtooth",
  "name": "Sawtooth",
  "group": "metal",
  "source": "A 45 degree saw tooth: the top falls one period over one period and steps back up at the period line. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (proportion 0.96, i.e. 45 degrees within the reading).",
  "periodMm": 100,
  "depthMm": 100,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"shadow-gap-117":{
  "schema": 1,
  "id": "shadow-gap-117",
  "name": "Shadow gap 117",
  "group": "wood",
  "source": "A shadow gap (secret fixed) board: a square recess 10 mm wide and 10 mm deep at one edge, then the flat face. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 10.6, 9.2, 9.4 and 8.5 mm over the four covers).",
  "periodMm": 117,
  "depthMm": 10,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "depth"
          ]
        }
      }
    ]
  }
}
,"shadow-gap-142":{
  "schema": 1,
  "id": "shadow-gap-142",
  "name": "Shadow gap 142",
  "group": "wood",
  "source": "A shadow gap (secret fixed) board: a square recess 10 mm wide and 10 mm deep at one edge, then the flat face. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 10.6, 9.2, 9.4 and 8.5 mm over the four covers).",
  "periodMm": 142,
  "depthMm": 10,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "depth"
          ]
        }
      }
    ]
  }
}
,"shadow-gap-66":{
  "schema": 1,
  "id": "shadow-gap-66",
  "name": "Shadow gap 66",
  "group": "wood",
  "source": "A shadow gap (secret fixed) board: a square recess 10 mm wide and 10 mm deep at one edge, then the flat face. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 10.6, 9.2, 9.4 and 8.5 mm over the four covers).",
  "periodMm": 66,
  "depthMm": 10,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "depth"
          ]
        }
      }
    ]
  }
}
,"shadow-gap-92":{
  "schema": 1,
  "id": "shadow-gap-92",
  "name": "Shadow gap 92",
  "group": "wood",
  "source": "A shadow gap (secret fixed) board: a square recess 10 mm wide and 10 mm deep at one edge, then the flat face. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 10.6, 9.2, 9.4 and 8.5 mm over the four covers).",
  "periodMm": 92,
  "depthMm": 10,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "depth"
          ]
        }
      }
    ]
  }
}
,"slope":{
  "schema": 1,
  "id": "slope",
  "name": "Slope",
  "group": "metal",
  "source": "A ramp climbing over 0.6 of the period, a short crown, a steeper fall and a flat pan. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.31).",
  "periodMm": 100,
  "depthMm": 31,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0.6 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.74 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.9 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"spanish-s":{
  "schema": 1,
  "id": "spanish-s",
  "name": "Spanish S",
  "group": "ceramic",
  "source": "An S whose roll takes 0.4 of the cover width and whose pan takes the rest: the Spanish tile's roll is the narrower and deeper one. 300 mm cover width, the cover of the library's `roman-tile` and `pantile` (Wienerberger Double Roman and double pantile, recorded in pattern/src/library_tests/profile.rs). architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.24).",
  "periodMm": 300,
  "depthMm": 72,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "bezier": {
          "c1": [
            "0.1 * period",
            "0"
          ],
          "c2": [
            "0.1 * period",
            "depth"
          ],
          "to": [
            "0.2 * period",
            "depth"
          ]
        }
      },
      {
        "bezier": {
          "c1": [
            "0.3 * period",
            "depth"
          ],
          "c2": [
            "0.32 * period",
            "0"
          ],
          "to": [
            "0.4 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"square":{
  "schema": 1,
  "id": "square",
  "name": "Square",
  "group": "metal",
  "source": "A square wave: half the period at the crest, a vertical step, half at the pan. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.50).",
  "periodMm": 100,
  "depthMm": 50,
  "profile": {
    "start": [
      "0",
      "depth"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0.5 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "0.5 * period",
            "0"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"tongue-and-groove-117":{
  "schema": 1,
  "id": "tongue-and-groove-117",
  "name": "Tongue & groove 117",
  "group": "wood",
  "source": "A V jointed tongue and groove board: a 45 degree chamfer of 5 mm on each edge, so two boards leave a 10 mm wide, 5 mm deep V. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 5.2, 5.4, 4.6 and 5.5 mm over the four covers).",
  "periodMm": 117,
  "depthMm": 5,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"tongue-and-groove-142":{
  "schema": 1,
  "id": "tongue-and-groove-142",
  "name": "Tongue & groove 142",
  "group": "wood",
  "source": "A V jointed tongue and groove board: a 45 degree chamfer of 5 mm on each edge, so two boards leave a 10 mm wide, 5 mm deep V. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 5.2, 5.4, 4.6 and 5.5 mm over the four covers).",
  "periodMm": 142,
  "depthMm": 5,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"tongue-and-groove-66":{
  "schema": 1,
  "id": "tongue-and-groove-66",
  "name": "Tongue & groove 66",
  "group": "wood",
  "source": "A V jointed tongue and groove board: a 45 degree chamfer of 5 mm on each edge, so two boards leave a 10 mm wide, 5 mm deep V. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 5.2, 5.4, 4.6 and 5.5 mm over the four covers).",
  "periodMm": 66,
  "depthMm": 5,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"tongue-and-groove-92":{
  "schema": 1,
  "id": "tongue-and-groove-92",
  "name": "Tongue & groove 92",
  "group": "wood",
  "source": "A V jointed tongue and groove board: a 45 degree chamfer of 5 mm on each edge, so two boards leave a 10 mm wide, 5 mm deep V. The number in the name is the period, mm: the cover one board takes on the wall. 92 and 142 are sourced ThermoWood cladding widths (Beesley & Fildes 20 x 92 mm ThermoWood TIGA rainscreen; Lunawood Luna Bevel HF 26 x 142, 121 mm coverage; both opened 2026-10-20), 66 and 117 are the steps of the same series as Architextures lists them. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (depth read at 5.2, 5.4, 4.6 and 5.5 mm over the four covers).",
  "periodMm": 92,
  "depthMm": 5,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period - depth",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"triangle-rib":{
  "schema": 1,
  "id": "triangle-rib",
  "name": "Triangle",
  "group": "metal",
  "source": "An isoceles tooth: the crest at mid period and flanks at 45 degrees (depth = half the period). architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.49).",
  "periodMm": 100,
  "depthMm": 50,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "line": {
          "to": [
            "0.5 * period",
            "depth"
          ]
        }
      },
      {
        "line": {
          "to": [
            "period",
            "0"
          ]
        }
      }
    ]
  }
}
,"wave":{
  "schema": 1,
  "id": "wave",
  "name": "Wave",
  "group": "metal",
  "source": "The round corrugation of `corrugated-sheet` (two tangent circular arcs per period) run deep: depth = half the period. architextures.org/create, the material panel's Surface Profile list, opened 2026-10-20: the name and the depth-to-period proportion read off its thumbnail (one period drawn 52 px wide, so the proportion is read to about 1/52) (0.49).",
  "periodMm": 100,
  "depthMm": 50,
  "profile": {
    "start": [
      "0",
      "0"
    ],
    "section": [
      {
        "arc": {
          "center": [
            "0",
            "(period * period / 4 + depth * depth) / (4 * depth)"
          ],
          "from": [
            "0",
            "0"
          ],
          "to": [
            "0.25 * period",
            "0.5 * depth"
          ],
          "clockwise": false
        }
      },
      {
        "arc": {
          "center": [
            "0.5 * period",
            "depth - (period * period / 4 + depth * depth) / (4 * depth)"
          ],
          "from": [
            "0.25 * period",
            "0.5 * depth"
          ],
          "to": [
            "0.75 * period",
            "0.5 * depth"
          ],
          "clockwise": true
        }
      },
      {
        "arc": {
          "center": [
            "period",
            "(period * period / 4 + depth * depth) / (4 * depth)"
          ],
          "from": [
            "0.75 * period",
            "0.5 * depth"
          ],
          "to": [
            "period",
            "0"
          ],
          "clockwise": false
        }
      }
    ]
  }
}
},"presets":{"01-oak-herringbone":{
  "id": "oak-herringbone",
  "name": "Oak herringbone",
  "category": "Wood floors",
  "pattern": {
    "id": "herringbone",
    "parameters": {
      "length": 600,
      "width": 120
    }
  },
  "layout": {
    "angle": 45,
    "grout": 3.0,
    "thickness": 14,
    "bevel": 0.8,
    "groutRecess": 2.5
  },
  "groutColor": "#d8d2c8",
  "materials": [
    {
      "texture": "wood_oak_grain",
      "variants": 1,
      "tone": 0,
      "adjust": {
        "saturation": 0.25,
        "brightness": 0.08
      }
    }
  ]
}
}}