Difference between revisions of "Roadmap"
Jump to navigation
Jump to search
(Migrating tasks down to later releases) |
|||
Line 1: | Line 1: | ||
== Inkscape Development Roadmap == | == Inkscape Development Roadmap == | ||
− | NOTE: This is a working document showing specific near-term tasks needed for achieving milestones | + | NOTE: This is a working document showing specific near-term tasks needed for achieving the numbered milestones. |
''Milestones 0-9 have been completed since the start of the Inkscape Project. See [[OldRoadmap]]'' | ''Milestones 0-9 have been completed since the start of the Inkscape Project. See [[OldRoadmap]]'' | ||
− | |||
=== Milestone 12 - Inkscape 0.46 === | === Milestone 12 - Inkscape 0.46 === | ||
Line 16: | Line 15: | ||
* Implement [http://grin-optics.org gradient] UI "release" handler to deal with gradient garbage collection (see bug 984854) | * Implement [http://grin-optics.org gradient] UI "release" handler to deal with gradient garbage collection (see bug 984854) | ||
* Create an SPObject API for tracking references and avoiding id clashes on import and interdocument copy/paste. What we need are a void SPDocument::importCopies([set of SPObjects]), and an [set of SPObjects] SPObject::dependencies() method. | * Create an SPObject API for tracking references and avoiding id clashes on import and interdocument copy/paste. What we need are a void SPDocument::importCopies([set of SPObjects]), and an [set of SPObjects] SPObject::dependencies() method. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Codebase Cleanup Effort: | Codebase Cleanup Effort: | ||
Line 49: | Line 34: | ||
** Identify remaining problems with the cairo-based PDF tool | ** Identify remaining problems with the cairo-based PDF tool | ||
** Ensure clippaths, transparency, bitmaps, etc. all work | ** Ensure clippaths, transparency, bitmaps, etc. all work | ||
+ | |||
+ | 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 | ||
+ | |||
+ | === Milestone 13 - Inkscape 0.47 === | ||
+ | |||
+ | New/Changed Dependencies: | ||
+ | * Gtk 2.10 | ||
+ | |||
+ | File Format Support Effort: | ||
+ | * PDF Import/Export | ||
** Generate multipage PDF documents | ** Generate multipage PDF documents | ||
** Choice of PDF spec. (PDF/X-1a, PDF/X-3) | ** Choice of PDF spec. (PDF/X-1a, PDF/X-3) | ||
Line 55: | Line 56: | ||
** Add file info/comments | ** Add file info/comments | ||
** Add color bars | ** Add color bars | ||
− | |||
− | |||
− | |||
* [[MicrosoftVisio|Visio]] support | * [[MicrosoftVisio|Visio]] support | ||
** Add extension for use of [[VDX2SVG]] (http://vdxtosvg.sourceforge.net/) | ** Add extension for use of [[VDX2SVG]] (http://vdxtosvg.sourceforge.net/) | ||
** Add extension for use of [[PDF2SVG]] (http://www.solidcode.net/pdf2svg/ - this doesn't actually link to a useful page) | ** Add extension for use of [[PDF2SVG]] (http://www.solidcode.net/pdf2svg/ - this doesn't actually link to a useful page) | ||
− | * | + | |
− | * | + | Architectural Refactoring Effort: |
+ | * Streamline style.* | ||
+ | ** Eliminate use of the style.h types in as much of codebase as possible, particularly display/*. | ||
+ | ** Externally, it should present a simple sset 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 | ||
+ | * 2geom Integration | ||
+ | * Convert remaining GTK dialog code to Gtkmm | ||
Extensions Effort: | Extensions Effort: | ||
Line 102: | Line 110: | ||
* Prereq: We need a conceptualization of how it should work | * Prereq: We need a conceptualization of how it should work | ||
* Currently, part of the concept discussion is at [[Animation-(Timeline)|here]] | * Currently, part of the concept discussion is at [[Animation-(Timeline)|here]] | ||
+ | |||
+ | Inkboard Effort | ||
+ | * Ensure multi-user conferences work across most JEP-compliant Jabber servers | ||
+ | * Conduct an informal security analysis of Inkboard for security flaws | ||
+ | |||
+ | === Milestone 14 - Inkscape 0.48 - Animation === | ||
+ | |||
+ | * Get basic rendering and authoring of simple animations working adequately | ||
+ | |||
+ | === Milestone 15 - Inkscape 0.49 - Prototype all SVG Mobile features === | ||
SVG Feature Compliance Effort: | SVG Feature Compliance Effort: | ||
Line 108: | Line 126: | ||
* Animation | * Animation | ||
* Implement perspective transformations via [[PerspectiveObject]] | * Implement perspective transformations via [[PerspectiveObject]] | ||
− | |||
* Path editing | * Path editing | ||
* Shaped strokes | * Shaped strokes | ||
− | |||
− | |||
− | |||
− | |||
* Masking/clippaths | * Masking/clippaths | ||
** on-canvas editing | ** on-canvas editing | ||
Line 120: | Line 133: | ||
* [http://sourceforge.net/tracker/index.php?func=detail&aid=893812&group_id=93438&atid=604309 hyperlinking] | * [http://sourceforge.net/tracker/index.php?func=detail&aid=893812&group_id=93438&atid=604309 hyperlinking] | ||
* Ensure Inkscape does not throw away the internal DTD subsets of documents it reads | * 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: | ||
+ | * Multi-page | ||
+ | * Scripting | ||
+ | * Markers | ||
+ | ** Inherit stroke properties like color | ||
+ | ** On-canvas editing | ||
+ | ** Fix snapping issue | ||
* Real CMYK / LAB / HSB support | * Real CMYK / LAB / HSB support | ||
− | + | === Milestone 17 - Inkscape 0.51 === | |
− | |||
− | |||
− | |||
− | + | Architectural Refactoring Effort: | |
+ | * cairo Adoption Effort: | ||
+ | ** Prereq: Is renderer immune to the same kinds of numerical problems we see with our new renderer, libnr, or libart? | ||
+ | ** Will the new renderer improve performance for most users? | ||
+ | ** Integrate a cairo-based SVG Canvas library | ||
− | + | File Format Support Effort: | |
− | * | + | * Native [[Adobe Illustrator]] file Import/Export |
+ | ** Requires good PDF Import/Export | ||
+ | * Native [[CorelDraw]] file Import/Export | ||
+ | * DXF import/export | ||
+ | * gdkpixbuf(?) - would give JPEG support | ||
− | |||
− | |||
− | |||
− | |||
=== Milestone 18 - Inkscape 0.52 === | === Milestone 18 - Inkscape 0.52 === | ||
=== Milestone 19 - Inkscape 0.53 === | === Milestone 19 - Inkscape 0.53 === |
Revision as of 10:06, 30 January 2007
Contents
- 1 Inkscape Development Roadmap
- 1.1 Milestone 12 - Inkscape 0.46
- 1.2 Milestone 13 - Inkscape 0.47
- 1.3 Milestone 14 - Inkscape 0.48 - Animation
- 1.4 Milestone 15 - Inkscape 0.49 - Prototype all SVG Mobile features
- 1.5 Milestone 16 - Inkscape 0.50 - SVG Mobile Support
- 1.6 Milestone 17 - Inkscape 0.51
- 1.7 Milestone 18 - Inkscape 0.52
- 1.8 Milestone 19 - Inkscape 0.53
- 1.9 Milestone 20 - Inkscape 0.54
- 1.10 Milestone 21 - Inkscape 0.55
- 1.11 ??? - Inkscape 1.00 - Full SVG 1.1 support
- 1.12 Milestone [Future]
Inkscape Development Roadmap
NOTE: This is a working document showing specific near-term tasks needed for achieving the numbered milestones.
Milestones 0-9 have been completed since the start of the Inkscape Project. See OldRoadmap
Milestone 12 - Inkscape 0.46
New/Changed Dependencies:
- Gtk 2.8
Architectural Refactoring Effort:
- Eliminate all use of sp_repr_new in favor of XML::Document::* classes (see [1]
- Migrate SPObject to native C++ classes
- Implement gradient UI "release" handler to deal with gradient garbage collection (see bug 984854)
- Create an SPObject API for tracking references and avoiding id clashes on import and interdocument copy/paste. What we need are a void SPDocument::importCopies([set of SPObjects]), and an [set of SPObjects] SPObject::dependencies() method.
Codebase Cleanup Effort:
- Change to use of GQuarks instead of #defines where feasible
- Learn and use autoscan and autoreconf to find out which configure tests are still needed.
- Clean up configure.in
- (PARTIALLY DONE) DirectoryReorgProposal
- Convert all tabs into spaces (convert tabs to 4 spaces)
- Remove trailing whitespace
- Rename all 'SPFooBar' routines to 'FooBar' and put into namespaces
- (DONE) dialogs folder
- (DONE) Convert use of gboolean to bool where feasible
- (DONE) Switch from use of TRUE/FALSE to true/false
File Format Support Effort:
- PDF Import/Export
- Identify remaining problems with the cairo-based PDF tool
- Ensure clippaths, transparency, bitmaps, etc. all work
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
Milestone 13 - Inkscape 0.47
New/Changed Dependencies:
- Gtk 2.10
File Format Support Effort:
- PDF Import/Export
- Generate multipage PDF documents
- Choice of PDF spec. (PDF/X-1a, PDF/X-3)
- Define bleed and slug areas for offset printing
- Add crop, bleed and registration marks
- Add file info/comments
- Add color bars
- Visio support
- Add extension for use of VDX2SVG (http://vdxtosvg.sourceforge.net/)
- Add extension for use of PDF2SVG (http://www.solidcode.net/pdf2svg/ - this doesn't actually link to a useful page)
Architectural Refactoring Effort:
- Streamline style.*
- Eliminate use of the style.h types in as much of codebase as possible, particularly display/*.
- Externally, it should present a simple sset 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
- 2geom Integration
- Convert remaining GTK dialog code to Gtkmm
Extensions Effort:
- Implement extension API
- Implement extension registry
- Complete Extension preferences dialog
- Dia-like smart shapes support
User Interface Effort:
- Object-to-object snapping
- Enhanced grid system
- 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.)
- Implement LittleCMS as color management system
- Implement iso & hex grid
- Editable toolbars (libegg)
- Reenable fuzzy font matching [bb]
- Improve freehand curve smoothness [pjrm, paraprax]
- Geometrical constraints
- "Perpendicular-to", "Parallel-to", etc.
- Path trimming/extending/offset
- Filleting tool
Desktop Integration Effort:
- WebDAV/FTP support via GNOME-VFS, Neon, or the like
- Make printing work more efficiently and reliably
- Inter-application cut-and-paste
- Inter-application drag-and-drop
- Clipart manager GUI
Testing Effort:
- Include some rendering tests in `make check'.
- Get 'make check' to pass on Win32 and OSX
- Investigate performance measurement testing for Inkscape
Animation Effort
- Prereq: We need a conceptualization of how it should work
- Currently, part of the concept discussion is at here
Inkboard Effort
- Ensure multi-user conferences work across most JEP-compliant Jabber servers
- Conduct an informal security analysis of Inkboard for security flaws
Milestone 14 - Inkscape 0.48 - Animation
- Get basic rendering and authoring of simple animations working adequately
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
- 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:
- 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:
- Prereq: Is renderer immune to the same kinds of numerical problems we see with our new renderer, libnr, or libart?
- Will the new renderer improve performance for most users?
- Integrate a cairo-based SVG Canvas library
File Format Support Effort:
- Native Adobe Illustrator file Import/Export
- Requires good PDF Import/Export
- Native CorelDraw file Import/Export
- DXF import/export
- gdkpixbuf(?) - would give JPEG support