Collage
A layered document built with imagepipe/layers. Drag a layer to place it,
restack it, blend it, run a filter on it alone — every layer is a full imagepipe pipeline.
Documents are immutable, so undo is an array of references and save is
JSON.stringify.
Drop images onto the canvas (or click it while nothing is selected) to add layers · drag to move · ⌘Z/⌃Z to undo
Layers
The selection outline comes from boundsOf() — pure arithmetic, so it tracks the
pointer at frame rate while the composite catches up behind it. Picking the layer under the
pointer is layerAt(), which is alpha-aware and therefore async: the drag hits
once on pointerdown, then moves synchronously.
github.com/imagepipe/imagepipe