{"adoption": {"forks": 115, "observed_at": "2026-08-28T04:03:36.549477+00:00", "stars": 1106}, "canonical_url": "https://ross.abutalabs.com/products/cinolib", "card": {"archived": false, "artifact_type": "library", "description": "A generic programming header only C++ library for processing polygonal and polyhedral meshes", "domain": ["graphics", "computer-vision", "simulation", "developer-tools"], "enriched": true, "function": ["graphics", "simulation", "parser", "math"], "health_score": 79, "homepage": null, "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["mlivesu/cinolib"], "name": "mlivesu/cinolib", "platform": ["cpp", "cross-platform", "windows"], "pushed_at": "2026-08-19T07:25:43+00:00", "repo": "mlivesu/cinolib", "stars": 1106, "tags": ["geometry-processing", "mesh-processing", "header-only", "polygonal-meshes", "polyhedral-meshes", "surface-mesh", "volume-mesh", "hexmesh", "tetmesh", "geodesic", "computer-graphics", "algorithms", "linux", "macos"], "topics": ["geometry-processing", "computer-graphics", "polygonal-meshes", "polyhedral-meshes", "triangle-mesh", "quad-mesh", "quadrilateral-mesh", "tetrahedral-mesh", "tet-mesh", "hexahedral-mesh", "hex-mesh", "hexmesh", "tetmesh", "quadmesh", "trimesh", "mesh-generation", "mesh-processing", "surface-mesh", "volume-mesh", "geodesic"], "urls": [], "use_cases": ["process triangle and quad surface meshes in C++", "generate and manipulate tetrahedral and hexahedral volume meshes", "compute geodesic distances on meshes", "write geometry processing algorithms that work on any mesh type", "convert between surface and volumetric mesh representations", "mesh generation for simulation and graphics pipelines"], "what_it_is": "CinoLib is a header-only C++ library for processing polygonal and polyhedral meshes, supporting triangle, quad, and general polygon surface meshes as well as tetrahedral, hexahedral, and general polyhedral volume meshes. All mesh types share a single abstract base class, letting the same algorithms run on any mesh type without code duplication.", "when_to_avoid": ["you only need triangle mesh processing and prefer a more battle-tested tool like libigl, VCG, or PMP", "you need GPU-accelerated or highly optimized rendering-focused mesh code", "you need a non-C++ language binding"], "when_to_choose": ["you need a unified data structure handling both surface and volumetric meshes, including general polyhedra", "you want a header-only C++ library with no build dependencies", "you work in geometry processing research or computer graphics with mixed mesh element types"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cinolib", "repo": "mlivesu/cinolib", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "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:36.549477+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:36.549477+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:44:15.781703+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "01d701aebe42c66ef696d7da7be1bc932c2a278c705060086fcaf149a90bc41d", "fetched_at": "2026-08-28T04:03:36.549477+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mlivesu/cinolib"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3304, "days_push": 14, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}