{"adoption": {"forks": 490, "observed_at": "2026-08-28T04:06:54.530679+00:00", "stars": 2468}, "canonical_url": "https://ross.abutalabs.com/products/astral3d", "card": {"archived": false, "artifact_type": "application", "description": "基于Vue3 + THREE.JS 免费开源的三维引擎及配套编辑器，包含BIM轻量化、CAD解析预览、粒子系统、插件系统等功能。               A free and open-source 3D engine based on Vue3 + THREE.JS and its accompanying editor, featuring functions such as BIM lightweighting, CAD parsing preview, particle system, and plugin system.", "domain": ["web-development", "graphics", "frontend", "developer-tools"], "enriched": true, "function": ["graphics", "image-processing", "plugin-system", "animation", "editor", "gui"], "health_score": 93, "homepage": "https://3d.astraljs.com", "language": "JavaScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["mlt131220/Astral3D"], "name": "mlt131220/Astral3D", "platform": ["cross-platform", "browser"], "pushed_at": "2026-08-12T05:27:59+00:00", "repo": "mlt131220/Astral3D", "stars": 2468, "tags": ["threejs", "vue3", "3d-editor", "bim", "cad", "webgl", "webgpu", "particle-system", "scene-editor", "model-viewer", "game-development", "web-server", "nodejs"], "topics": ["3d", "bim", "cad", "editor", "threejs", "vue3", "webgl", "webgpu", "threejs-editor"], "urls": [], "use_cases": ["edit 3D scenes in the browser", "view lightweight BIM models like RVT and IFC", "preview and parse CAD drawings such as DWG and DXF", "build particle and weather effects for 3D scenes", "create and edit 3D animations for web visualization", "extend a 3D editor with custom plugins and scripts", "embed a Three.js-based 3D editor into a web app"], "what_it_is": "Astral 3D Editor is a free, open-source web-based 3D engine and editor built on Vue3 and Three.js. It supports 30+ model formats, BIM lightweight visualization (RVT/IFC), CAD drawing parsing (DWG/DXF), particle and weather systems, animation editing, and a plugin system.", "when_to_avoid": ["you need native desktop 3D tools like Blender-level modeling features", "you require physics simulation or WebGPU support today (still on the roadmap)", "you need a headless 3D rendering library rather than a full editor application"], "when_to_choose": ["you need a browser-based 3D scene editor with broad model format support", "you need BIM or CAD file preview in a web application", "you want a Vue3 + Three.js stack with a plugin and scripting system", "you need scene packaging, cloud storage, and asset management for 3D content"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/astral3d", "repo": "mlt131220/Astral3D", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "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:06:54.530679+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:54.530679+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:29:11.511015+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a4c81a1ef4a27f8515e6fb5d5b34730326f0e33df7262f384c3c919628883b25", "fetched_at": "2026-08-28T04:06:54.530679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlt131220/Astral3D"}, {"content_hash": "6549ef51271723ceab76a2f7821b0e15cea86463a18203f00a1e196478ee9bbb", "fetched_at": "2026-08-29T10:10:40.134455+00:00", "kind": "homepage", "missing": false, "url": "https://3d.astraljs.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 18}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1799, "days_push": 21, "days_rel": 333, "gap_med": null, "n_releases_24m": 1}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}