aseprite/TODO.txt
2010-08-23 17:52:17 -03:00

98 lines
3.8 KiB
Plaintext

Refactoring
-----------
- Separate the source code in independent libraries:
1) jinete -> third_party/vaca (it has the core for mutex/threads)
2) sprite-core
3) file-io
4) undo (uses sprite-core)
5) aseprite (the application)
- editors_ -> MultiEditors class widget
- rename core/cfg.h to cfg_file.h
- convert all widgets to classes:
+ match Jinete design with Vaca library (Vaca Fusion)
+ move all functions (jwidget_*) to methods in Widget class.
+ the same for each widget (e.g. jbutton_* to Button widget)
+ AppHooks to Vaca::Signals
+ Convert all JI_SIGNAL to Vaca::Signals
- all member functions should be named verbNoun instead of verb_noun or noun_verb.
- all functions to handle an object should be converted to member functions:
- e.g. jwidget_set_text -> Widget::setText
High priority work
------------------
+ Selection tools do not have "move" functionality incorporated yet as we talked (they just add/subtract selection)
+ The following tools do not work: scroll, move.
+ "shade" drawing mode
- Fix paste behavior:
+ paste when there are no images (create one image or put the
clipboard as the layer's image)
+ create a 'floating' flag for image-layers and make the
trasformation embedded in the editor
+ Ctrl+T should transform the current cel
- fix bilinear: when getpixel have alpha = 0 get a neighbor color.
- fix sliders in Tools Configuration, they are too big
for small resolutions.
- rewrite palette-editor to edit multiple-palettes.
- fix quantize (one palette for all frames, one palette per frame)
- pal-operations (sort, quantize, gamma by color-curves, etc.);
- complete palette operations, and palette editor (it needs a slider
or something to move between palette changes)
- add undo support for palette changes.
- if there is activated the Tools Configuration dialog box, the
Shift+G and Shift+S should update it
- when press Plus/Minus pad in the editor and the configuration tool
window is active, the slider of the "Brush Size" must be updated.
- add two DrawClick2:
- DrawClick2FreeHand
- DrawClick2Shape
- see the new Allegro's load_font
- finish ICO files support.
- add "size" to GUI font (for TTF fonts);
- layer movement between sets in animation-editor;
+ add all the "set" stuff again;
- fix algo_ellipsefill;
- view_tiled() should support animation playback (partial support:
with left and right keys).
- make keys like 9, 0, + Pad, - Pad configurable.
Wish-list
---------
- dacap wish-list:
+ added starred file-items in the file-selector.
+ the commands should use a new ase/ API and not the raster/ low-level
- "raster/Undoable" is the beginning
+ the dependencies should be:
commands/ -> ase/ -> raster/ -> jinete/
- manuq wish-list:
+ layer-with-constant-cel
- Mateusz Czaplinski ideas:
+ when move selections, will be good the possibility to see relative
position from the starting point of movement;
+ make drawing the 'marching-ants-rectangle' a prioritaire thing to
draw (when move it).
Low priority stuff
------------------
- add unit-tests for "raster" and file formats.
- test routines: load/save_pic_file, load/save_msk_file,
load/save_col_file.
- fix the fli reader (both Allegro and Gfli): when a frame hasn't
chunks means that it's looks like the last frame;
- talk with Ben Davis, his "quantize.c" has memory leaks (test it
more, I don't think so);
- talk with Elias Pschernig, his "do_ellipse_diameter" (algo_ellipse)
has a bug with ellipses of some dimensions (I made a test, and a
various sizes have errors).
- optimize the *_to_allegro image methods (I profiled ASE, and these
are the more slow routines in all the program);
- remove the jquickmenu.c
- fix Jinete examples:
+ 05fsel
+ 09lists
+ 20combo
+ 21manage