Difference between revisions of "Roadmap"
Jump to navigation
Jump to search
Line 33: | Line 33: | ||
* Rename all '[[SPFooBar]]' routines to '[[FooBar]]' and put into namespaces | * Rename all '[[SPFooBar]]' routines to '[[FooBar]]' and put into namespaces | ||
** (DONE) dialogs folder | ** (DONE) dialogs folder | ||
* Convert use of gboolean to bool where feasible | |||
* Switch from use of TRUE/FALSE to true/false | |||
File Format Support Effort: | File Format Support Effort: | ||
Line 99: | Line 101: | ||
* 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 | ||
Inkboard Effort | |||
* Stabilize the code by closing crash bugs in the bug tracker | |||
* Ensure multi-user conferences work across most JEP-compliant Jabber servers | |||
* Conduct an informal security analysis of Inkboard for security flaws | |||
=== Milestone 13 - Inkscape 0.47 === | === Milestone 13 - Inkscape 0.47 === |
Revision as of 02:21, 23 January 2007
Inkscape Development Roadmap
NOTE: This is a working document showing specific near-term tasks needed for achieving milestones. The number in front of the version is in reference to the milestone.
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)
- 2geom Integration
- Eliminate use of the style.h types in as much of codebase as possible, particularly display/*.
- 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.
- Replace style.cpp entirely, with a clearer and cleaner version.
- 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
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) Directory Reorganization
- Convert all tabs into spaces (convert tabs to 4 spaces)
- Rename all 'SPFooBar' routines to 'FooBar' and put into namespaces
- (DONE) dialogs folder
- Convert use of gboolean to bool where feasible
- 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
- Native Adobe Illustrator file Import/Export
- Requires good PDF Import/Export
- 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)
- DXF import/export
- gdkpixbuf(?) - would give JPEG support
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
SVG Feature Compliance Effort:
- Implement perspective transformations via PerspectiveObject
- Scripting
- Path editing
- Shaped strokes
- Markers
- Inherit stroke properties like color
- On-canvas editing
- Fix snapping issue
- 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
Inkboard Effort
- Stabilize the code by closing crash bugs in the bug tracker
- Ensure multi-user conferences work across most JEP-compliant Jabber servers
- Conduct an informal security analysis of Inkboard for security flaws
Milestone 13 - Inkscape 0.47
New/Changed Dependencies:
- Gtk 2.10