{"adoption": {"forks": 145, "observed_at": "2026-08-28T04:07:29.927348+00:00", "stars": 2916}, "canonical_url": "https://ross.abutalabs.com/products/twostraws-inferno", "card": {"archived": false, "artifact_type": "library", "description": "Metal shaders for SwiftUI.", "domain": ["frontend", "graphics", "mobile-development", "desktop-applications"], "enriched": true, "function": ["graphics", "animation", "ui-components"], "health_score": 70, "homepage": null, "language": "Metal", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["twostraws/Inferno"], "name": "twostraws/Inferno", "platform": [], "pushed_at": "2026-05-17T08:21:54+00:00", "repo": "twostraws/Inferno", "stars": 2916, "tags": ["metal", "shaders", "swiftui", "gpu-effects", "visual-effects", "transitions", "ios", "macos", "swift"], "topics": [], "urls": [], "use_cases": ["add gpu shader effects to a swiftui app", "create animated water ripple effects in ios", "build custom view transitions with metal shaders", "learn how to write metal shaders for swiftui", "add gradient and noise visual effects to macos app", "apply emboss or loupe effects to views on the gpu"], "what_it_is": "Inferno is an open-source collection of Metal fragment shaders designed for use in SwiftUI apps, including effects like water ripples, black holes, gradients, and view transitions. Each shader is written to be readable and educational, with plain-English explanations, and can be copied directly into a project.", "when_to_avoid": ["your app targets platforms or OS versions below iOS 17 / macOS 14", "you use UIKit, AppKit, or non-Apple frameworks rather than SwiftUI", "you need a full shader engine or node-based effects system rather than individual copy-in shader files"], "when_to_choose": ["you build SwiftUI apps on iOS 17+ or macOS 14+ and want fast GPU-powered visual effects", "you want readable, well-commented shader code you can copy and learn from", "you need ready-made effects like ripples, gradients, or animated transitions without writing Metal from scratch"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/twostraws-inferno", "repo": "twostraws/Inferno", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "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:29.927348+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:29.927348+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:34:06.043507+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7bdad5c08cbb6edc0e8eff99352a04fc598750d49c80005a952dd24a8819ca2c", "fetched_at": "2026-08-28T04:07:29.927348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twostraws/Inferno"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 82, "longevity": 72, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1021, "days_push": 108, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}