{"adoption": {"forks": 102, "observed_at": "2026-08-28T04:03:26.773083+00:00", "stars": 1065}, "canonical_url": "https://ross.abutalabs.com/products/long-shadows", "card": {"archived": false, "artifact_type": "library", "description": "Long Shadows for android!", "domain": ["mobile-development", "graphics", "web-design"], "enriched": true, "function": ["ui-components", "graphics", "animation"], "health_score": 20, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["harjot-oberai/Long-Shadows"], "name": "harjot-oberai/Long-Shadows", "platform": [], "pushed_at": "2018-04-18T12:27:33+00:00", "repo": "harjot-oberai/Long-Shadows", "stars": 1065, "tags": ["long-shadow", "view-shadows", "material-design", "native-rendering", "java", "android"], "topics": ["android", "longshadows", "library", "concave-hull"], "urls": [], "use_cases": ["add long shadows to android views", "render long shadows for custom views", "simulate multiple light sources with multiple shadows", "animate shadow fade-in on android", "control shadow angle, length, blur, and color per view"], "what_it_is": "An Android library for efficiently generating and rendering long shadows for any type of view, including custom views. Heavy calculations are done in native code for fast rendering, with support for multiple shadows, async calculations, and fade animations.", "when_to_avoid": ["you need material elevation shadows rather than long shadows", "your project is not Android/Java-based", "you need actively maintained support for the latest Android APIs"], "when_to_choose": ["you want flat-design long shadows on Android views with fine per-view control", "you need fast shadow rendering via native calculations", "you want multiple shadows per view to simulate multiple light sources"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/long-shadows", "repo": "harjot-oberai/Long-Shadows", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "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:03:26.773083+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.773083+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:55:29.986191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "abf4c93610f9f1a55a754396fc29ef8685a912bd8cce79ee9e368d5eaefdb104", "fetched_at": "2026-08-28T04:03:26.773083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harjot-oberai/Long-Shadows"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3140, "days_push": 3059, "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}}