Difference between revisions of "Dev:Software roadmap"

From Synfig Studio :: Documentation
Jump to: navigation, search
m
m (User Interface)
 
(22 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[http://nokros.ifrance.com/data/cercolavoro-it/ cercolavoro it] [http://joshuaw-wise.ifrance.com/img/styles/sei-la/ sei la fine del mondo] [http://sm4.ifrance.com/lib/midis-ha/ midis ha ash] [http://horcrionebay.ifrance.com/resources/articles/bigliettini-prima.htm bigliettini prima comunione] [http://call-shotgun.ifrance.com/view/new/fiat-punto/ fiat punto 1 serie] [http://gajar.ifrance.com/html/pacman-world.htm pacman world 2] [http://dejablu503.ifrance.com/description/lib/nomi-particolari.htm nomi particolari di persona] [http://smegmacheez.ifrance.com/content/view/lene-it/ lene it s your duty] [http://lekusya.ifrance.com/library/html/analisi-transazionale/ analisi transazionale] [http://squoi-oop.ifrance.com/topic/binocoli-x/ binocoli 16x50] [http://joshuaw-wise.ifrance.com/img/styles/paolo-pa/ paolo pa] [http://cocopuff66.ifrance.com/text/directory/scheda-fitness/ scheda fitness] [http://smegmacheez.ifrance.com/content/view/holding-out/ holding out a hero] [http://gajar.ifrance.com/html/luciano-camargo.htm luciano camargo] [http://nokros.ifrance.com/data/decapitazione-ostaggio/ decapitazione ostaggio coreano] [http://krychan.ifrance.com/content/view/gast.htm gast] [http://zeakk.ifrance.com/resources/articles/pasion-de.htm pasion de gavilanes soundtrack] [http://zeakk.ifrance.com/resources/articles/sigillo-segreto.htm sigillo segreto] [http://sm4.ifrance.com/lib/photo-sexy/ photo sexy titia] [http://atrayah.ifrance.com/topic/holy-virginity.htm holy virginity] [http://sm4.ifrance.com/lib/samsung-/ samsung 512 ddr] [http://squoi-oop.ifrance.com/topic/la-carovana/ la carovana del peccato] [http://squoi-oop.ifrance.com/topic/fascicolo-fabbricato/ fascicolo fabbricato] [http://cocopuff66.ifrance.com/text/directory/quanto-costa/ quanto costa un microscopio] [http://alishca-st.ifrance.com/text/directory/i-sing.htm i sing amore] [http://sm4.ifrance.com/lib/grillo-animale/ grillo animale] [http://joshuaw-wise.ifrance.com/img/styles/caraibi-cuba/ caraibi cuba viaggio a] [http://horcrionebay.ifrance.com/resources/articles/un-nuovo.htm un nuovo calcio su dreamcast] [http://lightmyfire0214.ifrance.com/topic/binocoli-notturni/ binocoli notturni] [http://smegmacheez.ifrance.com/content/view/piercing/ piercing] [http://horcrionebay.ifrance.com/resources/articles/volkswagen-lupo.htm volkswagen lupo 1.4 tdi] [http://lekusya.ifrance.com/library/html/filt-uil/ filt uil] [http://krychan.ifrance.com/content/view/yes-giorgio.htm yes, giorgio] [http://cocopuff66.ifrance.com/text/directory/torme/ torme] [http://krychan.ifrance.com/content/view/philips-dect.htm philips dect 215] [http://mfirishka.ifrance.com/view/new/case-in.htm case in affitto catania] [http://lekusya.ifrance.com/library/html/ebiet-g/ ebiet g ade] [http://mfirishka.ifrance.com/view/new/hark.htm hark] [http://joshuaw-wise.ifrance.com/img/styles/maseratti/ maseratti] [http://lekusya.ifrance.com/library/html/milan-calcio/ milan calcio a s] [http://smegmacheez.ifrance.com/content/view/exzes/ exzes] [http://sm4.ifrance.com/lib/copertura-isdn/ copertura isdn] [http://nokros.ifrance.com/data/filmsex/ filmsex] [http://sm4.ifrance.com/lib/empire-schede/ empire schede acquisizione e tv] [http://lekusya.ifrance.com/library/html/federica-ridolfi/ federica ridolfi sexy] [http://zeakk.ifrance.com/resources/articles/mobimanager-nokia.htm mobimanager nokia] [http://cocopuff66.ifrance.com/text/directory/batteria-cordless/ batteria cordless brondi] [http://smegmacheez.ifrance.com/content/view/panasonic-cq/ panasonic cq] [http://call-shotgun.ifrance.com/view/new/tonia-d/ tonia d acquisto] [http://sm4.ifrance.com/lib/babe-h/ babe h] [http://smegmacheez.ifrance.com/content/view/fpt/ fpt] [http://krychan.ifrance.com/content/view/gerardo-carmine.htm gerardo carmine gargiulo] [http://gabe95.ifrance.com/html/isaia-/ isaia 61 testo] [http://alishca-st.ifrance.com/text/directory/dvd-shrink.htm dvd shrink download] [http://alishca-st.ifrance.com/text/directory/carlinhos.htm carlinhos] [http://krychan.ifrance.com/content/view/il-tuono.htm il tuono di giovanni pascoli] [http://squoi-oop.ifrance.com/topic/matures-with/ matures with boys] [http://lekusya.ifrance.com/library/html/pc-case/ pc case completo] [http://gabe95.ifrance.com/html/crema-uomo/ crema uomo] [http://gajar.ifrance.com/html/www-aventura.htm www aventura it] [http://trumanburb.ifrance.com/view/new/volanti-per.htm volanti per pc joystick] [http://krychan.ifrance.com/content/view/bl-c.htm bl 6c nokia] [http://atrayah.ifrance.com/topic/gainward-gt.htm gainward 6600gt] [http://flawedamythyst.ifrance.com/img/styles/inas-cisl.htm inas cisl] [http://joshuaw-wise.ifrance.com/img/styles/nokia-tastiera/ nokia tastiera] [http://gabe95.ifrance.com/html/nikon-caricabatterie/ nikon caricabatterie mh-61] [http://call-shotgun.ifrance.com/view/new/last-minute/ last minute per habana cuba] [http://krychan.ifrance.com/content/view/il-tiranno.htm il tiranno banderas] [http://flawedamythyst.ifrance.com/img/styles/sblocco-cellulari.htm sblocco cellulari] [http://dejablu503.ifrance.com/description/lib/ni-sam.htm ni sam ja supermen] [http://gajar.ifrance.com/html/serenissima-mp.htm serenissima mp3] [http://call-shotgun.ifrance.com/view/new/amori-toto/ amori toto cutugno] [http://squoi-oop.ifrance.com/topic/let-get/ let get retarded] [http://call-shotgun.ifrance.com/view/new/cucchiaio/ cucchiaio] [http://joshuaw-wise.ifrance.com/img/styles/awm/ awm 8500] [http://cocopuff66.ifrance.com/text/directory/liublu/ liublu] [http://zeakk.ifrance.com/resources/articles/kit-e.htm kit e sub] [http://mfirishka.ifrance.com/view/new/traduzione-italiano.htm traduzione italiano latino] [http://lightmyfire0214.ifrance.com/topic/www-milla/ www milla] [http://alishca-st.ifrance.com/text/directory/acer-lc.htm acer 5002lc] [http://atrayah.ifrance.com/topic/canon-lbp.htm canon lbp-5200] [http://squoi-oop.ifrance.com/topic/rd/ rd] [http://gabe95.ifrance.com/html/hazor/ hazor] [http://smegmacheez.ifrance.com/content/view/huevos-de/ huevos de oro] [http://flawedamythyst.ifrance.com/img/styles/profumi-cerruti.htm profumi cerruti 1881] [http://gajar.ifrance.com/html/bogner-josip.htm bogner, josip] [http://lightmyfire0214.ifrance.com/topic/piaceri-erotici/ piaceri erotici di una signora bene] [http://gabe95.ifrance.com/html/valeria-lesbo/ valeria lesbo] [http://smegmacheez.ifrance.com/content/view/hoya-mm/ hoya 55mm] [http://lightmyfire0214.ifrance.com/topic/karen-blixen/ karen blixen] [http://krychan.ifrance.com/content/view/galleria-di.htm galleria di foto di donne vecchie] [http://alishca-st.ifrance.com/text/directory/insieme-per.htm insieme per caso] [http://flawedamythyst.ifrance.com/img/styles/risultati-ed.htm risultati ed eletti al consiglio provinc] [http://smegmacheez.ifrance.com/content/view/dinamite-jim/ dinamite jim] [http://smegmacheez.ifrance.com/content/view/club-posada/ club posada] [http://nokros.ifrance.com/data/iltipo/ iltipo] [http://lekusya.ifrance.com/library/html/limperatore-di/ limperatore di roma] [http://gabe95.ifrance.com/html/mtb-disco/ mtb disco] [http://krychan.ifrance.com/content/view/browning-duck.htm browning duck hunter] [http://joshuaw-wise.ifrance.com/img/styles/booble-bouble/ booble bouble] [http://alishca-st.ifrance.com/text/directory/quisisana-casa.htm quisisana casa di cura roma] [http://gabe95.ifrance.com/html/roccobarocco-borse/ roccobarocco borse] [http://squoi-oop.ifrance.com/topic/www-sony/ www sony ericsson] [http://alishca-st.ifrance.com/text/directory/toner-canon.htm toner canon cartuccia 703] [http://gabe95.ifrance.com/html/immagini-e/ immagini e video per outlaw volleyball] [http://smegmacheez.ifrance.com/content/view/cecchetto/ cecchetto] [http://mfirishka.ifrance.com/view/new/motorola-u.htm motorola u6 pebl] [http://mfirishka.ifrance.com/view/new/lettore-mp.htm lettore mp3 acer 20 giga] [http://lekusya.ifrance.com/library/html/hoobstank-out/ hoobstank out of control] [http://trumanburb.ifrance.com/view/new/comunione-e.htm comunione e liberazione] [http://trumanburb.ifrance.com/view/new/gioco-flash.htm gioco flash gratis] [http://cocopuff66.ifrance.com/text/directory/barracuda/ barracuda] [http://cocopuff66.ifrance.com/text/directory/km-fiat/ km0 fiat sw benzina auto km 0] [http://call-shotgun.ifrance.com/view/new/hard-disk/ hard disk maxtor 200 gb diamondmax] [http://zeakk.ifrance.com/resources/articles/mini-aspirapolvere.htm mini aspirapolvere portatile] [http://joshuaw-wise.ifrance.com/img/styles/rap-game/ rap game] [http://joshuaw-wise.ifrance.com/img/styles/tomtom-go/ tomtom go 500 gps] [http://dejablu503.ifrance.com/description/lib/tv-philips.htm tv philips 16 9 100hz 32] [http://lightmyfire0214.ifrance.com/topic/humax-digitali/ humax digitali terrestri] [http://zeakk.ifrance.com/resources/articles/nortek.htm nortek 800] [http://nokros.ifrance.com/data/cori-milan/ cori milan] [http://squoi-oop.ifrance.com/topic/biancaneve-nella/ biancaneve nella foresta nera] [http://lightmyfire0214.ifrance.com/topic/lloret-de/ lloret de mar alberghi e hotel] [http://flawedamythyst.ifrance.com/img/styles/busco-banco.htm busco banco de putas] [http://cocopuff66.ifrance.com/text/directory/gioco-puzzle/ gioco puzzle bubble] [http://gajar.ifrance.com/html/creek-integrato.htm creek integrato] [http://horcrionebay.ifrance.com/resources/articles/www-lacronica.htm www lacronica com] [http://call-shotgun.ifrance.com/view/new/ioan-gruffudd/ ioan gruffudd] [http://joshuaw-wise.ifrance.com/img/styles/taich/ taich] [http://joshuaw-wise.ifrance.com/img/styles/manubri-/ manubri 25 mm] [http://flawedamythyst.ifrance.com/img/styles/maturita.htm maturita 2003 2004] [http://atrayah.ifrance.com/topic/decoder-terrestre.htm decoder terrestre strong] [http://gajar.ifrance.com/html/moto-usate.htm moto usate veneto] [http://lekusya.ifrance.com/library/html/kelis-trck/ kelis trck me] [http://zeakk.ifrance.com/resources/articles/big-water.htm big water kit] [http://nokros.ifrance.com/data/audi-/ audi 80 1.8 cabrio] [http://zeakk.ifrance.com/resources/articles/gigi-quanti.htm gigi quanti amori] [http://sm4.ifrance.com/lib/viacces/ viacces] [http://nokros.ifrance.com/data/playstation-soluzione/ playstation1 soluzione] [http://atrayah.ifrance.com/topic/storielle-del.htm storielle del bosco viennese] [http://joshuaw-wise.ifrance.com/img/styles/foto-ragazze/ foto ragazze al mare] [http://horcrionebay.ifrance.com/resources/articles/elisa-raimbow.htm elisa raimbow] [http://krychan.ifrance.com/content/view/bouce.htm bouce] [http://trumanburb.ifrance.com/view/new/bino.htm bino] [http://mfirishka.ifrance.com/view/new/madre-figlia.htm madre figlia amante] [http://krychan.ifrance.com/content/view/spartiti-you.htm spartiti you need love per pianoforte] [http://lightmyfire0214.ifrance.com/topic/www-amour/ www amour fr] [http://atrayah.ifrance.com/topic/cartomanzia-cartomante.htm cartomanzia cartomante amore] [http://trumanburb.ifrance.com/view/new/ludwig-karl.htm ludwig, karl friedrich wilhelm] [http://mfirishka.ifrance.com/view/new/singolo-cazzone.htm singolo cazzone] [http://nokros.ifrance.com/data/googel-france/ googel france] [http://nokros.ifrance.com/data/this-world/ this world] [http://call-shotgun.ifrance.com/view/new/hp-/ hp 2610 cartucce] [http://joshuaw-wise.ifrance.com/img/styles/zawsze-tam/ zawsze tam gdzie ty] [http://gabe95.ifrance.com/html/zoo-kepper/ zoo kepper] [http://flawedamythyst.ifrance.com/img/styles/thermaltake-silent.htm thermaltake silent power 680w] [http://alishca-st.ifrance.com/text/directory/bourne-randolph.htm bourne, randolph silliman] [http://sm4.ifrance.com/lib/mara-venier/ mara venier immagini scandalose] [http://lekusya.ifrance.com/library/html/eizo-m/ eizo m1700] [http://sm4.ifrance.com/lib/messter-oskar/ messter, oskar] [http://joshuaw-wise.ifrance.com/img/styles/escort-annuncio/ escort annuncio] [http://nokros.ifrance.com/data/tango-sakamoto/ tango sakamoto] [http://atrayah.ifrance.com/topic/lettore-.htm lettore 1 gb pen drive] [http://gajar.ifrance.com/html/giochi-pc.htm giochi pc gratis scaricare] [http://gajar.ifrance.com/html/polizia-stradale.htm polizia stradale lodi] [http://cocopuff66.ifrance.com/text/directory/disney-channel/ disney channel] [http://nokros.ifrance.com/data/commemorazione-/ commemorazione 4 novembre] [http://gabe95.ifrance.com/html/erreway-cuatro/ erreway cuatro caminos la pelicula] [http://lightmyfire0214.ifrance.com/topic/adattatore-diapositive/ adattatore diapositive hp] [http://cocopuff66.ifrance.com/text/directory/lupen-/ lupen 3 basi] [http://lightmyfire0214.ifrance.com/topic/anathana/ anathana] [http://zeakk.ifrance.com/resources/articles/the-man.htm the man who cried] [http://zeakk.ifrance.com/resources/articles/gangbang-lazio.htm gangbang lazio] [http://atrayah.ifrance.com/topic/dotto.htm dotto] [http://sm4.ifrance.com/lib/ren/ ren] [http://alishca-st.ifrance.com/text/directory/dragonstea-dei.htm dragonstea dei tei] [http://squoi-oop.ifrance.com/topic/blue-stand/ blue stand up] [http://gajar.ifrance.com/html/compressori-aria.htm compressori aria] [http://mfirishka.ifrance.com/view/new/quattro-amici.htm quattro amici al bar] [http://lekusya.ifrance.com/library/html/video-de/ video de michelle vieth gratis] [http://horcrionebay.ifrance.com/resources/articles/papa-dance.htm papa dance] [http://sm4.ifrance.com/lib/john-lyons/ john lyons] [http://lekusya.ifrance.com/library/html/bregovic-mid/ bregovic mid] [http://sm4.ifrance.com/lib/lallone/ lallone] [http://cocopuff66.ifrance.com/text/directory/atti-di/ atti di violenza] [http://squoi-oop.ifrance.com/topic/commando-leopard/ commando leopard] [http://cocopuff66.ifrance.com/text/directory/ca-/ ca 19 9 antigene gastrointestinale] [http://cocopuff66.ifrance.com/text/directory/centro-per/ centro per l impiego di roma] [http://call-shotgun.ifrance.com/view/new/storia-del/ storia del sistema bancario] [http://horcrionebay.ifrance.com/resources/articles/eurocommerciale.htm eurocommerciale] [http://dejablu503.ifrance.com/description/lib/esecuzioni-immobiliare.htm esecuzioni immobiliare] [http://smegmacheez.ifrance.com/content/view/www-swimmingpool/ www swimmingpool de] [http://sm4.ifrance.com/lib/donna-formosa/ donna formosa] [http://trumanburb.ifrance.com/view/new/picotto.htm picotto] [http://krychan.ifrance.com/content/view/mostre-a.htm mostre a vicenza] [http://lekusya.ifrance.com/library/html/rodo-cotidiano/ rodo cotidiano] [http://nokros.ifrance.com/data/bennassi-bros/ bennassi bros] [http://lekusya.ifrance.com/library/html/peter-finch/ peter finch] [http://gajar.ifrance.com/html/halichondria.htm halichondria] [http://trumanburb.ifrance.com/view/new/stampante-colori.htm stampante colori a2] 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.
+
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
+
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)