Roadmap

From Inkscape Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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])
  • SubsystemRearchitecture
    • 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)
  • 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:

  • Re-arrange 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.
  • Multi-Processor
    • Boost performance on multi-core processor.

GUI effort:

  • Layer panel
    • Add object selection on layer(similar to adobe illustrator).
  • Tab document
    • Open and create new document(s) in the same window.
  • Tool icons
    • Compact icons
    • Grayed icons
      • Tool icons turn into color when hovering or selected

(similar to adobe illustrator).

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:

  • Get basic rendering and authoring of simple animations working adequately

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/clippaths
    • 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 Import (DONE)/Export
    • (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) & 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]