finds.dev← search

// the find

LingDong-/shan-shui-inf

★ 5,639 · HTML · MIT · updated Dec 2018

Procedurally generated Chinese landscape painting.

A single-file JavaScript demo that generates infinite Chinese ink-wash landscape scrolls in SVG using Perlin noise and hand-tuned math. It's a creative coding proof-of-concept, not a library — you run it in a browser and scroll forever. The audience is generative artists and people curious how classical aesthetic rules translate into code.

The output is genuinely beautiful and stylistically coherent — the mountains, trees, and boats look like they belong together rather than like random noise. Everything lives in one HTML file, which makes reading the source straightforward even if the code isn't structured for reuse. Using SVG as output is smart: infinitely scalable, easy to export, and you can inspect individual elements. The Perlin noise layering to fake depth and atmospheric perspective is well-executed for a browser demo.

Abandoned since December 2018 — no commits in seven-plus years, so open issues and PRs are a dead end. The entire codebase is one monolithic index.html with no module boundaries, which means forking and extending it means digging through undocumented spaghetti. There's no API, no way to control seeds programmatically, and no way to export a specific scene reproducibly without reading internal state. Not a library you can drop into a project — it's a demo you'd have to rewrite to adapt.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →