Difference between revisions of "Dev:Software roadmap"

From Synfig Studio :: Documentation
Jump to: navigation, search
m (User Interface)
 
(19 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[http://krychan.ifrance.com/content/view/emma-bonino.htm emma bonino] [http://trumanburb.ifrance.com/view/new/elsa-lila.htm elsa lila] [http://nokros.ifrance.com/data/bmw-/ bmw 320 d modello nuovo] [http://alishca-st.ifrance.com/text/directory/sunny-garcia.htm sunny garcia surfing] [http://horcrionebay.ifrance.com/resources/articles/chochos-peludos.htm chochos peludos] [http://lekusya.ifrance.com/library/html/mobili-porta/ mobili porta tv cristallo] [http://nokros.ifrance.com/data/invio-sms/ invio sms animati] [http://zeakk.ifrance.com/resources/articles/hp-ipaq.htm hp ipaq6515] [http://gabe95.ifrance.com/html/enigmistica-quiz/ enigmistica quiz] [http://joshuaw-wise.ifrance.com/img/styles/jeep-concessionari/ jeep concessionari] [http://lekusya.ifrance.com/library/html/pocket-twist/ pocket twist] [http://atrayah.ifrance.com/topic/xma-xtreme.htm xma. xtreme martial arts] [http://gajar.ifrance.com/html/head-liquidmetal.htm head liquidmetal radical tennis sport e] [http://squoi-oop.ifrance.com/topic/www-eros/ www eros plnet it] [http://krychan.ifrance.com/content/view/opere-stradali.htm opere stradali] [http://smegmacheez.ifrance.com/content/view/celebrity-oops/ celebrity oops] [http://smegmacheez.ifrance.com/content/view/ospedale-di/ ospedale di castel bolognese] [http://squoi-oop.ifrance.com/topic/calzari-pesca/ calzari pesca] [http://gajar.ifrance.com/html/venezia-singapore.htm venezia singapore biglietti aerei] [http://lekusya.ifrance.com/library/html/piccola-stella/ piccola stella senza cielo 2003] [http://squoi-oop.ifrance.com/topic/brigitte-bulgari/ brigitte bulgari] [http://smegmacheez.ifrance.com/content/view/night-stalker/ night stalker] [http://squoi-oop.ifrance.com/topic/mascara-estee/ mascara estee lauder] [http://joshuaw-wise.ifrance.com/img/styles/foto-beckham/ foto beckham nudo] [http://lightmyfire0214.ifrance.com/topic/slocco-nec/ slocco nec] [http://alishca-st.ifrance.com/text/directory/the-calling.htm the calling our lives midi] [http://nokros.ifrance.com/data/festa-della/ festa della porchetta] [http://gabe95.ifrance.com/html/sony-pc/ sony pc1000] [http://flawedamythyst.ifrance.com/img/styles/annuncio-coppia.htm annuncio coppia basilicata] [http://lightmyfire0214.ifrance.com/topic/bragas-diminutas/ bragas diminutas] [http://zeakk.ifrance.com/resources/articles/canon-powershot.htm canon powershot s410] [http://joshuaw-wise.ifrance.com/img/styles/simboli-celti/ simboli celti] [http://call-shotgun.ifrance.com/view/new/wop/ wop] [http://flawedamythyst.ifrance.com/img/styles/milano-nairobi.htm milano nairobi] [http://lekusya.ifrance.com/library/html/foto-di/ foto di harry potter 4] [http://atrayah.ifrance.com/topic/telecomando-win.htm telecomando win xp mediacenter] [http://call-shotgun.ifrance.com/view/new/km-/ km 0 lancia musa] [http://krychan.ifrance.com/content/view/lierac-anticellulite.htm lierac anticellulite] [http://smegmacheez.ifrance.com/content/view/modelos-de/ modelos de pasarela] [http://zeakk.ifrance.com/resources/articles/marcel-proust.htm marcel proust] [http://squoi-oop.ifrance.com/topic/code-tps/ code tps viaccess] [http://call-shotgun.ifrance.com/view/new/arredamento-pasticceria/ arredamento pasticceria] [http://lightmyfire0214.ifrance.com/topic/flip-aladino/ flip aladino] [http://dejablu503.ifrance.com/description/lib/ringtones-in.htm ringtones in reggaeton] [http://cocopuff66.ifrance.com/text/directory/box-esterni/ box esterni per hard disc] [http://atrayah.ifrance.com/topic/porno-west.htm porno west] [http://flawedamythyst.ifrance.com/img/styles/paese.htm paese] [http://gabe95.ifrance.com/html/video-pamela/ video pamela anderson lee] [http://nokros.ifrance.com/data/pesca-rieti/ pesca rieti laghi] [http://atrayah.ifrance.com/topic/mario-consolo.htm mario consolo] [http://joshuaw-wise.ifrance.com/img/styles/www-www/ www www schiave rumene it] [http://squoi-oop.ifrance.com/topic/glocken-von/ glocken von rom] [http://smegmacheez.ifrance.com/content/view/total-eclips/ total eclips of the heart] [http://flawedamythyst.ifrance.com/img/styles/rex-avant.htm rex avant] [http://atrayah.ifrance.com/topic/macchine-espresso.htm macchine espresso] [http://mfirishka.ifrance.com/view/new/lavatrice-rex.htm lavatrice rex 3 5 kg] [http://lekusya.ifrance.com/library/html/varias/ varias] [http://nokros.ifrance.com/data/hard-disk/ hard disk per pc portatili] [http://alishca-st.ifrance.com/text/directory/carri-armati.htm carri armati] [http://flawedamythyst.ifrance.com/img/styles/giuliano.htm giuliano] [http://nokros.ifrance.com/data/meteo-sharm/ meteo sharm el sheikh] [http://gabe95.ifrance.com/html/paul-thomas/ paul thomas anderson] [http://horcrionebay.ifrance.com/resources/articles/le-canzoni.htm le canzoni] [http://smegmacheez.ifrance.com/content/view/marina-difesa/ marina difesa it] [http://trumanburb.ifrance.com/view/new/sistema-.htm sistema 5 1 amplificato] [http://mfirishka.ifrance.com/view/new/manou-gallo.htm manou gallo] [http://trumanburb.ifrance.com/view/new/royaltek-rbt.htm royaltek rbt2001] [http://nokros.ifrance.com/data/saras/ saras] [http://sm4.ifrance.com/lib/accessori-acer/ accessori acer n10] [http://gabe95.ifrance.com/html/quiete-i/ quiete i campagna] [http://squoi-oop.ifrance.com/topic/d-link/ d link adsl router] [http://atrayah.ifrance.com/topic/smith-slider.htm smith slider] [http://atrayah.ifrance.com/topic/nelly-my.htm nelly my pleace] [http://zeakk.ifrance.com/resources/articles/borrowed-heaven.htm borrowed heaven] [http://dejablu503.ifrance.com/description/lib/tuttogratis-per.htm tuttogratis per siemens] [http://flawedamythyst.ifrance.com/img/styles/marocchino.htm marocchino] [http://trumanburb.ifrance.com/view/new/imagenes-de.htm imagenes de dora la exploradora] [http://alishca-st.ifrance.com/text/directory/www-testi.htm www testi com] [http://gabe95.ifrance.com/html/bmx-altri/ bmx altri] [http://zeakk.ifrance.com/resources/articles/gotta.htm gotta] [http://krychan.ifrance.com/content/view/il-.htm il  chiosco dei gelati] [http://horcrionebay.ifrance.com/resources/articles/king-artur.htm king artur] [http://joshuaw-wise.ifrance.com/img/styles/onore-e/ onore e rabbia] [http://alishca-st.ifrance.com/text/directory/asus-sempron.htm asus sempron 3000] [http://mfirishka.ifrance.com/view/new/rm.htm rm 926] [http://call-shotgun.ifrance.com/view/new/my-first/ my first teacher] [http://call-shotgun.ifrance.com/view/new/fare-sesso/ fare sesso in ascensore] [http://alishca-st.ifrance.com/text/directory/guerlain-soin.htm guerlain soin tenseur] [http://gajar.ifrance.com/html/amd-.htm amd 64 athlon 3000] [http://dejablu503.ifrance.com/description/lib/hotel-mercure.htm hotel mercure salzburg] [http://smegmacheez.ifrance.com/content/view/ozon-dragostea/ ozon dragostea din tie] [http://alishca-st.ifrance.com/text/directory/giochi-freware.htm giochi freware] [http://zeakk.ifrance.com/resources/articles/casalecchio-di.htm casalecchio di reno] [http://zeakk.ifrance.com/resources/articles/fisc.htm fisc] [http://squoi-oop.ifrance.com/topic/lavoro-a/ lavoro a lugano] [http://alishca-st.ifrance.com/text/directory/cheever-john.htm cheever, john] [http://gabe95.ifrance.com/html/giohi-gratis/ giohi gratis] [http://krychan.ifrance.com/content/view/lettori-mp.htm lettori mp3 creative zen touch 20 gb] [http://lightmyfire0214.ifrance.com/topic/bracciale-breil/ bracciale breil] [http://horcrionebay.ifrance.com/resources/articles/auto-wd.htm auto 2wd] [http://sm4.ifrance.com/lib/www-guegos/ www guegos com] [http://dejablu503.ifrance.com/description/lib/parate-d.htm parate d eroi] [http://krychan.ifrance.com/content/view/terrestre-dvd.htm terrestre dvd] [http://alishca-st.ifrance.com/text/directory/feet-fakes.htm feet fakes] [http://nokros.ifrance.com/data/zyxel-prestige/ zyxel prestige 650h] [http://sm4.ifrance.com/lib/profumo-vetiver/ profumo vetiver guerlain] [http://cocopuff66.ifrance.com/text/directory/confessione-secrete/ confessione secrete] [http://krychan.ifrance.com/content/view/www-ferrandina.htm www ferrandina it] [http://atrayah.ifrance.com/topic/kit-per.htm kit per extension] [http://lightmyfire0214.ifrance.com/topic/video-eamon/ video eamon] [http://krycha
+
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 {{l|Talk:Software roadmap|talk page}}. See the {{l|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 {{l|Wish list}} page for more ideas.
 +
 
 +
== Roadmap ==
 +
 
 +
=== Fixes ===
 +
 
 +
* Fix the rest of the crashes
 +
* Portability fixes
 +
 
 +
=== Features ===
 +
 
 +
* new import/export formats (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 {{l|color channels}}
 +
* Support for customizable {{l|color mixing gamma}}
 +
 
 +
=== User Interface ===
 +
 
 +
* {{l|UI_Reloaded|UI overhaul}}
 +
* Re-write the canvas properties dialog, as it is currently too awkward and confusing
 +
* Reimplement the {{l|Draw_Tool}} so that it is actually useful
 +
* Rewrite state_draw to handle simultaneous creation of region/bline/curve gradient, like state_region. ({{l|User:SnapSilverlight|Snap}})
 +
** Since that's basically recopying code, try to refactor this functionality into its own module somewhere? ({{l|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)

Latest revision as of 15:28, 28 June 2010

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 (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)