UI design notes menu bar: - about/credits screen - file: new, open, save, save as, close, export current frame to PNG, export animated GIF, quit - edit: cut/copy/paste, select all/none/invert - art: next/previous art, crop to selection, resize, [list of loaded art] - frame: add to end/insert/duplicate/remove/change order/change delay - layer: add/duplicate/remove/change current Z, same functionality as the pane described above - tool: list of tools, active one is checked - help: help screen, readme, website? layer/frame view: - matrix w/ layers are rows, frames are columns, scrolls horizontally if lots of frames, vertically if lots of layers - thumbnails of each frame across the top - clicking frame or layer section of status bar expands/minimizes it - exposes layer functionality: add/duplicate/remove layer, adjust layer Z -- layer Z order /is/ the layer list ordering, no other index kinda number - exposes frame functionality: add/duplicate/remove frame, change frame order, change frame delay - playback controls: play/pause, next/previous frame, first/last frame - onion skin settings: on/off, # of frames to show --- mark wonnacott likes EDSCII's spacebar-invoked charset/palette popup, and in kooltool it's effectively multi-tab also offering a tools pane... what if playscii's popup had tabs and that replaced a more conventional left-hand toolbar? how to show range of open documents? (save for later, when MDI is needed for game editing) --- possible features tools: paint erase pick/grab select cut/copy/paste shift contents of current layer flip (top/bottom or left/right) or rotate (0/90/180/270) char draw line draw square draw circle fill text tool settings: paint: brush size, filter affect char/fg/bg erase: filter affect char/fg/bg pick: filter affect char/fg/bg cut/copy/paste: affect all layers, filter affect char/fg/bg draw line: line thickness draw square: filled/hollow, square/nonsquare aspect draw ellipse: filled/hollow, circle/ellipse aspect fill: filter affect char/fg/bg navigation: pan view zoom view shift active layer shift active frame toggle grid toggle onion skin onion skin settings: # of previous frames, # of next frames, max/min opacity char/fg/bg settings: swap selected fg/bg previous/next char previous/next fg color previous/next bg color file/meta/misc: undo/redo load/open save [with current name | with name Z] new document [of size X by Y] [with name Z] convert raster image (to current document size/charset/palette) export current frame to PNG export all frames to GIF load charset load palette convert to charset (find matches from current to target charset, convert chars) convert to palette (same as above but for colors) crop document (to size X by Y) (to current selection) add frame at index X duplicate frame at index X add layer with depth Z duplicate layer X invoke command line open help/about screen execute python expression