Dev:Wish list

From Synfig Studio :: Documentation
Revision as of 09:11, 11 October 2008 by PaulWise (Talk | contribs) (fix headings)

Jump to: navigation, search

Warning: We need more people working on the code if we are going to be able to achieve all the feature requests.

Got a great idea for a new feature? Just add it here, or on the feature requests tracker. Before you do, please check the etl, synfig and synfigstudio TODO files for similar ideas. Please add a rating of how essential this feature is to your workflow according to the following scale:

  1. "Well, it might be nifty. To someone."
  2. "I probably would make use this"
  3. "It's not essential, but I'd really like to have this at my disposal."
  4. "Synfig would be soooo much better with this change"
  5. "I can't/won't use Synfig without it!"

Contents

Linking Zoom layer to Paste Canvas

[3] It is impossible to link Center of Zoom layer to Origin of Paste Canvas without exporting a value. It often needed for pans & zooms. Suggestion: rename "Center" parameter of Zoom Layer to the "Origin". Will improve the workflow. --Zelgadis

Non scalable timeline

[3] It should be useful for me to have non scalable timeline. It's hard to set timing when the distance between frames is always different in different documents and in different situations. Suggestion: make a non-scalable mode for timeline, where 1 second interval is always the same. Will improve the workflow. --Zelgadis

Smart linking of tangents

[4] As described in Sewing BLines, when linking red tangent to yellow they are placed opposite against each other. This is normal from the program's point of view, but not normal for new users. Even more, to avoid this effect user needs to made some complex steps (see Sewing BLines#Solution). It takes a lot of time if we vahe lot of verticles to sew their tangents.

Suggestion:

  • When linking tangents with the same color, program should act as usual.
  • When linking tangents with different color program should automaticaly add Convert->Scale (-1) to avoid their opposite placement.

To allow linking two tangents in opposite position, I suggest to add a new menu option for tangents "Link Opposite". When linking two tangents with this option:

  • When linking tangents with the different color, program should act as it acts now - no additional converts added.
  • When linking tangents with the same color program should automaticaly add Convert->Scale (-1) to plcae them opposite against each other.

--Zelgadis

Movement blur effect

To make the motion most realistic for movies, it should be possible to activate in the render dialog the option to smear the border of all objects, which move faster than a given value. For example, if a ball gets shot over the canvas/rendering-screen with speed over 50 px/frame it should have a blurry streak attached. This effect could be applied only at rendering time as an after-effect. --SvH 09:50, 28 May 2008 (EDT)

There is a Motion Blur Layer that you can apply to the entire document or to the layers you want. It allows to turn the blur effect on and off during animation. I think it is more flexible that your proposal. Genete 10:13, 28 May 2008 (EDT)

Morph sets

This feature is similar to some other suggestions below, just with another way to approach. In animations are many movements, which can be put in some kind of library, to make use of at a later time. For example, movements to animate the key moments of a mouth, sampling syllables. For vector graphics, it should be possible to define some key points, which move just a small amount of space, to form another syllable. These syllables in this example, should be stored in a drop down list, to be able to select them for the key time on the timeline. A morph-set for walking-left-to-right is different from a morph-set for a mounth, which has as options a,e,i,o,u,bah-disgust,happy-smile. The morph-set has to be stored as vector coordinates in a relative way(offset), e.g. X1=+212,+34;X2=-56,-23;X3=+3,-88;

To make use of the morph-set for the mouth, you have to define first, which vector points in your drawn mouth, correspond to the key-points of your morph-set. X1, X2, X3, Xn

--SvH 06:53, 27 May 2008 (EDT)


Render time approximation

Synfigstudio should get a button in the render dialog, which calculates the total render time for the actual settings (frames per second, length of the film, resolution, output format) It should testrender 1 picture, when the amount of total frames is below 1000. Over 1000 frames, it should testrender 10 pictures for more precise calculation.

--SvH 12:49, 22 May 2008 (EDT)

Smartrendering

I have made 25,000 small png-pictures with my 800Mhz computer in about 45 minutes. Synfigstudio did calculate each single frame of it. Nothing changed in this picture, so it does only need to get written to disk for the amount of pictures, until the next change (animation) has an effect on the output picture. This should save time for bigger projects with thousands of pictures. With smartrendering it is also possible to predict the total amound of space in Megabytes (Mibibytes) of the final render of the movie. It should calculate how much it needs and see, if enough space is free on the harddisk before the rendering get started.

--SvH 12:49, 22 May 2008 (EDT)

get_color method in text and radial blur

