{"adoption": {"forks": 240, "observed_at": "2026-08-28T04:07:11.216506+00:00", "stars": 2697}, "canonical_url": "https://ross.abutalabs.com/products/svg-morpheus", "card": {"archived": false, "artifact_type": "library", "description": "JavaScript library enabling SVG icons to morph from one to the other. It implements Material Design's Delightful Details transitions. (THIS PROJECT IS NOT MAINTAINED ANYMORE)", "domain": ["web-development", "frontend", "web-design"], "enriched": true, "function": ["animation", "ui-components", "frontend-framework"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["alexk111/SVG-Morpheus"], "name": "alexk111/SVG-Morpheus", "platform": ["browser"], "pushed_at": "2017-07-21T12:53:57+00:00", "repo": "alexk111/SVG-Morpheus", "stars": 2697, "tags": ["svg", "icons", "material-design", "icon-morphing", "transition-animations", "not-maintained", "nodejs", "web-server"], "topics": [], "urls": [], "use_cases": ["animate svg icons morphing between shapes on my website", "implement material design delightful details icon transitions", "morph a menu icon into a close icon with animation", "transition between icons in an svg icon set with easing and rotation", "add animated icon state changes to a web app without a framework"], "what_it_is": "A standalone JavaScript library that animates SVG icons morphing from one shape to another, implementing Material Design's Delightful Details transitions. It works by embedding an icon set SVG in the page and calling a simple `to(iconId)` API to trigger the transition.", "when_to_avoid": ["you need a maintained library - the project is explicitly unmaintained since 2017", "you need modern build tooling, TypeScript types, or framework integrations (React/Vue components)", "you need to animate arbitrary SVG graphics rather than icon-set shape morphs"], "when_to_choose": ["you need Material Design-style morphing transitions between SVG icons with a tiny dependency-free script", "you want a simple `to(iconId)` API to swap icons with configurable duration, easing, and rotation", "your project already uses legacy tooling (Bower/npm) and just needs a drop-in script tag"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/svg-morpheus", "repo": "alexk111/SVG-Morpheus", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "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:11.216506+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:11.216506+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:16:12.509892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eaaf433bde7565c1e0ebd9204aa85f2956dcbde0f14aca0916137c4576c0b472", "fetched_at": "2026-08-28T04:07:11.216506+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexk111/SVG-Morpheus"}, {"content_hash": "aea4c3feadb82f4674861641df28bf4596da54e6458b1f2339fe7141441aa387", "fetched_at": "2026-08-29T09:59:37.453830+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/svg-morpheus"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 4300, "days_push": 3330, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}