{"adoption": {"forks": 244, "observed_at": "2026-08-28T04:05:26.169022+00:00", "stars": 1715}, "canonical_url": "https://ross.abutalabs.com/products/noisejs", "card": {"archived": false, "artifact_type": "library", "description": "Javascript 2D Perlin & Simplex noise functions", "domain": ["graphics", "web-development"], "enriched": true, "function": ["graphics", "simulation", "math"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "ISC", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["josephg/noisejs"], "name": "josephg/noisejs", "platform": ["browser", "cross-platform"], "pushed_at": "2022-11-02T18:24:03+00:00", "repo": "josephg/noisejs", "stars": 1715, "tags": ["perlin-noise", "simplex-noise", "procedural-generation", "canvas", "2d", "3d", "game-development", "algorithms", "javascript", "nodejs"], "topics": [], "urls": [], "use_cases": ["generate procedural terrain heightmaps in javascript", "create perlin noise textures on html canvas", "add simplex noise to a generative art project", "seedable noise for procedural level generation in a browser game", "animate flowing noise patterns with 3d simplex noise", "generate organic cloud or water effects in javascript"], "what_it_is": "A small JavaScript library providing fast 2D and 3D Perlin and Simplex noise functions with seedable randomness. It is commonly used for procedural generation, terrain, textures, and visual effects in browser canvas or Node.js projects.", "when_to_avoid": ["you need GPU-speed noise for full-screen per-pixel rendering (use a shader instead)", "you need 4D+ noise or advanced fractal/FBM helpers built in", "you need an actively developed library with ongoing support"], "when_to_choose": ["you need simple, fast CPU-side Perlin or Simplex noise in JavaScript", "you want a tiny dependency-free library with seedable noise", "you are doing procedural generation or generative art in the browser or Node.js"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/noisejs", "repo": "josephg/noisejs", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.169022+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:34:18.248300+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "da6d4201864989452e7b0ee8f492e519c662e05932d2dc6045974e409ace6529", "fetched_at": "2026-08-28T04:05:26.169022+00:00", "kind": "readme", "missing": false, "url": "https://github.com/josephg/noisejs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5176, "days_push": 1400, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}