|
|
| (23 intermediate revisions by 5 users not shown) |
| Line 1: |
Line 1: |
| This is a working document showing specific near-term tasks needed for achieving the numbered milestones. It is '''not a wishlist''' of features to be included in future releases. Because people often work on whatever they feel like, only the current and current+1 releases should be taken seriously. Beyond that is mainly conjectural.
| | removed - content was outdated |
| | |
| ''See [[OldRoadmap]] for milestones that have already been achieved.''
| |
| | |
| === Inkscape 0.91 ~ Refactoring ===
| |
| | |
| 0.91 will be a longer cycle focused on refactoring and new features.
| |
| | |
| * (DONE) <del>Merge GSoC 2010 work</del>
| |
| * (DONE) <del>Evaluate changing the numbering scheme to a date-based one, or setting more realistic goals for major (1.0, 2.0) releases</del>
| |
| * (DONE) <del>Port renderer to Cairo (Krzysztof - GSoC 2010)</del>
| |
| * (DONE) <del>Completely remove libnr</del>
| |
| | |
| === Inkscape 0.92 ~ Infrastructure Focus ===
| |
| * (DONE) <s>Set up autogeneration of Inkscape source code documentation ([http://wiki.inkscape.org/wiki/index.php/Doxygen_documentation Doxygen not available online according to old wiki page] but [http://fossies.org/dox/inkscape-0.91pre2/ available here (fossies.org)])</s> (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)
| |
| ** (DONE) <s>Put it publicly somewhere on the inkscape domain for "official" access.</s> (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)
| |
| * (DONE) <s>Build system: migrate away from Autotools (See [[Build system improvements]])</s>
| |
| ** (DONE) <s>Decide between CMake and Waf</s>
| |
| *** (DONE) <s>Alex will be doing a "neutral party" review of the two</s> Decision to go with cmake for now.
| |
| ** (DONE) <s>Get decided system working</s>
| |
| *** See [[CMake_Tasks]]
| |
| ** (DONE) <s>Switch release tools to use new build system</s> Documented for now; will wait on mechanizing it until after switch to git.
| |
| ** (DONE) <s>Switch packaging tools to use new build system</s>
| |
| ** (DONE) <s>Retain Autotools support one final release (legacy support)</s>, then drop next release.
| |
| * (DONE) <s>Make the Windows uninstaller work (reevaluate this, we now have msi installer for win32 and Win64)</s>
| |
| | |
| === Inkscape 0.93 ~ Maintenance and Optimization Focus ===
| |
| * (DONE) <s>Migration to Git</s>
| |
| * (DONE) <s>Migration to GitLab</s>
| |
| * (DONE) <s>Decide which Unit testing framework to use ([http://inkscape.13.x6.nabble.com/Unit-testing-td4967386.html Discussion July 2013 didn't get much traction])</s>
| |
| ** Hackfest consensus is Google test. Bryce will make RFC to devel list for any other opinions.
| |
| * Set up continuous builds using Travis CI / Appveyor
| |
| * (DONE) <s>Make C++11 compiler a hard requirement</s>
| |
| * Gtk3/UI revamp and panels fixing
| |
| * (DONE) <s>Drop Autotools support (See [[Build system improvements]])</s>
| |
| * Improved performance
| |
| ** with an empty start
| |
| ** when starting up with an existing file
| |
| * 2geom maintenance
| |
| ** Stop embedding 2Geom in Inkscape's codebase; handle it as a regular dependency
| |
| ** Move project to gitlab, from https://launchpad.net/lib2geom, http://lib2geom.sourceforge.net/, and https://github.com/inkscape/lib2geom
| |
| ** Possibly start doing lib2geom releases in conjunction with Inkscape's releases?
| |
| ** Add to PPAs and other CI / autobuilds we already use for Inkscape
| |
| * Split tutorials and other content from the main executable, to enable them to be updated independently of our main release process
| |
| * Split out less well maintained extensions to an 'extras' package
| |
| ** Add a test suite that runs each extension against a collection of test documents
| |
| ** Possibly start doing inkscape-extras releases in conjunction with Inkscape's releases?
| |
| * Refactor out "Sodipodi" history
| |
| ** SPItem, SPObject and other variables have names from the early versions of Sodipodi, these names no longer makes sense (especially for new developers).
| |
| * (DONE) <s>Migrate potrace to be an external dependency</s> Done for 0.92
| |
| * Prepatory work for expanded testing
| |
| ** Implement example unit tests for: SP objects, verbs, cmdline options, live effects, UI dialogs, UI widgets/tools, UI view, etc.
| |
| * New Swatch dialog [Tomasz' GSoc project]
| |
| | |
| === Inkscape 0.94 ~ New Features Focus ===
| |
| * Multi-page documents and parent/child document references
| |
| * SVG Flowed Text
| |
| ** Fix flowtext
| |
| ** Implement SVG 2 flowed text which has a natural SVG 1.1 fallback.
| |
| ** Ex. https://dl.dropboxusercontent.com/u/65084033/irc/ask-smart-questions.svg
| |
| * Improve support for CMYK/spot colors
| |
| ** Minor UI streamlining
| |
| ** Eliminate the CMS tab
| |
| ** Change the CMYK tab to allow selecting the CMYK colors directly
| |
| ** Allow setting the document to CMYK, which sets a global CMYK profile
| |
| ** Stores RGB colors as RGB, CMYK colors as CMYK
| |
| * Solicit community-contributed tutorial contributions
| |
| * (Optionally) Start allowing use of C++-11 features that we find to be sufficiently widely supported
| |
| * Improved mailing list archive
| |
| ** Move existing archive to inkscape.org or add an archive mirror at inkscape.org ("official" inkscape information is spread out wide between different domains), this would be an improvement.
| |
| ** Consider also bringing lib2geom mailing lists?
| |
| ** inkscape: We need postmaster@inkscape.org and abuse@inkscape.org set up. Maybe as part of a mailing list refresh?
| |
| | |
| === Inkscape 0.95 ~ Stabilization Focus ===
| |
| * Update all core plugins to handle multi-page documents
| |
| * Special focus on bugs relating to multi-page, flowed text, 2geom, and coordinate system flip
| |
| * Write unit test cases
| |
| ** Core functions
| |
| * Introduce new tutorials
| |
| | |
| === Inkscape 1.0 ~ Documentation Focus ===
| |
| * Review, update, and expand existing documentation
| |
| ** code documentation
| |
| ** tutorials
| |
| ** man page
| |
| ** kickoff manual effort?
| |
| * Better translations - keep track of % translations for all languages. Drive to 95% on all major languages.
| |
| * Cleanup website and wiki
| |
| ** Move pages of value to users from wiki to the main website
| |
| ** Trim down amount of legacy material presented in the wiki
| |
| | |
| | |
| -----------------------------------
| |
| '''Following is a WIP draft of the post-1.0 release goals; this is not yet finalized, and should not be taken as official yet'''
| |
| -----------------------------------
| |
| | |
| === Inkscape 1.1 ~ Refactoring ===
| |
| * Expand range of C++-11 features allowed; make C++-11 support more of a requirement for Inkscape
| |
| ** http://en.cppreference.com/w/cpp/compiler_support
| |
| * Take a holistic approach to UI design ([http://sourceforge.net/p/inkscape/mailman/message/33080043/ Original email])
| |
| *# Analyze the existing UI, make a list of UI decisions that are inconsistent between each other.
| |
| *# Look around, see how other project solves these things, figure out what's good/applicable for Inkscape (like designing particular custom widgets that are less pixel-hungry etc.).
| |
| *# Design some sort of HIG (Human Interface Guidelines) for Inkscape
| |
| *# Use it to plan redesigns existing dialogs/docks.
| |
| *# Preserve dialog layouts between sessions
| |
| * Externalize some (easy) dependencies
| |
| ** Switch to using libcroco as a regular dependency (not embedded in our codebase).
| |
| *** Contact maintainer to see if still actively maintaining, and if can roll a new release for us
| |
| *** Else, consider adopting maintenance of the library under the Inkscape project umbrella
| |
| *** Or consider replacement with libcss or other CSS parser.
| |
| *** See http://inkscape.13.x6.nabble.com/Should-inkscape-take-over-libcroco-td2784457.html
| |
| ** Switch to using Adaptagrams (libvpsc, libcola & libavoid) as a regular dependency
| |
| *** Contact maintainer to see if still actively maintaining, and if can roll a new release for us
| |
| *** Else, consider adopting maintenance of the library under the Inkscape project umbrella
| |
| *** See https://bugs.launchpad.net/inkscape/+bug/1353833
| |
| | |
| === Inkscape 1.2 ~ Infrastructure ===
| |
| * Replace VCS
| |
| * Greatly expand Unit test framework.
| |
| * Consider setting up workflow (passing tests, test coverage, code review) for getting code into trunk.
| |
| ** Improve new contributor experience for getting patch reviews
| |
| ** Switch patch review software from launchpad to something like mailing list + patchwork, or phabricator
| |
| * make msi Windows install multilingual
| |
| | |
| === Inkscape 1.3 ~ Maintenance and Optimization ===
| |
| * Better modularization
| |
| ** Break libdepixelize out to its own library
| |
| ** Break libnrtype out to its own library
| |
| ** Break libuemf out to its own library
| |
| * Switch to using Poppler's API rather than using internals (the current situation causes regular breakage with new releases of Poppler)
| |
| * [[GtkMMification]]
| |
| * XML refactoring: Remove direct manipulation of XML from as many places as possible and replace it with SP tree methods.
| |
| * Improved performance
| |
| ** Working with large files
| |
| ** Working with files with lots of filters
| |
| | |
| === Inkscape 1.4 ~ Major Features ===
| |
| * Complete conversion to GTK 3
| |
| ** Switch to using libgdl as a regular dependency
| |
| ** Be smarter about toolbar layout so we never have invisible (but necessary) buttons off the screen.
| |
| ** Rework panels so that they resize consistently and display contents better. Consider moving back to dialogs in some cases or moving more functionality to the canvas.
| |
| * Begin development of new plugin / extension system(s)
| |
| ** C++ API with Python bindings
| |
| ** Review the D-Bus scripting API GSoC work from 0.48 timeframe
| |
| ** Easy to create
| |
| ** Powerful enough to do LPEs, filters, etc.
| |
| ** Probably need several different APIs for different levels in the codebase, such as atop the object model, one for canvas stuff, one atop the UI, etc.
| |
| *** For object layer will require better division from UI, so it doesn't require a selection for items to operate on
| |
| ** Include a debug print of the loaded extensions/plugins/etc.
| |
| ** Establish an Extensions Center for community-collaborative sharing/reviewing/maintaining extensions
| |
| *** Core extensions are shipped with Inkscape
| |
| *** User review ranking
| |
| *** Developer review ranking
| |
| *** Auto-QC ranking (mechanical testing, and checking for docs, test cases, etc.)
| |
| ** Search the Extensions Center and install from within Inkscape
| |
| * Text support overhaul
| |
| ** Opentype (turning on/off small caps)
| |
| ** Fix Overreliance on system fonts. Deja Vu is not an adequate typeface.
| |
| ** Fix loss of typeface, text styling, text positioning
| |
| | |
| === Inkscape 1.5 ~ Stabilization ===
| |
| | |
| | |
| | |
| | |
| === Milestone [Future] ===
| |
| | |
| | |
| | |
| ===== Infrastructure =====
| |
| | |
| | |
| ===== Maintenance =====
| |
| * Split backend / GUI frontend
| |
| | |
| ===== New features / Improvements to existing features =====
| |
| * <strike>Make flowed text SVG-compliant.</strike>
| |
| * [[SVG2]] support (with proper SVG 1.1 fallbacks)
| |
| * Improve support for SVG switches: the first recognized element in a switch should appear directly in the SP tree, not as a child of the switch element.
| |
| * Improve support for changing the name of the XML element node in response to SP tree changes.
| |
| * Hardware acceleration: make use of modern GPUs to speed up rendering.
| |
| * Live path effects: investigate extending to cover generic vector transformations (vector effects). Provide live versions of several destructive operations: boolean ops, stroke to path, text to path, etc.
| |
| * Mesh gradient support
| |
| * CSS support
| |
| * Javascript support
| |
| * Animation support.
| |
| ** frame-by-frame interpolations?
| |
| ** SMIL?
| |
| ** Javascripts?
| |
| ** Something else?
| |
| * Evaluate pdf exporter to join features from scribus Export
| |
| ** Improved export for printing industry ([http://sourceforge.net/p/inkscape/mailman/inkscape-devel/thread/trinity-c6dc9287-cda7-4d8d-9a49-3201dd64f2d1-1412200320248%403capp-gmx-bs01/#msg32887957 Mailing list thread from October 2014])
| |
| * For animation and css, a functionality to remove ALL transformations from an SVG
| |
| * PDF cleanup function - ungroup everything, remove all unnecessary clipping and masking
| |
| * Better marker support
| |
| * Object navigator (like in ponyscape)
| |
| * Inkscape for Android
| |
| * CAD drawing functionality
| |
| * More file format import compatibility
| |
| ** TopDraw
| |
| * OCR of bitmap traces
| |
| * Rewrite / reintroduce 3D box.
| |
| ** 3-dimensional grid, perspective deformed, with snapping
| |
| | |
| ===== Documentation =====
| |
| | |
| ===== Community =====
| |
| | |
| [[Category:Developer Documentation]] | | [[Category:Developer Documentation]] |