It's been a while since the roadmap got a good review, and it's grown a bit out of date and massively needs re-prioritization. Fortunately, so much progress has been made since the last time we did a major update, that huge chunks of it can be crossed off. :-)
I've cleaned off all the finished tasks, and categorized all the remaining items. Can you review and let me know if there is anything missing?
New/Changed Dependencies: * Gtk 2.8
Architectural Refactoring Effort: * Eliminate all use of sp_repr_new in favor of XML::Document::* classes * Migrate SPObject to native C++ classes * Implement [http://grin-optics.org gradient] UI "release" handler to deal with gradient garbage collection (see bug 984854)
* 2geom Integration * Eliminate use of the style.h types in as much of codebase as possible, particularly display/*. * Create an SPObject API for tracking references and avoiding id clashes on import and interdocument copy/paste. What we need are a void SPDocument::importCopies([set of SPObjects]), and an [set of SPObjects] SPObject::dependencies() method. * Replace style.cpp entirely, with a clearer and cleaner version. * Cairo Adoption Effort: ** Prereq: Is renderer immune to the same kinds of numerical problems we see with our new renderer, libnr, or libart? ** Will the new renderer improve performance for most users? ** Integrate a Cairo-based SVG Canvas library
Codebase Cleanup Effort: * Change to use of GQuarks instead of #defines where feasible * Learn and use autoscan and autoreconf to find out which configure tests are still needed. * Clean up configure.in * (PARTIALLY DONE) [http://inkscape.org/cgi-bin/wiki.pl?DirectoryReorgProposal Directory Reorganization] * Convert all tabs into spaces (convert tabs to 4 spaces) * Rename all '[[SPFooBar]]' routines to '[[FooBar]]' and put into namespaces ** (DONE) dialogs folder
File Format Support Effort: * PDF Import/Export ** Identify remaining problems with the Cairo-based PDF tool * Native Adobe Illustrator file Import/Export ** Requires good PDF Import/Export * Visio support ** Add extension for use of [[VDX2SVG]] (http://vdxtosvg.sourceforge.net/) ** Add extension for use of [[PDF2SVG]] (http://www.solidcode.net/pdf2svg/ - this doesn't actually link to a useful page) * DXF import/export * gdkpixbuf(?) - would give JPEG support
Extensions Effort: * Implement extension API * Implement extension registry * Complete Extension preferences dialog * Dia-like smart shapes support
User Interface Effort: * Object-to-object snapping * Enhanced grid system * improvement of svg patterns UI - make it similar to gradient-drag, instead of piggybacking knotholder * Palettes ** Custom palettes like from Gnome ** Ability to load 3rd-party palettes (e.g. Pantone, Trumatch, Focoltone, Toyo, etc.) * Implement [[LittleCMS]] as color management system * Implement iso & hex grid * Editable toolbars (libegg) * Reenable fuzzy font matching [bb] * Improve freehand curve smoothness [pjrm, paraprax] * Geometrical constraints ** "Perpendicular-to", "Parallel-to", etc. * Path trimming/extending/offset * Filleting tool
Desktop Integration Effort: * [[WebDAV/FTP]] support via GNOME-VFS, Neon, or the like * Make printing work more efficiently and reliably * Inter-application cut-and-paste * Inter-application drag-and-drop * Clipart manager GUI
Testing Effort: * Include some rendering tests in `make check'. * Get 'make check' to pass on Win32 and OSX * Investigate performance measurement testing for Inkscape
Animation Effort * Prereq: We need a conceptualization of how it should work * Currently, part of the concept discussion is at [[Animation-(Timeline)|here]]
SVG Feature Compliance Effort: * Implement perspective transformations via [[PerspectiveObject]] * Scripting * Path editing * Shaped strokes * Markers ** Inherit stroke properties like color ** On-canvas editing ** Fix snapping issue * Masking/clippaths ** on-canvas editing ** Should work like gradient tool to apply transparency * hyperlinking * Ensure Inkscape does not throw away the internal DTD subsets of documents it reads