Skip to content

Geometry × rendering × interactionDraw attention, by hand.

A shared geometry, rendering, routing, animation, and annotation stack for expressive web interfaces.

One stack, focused packages

Use the layer you need or compose the complete pipeline.

PackageUse it for
@rougher-stuff/roughjsCanvas/SVG drawing, semantic drawables, retained updates, and animation
@rougher-stuff/perfect-arrowsRenderer-independent arrow routes and decorations
@rougher-stuff/rough-notationDOM and Range annotations, layers, connectors, and callouts
@rougher-stuff/markdownAnnotation directives, semantic themes, and progressive HTML
@rougher-stuff/geometryPaths, transforms, metrics, intersections, and rounded contours
@rougher-stuff/animationFramework-neutral progress controllers and timelines

The packages remain useful on their own. Together, they preserve geometry from the first shape to the final interaction.

Released under the MIT License.