{"adoption": {"forks": 93, "observed_at": "2026-08-28T04:05:32.611865+00:00", "stars": 1760}, "canonical_url": "https://ross.abutalabs.com/products/niagara", "card": {"archived": false, "artifact_type": "application", "description": "A Vulkan renderer written from scratch on stream", "domain": ["graphics", "developer-tools", "tutorials"], "enriched": true, "function": ["graphics", "simulation", "developer-tools"], "health_score": 77, "homepage": null, "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["zeux/niagara"], "name": "zeux/niagara", "platform": ["windows", "cpp"], "pushed_at": "2026-07-31T21:08:08+00:00", "repo": "zeux/niagara", "stars": 1760, "tags": ["vulkan", "renderer", "mesh-shading", "gpu-culling", "occlusion-culling", "streamed-development", "learning-resource", "game-development", "linux", "gpu"], "topics": ["vulkan"], "urls": [], "use_cases": ["learn modern Vulkan rendering techniques from a from-scratch renderer", "study GPU-driven culling and scene submission implementations", "see task and mesh shading pipelines in practice", "explore automatic occlusion culling with depth pyramids", "benchmark mesh shading pipeline performance", "follow along with a streamed renderer development series"], "what_it_is": "A Vulkan renderer written from scratch in C++ during live-streamed development sessions, experimenting with modern Vulkan rendering techniques. It implements GPU culling, cone culling, automatic occlusion culling, and task/mesh shading without Vulkan-specific third-party code.", "when_to_avoid": ["you need a production-ready, general-purpose rendering engine", "you require cross-platform support beyond Windows and Linux desktops", "you need a renderer with a high-level API or extensive documentation"], "when_to_choose": ["you want a real-world reference implementation of GPU culling and mesh shading in Vulkan", "you are learning Vulkan graphics programming and want streamed, incremental lessons", "you need example code for occlusion culling or draw call compaction"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/niagara", "repo": "zeux/niagara", "role": "main", "score": 75}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "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:32.611865+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.611865+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:27:15.459266+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f10c9cbc6afeeb9df840c481145e223c9200154d462a1ef5779a606d6839833d", "fetched_at": "2026-08-28T04:05:32.611865+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zeux/niagara"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2966, "days_push": 33, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 75, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}