Shape
Collection Functions
compose shape1 shape2
Combines two shapes shape1 and shape2 into a single shape. shape2 is always rendered over shape1.
Equivalent to the (:) binary operator.
Example:
circle_over_square = compose SQUARE CIRCLE
circle_over_square = (:) SQUARE CIRCLE
circle_over_square = SQUARE : CIRCLEcollect shapes
Combines a list of shapes shapes into a single shape. Shapes are rendered in order of list.
Example:
circle_over_square = collect [SQUARE, CIRCLE]Translation Functions
t x y shape
Returns shape translated by x and y on the x and y axes. x and y must be of the integer or float types and shape must be of the shape type.
Shorthand for the translate function.
Example:
tx x shape
Returns shape translated by x on the x axis. x must be of the integer or float types and shape must be of the shape type.
Shorthand for the translatex function.
Example:
ty y shape
Returns shape translated by y on the y axis. y must be of the integer or float types and shape must be of the shape type.
Shorthand for the translatey function.
Example:
tt n shape
Returns shape translated by n on both the x and y axes. n must be of the integer or float types and shape must be of the shape type.
Shorthand for the translateb function.
Example:
Rotation Functions
r deg shape
Returns shape rotated by deg degrees. deg must be of the integer or float types and shape must be of the shape type.
Shorthand for the rotate function.
Example:
ra deg x y shape
Returns shape rotated by deg degrees at position x and y. deg, x, and y must be of the integer or float types and shape must be of the shape type.
Shorthand for the rotate_at function.
Example:
Scale Functions
s x y shape
Returns shape scaled by x and y on the x and y axes. x and y must be of the integer or float types and shape must be of the shape type.
Shorthand for the scale function.
Example:
sx x shape
Returns shape scaled by x on the x axis. x must be of the integer or float types and shape must be of the shape type.
Shorthand for the scalex function.
Example:
sy y shape
Returns shape scaled by y on the y axis. y must be of the integer or float types and shape must be of the shape type.
Shorthand for the scaley function.
Example:
ss n shape
Returns shape scaled by n on both the x and y axes. n must be of the integer or float types and shape must be of the shape type.
Shorthand for the scaleb function.
Example:
Skew Functions
k x y shape
Returns shape skewed by x and y on the x and y axes. x and y must be of the integer or float types and shape must be of the shape type.
Shorthand for the skew function.
Example:
kx x shape
Returns shape skewed by x on the x axis. x must be of the integer or float types and shape must be of the shape type.
Shorthand for the skewx function.
Example:
ky y shape
Returns shape skewed by y on the y axis. y must be of the integer or float types and shape must be of the shape type.
Shorthand for the skewy function.
Example:
kk n shape
Returns shape skewed by n on the x and y axes. n must be of the integer or float types and shape must be of the shape type.
Shorthand for the skewb function.
Example:
Flip Functions
f deg shape
Returns shape flipped along the deg angle. deg must be of the integer or float types and shape must be of the shape type.
Shorthand for the flip function.
Example:
fh shape
Returns shape flipped along the x axis. shape must be of the shape type.
Shorthand for the fliph function.
Example:
fv shape
Returns shape flipped along the y axis. shape must be of the shape type.
Shorthand for the flipv function.
Example:
fd shape
Returns shape flipped along both the x and y axes. shape must be of the shape type.
Shorthand for the flipd function.
Example:
Z-Index Functions
z n shape
Returns shape with its z-index set to z. Shapes with a higher z-index are rendered on top of shapes with a lower z-index. z must be of the integer or float types and shape must be of the shape type.
Shorthand for the zindex function.
Example:
zshift n shape
Returns shape with its z-index shifted by n. n must be of the integer or float types and shape must be of the shape type.
Example:
Rendering Functions
blend bm shape
Returns shape with its blend mode set to bm.
Refer to Blend Mode for a full list of possible blend modes.
Example:
anti_alias toggle shape
Returns shape with anti-aliasing set to toggle. toggle must be of the boolean type and shape must be of the shape type.
Example:
fill shape
Returns shape with its style set to fill.
Example:
winding shape
Returns shape with its fill rule set to winding.
Specifies that “inside” is computed by a non-zero sum of signed edge crossings.
Example:
even_odd shape
Returns shape with its fill rule set to even-odd.
Specifies that “inside” is computed by an odd number of edge crossings.
Example:
stroke w shape
Returns shape with its style set to stroke with a stroke width of w. w must be of the integer or float types.
When stroke width is set to 0, a hairline stroking will be used.
Example:
miter_limit n shape
Returns shape with its style set to stroke and its miter limit set to n. n must be of the integer or float types.
Miter limit is the limit at which a sharp corner is drawn beveled.
Example:
line_cap lc shape
Returns shape with its style set to stroke and its line cap set to lc.
Refer to Line Cap for a full list of possible line caps.
Example:
line_join lj shape
Returns shape with its style set to stroke and its line join set to lj.
Refer to Line Join for a full list of possible line joins.
Example:
dash array offset shape
Returns shape with its style set to stroke and its dash properties set to array and offset. array must be a list of either integers or floats and offset must be of the integer or float types.
The array must be of pairs, where the first number indicates an “on” interval and the second one indicates an “off” interval. The offset affects where the dash pattern starts.
Example:
no_dash shape
Returns shape with its style set to stroke and its dash removed.
Example:
mask mask_shape shape
Returns shape with its mask set to mask_shape. During rendering, mask’s black pixels will block rendering and white will allow it. Anything in between is semitransparent.
Example:
Path Functions
move_to x y
Returns a new path shape starting at (x, y). Accepts integer and float types.
Example:
line_to x y
Continues an existing path by drawing a line from the last point to (x, y). Accepts integer and float types.
Example:
quad_to x1 y1 x y
Continues an existing path by drawing a quad curve from the last point to (x, y). Accepts integer and float types.
Example:
cubic_to x1 y1 x2 y2 x y
Continues an existing path by drawing a cubic curve from the last point to (x, y). Accepts integer and float types.
Example:
close
Closes an existing path, preventing further modifications.
Example:
voronoi sites boxsize
Returns a list of polygons representing a voronoi diagram, based on sites and boxsize. sites must be a 2D list of integer or float types, with each element the point of a site on the diagram. boxsize must be of the integer or float types and determines the dimensions of the diagram.
Example:

Last updated