[5] Without get_color method distorion produces artifacts bug 1831355. So I would like to get this problem fixed before doing something else. --AkhIL 22:41, 1 May 2008 (EDT)

Full functional of group dialog

[5] Group dialog is broken now bug 1796833. So we should get old features work right before making new one. --AkhIL 22:41, 1 May 2008 (EDT)

import/export .swf files

very important productivity feature

import/export .svg frames sequence, and/or .svg animations

very important productivity feature

a realtime .sif synchronized text window

just like the xml editor of Inkscape, or the html editor in Dreamweaver (this is hugelly useful for productivity)

I thinks scripting API can be implement in this way. For example you make XML DOM like implementation for python which alows to change DOM tree from python code and see chenges in canvas. By this way you can implement import/export scripts. Automation scripts. And a lot of different things. Even synchronization of animation between blender and synfig. --AkhIL 23:10, 26 April 2008 (EDT)

choosing colour from gimp/inkscape palettes

very useful when you need some colour comformity of what you're doing

Good high-level documentation of the source code

(2) It'd be nice if a newbie could quickly navigate around the source code. The best thing to do would be to add top-level comments in each file, explaining what that file does, a README.TXT in each directory, explaining what's in that directory. This would be pretty fast and easy to do, and make it much easier for new programmers to join.

Time permitting, it would also be good to document on a high level what the data structures are, but that's harder, since those tend to evolve, and it is often difficult to keep in sync. It would also be useful to document what individual functions do (just a one-liner high-level description), but that also takes more time.

There is a page link in the wiki that connect to the Synfig API Documentation. I think this link should be highlighted to be more accessible for newbies contributors and mature developers (the link was found here). --Genete 10:02, 11 December 2007 (EST)

Mathematical functions to animate

(2/4) If you want to make a waving flag, it would be handful a sine function, tuned with random correctors, for example.

-This should generate waypoints each 1, 2, 4 frames or any other step at artist's wish.
-When applying a function you can add it to current values, add it to 1st frame values or simply override old values. Perhaps other options (such multiplication) would be fine, too. Something like texture editor in Art of Illusion, perhaps.

Perhaps it would be useful reusing the Octave source code to parse mathematical expressions. I have rated this wish with a '2' because undoubtly many users will not be familiar to mathematical concepts, but for those who will be, I'd rate it with a 4. It would be possible to make a ball describing a parabolic moving in no time. ajotatxe 20 November 2007

