It is currently Sun Oct 18, 2026 1:01 am


All times are UTC - 5 hours [ DST ]



Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: Puppet warp for Gimp 3.2
PostPosted: Sat Oct 17, 2026 4:21 am  (#1) 
Offline
New Member
User avatar

Joined: Sep 26, 2026
Posts: 2
Hi everyone

I've developed a new Python plugin for GIMP 3.0/3.2 called Puppet warp, after Gimp added powerful Non-Destructive Editing (NDE) features and N-Point Deformation Tool but it is buried in Edit > Preferences > Playground as an experimental feature , and many users report that it has not worked properly since around GIMP 2.10.14. Some people also mention it crashes when you try to commit the deformation. In practice, most GIMP users simply do not have a usable mesh deformation workflow.

So I built a Puppet Warp plugin that actually works as a proper tool.

How it works:

1. Warping

Click to add pins, drag to deform; Shift snaps a drag to an axis
Rotate and scale around any pin (orange ring: drag the dot to rotate, drag the body to scale; or Alt+wheel / Ctrl+wheel)
Per-pin taper — how far a pin's influence reaches before it fades to the rest of the mesh (Shift+wheel, or the T field)
Per-pin depth — when two warped regions overlap, higher depth draws in front ([ / ], or the D field). See Pin depth
Pin Edge keeps the outer mesh border at its rest position
Stiffness mesh derived from the layer's alpha: transparent areas stay soft, so a pin on empty background barely tugs the artwork

2. Canvas & preview

Extend image grows the layer when pins pull pixels outside its bounds; the layer mask (if any) grows with it
Live preview with three background modes: Below (first visible layer under), Composite (stack of all visible layers under), Off
Mesh overlay in four styles (Cells / Triangles / Both / Off) with a custom line color, so you can see the quad grid while you work
Pan, zoom, fit-to-view; the view widens automatically to show extended pixels

3. Workflow

Undo / redo inside the dialog (Ctrl+Z, Ctrl+Shift+Z / Ctrl+Y)
Multi-select pins (Shift+click, Ctrl+A), nudge with arrow keys (Shift = 10 px)
Save / load the whole setup (pins, depth, taper, grid, options) as a JSON preset
Non-destructive: every parameter is stored as JSON on the layer filter and travels with the .xcf. Reopen the tool to continue editing — including after an extend, where the padding is re-detected so pins never drift

I would be grateful if you could let me know if you encounter any issues.

I hope this speeds up your workflow in GIMP.


Attachments:
2026-10-17-142721_1920x1080_scrot.png
2026-10-17-142721_1920x1080_scrot.png [ 889.9 KiB | Viewed 10 times ]
puppet-warp-linux-x86_64.zip [82.17 KiB]
Downloaded 1 time
Share on Facebook Share on Twitter Share on Orkut Share on Digg Share on MySpace Share on Delicious Share on Technorati
Top
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 5 hours [ DST ]



* Login  



Powered by phpBB3 © phpBB Group