Skip to content

Nodes · Transform

SplineWarp

Transformv1coreNeeds full input

Overview

Draw a curve on a feature and the curve where that feature should end up; every pixel between follows. The controls are the same moving-least-squares pins PinWarp uses, sampled along both curves at matching arc length, so a stretched curve still matches its partner.

How to

  1. Select the node and <kbd>Ctrl</kbd>+click in the viewer to add points (<kbd>Ctrl</kbd>+<kbd>Shift</kbd> starts a new spline).
  2. Drag the solid dots to warp; drag the rings to re-anchor what moves.
  3. <kbd>Alt</kbd>+click a destination point to remove that correspondence.

Inputs

InputWhat it takes
inthe image this node works on

Outputs

OutputType
outImage

Parameters

ParameterTypeDefaultWhat it does
src_splinesTextThe source correspondence splines, as the node stores them.
dst_splinesTextThe destination splines — where each source spline should land.
samplesInt24Points sampled along each spline pair. More follows the curve more closely.
pin_borderBooltrueHold the frame edges still, so the warp never drags the border in.
mixFloat1.0Dissolves the effect back toward the input. 0 = off (bit-identical), 1 = full effect.
disabledBoolfalseBypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back.
labelTextA note shown under the node in the graph — what this node is FOR. Never affects the render or the cache.
hide_inputBoolfalseDraw the node without its input wire — a tidy graph for a node whose source is obvious (a Dot, a viewer tap).

Known edges

pin_border pins the input's own frame edge to itself; without it one curve in the middle of frame drags the whole plate after it. Spline sets that do not pair one to one warp nothing and say why.

Since

27 Aug 2026