Overview
A placement node that paints tiles in a line from a sequence of points. Draw
pipes, roads, and rivers numerically, then grow them from the start with progress
(0–1), making a growing-pipe animation with simple wiring.
Usage tips
- The signature use is a growth animation:
time_source → progress(promote to an input pin 📌) →rule_animation_render. Rule resolution updates the autotile seams correctly as the line grows. - Use this for polylines; use
rule_pathfor Bezier curves. - Chain it with
rule_rectto build structures such as rooms and pipes.
Related nodes
rule_path— the Bezier-path counterpartrule_rect— the rectangle counterpartrule_animation_render— outputs the growth animationrule_operation_merge— combines with hand painting
What this node does
Creates a line operation from points in x,y x,y … format. progress (0–1,
promotable) trims the line by cell count from its start. Connect time_source →
waveform → progress to animate a pipe growing, optionally with Rule Animation Render.
The cut always lands on a cell along the path, while context such as distance from the start and straight-section information is preserved. Future sequence rules, such as "a seam every N cells," can therefore apply without modification.
Inputs, outputs, and settings
| Kind | ID | Type | Description |
|---|---|---|---|
| Input | canvas |
RuleCanvas (optional) | Canvas to append to. Creates a new canvas when unconnected. |
| Output | canvas |
RuleCanvas | Canvas with the line operation added. |
| Setting | material_id |
Text | Terrain name to paint (default: pipe). |
| Setting | points |
Text | Point sequence such as 0,0 6,0 6,4. |
| Setting | progress |
Float 0–1 (promotable) | Fraction to draw from the start. |
| Setting | map_width and others |
Int | Map and cell settings for a new canvas. |
Example wiring (growing pipe)
time_source -> sawtooth wave -> RulePolyline.progress (promoted)
RulePolyline.canvas + Pipe asset.asset -> RuleAnimationRender