Shapes Reference
Every shape type with its properties, gizmos, and auto collider.
Try it
title: "All five shape types"
description: "Rectangle, ellipse, star, polygon, and vector path"
nodes:
- type: RECT, name: "Rect", x: 60, y: 200, w: 70, h: 50, fill: "#3498DB", cornerRadius: 8
- type: ELLIPSE, name: "Ellipse", x: 160, y: 200, w: 70, h: 50, fill: "#E74C3C"
- type: STAR, name: "Star", x: 250, y: 200, w: 60, h: 60, fill: "#F39C12", points: 5
- type: POLYGON, name: "Polygon", x: 330, y: 200, w: 60, h: 60, fill: "#2ECC71"
- type: VECTOR, name: "Path", x: 400, y: 200, w: 50, h: 50, fill: "#9B59B6"
tools_visible: [select, vector-edit]
ui_visible: [properties]RECT
Rectangle with optional rounded corners.
| Property | Type | Default | Description |
|---|---|---|---|
cornerRadius | number | 0 | Corner rounding (all corners) |
Gizmos: 1 — corner radius (drag corner handle) Auto collider: Box (halfWidth = w/2, halfHeight = h/2)
ELLIPSE
Ellipse with arc system and 6 geometry modes.
| Property | Type | Default | Description |
|---|---|---|---|
arcStart | angle | 0 | Arc starting angle |
arcSweep | angle | 360 | Arc sweep angle |
innerRadius | ratio | 0 | Inner radius for ring/donut |
geometryMode | enum | "full" | Geometry mode |
Geometry modes
| Mode | Description |
|---|---|
full | Complete ellipse |
arc | Open arc (stroke follows the arc) |
pie | Pie/wedge (lines from center to arc endpoints) |
half | Half ellipse |
ring | Donut with inner radius |
chord | Arc with straight line connecting endpoints |
Gizmos: 3 — arc start, arc sweep, inner radius Auto collider: Circle (if w ≈ h, full), Box (if w ≠ h), Polygon (if partial arc)
STAR
Star with configurable geometry.
| Property | Type | Default | Description |
|---|---|---|---|
points | integer | 5 | Number of star points |
innerRadius | ratio | 0.4 | Inner radius relative to outer (0-1) |
Gizmos: 3 — point count, inner radius, outer radius Auto collider: Polygon (convex hull of outer vertices, max 8 verts, fallback to Box)
POLYGON
Regular polygon with adjustable vertex count.
| Property | Type | Default | Description |
|---|---|---|---|
sides | integer | 6 | Number of sides (3 = triangle, 6 = hexagon) |
Gizmos: 2 — vertex count, radius Auto collider: Polygon (vertices directly, max 8)
VECTOR
Freeform vector path created with the Pen tool. Full vector network topology.
No shape-specific properties — geometry is defined by vertices, segments, and tangents in the vector network.
Gizmos: Per-vertex tangent handles in VectorEditMode Auto collider: Polygon (convex hull of VN vertices)
Vector network data
Vertices: Float32Array, stride 4 [x, y, tangentInX, tangentInY, tangentOutX, tangentOutY, ...]
``Segments: Uint32Array, stride 2 [vertexA, vertexB, ...]
Tangents are relative to their vertex — rotating a vertex rotates its tangents automatically.
MIRRORED_VECTOR
Vector with symmetry constraints.
| Property | Type | Default | Description |
|---|---|---|---|
symmetryMode | enum | "bilateral" | Symmetry type |
symmetryAxis | angle | 0 | Axis of symmetry |
Symmetry modes
| Mode | Description |
|---|---|
bilateral | Mirror across one axis |
Cn | N-fold rotational symmetry |
Dn | N-fold rotational + mirror symmetry |
Gizmos: 2 — symmetry mode, symmetry axis Auto collider: Polygon (convex hull, same as VECTOR)
FRAME
Clipping container with background fill and corner radius.
| Property | Type | Default | Description |
|---|---|---|---|
cornerRadius | number | 0 | Corner rounding |
clipLocked | boolean | false | Prevent child selection through frame |
selectionPassthrough | boolean | false | Click passes through to children |
Frame presets
| Preset | Default Size | Use case |
|---|---|---|
| FRAME | Custom | General container |
| LAPTOP | 1440 x 900 | Desktop mockup |
| MOBILE | 390 x 844 | Phone mockup |
| SECTION | 1440 x auto | Web page section |
Auto collider: Box
GROUP
Container without clipping. Children render without boundary constraints.
No additional properties beyond the common set. Groups are created by selecting multiple nodes and pressing Ctrl+G.
Common properties
All shape types share these properties:
Transform
| Property | Type | Gizmo |
|---|---|---|
x | number | Drag node |
y | number | Drag node |
width | number | Edge handles |
height | number | Edge handles |
rotation | angle | Corner rotate handle |
Appearance
| Property | Type | Widget |
|---|---|---|
opacity | ratio | NumberInput 0-1 |
blendMode | blendMode | Dropdown |
fills | paint[] | Multi-paint stack |
strokes | paint[] | Multi-paint stack |
Metadata
| Property | Type | Widget |
|---|---|---|
name | string | Inline editable header |
tags | string[] | Badge display with editor |
→ Nodes → Properties → Globals