# mattdesl/canvas-sketch

[beta] A framework for making generative artwork in JavaScript and the browser.

Repository: https://github.com/mattdesl/canvas-sketch
Canonical: https://ross.abutalabs.com/products/canvas-sketch
Language: JavaScript
License: MIT
License Family: permissive
Last push: 2026-06-02T16:26:31+00:00

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

## Adoption (not part of the score)
Stars 5278, forks 403 (observed 2026-08-28T04:09:14.126107+00:00)

## What it is
A JavaScript framework and companion CLI for creating generative artwork using HTML5 Canvas 2D and WebGL (with Three.js templates). It scaffolds sketches, serves them with hot reloading, and exports dimension-aware, print-quality PNGs (e.g., A4 at 300 DPI) directly from the browser.

## Use cases
- create generative art with javascript in the browser
- prototype 2d canvas and webgl sketches quickly
- export high-resolution print-ready png artwork at 300 dpi
- scaffold a new three.js sketch from a template
- hot reload while iterating on creative coding sketches
- build a generative sketch into a shareable html website

## When to choose
- you want to make algorithmic/generative artwork with Canvas 2D or WebGL instead of a full app framework
- you need DPI- and paper-size-aware exports for archival or print output
- you want a batteries-included workflow: scaffolding, dev server, hot reload, and static build for sketches

## When to avoid
- you need data visualization or charting rather than artistic sketches (use d3 or similar)
- you want the p5.js editor, community, or Processing-style API surface
- you need a guaranteed-stable API for production software, since the project self-describes as beta

## Facets
- artifact type: framework
- maturity: active
- function: graphics, cli, developer-tools, build-tool
- domain: graphics, web-development, developer-tools
- platform: browser, cross-platform, cli
- tags: generative-art, creative-coding, canvas2d, webgl, threejs, sketching, print-quality-export, hot-reload, p5js-alternative, processing-inspired, nodejs

## Member repositories
- mattdesl/canvas-sketch (main) score 70

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:14.126107+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-29T17:59:17.590302+00:00, confidence not recorded.
  - readme: https://github.com/mattdesl/canvas-sketch (fetched 2026-08-28T04:09:14.126107+00:00, sha d04c2a8903a4)
  - registry_npm: https://registry.npmjs.org/canvas-sketch (fetched 2026-08-29T08:54:26.445287+00:00, sha 06803cf086e2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
