93 lines
2.8 KiB
Text
93 lines
2.8 KiB
Text
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
|