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]