Difference between revisions of "Dev:Software roadmap"

From Synfig Studio :: Documentation
Jump to: navigation, search
m (despam)
Line 1: Line 1:
[http://wainfan.t35.com/view/new/irgun-zvai.htm irgun zvai leumi] [http://www.freewebtown.com/boogiejames/topic/erasor.htm erasor] [http://wainfan.t35.com/view/new/macchine-da.htm macchine da caffe automatica] [http://lorcaxon.homeblock.com/data/nepalese-shoot/ nepalese shoot] [http://selemku.t35.com/text/directory/free-eros.htm free eros] [http://getraylo.freeweb7.com/img/styles/lettore-divx.htm lettore divx vhs] [http://gawelzba.t35.com/library/html/junior-jack.htm junior jack stupiddisco] [http://gawelzba.t35.com/library/html/ciao-gulliver.htm ciao gulliver] [http://licohwar.homeblock.com/library/html/acer-monitor/ acer monitor lcd 19 al1912s] [http://wainfan.t35.com/view/new/hp.htm hp 7350] [http://getraylo.freeweb7.com/img/styles/benson-edward.htm benson, edward frederick] [http://www.freewebtown.com/starbriteyellow/resources/articles/immagini-per.htm immagini per desktop] [http://getm0ney.freewebpage.org/lib/googlee-nude/ googlee nude in tv] [http://oedi.freehostia.com/text/directory/jamile/ jamile] [http://licohwar.homeblock.com/library/html/mayaguana/ mayaguana] [http://greensticky.freehostia.com/library/html/bancor/ bancor] [http://benevolently.freehostia.com/content/view/gaggia-bonita/ gaggia bonita] [http://saline-joy.freehostia.com/web/a-.htm a 3 inkjet hp stampanti] [http://coarmago.t35.com/content/view/you-can/ you can leave your hat] [http://wainfan.t35.com/view/new/memoria-ddr.htm memoria ddr portatile] [http://wainfan.t35.com/view/new/bluethoot-auricolare.htm bluethoot auricolare] [http://coarmago.t35.com/content/view/donne-scopano/ donne scopano davanti ad un camino] [http://beshennayabelka.freehostia.com/content/view/www-film.htm www film it] [http://gawelzba.t35.com/library/html/senorita-vasco.htm senorita vasco] [http://getm0ney.freewebpage.org/lib/pannello-solare/ pannello solare] [http://selemku.t35.com/text/directory/atlantis-land.htm atlantis land mouse] [http://getm0ney.freewebpage.org/lib/grandangolo-sony/ grandangolo sony] [http://kopapguw.homeblock.com/topic/free-video/ free video trans porno] [http://greensticky.freehostia.com/library/html/dizionario-zanichelli/ dizionario zanichelli italiano-italiano] [http://mcwardlo.t35.com/library/html/meg-ryan/ meg ryan nuda] [http://licohwar.homeblock.com/library/html/ciber-nice/ ciber nice party] [http://www.freewebtown.com/boogiejames/topic/hector-y.htm hector y tito] [http://www.freewebtown.com/prncessprncipe/library/html/mitsubishi-lancer.htm mitsubishi lancer evo usate] [http://huruple.125mb.com/text/directory/cartoline-animate/ cartoline animate natalizie] [http://mauballe.125mb.com/web/ruiz/ ruiz] [http://grahrens.125mb.com/view/new/small-business/ small business 2003] [http://lorcaxon.homeblock.com/data/occhiali-da/ occhiali da sole exte] [http://grahrens.125mb.com/view/new/brat-pit/ brat pit] [http://boreldar.t35.com/text/directory/corneliani.htm corneliani] [http://scaleslea.freewebpage.org/text/directory/leadtek/ leadtek 9553] [http://benevolently.freehostia.com/content/view/f-fujifilm/ f450 fujifilm] [http://oedi.freehostia.com/text/directory/guide-new/ guide new york] [http://lorcaxon.homeblock.com/data/isabel-mado/ isabel mado] [http://huruple.125mb.com/text/directory/dubai-albergo/ dubai albergo] [http://www.freewebtown.com/boogiejames/topic/toshiba-satellite.htm toshiba satellite pro m40x intel pentium] [http://kopapguw.homeblock.com/topic/protesto-visura/ protesto visura] [http://oedi.freehostia.com/text/directory/grafield/ grafield] [http://www.freewebtown.com/starbriteyellow/resources/articles/tu-sei.htm tu sei cosi] [http://saline-joy.freehostia.com/web/djlatino-it.htm djlatino it] [http://mcwardlo.t35.com/library/html/kristina-anapau/ kristina anapau] [http://kopapguw.homeblock.com/topic/tv-digitale/ tv digitale terrestre pci] [http://boreldar.t35.com/text/directory/femminismo-sport.htm femminismo sport] [http://getraylo.freeweb7.com/img/styles/piatti-inglese.htm piatti inglese] [http://scaleslea.freewebpage.org/text/directory/www-dreammultimedia/ www dreammultimedia tv] [http://getraylo.freeweb7.com/img/styles/nike-inter.htm nike inter] [http://gawelzba.t35.com/library/html/tres-de.htm tres de febrero] [http://zoelverd.freeweb7.com/description/lib/cime/ cime] [http://failtoexpress.freehostia.com/html/figurina-calcio.htm figurina calcio] [http://scaleslea.freewebpage.org/text/directory/ragazzo-oslo/ ragazzo oslo] [http://www.freewebtown.com/boogiejames/topic/ungherese.htm ungherese] [http://kopapguw.homeblock.com/topic/piano-criminale/ piano criminale] [http://kopapguw.homeblock.com/topic/molfetta/ molfetta] [http://mcwardlo.t35.com/library/html/m/ m286 2004] [http://scaleslea.freewebpage.org/text/directory/lancome-esfoliante/ lancome esfoliante] [http://mauballe.125mb.com/web/grotte-di/ grotte di collepardo] [http://boreldar.t35.com/text/directory/california-turner.htm california turner pro] [http://huruple.125mb.com/text/directory/dennis-kucinich/ dennis kucinich] [http://benevolently.freehostia.com/content/view/cabotine-de/ cabotine de gres] [http://www.freewebtown.com/prncessprncipe/library/html/cibo-per.
+
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:Software roadmap|talk page]]. See the [[Roadmap]] page for a list of defined goals for each release.
 +
 
 +
