{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "seed": {
      "type": "string"
    },
    "flip": {
      "type": "boolean",
      "default": false
    },
    "rotate": {
      "type": "integer",
      "minimum": 0,
      "maximum": 360,
      "default": 0
    },
    "scale": {
      "type": "integer",
      "minimum": 0,
      "maximum": 200,
      "default": 100
    },
    "radius": {
      "type": "integer",
      "minimum": 0,
      "maximum": 50,
      "default": 0
    },
    "size": {
      "type": "integer",
      "minimum": 1
    },
    "backgroundColor": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(transparent|[a-fA-F0-9]{6})$"
      },
      "default": [
        "0a5b83",
        "1c799f",
        "69d2e7",
        "f1f4dc",
        "f88c49"
      ]
    },
    "backgroundType": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "solid",
          "gradientLinear"
        ]
      },
      "default": [
        "solid"
      ]
    },
    "backgroundRotation": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -360,
        "maximum": 360
      },
      "default": [
        0,
        360
      ]
    },
    "translateX": {
      "type": "integer",
      "minimum": -100,
      "maximum": 100,
      "default": 0
    },
    "translateY": {
      "type": "integer",
      "minimum": -100,
      "maximum": 100,
      "default": 0
    },
    "clip": {
      "type": "boolean",
      "default": true
    },
    "randomizeIds": {
      "type": "boolean",
      "default": false
    },
    "shape1": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "rectangle",
          "rectangleFilled",
          "ellipseFilled",
          "ellipse",
          "polygonFilled",
          "polygon",
          "line"
        ]
      },
      "default": [
        "rectangleFilled",
        "ellipseFilled",
        "polygonFilled"
      ]
    },
    "shape1Color": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(transparent|[a-fA-F0-9]{6})$"
      },
      "default": [
        "0a5b83",
        "1c799f",
        "69d2e7",
        "f1f4dc",
        "f88c49"
      ]
    },
    "shape1OffsetX": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -65,
        "maximum": 65
      },
      "maxItems": 2,
      "default": [
        -65,
        65
      ]
    },
    "shape1OffsetY": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -45,
        "maximum": 45
      },
      "maxItems": 2,
      "default": [
        -45,
        45
      ]
    },
    "shape1Rotation": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -160,
        "maximum": 160
      },
      "maxItems": 2,
      "default": [
        -160,
        160
      ]
    },
    "shape2": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "rectangle",
          "rectangleFilled",
          "ellipseFilled",
          "ellipse",
          "polygonFilled",
          "polygon",
          "line"
        ]
      },
      "default": [
        "rectangleFilled",
        "ellipseFilled",
        "polygonFilled",
        "line"
      ]
    },
    "shape2Color": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(transparent|[a-fA-F0-9]{6})$"
      },
      "default": [
        "0a5b83",
        "1c799f",
        "69d2e7",
        "f1f4dc",
        "f88c49"
      ]
    },
    "shape2OffsetX": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -40,
        "maximum": 40
      },
      "maxItems": 2,
      "default": [
        -40,
        40
      ]
    },
    "shape2OffsetY": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -40,
        "maximum": 40
      },
      "maxItems": 2,
      "default": [
        -40,
        40
      ]
    },
    "shape2Rotation": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -180,
        "maximum": 180
      },
      "maxItems": 2,
      "default": [
        -180,
        180
      ]
    },
    "shape3": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "rectangle",
          "rectangleFilled",
          "ellipseFilled",
          "ellipse",
          "polygonFilled",
          "polygon",
          "line"
        ]
      },
      "default": [
        "rectangle",
        "rectangleFilled",
        "ellipseFilled",
        "ellipse",
        "polygonFilled",
        "polygon",
        "line"
      ]
    },
    "shape3Color": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^(transparent|[a-fA-F0-9]{6})$"
      },
      "default": [
        "0a5b83",
        "1c799f",
        "69d2e7",
        "f1f4dc",
        "f88c49"
      ]
    },
    "shape3OffsetX": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -25,
        "maximum": 25
      },
      "maxItems": 2,
      "default": [
        -25,
        25
      ]
    },
    "shape3OffsetY": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -25,
        "maximum": 25
      },
      "maxItems": 2,
      "default": [
        -25,
        25
      ]
    },
    "shape3Rotation": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": -180,
        "maximum": 180
      },
      "maxItems": 2,
      "default": [
        -180,
        180
      ]
    }
  }
}