Documentation Algorithmic design

Algorithmic design

Effects and tools

beginner advanced

Last updated Sep 24, 2026

Many of the effects in desktop vector apps come down to a rule applied to points. Here they are as scripts: pick one from Menu ▸ Algorithmic design (the last group), tune it with sliders, and apply the result as ordinary shapes. Unlike a live effect, the result is plain paths you can edit further, and every setting stays in the script group for later changes.

Repeat and blend

These work on the selection.

Example What it does Like
Blend two shapes The steps between two selected objects, outline and color, in a perceptual color blend. Blend tool
Radial repeat Copies round a center, turning with the circle; mirror every other one for a kaleidoscope. Repeat ▸ Radial / Mirror
Grid with a transition Copies in a grid that shrink, turn and fade from one side or from the middle. Repeat ▸ Grid
Transform again Each copy turned, shrunk and recolored a little more round one point: spirals and tunnels. Transform ▸ Copies, Step and Repeat
Repeat along a path One object spaced along a selected path, turned with it, growing on the way. Select the object and an open path. Scatter or pattern brush
Echo type Outlines of the selected text repeating toward a point, fading.

Copies stay real copies of your objects, so text stays text and images stay images.

Distort and warp

These replace the selected objects with distorted outlines (the originals are hidden, not deleted). Text is distorted from the outlines of its letters, in whatever font it uses.

Example What it does Like
Zig zag Ridges along every outline, sharp or smooth. Distort ▸ Zig Zag
Roughen A hand-cut, shaken edge: organic or random. Distort ▸ Roughen
Pucker and bloat Edges pulled in to spikes or blown out to petals. Distort ▸ Pucker & Bloat
Twirl A twist round the middle that fades outward. Twirl, Twist
Warp Arc, arch, bulge, flag, wave, fisheye, rise or squeeze, over everything selected at once. Envelope Distort ▸ Warp
Sliced type Bands that slide apart, in two colors if you like.

Lines, dots and grids

These work on the selection, or with nothing selected on a word they letter themselves (type it in the Text field).

Example What it does Like
Offset contours Rings of lines around and inside a shape, colored from inside out. Offset Path, CorelDRAW Contour
Engraved lines Parallel lines that swell in the shadows: relief, light or noise. Banknote engraving, line-weight plugins
Scribble One loose, looping pen line fills the shape. Stylize ▸ Scribble
Circle packing Circles that fill a shape or the page without touching, in a color harmony. Packing plugins
Dot matrix type The shape rebuilt from a grid of dots, lit and unlit, like an LED sign.
Dot grid transition A grid of shapes morphing from one form to another as it changes color.
Op art Stripes that bend and swell over a hidden lens, after Bridget Riley.
Guilloche The woven rosettes of banknotes, stroked with one round gradient. Guilloche generators

Tips

  • Distortions need enough points. Straight edges only bend where there are points to move: the scripts add them evenly first. Smooth options draw curves through them.
  • Keep what you like. The original objects are hidden, not deleted, so you can go back.
  • Heavy results. Circle packing, engraving and dot matrices can hold thousands of shapes. When Apply stays off, use fewer circles, wider spacing or a larger cell.

Writing your own

The effects are built from a few tools you can use in any script:

  • resample(outline, {spacing}) gives points evenly along an outline; move them and draw them back with shape() or path(p => p.spline(ring, true)) for a smooth curve.
  • morph(a, b, t) gives the outline between two others, for blends.
  • clip(outline, box) cuts outlines to a rectangle; scanlines(outline, {angle, spacing}) gives the pieces of parallel lines inside a shape.
  • pack({within}) packs circles; distanceField(outline) tells how far a point is from an outline (negative inside), for contours, glows and dot sizes.

Outlines can be a selected object (its letters, for text), blockText() or your own rings of points. The Code tab lists every option, and Ask AI knows them too.