dooglus can probably chime in better than I here (see his example of balls on mathematical paths at http://uk.youtube.com/watch?v=YTpSfUthuVE ), but I believe that this is already possible. Synfig does support a variety of mathematical transforms for parameters, although the way you do this is by no means intuitive. (You might also want to check out the preambletaffy.sifz example for an easier approach to a waving flag. I know you were just using that as an example, but for the record...) Pxegeek 00:58, 21 November 2007 (EST)
I'd also rate it with a (4) (and updated the rating accordingly), not for this special case, but to make many workarounds much easier. Simulating [Parabolic Shot|free fall], for example, would be a lot easier with real formulas. I don't know, though how easy it will be to implement, maybe waiting for a scripting interface to be implemented is better than hacking this feature in an ad-hoc manner. --Rubikcube 16:38, 29 February 2008 (EST)

Warning about editing bizarre things in animate editing mode

(3.5) It seems to have little sense animate certain things like Blend Method or Type of Feather. It would be very nice that the program asked comfirmation if you change these attributes in animate editing mode. If you do want to, you would have three options: "Yes, never ask", "Yes, never ask for this attribute", "No". I guess that internally, this attributes has integer type (or something like that) and the attributes that you normally want to animate, float type, so I think that this feature is relatively easy to implement. My English is not very good, so please feel free to fix this post. ajotatxe 20 November 2007


Bones with FK & IK + grouping of objects into folders

(5) Bones cane move specific vector assigned to them or the bones can have envelopes that move the vectors within their field of influence, much Like Anime Studio/Moho does. It's quite a time saving process of animating. Objects created can be saved into separate groups or folders using the same system as Anime Studio/Moho -Shadowphoenix 27/8/2007

Animated sketch

(5) it would be great, if the tool Sketch was animatable (for example, in a form of a special sketch-layer). --Zelgadis 2007-06-14

For now as a workaround we could use animation program called Pencil. See Related Projects page. --Zelgadis

Duck for Amount value in Zoom layer

(2) It would be nice if Amount value in Zoom layer was controlled by additional duck. --Zelgadis 02:49, 29 December 2007 (EST)

I found that I can better use Warp layer instead of Zoom to change size. But it'd be nice to have Amount duck for Zoom layer anyway...
The Amount parameter works exponentially; each time you add 1 to the Amount, the image is zoomed by a further factor of e (= 2.71828 or so). Would a duck be any use if it just controlled the value of Amount in a linear way?
Workarounds include: export Amount, select it in the children dialog. Whatever's selected in the children dialog shows a duck. You can adjust it using that duck.
Also, if you use a Stretch layer, convert the Amount to Composite, export the X-Axis and connect it to the Y-Axis, then you have a duck-controllable fixed-aspect zoom. -- dooglus 15:32, 15 January 2008 (EST)
Yeah I found this workaround, but it's to much actions - i prefer better use Warp or Stretch layers. Why not the link Amount duck and Amount value with logarithmic function? ;) --Zelgadis 10:33, 17 January 2008 (EST)
Logarithm convert type for real parameters exists since svn 2034. Genete 10:17, 30 August 2008 (EDT)

Automatic colour palette optimisation

(0) it would be nice to use libcontrast [1] [2] [3] [4] to automatically adjust selected or all the palette items for best visual contrast. It would also be interesting to have a layer that uses this code to filter the image.


Arbitrary Color Channels

— The ability for the user to create any number of custom channels for various purposes.

Autorecover History

— It would be great if autorecover could also recover the associated history of a file in the event of a crash.

Layer Convert

(4) (2) — The original intent of this feature request has been solved and documented - How do I....Fill an Outline? - but it would still be nice to have a way to convert one sort of path layer to another. (Downgraded to level 2) Snap 12:32, 17 Jan 2006 (PST)

Vector fill bucket

(3) — Like the traditional bitmap fill, but this fills the area clicked out to the nearest boundary paths with a region of that area, set to the foreground color (it actually would create a new region layer).

Alternatively, a single-duck layer object, that performs a simple bitmap fill from its (animatable) location, with its stored color value. (This second approach is similar to the behavior of one of Softimage's TOONZ[5]'s tools)

If this is implemented, it will probably be necessary to change the existing "fill" tool's name and icon to a "color injector" (hypodermic needle / turkey injector icon) tool, as that's closer to describing what it does.

  • Inkscape has a very innvative version of this tool. Maybe you can just grab the code from there and integrate it in synfig? --SvH 01:37, 14 May 2008 (EDT)

redraw tool

(4-5) — Intutive reshaping of path-based layers. See link.

Gnome HIG Compliance

— This should solve all complaints about the layout, without requiring Synfig to be "just like program (x)". See UI Reloaded for progress on this.

Feedback for Smooth Move Tool

(3) — This tool does what a lot of folks are looking for, warping selected ducks in a "soft" fashion. But it's not very obvious what sort of effect it will have, from the tool's interface. It needs some sort of momentary center-of-action and radius indicator at the very least. Perhaps an "influence gradient" overlaid on the canvas once Synfig's core is sped up?

Networkability

(2) — Like Inkscape's "inkboard" feature (using Jabber), or Blender's Verse server [6], or OpenCanvas's Networking option. This should probably farm off all the networking stuff to the telepathy framework so that synfig doesn't have to deal with all the account/etc issues.

Intuitive tangent modification

(3) — (BBQ Pulled Duck) Inkscape has this for still handles - basically, grab a section of the spline between handles, and pull it around, the program automatically alters the tangent handles to match. What would be really neat is if you could do the same for temporal handles - be able to grab the spline between keyframes, and yank it around, and have Synfig automatically adjust the key interpolation to match. Not sure exactly what the workflow in the UI would be for this, however.

-Agreed; blender does this with its IPO curves, and it's a really efficient way to work.

Plugin API

(1) — Would be nice to enable additional functionality to be added to the program without it necessarily needing to be in the Synfig source tree. According to the Synfig 0.61.01 roadmap on deepdarc.com, there is a plugin API already implemented. So instead, this may be a Wiki Wish for documentation, depending on how much has already been completed. Snap 19:57, 13 Jan 2006 (PST)

Python support

(1) of some sort will no doubt be demanded by the userbase eventually, for studio-specific automation of tasks, noncompiled plugins, etc. I (SnapSilverlight) don't have any particular use for it at the moment, tho'.

I suuose to join this request with Wish_list#a_realtime_.sif_synchronized_text_window. We can implement python access to XML DOM and write XML Editor in python. --AkhIL 06:54, 30 April 2008 (EDT)

mod_synfig

(1) — For Apache. Render .sif to some format like png/mng on access.

synfig nsplugin

(1) — Let Mozilla and Mozilla-based view synfig files in-browser.


Align function

(3) — Align objects at a common border (as in Inkscape)

Improved SVG import

(4) — Currently, all importing an SVG does is render it in ImageMagick. What I want is the ability to import the SVG document so that all the shapes, etc. of the SVG document show up as their equivilant synfig layers - i.e. if I had put them there myself. I'm trying to write a patch for this but the codebase is mostly undocumented. KMeist 16:38, 25 Feb 2006 (PST)

svg2synfig could be incorporated using an open source XSLT processor. --Dmd 13:34, 26 January 2008 (EST)

Gradient Paint Tool

How about a tool that can 'paint' a gradient object. For example the options would be width and gradient type, one would make a stroke with the tool and the gradient would be automatically applied inside of the outline (set by width). This would save the trouble of having to the all the encapsulation stuff. (Actually any tool that makes creating gradient one step would be good).--Triclops 09:52, 9 Aug 2006 (PDT)


Bone Animation Tools

Bone system with inverse kinematics, very important for quick animation. You put bones on a drawed man and you can animate him like a puppet. I'm using that in Moho (lost marble product).--ziolive 23 Aug 2006

  • I would find this very useful too. I think it is called rigging(4/5) --SvH 01:33, 14 May 2008 (EDT)

AVI Backgrounds

Is there any way I can add an avi as a background so I could add facial expressions to a stop-motion animated figure. [zotz here, I was thinking DV background or extra timeline. I would like to mix animations with live footage. rating (3/4)]

Character tool on Tool Options Dialog

I want to use the as a character generator for a TV show. By using chroma key hide the background. Even better interface to a video overlay card with Alpha blending.

Collect for Publication

(3/4) - (zotz) Menu item, functionality that would collect alll files referenced in a sif and place them all in a tgz for sending elsewhere or publishing anumations in source form.

Object Library

(3/4) - (zotz) Haven't thought this all through yet, but synfig could come with a library of categotrised "objects" with a copyleft license (GPL? CC BY-SA?) An animation clip art type deal.

    • I'd suggest this should be public domain and distributed by openclipart.org -- --pabs

Flash Export

(3/4) Well, might just be me but if there was a posiblity to export in .swf or .fla, I think the project might become a lot more popular.Conceit

(4/5) I wholeheartedly agree. I would definitely use synfig more if this feature were added and it would most definitely increase popularity. cdj05a

Single window

Depending on individual desktop setups, single window is sometimes preferable to many windows. Can we have a single-window option?

Also, even with many windows, Windows-users especially might find it better if all the windows only appeared as a single one on the taskbar.

Line width tool

(4) It will be good to have a tool for easy changing line width. There was a such tool in earlier versions, but it's not usable. I'm often use variable line width, when drawing in synfig, so it is important for me. -- Zelgadis 2007-09-09

It is still available. Also, you can turn on the width ducks, using Alt-5. -- dooglus 12:18, 9 October 2007 (EDT)
It is available, but I never was able to figure out how it works. Alt-5 works, but it is hard to set width to zero, for example. -- Zelgadis 2007-09-10
Are you wanting something that works on one vertex at a time? Or all the vertices in an area? Apparently the width tool was designed to work on a bunch of vertices at once. I didn't figure out how it works though, either. -- dooglus 16:57, 10 October 2007 (EDT)
Width tool is surely a mystery. :) I'm waiting for something that works on one vertex at time. I liked the way as width was changed in Moho (Anime Studio now) - there was a special width tool and holding left mouse button on the vertex and moving cursor left decreasing width value, moving right - increasing. Maybe it make sense to rework Width tool in such way. -- Zelgadis 2007-09-13
In my opinion the use of a seperate device like a joystick could help. You draw the line with the mouse and with the other hand, you push/pull the joystick to change the linewith in realtime. --SvH 05:25, 30 May 2008 (EDT)

