Redraw tool
From Synfig
Feature request: http://sourceforge.net/support/tracker.php?aid=1432613
[edit] (This tool does not exist in Synfig yet. This page is linked from the Wish list)
The "redraw tool" concept is a tool used to animate/edit (depending on the state of Animate Editing Mode ) the shape of a line intuitively.
Typically, in a vector program, while you may be able to pen in a line intuitively, by drawing with a tool like Synfig's draw tool, any changes that have to be made to the line are made by selecting and grabbing ducks or handles, and moving them around.
The redraw tool's function would essentially allow you to re-pen a line, and automatically rebuild the input line to have the same complexity (number of ducks), as the line being redrawn, and simply set the shape of the line/layer it is being used on to match this new line.
If Animate Editing Mode is enabled, this reshape would generate new keys for the shape's position and size ducks, allowing the user to simply redraw lines into new positions on keyframes, greatly accelerating the speed at which an artist can animate with the program.
The current way of doing this is simply to key all the ducks on one frame, then go to the next keyframe, and drag each and every one of them to the right position for the new frame, which takes quite a lot of time.
[edit] Proposed workflow
The most important aspect of this tool is the ability to simply select a layer/line, and start drawing. So, if a path is clicked directly with a drag action, the tool should immediately begin redrawing the path.
An artist may not always want to redraw an entire path. If the path is drawn from the middle, the tool should determine which direction on the path is closest to the new direction, and only redraw that side.
If an endpoint of the path is drawn from (and perhaps with this tool endpoints should be displayed while it is active), the tool should redraw the entire path, starting at that endpoint.
If an endpoint is clicked but not drawn from, the tool should give some indication of that point now watching the cursor (a simple dashed line from the endpoint to the cursor would suffice), and then when the cursor is mousedown'd and drawn with again, this should be the new position of that endpoint to redraw from. This way, a line can simply be picked up with the brush, and redrawn in a different location.
[edit] Justification
In traditional (hand drawn) animation, an action is described by drawing two "keyframes", or frames that best describe the bounds of the action. First, one frame at the beginning, and then another at the end. Then, in order to define arcs, and proper motion, breakdown drawings are created, which make it a simple matter to fill in the rest of the drawings to form a smooth movement.
Now, almost immediately in this workflow, vector-based animation programs have already diverged. The first drawing is still created in much the same manner - creating a series of lines (paths), but then in order to change it later on, it is necessary to warp the paths to a new form, by adjusting their vertices one at a time.
It is important to point out here that there is very little in the traditional animation approach that is strictly tied to working in quantum 'frames' of time - typically the concerns are much more tied to the motion over the space of time. For example, "when does this line need to disappear", "is this line wiggling or shrinking smoothly?", "Is this moving in a believable manner", "is the character's arm keeping the same volume through this stretch", etc.
The way to bring vector-animation back in this line of thinking, while at the same time alleviating the frame-based headache of having to compare each and every drawing against one another is to create a tool that allows for the reshaping/shape-keying of lines and drawings to be as intuitive as when they were created, hence this suggestion.
