{"adoption": {"forks": 182, "observed_at": "2026-08-28T04:04:24.899985+00:00", "stars": 1334}, "canonical_url": "https://ross.abutalabs.com/products/geometry-central", "card": {"archived": false, "artifact_type": "library", "description": "Applied 3D geometry in C++, with a focus on surface meshes.", "domain": ["graphics", "computer-vision", "simulation", "developer-tools"], "enriched": true, "function": ["simulation", "math", "graphics", "developer-tools"], "health_score": 91, "homepage": "https://geometry-central.net", "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["nmwsharp/geometry-central"], "name": "nmwsharp/geometry-central", "platform": ["cpp", "cross-platform", "windows"], "pushed_at": "2026-06-13T19:26:31+00:00", "repo": "nmwsharp/geometry-central", "stars": 1334, "tags": ["geometry-processing", "surface-meshes", "discrete-differential-geometry", "mesh-processing", "eigen", "computational-geometry", "algorithms", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["process and modify 3D surface meshes in C++", "compute geometric quantities like normals and curvature on meshes", "compute geodesic distances on surfaces", "generate direction fields on meshes", "work with intrinsic Delaunay triangulations", "solve sparse linear systems for geometry problems", "build geometry processing research prototypes"], "what_it_is": "Geometry Central is a modern C++ library of data structures and algorithms for geometry processing, with a particular focus on surface meshes. It provides a polished halfedge mesh class, geometric quantities from discrete differential geometry, algorithms like surface distance and direction fields, and sparse linear algebra tools built on Eigen.", "when_to_avoid": ["you need a broad computational geometry library covering non-surface geometry like CGAL", "you need volumetric or point-cloud-only processing as the primary focus", "you need Python-first tooling (only third-party bindings like Potpourri3d exist)", "you need rendering or a full GUI, which is delegated to tools like Polyscope"], "when_to_choose": ["you need a modern, header-friendly C++ library focused on surface mesh geometry processing", "you want discrete differential geometry operators and algorithms out of the box", "you want efficient mesh modification with data containers tied to mesh elements", "you want Eigen-based sparse linear algebra with automatic solver upgrades"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/geometry-central", "repo": "nmwsharp/geometry-central", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "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:04:24.899985+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:24.899985+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:44:34.314829+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f37586a9718671c72b6f4181437018c31f1bd1ce765f4cfcad0567df921f1701", "fetched_at": "2026-08-28T04:04:24.899985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nmwsharp/geometry-central"}, {"content_hash": "95218f7434ef10c5cf8d66bc5ffa0823328a32dce590a2035f6240caa4c86da8", "fetched_at": "2026-08-29T12:03:48.412364+00:00", "kind": "homepage", "missing": false, "url": "https://geometry-central.net"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 87, "longevity": 100, "rhythm": 52}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3208, "days_push": 81, "days_rel": 106, "gap_med": 411, "n_releases_24m": 2}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}