Enhance documentation
canvas.apply
Atomically apply bounded canvas edits and report their exact affected state.
canvas.apply
mutation write
Use when the requested change exactly matches canvas.apply; read the current state first when a version or identifier may have changed.
Before calling
- Authenticate as the accountable Enhance person.
- Use only resource identifiers returned by an earlier capability result or supplied by the person.
- Reuse clientToken only when retrying this exact mutation input.
Input
Show complete JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"canvasId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"baseVersion": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"operations": {
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "insertConvertedSubtree"
},
"destination": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "adjacent"
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "insert-children"
},
"targetNodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"kind",
"targetNodeId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "replace"
},
"targetNodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"kind",
"targetNodeId"
],
"additionalProperties": false
}
]
},
"sourceNodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"rootNodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"nodes": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"additionalProperties": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"label": {
"type": "string",
"maxLength": 500
},
"component": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"labelOrigin": {
"type": "string",
"enum": [
"source",
"generated",
"user"
]
},
"visible": {
"type": "boolean"
},
"locked": {
"type": "boolean"
},
"constraints": {
"type": "object",
"properties": {
"x": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch",
"scale"
]
},
"y": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch",
"scale"
]
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"styles": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"layout": {
"type": "object",
"properties": {
"rotation": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"flipHorizontal": {
"type": "boolean"
},
"flipVertical": {
"type": "boolean"
},
"aspectRatioLocked": {
"type": "boolean"
},
"aspectRatio": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000
},
"horizontal": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "fixed"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "hug"
},
"basis": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "fill"
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
}
]
},
"vertical": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "fixed"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "hug"
},
"basis": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "fill"
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
}
]
},
"position": {
"type": "string",
"enum": [
"flow",
"absolute"
]
},
"alignSelf": {
"type": "string",
"enum": [
"auto",
"start",
"center",
"end",
"stretch"
]
},
"flexGrow": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"flexShrink": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"flexBasis": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": 0,
"maximum": 100000
},
{
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
}
]
},
"flowOffset": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"y": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"order": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"margin": {
"type": "object",
"properties": {
"top": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"right": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"bottom": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"left": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
},
"gridTrack": {
"type": "object",
"properties": {
"basis": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"align": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch"
]
},
"minimum": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"basis",
"align"
],
"additionalProperties": false
},
"clipContent": {
"type": "boolean"
},
"container": {
"type": "object",
"properties": {
"direction": {
"type": "string",
"enum": [
"row",
"column"
]
},
"alignItems": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch"
]
},
"alignContent": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch",
"space-between",
"space-around",
"space-evenly"
]
},
"justifyContent": {
"type": "string",
"enum": [
"start",
"center",
"end",
"space-between",
"space-around",
"space-evenly"
]
},
"gap": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"rowGap": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"columnGap": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"wrap": {
"type": "string",
"enum": [
"nowrap",
"wrap"
]
},
"gridColumns": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"gridAutoRepeat": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"auto-fill",
"auto-fit"
]
},
"minimum": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"minimum"
],
"additionalProperties": false
},
"materialized": {
"type": "boolean"
},
"padding": {
"type": "object",
"properties": {
"top": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"right": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottom": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"left": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
}
},
"required": [
"direction",
"alignItems",
"justifyContent",
"gap",
"padding"
],
"additionalProperties": false
}
},
"required": [
"rotation",
"horizontal",
"vertical",
"position"
],
"additionalProperties": false
},
"responsive": {
"not": {}
},
"appearance": {
"type": "object",
"properties": {
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blendMode": {
"type": "string",
"enum": [
"normal",
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"plus-lighter",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity"
]
},
"fills": {
"maxItems": 32,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
}
},
"border": {
"type": "object",
"properties": {
"visible": {
"type": "boolean"
},
"width": {
"type": "object",
"properties": {
"top": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"right": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottom": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"left": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"paint": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
},
"alignment": {
"type": "string",
"enum": [
"inside",
"center",
"outside"
]
}
},
"required": [
"visible",
"width",
"style",
"paint",
"alignment"
],
"additionalProperties": false
},
"outline": {
"type": "object",
"properties": {
"visible": {
"type": "boolean"
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"paint": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
}
},
"required": [
"visible",
"width",
"offset",
"style",
"paint"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"topLeft": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"topRight": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottomRight": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottomLeft": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"smoothing": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"topLeft",
"topRight",
"bottomRight",
"bottomLeft"
],
"additionalProperties": false
},
"shadows": {
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"enum": [
"outer",
"inner"
]
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
},
"offsetX": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"offsetY": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"blur": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"spread": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"color",
"offsetX",
"offsetY",
"blur",
"spread"
],
"additionalProperties": false
}
},
"filters": {
"maxItems": 32,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "blur"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "brightness"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "contrast"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "grayscale"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "hue-rotate"
},
"value": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "invert"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "saturate"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "sepia"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
}
]
}
},
"backdropFilters": {
"maxItems": 32,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "blur"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "brightness"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "contrast"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "grayscale"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "hue-rotate"
},
"value": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "invert"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "saturate"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "sepia"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
}
]
}
}
},
"additionalProperties": false
},
"typography": {
"type": "object",
"properties": {
"family": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fallbackFamilies": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"size": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"weight": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"style": {
"type": "string",
"enum": [
"normal",
"italic",
"oblique"
]
},
"lineHeight": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "normal"
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "fixed"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"value"
],
"additionalProperties": false
}
]
},
"letterSpacing": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"align": {
"type": "string",
"enum": [
"left",
"center",
"right",
"justify"
]
},
"verticalAlign": {
"type": "string",
"enum": [
"top",
"middle",
"bottom"
]
},
"transform": {
"type": "string",
"enum": [
"none",
"uppercase",
"lowercase",
"capitalize"
]
},
"decoration": {
"type": "object",
"properties": {
"line": {
"type": "string",
"enum": [
"none",
"underline",
"line-through"
]
},
"style": {
"type": "string",
"enum": [
"solid",
"double",
"dotted",
"dashed",
"wavy"
]
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
},
"thickness": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"line",
"style"
],
"additionalProperties": false
},
"stroke": {
"type": "object",
"properties": {
"width": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"paint": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
}
},
"required": [
"width",
"paint"
],
"additionalProperties": false
},
"wrapping": {
"type": "string",
"enum": [
"wrap",
"nowrap",
"pre",
"pre-line",
"pre-wrap",
"break-spaces"
]
},
"truncation": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"none",
"ellipsis"
]
},
"maxLines": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 100000
},
{
"type": "null"
}
]
}
},
"required": [
"mode",
"maxLines"
],
"additionalProperties": false
},
"insets": {
"type": "object",
"properties": {
"top": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"right": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"bottom": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"left": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
}
},
"required": [
"family",
"fallbackFamilies",
"size",
"weight",
"style",
"lineHeight",
"letterSpacing",
"align",
"verticalAlign",
"transform",
"decoration",
"wrapping"
],
"additionalProperties": false
},
"additionalStyles": {
"type": "object",
"properties": {
"declarations": {
"maxItems": 128,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"property": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^(?:--[\\w-]+|-(?:webkit|moz|ms|o)-[a-z][a-z\\d-]*|[a-z][a-z\\d-]*)$"
},
"value": {
"type": "string",
"maxLength": 10000
},
"enabled": {
"type": "boolean"
}
},
"required": [
"id",
"property",
"value",
"enabled"
],
"additionalProperties": false
}
}
},
"required": [
"declarations"
],
"additionalProperties": false
},
"props": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"box": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number",
"minimum": 0
},
"height": {
"type": "number",
"minimum": 0
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"label",
"component",
"styles"
],
"additionalProperties": {}
}
},
"relationships": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"additionalProperties": {
"type": "object",
"properties": {
"parentId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"sortKey": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"parentId",
"sortKey"
],
"additionalProperties": false
}
}
},
"required": [
"op",
"destination",
"rootNodeId",
"nodes",
"relationships"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "insertNode"
},
"node": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"label": {
"type": "string",
"maxLength": 500
},
"component": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"labelOrigin": {
"type": "string",
"enum": [
"source",
"generated",
"user"
]
},
"visible": {
"type": "boolean"
},
"locked": {
"type": "boolean"
},
"constraints": {
"type": "object",
"properties": {
"x": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch",
"scale"
]
},
"y": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch",
"scale"
]
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"styles": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"layout": {
"type": "object",
"properties": {
"rotation": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"flipHorizontal": {
"type": "boolean"
},
"flipVertical": {
"type": "boolean"
},
"aspectRatioLocked": {
"type": "boolean"
},
"aspectRatio": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000
},
"horizontal": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "fixed"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "hug"
},
"basis": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "fill"
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
}
]
},
"vertical": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "fixed"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "hug"
},
"basis": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "fill"
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
}
]
},
"position": {
"type": "string",
"enum": [
"flow",
"absolute"
]
},
"alignSelf": {
"type": "string",
"enum": [
"auto",
"start",
"center",
"end",
"stretch"
]
},
"flexGrow": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"flexShrink": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"flexBasis": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": 0,
"maximum": 100000
},
{
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
}
]
},
"flowOffset": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"y": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"order": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"margin": {
"type": "object",
"properties": {
"top": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"right": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"bottom": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"left": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
},
"gridTrack": {
"type": "object",
"properties": {
"basis": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"align": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch"
]
},
"minimum": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"basis",
"align"
],
"additionalProperties": false
},
"clipContent": {
"type": "boolean"
},
"container": {
"type": "object",
"properties": {
"direction": {
"type": "string",
"enum": [
"row",
"column"
]
},
"alignItems": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch"
]
},
"alignContent": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch",
"space-between",
"space-around",
"space-evenly"
]
},
"justifyContent": {
"type": "string",
"enum": [
"start",
"center",
"end",
"space-between",
"space-around",
"space-evenly"
]
},
"gap": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"rowGap": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"columnGap": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"wrap": {
"type": "string",
"enum": [
"nowrap",
"wrap"
]
},
"gridColumns": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"gridAutoRepeat": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"auto-fill",
"auto-fit"
]
},
"minimum": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"minimum"
],
"additionalProperties": false
},
"materialized": {
"type": "boolean"
},
"padding": {
"type": "object",
"properties": {
"top": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"right": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottom": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"left": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
}
},
"required": [
"direction",
"alignItems",
"justifyContent",
"gap",
"padding"
],
"additionalProperties": false
}
},
"required": [
"rotation",
"horizontal",
"vertical",
"position"
],
"additionalProperties": false
},
"responsive": {
"not": {}
},
"appearance": {
"type": "object",
"properties": {
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blendMode": {
"type": "string",
"enum": [
"normal",
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"plus-lighter",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity"
]
},
"fills": {
"maxItems": 32,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
}
},
"border": {
"type": "object",
"properties": {
"visible": {
"type": "boolean"
},
"width": {
"type": "object",
"properties": {
"top": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"right": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottom": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"left": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"paint": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
},
"alignment": {
"type": "string",
"enum": [
"inside",
"center",
"outside"
]
}
},
"required": [
"visible",
"width",
"style",
"paint",
"alignment"
],
"additionalProperties": false
},
"outline": {
"type": "object",
"properties": {
"visible": {
"type": "boolean"
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"paint": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
}
},
"required": [
"visible",
"width",
"offset",
"style",
"paint"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"topLeft": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"topRight": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottomRight": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottomLeft": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"smoothing": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"topLeft",
"topRight",
"bottomRight",
"bottomLeft"
],
"additionalProperties": false
},
"shadows": {
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"enum": [
"outer",
"inner"
]
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
},
"offsetX": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"offsetY": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"blur": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"spread": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"color",
"offsetX",
"offsetY",
"blur",
"spread"
],
"additionalProperties": false
}
},
"filters": {
"maxItems": 32,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "blur"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "brightness"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "contrast"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "grayscale"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "hue-rotate"
},
"value": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "invert"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "saturate"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "sepia"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
}
]
}
},
"backdropFilters": {
"maxItems": 32,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "blur"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "brightness"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "contrast"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "grayscale"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "hue-rotate"
},
"value": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "invert"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "saturate"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "sepia"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
}
]
}
}
},
"additionalProperties": false
},
"typography": {
"type": "object",
"properties": {
"family": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fallbackFamilies": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"size": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"weight": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"style": {
"type": "string",
"enum": [
"normal",
"italic",
"oblique"
]
},
"lineHeight": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "normal"
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "fixed"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"value"
],
"additionalProperties": false
}
]
},
"letterSpacing": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"align": {
"type": "string",
"enum": [
"left",
"center",
"right",
"justify"
]
},
"verticalAlign": {
"type": "string",
"enum": [
"top",
"middle",
"bottom"
]
},
"transform": {
"type": "string",
"enum": [
"none",
"uppercase",
"lowercase",
"capitalize"
]
},
"decoration": {
"type": "object",
"properties": {
"line": {
"type": "string",
"enum": [
"none",
"underline",
"line-through"
]
},
"style": {
"type": "string",
"enum": [
"solid",
"double",
"dotted",
"dashed",
"wavy"
]
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
},
"thickness": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"line",
"style"
],
"additionalProperties": false
},
"stroke": {
"type": "object",
"properties": {
"width": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"paint": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
}
},
"required": [
"width",
"paint"
],
"additionalProperties": false
},
"wrapping": {
"type": "string",
"enum": [
"wrap",
"nowrap",
"pre",
"pre-line",
"pre-wrap",
"break-spaces"
]
},
"truncation": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"none",
"ellipsis"
]
},
"maxLines": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 100000
},
{
"type": "null"
}
]
}
},
"required": [
"mode",
"maxLines"
],
"additionalProperties": false
},
"insets": {
"type": "object",
"properties": {
"top": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"right": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"bottom": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"left": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
}
},
"required": [
"family",
"fallbackFamilies",
"size",
"weight",
"style",
"lineHeight",
"letterSpacing",
"align",
"verticalAlign",
"transform",
"decoration",
"wrapping"
],
"additionalProperties": false
},
"additionalStyles": {
"type": "object",
"properties": {
"declarations": {
"maxItems": 128,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"property": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^(?:--[\\w-]+|-(?:webkit|moz|ms|o)-[a-z][a-z\\d-]*|[a-z][a-z\\d-]*)$"
},
"value": {
"type": "string",
"maxLength": 10000
},
"enabled": {
"type": "boolean"
}
},
"required": [
"id",
"property",
"value",
"enabled"
],
"additionalProperties": false
}
}
},
"required": [
"declarations"
],
"additionalProperties": false
},
"props": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"box": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number",
"minimum": 0
},
"height": {
"type": "number",
"minimum": 0
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"label",
"component",
"styles"
],
"additionalProperties": {}
},
"parentage": {
"type": "object",
"properties": {
"parentId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"sortKey": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"parentId",
"sortKey"
],
"additionalProperties": false
}
},
"required": [
"op",
"node",
"parentage"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"parentId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"afterId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"op": {
"type": "string",
"const": "insertText"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"label": {
"default": "Text",
"type": "string",
"maxLength": 500
},
"text": {
"type": "string",
"maxLength": 100000
},
"box": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
},
"styles": {
"default": {},
"type": "object",
"properties": {
"color": {
"anyOf": [
{
"type": "string",
"enum": [
"var(--note-ink)",
"var(--note-slate)",
"var(--note-red)",
"var(--note-orange)",
"var(--note-amber)",
"var(--note-green)",
"var(--note-teal)",
"var(--note-blue)",
"var(--note-violet)",
"var(--note-magenta)"
]
},
{
"type": "string",
"pattern": "^#[\\da-f]{6}$"
}
]
},
"font-family": {
"type": "string",
"enum": [
"var(--sans)",
"var(--mono)"
]
},
"font-size": {
"anyOf": [
{
"type": "number",
"const": 16
},
{
"type": "number",
"const": 24
},
{
"type": "number",
"const": 40
},
{
"type": "number",
"const": 64
},
{
"type": "number",
"const": 96
}
]
},
"font-weight": {
"type": "string",
"enum": [
"400",
"700"
]
},
"font-style": {
"type": "string",
"enum": [
"normal",
"italic",
"oblique"
]
},
"letter-spacing": {
"type": "number",
"minimum": -100,
"maximum": 100
},
"line-height": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0,
"maximum": 10000
},
{
"type": "string",
"pattern": "^(?:\\d+(?:\\.\\d+)?(?:px|em|rem|%)?|normal)$"
}
]
},
"text-align": {
"type": "string",
"enum": [
"left",
"center",
"right"
]
},
"white-space": {
"type": "string",
"enum": [
"normal",
"nowrap",
"pre",
"pre-wrap",
"pre-line",
"break-spaces"
]
}
},
"additionalProperties": false
}
},
"required": [
"parentId",
"op",
"nodeId",
"label",
"text",
"box",
"styles"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"parentId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"afterId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"op": {
"type": "string",
"const": "insertPrototype"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"label": {
"default": "Prototype",
"type": "string",
"maxLength": 500
},
"prototypeId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"deploymentId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"box": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number",
"exclusiveMinimum": 0
},
"height": {
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
},
"canvasPageId": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"parentId",
"op",
"nodeId",
"label",
"prototypeId",
"deploymentId",
"box"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setPrototypeDeployment"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"prototypeId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"deploymentId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"op",
"nodeId",
"prototypeId",
"deploymentId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setText"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"text": {
"type": "string",
"maxLength": 100000
}
},
"required": [
"op",
"nodeId",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setBox"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"box": {
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number",
"minimum": 0
},
"height": {
"type": "number",
"minimum": 0
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"op",
"nodeId",
"box"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setLabel"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"labelOrigin": {
"type": "string",
"enum": [
"source",
"generated",
"user"
]
}
},
"required": [
"op",
"nodeId",
"label"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setVisibility"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
}
},
"required": [
"op",
"nodeId",
"visible"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setLocked"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"locked": {
"type": "boolean"
}
},
"required": [
"op",
"nodeId",
"locked"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setConstraints"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"constraints": {
"type": "object",
"properties": {
"x": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch",
"scale"
]
},
"y": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch",
"scale"
]
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
}
},
"required": [
"op",
"nodeId",
"constraints"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setStyles"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"styles": {
"type": "object",
"properties": {
"color": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"enum": [
"var(--note-ink)",
"var(--note-slate)",
"var(--note-red)",
"var(--note-orange)",
"var(--note-amber)",
"var(--note-green)",
"var(--note-teal)",
"var(--note-blue)",
"var(--note-violet)",
"var(--note-magenta)"
]
},
{
"type": "string",
"pattern": "^#[\\da-f]{6}$"
}
]
},
{
"type": "null"
}
]
},
"font-family": {
"anyOf": [
{
"type": "string",
"enum": [
"var(--sans)",
"var(--mono)"
]
},
{
"type": "null"
}
]
},
"font-size": {
"anyOf": [
{
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 100000
},
{
"type": "string",
"pattern": "^(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$"
}
]
},
{
"type": "null"
}
]
},
"font-weight": {
"anyOf": [
{
"type": "string",
"pattern": "^(?:[1-9]\\d{0,2}|1000)$"
},
{
"type": "null"
}
]
},
"font-style": {
"anyOf": [
{
"type": "string",
"enum": [
"normal",
"italic",
"oblique"
]
},
{
"type": "null"
}
]
},
"font-stretch": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"enum": [
"normal",
"ultra-condensed",
"extra-condensed",
"condensed",
"semi-condensed",
"semi-expanded",
"expanded",
"extra-expanded",
"ultra-expanded"
]
},
{
"type": "string",
"pattern": "^\\d+(?:\\.\\d+)?%$"
}
]
},
{
"type": "null"
}
]
},
"letter-spacing": {
"anyOf": [
{
"anyOf": [
{
"type": "number",
"minimum": -100000,
"maximum": 100000
},
{
"type": "string",
"pattern": "^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$"
},
{
"type": "string",
"const": "normal"
}
]
},
{
"type": "null"
}
]
},
"line-height": {
"anyOf": [
{
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0,
"maximum": 10000
},
{
"type": "string",
"pattern": "^(?:\\d+(?:\\.\\d+)?(?:px|em|rem|%)?|normal)$"
}
]
},
{
"type": "null"
}
]
},
"text-align": {
"anyOf": [
{
"type": "string",
"enum": [
"left",
"center",
"right"
]
},
{
"type": "null"
}
]
},
"text-indent": {
"anyOf": [
{
"anyOf": [
{
"type": "number",
"minimum": -100000,
"maximum": 100000
},
{
"type": "string",
"pattern": "^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$"
}
]
},
{
"type": "null"
}
]
},
"white-space": {
"anyOf": [
{
"type": "string",
"enum": [
"normal",
"nowrap",
"pre",
"pre-wrap",
"pre-line",
"break-spaces"
]
},
{
"type": "null"
}
]
},
"word-spacing": {
"anyOf": [
{
"anyOf": [
{
"type": "number",
"minimum": -100000,
"maximum": 100000
},
{
"type": "string",
"pattern": "^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$"
},
{
"type": "string",
"const": "normal"
}
]
},
{
"type": "null"
}
]
},
"background": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"background-color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"border-bottom-left-radius": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"border-bottom-right-radius": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"border-bottom-width": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"border-color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"border-left-width": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"border-radius": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
{
"type": "null"
}
]
},
"border-right-width": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"border-style": {
"anyOf": [
{
"type": "string",
"enum": [
"none",
"solid",
"dashed",
"dotted"
]
},
{
"type": "null"
}
]
},
"border-top-left-radius": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"border-top-right-radius": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"border-top-width": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"border-width": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
{
"type": "null"
}
]
},
"box-shadow": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"column-gap": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"gap": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"margin-bottom": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"margin-left": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"margin-right": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"margin-top": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"opacity": {
"anyOf": [
{
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
{
"type": "null"
}
]
},
"outline-offset": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"outline-width": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"overflow": {
"anyOf": [
{
"type": "string",
"enum": [
"auto",
"clip",
"hidden",
"scroll",
"visible"
]
},
{
"type": "null"
}
]
},
"overflow-x": {
"anyOf": [
{
"type": "string",
"enum": [
"auto",
"clip",
"hidden",
"scroll",
"visible"
]
},
{
"type": "null"
}
]
},
"overflow-y": {
"anyOf": [
{
"type": "string",
"enum": [
"auto",
"clip",
"hidden",
"scroll",
"visible"
]
},
{
"type": "null"
}
]
},
"padding-bottom": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"padding-left": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"padding-right": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"padding-top": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"row-gap": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"stroke-width": {
"anyOf": [
{
"type": "string"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
}
},
"additionalProperties": false
}
},
"required": [
"op",
"nodeId",
"styles"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setAppearance"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"appearance": {
"type": "object",
"properties": {
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blendMode": {
"type": "string",
"enum": [
"normal",
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"plus-lighter",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity"
]
},
"fills": {
"maxItems": 32,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
}
},
"border": {
"type": "object",
"properties": {
"visible": {
"type": "boolean"
},
"width": {
"type": "object",
"properties": {
"top": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"right": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottom": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"left": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"paint": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
},
"alignment": {
"type": "string",
"enum": [
"inside",
"center",
"outside"
]
}
},
"required": [
"visible",
"width",
"style",
"paint",
"alignment"
],
"additionalProperties": false
},
"outline": {
"type": "object",
"properties": {
"visible": {
"type": "boolean"
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"style": {
"type": "string",
"enum": [
"solid",
"dashed",
"dotted"
]
},
"paint": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
}
},
"required": [
"visible",
"width",
"offset",
"style",
"paint"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"topLeft": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"topRight": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottomRight": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottomLeft": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"smoothing": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"topLeft",
"topRight",
"bottomRight",
"bottomLeft"
],
"additionalProperties": false
},
"shadows": {
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"enum": [
"outer",
"inner"
]
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
},
"offsetX": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"offsetY": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"blur": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"spread": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"color",
"offsetX",
"offsetY",
"blur",
"spread"
],
"additionalProperties": false
}
},
"filters": {
"maxItems": 32,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "blur"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "brightness"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "contrast"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "grayscale"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "hue-rotate"
},
"value": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "invert"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "saturate"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "sepia"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
}
]
}
},
"backdropFilters": {
"maxItems": 32,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "blur"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "brightness"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "contrast"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "grayscale"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "hue-rotate"
},
"value": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "invert"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "saturate"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"const": "sepia"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"id",
"visible",
"kind",
"value"
],
"additionalProperties": false
}
]
}
},
"clear": {
"minItems": 1,
"maxItems": 9,
"type": "array",
"items": {
"type": "string",
"enum": [
"opacity",
"blendMode",
"fills",
"border",
"outline",
"radius",
"shadows",
"filters",
"backdropFilters"
]
}
}
},
"additionalProperties": false
}
},
"required": [
"op",
"nodeId",
"appearance"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setLayout"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"layout": {
"anyOf": [
{
"type": "object",
"properties": {
"rotation": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"flipHorizontal": {
"type": "boolean"
},
"flipVertical": {
"type": "boolean"
},
"aspectRatioLocked": {
"type": "boolean"
},
"aspectRatio": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000
},
"horizontal": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "fixed"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "hug"
},
"basis": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "fill"
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
}
]
},
"vertical": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "fixed"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"value"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "hug"
},
"basis": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"max": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"minParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"maxParent": {
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
},
"mode": {
"type": "string",
"const": "fill"
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"mode"
],
"additionalProperties": false
}
]
},
"position": {
"type": "string",
"enum": [
"flow",
"absolute"
]
},
"alignSelf": {
"type": "string",
"enum": [
"auto",
"start",
"center",
"end",
"stretch"
]
},
"flexGrow": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"flexShrink": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"flexBasis": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": 0,
"maximum": 100000
},
{
"type": "object",
"properties": {
"ratio": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"offset": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"ratio"
],
"additionalProperties": false
}
]
},
"flowOffset": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"y": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"order": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"margin": {
"type": "object",
"properties": {
"top": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"right": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"bottom": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
},
"left": {
"anyOf": [
{
"type": "string",
"const": "auto"
},
{
"type": "number",
"minimum": -100000,
"maximum": 100000
}
]
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
},
"gridTrack": {
"type": "object",
"properties": {
"basis": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"align": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch"
]
},
"minimum": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"basis",
"align"
],
"additionalProperties": false
},
"clipContent": {
"type": "boolean"
},
"container": {
"type": "object",
"properties": {
"direction": {
"type": "string",
"enum": [
"row",
"column"
]
},
"alignItems": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch"
]
},
"alignContent": {
"type": "string",
"enum": [
"start",
"center",
"end",
"stretch",
"space-between",
"space-around",
"space-evenly"
]
},
"justifyContent": {
"type": "string",
"enum": [
"start",
"center",
"end",
"space-between",
"space-around",
"space-evenly"
]
},
"gap": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"rowGap": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"columnGap": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"wrap": {
"type": "string",
"enum": [
"nowrap",
"wrap"
]
},
"gridColumns": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"gridAutoRepeat": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"auto-fill",
"auto-fit"
]
},
"minimum": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"minimum"
],
"additionalProperties": false
},
"materialized": {
"type": "boolean"
},
"padding": {
"type": "object",
"properties": {
"top": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"right": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"bottom": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"left": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
}
},
"required": [
"direction",
"alignItems",
"justifyContent",
"gap",
"padding"
],
"additionalProperties": false
}
},
"required": [
"rotation",
"horizontal",
"vertical",
"position"
],
"additionalProperties": false
},
{
"type": "string",
"const": "default"
}
]
}
},
"required": [
"op",
"nodeId",
"layout"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setTypography"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"typography": {
"anyOf": [
{
"type": "object",
"properties": {
"family": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fallbackFamilies": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"size": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"weight": {
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"style": {
"type": "string",
"enum": [
"normal",
"italic",
"oblique"
]
},
"lineHeight": {
"oneOf": [
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "normal"
}
},
"required": [
"mode"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "fixed"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"mode",
"value"
],
"additionalProperties": false
}
]
},
"letterSpacing": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"align": {
"type": "string",
"enum": [
"left",
"center",
"right",
"justify"
]
},
"verticalAlign": {
"type": "string",
"enum": [
"top",
"middle",
"bottom"
]
},
"transform": {
"type": "string",
"enum": [
"none",
"uppercase",
"lowercase",
"capitalize"
]
},
"decoration": {
"type": "object",
"properties": {
"line": {
"type": "string",
"enum": [
"none",
"underline",
"line-through"
]
},
"style": {
"type": "string",
"enum": [
"solid",
"double",
"dotted",
"dashed",
"wavy"
]
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
},
"thickness": {
"type": "number",
"minimum": 0,
"maximum": 100000
}
},
"required": [
"line",
"style"
],
"additionalProperties": false
},
"stroke": {
"type": "object",
"properties": {
"width": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"paint": {
"oneOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "solid"
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "linear-gradient"
},
"angle": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"angle",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "radial-gradient"
},
"center": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"radius": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
},
"stops": {
"minItems": 2,
"maxItems": 32,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"position": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "object",
"properties": {
"space": {
"type": "string",
"enum": [
"srgb",
"display-p3"
]
},
"red": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"green": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"blue": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"alpha": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"space",
"red",
"green",
"blue",
"alpha"
],
"additionalProperties": false
}
},
"required": [
"id",
"position",
"color"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"center",
"radius",
"stops"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"kind": {
"type": "string",
"const": "image"
},
"assetId": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"fit": {
"type": "string",
"enum": [
"fill",
"fit",
"crop",
"tile"
]
},
"crop": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"y": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"width": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"height": {
"type": "number",
"minimum": 0,
"maximum": 1
}
},
"required": [
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"required": [
"id",
"visible",
"opacity",
"kind",
"assetId",
"fit"
],
"additionalProperties": false
}
]
}
},
"required": [
"width",
"paint"
],
"additionalProperties": false
},
"wrapping": {
"type": "string",
"enum": [
"wrap",
"nowrap",
"pre",
"pre-line",
"pre-wrap",
"break-spaces"
]
},
"truncation": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"none",
"ellipsis"
]
},
"maxLines": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 100000
},
{
"type": "null"
}
]
}
},
"required": [
"mode",
"maxLines"
],
"additionalProperties": false
},
"insets": {
"type": "object",
"properties": {
"top": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"right": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"bottom": {
"type": "number",
"minimum": -100000,
"maximum": 100000
},
"left": {
"type": "number",
"minimum": -100000,
"maximum": 100000
}
},
"required": [
"top",
"right",
"bottom",
"left"
],
"additionalProperties": false
}
},
"required": [
"family",
"fallbackFamilies",
"size",
"weight",
"style",
"lineHeight",
"letterSpacing",
"align",
"verticalAlign",
"transform",
"decoration",
"wrapping"
],
"additionalProperties": false
},
{
"type": "string",
"const": "default"
}
]
}
},
"required": [
"op",
"nodeId",
"typography"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setAdditionalStyles"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"additionalStyles": {
"anyOf": [
{
"type": "object",
"properties": {
"declarations": {
"maxItems": 128,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"property": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^(?:--[\\w-]+|-(?:webkit|moz|ms|o)-[a-z][a-z\\d-]*|[a-z][a-z\\d-]*)$"
},
"value": {
"type": "string",
"maxLength": 10000
},
"enabled": {
"type": "boolean"
}
},
"required": [
"id",
"property",
"value",
"enabled"
],
"additionalProperties": false
}
}
},
"required": [
"declarations"
],
"additionalProperties": false
},
{
"type": "string",
"const": "default"
}
]
}
},
"required": [
"op",
"nodeId",
"additionalStyles"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setProps"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"props": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"op",
"nodeId",
"props"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "setParentage"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"parentage": {
"type": "object",
"properties": {
"parentId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"sortKey": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"parentId",
"sortKey"
],
"additionalProperties": false
}
},
"required": [
"op",
"nodeId",
"parentage"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"parentId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"afterId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"op": {
"type": "string",
"const": "move"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"parentId",
"op",
"nodeId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"op": {
"type": "string",
"const": "remove"
},
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"op",
"nodeId"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"canvasId",
"baseVersion",
"operations"
],
"additionalProperties": false
}
Example
Show example input
{
"canvasId": "00000000-0000-4000-8000-000000000010",
"baseVersion": 1,
"operations": [
{
"op": "setText",
"nodeId": "text_title",
"text": "Ready"
}
]
}
Result
Returns a typed canvas.apply result from the Enhance API without transport-specific prose.
Recovery
- BAD_REQUEST: correct the named fields and call again.
- UNAUTHORIZED: restore Enhance authentication, then retry once.
- FORBIDDEN or NOT_FOUND: list accessible resources and choose an allowed identifier.
- CONFLICT: read the current resource, merge the intended change, and retry with its version.
- INTERNAL: run Enhance diagnostics, report the failure, and stop repeating the call.
Continue with
- Read the affected canvas resource to confirm the result.
Compatibility: 36763b9905dccf9727a7c2267a2bf9176c26cb86066022c4f7d2d6abd8b30e5d.