// the find
LingDong-/fishdraw
procedurally generated fish drawings
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.