Export Wizard

(2/4) Conversion and export to other file formats (mpg, avi, flash formats, others, and the synfig format) with a step by step wizard for choosing format and place of saving. Similar to Gimp's saving of .png files but for movie/video type files. -- hiddenghost

Using Synfig as a portable app

(3) This isn't really a feature request (though it could be) but I was wondering if synfig could be used as a portable application (as in www.portableapps.com). Does the windows install require registry access? i really want to use Synfig at work, but I'm reluctant to install it just in case it leave footprints in the regisitry or something, and it would be sweet to use it on my travels as well. Only thing is, I can't test it out at home because I am using Linux. See also: http://portableapps.com/node/5761 zenoscope

This isn't currently possible without modifying the source code. That has been on my TODO list for ages pabs 01:17, 26 October 2007 (EDT)


Allow organize child valuenodes in an hierarchy

(3-2) And allow maintain the organization once the file is saved. At the moment they are reordered in alphabetical order which is useless and annoying.

Triangle sliders to be always visible

(3) I would like that the triangle sliders from Colors Dialog and Gradient Editor Dialog were visible whatever color or channel you're editing. Some times when the color or channel is to bright or light the slider is difficult to distinguish. --Genete 14:30, 29 October 2007 (EDT)

XICC support

It would be cool if synfigstudio had support for XICC.


