Difference between revisions of "SpecSVGAnimation"

From Inkscape Wiki
Jump to navigation Jump to search
Line 14: Line 14:


=== User Interface ===
=== User Interface ===
There are three possible approaches to crafting an interface for animation. It would be best if all three were developed to some extent.
* At the lowest level, animation elements can already be added using the XML editor, but the process is awkward, and there is no visible indication of the animation elements. Some scripting interface support is required, though, because one of the most important ways to control animations is via ECMA script embedded in the SVG file.
* At the next layer, we'll have to provide graphical widgets in the form of a side panel/tool bar for all of the animation options. This will take some time, but it isn't a particularly difficult task, since much of the code can be modeled on existing interface panels. At the same time, someone needs to develop some visual cues that will appear in the editor window that will indicate that animations are present.
* Finally, the most professional interface would abstract away as much of the SVG specific parts of the problem as possible and provide an interface that conforms to the more popular Flash animation packages. This will make it a lot easier for current Flash artists to move to SVG.


== Deliverables ==
== Deliverables ==

Revision as of 13:54, 1 February 2009

specification for an initial implementation of SVG animation features.

launchpad blueprint

inkscape-devel discussion

Summary

Rationale

Design

Document Handling

User Interface

There are three possible approaches to crafting an interface for animation. It would be best if all three were developed to some extent.

  • At the lowest level, animation elements can already be added using the XML editor, but the process is awkward, and there is no visible indication of the animation elements. Some scripting interface support is required, though, because one of the most important ways to control animations is via ECMA script embedded in the SVG file.
  • At the next layer, we'll have to provide graphical widgets in the form of a side panel/tool bar for all of the animation options. This will take some time, but it isn't a particularly difficult task, since much of the code can be modeled on existing interface panels. At the same time, someone needs to develop some visual cues that will appear in the editor window that will indicate that animations are present.
  • Finally, the most professional interface would abstract away as much of the SVG specific parts of the problem as possible and provide an interface that conforms to the more popular Flash animation packages. This will make it a lot easier for current Flash artists to move to SVG.

Deliverables

Discussion

  • Is the Inkscape canvas fast enough for fast animation ?
  • A complex UI like the timeline widget could benefit from a canvas API (e.g. goocanvas). But hey Inkscape already sports a canvas ! So does the Inkscape canvas could also be used for a custom GtkWidget ?
  • Keep in mind the coming refactoring effort