{"id":28579800,"url":"https://github.com/manyfold3d/mittsu-mesh_analysis","last_synced_at":"2026-02-07T01:04:58.444Z","repository":{"id":262516556,"uuid":"887347951","full_name":"manyfold3d/mittsu-mesh_analysis","owner":"manyfold3d","description":"Mesh analysis for Mittsu","archived":false,"fork":false,"pushed_at":"2025-08-12T15:36:43.000Z","size":188,"stargazers_count":1,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-07T23:31:06.123Z","etag":null,"topics":["3d-models","rubygem"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/manyfold3d.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-12T15:35:08.000Z","updated_at":"2024-12-19T10:12:49.000Z","dependencies_parsed_at":"2024-12-16T03:05:08.303Z","dependency_job_id":null,"html_url":"https://github.com/manyfold3d/mittsu-mesh_analysis","commit_stats":null,"previous_names":["manyfold3d/mittsu-mesh_analysis"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/manyfold3d/mittsu-mesh_analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manyfold3d%2Fmittsu-mesh_analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manyfold3d%2Fmittsu-mesh_analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manyfold3d%2Fmittsu-mesh_analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manyfold3d%2Fmittsu-mesh_analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manyfold3d","download_url":"https://codeload.github.com/manyfold3d/mittsu-mesh_analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manyfold3d%2Fmittsu-mesh_analysis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29183313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T00:44:15.062Z","status":"ssl_error","status_checked_at":"2026-02-07T00:35:01.758Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-models","rubygem"],"created_at":"2025-06-11T02:41:32.946Z","updated_at":"2026-02-07T01:04:58.436Z","avatar_url":"https://github.com/manyfold3d.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mittsu: Mesh Analysis\n\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/manyfold3d/mittsu-mesh_analysis/build-workflow.yml)\n[![Maintainability](https://api.codeclimate.com/v1/badges/fcd3adbcc0c9846ee219/maintainability)](https://codeclimate.com/github/manyfold3d/mittsu-mesh_analysis/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/fcd3adbcc0c9846ee219/test_coverage)](https://codeclimate.com/github/manyfold3d/mittsu-mesh_analysis/test_coverage)\n![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/rubygems/mittsu-mesh_analysis)\n\n\n![GitHub Release](https://img.shields.io/github/v/release/manyfold3d/mittsu-mesh_analysis)\n![Gem Downloads (for latest version)](https://img.shields.io/gem/dtv/mittsu-mesh_analysis)\n![Dependent repos (via libraries.io)](https://img.shields.io/librariesio/dependent-repos/rubygems/mittsu-mesh_analysis)\n\nMesh analysis methods for [Mittsu](https://github.com/danini-the-panini/mittsu).\n\nAdds three methods:\n\n* `Mittsu::Object3D#manifold?`: Detects if a mesh is a single valid surface; i.e. it has no holes, and faces are consistently oriented.\n* `Mittsu::Object3D#solid?`: Detects if the faces of a manifold mesh are correctly oriented, giving the mesh a sensible inside and outside.\n* `Mittsu::Face3#flip!`: Flips the vertex order, and thus orientation of a particular face.\n\n## Requirements\n\nRuby 3.1 or above, otherwise the same as for [Mittsu](https://github.com/danini-the-panini/mittsu) itself.\n\n## Usage\n\nJust install:\n\n`bundle add mittsu-mesh_analysis`\n\nThen require in your code:\n\n`require 'mittsu/mesh_analysis'`\n\nThe methods above should then be available for use.\n\n## About\n\nThis code was originally written for [Manyfold](https://manyfold.app), supported by funding from [NLNet](https://nlnet.nl) and [NGI Zero](https://ngi.eu/ngi-projects/ngi-zero/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanyfold3d%2Fmittsu-mesh_analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanyfold3d%2Fmittsu-mesh_analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanyfold3d%2Fmittsu-mesh_analysis/lists"}