Onion skinning is worth thinking about, but I agree it's rather specialized. The recently-added "grid-step" features in FatBits (press shift+arrows to move the FatBits viewport in increments of a configurable grid size) could be used to quickly flip between sprite frames. This isn't specifically intended for animation, but it might be useful for small stuff:
Right now, Decker can export GIFs in two ways:
- If you use "File -> Export Image..." you can save an image of a card or selection as a GIF. If you use animated patterns on the card, the exported GIF will reflect them.
- You can write Lil scripts which programmatically generate frames of an animated GIF and save them. For example, this script can be executed directly in the Listener:
canvas:card.add["canvas"] canvas.size:160,160 frames: each f in range 32 canvas.clear[] each color name i in colors a:pi*(i/8)+(f/16) canvas.brush:4 canvas.pattern:color canvas.line[80+60*unit a] end canvas.copy[] end card.remove[canvas] write[frames]
Try it!
Right now you can also programmatically import static images in a variety of formats with `read[]`. Adding support for importing GIFs as a series of individual frames programmatically isn't too hard, and it's on my todo list, albeit pretty far down. If you mean importing a GIF and having it become a widget that just plays on a card, that'll be a bit trickier, but it may fit into some other functionality down the line.