We cannot predict exactly what contributors to Inkscape will wish to
work on, so expect details to vary, but the following is a rough
indication of where we'd like to take the codebase.
|0. Project Initiation [DONE]
- Set up mailing lists, website, and sourceforge.
- Register domain name. Import codebase and rename to 'inkscape'.
|1. Get Codebase C++-Ready [DONE]
- Set CC=g++ and fix all the bugs. (Easily said!)
|2. Interface Redesign [DONE]
- Add ample keyboard shortcuts & improve dialog usability
- Convert codebase from CSDI to SDI; change toolbox to toolbars
- Add preliminary support for a few new features like layers &
- Maintain gcc and g++ compatibility
|3. C++ Conversion & Codebase Cleanup [DONE]
- Set g++ as the compiler & rename all .c files to .cpp
- Document the code
- Create a Gtkmm-based dialog for editing layers
- Implement a C++/Gtkmm grid system.
|4. Bug Hunt [DONE]
- Focus on reported bugs.
- Reduce ratio of open/total bugs from 33% to 10%
|5. Pango Architectural Change [DONE]
- This changes how font rendering works by replacing libnrtype
|6. Features and Fixes [DONE]
- Implement several popular feature requests, including
layers, text-on-path, text-flow, bitmap tracing, console
redirect (win32 warnings), etc.
- Improve Shapes to full maturity compared with other drawing
- Add Boehm garbage collector and new dependencies for the gtkmm work.
|7. Bugfix Release [DONE]
- Fix 150 "points" worth of bugs.
|8. GtkMM Architectural Change
- Convert objects to Gtkmm to help abstract the codebase so it's
easier to maintain and extend.
- Dialogs redevelopement and HIG-Compliance Review.
- Make all dialogs remember on/off status across sessions
- Create a complete default icon/cursor set [bb]
- Preferences dialog
- Convert to Gtkmm, Redesign so it's not tabs-in-tabs
- Redesign Object Properties dialog
- Implement a layer management dialog
- Layers Shortcuts
- Layers > Groups. Groups > Layers. All layer locking and hiding
|9. Design Extension Architecture
- Establishes a new mechanism for how
features are added and maintained in the codebase.
- Clipboard Improvements
- Extension Infrastructure improvements and Example Extension package.
- Metadata/RDF support for clipart, etc.
|10. RFE's & Extensions Implementation
- Implement extension API, registry, dialogs, etc.
- Reduce open/total RFE ratio from to 75%
- Implement extension API, registry, and preferences
- Implement on-canvas editing of gradients, patterns, and masks
- Add Hyperlinking
|11. Import/Export Feature Enhancements
|12. Style Refactoring
- Eliminate use of the style.h types
- Editable Toolbars
|13. Bug Hunt & RFE's
- Reduce open/total RFE ratio to 50%
- Reduce open/total bug ratio to 5%
|14. Drawing Feature Enhancements
- Object-to-object snapping / Snap points
- Enhanced Grid system
- Inter-application copy+paste, drag+drop
- Clipart manager Gui
- Hyperlinking / Load-from-URL
|15. Style Rewrite & libcrocco
- style.cpp elimination.
- libcrocco for CSS
|17. Animation Conceptualization
- Conceptualization of how it will work
|18. Fonts Revisited
- Reenable fuzzy font matching
- Bidirectional text in Pango needs attention
- MakeVertical in Pango needs attention
- Rework text layout code to use PangoLayout?
- Implement LittleCMS as color management system
- Create a palette widget
|20. Full Animation Support
- Implement Full Animation Support
- Reduce open/total RFE ratio to 40%