Synfig Issue Tracker
Please log in to bookmark issues
OPEN  Feature request #421  -  Use global space for linking vertices
Posted Apr 29, 2013 - updated Aug 19, 2016
Issue details
  • Type of issue
    Feature request
  • Status
  • Assigned to
    Not assigned to anyone
  • Progress
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
  • Owned by
    Not owned by anyone
  • Time spent
    No time spent
  • Category
    Not determined
  • Resolution
    Not determined
  • Priority
    Not determined
  • Targetted for
    icon_milestones.png Not determined
  • Tags
    icon_customdatatype.png Not determined
  • Difficulty
    icon_customdatatype.png Not determined
Issue description
Linking vertices from different layers uses local space, the linked position is relative to the layers origins.

If both layers have the same origin the linked vertices is located at the same spot on the canvas. If they have different origins the second vertice is placed at the first ones position relative to its layers origin, thus with an offset between the two vertices.

It would be desireable if global (canvas) space could be used instead or that Synfig internally counters for the offset so that both vertices is displayed at he same spot on canvas.

Comment posted by
 Sylvain Leroux
Aug 19, 11:06
Indeed linking between layers can be complicated.

Instead of/as a complement to using a global space for linking, could we envision some "Screen To Canvas" and "Canvas To Screen" value operator on vectors ? This is basically two translation operators oriented toward opposite directions. We can do that by hand using Add and Sub value operators (I think), but this is tedious and difficult to maintain.

As an example:

  + Group 1 : origin 10,10
    + Group 2 : origin 20, 10
      + Outline 1, with point P1 at 20, 10
    + Group 3 : origin 30, 20
      + Outline 2 with point P2 (to be connected to the "same screen location" as P1)

Export  ⇑ top

Right click on P1 shows menu "Export" (as usual) and "Export Global". Select "Export Global" -> the value exported in in fact the operation Canvas To Screen(Outline1, P1.origin). E.g : (50, 30)

Import  ⇑ top

Right click on P2 shows menu "Connect" (as usual) Select "Connect" and the local space coordinates of P2 are connected to (50, 30). This is not the desired value. Right click on the value node and "Convert" to "Local Space". This now the desired value (20, 10).

The whole thing is still dynamic. The previous behavior is preserved and this is transparent for all already implemented features are the origin is still expressed internally as local layer coordinate space.

Thoughts ?