{"adoption": {"forks": 67, "observed_at": "2026-08-28T04:05:34.544483+00:00", "stars": 1776}, "canonical_url": "https://ross.abutalabs.com/products/inochi2d", "card": {"archived": false, "artifact_type": "library", "description": "Inochi2D SDK - Bring your characters to life", "domain": ["graphics", "media", "entertainment"], "enriched": true, "function": ["animation", "graphics", "sdk", "gui"], "health_score": 92, "homepage": "https://inochi2d.com", "language": "D", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["Inochi2D/inochi2d", "Inochi2D/inochi-creator"], "name": "Inochi2D", "platform": ["cross-platform", "cpp"], "pushed_at": "2026-08-01T20:34:43+00:00", "repo": "Inochi2D/inochi2d", "stars": 1776, "tags": ["vtuber", "puppet-animation", "live2d-alternative", "d-language", "realtime-animation", "rigging", "vtubing", "game-development", "gpu"], "topics": ["animation", "livestreaming", "realtime-puppet", "vtuber"], "urls": [{"kind": "homepage", "url": "https://inochi2d.com"}], "use_cases": ["animate 2d characters in realtime for vtubing", "integrate 2d puppet animation into a game engine", "build a vtuber avatar tracking application", "render rigged 2d models with physics and compositing", "embed inochi2d puppet models in a unity project", "create live animated avatars for livestreaming"], "what_it_is": "Inochi2D is a D-language library and SDK for realtime 2D puppet animation, deforming layered 2D artwork meshes at runtime to create the illusion of 3D depth and movement. It is the reference implementation of the Inochi2D Puppet standard, with a C FFI and Unity bindings for use outside D.", "when_to_avoid": ["you are an end-user VTuber or rigger - use Inochi Session or Inochi Creator instead of this SDK", "you need turnkey animation software rather than a library you integrate yourself", "your project cannot work with a D-based core or its C FFI build requirements (LDC2, dub)"], "when_to_choose": ["you need a royalty-free, open-source alternative to Live2D for realtime 2D puppet animation", "you want to embed rigged 2D character animation in your own engine or Unity project via C FFI or bindings", "you are building VTubing, animation, or game tooling around the Inochi2D puppet standard"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/Inochi2D/inochi2d", "repo": "Inochi2D/inochi2d", "role": "main", "score": 77}, {"path": "/repos/Inochi2D/inochi-creator", "repo": "Inochi2D/inochi-creator", "role": "plugin", "score": 35}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.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:05:34.544483+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:34.544483+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:25:15.068944+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5f77a829b3f3aea416f2da6a001a7cba6cac996d42067deab60028867ae41b88", "fetched_at": "2026-08-28T04:05:34.544483+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Inochi2D/inochi2d"}, {"content_hash": "be113cf2719f46b8700bed44ca51d5ac823cb6c3dd14c6eb8b2d1c94ce3fe257", "fetched_at": "2026-08-29T11:04:06.192439+00:00", "kind": "homepage", "missing": false, "url": "https://inochi2d.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 40}, "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": 2155, "days_push": 32, "days_rel": 700, "gap_med": 10.0, "n_releases_24m": 3}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}