Difference between revisions of "Roadmap"
Jump to navigation
Jump to search
(Moving completed items to roadmap archive) |
|||
Line 4: | Line 4: | ||
''Milestones 0-9 have been completed since the start of the Inkscape Project. See [[OldRoadmap]]'' | ''Milestones 0-9 have been completed since the start of the Inkscape Project. See [[OldRoadmap]]'' | ||
=== Milestone 12 - Inkscape 0.46 === | === Milestone 12 - Inkscape 0.46 === | ||
Line 10: | Line 11: | ||
* Gtk 2.8 | * Gtk 2.8 | ||
Refactoring | Architectural Refactoring Effort: | ||
* Eliminate use of the style.h types in as much of codebase as possible, particularly display/*. | * 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. | * 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 [http://grin-optics.org 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) | ||
* | * Replace style.cpp entirely, with a clearer and cleaner version. | ||
Codebase Cleanup Effort: | |||
* Change to use of GQuarks instead of #defines where feasible | * 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. | * Learn and use autoscan and autoreconf to find out which configure tests are still needed. | ||
Line 31: | Line 34: | ||
* Implement extension registry | * Implement extension registry | ||
* Complete Extension preferences dialog | * Complete Extension preferences dialog | ||
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.) | |||
Desktop Integration Effort: | Desktop Integration Effort: | ||
* [[WebDAV/FTP]] support via GNOME-VFS, Neon, or the like | * [[WebDAV/FTP]] support via GNOME-VFS, Neon, or the like | ||
* Make printing work more efficiently and reliably | * Make printing work more efficiently and reliably | ||
* Inter-application cut-and-paste | |||
* Inter-application drag-and-drop | |||
* Clipart manager GUI | |||
Testing: | Testing: | ||
Line 40: | Line 54: | ||
* Get 'make check' to pass on Win32 and OSX | * Get 'make check' to pass on Win32 and OSX | ||
SVG Compliance | SVG Compliance: | ||
* Markers - | |||
* masks/clippaths | * masks/clippaths | ||
** on-canvas editing | ** on-canvas editing | ||
Line 50: | Line 65: | ||
* Gtk 2.10 | * Gtk 2.10 | ||
=== Milestone 14 - Inkscape 0.48 === | === Milestone 14 - Inkscape 0.48 === | ||
=== Milestone 15 - Inkscape 0.49 === | === Milestone 15 - Inkscape 0.49 === | ||
Line 91: | Line 91: | ||
* Implement [[LittleCMS]] as color management system | * Implement [[LittleCMS]] as color management system | ||
=== Milestone 20 - Inkscape 0.54 === | === Milestone 20 - Inkscape 0.54 === | ||
=== Milestone 21 - Inkscape 0.55 === | === Milestone 21 - Inkscape 0.55 === | ||
Revision as of 00:21, 23 January 2007
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 12 - Inkscape 0.46
New/Changed Dependencies:
- Gtk 2.8
Architectural Refactoring Effort:
- 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.
- Implement gradient UI "release" handler to deal with gradient garbage collection (see bug 984854)
- Replace style.cpp entirely, with a clearer and cleaner version.
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) Directory Reorganization (rejon)
File Format Support Effort:
- PDF Export
- Investigate ps2ai, pstoedit and ai2svg conversion options (potential EPS support?)
- Import of native Adobe Illustrator files
- 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)
Extensions Effort:
- Implement extension API
- Implement extension registry
- Complete Extension preferences dialog
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.)
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:
- Include some rendering tests in `make check'.
- Get 'make check' to pass on Win32 and OSX
SVG Compliance:
- Markers -
- masks/clippaths
- on-canvas editing
- hyperlinking
Milestone 13 - Inkscape 0.47
New/Changed Dependencies:
- Gtk 2.10
Milestone 14 - Inkscape 0.48
Milestone 15 - Inkscape 0.49
Milestone 16 - Inkscape 0.50
- 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
Milestone 17 - Inkscape 0.51
- Prereq: We need a conceptualization of how it should work
- Currently, part of the concept discussion is at here
Milestone 18 - Inkscape 0.52
- Reenable fuzzy font matching [bb]
Milestone 19 - Inkscape 0.53
- Implement LittleCMS as color management system
Milestone 20 - Inkscape 0.54
Milestone 21 - Inkscape 0.55
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
- (DONE) patterns
- (DONE) text on path and in shape
- (DONE) text selection
- (DONE) SVG filters
- mask tool
- perspective transforms
- scripting
- path editing
- shaped strokes
- Implement preliminary support for iso & hex grid
- 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
- Editable toolbars (libegg)