Difference between revisions of "Roadmap"

From Inkscape Wiki
Jump to navigation Jump to search
(updates)
(Mostly formatting and markup edits (“minor” in that the edits are not content-related…or not minor if you count their quantity). Also fixed a couple minor spelling errors.)
(28 intermediate revisions by 9 users not shown)
Line 1: Line 1:
== Inkscape Development Roadmap ==  
== Inkscape Development Roadmap ==  


NOTE: This is a working document showing specific near-term tasks needed for achieving the numbered milestones.
'''NOTE:''' This is a working document showing specific near-term tasks needed for achieving the numbered milestones.


''Milestones 0-11 have been completed since the start of the Inkscape Project. See [[OldRoadmap]]''
''Milestones 0-12 have been completed since the start of the Inkscape Project. See [[OldRoadmap]]''


=== Milestone 12 - Inkscape 0.46 ===
=== Milestone 13 - Inkscape 0.47 - Refactoring / Cleanup ===


New/Changed Dependencies:
==== New/Changed Dependencies ====
* (DONE) Gtk 2.8 (required)
* GTK 2.12 (required)
* 2geom (optional)
**<i>2geom is a hard dependency now due to LPE. 2geom source has been copied to the inkscape tree, so that inkscape can make full profit from the latest and greatest 2geom (instead of depending on an earlier official 2geom release) [johan]</i>)


