Roadmap

From Inkscape Wiki
Revision as of 00:12, 23 January 2007 by BryceHarrington (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

  • masks/clippaths
    • (DONE) Implement creation
  • (DONE) Load-from-URL

RFE's

  • (DONE) tools: add/remove points on path, bezier drag

Maintenance

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

Statistics

  • (DONE) Reduce open/total RFE ratio to 55%

Milestone 11 - Import/Export Feature Enhancements - Inkscape 0.45

New/Changed Dependencies

  • (DONE) Change to Gtk 2.6
  • (DONE) Drop libloudmouth


Milestone 12 - Inkscape 0.46

New/Changed Dependencies:

  • Gtk 2.8

Refactoring/Cleanup 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)
  • improvement of svg patterns UI - make it similar to gradient-drag, instead of piggybacking knotholder
  • 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:

Extensions Effort:

  • Implement extension API
  • Implement extension registry
  • Complete Extension preferences dialog

Desktop Integration Effort:

  • WebDAV/FTP support via GNOME-VFS, Neon, or the like
  • Make printing work more efficiently and reliably

Testing:

  • Include some rendering tests in `make check'.
  • Get 'make check' to pass on Win32 and OSX

SVG Compliance

Milestone 13 - Inkscape 0.47

New/Changed Dependencies:

  • Gtk 2.10
  • Reduce open/total RFE ratio to 40%
  • Reduce open/total bug ratio to 5%

Milestone 14 - Inkscape 0.48

  • Object-to-object snapping
  • Markers -
  • Enhanced grid system
  • Inter-application cut-and-paste
  • Inter-application drag-and-drop
  • Clipart manager GUI

Milestone 15 - 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 - 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
  • (DONE) Create a swatches dialog

Milestone 20 - Inkscape 0.54

Milestone 21 - 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)