Difference between revisions of "Dev:Software roadmap"

From Synfig Studio :: Documentation
Jump to: navigation, search
m
m (User Interface)
 
(32 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[http://deviantrus.ifrance.com/topic/celeron/ celeron 2400] [http://noxuhax.ifrance.com/content/view/frigorifero-accendisigari.htm frigorifero accendisigari] [http://kalian42.ifrance.com/text/directory/casalecchio-sul/ casalecchio sul reno] [http://demurediablo.ifrance.com/library/html/il-re/ il re dei pagliacci] [http://lovereceier.ifrance.com/lib/hd-usb.htm hd usb mp3] [http://girlwho-is.ifrance.com/img/styles/hp-laser.htm hp laser color] [http://lovereceier.ifrance.com/lib/antonello-de.htm antonello de pierro giovanna] [http://speedofsoun.ifrance.com/text/directory/missa-criolla.htm missa criolla] [http://lovereceier.ifrance.com/lib/www-tu.htm www tu juegas com] [http://yeeden.ifrance.com/img/styles/ef-s/ ef s 17-85] [http://lovereceier.ifrance.com/lib/foto-serena.htm foto serena gf] [http://demurediablo.ifrance.com/library/html/finale-amplificazione/ finale amplificazione ed effetti] [http://voltia.ifrance.com/content/view/bbloom.htm bbloom] [http://singaporepets.ifrance.com/library/html/cuore-uno.htm cuore uno zingaro] [http://noxuhax.ifrance.com/content/view/foto-ragazze.htm foto ragazze penisola sorrentina] [http://yeeden.ifrance.com/img/styles/appartamento-in/ appartamento in albenga] [http://akmokanzen.ifrance.com/images/small/foto-sborrate.htm foto sborrate di gruppo] [http://singaporepets.ifrance.com/library/html/miele-s.htm miele s718] [http://lordsander.ifrance.com/topic/offerte-di.htm offerte di lavoro in puglia] [http://tizolaa.ifrance.com/web/tiziano-ferro/ tiziano ferro nonme lo so spiegare] [http://highbulp.ifrance.com/images/small/despres/ despres] [http://tat-ooin.ifrance.com/resources/articles/notebook-p.htm notebook p4 3 4] [http://oiyaoi.ifrance.com/images/small/plotter-hp/ plotter hp 4000] [http://kalian42.ifrance.com/text/directory/processori-prezzi/ processori prezzi] [http://girlwho-is.ifrance.com/img/styles/internet-black.htm internet black jack] [http://speedofsoun.ifrance.com/text/directory/opole-voivodato.htm opole (voivodato)] [http://tat-ooin.ifrance.com/resources/articles/nokia-.htm nokia 6630 con radio fm] [http://jdawsona.ifrance.com/data/steel-trade/ steel trade] [http://voltia.ifrance.com/content/view/alessia-fabiani.htm alessia fabiani s buona domenica] [http://jdawsona.ifrance.com/data/radio-deejai/ radio deejai] [http://broadwaylili.ifrance.com/content/view/destinator.htm destinator] [http://tizolaa.ifrance.com/web/vendetta-trasversale/ vendetta trasversale] [http://kalian42.ifrance.com/text/directory/giochino/ giochino] [http://lordsander.ifrance.com/topic/karma-rosenberg.htm karma rosenberg] [http://toofarfrommaybe.ifrance.com/view/new/sto-cazzo/ sto cazzo] [http://kalian42.ifrance.com/text/directory/telecomando-microsoft/ telecomando microsoft mce] [http://lovereceier.ifrance.com/lib/mazonakis-giorgo.htm mazonakis giorgo] [http://noxuhax.ifrance.com/content/view/se-fosse.htm se fosse a modo mio] [http://kalian42.ifrance.com/text/directory/bicchiere-murano/ bicchiere murano] [http://demurediablo.ifrance.com/library/html/sono-bugiarda/ sono bugiarda] [http://speedofsoun.ifrance.com/text/directory/il-volto.htm il volto del fuggiasco] [http://noxuhax.ifrance.com/content/view/albergo-milano.htm albergo milano malpensa] [http://lordsander.ifrance.com/topic/fernando-de.htm fernando de noronha] [http://deviantrus.ifrance.com/topic/delonghi-condizionatori/ delonghi condizionatori e ventilatori] [http://singaporepets.ifrance.com/library/html/with-voice.htm with voice] [http://oiyaoi.ifrance.com/images/small/mp-porno/ mp3 porno italiano] [http://highbulp.ifrance.com/images/small/hp-pavilion/ hp pavilion athlon 64] [http://voltia.ifrance.com/content/view/caschi-cromwell.htm caschi cromwell] [http://singaporepets.ifrance.com/library/html/amplificatore-di.htm amplificatore di potenza] [http://voltia.ifrance.com/content/view/b-m.htm b m w r 75 5] [http://tizolaa.ifrance.com/web/is-this/ is this love di bob marley] [http://highbulp.ifrance.com/images/small/sfondi-gif/ sfondi gif] [http://jdawsona.ifrance.com/data/tette-di/ tette di janet jackson] [http://lovereceier.ifrance.com/lib/oscar-d.htm oscar d leone] [http://lordsander.ifrance.com/topic/www-duravit.htm www duravit com] [http://toofarfrommaybe.ifrance.com/view/new/samsung-le/ samsung le 37] [http://tat-ooin.ifrance.com/resources/articles/amplificatori-audio.htm amplificatori audio stereo pioneer] [http://tat-ooin.ifrance.com/resources/articles/parchi.htm parchi] [http://tat-ooin.ifrance.com/resources/articles/costa-del.htm costa del sol vacanze] [http://igaros.ifrance.com/lib/suoneria-/ suoneria 90 minuto] [http://kalian42.ifrance.com/text/directory/www-stronghold/ www stronghold it] [http://singaporepets.ifrance.com/library/html/pennina.htm pennina] [http://noxuhax.ifrance.com/content/view/bmx-triks.htm bmx triks] [http://broadwaylili.ifrance.com/content/view/sogno-interrotto.htm sogno interrotto] [http://tat-ooin.ifrance.com/resources/articles/videogiochi-ps.htm videogiochi ps1] [http://lovereceier.ifrance.com/lib/vendita-motousate.htm vendita motousate] [http://singaporepets.ifrance.com/library/html/yamaha-s.htm yamaha -s550] [http://igaros.ifrance.com/lib/notte-romantica/ notte romantica] [http://lordsander.ifrance.com/topic/gurda.htm gurda] [http://lordsander.ifrance.com/topic/la-danza.htm la danza delle streghe gabri ponte testo] [http://highbulp.ifrance.com/images/small/stampo-per/ stampo per ravioli] [http://yeeden.ifrance.com/img/styles/sarajevo-slike/ sarajevo slike] [http://akmokanzen.ifrance.com/images/small/galattica-autostoppisti.htm galattica autostoppisti] [http://noxuhax.ifrance.com/content/view/dissipatore.htm dissipatore 370] [http://oiyaoi.ifrance.com/images/small/lcd-hp/ lcd hp vs17] [http://toofarfrommaybe.ifrance.com/view/new/monica-anselmi/ monica anselmi] [http://demurediablo.ifrance.com/library/html/hp-compaq/ hp compaq center] [http://voltia.ifrance.com/content/view/san-benedetto.htm san benedetto] [http://igaros.ifrance.com/lib/siti-hentay/ siti hentay] [http://akmokanzen.ifrance.com/images/small/auto-occasione.htm auto occasione svizzera] [http://oiyaoi.ifrance.com/images/small/regole-pokemon/ regole pokemon] [http://highbulp.ifrance.com/images/small/whenever/ whenever] [http://tizolaa.ifrance.com/web/weekend-relax/ weekend relax] [http://noxuhax.ifrance.com/content/view/richard-dewitte.htm richard dewitte] [http://highbulp.ifrance.com/images/small/mp-fm/ mp3 fm gb] [http://igaros.ifrance.com/lib/grandes-labios/ grandes labios] [http://yeeden.ifrance.com/img/styles/cartine-geografiche/ cartine geografiche riviera romagnola] [http://lovereceier.ifrance.com/lib/aspira-solidi.htm aspira solidi e liquidi] [http://kalian42.ifrance.com/text/directory/contacalorie/ contacalorie] [http://voltia.ifrance.com/content/view/archos-.htm archos 20 gb] [http://highbulp.ifrance.com/images/small/decreto-urbani/ decreto urbani new] [http://toofarfrommaybe.ifrance.com/view/new/moana-baby/ moana baby film dvd] [http://singaporepets.ifrance.com/library/html/erika-barre.htm erika barre] [http://toofarfrommaybe.ifrance.com/view/new/the-monkees/ the monkees] [http://highbulp.ifrance.com/images/small/hp-officejet/ hp officejet 7140xi] [http://deviantrus.ifrance.com/topic/lettori-mp/ lettori mp3 1gb radio] [http://akmokanzen.ifrance.com/images/small/canon-rebel.htm canon rebel slr] [http://lordsander.ifrance.com/topic/morsello.htm morsello] [http://deviantrus.ifrance.com/topic/indossatore-foppapedretti/ indossatore foppapedretti] [http://toofarfrommaybe.ifrance.com/view/new/kate-nude/ kate nude] [http://voltia.ifrance.com/content/view/traduzione-di.htm traduzione di broken di amy lee] [http://lovereceier.ifrance.com/lib/annuncio-lavoro.htm annuncio lavoro lecce] [http://deviantrus.ifrance.com/topic/climatizzatori-daikin/ climatizzatori daikin] [http://lovereceier.ifrance.com/lib/vendita-casa.htm vendita casa vacanza] [http://akmokanzen.ifrance.com/images/small/mercedes-nuove.htm mercedes nuove] [http://igaros.ifrance.com/lib/little-tony/ little tony dj] [http://toofarfrommaybe.ifrance.com/view/new/video-pamela/ video pamela andersson] [http://jdawsona.ifrance.com/data/junius/ junius] [http://singaporepets.ifrance.com/library/html/kenneth-jones.htm kenneth jones] [http://tat-ooin.ifrance.com/resources/articles/born-try.htm born try] [http://akmokanzen.ifrance.com/images/small/somebody-else.htm somebody else s lover] [http://kalian42.ifrance.com/text/directory/blaupunkt-/ blaupunkt 5 cd] [http://oiyaoi.ifrance.com/images/small/cartina-oxford/ cartina oxford] [http://tat-ooin.ifrance.com/resources/articles/slip-arancio.htm slip arancio] [http://deviantrus.ifrance.com/topic/una-demo/ una demo per knights of the temple] [http://girlwho-is.ifrance.com/img/styles/video-de.htm video de ivy quin] [http://highbulp.ifrance.com/images/small/condizionatore-panasonic/ condizionatore panasonic inverter] [http://tat-ooin.ifrance.com/resources/articles/gom.htm gom] [http://akmokanzen.ifrance.com/images/small/turisti-per.htm turisti per caso in repubblica ceca] [http://yeeden.ifrance.com/img/styles/canne-per/ canne per la pesca] [http://girlwho-is.ifrance.com/img/styles/ultimate-warrior.htm ultimate warrior torna sul ring] [http://oiyaoi.ifrance.com/images/small/dj-rush/ dj rush] [http://lordsander.ifrance.com/topic/gym-giordani.htm gym giordani] [http://highbulp.ifrance.com/images/small/alcamo-tp/ alcamo tp singole] [http://voltia.ifrance.com/content/view/cartoni-cinesi.htm cartoni cinesi] [http://girlwho-is.ifrance.com/img/styles/auto-noleggio.htm auto noleggio scandicci] [http://jdawsona.ifrance.com/data/shaloom/ shaloom] [http://broadwaylili.ifrance.com/content/view/ibm-am.htm ibm a21m thinkpad batteria] [http://highbulp.ifrance.com/images/small/romeo-french/ romeo french version] [http://singaporepets.ifrance.com/library/html/minne.htm minne] [http://highbulp.ifrance.com/images/small/tisacli/ tisacli] [http://tizolaa.ifrance.com/web/europeitaly/ europe-italy] [http://highbulp.ifrance.com/images/small/abbigliamento-negozi/ abbigliamento negozi] [http://yeeden.ifrance.com/img/styles/riciclaggio/ riciclaggio] [http://demurediablo.ifrance.com/library/html/un-angelo/ un angelo per ribot] [http://kalian42.ifrance.com/text/directory/the-king/ the king of route 66] [http://broadwaylili.ifrance.com/content/view/camper-noleggio.htm camper noleggio] [http://jdawsona.ifrance.com/data/fotoromanzi-porno/ fotoromanzi porno gratis] [http://kalian42.ifrance.com/text/directory/cacion/ cacion] [http://akmokanzen.ifrance.com/images/small/recuerdos-del.htm recuerdos del alambra] [http://tat-ooin.ifrance.com/resources/articles/mio-core.htm mio core] [http://toofarfrommaybe.ifrance.com/view/new/corse-pazze/ corse pazze] [http://kalian42.ifrance.com/text/directory/ram-ddr/ ram ddr2 533] [http://akmokanzen.ifrance.com/images/small/navigator-.htm navigator 5 tom tom] [http://speedofsoun.ifrance.com/text/directory/www-que.htm www que fuerte cm] [http://tizolaa.ifrance.com/web/rcm-service/ rcm service sas] [http://girlwho-is.ifrance.com/img/styles/rotunno-mario.htm rotunno mario] [http://singaporepets.ifrance.com/library/html/oe.htm oe] [http://jdawsona.ifrance.com/data/indesit-a/ indesit a] [http://lordsander.ifrance.com/topic/nemo-nigthwish.htm nemo nigthwish] [http://broadwaylili.ifrance.com/content/view/verde-foglia.htm verde foglia] [http://toofarfrommaybe.ifrance.com/view/new/software-nero/ software nero 6 reloaded] [http://deviantrus.ifrance.com/topic/crime-scorpions/ crime scorpions] [http://broadwaylili.ifrance.com/content/view/informannunci.htm informannunci] [http://toofarfrommaybe.ifrance.com/view/new/peters-c/ peters c. f.] [http://kalian42.ifrance.com/text/directory/remix-loredana/ remix loredana berte] [http://yeeden.ifrance.com/img/styles/dormire-monaco/ dormire monaco baviera] [http://jdawsona.ifrance.com/data/testo-dell/ testo dell canzone a chi mi dice dei blue] [http://oiyaoi.ifrance.com/images/small/paravisi/ paravisi] [http://yeeden.ifrance.com/img/styles/kettler-sx/ kettler sx] [http://tat-ooin.ifrance.com/resources/articles/memoria-ram.htm memoria ram t23] [http://kalian42.ifrance.com/text/directory/logitech-driving/ logitech driving force] [http://igaros.ifrance.com/lib/calzature-per/ calzature per bambini] [http://lordsander.ifrance.com/topic/inno-al.htm inno al fante armi] [http://highbulp.ifrance.com/images/small/air-battle/ air battle] [http://girlwho-is.ifrance.com/img/styles/uropsilus.htm uropsilus] [http://lordsander.ifrance.com/topic/logitech-cordless.htm logitech cordless desktop 510] [http://akmokanzen.ifrance.com/images/small/viacess-new.htm viacess new keys] [http://toofarfrommaybe.ifrance.com/view/new/najat-atabou/ najat atabou] [http://lordsander.ifrance.com/topic/giorno-per.htm giorno per giorno disperatamente] [http://jdawsona.ifrance.com/data/macchina-fotografica/ macchina fotografica digitale pocket] [http://yeeden.ifrance.com/img/styles/kirrio-gps/ kirrio gps palmari] [http://noxuhax.ifrance.com/content/view/incesto-italiano.htm incesto italiano] [http://deviantrus.ifrance.com/topic/binocolo-aiptek/ binocolo aiptek] [http://speedofsoun.ifrance.com/text/directory/quelli-della.htm quelli della virginia] [http://jdawsona.ifrance.com/data/searching-in/ searching in my soul] [http://girlwho-is.ifrance.com/img/styles/marco-beltrami.htm marco beltrami] [http://yeeden.ifrance.com/img/styles/studio-legale/ studio legale pesaro] [http://tat-ooin.ifrance.com/resources/articles/sassi-colorati.htm sassi colorati] [http://tizolaa.ifrance.com/web/m-o/ m o r w a] [http://kalian42.ifrance.com/text/directory/irradio-lettori/ irradio lettori mp3] [http://lovereceier.ifrance.com/lib/ufficio-firenze.htm ufficio firenze] [http://girlwho-is.ifrance.com/img/styles/notebook.htm notebook 15 4] [http://singaporepets.ifrance.com/library/html/luca-e.htm luca e barbara] [http://jdawsona.ifrance.com/data/diavoletti/ diavoletti] [http://kalian42.ifrance.com/text/directory/midi-de/ midi de andre] [http://toofarfrommaybe.ifrance.com/view/new/agricola-mikael/ agricola, mikael] [http://oiyaoi.ifrance.com/images/small/carne-fresca/ carne fresca per sette bastardi] [http://demurediablo.ifrance.com/library/html/terrorismo-iracheno/ terrorismo iracheno] [http://yeeden.ifrance.com/img/styles/honda-shadow/ honda shadow] [http://kalian42.ifrance.com/text/directory/cartina-di/ cartina di palermo] [http://speedofsoun.ifrance.com/text/directory/jenny-from.htm jenny from the block] [http://voltia.ifrance.com/content/view/azioni-mib.htm azioni mib30] [http://deviantrus.ifrance.com/topic/yu-gi/ yu gi ho] [http://girlwho-is.ifrance.com/img/styles/loret-del.htm loret del mar] [http://lovereceier.ifrance.com/lib/stampi-in.htm stampi in silicone] [http://jdawsona.ifrance.com/data/the-sims/ the sims2] [http://highbulp.ifrance.com/images/small/groogle/ groogle] [http://tat-ooin.ifrance.com/resources/articles/sexy-pps.htm sexy pps] [http://speedofsoun.ifrance.com/text/directory/sigma-.htm sigma 18- 125 canon] 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 16: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)