{"adoption": {"forks": 562, "observed_at": "2026-08-28T04:07:50.121972+00:00", "stars": 3231}, "canonical_url": "https://ross.abutalabs.com/products/openjscadorg", "card": {"archived": false, "artifact_type": "framework", "description": "JSCAD is an open source set of modular, browser and command line tools for creating parametric 2D and 3D designs with JavaScript code. It provides a quick, precise and reproducible method for generating 3D models, and is especially useful for creating ready-to-print 3D designs.", "domain": ["graphics", "developer-tools", "cross-platform", "web-development"], "enriched": true, "function": ["graphics", "cli", "gui", "sdk", "developer-tools"], "health_score": 78, "homepage": "https://openjscad.xyz/", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["jscad/OpenJSCAD.org"], "name": "jscad/OpenJSCAD.org", "platform": ["browser", "cli", "cross-platform"], "pushed_at": "2026-08-05T02:46:27+00:00", "repo": "jscad/OpenJSCAD.org", "stars": 3231, "tags": ["cad", "parametric-modeling", "3d-printing", "csg", "stl", "3mf", "dxf", "openscad-alternative", "monorepo", "game-development", "nodejs", "web-server", "javascript"], "topics": ["javascript", "3d-design", "openjscad", "jscad", "stl", "dxf", "obj", "amf", "svg", "x3d", "modular", "hacktoberfest", "csg", "3mf", "2d-design", "monorepo"], "urls": [], "use_cases": ["create parametric 3d models with javascript code", "generate stl files for 3d printing", "design 2d and 3d parts in the browser without installing software", "batch-convert 3d model formats from the command line", "programmatically generate customizable 3d printable designs", "self-host a web-based cad modeling tool"], "what_it_is": "JSCAD is a set of modular, browser-based and command-line tools for creating parametric 2D and 3D designs with JavaScript code. It generates precise, reproducible 3D models and exports them in standard formats such as STL and 3MF for 3D printing.", "when_to_avoid": ["you need a traditional interactive gui cad application with sketching and assembly tools", "you require STEP or other professional CAD interchange formats", "you need photorealistic rendering or animation rather than precise geometry", "you want a mature desktop application - the desktop app is pre-alpha"], "when_to_choose": ["you want code-driven, reproducible parametric cad instead of manual gui modeling", "you need to export designs in standard 3d printing formats like stl, 3mf, or amf", "you want to run modeling in the browser, as a cli, or as node.js packages", "you prefer an open-source alternative to OpenSCAD using JavaScript"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openjscadorg", "repo": "jscad/OpenJSCAD.org", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "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:07:50.121972+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:50.121972+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:24:39.179615+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f3a94790bbc5b241a4e4d7f6fc56992acc74adcf081eab5ce0bb4fae43008a99", "fetched_at": "2026-08-28T04:07:50.121972+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jscad/OpenJSCAD.org"}, {"content_hash": "7581e624c254338802fcf4ec2f9cd7c06c6754f1bf48a5844e97ebcc26074413", "fetched_at": "2026-08-29T09:37:48.430210+00:00", "kind": "homepage", "missing": false, "url": "https://openjscad.xyz/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4924, "days_push": 28, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}