{"adoption": {"forks": 452, "observed_at": "2026-08-28T04:07:25.968884+00:00", "stars": 2859}, "canonical_url": "https://ross.abutalabs.com/products/physijs", "card": {"archived": false, "artifact_type": "plugin", "description": "Physics plugin for Three.js", "domain": ["graphics", "web-development"], "enriched": true, "function": ["game-engine", "simulation", "graphics"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["chandlerprall/Physijs"], "name": "chandlerprall/Physijs", "platform": ["browser"], "pushed_at": "2022-08-01T02:08:32+00:00", "repo": "chandlerprall/Physijs", "stars": 2859, "tags": ["threejs", "physics-engine", "ammojs", "web-worker", "rigid-body-physics", "3d", "game-development", "javascript", "web"], "topics": [], "urls": [], "use_cases": ["add physics to a three.js scene", "simulate rigid bodies and collisions in the browser", "build a 3D jenga or stacking game with three.js", "create vehicle physics in a web 3D app", "run physics simulations without blocking rendering", "use custom convex or concave collision shapes in three.js"], "what_it_is": "Physijs is a physics plugin for the Three.js 3D graphics library, built on top of ammo.js (with a cannon.js branch). It runs physics simulations in a web worker and lets developers add rigid bodies, collisions, constraints, and vehicles to Three.js scenes with minimal code.", "when_to_avoid": ["you need a modern, actively maintained physics engine", "you use a 3D framework other than three.js", "you need advanced physics features not supported by ammo.js bindings here"], "when_to_choose": ["you already use three.js and want easy physics integration", "you want physics running off the main thread via web workers", "you need simple rigid body, collision, and constraint setup in the browser"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/physijs", "repo": "chandlerprall/Physijs", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "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:25.968884+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:25.968884+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:48:30.158818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7368d2bafff503d637ac9ef00c8e3da3990734d140f85d5441616991b9152bc1", "fetched_at": "2026-08-28T04:07:25.968884+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chandlerprall/Physijs"}], "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": 5290, "days_push": 1494, "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}}