1.0 milestones:
1. Fixed flowtext support (i.e. the text should show in browsers) 2. Default coordinate system must match the default SVG coordinate system
I think these were accepted by consensus as conditions for the 1.0 release some time ago, but I don't remember the discussion perfectly.
Some other ideas:
1. Better XML representation for path effects. Currently code-wise LPE support is a mess and this is in large part caused by piggybacking LPE data on normal objects instead of putting it into dedicated objects with svg:switch fallback. The whole design of storing all LPE parameters as attributes on a special node instead of as separate objects in defs is a nightmare to work with.
2. Object browser. Basically, something like the XML editor but for the SP tree.
3. True two-way reference tracking, so that it's possible to change the ID of an arbitrary object and have all references to it update automatically, as well as enumerate all objects that refer to a specific object. I have some ideas on how to do this if someone is interested.
4. Better integration of LPEs, which would to some extent depend on 1 and 3 (I don't want to deal with maintaining the resulting pile of spaghetti if we do this before 1). I imagine this would work like this: - user makes a clone - LPE is applied to the clone - this tells the LPE engine that it should actually make a reference to the clone's original - editing the original updates in realtime Similar things could happen for clipping paths and other objects. In general, I think the paradigm of using clones to represent references to objects is a good idea. Alternatively, things like boolean operations could always work as LPEs, and the Convert to Path operation would be for destructively applying edits.
5. Improvements to the selector tool: - a mode object positions are transformed, but the objects themselves are unaffected (only translated) - a mode that works as if each object was selected in turn and the same transform was applied to it
6. Support for point symmetry at the node editor level. Basically, you should be able to easily create a symmetric shape that does not have a node at the symmetry axis.
7. Change page size by dragging page borders or corners. (Needs some input on how this would be enabled / disabled, since I guess it would be annoying to have this always on in the selector or node editor. Might be a separate tool.)
8. Nicer support for space symmetry (tilings). They should be editable on the canvas instead of trial-and-error fiddling with numbers in the clone tiler dialog. Implementing 6 would fix some of the problem, but
9. Shape tool improvements: draggable rectangle sides, draggable circle radius / ellipse axes, etc.
10. More sophisticated gradient editor, allowing for things like non-linear gradients (emulated by gradients with many stops).
11. More useful right-click context menus that display only things relevant to the selected object instead of some generic operations.
12. Waf as build system on all platforms.
13. Python scripting. My impression is that this would have a better chance of producing something actually useful than D-Bus scripting due to the "worse is better" principle. Must go in tandem with some rather deep refactoring to avoid transferring the existing limitations of the internal API to the scripting language. https://en.wikipedia.org/wiki/Worse_is_better
14. Support for automatic pixel art tracing of images where each of the pixels is scaled up to a larger square. The tracer should not assume that the pixels of the image are exactly 1x1, and if possible should be tolerant of JPEG compression artifacts. I guess this can be done with a simple Fourier transform-based algorithm. Example: http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary/re...
Regards, Krzysztof