Difference between revisions of "Roadmap"
Line 20: | Line 20: | ||
** on-canvas editing | ** on-canvas editing | ||
* 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. | * 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. | ||
* Implement gradient UI "release" handler to deal with gradient garbage collection (see bug 984854) | * Implement [http://grin-optics.org gradient] UI "release" handler to deal with gradient garbage collection (see bug 984854) | ||
* improvement of svg patterns UI - make it similar to gradient-drag, instead of piggybacking knotholder | * improvement of svg patterns UI - make it similar to gradient-drag, instead of piggybacking knotholder | ||
Revision as of 18:17, 3 October 2006
Inkscape Development Roadmap
NOTE: This is a working document showing specific near-term tasks needed for achieving milestones. The number in front of the version is in reference to the milestone.
Milestones 0-9 have been completed since the start of the Inkscape Project. See OldRoadmap
Milestone 10 - RFE's & Extensions Implementation - Inkscape 0.44
New/Changed Dependencies
- (DONE) Add libcroco
Internals
- Implement extension API
- Implement extension registry
- Complete Extension preferences dialog
- (DONE) Reduce open/total RFE ratio to 55%
- masks/clippaths
- (DONE)Implement creation
- on-canvas editing
- 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.
- Implement gradient UI "release" handler to deal with gradient garbage collection (see bug 984854)
- improvement of svg patterns UI - make it similar to gradient-drag, instead of piggybacking knotholder
RFE's
- hyperlinking
- (DONE, in .43?) tools: add/remove points on path, bezier drag
Maintenance
- Learn and use autoscan and autoreconf to find out which configure tests are still needed.
- Clean up configure.in
- (PARTIALLY DONE) Directory Reorganization (rejon)
- When run without installing, make it look for icon image file(s) locally so we don't get garbage icons
Testing
- (DONE) Implement tests of Inkscape against the W3C test suite [rick beton, bryce]
- Include some rendering tests in `make check'.
Milestone 11 - Import/Export Feature Enhancements - Inkscape 0.45
- integrate Googles_Summer_Of_Code 2006 work, i.e. SVG Filters and formalising the protocol for inkboard communication
- Make printing work more efficiently and reliably
- Enhance file manager
- PDF Export
- Investigate ps2ai, pstoedit and ai2svg conversion options (potential EPS support?)
- Import of native Adobe Illustrator files
- Other RFE's related to Import/Export
- 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)
- WebDAV/FTP support via GNOME-VFS, Neon, or the like
Milestone 12 - Style Refactoring - Inkscape 0.46
- Eliminate use of the style.h types in as much of codebase as possible, particularly display/*.
- Change to use of GQuarks instead of #defines where feasible
- Editable toolbars (libegg)
Milestone 13 - Bug Hunt & RFE's - Inkscape 0.47
- Reduce open/total RFE ratio to 40%
- Reduce open/total bug ratio to 5%
Milestone 14 - Drawing Feature Enhancements - Inkscape 0.48
- Object-to-object snapping
- (DONE) Markers
- Enhanced grid system
- Inter-application cut-and-paste
- Inter-application drag-and-drop
- Clipart manager GUI
- Hyperlinking (Dupe? This is in milestone 10, too)
- (DONE) Load-from-URL
Milestone 15 - Style Rewrite & libcroco - Inkscape 0.49
- Replace style.cpp entirely, with a clearer and cleaner version.
- (DONE) Integrate use of libcroco for handling Cascading Style Sheets.
- Palettes
(suggestion: having custom palletes, like from Gnome ) (suggestion: accuraced palettes from colour norms, like Pantone, Trumatch, Focoltone, Toyo, etc. (since lots of people uses it, specially professionally) - problem: some are patented/copyrighted, which seems each norm company like this must be contacted for authorization (?) - as well, is also an open-source colour norm standard welcome? (which works on both video/printing outputs, like Pantone seems to be?) )
Milestone 16 - Cairoification - Inkscape 0.50
- Prereq: Is renderer immune to the same kinds of numerical problems we see with our new renderer, libnr, or libart?
- Create a Cairo-based SVG Canvas library
Milestone 17 - Animation Conceptualization - Inkscape 0.51
- Prereq: We need a conceptualization of how it should work
- Currently, part of the concept discussion is at here
Milestone 18 - Fonts Revisited - Inkscape 0.52
- Reenable fuzzy font matching [bb]
- (DONE) Bidirectional text in Pango needs attention
- (DONE) MakeVertical in Pango needs attention
Milestone 19 - Palettes - Inkscape 0.53
- Implement LittleCMS as color management system
- (DONE) Create a swatches dialog
Milestone 20 - Full Animation Support - Inkscape 0.54
Milestone 21 - RFE's - Inkscape 0.55
- Reduce open/total RFE ratio to 30%
Milestone [Future]
- Investigate performance measurement testing for Inkscape
- Convert all tabs into spaces (convert tabs to 4 spaces)
- Rename all 'SPFooBar' routines to 'FooBar' and put into namespaces
- (DONE) dialogs folder
- Investigate SVG docs where SVG is not the default namespace used at the root -- e.g. <svg:svg xmlns:svg="http://...etc"><svg:rect.../><blah></svg:svg> -- <blah> would end up getting shoehorned into the svg namespace
- Write an Internal DTD subset describing the custom Inkscape XML elements, for validation against SVG DTD
- Ensure Inkscape does not throw away the internal DTD subsets of documents it reads
- Start thinking about 1.0 when major functionality gaps are closed
- (BASICALLY DONE) layers
- (DONE) color palette
- (DONE) gradient tool
- mask tool
- (DONE) patterns
- (DONE) text on path and in shape
- (DONE) text selection
- perspective transforms
- SVG filters
- scripting
- path editing
- shaped strokes
- Implement preliminary support for iso & hex grid [njh]
- Implement perspective transformations via PerspectiveObject
- Improve freehand curve smoothness [pjrm, paraprax]
- Review X1-1GUITest on SF
- Review usability links at http://openusability.org/docman/?group_id=52
- Review usability links at http://openusability.org/docman/?group_id=57