How to "grab" a lower duck


I’m sure I’m missing something obvious here. I’m using Synfig Studio on Windows 10.

Here’s a Warp layer. It has six ducks, amongst them Source Top-Left, Source Bottom-Right, Destination Top-Left, and Destination Bottom-Right. I’m not warping yet, and so Source Top-Left and Destination Top-Left are exactly on top of one another.


So how do I “grab” the lower duck?

What happens to me in practice: No matter what mouse/key combination I try, I always seem to get the upper duck. Murphy’s law being what it is, this turns out to be the “wrong” duck. Well okay, so now they aren’t on top of each other any more, so now I can grab the other one and move it in position. But now I have a hard time reconstructing exactly where the “wrong” one was originally, and this hassle costs a lot of time.

Surely there must be a better workflow for this?

I don’t know if there is a way to do it in the work area.

But you can always use the Parameters Panel. Select a duck/handle. The Parameters Panel automatically selects the correspondent parameter. You can the look for other parameters near it to select it via panel, change it value a bit to be not overlapped by other duck/handle.

Do you have any suggestion?

I don’t know what can be done on the programming side, but from the top of my head, there might be two possible ways:

  • Left-mouse-click always selects “source” nodes; shift-left-mouse-click always selects “destination” modes (Or alt-mouse-click or control-mouse-click or vice versa). Now the user can specify with the shift (alt, control) key what point they want to move.
  • The source nodes get a little “duck extension”, similar to the red extension on the rectangle with which you distort groups:
    grafik Now the user can drag the extension when the main duck is covered.


  • make the source ducks green and the destination ducks some other colour, or vice versa, so that they are easy to distinguish visually even when lit up.

I didn’t understand almost anything, because I didn’t get what ‘source’ and ‘destination’ nodes mean here.
Sorry, my English isn’t that good and I’m sleepy (2:26am here)

So, you have a “Warp” layer, where you mark a rectangle, by giving the top left and bottom right corner (and thus, implicitly, the bottom-left and top-right corner). This rectangle is the “source”. The layer should distort this “source” rectangle.

So you specify four other points, top-left, top-right, bottom-left, bottom-right – the “destination”. The “source” rectangle is supposed to be distorted in such a way that the top-left point of the “source” will land on the top-left point of the “destination”, etc.

This is Synfig’s terminology, not mine. If you install a “Distortion/Warp” layer, you’ll see the nodes called exactly that way (“Source Top Left” and so on) in the bottom-left “Parameters” pane of the Studio.

The point is, if you do not want any distortion yet, then you need to have the point “Source Top-Left” exactly equal to the point “Destination Top-Left” and so on. So one of the “natural” ways of using the Distortion/Warp layer is putting the “source” and “destination” points exactly on top of each other. Then, later in the animation, when you do want distortion, then you need to get at the destination points again and move them away from the source points (or vice versa).

In this situation I made the experience repeatedly that it’s a matter of luck whether Studio selects the right or the wrong point you want to get at.

Normally when you create your Warp Layer, the destination has the shape of a trapeze, permitting to select your source (deactivating the Warp Layer).
Once the source defined, you place the destination and then activate the Warp.
You surely already have the link to the wiki
but it is easier to see in video (from our friend @Khemardi, don’t forget to subscribe to his excellent Youtube channel :wink: )

1 Like

Ah! It was specifically about the Warp Layer, I forgot it!
Thank you for your excellent explanation.

But the “overlapping ducks” issue isn’t only for that, so we all must try to work on a ‘GUI’/‘mouse’ solution for ‘any’ case that allow user to properly choose one specific duck among the overlapping ones, not just for Warp Layer case.

shift+click and ctrl+click already have a defined behavior for duck (un)selection, so… not viable, sadly.

1 Like