|
|
| (113 intermediate revisions by 16 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 2geom where feasible
| |
| * Convert remaining GTK dialog code to Gtkmm
| |
| * Eliminate all use of sp_repr_new in favor of XML::Document::* classes (see [http://article.gmane.org/gmane.comp.graphics.inkscape.devel/19068])
| |
| * SubsystemRearchitecture
| |
| ** Migrate SPObject 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)
| |
| * 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:
| |
| * Change to use of [http://library.gnome.org/devel/glib/stable/glib-Quarks.html GQuarks] instead of #defines where feasible
| |
| * Use autoscan and autoreconf to find out which configure tests are still needed.
| |
| ** Trim down the amount of stuff in our configure.ac
| |
| * (PARTIALLY DONE) [[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. SP_IS_PATH) 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:
| |
| * Re-arrange tutorials into sub-categories
| |
| * (PARTIALLY DONE) Switch to use of xml2po 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 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 [[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
| |
| **Multi-Processor
| |
| | |
| === 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/)
| |
| ** (OBSOLETE) Add extension for use of [[PDF2SVG]] (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:
| |
| * [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
| |
| * [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:
| |
| * cairo 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 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] ===
| |
| | |
| [[Category:Developer Documentation]] | | [[Category:Developer Documentation]] |