Difference between revisions of "Roadmap"

From Inkscape Wiki
Jump to navigation Jump to search
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 1:''' This is a working document showing specific near-term tasks needed for achieving the numbered milestones. It is not a list of features to be included in future releases.
 +
 
 +
'''NOTE 2:''' Because this document became completely separated from reality, I replaced it with a more realistic version that reflects what we're actually doing. --[[User:Tweenk|Tweenk]] 13:45, 31 January 2010 (UTC)
  
 
''Milestones 0-13 have been completed since the start of the Inkscape Project. See [[OldRoadmap]]''
 
''Milestones 0-13 have been completed since the start of the Inkscape Project. See [[OldRoadmap]]''
  
 +
=== Inkscape 0.48 ===
  
 +
0.48 is intended to be a quick release cycle focused on merging GSoC work and fixing some long standing bugs.
  
=== Milestone 14 - Inkscape 0.48 - Animation ===
+
* Merge and stabilize Google Summer of Code 2009 work
 
+
** (DONE) Node tool rewrite
==== File Format Support Effort ====
+
** Connector tool improvements
* PDF Import/Export
+
** D-Bus scripting API
** Choice of PDF spec. (PDF/X-1a, PDF/X-3)
+
* Desktop integration improvements: solve the issue of broken files resulting from people unknowingly pasting bitmap images as links.
** Add file info/comments
+
* Build system improvements: evaluate [http://code.google.com/p/waf/ Waf] as an unified build system for all platforms (Krzysztof)
** Add color bars
+
* (DONE) Move code hosting to Lanchpad
* [[MicrosoftVisio|Visio]] support
+
* Windows port improvements
** Add extension for use of [[VDX2SVG]] (http://vdxtosvg.sourceforge.net/)
+
** (DONE) move devlibs to a Launchpad project
** <ins>(OBSOLETE)</ins> <del>Add extension for use of [[PDF2SVG]]</del> (http://cgit.freedesktop.org/~cworth/svg2pdf/)
+
** Rebuild C++ libraries using TDM-GCC to fix Launchpad bug [https://bugs.launchpad.net/inkscape/+bug/173116 #173116] - exceptions not caught across DLLs
 
+
** (DONE) Upgrade Windows devlibs to recent versions of GTK and GLib to fix several Windows bugs
==== DOM Binding Effort ====
+
** Make the uninstaller work
* 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 ====
 
* [https://bugs.launchpad.net/inkscape/+bug/sf904962 correct handling of multiple font faces] by Text tool
 
* [http://article.gmane.org/gmane.comp.graphics.inkscape.devel/16938/ Filters tool]
 
* Get basic rendering and authoring of simple animations working adequately
 
 
 
==== Desktop Integration Effort ====
 
* <ins>[PARTIALLY DONE]</ins> Inter-application cut-and-paste
 
* Inter-application drag-and-drop
 
 
 
==== Architectural Refactoring Effort ====
 
* Complete <code>lib2geom</code> integration
 
 
 
==== 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
 
 
 
==== 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
 
* [https://bugs.launchpad.net/inkscape/+bug/sf893812 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 ====
 
* <tt>cairo</tt> Adoption Effort:
 
** 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
 
 
 
==== File Format Support Effort ====
 
* Native [[Adobe Illustrator]] file Export / <del>Import</del> <ins>(DONE)</ins>
 
** <ins>(DONE)</ins> <del>Requires good PDF Import/Export</del>
 
* Native [[CorelDraw]] file Import/Export (currently uses UniConvertor)
 
* DXF import/export
 
* Improved raster support via <code>Gdk::Pixbuf</code>
 
 
 
=== Milestone 18 - Inkscape 0.52 - Tech drawing abilities ===
 
  
==== User Interface Effort ====
+
=== Inkscape 0.49 ===
* Implement <del>iso</del> <ins>(DONE)</ins> and hex grid
 
* Editable toolbars (<code>GTK::Toolbar</code> class)
 
* Geometrical constraints
 
** “Perpendicular-to”, “Parallel-to”, etc.
 
* Path trimming/extending/offset
 
* Filleting tool
 
  
==== Extensions Effort ====
+
0.49 will be a longer cycle focused on refactoring and new features.
* 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 ===
+
* If Inkscape participates in GSoC 2010, merge all student work done during it
 +
* Evaluate changing the numbering scheme to a date-based one, or setting more realistic goals for major (1.0, 2.0) releases
  
* Separate sections of code into various libraries for use by other programs
+
=== Long term goals ===
** <tt>inkcanvas</tt>
 
** <tt>inkview</tt>
 
** <tt>inkscape</tt>
 
  
=== Milestone 20 - Inkscape 0.54 ===
+
* Better modularization: separate the Inkscape codebase into several libraries that could be used by other programs.
=== Milestone 21 - Inkscape 0.55 ===
+
* General refactoring: make Inkscape a joy to develop.
 +
* SP tree refactoring: Port the object tree to C++ objects.
 +
* XML refactoring: Remove direct manipulation of XML from as many places as possible and replace it with SP tree methods.
 +
* Live path effects: investigate extending to cover generic vector transformations (vector effects). Provide live versions of several destructive operations: boolean ops, stroke to path, text to path, etc.
 +
* Animation support.
  
 
=== ??? - Inkscape 1.00 - Full SVG 1.1 support ===  
 
=== ??? - Inkscape 1.00 - Full SVG 1.1 support ===  

Revision as of 13:45, 31 January 2010

Inkscape Development Roadmap

NOTE 1: This is a working document showing specific near-term tasks needed for achieving the numbered milestones. It is not a list of features to be included in future releases.

NOTE 2: Because this document became completely separated from reality, I replaced it with a more realistic version that reflects what we're actually doing. --Tweenk 13:45, 31 January 2010 (UTC)

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

Inkscape 0.48

0.48 is intended to be a quick release cycle focused on merging GSoC work and fixing some long standing bugs.

  • Merge and stabilize Google Summer of Code 2009 work
    • (DONE) Node tool rewrite
    • Connector tool improvements
    • D-Bus scripting API
  • Desktop integration improvements: solve the issue of broken files resulting from people unknowingly pasting bitmap images as links.
  • Build system improvements: evaluate Waf as an unified build system for all platforms (Krzysztof)
  • (DONE) Move code hosting to Lanchpad
  • Windows port improvements
    • (DONE) move devlibs to a Launchpad project
    • Rebuild C++ libraries using TDM-GCC to fix Launchpad bug #173116 - exceptions not caught across DLLs
    • (DONE) Upgrade Windows devlibs to recent versions of GTK and GLib to fix several Windows bugs
    • Make the uninstaller work

Inkscape 0.49

0.49 will be a longer cycle focused on refactoring and new features.

  • If Inkscape participates in GSoC 2010, merge all student work done during it
  • Evaluate changing the numbering scheme to a date-based one, or setting more realistic goals for major (1.0, 2.0) releases

Long term goals

  • Better modularization: separate the Inkscape codebase into several libraries that could be used by other programs.
  • General refactoring: make Inkscape a joy to develop.
  • SP tree refactoring: Port the object tree to C++ objects.
  • XML refactoring: Remove direct manipulation of XML from as many places as possible and replace it with SP tree methods.
  • Live path effects: investigate extending to cover generic vector transformations (vector effects). Provide live versions of several destructive operations: boolean ops, stroke to path, text to path, etc.
  • Animation support.

??? - Inkscape 1.00 - Full SVG 1.1 support

Milestone [Future]