{"adoption": {"forks": 56, "observed_at": "2026-09-03T02:15:15.804168+00:00", "stars": 1003}, "canonical_url": "https://ross.abutalabs.com/products/mgl", "card": {"archived": false, "artifact_type": "library", "description": "OpenGL 4.6 on Metal", "domain": ["graphics", "apple-ecosystem", "cross-platform"], "enriched": true, "function": ["graphics", "game-engine"], "health_score": 59, "homepage": null, "language": "C++", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["openglonmetal/MGL"], "name": "openglonmetal/MGL", "platform": ["cpp"], "pushed_at": "2026-01-29T01:10:27+00:00", "repo": "openglonmetal/MGL", "stars": 1003, "tags": ["opengl", "metal", "graphics-translation-layer", "glfw", "shaders", "compatibility-layer", "macos"], "topics": [], "urls": [], "use_cases": ["run OpenGL 4.6 applications on macOS via Metal", "port legacy OpenGL code to Apple Silicon Macs", "use OpenGL contexts with GLFW on modern macOS", "develop OpenGL games or tools on MacOS platform", "translate OpenGL shaders and draw calls to Metal"], "what_it_is": "MGL is a C++ library that implements OpenGL 4.6 and OpenGL ES 3.x on top of Apple's Metal API, mapping OpenGL state and draw calls to Metal render pipelines. It includes a modified GLFW build so existing OpenGL applications can run on macOS with Metal-backed contexts.", "when_to_avoid": ["you need full OpenGL conformance or every extension, since coverage is partial and tests are functional rather than exhaustive", "you target platforms other than macOS", "you need guaranteed production stability for mission-critical software"], "when_to_choose": ["you need OpenGL 4.6 or ES 3.x functionality on macOS where Apple deprecated GL", "you want a lightweight translation layer rather than a full emulator like MoltenVK-for-GL alternatives", "your app uses GLFW and you want Metal-backed contexts with minimal changes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mgl", "repo": "openglonmetal/MGL", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:15.804168+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.982774+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfd2e8d7ec029d685ce2aff69c8f2e82caeff9d0dfcf212e416816a97d880ac4", "fetched_at": "2026-09-03T02:15:15.804168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openglonmetal/MGL"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 64, "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": 1699, "days_push": 217, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}