Skip to content

Object Types & Properties

Every element on the canvas in Piko is an object. Objects are organized in a tree structure visible in the Layers panel. This page lists every object type and the properties you can configure on each.

All objects share the following properties regardless of type:

PropertyTypeDescription
NamestringUser-visible label shown in the Layers panel.
X, YnumberPosition of the top-left corner of the unrotated bounding rectangle.
Width, HeightnumberDimensions of the object.
RotationnumberRotation angle in radians. The pivot point is at (X, Y).
Opacity0—1Object-level opacity applied on top of any fill or stroke opacity.
VisiblebooleanShow or hide the object on the canvas.
LockedbooleanPrevent the object from being selected or edited.
FillsFillLayer[]Array of fill paint layers (solid color or gradient).
StrokesStrokeLayer[]Array of stroke paint layers.
EffectsEffectLayer[]Array of effect layers (drop shadow, inner shadow, blur).
Export SettingsExportSetting[]Per-object export configurations used by Export Selected.

A basic rectangular shape with optional rounded corners.

PropertyTypeDescription
Corner Radiusnumber (0+)Radius in pixels applied to all four corners when linked.
Per-Corner RadiusTL, TR, BR, BLIndependent radius for each corner when unlinked.
Corner Smoothing0–100%Controls superellipse interpolation. 0% = standard circular arcs, ~50% = iOS-style squircle, 100% = maximum smoothing.

A standard ellipse defined by its bounding rectangle. Rendered as a signed distance field (SDF) for crisp edges at any zoom level.

No additional properties beyond the common set.

A container object that can clip its children to its bounds. Frames are the primary way to organize and group content with layout control.

PropertyTypeDescription
Clips ContentbooleanWhen enabled, children that extend beyond the frame bounds are clipped.
Corner Radiusnumber (0+)Radius applied to the frame outline.
Corner Smoothing0–100%Superellipse interpolation for rounded corners.
ChildrenNode[]Ordered array of child objects.

A lightweight container that bundles objects together without clipping. The group’s bounding rectangle is automatically calculated from its children.

PropertyTypeDescription
ChildrenNode[]Ordered array of child objects.

A freeform vector shape defined by a series of points with bezier control handles.

PropertyTypeDescription
Path DataPoint[]Array of points, each with position and optional bezier in/out handles.
ClosedbooleanWhether the path forms a closed shape.

Point types:

TypeBehavior
CornerNo smoothing. Handles can be positioned independently.
SymmetricBoth handles mirror each other in angle and length.
SmoothHandles share the same angle but can differ in length.
FreeEach handle is fully independent.

A text object that renders a string with configurable typography settings.

PropertyTypeDescription
ContentstringThe text string to display.
Font FamilystringName of the font family.
Font SizenumberSize in pixels.
Font Weight100—900Weight value from thin (100) to black (900).
Font StylestringNormal or italic.
Text Alignleft, center, rightHorizontal text alignment.
Vertical Aligntop, middle, bottomVertical alignment within the text bounding box.
Text DecorationstringUnderline, strikethrough, or none.
Line HeightnumberSpacing between lines.
Letter SpacingnumberAdditional horizontal spacing between characters.
Auto WidthbooleanWhen enabled, the text box grows horizontally to fit its content.

A regular polygon with a configurable number of sides.

PropertyTypeDescription
Sides3—64Number of sides.
Inner Radius Ratio0—1Pulls vertices inward to create star-like indentations. At 1 the polygon is regular; at 0 all vertices collapse to the center.
Corner Radiusnumber (0+)Rounding applied to each vertex.
Corner Smoothing0–100%Superellipse interpolation for rounded vertices.

A star shape with configurable point count and inner radius.

PropertyTypeDescription
Points3—64Number of outer points on the star.
Inner Radius Ratio0.01—0.99Controls how far the inner vertices are pulled toward the center. Lower values produce sharper, thinner arms.
Corner Radiusnumber (0+)Rounding applied to each point and inner vertex.
Corner Smoothing0–100%Superellipse interpolation for rounded points.

A straight line segment with optional arrowheads on either end.

PropertyTypeDescription
Start Arrowheadnone, triangle, open, diamond, circleArrowhead style at the start of the line.
End Arrowheadnone, triangle, open, diamond, circleArrowhead style at the end of the line.
Arrowhead SizenumberScale of the arrowhead relative to the stroke width.

A compound shape created by combining two or more child objects using a boolean operation. The result renders as a single shape.

PropertyTypeDescription
Boolean Operationunion, subtract, intersect, excludeThe operation used to combine children.
ChildrenNode[]The child objects being combined. Order matters — the first (bottom) child determines default fills and strokes.

A raster image object created by importing or pasting an image.

PropertyTypeDescription
Pixel Widthnumber (read-only)Original width of the source image in pixels.
Pixel Heightnumber (read-only)Original height of the source image in pixels.
Filteringnearest, bilinearInterpolation method used when scaling. Use nearest for pixel art; bilinear for photos and illustrations.
Blend Modeenum (16 modes)How the bitmap composites with content below it. Supports standard blend modes such as Normal, Multiply, Screen, Overlay, and others.