{"adoption": {"forks": 383, "observed_at": "2026-08-28T04:08:08.872400+00:00", "stars": 3529}, "canonical_url": "https://ross.abutalabs.com/products/sparkjsdev-spark", "card": {"archived": false, "artifact_type": "library", "description": ":sparkles:  An advanced 3D Gaussian Splatting renderer for THREE.js", "domain": ["graphics", "web-development", "computer-vision", "frontend"], "enriched": true, "function": ["graphics", "image-processing", "web-framework"], "health_score": 99, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["sparkjsdev/spark"], "name": "sparkjsdev/spark", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-25T22:33:40+00:00", "repo": "sparkjsdev/spark", "stars": 3529, "tags": ["gaussian-splatting", "threejs", "webgl2", "3d-rendering", "typescript", "real-time-rendering", "web-server", "mobile"], "topics": [], "urls": [], "use_cases": ["render 3d gaussian splats in a three.js scene", "display splat files like ply spz or ksplat in the browser", "animate and edit gaussian splats in real time", "mix splat and mesh objects in one 3d scene", "run gaussian splatting on mobile devices", "render multiple splat viewpoints simultaneously"], "what_it_is": "Spark is an advanced 3D Gaussian Splatting renderer library for THREE.js, built in TypeScript by World Labs. It integrates with the THREE.js rendering pipeline to render, sort, edit, and animate splat objects alongside mesh-based content across devices with WebGL2 support.", "when_to_avoid": ["you need a standalone splat viewer without THREE.js", "your target devices lack WebGL2 support", "you need non-JavaScript or native rendering"], "when_to_choose": ["you already use THREE.js and want to add Gaussian Splatting", "you need broad device support including low-powered mobile", "you need dynamic splat editing, animation, or GPU shader graphs", "you must support many splat file formats"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sparkjsdev-spark", "repo": "sparkjsdev/spark", "role": "main", "score": 81}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "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:08:08.872400+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:08.872400+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:35:08.236987+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d4c70a9e068b31f1fd5af0c116ea39135699d1f5cb4afd7b519cc97d979322d5", "fetched_at": "2026-08-28T04:08:08.872400+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sparkjsdev/spark"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 33, "rhythm": 84}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 467, "days_push": 8, "days_rel": 107, "gap_med": 11.0, "n_releases_24m": 13}, "score": 81, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}