Architectural Refactoring Effort:
==== Architectural Refactoring Effort ====
* Eliminate all use of sp_repr_new in favor of XML::Document::* classes (see [http://article.gmane.org/gmane.comp.graphics.inkscape.devel/19068])
* [[Lib2geom]] Integration
* Migrate SPObject to native C++ classes
** Eliminate code in favor of <code>2geom</code> where feasible
* Implement [http://grin-optics.org gradient] UI "release" handler to deal with gradient garbage collection (see bug 984854)
* Convert remaining GTK dialog code to GTKmm
* 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.
* Eliminate all use of <code>sp_repr_new</code> in favor of <code>XML::Document::*</code> classes (see [http://article.gmane.org/gmane.comp.graphics.inkscape.devel/19068])
* Prepatory work to integrate lib2geom next release
* Subsystem Rearchitecture
** what exactly is meant by this? is this already done with LPE?
** Migrate <code>SPObject</code> to native C++ classes
** Rename all '[[SPFooBar]]' routines to '[[FooBar]]' and put into namespaces
* Implement [http://grin-optics.org gradient] UI “release” handler to deal with gradient garbage collection (see bug 984854)
** '''Note:''' ''I can't find this bug on Inkscape.  Could someone locate and link it?'' <br>--[[User:Zearin|Zearin]] 18:48, 5 November 2009 (UTC)
* Create an API for tracking references and avoiding id clashes on import and interdocument copy/paste. The optimal place to put it would probably be somewhere at the XML level
* Streamline style
** Eliminate use of the <tt>style.h</tt> types in as much of codebase as possible, particularly display
** Externally, it should present a simple set of accessor methods for getting/setting properties by name, and propagating to/from <tt>repr</tt>
** Inside, it should have:
*** a concise list of property names with the expected domain of values in CSS and the associated Inkscape data type
*** a concise list of property aliases which represent one or more properties combined, each with the rule used to combine
*** definitions of the aforementioned rules and value domains
*** some generic code (not tied to any one property) implementing the needed behavior


Codebase Cleanup Effort:
==== Codebase Cleanup Effort ====
* Change to use of GQuarks instead of #defines where feasible
* Change to use of [http://library.gnome.org/devel/glib/stable/glib-Quarks.html GQuarks] instead of <code>#defines</code> where feasible
** Where can information be found on this? (I have no clue what GQuarks are for example)
* Use <code>autoscan</code> and <code>autoreconf</code> to find out which configure tests are still needed
* Learn and use autoscan and autoreconf to find out which configure tests are still needed.
** Trim down the amount of stuff in our <tt>configure.ac</tt>
* Clean up configure.in
* <ins>(PARTIALLY DONE)</ins> [[DirectoryReorgProposal]]
* (PARTIALLY DONE) [[DirectoryReorgProposal]]
* Convert all tabs into spaces (convert tabs to 4 spaces)
* Convert all tabs into spaces (convert tabs to 4 spaces)
** Also see http://sourceforge.net/mailarchive/message.php?msg_id=7164324
** Also see http://sourceforge.net/mailarchive/message.php?msg_id=7164324
* Remove trailing whitespace
* [[http://wiki.inkscape.org/wiki/index.php/InkscapeJanitors#Cleanup:_Whitespace Remove trailing whitespace]]
** See http://wiki.inkscape.org/wiki/index.php/InkscapeJanitors#Cleanup:_Whitespace
* Replace use of C macros (e.g. <code>SP_IS_PATH</code>) with C++ instance methods, static class methods, etc.
* Rename all '[[SPFooBar]]' routines to '[[FooBar]]' and put into namespaces
* Use [http://pmd.sourceforge.net/cpd.html Copy/Paste Detector] to find and refactor duplicated code
** (DONE) dialogs folder
* (DONE) Convert use of gboolean to bool where feasible
**(Bulia: "This was attempted and (partially?) rolled back, because it broke GTK calls which require gbooleans.")
* (DONE) Switch from use of TRUE/FALSE to true/false
**(Bulia: "This was attempted and (partially?) rolled back, because it broke GTK calls which require gbooleans.")


==== User Documentation Effort ====
* Rearrange tutorials into sub-categories
* <ins>(PARTIALLY DONE)</ins> Switch to use of <code>xml2po</code> for tutorial files ([[User:Colin Marquardt|Colin Marquardt]])
* Document filters


File Format Support Effort:
==== Inkscape SVG Effort ====
* PDF Import/Export
* Revisit coordination system (move away from Cartesian)
** (HELP NEEDED) Identify remaining problems with the cairo-based PDF tool check [[FileTypes]]
 
** Ensure clippaths, transparency, bitmaps, etc. all work
==== User Interface Effort ====
* Improvement of SVG patterns UI—make it similar to gradient-drag, instead of piggybacking knotholder
* Palettes
** Custom palettes like from Gnome
** Ability to load 3<sup>rd</sup>-party palettes (e.g. Pantone, Trumatch, Focoltone, Toyo, etc.)
* Reenable fuzzy font matching [<tt>bulia</tt>]
* Improve freehand curve smoothness [<tt>pjrm</tt>, <tt>paraprax</tt>]


Inkboard Effort
==== Testing Effort ====
* Stabilize the code by closing crash bugs in the bug tracker
* Include some rendering tests in <tt>`make check'</tt>.
* Get <tt>`make check'</tt> to pass on Win32 and OSX (with the current <code>btool</code>, does this mean a <tt>`btool check'</tt> should pass?)
* Investigate performance measurement testing for Inkscape


SVG Feature Compliance Effort:
==== Animation Effort ====
* Animation
* Create a written conceptualization of how it should work
** Sketch out UI mockup ideas for animation rendering/animation
** Currently, part of the concept discussion is at [[Animation-(Timeline)|here]]
** Make an ultra-preliminary proof of concept of at least one animation feature


Extension Effort:
==== User Documentation Effort ====
* Unification of the way to display help on extensions
* More tutorials
* Localizable help of bundled extensions
** Node editing
* Effect extensions browser
** Advanced text effects
** Grid snapping
** Connectors
** Creating photo-realistic art


User Documentation Effort:
==== Performance effort ====
* Re-arrange tutorial categories [ScislaC]
*Support Hardware acceleration
* (PARTIALLY DONE) Switch to use of xml2po for tutorial files ([[User:Colin Marquardt|Colin Marquardt]])
**Take advantage of OpenGL 2.1 or dx9 to enhance editing and display performance.
* Document filters
***('''Note:''' OpenVG would be better suited for Inkscape's needs but I'm not sure about its status. --[[User:Tweenk|Tweenk]] 00:53, 26 July 2009 (UTC))
*Multi-Processor
**Boost performance on multi-core processor.


=== Milestone 13 - Inkscape 0.47 ===
==== GUI effort ====
*Layer panel
**Add object selection in layer (similar to Adobe Illustrator).
*Tab document
**Open and create new document(s) in the same window.
*Menu icons
**Compact icons
**Grayed icons
***Tool icons turn into color when hovering or selected (similar to Adobe Illustrator).
*Multi-page
**Multi-page tool (similar to Artboard tool on Adobe Illustrator CS4).


New/Changed Dependencies:
=== Milestone 14 - Inkscape 0.48 - Animation ===
* Gtk 2.10 (required)
* 2geom (required)


File Format Support Effort:
==== File Format Support Effort ====
* PDF Import/Export
* PDF Import/Export
** Choice of PDF spec. (PDF/X-1a, PDF/X-3)
** Choice of PDF spec. (PDF/X-1a, PDF/X-3)
Line 74: Line 102:
* [[MicrosoftVisio|Visio]] support
* [[MicrosoftVisio|Visio]] support
** Add extension for use of [[VDX2SVG]] (http://vdxtosvg.sourceforge.net/)
** Add extension for use of [[VDX2SVG]] (http://vdxtosvg.sourceforge.net/)
** (OBSOLETE) Add extension for use of [[PDF2SVG]] (http://www.solidcode.net/pdf2svg/ - this doesn't actually link to a useful page)
** <ins>(OBSOLETE)</ins> <del>Add extension for use of [[PDF2SVG]]</del> (http://cgit.freedesktop.org/~cworth/svg2pdf/)
 
Tools:
* [http://sourceforge.net/tracker/?group_id=93438&atid=604306&func=detail&aid=904962 correct handling of multiple font faces] by Text tool
* [http://article.gmane.org/gmane.comp.graphics.inkscape.devel/16938/ Filters tool]


Architectural Refactoring Effort:
==== DOM Binding Effort ====
* 2geom Integration
** Eliminate code in favor of 2geom where feasible
* Convert remaining GTK dialog code to Gtkmm
 
Inkscape SVG Effort
* Revisit coordination system (move away from Cartesian)
 
DOM Binding Effort:
* Evaluate Adobe Activescript to use instead of Spidermonkey for our JS engine
* Evaluate Adobe Activescript to use instead of Spidermonkey for our JS engine
* Create sample prototype app to explore ActiveScript
* Create sample prototype app to explore ActiveScript
* Decide whether to go with Spidermonkey or Adobe ActiveScript
* Decide whether to go with Spidermonkey or Adobe ActiveScript


User Interface Effort:
==== Tools ====
* improvement of svg patterns UI - make it similar to gradient-drag, instead of piggybacking knotholder
* [https://bugs.launchpad.net/inkscape/+bug/sf904962 correct handling of multiple font faces] by Text tool
* Palettes
* [http://article.gmane.org/gmane.comp.graphics.inkscape.devel/16938/ Filters tool]
** Custom palettes like from Gnome
* Get basic rendering and authoring of simple animations working adequately
** Ability to load 3rd-party palettes (e.g. Pantone, Trumatch, Focoltone, Toyo, etc.)
* Reenable fuzzy font matching [bb]
* Improve freehand curve smoothness [pjrm, paraprax]


Desktop Integration Effort:
==== Desktop Integration Effort ====
* (DONE) Replace existing printer dialog with one from gtk 2.10
* <ins>[PARTIALLY DONE]</ins> Inter-application cut-and-paste
* Inter-application cut-and-paste
* Inter-application drag-and-drop
* Inter-application drag-and-drop


Testing Effort:
==== Architectural Refactoring Effort ====
* Include some rendering tests in `make check'.
* Complete <code>lib2geom</code> integration
* Get 'make check' to pass on Win32 and OSX (with the current btool, does this mean a 'btool check' should pass?)
 
* Investigate performance measurement testing for Inkscape
==== DOM Binding Effort ====
* Create tool that reads the W3C <tt>idl</tt> files and generates binding code
* Bind XPath parsing/execution
* Finish the <code>CSS-DOM</code> classes
* Add a <tt>run</tt> mode in a separate window that runs and displays the scripted SVG


Animation Effort
==== Desktop Integration Effort ====
* Create a written conceptualization of how it should work
* [[WebDAV/FTP]] support via GVFS, KIO, Neon, or the like
** Currently, part of the concept discussion is at [[Animation-(Timeline)|here]]
* Finish making printing work more efficiently and reliably
* Clipart manager GUI


Inkboard Effort
==== Inkboard Effort ====
* Ensure multi-user conferences work across most JEP-compliant Jabber servers
* Ensure multi-user conferences work across most JEP-compliant Jabber servers
* Conduct an informal security analysis of Inkboard for security flaws
* Conduct an informal security analysis of Inkboard for security flaws


User Documentation Effort:
==== File Format Support Effort ====
* Solicit more tutorial contributions from userbase
** Node editing
** Advanced text effects
** Grid snapping
** Connectors
** Creating photo-realistic art
 
=== Milestone 14 - Inkscape 0.48 - Animation ===
 
* Get basic rendering and authoring of simple animations working adequately
 
Architectural Refactoring Effort:
* Complete lib2geom integration
* Streamline style.*
** Eliminate use of the style.h types in as much of codebase as possible, particularly display/*.
** Externally, it should present a simple sset of accessor methods for getting/setting properties by name, and propagating to/from repr.
** Inside, it should have:
*** a concise list of property names with the expected domain of values in CSS and the associated Inkscape data type
*** a concise list of property aliases which represent one or more properties combined, each with the rule used to combine
*** definitions of the aforementioned rules and value domains
*** some generic code (not tied to any one property) implementing the needed behavior
 
DOM Binding Effort:
* Create tool that reads the w3c idl files and generates binding code
* Bind xpath parsing/execution
* Finish the CSS-DOM classes
* Add a 'run' mode in a separate window that runs and displays the scripted SVG
 
Desktop Integration Effort:
* [[WebDAV/FTP]] support via GNOME-VFS, Neon, or the like
* Finish making printing work more efficiently and reliably
* Clipart manager GUI
 
File Format Support Effort:
* PDF Import/Export
* PDF Import/Export
** Generate multipage PDF documents
** Generate multipage PDF documents
** Define bleed and slug areas for offset printing
** Define bleed and slug areas for offset printing
** Add crop, bleed and registration marks
** Add crop, bleed and registration marks
==== Inkboard Effort ====
* Stabilize the code by closing crash bugs in the bug tracker
==== SVG Feature Compliance Effort ====
* Animation
** Sketch out UI mockup ideas for animation rendering/animation
** Make an ultra-preliminary proof of concept of at least one animation feature
==== Extension Effort ====
* Unification of the way to display help on extensions
* Localizable help of bundled extensions
* Effect extensions browser


=== Milestone 15 - Inkscape 0.49 - Prototype all SVG Mobile features ===
=== Milestone 15 - Inkscape 0.49 - Prototype all SVG Mobile features ===


SVG Feature Compliance Effort:
==== SVG Feature Compliance Effort ====
* Ability to select which SVG spec version to save as
* Ability to select which SVG spec version to save as
* Multi-page
* Multi-page
Line 168: Line 164:
* Path editing
* Path editing
* Shaped strokes
* Shaped strokes
* Masking/clippaths
* Masking/clip paths
** on-canvas editing (patch for 0.47 is ready)
** on-canvas editing (patch for 0.47 is ready)
** Should work like gradient tool to apply transparency
** Should work like gradient tool to apply transparency
* [http://sourceforge.net/tracker/index.php?func=detail&aid=893812&group_id=93438&atid=604309 hyperlinking]
* [https://bugs.launchpad.net/inkscape/+bug/sf893812 hyperlinking]
* Ensure Inkscape does not throw away the internal DTD subsets of documents it reads
* Ensure Inkscape does not throw away the internal DTD subsets of documents it reads


=== Milestone 16 - Inkscape 0.50 - SVG Mobile Support ===
=== Milestone 16 - Inkscape 0.50 - SVG Mobile Support ===


SVG Feature Compliance Effort:
==== SVG Feature Compliance Effort: (Also see [[SVG Tiny Compliance]]) ====
* Multi-page
* Multi-page
* Scripting
* Scripting
* Markers
* Markers
** Inherit stroke properties like color
** Inherit stroke properties (like color)
** On-canvas editing
** On-canvas editing
** Fix snapping issue
** Fix snapping issue
Line 187: Line 183:
=== Milestone 17 - Inkscape 0.51 ===
=== Milestone 17 - Inkscape 0.51 ===


Architectural Refactoring Effort:
==== Architectural Refactoring Effort ====
* cairo Adoption Effort:
* <tt>cairo</tt> 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
** Integrate a cairo-based SVG Canvas library
* follow the [http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html Freedesktop Icon Naming Spec] for easier themeing
* follow the [http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html Freedesktop Icon Naming Spec] for easier themeing


File Format Support Effort:
==== File Format Support Effort ====
* Native [[Adobe Illustrator]] file Import (DONE)/Export
* Native [[Adobe Illustrator]] file Export / <del>Import</del> <ins>(DONE)</ins>
** Requires good PDF Import/Export
** <ins>(DONE)</ins> <del>Requires good PDF Import/Export</del>
* Native [[CorelDraw]] file Import/Export (DONE as extension)
* Native [[CorelDraw]] file Import/Export (currently uses UniConvertor)
* DXF import/export
* DXF import/export
* gdkpixbuf(?) - would give JPEG support
* Improved raster support via <code>Gdk::Pixbuf</code>


=== Milestone 18 - Inkscape 0.52 - Tech drawing abilities ===
=== Milestone 18 - Inkscape 0.52 - Tech drawing abilities ===


User Interface Effort:
==== User Interface Effort ====
* (DONE) Object-to-object snapping
* Implement <del>iso</del> <ins>(DONE)</ins> and hex grid
* (DONE) Implement [[LittleCMS]] as color management system
* Editable toolbars (<code>GTK::Toolbar</code> class)
* Implement iso (DONE) & hex grid
* Editable toolbars (libegg)
* Geometrical constraints
* Geometrical constraints
** "Perpendicular-to", "Parallel-to", etc.
** “Perpendicular-to”, “Parallel-to”, etc.
* Path trimming/extending/offset
* Path trimming/extending/offset
* Filleting tool
* Filleting tool


Extensions Effort:
==== Extensions Effort ====
* Implement extension registry for users to upload/download extensions via Inkscape
* Implement extension registry for users to upload/download extensions via Inkscape
* Dia-like smart shapes support
* Dia-like smart shapes support
([[CAD]] and [[BlueprintGeometricAndTechDrawing]])


=== Milestone 19 - Inkscape 0.53 - Inkcore ===
=== Milestone 19 - Inkscape 0.53 - Inkcore ===


* Separate sections of code into various libraries for use by other programs
* Separate sections of code into various libraries for use by other programs
** inkcanvas
** <tt>inkcanvas</tt>
** inkview
** <tt>inkview</tt>
** inkscape
** <tt>inkscape</tt>


=== Milestone 20 - Inkscape 0.54 ===
=== Milestone 20 - Inkscape 0.54 ===

Revision as of 18:48, 5 November 2009

Inkscape Development Roadmap

NOTE: This is a working document showing specific near-term tasks needed for achieving the numbered milestones.

Milestones 0-12 have been completed since the start of the Inkscape Project. See OldRoadmap

Milestone 13 - Inkscape 0.47 - Refactoring / Cleanup

New/Changed Dependencies

  • GTK 2.12 (required)

Architectural Refactoring Effort

  • Lib2geom Integration
    • Eliminate code in favor of 2geom where feasible
  • Convert remaining GTK dialog code to GTKmm
  • Eliminate all use of sp_repr_new in favor of XML::Document::* classes (see [1])
  • Subsystem Rearchitecture
    • Migrate SPObject to native C++ classes
    • Rename all 'SPFooBar' routines to 'FooBar' and put into namespaces
  • Implement gradient UI “release” handler to deal with gradient garbage collection (see bug 984854)
    • Note: I can't find this bug on Inkscape. Could someone locate and link it?
      --Zearin 18:48, 5 November 2009 (UTC)
  • Create an API for tracking references and avoiding id clashes on import and interdocument copy/paste. The optimal place to put it would probably be somewhere at the XML level
  • Streamline style
    • Eliminate use of the style.h types in as much of codebase as possible, particularly display
    • Externally, it should present a simple set of accessor methods for getting/setting properties by name, and propagating to/from repr
    • Inside, it should have:
      • a concise list of property names with the expected domain of values in CSS and the associated Inkscape data type
      • a concise list of property aliases which represent one or more properties combined, each with the rule used to combine
      • definitions of the aforementioned rules and value domains
      • some generic code (not tied to any one property) implementing the needed behavior

Codebase Cleanup Effort

User Documentation Effort

  • Rearrange tutorials into sub-categories
  • (PARTIALLY DONE) Switch to use of xml2po for tutorial files (Colin Marquardt)
  • Document filters

Inkscape SVG Effort

  • Revisit coordination system (move away from Cartesian)

User Interface Effort

  • 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.)
  • Reenable fuzzy font matching [bulia]
  • Improve freehand curve smoothness [pjrm, paraprax]

Testing Effort

  • Include some rendering tests in `make check'.
  • Get `make check' to pass on Win32 and OSX (with the current btool, does this mean a `btool check' should pass?)
  • Investigate performance measurement testing for Inkscape

Animation Effort

  • Create a written conceptualization of how it should work
    • Currently, part of the concept discussion is at here

User Documentation Effort

  • More tutorials
    • Node editing
    • Advanced text effects
    • Grid snapping
    • Connectors
    • Creating photo-realistic art

Performance effort

  • Support Hardware acceleration
    • Take advantage of OpenGL 2.1 or dx9 to enhance editing and display performance.
      • (Note: OpenVG would be better suited for Inkscape's needs but I'm not sure about its status. --Tweenk 00:53, 26 July 2009 (UTC))
  • Multi-Processor
    • Boost performance on multi-core processor.

GUI effort

  • Layer panel
    • Add object selection in layer (similar to Adobe Illustrator).
  • Tab document
    • Open and create new document(s) in the same window.
  • Menu icons
    • Compact icons
    • Grayed icons
      • Tool icons turn into color when hovering or selected (similar to Adobe Illustrator).
  • Multi-page
    • Multi-page tool (similar to Artboard tool on Adobe Illustrator CS4).

Milestone 14 - Inkscape 0.48 - Animation

File Format Support Effort

DOM Binding Effort

  • Evaluate Adobe Activescript to use instead of Spidermonkey for our JS engine
  • Create sample prototype app to explore ActiveScript
  • Decide whether to go with Spidermonkey or Adobe ActiveScript

Tools

Desktop Integration Effort

  • [PARTIALLY DONE] Inter-application cut-and-paste
  • Inter-application drag-and-drop

Architectural Refactoring Effort

  • Complete lib2geom integration

DOM Binding Effort

  • Create tool that reads the W3C idl files and generates binding code
  • Bind XPath parsing/execution
  • Finish the CSS-DOM classes
  • Add a run mode in a separate window that runs and displays the scripted SVG

Desktop Integration Effort

  • WebDAV/FTP support via GVFS, KIO, Neon, or the like
  • Finish making printing work more efficiently and reliably
  • Clipart manager GUI

Inkboard Effort

  • Ensure multi-user conferences work across most JEP-compliant Jabber servers
  • Conduct an informal security analysis of Inkboard for security flaws

File Format Support Effort

  • PDF Import/Export
    • Generate multipage PDF documents
    • Define bleed and slug areas for offset printing
    • Add crop, bleed and registration marks

Inkboard Effort

  • Stabilize the code by closing crash bugs in the bug tracker

SVG Feature Compliance Effort

  • Animation
    • Sketch out UI mockup ideas for animation rendering/animation
    • Make an ultra-preliminary proof of concept of at least one animation feature

Extension Effort

  • Unification of the way to display help on extensions
  • Localizable help of bundled extensions
  • Effect extensions browser

Milestone 15 - Inkscape 0.49 - Prototype all SVG Mobile features

SVG Feature Compliance Effort

  • Ability to select which SVG spec version to save as
  • Multi-page
  • Animation
  • Implement perspective transformations via PerspectiveObject
  • Path editing
  • Shaped strokes
  • Masking/clip paths
    • on-canvas editing (patch for 0.47 is ready)
    • Should work like gradient tool to apply transparency
  • hyperlinking
  • Ensure Inkscape does not throw away the internal DTD subsets of documents it reads

Milestone 16 - Inkscape 0.50 - SVG Mobile Support

SVG Feature Compliance Effort: (Also see SVG Tiny Compliance)

  • Multi-page
  • Scripting
  • Markers
    • Inherit stroke properties (like color)
    • On-canvas editing
    • Fix snapping issue
  • Real CMYK / LAB / HSB support

Milestone 17 - Inkscape 0.51

Architectural Refactoring Effort

File Format Support Effort

  • Native Adobe Illustrator file Export / Import (DONE)
    • (DONE) Requires good PDF Import/Export
  • Native CorelDraw file Import/Export (currently uses UniConvertor)
  • DXF import/export
  • Improved raster support via Gdk::Pixbuf

Milestone 18 - Inkscape 0.52 - Tech drawing abilities

User Interface Effort

  • Implement iso (DONE) and hex grid
  • Editable toolbars (GTK::Toolbar class)
  • Geometrical constraints
    • “Perpendicular-to”, “Parallel-to”, etc.
  • Path trimming/extending/offset
  • Filleting tool

Extensions Effort

  • Implement extension registry for users to upload/download extensions via Inkscape
  • Dia-like smart shapes support

(CAD and BlueprintGeometricAndTechDrawing)

Milestone 19 - Inkscape 0.53 - Inkcore

  • Separate sections of code into various libraries for use by other programs
    • inkcanvas
    • inkview
    • inkscape

Milestone 20 - Inkscape 0.54

Milestone 21 - Inkscape 0.55

??? - Inkscape 1.00 - Full SVG 1.1 support

Milestone [Future]