# dulnan/lazy-brush

Smooth drawing with mouse, finger or other pointing device

Repository: https://github.com/dulnan/lazy-brush
Canonical: https://ross.abutalabs.com/products/lazy-brush
Homepage: https://lazybrush.dulnan.net/
Language: TypeScript
License: MIT
License Family: permissive
Topics: brush, canvas, drawing, javascript, lazy, painting, typescript
Last push: 2024-09-14T12:27:29+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 2935, "days_push": 718, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1379, forks 37 (observed 2026-08-28T04:04:33.760610+00:00)

## What it is
A small TypeScript/JavaScript library that implements the 'lazy brush' math for smooth freehand drawing on HTML canvas with a mouse, finger, or any pointing device. It acts as a proxy between raw pointer input and drawing, only moving the brush when the pointer leaves its lazy area radius.

## Use cases
- draw smooth lines with a mouse on a canvas app
- implement a finger-painting feature on touch devices
- reduce jitter in freehand sketching input
- add a drawing tool to a web whiteboard
- smooth pointer input for a signature pad

## When to choose
- you need smooth freehand strokes from imprecise mouse or touch input
- you want a tiny, dependency-free math library you can drop into any canvas drawing loop
- you want configurable smoothing via radius and friction

## When to avoid
- you need a full drawing application with layers, brushes, and undo out of the box
- your project is not canvas/pointer based
- you need vector or pressure-sensitive stylus handling

## Facets
- artifact type: library
- maturity: stable
- function: graphics, animation
- domain: web-development, frontend, graphics
- platform: browser
- tags: canvas-drawing, smooth-lines, pointer-input, lazy-brush, drawing-smoothing, nodejs, javascript, typescript

## Member repositories
- dulnan/lazy-brush (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:33.760610+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:40:19.051216+00:00, confidence not recorded.
  - readme: https://github.com/dulnan/lazy-brush (fetched 2026-08-28T04:04:33.760610+00:00, sha 1febc887c66c)
  - homepage: https://lazybrush.dulnan.net/ (fetched 2026-08-29T11:56:40.993389+00:00, sha b6c7e43f0fb1)
  - registry_npm: https://registry.npmjs.org/lazy-brush (fetched 2026-08-29T11:56:41.002239+00:00, sha d76be48ba8b3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
