Minimal / defaut values on Layer (circle/star ...) creation


The sequence Click + Drag&Drop is required when you create a Circle or Star layer in synfig.

  1. Click to define the center
  2. Drag&Drop to define the radius

What do you think, when step 2) is not done, to create those layer with minimal/default value?

Goal : Better new users experience by avoiding actions with no visual result


Yes, it could be nice to have. Could it be extended to all creation tools with click and drag behavior?

It sounds like blender way, I had this idea some time ago, but not sure it is the way we should go, because there’s a negative side effects, user has to adjust the objects, not like current way, s/he always uses same procedures. But if we dig more deeply, we will find if we create an object /layer from layer menu, it is the blender-liked way, isn’t it? So for tools, switch to blender way is logical from my point of view.

and even more, those tools( star, circle, polygon…) should be removed from tool box, since they are not the tools :slight_smile:

:open_mouth: :open_mouth: So what are they? :open_mouth: :open_mouth:

they are layers :mrgreen:

ok, to answer your question seriously, this morning, I decided to spend some time to draw the initial idea I had for quite long time, see below

will try to draw out how to combine this concept with window system design, particularly with the global and local toolbar designs.

“no layer creation tool present here, except the draw tool”

I think that not only the Draw tool but the Spline tool too. Draw tool is great for that, draw. When you want/need to control the position and amount of spline points it is needed the Spline tool.

And, isn’t longer in clicks to do a drag and drop and then adjust the parameter instead of click on tool, click and drag and done?

Say create a circle:
Your approaching:

  1. If circle doesn’t appear on the layer sources, make it appear by searching or selecting the right category.
  2. Click the circle icon/line and drag drop to the place you want it to be. Circle is created.
  3. Layer parameters pops up (right?). Maybe I just want to modify the radius based on background information, I don’t know the exact value. Close pop up because I don’t need it.
  4. Grab the radius handle with the mouse and modify it to make it the right size. DONE

Current approaching:

  1. Click the Circle tool.
  2. Click and drag to make the circle. DONE

Also, the layer drag and drop approaching has some drawbacks (if the tool is available). Say you are in a deep zoom (say doing a fine detail) and need a tiny circle. Then you drag and drop a circle layer and then boom! the default circle is created (it covers all the zoomed area). zoom back, tweak, zoom in again…

I think that the current tools are useful as they are. It doesn’t mean that the drag and drop idea is bad, but please don’t remove those useful tools.


It will not change current approaching, if click a layer icon in layer browser or in layer favorties, it behaviors exactly the same as you click a layer icon in toolbox. And the concept of drag-n-drop approaching is existing in current system, if you create a layer from menu–>layers–>geometry–>circle for example.

The benefits for removed layer creation icons/tools from toolbox are:

  1. emphasize the unique layer concept of synfig,
  2. flexibility of UI by adding layer favorites, and
  3. the new layer browser will have the ability to list the layer(s) defined by user, for example, user defined a star layer in red and with 8 points parameters which named “Red 8 Star”, s/he can easily drag and drop it from layer brower to canvas and have it, and just repeat it when more Red 8 Star needed for his artwork creation. to get the idea you can imagine the Library Panel concept.

Ok, don’t beat me, I know we are laking development resource, “talking is cheap, show me the code” someone said :slight_smile:

Here is a quick thought/idea about “Layer Browser” or Group Layer,

Saying I have a group layer (defining a particular shape for my artwork) which containing a star layer and a circle layer and a gradient layer. In current system, if I want to change the color of the star layer I have to select the star layer first and then goto parameter panel. and so does for circle layer.

How about adding an “public” attribute to each layer parameter, in the above sample, I can “Publish” the color of star as star-color, and the color of circle layer as circle-color, and I publish the points parameter of star layer (star-points) as well. and those three Published parameters will be presented as the group layer parameters.

And of course we can have a set well-setup/default “public” parameter for each type of layer.

The intend is to hide the complications of layers and parameters, and will speed up the artwork creation.

Ok, I know, thinking is even more cheaper than talking :slight_smile:

Interesting idea. It is like a “meta-layer” where the user selects the set of layers that forms that meta-layer, its default stack order, default blend methods and has the ability of expose only the parameters that are “visible” for that meta-layer. Of course user can edit internals of the meta-layer in any time but with a explicit action and common interface.

I’m sure it would make happy many users :mrgreen:

:blush: I am thinking if I drag and drop a “Group Layer” from Layer Browser to canvas, what would happen :mrgreen:

It would be handled like a super action, where many actions are performed sequentially and many layers are produced at once. Take a look to the History panel and expand the action list when applicable (i.e. you create a Region and an Outline in one action)


Cool, and how about if drag-n-drop a blank group into my canvas ?
1)just create a group layer staying upon the top layer
2)popup a selection tools, using this tool to define which layer/s you would like to group into this new group layer.

For i saw only Circle, Rectangle, Star … [layer as tool | tool as layer]

Waiting all this “good as free beer you’r talking about improvement” come; what do you think to start the move by a default value canvas zoom based:

sub on_layer_creation_withtout_size
if (“defautl tool value” > 20% * “canvas view size”)
then “default tool value” = “canvas view size” * 20%
end sub

or simply :

sub on_layer_creation_withtout_size
“default tool value” = 10% * canvas view size
end sub


Hi djay,
I would prefer to leave all those “% of” decisions postponed when a high level user settings system is implemented. So then, all the preferences that we are filling hard - cored, can be user selectable.