B pencil E erase L line R rect
O ellipse G fill I pick ,. frame space play
⌘/Ctrl+Z undo · right-click erases
Palette — index 0 is off/black
Drawing is palette-indexed, so
recolouring a whole animation is editing one swatch. This is also what makes the
export tiny enough to sit in flash.
Panel
Changing this resizes the canvas without
resampling — existing art is kept top-left and cropped or padded. Nothing is ever
stretched.
Import
An animated GIF becomes one frame per GIF frame, decoded here rather than by the
browser — <img> only ever hands over the first one. A horizontal strip
whose width is a multiple of the canvas still becomes one frame per cell.
Scaling is nearest-neighbour only: it never invents a colour, which is what lets the
palette survive. .clp files load straight back in.
On the palette: a clip holds 16 colours and slot 0 is always black. A GIF with
15 colours or fewer is kept exactly. A richer one is reduced to its own 15 most-used
colours — never remapped onto a preset.
Export
Preview puts this on the panel for a minute and then the collection comes back.
Save files it in the sculpture's clip library without interrupting anything — add it
to a collection from the studio afterwards.
The C++ header is palette-indexed RLE. Drop it in src/art/,
#include it, and add a Clip row to
Registry.h — it plays through the same IAnimation
interface as every generative piece.