Dev:Software roadmap

From Synfig Studio :: Documentation
Revision as of 20:07, 27 April 2006 by SnapSilverlight (Talk | contribs) (Todo's (grep'd from source!))

Jump to: navigation, search

A software roadmap is in the process of being developed. If you would like to lobby for specific functionality to be implemented sooner than what is stated, please discuss it in the talk page.

Since the roadmap isn't finished yet, here is an unsorted list of things that I plan to implement:

  • Under-the-hood changes
    • Redesign the render target class
      • current implementation doesn't handle large images very well
    • migrate API to be more language agnostic
    • Add support for arbitrary multiple color channels
    • Add support for customizable mixing gamma per canvas
    • Start migrating toward a script-friendly API
    • Implement garbage collection of synfig nodes
    • Re-write or replace the "Simple Text" layer for proper font support. Current implementation is gnarly.
  • Optimizations
    • Change the way surfaces are stored in memory from chunky to planar. This alone should provide significant speed improvements, as well as pave the way for future hardware optimization. (like Apple's new CoreImage)
    • Support for arbitrary color channels
    • Support for customizable color mixing gamma
  • User Interface
    • Re-write the canvas properties dialog, as it is currently too awkward and confusing
    • Reimplement the draw tool so that it is actually useful
    • Rewrite state_draw to handle simultaneous creation of region/bline/curve gradient, like state_region. (Snap)
      • Since that's basically recopying code, try to refactor this functionality into its own module somewhere? (Snap)



src/gtkmm/cellrenderer_timetrack.cpp (161)
Add in RangeGet so it's not so damn hard to click on points
src/gtkmm/cellrenderer_timetrack.h (104)
Make multiple... on both time and value select...
src/gtkmm/widget_timeslider.h (78)
Fill out blue pill stuff
src/synfigapp/blineconvert.cpp (496)
Tolerance should be set based upon digitization resolution (length dependent index selection)
src/synfigapp/blineconvert.cpp (584)
Must be sure that the break points are 3 or more apart then must also store the breaks which are not smooth, etc. and figure out tangents between there