aseprite/TODO.txt
2011-03-24 10:33:41 -03:00

104 lines
4.2 KiB
Plaintext

For next release
----------------
+ Add feedback to "Shift+S" shortcut to switch "snap to grid".
+ Fix palette editor to avoid generating a lot of consecutive Undo actions.
+ Convert jaccel::key_list to std::vector<>
+ Integrate "copy & paste" loop with selection moving loop.
+ Shade drawing mode.
+ Export/Import sprite sheets.
+ Rethink the color-bar to show the full palette and a RGB gradient.
+ Sort palette entries.
+ Add "Remap" button to palette editor after a palette entry is modified:
This button should apply a color curve to the whole sprite to remap
old indexes to the new positions.
+ Support for non-zero index entries as transparent in Indexed sprites.
+ Move launcher.cpp to base/ lib adding an extension point for "gui" lib.
+ Remove src/dialogs/repo,playfli,drawtext.
+ Move src/dialogs/aniedit,filesel to src/widgets (remove dialogs/ directory).
+ Merge everything related to configuration/settings in one class
(allow configuration per document). Use cfg.cpp and settings/ dir.
Refactoring
-----------
- Eradicate JList.
- Separate the source code in independent libraries:
1) jinete -> gui
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.
+ 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 base::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.
- 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)
- if there is activated the Tools Configuration dialog box, the
Shift+G and Shift+S should update it
- 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).
Wish-list
---------
- dacap wish-list:
+ added starred file-items in the file-selector.
- 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 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