The linked sif files are not packed inside during the “Save As” operation yet - this is a work to do next.
The current implementation already includes a LOT of internal changes, so Ivan considering to propose a pull request to merge the current progress into master. This would allow to avoid merge problems in the future. If the pull request will be accepted, then everyone will be able to play with the new feature in the next snapshots.
This week I was investigating the possibility to migrate our web infrastructure to more powerful servers. And found some interesting results. The solution is not that cheap as we have now, but offers good perspectives for further growing. This is not directly related to development, but I guess I am not the only one who annoyed by the quirks happening with the forum’s database.
Next, we have updated our character template, if you remember such one. Now it uses the advantages offered by new version of Synfig - “Exclude from Rendering” and “Parameter-defined Interpolation” features. To be more clear: all control widgets are automatically hidden now and use constant interpolation for correct switching. Since those changes are intended for use with “not-released-yet” version of Synfig, they are located in the special development branch for now. You can download it here.
Last week I also was lucky to finish some long-awaited feature - group layers now can be scaled interactively using the handle. Better to look yourself - youtu.be/jGLPuwOekvk
Carlos keeps working on the new approach to split tangents. The basic implementation is done. Now it’s pending to add UI menu elements and also he mentioned some problems with handles interaction to resolve.
We also got contributions from Djay - he have fixed several crashes, related with adding new keyframe, and keybindings.
Finally, one more thing to mention - Yu Chen have prepared a special icon set for “Parameter-defined interpolation” feature.
I still have mixed feelings about merging the “zip-container” branch into master.
From one hand, this branch is a huge revamp to the file-saving infrastructure. Thus, delaying this merge can lead to the troubles later, especially if we have some changes related to saving in the master branch.
On the other hand, I amp pretty sure that merging “zip-container” feature will delay the release of 0.64.1, because we will need time for additional testing and there are extra bugs may come. I don’t want that stress.
So, my proposal is:
Declare a feature freeze for 0.64.1
From the current status of “master” branch create a new branch called “0.64.1”. We will put all final touches and last-time fixes there (I mean apply localizations, fix last bugs - I believe all those changes will be minor and won’t touch the file-saving infrastructure)
Merge “zip-container” into “master”.
Thus, you and Ivan can continue developing features in the master branch and I will finish ASAP with the 0.64.1 release.
When 0.64.1 will be released, I will merge we will merge it into master and development will be continued as usual.
BTW, this approach is very similar as we did for releasing Windows version of 0.64.0.
I agree on that. In fact I was wondering how much more time would we were waiting to release 0.64.1. In any case, Ivan, me and any other that are working on a feature must merge/rebase the branch to the latest master. If possible (preferred) rebase if not, merge. This way, the next rebase to 0.64.1 when release will be smoother.
So, message for the coders! If you want your feature to be included into 0.64.1, hurry up!!!
I’m almost finished with the new feature of the Tangents handling: github.com/genete/synfig/commit … tangents-2
Now you can:
Split/merge tangents by angle or by radius or by both
Feature keeps the functionality of the old files
It removes the “Split” member of the ValueNode_Composite for BLinePoints
Also it adds “Radius Split” and “Angle Split” members.
Now I’m working on mouse gestures to split the tangents without need to use the contextual menu.
Currently the behavior is that if tangents are merged (full) then if you press SHIFT while dragging one tangent, its splits (full) them.
So the question is:
Which is the preferred combination of keys to split/merge with gestures the tangents?
We have three possible keys: SHIFT, CTRL, ALT and its combinations.
We can have the following gestures:
Full merge(split) to full split(merge)
Radius merge(split) to radius split(merge)
Angle merge(split) to angle split(merge)
It gives a total of 6 cases.
My proposal is:
CTRL splits if merged
ALT merges if split
If it is full merged
CTRL gives radius split
If Radius is already split
CTRL gives angle split
If it is full split
ALT gives angle merge
If angle is already merge
ALT gives radius merge
This way we reduce the number of keys but allows the user to split sequentially.
This is absolutely wonderful work so far, and I really enjoyed watching the demonstration on Google+.
I think a nice enhancement to this feature would be for tangents where the angle is split to have a different duck shape - still orange, but a diamond as in Inkscape. This is because this sort of node is used for corners and not for smooth curves, and therefore it’s very important not to have this sort of node the wrong place before you start animating.
It is nice. But,. …
We need to review all the keys combination to make them consistent. Currently, SHIFT in Inkscape over a single vertex, doesn’t keep the axis value, like we do (they use CTRL). On contrary, we use CTRL to add to selection where Inkscape uses SHIFT… oh dear…
Can we use the third button (pressing down the mouse wheel) on the mouse - if I was over a duck and pressed third button to split and un-split the angle and then shift and third mouse button to split and un-split the radius?
I would find that a huge help and very quick, although we’d still need shortcuts for people without three-button mice.
Ctrl + Left mouse button = Full split for tangents (angle + radius)
Shift + Left mouse button = Split tangent radius only
Ctr + Shift + Left mouse button = Merge both angle and radius
I don’t think we need anything else.
Also, my preference is to have “Linktangent angles” option instead of “Split angle”. The same for radius: “Link tangents radius” instead of “Split radius”. Of course it’s have inversed meaning. I think such names will be easier to understand for user.
Again: CTRL + click on a handle implies “add handle to selection”, so it would make impossible select two tangents handle (to linking for example) without full split them.
I think I don’t understand that. “Link” is not the same than “Merge” or “Split”.
For me “Link” means: “discard one of the two value nodes and use the other as the one for both”
And “Merge” means: “Calculate the average of the current value and set that value it in both value nodes at that time”. It also implies that from now on, modify one tangent radius (angle)(both) implies modify the other too.
And “Split” means: “From now on the modification of one tangent radius (angle)(both) doesn’t imply the modification of the other too”. Values aren’t modified when you split the tangent’s radius (angle)(both).
But always taking in consideration that we are talking about setting a value not replacing a value node, like we do when linking. So when you perform those current actions (merge or split) over an animated value node, a new waypoint is set where applicable and the value node is nor replaced in any case.
Alt + Left mouse button = Full split for tangents (angle + radius)
Shift + Left mouse button = Split tangent radius only
Alt + Shift + Left mouse button = Merge both angle and radius
Although, I don’t like the usage of Alt modifier, because it’s usually occupied by window-manager in Linux…
I don’t know how hard it is bind full spit onto just the “S” key? I.e. if you have one or many tangents selected, then press “S” and they become splitted.
I am talking about the option renaming, only that. So it will be easier to understand for users.
Just renaming “Split angle” to “Link tangent angles” will make life easier.
Of course, the behavior of the checkobox will be inverted then:
(Split angle = on) == (Link tangent angles = off)
(Split angle = off) == (Link tangent angles = on)