Difference between revisions of "Dev:Software roadmap"

From Synfig Studio :: Documentation
Jump to: navigation, search
m
m (User Interface)
 
(43 intermediate revisions by 10 users not shown)
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.htm cibo per cane] [http://gawelzba.t35.com/library/html/amore-con.htm amore con interessi] [http://saline-joy.freehostia.com/web/yetisports-part.htm yetisports part 5] [http://zoelverd.freeweb7.com/description/lib/i-simpson/ i simpson - stagione 1] [http://getm0ney.freewebpage.org/lib/ram-ddr/ ram ddr 512mb pc2100 notebook] [http://zoelverd.freeweb7.com/description/lib/dvd-rip/ dvd rip] [http://coarmago.t35.com/content/view/viti/ viti] [http://mauballe.125mb.com/web/yu-gi/ yu gi oh konami] [http://www.freewebtown.com/starbriteyellow/resources/articles/sony-cybershot.htm sony cyber-shot dsc p92] [http://selemku.t35.com/text/directory/dagon-la.htm dagon. la mutazione del male] [http://oedi.freehostia.com/text/directory/agenzia-traduzione/ agenzia traduzione bologna] [http://licohwar.homeblock.com/library/html/incontro-sevilla/ incontro sevilla] [http://selemku.t35.com/text/directory/girls-inc.htm girls inc team up] [http://huruple.125mb.com/text/directory/vivere-a/ vivere a colori] [http://selemku.t35.com/text/directory/lancia-y.htm lancia y 1 3] [http://oedi.freehostia.com/text/directory/potrebbe-avere/ potrebbe avere un nome ridge racer su psp] [http://getraylo.freeweb7.com/img/styles/luca-loi.htm luca loi] [http://mauballe.125mb.com/web/steiner/ steiner] [http://getraylo.freeweb7.com/img/styles/case-provincia.htm case provincia pistoia] [http://selemku.t35.com/text/directory/djm-pioneer.htm djm-600 pioneer] [http://getm0ney.freewebpage.org/lib/fotocamera-nokia/ fotocamera nokia 6610] [http://mcwardlo.t35.com/library/html/annuncio-personale/ annuncio personale gratis incontro foto] [http://coarmago.t35.com/content/view/i-viaggi/ i viaggi del ventaglio] [http://boreldar.t35.com/text/directory/pelu.htm pelu] [http://huruple.125mb.com/text/directory/speciale-miss/ speciale miss italia] [http://www.freewebtown.com/starbriteyellow/resources/articles/laplink-pcmover.htm laplink pcmover] [http://saline-joy.freehostia.com/web/sticker-mania.htm sticker mania] [http://gawelzba.t35.com/library/html/geotherm.htm geotherm] [http://selemku.t35.com/text/directory/equalize-pitty.htm equalize pitty] [http://failtoexpress.freehostia.com/html/video-figli.htm video figli di pitagora] [http://zoelverd.freeweb7.com/description/lib/roxana/ roxana] [http://wainfan.t35.com/view/new/stratovaruis.htm stratovaruis] [http://wainfan.t35.com/view/new/box-hard.htm box hard disk multimediale] [http://www.freewebtown.com/boogiejames/topic/noma-noma.htm noma noma yei] [http://greensticky.freehostia.com/library/html/xxx-gal/ xxx gal] [http://lorcaxon.homeblock.com/data/le-foto/ le foto sexy di garko] [http://beshennayabelka.freehostia.com/content/view/www-pokec.htm www pokec sk] [http://greensticky.freehostia.com/library/html/cartoon-com/ cartoon com] [http://getraylo.freeweb7.com/img/styles/the-thing.htm the thing] [http://zoelverd.freeweb7.com/description/lib/lexmark-z/ lexmark z25] [http://grahrens.125mb.com/view/new/parafrasi-il/ parafrasi il 5 maggio di manzoni] [http://beshennayabelka.freehostia.com/content/view/spartiti-tastiere.htm spartiti tastiere] [http://grahrens.125mb.com/view/new/il-piacere/ il piacere di d annunzio] [http://huruple.125mb.com/text/directory/jalaun/ jalaun] [http://huruple.125mb.com/text/directory/che-spasso/ che spasso] [http://licohwar.homeblock.com/library/html/seth-green/ seth green] [http://flheddin.125mb.com/content/view/caro-amico.htm caro amico ti scrivo] [http://lorcaxon.homeblock.com/data/clark-ken/ clark ken] [http://licohwar.homeblock.com/library/html/igi/ igi 2] [http://www.freewebtown.com/starbriteyellow/resources/articles/dtxtreme-iis.htm dtxtreme iis] [http://coarmago.t35.com/content/view/nike-air/ nike air max running] [http://getraylo.freeweb7.com/img/styles/campeggio-jesolo.htm campeggio jesolo] [http://greensticky.freehostia.com/library/html/garou-gitan/ garou gitan] [http://kopapguw.homeblock.com/topic/artigianato-etnico/ artigianato etnico] [http://grahrens.125mb.com/view/new/tutti/ tutti] [http://flheddin.125mb.com/content/view/giocolandia.htm giocolandia] [http://failtoexpress.freehostia.com/html/versace-noir.htm versace noir] [http://mauballe.125mb.com/web/formiche/ formiche] [http://mauballe.125mb.com/web/joe-cassano/ joe cassano testi] [http://saline-joy.freehostia.com/web/blutooth-compact.htm blutooth compact flash] [http://beshennayabelka.freehostia.com/content/view/saddam-hussein.htm saddam hussein] [http://greensticky.freehostia.com/library/html/regolamento-ce/ regolamento ce 1782 03] [http://benevolently.freehostia.com/content/view/kunzi-net/ kunzi net] [http://greensticky.freehostia.com/library/html/ps-pc/ ps2 pc usb pad converter] [http://coarmago.t35.com/content/view/nuova-fiat/ nuova fiat panda 4x4 auto nuove] [http://zoelverd.freeweb7.com/description/lib/www-daiatsu/ www daiatsu] [http://zoelverd.freeweb7.com/description/lib/clockwise/ clockwise] [http://zoelverd.freeweb7.com/description/lib/vir-gilio/ vir gilio] [http://mcwardlo.t35.com/library/html/pavimento-liquido/ pavimento liquido] [http://mauballe.125mb.com/web/lettore-dvd/ lettore dvd con home teatre mustek] [http://beshennayabelka.freehostia.com/content/view/j-ai.htm j ai ne pas compris] [http://grahrens.125mb.com/view/new/agriturismo-berlin/ agriturismo berlin] [http://kopapguw.homeblock.com/topic/hotel-economico/ hotel economico praga] [http://www.freewebtown.com/starbriteyellow/resources/articles/version-salsa.htm version salsa] [http://coarmago.t35.com/content/view/guta/ guta] [http://greensticky.freehostia.com/library/html/grandi-seni/ grandi seni] [http://mauballe.125mb.com/web/lord-of/ lord of the ring soundtracks] [http://saline-joy.freehostia.com/web/dx-fisheye.htm dx fisheye 10 5mm f 2 8g] [http://lorcaxon.homeblock.com/data/oki/ oki 5591] [http://scaleslea.freewebpage.org/text/directory/ghost-pirate/ ghost pirate] [http://beshennayabelka.freehostia.com/content/view/www-lorenzetti.htm www lorenzetti com br] [http://getm0ney.freewebpage.org/lib/www-telecomm/ www telecomm it] [http://scaleslea.freewebpage.org/text/directory/hard-disk/ hard disk pata 200gb] [http://zoelverd.freeweb7.com/description/lib/usr/ usr] [http://scaleslea.freewebpage.org/text/directory/fancy/ fancy] [http://licohwar.homeblock.com/library/html/veld/ veld] [http://greensticky.freehostia.com/library/html/carrelli-agricoli/ carrelli agricoli] [http://gawelzba.t35.com/library/html/epson-stylus.htm epson stylus color] [http://kopapguw.homeblock.com/topic/gry-do/ gry do] [http://saline-joy.freehostia.com/web/confesercenti.htm confesercenti] [http://selemku.t35.com/text/directory/set-da.htm set da caffe] [http://failtoexpress.freehostia.com/html/summoner-.htm summoner 2 videogiochi] [http://saline-joy.freehostia.com/web/la-morte.htm la morte dietro il cancello] [http://mauballe.125mb.com/web/i-calci/ i calci di rigore] [http://zoelverd.freeweb7.com/description/lib/sunflower/ sunflower] [http://www.freewebtown.com/starbriteyellow/resources/articles/francesco-napolli.htm francesco napolli] [http://lorcaxon.homeblock.com/data/lasputas/ lasputas] [http://mcwardlo.t35.com/library/html/gianfranco-ferre/ gianfranco ferre occhiali da sole] [http://oedi.freehostia.com/text/directory/hard-disk/ hard disk mini] [http://wainfan.t35.com/view/new/tesi-esame.htm tesi esame maturita] [http://www.freewebtown.com/boogiejames/topic/chat-piena.htm chat piena di gente] [http://zoelverd.freeweb7.com/description/lib/lettore-dvd/ lettore dvd nero] [http://www.freewebtown.com/boogiejames/topic/whirlpool-maxi.htm whirlpool maxi 100] [http://getraylo.freeweb7.com/img/styles/processore-amd.htm processore amd fx 57] [http://selemku.t35.com/text/directory/una-donna.htm una donna per tutti] [http://boreldar.t35.com/text/directory/dimagrire-pancia.htm dimagrire pancia] [http://beshennayabelka.freehostia.com/content/view/marina-massa.htm marina massa] [http://kopapguw.homeblock.com/topic/il-novembre/ il novembre italiano] [http://mauballe.125mb.com/web/marisa-monte/ marisa monte. tribalistas] [http://beshennayabelka.freehostia.com/content/view/hilton-sisters.htm hilton sisters] [http://oedi.freehostia.com/text/directory/neger-khan/ neger khan] [http://kopapguw.homeblock.com/topic/mexico-e/ mexico e nuvole] [http://oedi.freehostia.com/text/directory/fisiologia-umana/ fisiologia umana] [http://beshennayabelka.freehostia.com/content/view/l.htm l.24] [http://selemku.t35.com/text/directory/i-rompicapo.htm i rompicapo facili] [http://mcwardlo.t35.com/library/html/iomega-micro/ iomega micro 512] [http://beshennayabelka.freehostia.com/content/view/vacanze-last.htm vacanze last minute mare italia] [http://flheddin.125mb.com/content/view/all-in.htm all in one] [http://oedi.freehostia.com/text/directory/athlon-xp/ athlon xp 64 3200] [http://benevolently.freehostia.com/content/view/star-wars/ star wars lego] [http://failtoexpress.freehostia.com/html/moto-autodromo.htm moto autodromo del mugello] [http://scaleslea.freewebpage.org/text/directory/pappa-col/ pappa col pomodoro] [http://selemku.t35.com/text/directory/centro-sky.htm centro sky] [http://scaleslea.freewebpage.org/text/directory/il-peccato/ il peccato] [http://zoelverd.freeweb7.com/description/lib/lo-stile/ lo stile del dragone] [http://www.freewebtown.com/boogiejames/topic/vivaldi-quattro.htm vivaldi quattro stagioni] [http://www.freewebtown.com/starbriteyellow/resources/articles/abito-la.htm abito la perla abiti donna] [http://failtoexpress.freehostia.com/html/video-amatoriale.htm video amatoriale chiara] [http://mauballe.125mb.com/web/www-arti/ www arti doro it] [http://boreldar.t35.com/text/directory/frigoriferi-no.htm frigoriferi no frost smeg] [http://www.freewebtown.com/boogiejames/topic/di-carte.htm di carte] [http://huruple.125mb.com/text/directory/sor-juana/ sor juana ines de la cruz] 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)