Difference between revisions of "Roadmap"

From Inkscape Wiki
Jump to navigation Jump to search
Line 29: Line 29:
 
* 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.
 
* Clean up configure.in
 
* Clean up configure.in
* (PARTIALLY DONE) [http://inkscape.org/cgi-bin/wiki.pl?DirectoryReorgProposal Directory Reorganization] (rejon)
+
* (PARTIALLY DONE) [http://inkscape.org/cgi-bin/wiki.pl?DirectoryReorgProposal Directory Reorganization]
 
* Convert all tabs into spaces (convert tabs to 4 spaces)
 
* Convert all tabs into spaces (convert tabs to 4 spaces)
 
* Rename all '[[SPFooBar]]' routines to '[[FooBar]]' and put into namespaces
 
* Rename all '[[SPFooBar]]' routines to '[[FooBar]]' and put into namespaces
Line 35: Line 35:
  
 
File Format Support Effort:
 
File Format Support Effort:
* PDF Export
+
* PDF Import/Export
* Investigate ps2ai, pstoedit and ai2svg conversion options (potential EPS support?)
+
** Identify remaining problems with the Cairo-based PDF tool
* Import of native Adobe Illustrator files
+
* Native Adobe Illustrator file Import/Export
 +
** Requires good PDF Import/Export
 
* Visio support
 
* Visio support
 
** Add extension for use of [[VDX2SVG]] (http://vdxtosvg.sourceforge.net/)
 
** Add extension for use of [[VDX2SVG]] (http://vdxtosvg.sourceforge.net/)

Revision as of 00:58, 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 all use of sp_repr_new in favor of XML::Document::* classes (see [1]
  • Migrate SPObject to native C++ classes
  • Implement 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) 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:

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 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


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

Milestone 17 - Inkscape 0.51

Milestone 18 - Inkscape 0.52

Milestone 19 - Inkscape 0.53

Milestone 20 - Inkscape 0.54

Milestone 21 - Inkscape 0.55

Milestone [Future]