Difference between revisions of "Roadmap"

From Inkscape Wiki
Jump to navigation Jump to search
(Added some categories to the unordered list of roadmap items.)
Line 31: Line 31:
Note this list is unordered, unapproved, and unofficial.  Feel free to add new ideas worth considering for the roadmap.
Note this list is unordered, unapproved, and unofficial.  Feel free to add new ideas worth considering for the roadmap.


* Replace VCS.
===== Maintenance =====
* Replace Automake Build System.
* Decide which Unit testing framework to use ([http://inkscape.13.x6.nabble.com/Unit-testing-td4967386.html Discussion july 2013 didn't get much traction])
** Greatly expand Unit test framework.
** Set up workflow (passing tests, test coverage, code review) for getting code into trunk.
* C++11.  Initially focus on widely supported C++11 features, then later adopt remaining features as they become widespread.
* C++11.  Initially focus on widely supported C++11 features, then later adopt remaining features as they become widespread.
* Multi-page documents and parent/child document references
* Better modularization
* Better modularization
** Switch to using libcroco as a regular dependency (not embedded in our codebase)
** Switch to using libcroco as a regular dependency (not embedded in our codebase)
Line 47: Line 42:
** Break libuemf out to its own library
** Break libuemf out to its own library
** Break libvpsc out to its own library
** Break libvpsc out to its own library
* Introduce a backwards compatibility mechanism that will allow us to modify the XML representation of editing info. This is needed to bring the desktop coordinate system in line with SVG due to guideline and 3D box problems (they save desktop coordinates in the XML). This can be done either at the SP tree level or by moving to a SAX-based parser which updates the editing information as the document is parsed.
* [[GtkMMification]]
* XML refactoring: Remove direct manipulation of XML from as many places as possible and replace it with SP tree methods.
===== Infrastructure =====
* Replace VCS.
* Replace Automake Build System.
* Make the Windows uninstaller work (reevaluate this, we now have msi installer for win32 and Win64)
* make msi Windows install multilingual
* Decide which Unit testing framework to use ([http://inkscape.13.x6.nabble.com/Unit-testing-td4967386.html Discussion july 2013 didn't get much traction])
** Greatly expand Unit test framework.
** Set up workflow (passing tests, test coverage, code review) for getting code into trunk.
===== New features / Improvements to existing features =====
* Multi-page documents and parent/child document references
* [[SVG2]] support (with proper SVG 1.1 fallbacks)
* [[SVG2]] support (with proper SVG 1.1 fallbacks)
* Improve support for SVG switches: the first recognized element in a switch should appear directly in the SP tree, not as a child of the switch element.
* Improve support for SVG switches: the first recognized element in a switch should appear directly in the SP tree, not as a child of the switch element.
Line 52: Line 62:
* Implement SVG 2 flowed text which has a natural SVG 1.1 fallback.
* Implement SVG 2 flowed text which has a natural SVG 1.1 fallback.
* Improve support for changing the name of the XML element node in response to SP tree changes.
* Improve support for changing the name of the XML element node in response to SP tree changes.
* Introduce a backwards compatibility mechanism that will allow us to modify the XML representation of editing info. This is needed to bring the desktop coordinate system in line with SVG due to guideline and 3D box problems (they save desktop coordinates in the XML). This can be done either at the SP tree level or by moving to a SAX-based parser which updates the editing information as the document is parsed.
* Flip y-coordinate to match SVG.
* Flip y-coordinate to match SVG.
* Make the Windows uninstaller work (reevaluate this, we now have msi installer for win32 and Win64)
* make msi Windows install multilingual
* Evaluate pdf exporter to join features from scribus Export
* [[GtkMMification]]
* XML refactoring: Remove direct manipulation of XML from as many places as possible and replace it with SP tree methods.
* Hardware acceleration: make use of modern GPUs to speed up rendering.
* Hardware acceleration: make use of modern GPUs to speed up rendering.
* 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.
* 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.
* CSS support?
* CSS support
* Animation support.
* Animation support.
* D-Bus scripting API.  (Merge GSoC work from 0.48 timeframe?)
* D-Bus scripting API.  (Merge GSoC work from 0.48 timeframe?)
===== Documentation =====
===== Community =====
===== Others =====
* Evaluate pdf exporter to join features from scribus Export


[[Category:Developer Documentation]]
[[Category:Developer Documentation]]

Revision as of 18:30, 26 November 2014

This is a working document showing specific near-term tasks needed for achieving the numbered milestones. It is not a wishlist of features to be included in future releases. Because people often work on whatever they feel like, only the current and current+1 releases should be taken seriously. Beyond that is mainly conjectural.

See OldRoadmap for milestones that have already been achieved.

Inkscape 0.91

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

  • (DONE) Merge GSoC 2010 work
  • (DONE) Evaluate changing the numbering scheme to a date-based one, or setting more realistic goals for major (1.0, 2.0) releases
  • (DONE) Port renderer to Cairo (Krzysztof - GSoC 2010)
  • (DONE) Completely remove libnr

Inkscape 0.92

Inkscape 0.93

Inkscape 0.94

Inkscape 0.9x

Inkscape 1.0

Inkscape 1.x

Milestone [Future]

Random Ideas / Requests / Needs

Note this list is unordered, unapproved, and unofficial. Feel free to add new ideas worth considering for the roadmap.

Maintenance
  • C++11. Initially focus on widely supported C++11 features, then later adopt remaining features as they become widespread.
  • Better modularization
    • Switch to using libcroco as a regular dependency (not embedded in our codebase)
    • Switch to using libgdl as a regular dependency
    • Break libavoid out to its own library
    • Break libcola out to its own library
    • Break libdepixelize out to its own library
    • Break libnrtype out to its own library
    • Break libuemf out to its own library
    • Break libvpsc out to its own library
  • Introduce a backwards compatibility mechanism that will allow us to modify the XML representation of editing info. This is needed to bring the desktop coordinate system in line with SVG due to guideline and 3D box problems (they save desktop coordinates in the XML). This can be done either at the SP tree level or by moving to a SAX-based parser which updates the editing information as the document is parsed.
  • GtkMMification
  • XML refactoring: Remove direct manipulation of XML from as many places as possible and replace it with SP tree methods.
Infrastructure
  • Replace VCS.
  • Replace Automake Build System.
  • Make the Windows uninstaller work (reevaluate this, we now have msi installer for win32 and Win64)
  • make msi Windows install multilingual
  • Decide which Unit testing framework to use (Discussion july 2013 didn't get much traction)
    • Greatly expand Unit test framework.
    • Set up workflow (passing tests, test coverage, code review) for getting code into trunk.
New features / Improvements to existing features
  • Multi-page documents and parent/child document references
  • SVG2 support (with proper SVG 1.1 fallbacks)
  • Improve support for SVG switches: the first recognized element in a switch should appear directly in the SP tree, not as a child of the switch element.
  • Using the above mechanism, make flowed text SVG-compliant.
  • Implement SVG 2 flowed text which has a natural SVG 1.1 fallback.
  • Improve support for changing the name of the XML element node in response to SP tree changes.
  • Flip y-coordinate to match SVG.
  • Hardware acceleration: make use of modern GPUs to speed up rendering.
  • 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.
  • CSS support
  • Animation support.
  • D-Bus scripting API. (Merge GSoC work from 0.48 timeframe?)
Documentation
Community
Others
  • Evaluate pdf exporter to join features from scribus Export