Skip to content

Showcase

The demos that put several features together. Each one is still a single .ts file — flip to the Code tab to read exactly how it’s built.

Thousands of circles share one tooltip. A single delegated pointermove hit-tests the layer and repositions a DOM tooltip — no per-shape listeners, no per-shape text nodes. Bump the count and keep hovering.

Each stroke is its own Line, grown point-by-point as you drag — so strokes stay real, selectable nodes. The eraser hit-tests under the pointer and removes what it finds.

Drag the boxes; the connectors re-route to follow them. Nodes are Groups, edges are Lines whose endpoints are recomputed on every drag.

Drag the rectangles — any that overlap turn red, via a cheap world-AABB intersects test.

Selection + transform handles, undoable add/delete through the command history, and a PNG export — composed entirely from the public API.