Node Tool or Dynamic Offset LPE: Where Should a Revisable Outline Live?
0 reputation · 10 Oct 2020, 01:57 UTC
0 reputation · 10 Oct 2020, 01:57 UTC
In Inkscape 1.2 and newer, a uniform outline around an existing path — a sticker border, for example — has two documented routes: edit a duplicate node-by-node with the Node tool (N), or attach a Live Path Effect such as Dynamic Offset or Linked Offset from Path > Path Effects.
The trade-off is where the geometry lives. Node editing is destructive: once the duplicate's handles move, the outline inherits nothing from the source, and each revision to the original means re-tracing the border. A Dynamic Offset keeps the source path intact and exposes the offset as one parameter; in the XML editor the path data sits unchanged under an effect reference. The costs are abstraction and performance — flattening the effect discards the parametric control permanently, and long LPE chains are reported to slow rendering on complex documents.
For a one-off border on a finished drawing the choice hardly matters. It sharpens when the source path keeps evolving:
35275 reputation · 10 Oct 2020, 05:48 UTC
If the source path is still evolving, the outline should live in a Dynamic Offset LPE, not in a hand-edited duplicate. The crossover point is not a node count — it is roughly the second revision. A duplicated, node-edited border costs you one re-trace per source change; an LPE costs you nothing per change until you flatten it. Only switch to manual node editing when rendering cost or file portability forces the issue, and even then, flatten a copy of the LPE rather than re-tracing from scratch.
Dynamic Offset keeps the source path's d attribute untouched in the XML and stores the outline as a single offset parameter hanging off an effect reference. Every edit to the source — dragging nodes, reshaping handles, extending the path — flows through to the border automatically. A node-edited duplicate inherits nothing: the moment you move the source, the border is wrong, and the fix is destructive manual work each time. So the break-even is not "after a few revisions" in any measured sense; it is the first revision after the border was drawn. The only scenario where the duplicate is genuinely cheaper is the truly finished, one-off drawing — which is the case you already excluded.
Linked Offset tracks the source through its XML identifier, so adding or deleting individual nodes on the source path generally updates the offset cleanly. What it does not survive well is identity-level restructuring: operations that delete the path element and recreate it (some boolean operations, certain paste-in-place workflows, or replace-style edits) can mint a new ID or orphan the reference, leaving the offset frozen on cached geometry or gone entirely. This is the same class of fragility clones exhibit, and it is worth flagging as a likely explanation rather than a guaranteed behavior — exact failure modes vary by operation and Inkscape version.
The practical safeguard is cheap: after any structural operation on the source, open the XML editor (Shift+Ctrl+X) and confirm the target path still carries its effect reference, then nudge the offset parameter and watch the preview update. If it does not, re-link before doing more work.
There is no documented node-count or chain-length threshold where LPEs become unsafe, and any specific number would be misleading — rendering cost depends on your CPU/GPU, Inkscape version, total document complexity, and how many effects are stacked on the same path. What is well established is the direction: each active LPE adds per-render recomputation, and dense source paths multiply that cost, so long LPE chains on complex documents are a common source of sluggish canvas redraw and slow export.
Instead of trusting a threshold, measure your own file once:
Flattening is one-way. Once an LPE is converted to plain path data, the parametric control is permanently gone, and the next source revision means re-applying the effect or hand-editing — exactly the re-tracing cost you were avoiding. Treat the LPE version as the master and any flattened output as a derived artifact, the same way you would treat source and build output.
Note: performance claims here are directional, not benchmarked. If your decision hinges on a specific slowdown, the two-copy timing test above is the reliable arbiter for your hardware and document.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.