{"adoption": {"forks": 279, "observed_at": "2026-08-28T04:07:46.060794+00:00", "stars": 3148}, "canonical_url": "https://ross.abutalabs.com/products/avian", "card": {"archived": false, "artifact_type": "library", "description": "ECS-driven 2D and 3D physics engine for the Bevy game engine.", "domain": ["simulation", "graphics"], "enriched": true, "function": ["simulation", "game-engine", "graphics"], "health_score": 97, "homepage": "https://crates.io/crates/avian3d", "language": "Rust", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["avianphysics/avian"], "name": "avianphysics/avian", "platform": ["rust", "cross-platform", "game-engine"], "pushed_at": "2026-08-13T21:42:44+00:00", "repo": "avianphysics/avian", "stars": 3148, "tags": ["bevy", "physics-engine", "ecs", "2d-physics", "3d-physics", "collision-detection", "rigid-body-dynamics", "xpbd", "raycasting", "gamedev", "game-development"], "topics": ["bevy", "physics", "physics-engine", "2d", "3d", "rust", "simulation", "game-development", "gamedev"], "urls": [], "use_cases": ["add physics simulation to a Bevy game", "simulate rigid bodies with gravity and collisions in Rust", "do raycasting and shapecasting queries in a Bevy project", "attach joints and constraints between game entities", "generate colliders from meshes automatically", "build 2D and 3D games with an ECS-native physics engine"], "what_it_is": "Avian is an ECS-driven 2D and 3D physics engine built natively for the Bevy game engine in Rust. It provides rigid body dynamics, collision detection via Parry, joints and constraints, and spatial queries, all integrated as modular Bevy plugins.", "when_to_avoid": ["your project does not use Bevy", "you need a battle-tested engine for a large commercial title where mature alternatives like Rapier or PhysX are preferred", "you need features beyond its current scope such as advanced fluid or soft-body simulation"], "when_to_choose": ["you are building a game or simulation with Bevy and need physics", "you want a physics engine that integrates with the ECS instead of wrapping an external engine", "you need modular, replaceable physics components like custom collision backends or joints", "you want an actively maintained, well-documented Rust physics library"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/avian", "repo": "avianphysics/avian", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "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:46.060794+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:46.060794+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:25:55.917196+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f7caf93cdc340c4151a5e982cd7d3348a9b62fc4685a33fa3bcc051b1ba2b26", "fetched_at": "2026-08-28T04:07:46.060794+00:00", "kind": "readme", "missing": false, "url": "https://github.com/avianphysics/avian"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 77}, "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": 1557, "days_push": 20, "days_rel": 74, "gap_med": 58, "n_releases_24m": 10}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}