Area to Edit

An option like blender - select area to update would be nice, so the only part of the image that updates when you add or change something is in the selected area

ie. when working on a complex composition, studio doesn't know, when I tweak a tiny part of the composition, that only that part needs redrawing, so it redraws the whole thing. It would be good if there was some way of telling it which part to focus on. -- dooglus 04:02, 3 February 2008 (EST)

Histograms

01:23  * AkhIL wish to have histograms and luma/color scope like [7] in synfig

I've looked at those pictures but don't know what they're showing. Can you describe what those scopes are doing, and what the histograms display? ie. what are the X and Y axes of the histograms? -- dooglus 04:07, 3 February 2008 (EST)

First look this description in blender wiki [8]

Ok There is four things.

  • Upper left is Lumascope (Luma Waveform in blender). X-Axis represents image's X-Axys. Y-Axis is average luminescence of column of pixels.
  • Upper right is Chromascope (Chroma Vectorscope in blender). Just look description on blender wiki.
  • Lower left is like Lumascope but for each channel
  • Lower right is histograms. X is luminescence and Y is count of pixels with such luminiscence.

Sound Layer

(4) It would be a very good improvement if the sound system were implemented into synfig in this way. --Genete 07:46, 8 February 2008 (EST)

Rearrange the view of waypoints for Canvas param

As reported in Bug #1888858 waypoints are not displayed for canvas switch events. I suggest to rearrange waypoints display according to this scheme.


Width weigths

Is it possible to add "weigths" for widths? ^_^ I.e. width changes not all the way along the segment. Maybe something like a duck on bline which indicates the region where the width of current vertex isn't changed. Illustration here.

More ideas around this concept in this conversation. Although the log of that day is very interesting the lines related to this idea are from 22:38 to 23:43. Genete 17:51, 16 April 2008 (EDT)


Improved Colour Dialog

How easy is it to stick in a colour square/wheel? Messing with sliders is somewhat obstructive.

Insert Waypoints

A button to create a waypoint for every selected duck, in its current position. Moving each duck up a bit and down again quickly gets tedious.

If the duck in question has already a waypoint then you don't need to move it to create a new waypoint. Just select the corresponding parameter in your child list panel and select 'Add Waypoint' from the right click context menu over the parameter. No need to have the duck selected. If you want to freeze the entire bline just do that over the Bline Point List. Genete 07:48, 29 April 2008 (EDT)
Yes, but it would be nice to have opportunity to add waypoint to parameer which not have any ducks yet (i.e. non-animated parameter). --Zelgadis 08:33, 29 April 2008 (EDT)


Automatically split tangeants

Holding shift while moving tangeant ducks should automatically split them. They can be rejoined if necessary through the context menu as they are now.


A way to link params without exporting

I need a way to link params with different names without exporting. It is possible to achive by manualy editing of sif file. But inposible by gui. I will be nice to have linking by drag-n-drop. Or just by selecting reference param, pushing copy button, selecting another param and bushing link button. ---AkhIL 21:47, 30 May 2008 (EDT)

Allow select the origin of rotation when using the Rotate Tool

It can be initially set to the geometrical center of the selected ducks or the gravity center depending of the selected checkboxes in the tool options panel. Later the user could move it before perform the rotation operation. It is a waste of time to rotate and translate the ducks every time a rotation manipulation is done. ---Genete 12:16, 4 June 2008 (EDT)

I was adding this request at the same time than you Genete :-). Here is an example of how this issue is solved in Inkscape:
Rotate-tool-inkscape.png
---Yaco

Labels for rows in the Timetrack window [1]

The rows in the timetrack palette and the parameters palette are obviously related, doing a scroll in the Timetrack window with the mouse makes the parameters window scroll.

It's be nice to have the rows labeled with the corresponding label from the parameters palette, and to have the "list" parameter at the top of the time track window, with the possibility of dragging them around to move them up or down, personally I would prefer the "list" to be up the top so I can see the keyframes I'm making.

Stencil 3.jpg
Is this what you want? Just arrange the dock able dialogs as you need. Genete 10:03, 30 July 2008 (EDT)
Params-TimeTrack.png
---zenoscope