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

    Selected layer


    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