|
|
| (103 intermediate revisions by 15 users not shown) |
| Line 1: |
Line 1: |
| == Inkscape Development Roadmap ==
| | removed - content was outdated |
| | |
| '''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 <code>2geom</code> where feasible
| |
| * Convert remaining GTK dialog code to GTKmm
| |
| * 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])
| |
| * Subsystem Rearchitecture
| |
| ** 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 ====
| |
| * Change to use of [http://library.gnome.org/devel/glib/stable/glib-Quarks.html GQuarks] instead of <code>#defines</code> where feasible
| |
| * Use <code>autoscan</code> and <code>autoreconf</code> to find out which configure tests are still needed
| |
| ** Trim down the amount of stuff in our <tt>configure.ac</tt>
| |
| * <ins>(PARTIALLY DONE)</ins> [[DirectoryReorgProposal]]
| |
| * Convert all tabs into spaces (convert tabs to 4 spaces)
| |
| ** Also see http://sourceforge.net/mailarchive/message.php?msg_id=7164324
| |
| * [[http://wiki.inkscape.org/wiki/index.php/InkscapeJanitors#Cleanup:_Whitespace Remove trailing whitespace]]
| |
| * Replace use of C macros (e.g. <code>SP_IS_PATH</code>) with C++ instance methods, static class methods, etc.
| |
| * Use [http://pmd.sourceforge.net/cpd.html Copy/Paste Detector] to find and refactor duplicated code
| |
| | |
| ==== 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
| |
| | |
| ==== 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 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>]
| |
| | |
| ==== Testing Effort ====
| |
| * 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
| |
| | |
| ==== Animation Effort ====
| |
| * Create a written conceptualization of how it should work
| |
| ** Currently, part of the concept discussion is at [[Animation-(Timeline)|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. --[[User:Tweenk|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 ====
| |
| * PDF Import/Export
| |
| ** Choice of PDF spec. (PDF/X-1a, PDF/X-3)
| |
| ** Add file info/comments
| |
| ** Add color bars
| |
| * [[MicrosoftVisio|Visio]] support
| |
| ** Add extension for use of [[VDX2SVG]] (http://vdxtosvg.sourceforge.net/)
| |
| ** <ins>(OBSOLETE)</ins> <del>Add extension for use of [[PDF2SVG]]</del> (http://cgit.freedesktop.org/~cworth/svg2pdf/)
| |
| | |
| ==== 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 ====
| |
| * [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 ====
| |
| * 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 ====
| |
| * 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
| |
| ** <tt>inkcanvas</tt>
| |
| ** <tt>inkview</tt>
| |
| ** <tt>inkscape</tt>
| |
| | |
| === Milestone 20 - Inkscape 0.54 ===
| |
| === Milestone 21 - Inkscape 0.55 ===
| |
| | |
| === ??? - Inkscape 1.00 - Full SVG 1.1 support ===
| |
| | |
| === Milestone [Future] ===
| |
| | |
| [[Category:Developer Documentation]] | | [[Category:Developer Documentation]] |