Skip to content

Quick Shape

Preset "sticker" geometry — pick a named silhouette and get a ready-to-use shape with zero custom params beyond size. Useful for prototyping, testing flow fields with recognizable motion, mockups, and anywhere you want a directional or iconic shape without drawing one.

Category: Shapes Menu path: Shapes > QuickShape

Ports

PortTypeDirectionDescription
outshapeoutputThe preset shape as a closed path (or paths)

Parameters

ParamTypeDefaultDescription
presetenumArrowWhich preset silhouette to emit (see list below)
sizescalar100Largest extent of the shape in comp pixels. All coords scale together — shapes stay roughly proportional

Expose Channels

When enabled (E button on node header), adds input ports that override params via edge connections:

PortTypeOverrides
size_inscalarsize

Available Presets

PresetDescription
ArrowRight-pointing arrow (stem + triangular head). Pair with Transform2D rotation to point any direction
HeartClassic heart silhouette with two humps meeting in a V, tapering to a point at bottom
CursorMouse-pointer silhouette — tip at top-left, tail at lower-right
SpeechBubbleRounded-rect body with tail pointing down-left
Star5-point classic star
LightningJagged bolt shape
PlusEqual-arm cross/plus symbol
CheckCheckmark / tick

Usage Examples

Test flow fields with a directional shape

QuickShape (Arrow) → CloneToPoints ← Grid → DrawShape → Output. Grid of arrows shows a PointAdvect-style flow at a glance (drop a field source into CloneToPoints' scatter attribute for rotation).

Speech bubble over a layer

QuickShape (SpeechBubble, size: 300) → Transform2D → DrawShape → Output. Instant comic-style callout.

Instanced hearts along a path

QuickShape (Heart) → CloneToPoints ← PointsAlongPath ← EditableShape. Hearts follow a curve with auto rotation from path tangent.

Animate a cursor across the screen

QuickShape (Cursor) → Transform2D (keyframe position) → DrawShape → Output. The cursor preset's tip is roughly at top-left so rotation/position feels natural.

Chain with other shape ops

Use OffsetPath on a QuickShape preset to thicken it; RoundCorners to soften a sharp preset (Plus, Check, Lightning); ShapeBoolean to combine two presets into a compound icon.

Tips

  • Every preset is a closed path centered at the origin — works out of the box with CloneToPoints, ShapeAttributes, ShapeBoolean, etc.
  • size is the largest axis — non-square presets retain their natural aspect ratio. To stretch, use Transform2D scale.
  • Presets are intentionally tiny parameter-free — use EditableShape if you need to modify a preset's geometry, or compose with ShapeDeform for procedural tweaks.
  • The Arrow preset's tip is on the +X axis — Transform2D rotation of 90° points it down, -90° points up, 180° points left. Useful for directional indicators.
  • Missing a shape you want? Add it to engine/src/graph/quick_shape.rs's build_preset() match + the TS ENUM_OPTIONS.QuickShape.preset list.