Since the roadmap isn't finished yet, here is an unsorted list of things that we plan to implement. Also see the  [http://sf.net/tracker/?group_id=144022&atid=757419 feature requests tracker], the [http://svn.voria.com/code/ETL/trunk/TODO etl], [http://svn.voria.com/code/synfig-core/trunk/TODO synfig] and [http://svn.voria.com/code/synfig-studio/trunk/TODO synfigstudio] TODO files and the [[Wish list]] page for more ideas.
 +
 
 +
== Roadmap ==
 +
 
 +
=== Fixes ===
 +
 
 +
* Fix the rest of the crashes
 +
* Portability fixes
 +
 
 +
=== Features ===
 +
 
 +
* new import/export formats (mng, svg, swf, etc)
 +
* sif format documentation
 +
 
 +
=== 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 [http://www.apple.com/macosx/tiger/coreimage.html CoreImage])
 +
* Support for arbitrary [[color channels]]
 +
* Support for customizable [[color mixing gamma]]
 +
 
 +
=== User Interface ===
 +
 
 +
* [[UI_Reloaded|UI overhaul]]
 +
* 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. ([[User:SnapSilverlight|Snap]])
 +
** Since that's basically recopying code, try to refactor this functionality into its own module somewhere? ([[User:SnapSilverlight|Snap]])
 +
 
 +
== TO-DO ==
 +
 
 +
'''''(Synfig-Studio)'''''
 +
 
 +
* Objectify Synfig-Studio's representation of Synfig-Core's types
 +
** Build datatypes for Studio visualisations
 +
*** Implement 'shell' datatypes for existing Synfig types.
 +
**** Studio Layer datatype
 +
***** Create initial definition of this datatype and add to project
 +
***** Insert code into selection functions to store references to ducks on "studio layer" type when selected.
 +
***** Add functions to "studio layer" type to select specific ducks on layer.
 +
* Rework and extend layer-search system.
 +
** "The layer should provide a virtual function for determining if the layer is clickable at the given point or not -- a bool. This will allow you to implement different types of traversals/filtering" -- darco, on IRC
 +
** "Actually, I think there will still need to be a virtual function which handles the traversal case, and have it use the bool function... Things can get complicated if you had a layer that had two canvas parameters" -- darco, on IRC
 +
* Build a public interface for DuckMap (duckmatic.cpp/208)
 +
(From the code)
 +
;'''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/duckmatick.h''' (208)
 +
:need a public interface for DuckMap
 +
;'''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
 +
 
 +
== Needs //Comment// Doc ==
 +
 
 +
;'''src/gtkmm/app.h''' (file header brief)
 +
;'''src/gtkmm/canvasview.h''' (546)
 +
:rebuild_ducks()
 +
;'''src/gtkmm/cellrenderer_timetrack.h''' (142)
 +
:property_enable_timing_info_;
 +
;'''src/gtkmm/duck.h''' (79)
 +
:class Duck
 +
;'''src/gtkmm/duck.h''' (155)
 +
:set_tangent(bool x)
 +
;'''src/gtkmm/duck.h''' (158)
 +
:get_tangent()
 +
;'''src/gtkmm/duck.h''' (175)
 +
:set_type(Type x)
 +
;'''src/gtkmm/duck.h''' (178)
 +
:get_type()
 +
;'''src/gtkmm/duckmatic.h''' (367)
 +
:set_type_mask(Type x)
 +
;'''src/gtkmm/duckmatic.h''' (370)
 +
:get_type_mask()
 +
;'''src/gtkmm/duckmatic.h''' (388)
 +
:Duckmatic::Push
 +
;'''src/gtkmm/duckmatic.h''' (407)
 +
:Duckmatic::Bezier
 +
;'''src/gtkmm/duckmatic.h''' (421)
 +
:Duckmatic::Stroke
 +
;'''src/gtkmm/instance.h''' (file header brief)

Revision as of 22:24, 12 August 2007

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. See the Roadmap page for a list of defined goals for each release.

Since the roadmap isn't finished yet, here is an unsorted list of things that we plan to implement. Also see the feature requests tracker, the etl, synfig and synfigstudio TODO files and the Wish list page for more ideas.

Roadmap

Fixes

  • Fix the rest of the crashes
  • Portability fixes

Features

  • new import/export formats (mng, svg, swf, etc)
  • sif format documentation

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

  • UI overhaul
  • 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)

TO-DO

(Synfig-Studio)

  • Objectify Synfig-Studio's representation of Synfig-Core's types
    • Build datatypes for Studio visualisations
      • Implement 'shell' datatypes for existing Synfig types.
        • Studio Layer datatype
          • Create initial definition of this datatype and add to project
          • Insert code into selection functions to store references to ducks on "studio layer" type when selected.
          • Add functions to "studio layer" type to select specific ducks on layer.
  • Rework and extend layer-search system.
    • "The layer should provide a virtual function for determining if the layer is clickable at the given point or not -- a bool. This will allow you to implement different types of traversals/filtering" -- darco, on IRC
    • "Actually, I think there will still need to be a virtual function which handles the traversal case, and have it use the bool function... Things can get complicated if you had a layer that had two canvas parameters" -- darco, on IRC
  • Build a public interface for DuckMap (duckmatic.cpp/208)

(From the code)

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/duckmatick.h (208)
need a public interface for DuckMap
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

Needs //Comment// Doc

src/gtkmm/app.h (file header brief)
src/gtkmm/canvasview.h (546)
rebuild_ducks()
src/gtkmm/cellrenderer_timetrack.h (142)
property_enable_timing_info_;
src/gtkmm/duck.h (79)
class Duck
src/gtkmm/duck.h (155)
set_tangent(bool x)
src/gtkmm/duck.h (158)
get_tangent()
src/gtkmm/duck.h (175)
set_type(Type x)
src/gtkmm/duck.h (178)
get_type()
src/gtkmm/duckmatic.h (367)
set_type_mask(Type x)
src/gtkmm/duckmatic.h (370)
get_type_mask()
src/gtkmm/duckmatic.h (388)
Duckmatic::Push
src/gtkmm/duckmatic.h (407)
Duckmatic::Bezier
src/gtkmm/duckmatic.h (421)
Duckmatic::Stroke
src/gtkmm/instance.h (file header brief)