finds.dev

LingDong-/fishdraw

procedurally generated fish drawings

View on GitHubHomepage ↗

★ 2,298JavaScriptMITupdated Sep 2021

// the take

A single-file JavaScript procedural generator that draws fish — complete with fins, scales, tails, and pseudo-Latin names — and outputs polylines in SVG, SMIL, CSV, or JSON. Built specifically for pen plotters, so everything it produces is vector paths with no fills. A weekend project that's genuinely charming.

Zero dependencies, single file — you can read the whole thing and understand every decision. The plotter-first output (polylines, not filled shapes) means it works directly with AxiDraw and similar machines without post-processing. Deterministic seeding from a string lets you get the same fish every time, which is useful for generative art workflows where reproducibility matters. The SMIL animated SVG export is a nice touch for sharing on the web without any JavaScript runtime.

Abandoned since September 2021 with no maintenance activity. The fish variety, while fun, has a ceiling — after browsing the gallery you've seen the design space. There's no parameter documentation beyond the seed/speed/format flags, so understanding what `generate_params()` actually controls requires reading the source. And being a single 1800-line file with no tests means extending it is friction — the internals aren't structured for modification.

We read the README, the directory tree and a key source file in July 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
2,298
Forks
112
Language
JavaScript
License
MIT
Last commit
8 Sep 2021

// nearby

If fishdraw isn't quite it.

All repos →