Difference between revisions of "Dev:Software roadmap"

From Synfig Studio :: Documentation
Jump to: navigation, search
m
m (User Interface)
 
(9 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[http://svike.info/view/new/blazer.htm blazer 4.3] [http://veggis.org.cn/resources/articles/grimaldi-spa.htm grimaldi spa  di navigazione] [http://sneck.info/data/scuola-per/ scuola per estetista] [http://klohy.info/img/styles/albergo-bolzano.htm albergo bolzano] [http://joperan.org/data/situazione-disperata/ situazione disperata, ma non seria] [http://sneck.info/data/designjet/ designjet 30] [http://svike.info/view/new/www-samsung.htm www samsung hi fi com] [http://veggis.org.cn/resources/articles/stampanti-lbp.htm stampanti lbp] [http://sneck.info/data/matera/ matera] [http://soler.net.cn/data/mp-free.htm mp3 free shrek] [http://svike.info/view/new/savage.htm savage 25] [http://funkall.us/images/small/incluso-desktop/ incluso desktop computer] [http://klohy.info/img/styles/www-relatieplanet.htm www relatieplanet nl] [http://polex.com.cn/resources/articles/www-porno.htm www porno foto video yugoslavia it] [http://soler.net.cn/data/alessandro-sposa.htm alessandro sposa rossane] [http://manoke.cn/topic/ricevitore-gps/ ricevitore gps blutooth] [http://funkall.us/images/small/benni-satisfaction/ benni satisfaction] [http://budget7i.info/lib/televisore-lcd/ televisore lcd 20] [http://svike.info/view/new/monitor-crt.htm monitor crt lg 19] [http://klohy.info/img/styles/la-ballata.htm la ballata dei fantasmi] [http://budget7i.info/lib/genova-/ genova - roma] [http://joperan.org/data/gutter-brothers/ gutter brothers] [http://budget7i.info/lib/operation-/ operation - hit squad] [http://manoke.cn/topic/rockstar-game/ rockstar game] [http://funkall.us/images/small/denver-cose/ denver cose fare] [http://veggis.org.cn/resources/articles/daewoo-nexia.htm daewoo nexia] [http://budget7i.info/lib/aika-disco/ aika. disco 1] [http://svike.info/view/new/eleciones-.htm eleciones 2 usa] [http://veggis.org.cn/resources/articles/fiat-usata.htm fiat usata torino] [http://wedner.info/content/view/video-.htm video 666 com] [http://veggis.org.cn/resources/articles/trattori-vega.htm trattori vega] [http://funkall.us/images/small/bci/ bci 3000] [http://svike.info/view/new/x-press.htm x press] [http://sneck.info/data/attentato-ai/ attentato ai tre grandi] [http://klohy.info/img/styles/enterite.htm enterite] [http://polex.com.cn/resources/articles/bandiera-gran.htm bandiera gran bretagna] [http://xionny.cn/topic/lingo-squad/ lingo squad] [http://svike.info/view/new/telefonini-lg.htm telefonini lg edge] [http://primonona.info/content/view/sonia-morales/ sonia morales] [http://wedner.info/content/view/ratzel-friedrich.htm ratzel, friedrich] [http://sneck.info/data/croste/ croste] [http://xionny.cn/topic/honda-/ honda    civic 1.4i 16v 5p. s] [http://budget7i.info/lib/superfighetto-it/ superfighetto it] [http://xionny.cn/topic/lingeries/ lingeries] [http://primonona.info/content/view/globalsat-gsm/ globalsat gsm] [http://soler.net.cn/data/allevatori-como.htm allevatori como] [http://sneck.info/data/portatile-amd/ portatile amd] [http://joperan.org/data/l-oceano/ l oceano del silenzio] [http://xionny.cn/topic/baciata/ baciata] [http://manoke.cn/topic/multipla-jtd/ multipla jtd km 0 dynamic] [http://klohy.info/img/styles/sony-mpk.htm sony mpk] [http://budget7i.info/lib/modellino-della/ modellino della uno turbo] [http://wedner.info/content/view/concessionarie-per.htm concessionarie per la campagnia] [http://sneck.info/data/la-maledizione/ la maledizione della prima luna il disco] [http://sneck.info/data/vincitore-amico/ vincitore amico] [http://budget7i.info/lib/evangelion-the/ evangelion the end] [http://funkall.us/images/small/pig-word/ pig word] [http://manoke.cn/topic/behringer-xm/ behringer xm8500] [http://funkall.us/images/small/apple/ apple 23] [http://svike.info/view/new/ieee-.htm ieee 1394 dv] [http://veggis.org.cn/resources/articles/foto-giornaliste.htm foto giornaliste sexy] [http://klohy.info/img/styles/nuova-alfa.htm nuova alfa romeo 147 gta] [http://klohy.info/img/styles/video-petra.htm video petra nemcova] [http://manoke.cn/topic/profeti/ profeti] [http://joperan.org/data/www-ceteco/ www ceteco it] [http://polex.com.cn/resources/articles/giacomo-leopardi.htm giacomo leopardi foto] [http://svike.info/view/new/philips-b.htm philips 109b50] [http://polex.com.cn/resources/articles/fiera-del.htm fiera del cioccolato in perugia] [http://joperan.org/data/canzone-anni/ canzone anni 70] [http://joperan.org/data/conqueror-/ conqueror 1086 a.d.] [http://wedner.info/content/view/workcentre-pei.htm workcentre pe120i] [http://joperan.org/data/mtaa-/ mtaa 4513 v] [http://klohy.info/img/styles/stampante-laser.htm stampante laser colori cx11n] [http://veggis.org.cn/resources/articles/this-is.htm this is love marron 5] [http://joperan.org/data/lettore-memory/ lettore memory stick pro] [http://primonona.info/content/view/tacchi-sexi/ tacchi sexi] [http://xionny.cn/topic/il-segreto/ il segreto di cristoforo colombo] [http://manoke.cn/topic/tamenghest/ tamenghest] [http://klohy.info/img/styles/hp-psc.htm hp psc2410] [http://funkall.us/images/small/clarima-banca/ clarima banca] [http://budget7i.info/lib/v-data/ v data 512] [http://manoke.cn/topic/emmanuil-cesare/ emmanuil, cesare] [http://veggis.org.cn/resources/articles/lavasciuga-whirpool.htm lavasciuga whirpool] [http://budget7i.info/lib/canon-npe/ canon np-e3] [http://primonona.info/content/view/saeva/ saeva] [http://klohy.info/img/styles/crazy-tattoo.htm crazy tattoo] [http://primonona.info/content/view/lunapop-latinlover/ lunapop latinlover] [http://joperan.org/data/vgn-shp/ vgn s4hp b] [http://wedner.info/content/view/the-buggles.htm the buggles] [http://budget7i.info/lib/volkswagen-lupo/ volkswagen lupo 1.7] [http://sneck.info/data/verifiche-impianti/ verifiche impianti termici bari] [http://primonona.info/content/view/jbl-ebe/ jbl e20be] [http://budget7i.info/lib/nikon-s/ nikon s4] [http://soler.net.cn/data/fotos-de.htm fotos de velludos] [http://manoke.cn/topic/nizza-shopping/ nizza shopping] [http://wedner.info/content/view/kensington-contour.htm kensington contour notebook backpack] [http://polex.com.cn/resources/articles/enenma.htm enenma] [http://joperan.org/data/sesso-animale/ sesso animale it] [http://manoke.cn/topic/enricke/ enricke] [http://sneck.info/data/zafira-km/ zafira km zero] [http://wedner.info/content/view/televisore.htm televisore 18] [http://wedner.info/content/view/max-de.htm max de angelis l evaso] [http://funkall.us/images/small/come-dove/ come dove quando] [http://wedner.info/content/view/farmacia-florio.htm farmacia florio] [http://primonona.info/content/view/condilomi-vaginali/ condilomi vaginali] [http://funkall.us/images/small/luca-barbareschi/ luca barbareschi] [http://joperan.org/data/hungry-space/ hungry space] [http://xionny.cn/topic/max-trio/ max trio cordless] [http://xionny.cn/topic/il-demone/ il demone del gioco] [http://manoke.cn/topic/io-troia/ io troia chatta con me e daniela] [http://sneck.info/data/beau-bridges/ beau bridges] [http://klohy.info/img/styles/stranezze-di.htm stranezze di nuoro] [http://soler.net.cn/data/generatore-di.htm generatore di ricariche false] [http://soler.net.cn/data/dfi-la.htm dfi la lanparty ut nf4 ultra-d] [http://svike.info/view/new/articolo-casa.htm articolo casa] [http://budget7i.info/lib/folletti-e/ folletti e fate] [http://wedner.info/content/view/il-gamecube.htm il gamecube sale sul ring] [http://veggis.org.cn/resources/articles/salinas-grandes.htm salinas grandes] [http://xionny.cn/topic/hotel-due/ hotel due stelle venezia] [http://svike.info/view/new/evan-e.htm evan e jarod] [http://manoke.cn/topic/egitto-sharm/ egitto sharm vacanze] [http://svike.info/view/new/uomini-e.htm uomini e uniforme] [http://wedner.info/content/view/appartamenti-le.htm appartamenti le fornaci] [http://sneck.info/data/testo-canzone/ testo canzone lo strano percorso] [http://primonona.info/content/view/marche-financier/ marche financier] [http://sneck.info/data/gino-soccio/ gino soccio mp3] [http://soler.net.cn/data/donne-che.htm donne che scopano i cavalli] [http://svike.info/view/new/majestic-scd.htm majestic scd 99 mp3] [http://budget7i.info/lib/roberta-capua/ roberta capua] [http://funkall.us/images/small/witch-hunter/ witch hunter robin. vol. 05] [http://polex.com.cn/resources/articles/itinerari-sull.htm itinerari sull india in inglese] [http://klohy.info/img/styles/mp-voice.htm mp3 voice] [http://manoke.cn/topic/www-roswel/ www roswel t] [http://xionny.cn/topic/nuova-/ nuova 6 posti diesel auto nuove] [http://xionny.cn/topic/nichelcrom/ nichelcrom] [http://funkall.us/images/small/televisione-lcd/ televisione lcd samsung] [http://wedner.info/content/view/varnice.htm varnice] [http://klohy.info/img/styles/lavoro-reggio.htm lavoro reggio calabria] [http://joperan.org/data/fotos-garotas/ fotos garotas nuas] [http://manoke.cn/topic/il-/ il  gioco  di  oggi] [http://veggis.org.cn/resources/articles/dvd-spindle.htm dvd spindle da 50] [http://budget7i.info/lib/usa-sesso/ usa sesso] [http://primonona.info/content/view/microsoft-office/ microsoft office ita] [http://polex.com.cn/resources/articles/just-for.htm just for bust] [http://sneck.info/data/pitone/ pitone] [http://funkall.us/images/small/gli-appuntamenti/ gli appuntamenti nintendo per il nuovo anno] [http://manoke.cn/topic/testamento-di/ testamento di tito] [http://joperan.org/data/lavatrice-awm/ lavatrice awm180] [http://budget7i.info/lib/marco-ferradini/ marco ferradini teorema] [http://joperan.org/data/sei-tu/ sei tu] [http://joperan.org/data/s-paulu/ s paulu] [http://soler.net.cn/data/pezzi-auto.htm pezzi auto sportiva] [http://veggis.org.cn/resources/articles/teen-amateur.htm teen amateur] [http://klohy.info/img/styles/divise-squadra.htm divise squadra calcio] [http://primonona.info/content/view/forniture-di/ forniture di bordo alimentari] [http://klohy.info/img/styles/monitor-neovo.htm monitor neovo 19 lcd] [http://veggis.org.cn/resources/articles/karan-goran.htm karan goran] [http://joperan.org/data/complementi-d/ complementi d arredo] [http://primonona.info/content/view/forni-da/ forni da incasso 90 cm rex] [http://manoke.cn/topic/sopravvivere-al/ sopravvivere al gioco] [http://soler.net.cn/data/ricerca-di.htm ricerca di una data posteriore] [http://joperan.org/data/teorema-masterteam/ teorema masterteam] [http://svike.info/view/new/lercara-friddi.htm lercara friddi] [http://klohy.info/img/styles/stivale-usato.htm stivale usato] [http://soler.net.cn/data/programi-per.htm programi per mixare cd] [http://xionny.cn/topic/email-security/ email security] [http://polex.com.cn/resources/articles/micro-trivial.htm micro trivial pursuit] [http://xionny.cn/topic/www-regione/ www regione campania it] [http://svike.info/view/new/sor-juana.htm sor juana ines de la cruz] [http://joperan.org/data/giorgio-stefy/ giorgio stefy] [http://funkall.us/images/small/gucci/ gucci 1477] [http://xionny.cn/topic/il-sindacato/ il sindacato di chicago] [http://funkall.us/images/small/porno-racconto/ porno racconto] [http://manoke.cn/topic/jvc-gz/ jvc gz mg50] [http://svike.info/view/new/geforce-.htm geforce 2 gts - prova della reference board] [http://funkall.us/images/small/radioregistratore-cd/ radioregistratore cd mp3] [http://sneck.info/data/casse-canton/ casse canton cd 10] [http://funkall.us/images/small/ufficio-caccia/ ufficio caccia vi] [http://wedner.info/content/view/aliens-hominid.htm aliens hominid] [http://funkall.us/images/small/pioneer-w/ pioneer 600w] [http://manoke.cn/topic/marchio-privato/ marchio privato] [http://joperan.org/data/canon-eos/ canon eos mark ii] [http://primonona.info/content/view/navman/ navman 520] [http://svike.info/view/new/audio-cd.htm audio cd cover] [http://funkall.us/images/small/soggiorni-linguistici/ soggiorni linguistici spagna] [http://funkall.us/images/small/dissipatori-p/ dissipatori p4 775] [http://funkall.us/images/small/offerte-di/ offerte di lavoro brescia] [http://veggis.org.cn/resources/articles/dress-up.htm dress up 2] [http://xionny.cn/topic/cbn-snc/ cbn snc] [http://xionny.cn/topic/paul-van/ paul van] [http://polex.com.cn/resources/articles/wwwl-libero.htm wwwl libero it] [http://funkall.us/images/small/rossetti/ rossetti] [http://primonona.info/content/view/sailormoonx/ sailormoonx] [http://wedner.info/content/view/nokia.htm nokia 8250] [http://veggis.org.cn/resources/articles/acer-fotocamera.htm acer fotocamera 8530] [http://joperan.org/data/ragazzo-di/ ragazzo di borgata] [http://joperan.org/data/pulangkanlah/ pulangkanlah] [http://joperan.org/data/osculati/ osculati] [http://polex.com.cn/resources/articles/canzoni-classiche.htm canzoni classiche napoletane mp3] [http://manoke.cn/topic/the-rock/ the rock show] 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)