Skip to main content
Glama
Berrio
by Berrio

elements_create

Destructive

Create a bounded batch of typed SVG basic shapes in an Inkscape document without raw XML or arbitrary attributes. Use it to add rects, circles, paths, text, groups, and more safely.

Instructions

Creates a bounded batch of typed SVG basic shapes without accepting XML or arbitrary attributes.

Input Schema

NameRequiredDescriptionDefault
pathYes
elementsYes
workspaceIdYes
expectedRevisionYes

Output Schema

NameRequiredDescriptionDefault
idsYes
revisionYes
backupCreatedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.0
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / elements / items / oneOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "height": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "rect",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "rx": {
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "ry": {
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "width": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "x": {
      -        "type": "number"
      -      },
      -      "y": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "height",
      -      "kind",
      -      "width",
      -      "x",
      -      "y"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "cx": {
      -        "type": "number"
      -      },
      -      "cy": {
      -        "type": "number"
      -      },
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "circle",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "r": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "cx",
      -      "cy",
      -      "kind",
      -      "r"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "cx": {
      -        "type": "number"
      -      },
      -      "cy": {
      -        "type": "number"
      -      },
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "ellipse",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "rx": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "ry": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "cx",
      -      "cy",
      -      "kind",
      -      "rx",
      -      "ry"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "cx": {
      -        "type": "number"
      -      },
      -      "cy": {
      -        "type": "number"
      -      },
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "regular_polygon",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "points": {
      -        "maximum": 1000,
      -        "minimum": 3,
      -        "type": "integer"
      -      },
      -      "r": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "rotation": {
      -        "type": "number"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "cx",
      -      "cy",
      -      "kind",
      -      "points",
      -      "r"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "cx": {
      -        "type": "number"
      -      },
      -      "cy": {
      -        "type": "number"
      -      },
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "star",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "points": {
      -        "maximum": 1000,
      -        "minimum": 3,
      -        "type": "integer"
      -      },
      -      "r1": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "r2": {
      -        "exclusiveMinimum": 0,
      -        "type": "number"
      -      },
      -      "rotation": {
      -        "type": "number"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "cx",
      -      "cy",
      -      "kind",
      -      "points",
      -      "r1",
      -      "r2"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "line",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "x1": {
      -        "type": "number"
      -      },
      -      "x2": {
      -        "type": "number"
      -      },
      -      "y1": {
      -        "type": "number"
      -      },
      -      "y2": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "x1",
      -      "x2",
      -      "y1",
      -      "y2"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "polygon",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "points": {
      -        "items": {
      -          "properties": {
      -            "x": {
      -              "type": "number"
      -            },
      -            "y": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "x",
      -            "y"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 1000,
      -        "minItems": 2,
      -        "type": "array"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "points"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "polyline",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "points": {
      -        "items": {
      -          "properties": {
      -            "x": {
      -              "type": "number"
      -            },
      -            "y": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "x",
      -            "y"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 1000,
      -        "minItems": 2,
      -        "type": "array"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "points"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "d": {
      -        "maxLength": 100000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "path",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "d"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "text",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "spans": {
      -        "items": {
      -          "properties": {
      -            "dx": {
      -              "type": "number"
      -            },
      -            "dy": {
      -              "type": "number"
      -            },
      -            "text": {
      -              "maxLength": 10000,
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 100,
      -        "type": "array"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "text": {
      -        "maxLength": 10000,
      -        "type": "string"
      -      },
      -      "x": {
      -        "type": "number"
      -      },
      -      "y": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "text",
      -      "x",
      -      "y"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "group",
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "id": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "layer",
      -        "type": "string"
      -      },
      -      "label": {
      -        "maxLength": 256,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "parentId": {
      -        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      -        "type": "string"
      -      },
      -      "style": {
      -        "properties": {
      -          "fill": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "fontFamily": {
      -            "maxLength": 256,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "fontSize": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 10000,
      -            "type": "number"
      -          },
      -          "fontWeight": {
      -            "enum": [
      -              "normal",
      -              "bold"
      -            ],
      -            "type": "string"
      -          },
      -          "opacity": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "stroke": {
      -            "pattern": "^#[a-fA-F0-9]{6}$",
      -            "type": "string"
      -          },
      -          "strokeWidth": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "textAnchor": {
      -            "enum": [
      -              "start",
      -              "middle",
      -              "end"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "kind"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "height": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "rect",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "rx": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "ry": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "width": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "x": {
      +        "type": "number"
      +      },
      +      "y": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "height",
      +      "kind",
      +      "width",
      +      "x",
      +      "y"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cx": {
      +        "type": "number"
      +      },
      +      "cy": {
      +        "type": "number"
      +      },
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "circle",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "r": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "cx",
      +      "cy",
      +      "kind",
      +      "r"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cx": {
      +        "type": "number"
      +      },
      +      "cy": {
      +        "type": "number"
      +      },
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "spiral",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "r": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "rotation": {
      +        "type": "number"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "turns": {
      +        "maximum": 100,
      +        "minimum": 0.1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "cx",
      +      "cy",
      +      "kind",
      +      "r",
      +      "turns"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cx": {
      +        "type": "number"
      +      },
      +      "cy": {
      +        "type": "number"
      +      },
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "ellipse",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "rx": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "ry": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "cx",
      +      "cy",
      +      "kind",
      +      "rx",
      +      "ry"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cx": {
      +        "type": "number"
      +      },
      +      "cy": {
      +        "type": "number"
      +      },
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "regular_polygon",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "points": {
      +        "maximum": 1000,
      +        "minimum": 3,
      +        "type": "integer"
      +      },
      +      "r": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "rotation": {
      +        "type": "number"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "cx",
      +      "cy",
      +      "kind",
      +      "points",
      +      "r"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cx": {
      +        "type": "number"
      +      },
      +      "cy": {
      +        "type": "number"
      +      },
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "star",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "points": {
      +        "maximum": 1000,
      +        "minimum": 3,
      +        "type": "integer"
      +      },
      +      "r1": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "r2": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "rotation": {
      +        "type": "number"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "cx",
      +      "cy",
      +      "kind",
      +      "points",
      +      "r1",
      +      "r2"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "line",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "x1": {
      +        "type": "number"
      +      },
      +      "x2": {
      +        "type": "number"
      +      },
      +      "y1": {
      +        "type": "number"
      +      },
      +      "y2": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "x1",
      +      "x2",
      +      "y1",
      +      "y2"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "polygon",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "points": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "x": {
      +              "type": "number"
      +            },
      +            "y": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "x",
      +            "y"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 1000,
      +        "minItems": 2,
      +        "type": "array"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "points"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "polyline",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "points": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "x": {
      +              "type": "number"
      +            },
      +            "y": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "x",
      +            "y"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 1000,
      +        "minItems": 2,
      +        "type": "array"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "points"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "d": {
      +        "maxLength": 100000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "path",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "d"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "assetPath": {
      +        "maxLength": 1024,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "embedding": {
      +        "default": "link",
      +        "enum": [
      +          "embed",
      +          "link"
      +        ],
      +        "type": "string"
      +      },
      +      "height": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "image",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "preserveAspectRatio": {
      +        "enum": [
      +          "none",
      +          "xMidYMid meet",
      +          "xMidYMid slice"
      +        ],
      +        "type": "string"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "width": {
      +        "exclusiveMinimum": 0,
      +        "type": "number"
      +      },
      +      "x": {
      +        "type": "number"
      +      },
      +      "y": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "assetPath",
      +      "height",
      +      "kind",
      +      "width",
      +      "x",
      +      "y"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "text",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "spans": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "dx": {
      +              "type": "number"
      +            },
      +            "dy": {
      +              "type": "number"
      +            },
      +            "text": {
      +              "maxLength": 10000,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "text"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 100,
      +        "type": "array"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "text": {
      +        "maxLength": 10000,
      +        "type": "string"
      +      },
      +      "x": {
      +        "type": "number"
      +      },
      +      "y": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "text",
      +      "x",
      +      "y"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "group",
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "layer",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 256,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "parentId": {
      +        "pattern": "^[A-Za-z_][A-Za-z0-9_.-]{0,127}$",
      +        "type": "string"
      +      },
      +      "style": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "classes": {
      +            "items": {
      +              "pattern": "^[A-Za-z_][A-Za-z0-9_-]{0,63}$",
      +              "type": "string"
      +            },
      +            "maxItems": 32,
      +            "minItems": 1,
      +            "type": "array"
      +          },
      +          "display": {
      +            "enum": [
      +              "inline",
      +              "none"
      +            ],
      +            "type": "string"
      +          },
      +          "fill": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "fillOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "fillRule": {
      +            "enum": [
      +              "nonzero",
      +              "evenodd"
      +            ],
      +            "type": "string"
      +          },
      +          "fontFamily": {
      +            "maxLength": 256,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "fontSize": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 10000,
      +            "type": "number"
      +          },
      +          "fontStyle": {
      +            "enum": [
      +              "normal",
      +              "italic",
      +              "oblique"
      +            ],
      +            "type": "string"
      +          },
      +          "fontWeight": {
      +            "anyOf": [
      +              {
      +                "enum": [
      +                  "normal",
      +                  "bold"
      +                ],
      +                "type": "string"
      +              },
      +              {
      +                "maximum": 900,
      +                "minimum": 100,
      +                "type": "integer"
      +              }
      +            ]
      +          },
      +          "letterSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          },
      +          "locked": {
      +            "type": "boolean"
      +          },
      +          "opacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "paintOrder": {
      +            "enum": [
      +              "normal",
      +              "fill stroke markers",
      +              "stroke fill markers"
      +            ],
      +            "type": "string"
      +          },
      +          "stroke": {
      +            "pattern": "^(?:none|#[a-fA-F0-9]{6})$",
      +            "type": "string"
      +          },
      +          "strokeDasharray": {
      +            "items": {
      +              "maximum": 100000,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "maxItems": 32,
      +            "type": "array"
      +          },
      +          "strokeLineCap": {
      +            "enum": [
      +              "butt",
      +              "round",
      +              "square"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeLineJoin": {
      +            "enum": [
      +              "miter",
      +              "round",
      +              "bevel"
      +            ],
      +            "type": "string"
      +          },
      +          "strokeMiterLimit": {
      +            "maximum": 100000,
      +            "minimum": 1,
      +            "type": "number"
      +          },
      +          "strokeOpacity": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "strokeWidth": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "textAnchor": {
      +            "enum": [
      +              "start",
      +              "middle",
      +              "end"
      +            ],
      +            "type": "string"
      +          },
      +          "visibility": {
      +            "enum": [
      +              "visible",
      +              "hidden"
      +            ],
      +            "type": "string"
      +          },
      +          "wordSpacing": {
      +            "maximum": 10000,
      +            "minimum": -10000,
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "kind"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observedv0.0.0

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With only destructiveHint=true annotated, the description adds some context ('bounded batch' implies an item cap, and the no-XML/arbitrary-attributes constraint is a real behavioral limit). However, it does not explain the destructive nature flagged by the annotation, nor the concurrency role of expectedRevision. It neither contradicts the annotation nor fully discharges the burden the annotation leaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the verb first and no filler. It is efficient, though the brevity comes at the cost of the missing details noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 100+ nested shape variants, four required params, and only a destructiveHint annotation, one sentence is thin. The output schema covers return values, but the description omits expectedRevision semantics, the destructive/optimistic-locking behavior, and where elements are placed, so an agent lacks enough context to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% with four required parameters (elements, expectedRevision, path, workspaceId), so the description must compensate and largely fails to. It alludes to the 'batch' of shapes but says nothing about expectedRevision conflict handling, path scoping, or workspaceId, leaving critical call semantics undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Creates a bounded batch of typed SVG basic shapes') and adds a meaningful scope qualifier ('without accepting XML or arbitrary attributes') that implicitly contrasts with import-based siblings like document_import_svg. It stops short of naming an alternative explicitly, so it is clear but not sibling-differentiating at the highest level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no reference to alternatives such as elements_update, elements_duplicate, or document_apply_operations. Usage is only weakly implied by the verb 'Creates', leaving the agent to infer when this tool is the correct choice over the many other element-mutation siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools