Stroke
Stroke shape outlines with control over width, caps, trim, dash, and profile.
What it does
Stroke draws an outline along a path's edge, GPU-rendered so it stays crisp at any zoom. A shape wired in has stroke settings stamped onto it, width, caps, joins, trim and dash, without changing the shape itself. With the input disconnected, the output is a reusable stroke setting to plug into a shape generator's own stroke input.
Width takes several forms. The slider sets a uniform base width, a wired Number overrides it, and a wired easing curve or number sequence becomes a width profile that varies the width along the path's length. A per-point width channel on the input path (default name "pressure", for pen and tablet drawing) takes over from the base width entirely.
When to use it
An outline instead of, or in addition to, a fill: a line drawing, a border, a calligraphy-style brush stroke
A stroke that tapers, varies in width, or responds to drawing pressure
Only part of the path visible: trim the stroke to a start and end window, or animate that window along the path
A dashed or gapped line
A reusable stroke setting built once and fed into several shape generators
| Parameter | Type | Default | What it does |
|---|---|---|---|
input | Collection | — | Input shapes containing the paths to stroke. Leave disconnected to output a StrokeConfig. |
width | Any | 20 | Stroke width in pixels. Wire an easing curve or NumberArray for a width profile along the stroke (multiplies the slider); a per-anchor @width channel on the input path replaces it. |
min_width | Number | 0.100 | Minimum width at zero pressure (fraction of base width) |
start_width | Number | 100 | Width at stroke start (% of base width) |
end_width | Number | 100 | Width at stroke end (% of base width) |
align | String | "Centre" | Stroke alignment: Centre (both sides), Inside (inward for closed paths), Outside (outward). One of: Centre, Inside, Outside. |
cap_style | String | "Round" | End cap style. One of: Round, Flat. |
join_style | String | "Round" | How to handle sharp corners. One of: Round, Miter, Bevel. |
miter_limit | Number | 4 | Maximum miter extension before reverting to bevel |
color | Color or Color Field or Color[] or Field or Material or Material[] or Frame Sequence | rgba(0.00, 0.00, 0.00, 1.00) | Stroke colour. Connect a Color, image/texture, or Field to paint the stroke with it (sampled along the stroke's arc-length UV). |
reverse_path | Boolean | false | Reverse path direction (affects taper, dash, and trim direction) |
enable_trim | Boolean | false | Show only part of the stroke |
trim_start | Number | 0 | Start of visible stroke (%) |
trim_end | Number | 100 | End of visible stroke (%) |
travel | Number | 0 | Shift the trim window along the path (%) |
enable_dash | Boolean | false | Enable dashed stroke |
dash_pattern | String | "10, 5" | Comma-separated dash and gap lengths (e.g. '10, 5') |
dash_offset | Number | 0 | Shift dash pattern along path |
width_attribute | String | "pressure" | Name of the per-anchor width attribute. Author via Attribute Assign with a Curve value to drive variable stroke width. |
strength | Number | 1 | Effect strength / wet-dry (0 = no effect, 1 = full). Editable, wirable, keyframable. |
Gotchas
Start Width and End Width are percentages of the base width, not absolute pixel values. 100% means full base width, not no limit.
Trim and Dash are hidden until Enable Trim or Enable Dash is on. The percentage and pattern controls appear with the corresponding toggle.
Miter Limit only matters when Join is set to Miter. With Round or Bevel joins it has no effect and stays hidden.
Colour is not limited to a flat swatch. Connect a Colour, image, or Field into Stroke's colour input to paint the stroke with it, sampled along the stroke's length.
Worked example
Draw or import a path (e.g. a Curve or Pen shape) and connect it into Stroke's input.
Set Width for the base thickness, and pick a Cap and Join style.
Switch on Enable Trim and drag Trim Start / Trim End to reveal only part of the path, for animated line-draw effects.
Switch on Enable Dash and set a pattern like "10, 5" for a dashed line.
Connect a Colour or Field into the colour input to texture the stroke.