Polotno Docs

FigureElement

Documentation for the FigureElement schema definition in the Polotno Design JSON Schema.

FigureElement

Type Information

Base Type: object

Properties

PropertyTypeDescription
alwaysOnTopbooleanWhether element stays on top of others.
animationsArray<Animation>Animation configurations.
blurEnabledbooleanWhether blur effect is enabled.
blurRadiusnumberBlur radius in pixels.
brightnessnumberBrightness level (-1 to 1).
brightnessEnabledbooleanWhether brightness effect is enabled.
contentEditablebooleanWhether element content can be edited.
cornerRadiusnumberCorner radius in pixels.
customunknownCustom data attached to the element.
dashArray<number>Dash pattern array for dashed strokes.
draggablebooleanWhether element can be dragged.
fillstringFill color.
filtersobjectApplied image filters.
grayscaleEnabledbooleanWhether grayscale effect is enabled.
heightnumberHeight in pixels.
idstringUnique identifier for the element.
namestringDisplay name for the element.
opacitynumberOpacity level (0-1).
resizablebooleanWhether element can be resized.
rotationnumberRotation angle in degrees.
selectablebooleanWhether element can be selected.
sepiaEnabledbooleanWhether sepia effect is enabled.
shadowBlurnumberShadow blur radius in pixels.
shadowColorstringShadow color.
shadowEnabledbooleanWhether shadow is enabled.
shadowOffsetXnumberShadow horizontal offset in pixels.
shadowOffsetYnumberShadow vertical offset in pixels.
shadowOpacitynumberShadow opacity (0-1).
showInExportbooleanWhether element appears in exports.
strokestringStroke color.
strokeWidthnumberStroke width in pixels.
styleEditablebooleanWhether element style can be edited.
subTypestringFigure subtype: rect, ellipse, triangle, etc.
type"figure"Element type identifier.
visiblebooleanWhether element is visible.
widthnumberWidth in pixels.
xnumberX position in pixels.
ynumberY position in pixels.

JSON Schema

{
  "additionalProperties": false,
  "properties": {
    "alwaysOnTop": {
      "description": "Whether element stays on top of others.",
      "type": "boolean"
    },
    "animations": {
      "description": "Animation configurations.",
      "items": {
        "$ref": "#/definitions/Animation"
      },
      "type": "array"
    },
    "blurEnabled": {
      "description": "Whether blur effect is enabled.",
      "type": "boolean"
    },
    "blurRadius": {
      "description": "Blur radius in pixels.",
      "type": "number"
    },
    "brightness": {
      "description": "Brightness level (-1 to 1).",
      "type": "number"
    },
    "brightnessEnabled": {
      "description": "Whether brightness effect is enabled.",
      "type": "boolean"
    },
    "contentEditable": {
      "description": "Whether element content can be edited.",
      "type": "boolean"
    },
    "cornerRadius": {
      "description": "Corner radius in pixels.",
      "type": "number"
    },
    "custom": {
      "description": "Custom data attached to the element."
    },
    "dash": {
      "description": "Dash pattern array for dashed strokes.",
      "items": {
        "type": "number"
      },
      "type": "array"
    },
    "draggable": {
      "description": "Whether element can be dragged.",
      "type": "boolean"
    },
    "fill": {
      "description": "Fill color.",
      "type": "string"
    },
    "filters": {
      "additionalProperties": {
        "additionalProperties": false,
        "properties": {
          "intensity": {
            "description": "Filter intensity value (-1 to 1).",
            "type": "number"
          }
        },
        "required": [
          "intensity"
        ],
        "type": "object"
      },
      "description": "Applied image filters.",
      "type": "object"
    },
    "grayscaleEnabled": {
      "description": "Whether grayscale effect is enabled.",
      "type": "boolean"
    },
    "height": {
      "description": "Height in pixels.",
      "type": "number"
    },
    "id": {
      "description": "Unique identifier for the element.",
      "type": "string"
    },
    "name": {
      "description": "Display name for the element.",
      "type": "string"
    },
    "opacity": {
      "description": "Opacity level (0-1).",
      "type": "number"
    },
    "resizable": {
      "description": "Whether element can be resized.",
      "type": "boolean"
    },
    "rotation": {
      "description": "Rotation angle in degrees.",
      "type": "number"
    },
    "selectable": {
      "description": "Whether element can be selected.",
      "type": "boolean"
    },
    "sepiaEnabled": {
      "description": "Whether sepia effect is enabled.",
      "type": "boolean"
    },
    "shadowBlur": {
      "description": "Shadow blur radius in pixels.",
      "type": "number"
    },
    "shadowColor": {
      "description": "Shadow color.",
      "type": "string"
    },
    "shadowEnabled": {
      "description": "Whether shadow is enabled.",
      "type": "boolean"
    },
    "shadowOffsetX": {
      "description": "Shadow horizontal offset in pixels.",
      "type": "number"
    },
    "shadowOffsetY": {
      "description": "Shadow vertical offset in pixels.",
      "type": "number"
    },
    "shadowOpacity": {
      "description": "Shadow opacity (0-1).",
      "type": "number"
    },
    "showInExport": {
      "description": "Whether element appears in exports.",
      "type": "boolean"
    },
    "stroke": {
      "description": "Stroke color.",
      "type": "string"
    },
    "strokeWidth": {
      "description": "Stroke width in pixels.",
      "type": "number"
    },
    "styleEditable": {
      "description": "Whether element style can be edited.",
      "type": "boolean"
    },
    "subType": {
      "description": "Figure subtype: rect, ellipse, triangle, etc.",
      "type": "string"
    },
    "type": {
      "const": "figure",
      "description": "Element type identifier.",
      "type": "string"
    },
    "visible": {
      "description": "Whether element is visible.",
      "type": "boolean"
    },
    "width": {
      "description": "Width in pixels.",
      "type": "number"
    },
    "x": {
      "description": "X position in pixels.",
      "type": "number"
    },
    "y": {
      "description": "Y position in pixels.",
      "type": "number"
    }
  },
  "required": [
    "alwaysOnTop",
    "animations",
    "blurEnabled",
    "blurRadius",
    "brightness",
    "brightnessEnabled",
    "contentEditable",
    "cornerRadius",
    "dash",
    "draggable",
    "fill",
    "filters",
    "grayscaleEnabled",
    "height",
    "id",
    "opacity",
    "resizable",
    "rotation",
    "selectable",
    "sepiaEnabled",
    "shadowBlur",
    "shadowColor",
    "shadowEnabled",
    "shadowOffsetX",
    "shadowOffsetY",
    "shadowOpacity",
    "showInExport",
    "stroke",
    "strokeWidth",
    "styleEditable",
    "subType",
    "type",
    "visible",
    "width",
    "x",
    "y"
  ],
  "type": "object"
}