{"id":50740020,"url":"https://github.com/lightningpixel/modly-triposplat-extension","last_synced_at":"2026-06-10T16:32:01.190Z","repository":{"id":362713638,"uuid":"1260355671","full_name":"lightningpixel/modly-triposplat-extension","owner":"lightningpixel","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-05T14:36:54.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T16:21:51.186Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lightningpixel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-05T12:06:15.000Z","updated_at":"2026-06-05T14:37:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lightningpixel/modly-triposplat-extension","commit_stats":null,"previous_names":["lightningpixel/modly-triposplat-extension"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/lightningpixel/modly-triposplat-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightningpixel%2Fmodly-triposplat-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightningpixel%2Fmodly-triposplat-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightningpixel%2Fmodly-triposplat-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightningpixel%2Fmodly-triposplat-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lightningpixel","download_url":"https://codeload.github.com/lightningpixel/modly-triposplat-extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lightningpixel%2Fmodly-triposplat-extension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34161283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-06-10T16:32:00.032Z","updated_at":"2026-06-10T16:32:01.185Z","avatar_url":"https://github.com/lightningpixel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Modly — TripoSplat extension\n\nSingle image → 3D using [TripoSplat](https://huggingface.co/spaces/VAST-AI/TripoSplat)\n(Tripo AI / VAST AI Research), wired into Modly as a standard image-to-mesh model.\n\n## What it does\n\nTripoSplat is a **feed-forward Gaussian Splatting** model: one forward pass turns\nan image into up to 262k 3D Gaussians — fast, no long diffusion-step blowup.\n\nModly is mesh-centric (the viewer and exporter only handle `.glb` meshes), so this\nextension **reconstructs the Gaussians into a watertight, vertex-colored `.glb`**:\n\n```\nimage → BiRefNet (bg removal) → DINOv3 → flow sampling → Gaussian decode\n      → anisotropic density grid (covariance-rasterized) → Surface Nets\n      → component cleanup → Taubin smooth → colored .glb mesh\n```\n\nThe mesh path is **ported from ComfyUI's native `SplatToMesh`** (`splat_mesh.py`):\neach Gaussian is rasterized as its oriented 3-sigma covariance disk into a density\ngrid, the iso-surface is extracted with Surface Nets at an Otsu-picked level, and\nvertex colors are sampled from a co-splatted color volume. This respects each\nsplat's opacity and scale+rotation, so the surface fills solidly instead of\npitting. A mesh is still a lossy approximation of the splats; expect a clean,\nrecognizable shape rather than the fidelity of a native splat render.\n\nThe mesh keeps the Gaussians' color (SH DC → vertex colors sampled from the color volume).\n\n## Parameters\n\n| Param | Default | Notes |\n|-------|---------|-------|\n| Sampling Steps | 20 | Euler flow-matching steps. 10–25 recommended. |\n| Gaussians | 262k | 65k / 131k / 262k. More = denser cloud, finer mesh. |\n| Mesh Detail | High (9) | Surface-Nets grid res (7→160 … 10→288). Higher = finer, slower. |\n| Mesh Smoothing | Medium | Taubin iterations during reconstruction. Lower = crisper but noisier. |\n| Seed | -1 | -1 = random. |\n\nEach run also writes the raw Gaussian splat next to the `.glb` (`.ply` 3DGS + `.splat`)\nfor viewing in a native splat viewer (e.g. SuperSplat) at full fidelity.\n\nCFG scale, flow shift, and mask erosion are fixed internally (no practical effect\nin this image-to-3D path, so kept off the UI).\n\n## Dependencies\n\nPure PyTorch — **no compiled CUDA extensions**. `setup.py` creates an isolated\nvenv with an accelerator-matched PyTorch build, plus `numpy safetensors pillow\ntqdm huggingface_hub trimesh pymeshlab scipy`. The model code (`triposplat.py`,\n`model.py`) is pure Python and bundled in `vendor/`.\n\n- **Weights:** `VAST-AI/TripoSplat` (~3.8 GB), auto-downloaded on first run.\n- **VRAM:** ~10 GB recommended.\n\n## Development\n\n```bash\npython build_vendor.py   # refresh vendor/ (triposplat.py + model.py) from the Space\n```\n\nCommit `vendor/` so end users never fetch source at runtime.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightningpixel%2Fmodly-triposplat-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flightningpixel%2Fmodly-triposplat-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flightningpixel%2Fmodly-triposplat-extension/lists"}