From Inkscape Wiki
Jump to navigation Jump to search

Pure SVG

PureSVG - is a bit of a misnomer, but the idea is to either change the way that Inkscape saves SVG data or provide a save option that saves in a SVG format that is easier to use for humans and other programs.

While the format Inkscape uses right now is great for static displays, it isn't so great if the file is going to be edited by a person who is adding animation or just tweaking things.

SVG provides several ways to do animation:

  • One is declarative. You simply set up a series of transforms that will be performed on the various elements of the document at specified times. It's kind of static, but perfectly adequate for many applications that currently require Flash.
  • Another choice is to animate the document using ECMAScript, also called JavaScript. (It would be very nice if Inkscape provided support for building scripts to animate the drawings. That is probably under development in the SMIL Animation area.)
  • You can also use bridge routines from any language to interact with the Animation API that is provided.

There are several things that Inkscape does that make it a bit harder to work with Inkscape files:

  • Records all shapes as paths - high level information is lost. While using paths is very efficient space-wise, it's no longer obvious that a particular path is a circle or ellipse.
  • Provides no way to change the coordinate space. Changing the coordinate space

is actually quite easy, but there needs to be a user interface element to do it.

  • Puts many parameters into Style statements. (e.g.: style="color:red;font:times new roman ...") Most of these parameters should be actual SVGParameters. This might not seem important, when you are creating a single document, but SVG allows for reuse of elements, and provides a hierarchy for formatting elements. The Style elements are at the top. If Inkscape use actual parameters instead, it would provide more flexibility for document authors.
  • There is limited support for the <use .../> statement, which allows an author to reuse elements in the document and even pull in elements from other external documents. It appears to me, that the use element might be utilized in a number of ways to reduce the saved file size.
      • COMMENT: clones in inkscape are the way inkscape creates <use .../> elements, although Inkscape cannot currently handle external refrances 16:58, 26 November 2008 (UTC)
  • Inkscape needs to provide a much better user interface for editing SVG in it's source form. There are lots of examples of excellent SVG editors out there like XMLSpy by Altova.

I'm still learning about SVG, so I'm sure there are things that I'm missing. I'm also aware that some of these suggestions may be very costly int terms of development resources.