Difference between revisions of "Roadmap"

From Inkscape Wiki
Jump to navigation Jump to search
Line 25: Line 25:
 
RFE's
 
RFE's
 
* [http://sourceforge.net/tracker/index.php?func=detail&aid=893812&group_id=93438&atid=604309 hyperlinking]
 
* [http://sourceforge.net/tracker/index.php?func=detail&aid=893812&group_id=93438&atid=604309 hyperlinking]
*(DONE, in .43?) tools: add/remove points on path, bezier drag
+
*(DONE) tools: add/remove points on path, bezier drag
  
 
Maintenance
 
Maintenance
Line 39: Line 39:
 
=== Milestone 11 - Import/Export Feature Enhancements - Inkscape 0.45 ===
 
=== Milestone 11 - Import/Export Feature Enhancements - Inkscape 0.45 ===
  
* integrate [[Googles_Summer_Of_Code]] 2006 work, i.e. [[Filter_Effects|SVG Filters]] and [[User:Daleharvey|formalising the protocol for inkboard communication]]
+
* (DONE) Bidirectional text in Pango needs attention
 +
* (DONE) [[MakeVertical]] in Pango needs attention
 +
* (DONE) integrate [[Googles_Summer_Of_Code]] 2006 work, i.e. [[Filter_Effects|SVG Filters]] and [[User:Daleharvey|formalising the protocol for inkboard communication]]
 
* Make printing work more efficiently and reliably
 
* Make printing work more efficiently and reliably
* Enhance file manager
 
 
* PDF Export
 
* PDF Export
 
* Investigate ps2ai, pstoedit and ai2svg conversion options (potential EPS support?)
 
* Investigate ps2ai, pstoedit and ai2svg conversion options (potential EPS support?)
Line 54: Line 55:
 
* 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/*.
 
* Change to use of GQuarks instead of #defines where feasible
 
* Change to use of GQuarks instead of #defines where feasible
* Editable toolbars (libegg)
 
  
 
=== Milestone 13 - Bug Hunt & RFE's - Inkscape 0.47 ===
 
=== Milestone 13 - Bug Hunt & RFE's - Inkscape 0.47 ===
Line 69: Line 69:
 
* Inter-application drag-and-drop
 
* Inter-application drag-and-drop
 
* Clipart manager GUI
 
* Clipart manager GUI
* Hyperlinking (Dupe? This is in milestone 10, too)
 
 
* (DONE) Load-from-URL
 
* (DONE) Load-from-URL
  
Line 78: Line 77:
  
 
* Palettes
 
* Palettes
 
+
** Custom palettes like from Gnome
(suggestion: having custom palletes, like from Gnome )
+
** Ability to load 3rd-party palettes (e.g. Pantone, Trumatch, Focoltone, Toyo, etc.)
(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?) )
 
  
  
Line 86: Line 84:
  
 
* Prereq: Is renderer immune to the same kinds of numerical problems we see with our new renderer, libnr, or libart?
 
* 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
+
* Will the new renderer improve performance for most users?
 +
* Integrate a Cairo-based SVG Canvas library
  
 
=== Milestone 17 - Animation Conceptualization - Inkscape 0.51 ===
 
=== Milestone 17 - Animation Conceptualization - Inkscape 0.51 ===
Line 97: Line 96:
  
 
* Reenable fuzzy font matching [bb]
 
* Reenable fuzzy font matching [bb]
* (DONE) Bidirectional text in Pango needs attention
 
* (DONE) [[MakeVertical]] in Pango needs attention
 
  
 
=== Milestone 19 - Palettes - Inkscape 0.53 ===
 
=== Milestone 19 - Palettes - Inkscape 0.53 ===
Line 124: Line 121:
 
** (DONE) color palette
 
** (DONE) color palette
 
** (DONE) gradient tool
 
** (DONE) gradient tool
** mask tool
 
 
** (DONE) patterns
 
** (DONE) patterns
 
** (DONE) text on path and in shape
 
** (DONE) text on path and in shape
 
** (DONE) text selection
 
** (DONE) text selection
 +
** (DONE) SVG filters
 +
** mask tool
 
** perspective transforms
 
** perspective transforms
** SVG filters
 
 
** scripting
 
** scripting
 
** path editing
 
** path editing
 
** shaped strokes
 
** shaped strokes
* Implement preliminary support for iso & hex grid [njh]
+
* Implement preliminary support for iso & hex grid
 
* Implement perspective transformations via [[PerspectiveObject]]
 
* Implement perspective transformations via [[PerspectiveObject]]
 
* Improve freehand curve smoothness [pjrm, paraprax]
 
* Improve freehand curve smoothness [pjrm, paraprax]
Line 139: Line 136:
 
* Review usability links at http://openusability.org/docman/?group_id=52
 
* Review usability links at http://openusability.org/docman/?group_id=52
 
* Review usability links at http://openusability.org/docman/?group_id=57
 
* Review usability links at http://openusability.org/docman/?group_id=57
 +
* Editable toolbars (libegg)
  
 
[[Category:Developer Documentation]]
 
[[Category:Developer Documentation]]

Revision as of 22:34, 22 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 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) 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

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

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
  • (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
    • Custom palettes like from Gnome
    • Ability to load 3rd-party palettes (e.g. Pantone, Trumatch, Focoltone, Toyo, etc.)


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?
  • Will the new renderer improve performance for most users?
  • Integrate 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]

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
    • (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)