Topoheal · open dataset · version 1.0
A census of 2,307 AI-generated 3D assets
Across 23 generators. Every asset was inspected by the same engine, at the same version, with the same thresholds. Of them, 1,461 failed geometry inspection; this page reports how many of those repaired cleanly, and how many our own repairs made worse.
§ 01 The number we would rather not publish
Repairing these assets introduced 312 new defects that were not in the original files. That figure is in the table below, per generator, and it is the reason the rest of the table is worth reading. A repair tool that reports no regressions has not looked for them.
§ 02 The data
| Generator | Assets | Measurable | Unmeasurable | Median faces | Failed lint | Heal: full | Heal: partial | Heal: none | Regressions we caused | Lint p50 (ms) |
|---|---|---|---|---|---|---|---|---|---|---|
| OVERALL | 2,307 | 2,004 | 303 | 77,402 | 1,461 | 63.7% | 33.6% | 2.7% | 312 | 15,326 |
| 3DTopia-XL | 101 | 101 | 0 | 48,794 | 71 | 57.7% | 33.8% | 8.5% | 2 | 3,103 |
| 404_GEN | 101 | 0 | 101 | - | - | - | - | - | - | - |
| Hi3DGen | 101 | 101 | 0 | 632,684 | 101 | 77.2% | 22.8% | 0.0% | 20 | 22,936 |
| Hunyuan3D-2 | 101 | 101 | 0 | 40,000 | - | - | - | - | 0 | 203 |
| Hunyuan3D-2.1 | 101 | 101 | 0 | 40,000 | 4 | 75.0% | 0.0% | 25.0% | 0 | 406 |
| IM-MA | 101 | 101 | 0 | 600 | 101 | 36.6% | 63.4% | 0.0% | 3 | 4,136 |
| InstantMesh | 101 | 101 | 0 | 74,500 | 101 | 88.1% | 11.9% | 0.0% | 10 | 21,173 |
| LGM | 101 | 0 | 101 | - | - | - | - | - | - | - |
| Meshy-6 | 101 | 101 | 0 | 299,266 | 101 | 33.7% | 66.3% | 0.0% | 49 | 25,952 |
| Real3D | 101 | 101 | 0 | 205,508 | 101 | 68.3% | 31.7% | 0.0% | 14 | 21,810 |
| SAM-3D-Objects-3DGS | 101 | 0 | 101 | - | - | - | - | - | - | - |
| SF3D | 101 | 101 | 0 | 24,128 | 5 | 100.0% | 0.0% | 0.0% | 0 | 70 |
| SPAR3D | 101 | 101 | 0 | 29,936 | 9 | 100.0% | 0.0% | 0.0% | 0 | 81 |
| Strawb3rry | 101 | 101 | 0 | 163,878 | 100 | 94.0% | 6.0% | 0.0% | 4 | 16,352 |
| Strawberrry | 101 | 101 | 0 | 21,362 | 53 | 73.6% | 13.2% | 13.2% | 2 | 1,136 |
| TRELLIS.2-4B | 101 | 101 | 0 | 290,881 | 101 | 26.7% | 73.3% | 0.0% | 70 | 28,526 |
| TripoSG | 101 | 101 | 0 | 1,367,152 | 101 | 65.3% | 34.7% | 0.0% | 17 | 28,458 |
| Unique3D | 101 | 101 | 0 | 665,808 | 101 | 37.6% | 62.4% | 0.0% | 48 | 23,410 |
| Zaohaowu3D | 101 | 101 | 0 | 500,000 | 101 | 93.1% | 6.9% | 0.0% | 6 | 13,558 |
| TRELLIS | 100 | 100 | 0 | 16,403 | 35 | 17.1% | 8.6% | 74.3% | 0 | 109 |
| Meshy-5 | 98 | 98 | 0 | 69,170 | 85 | 100.0% | 0.0% | 0.0% | 0 | 19,108 |
| TripoSR | 97 | 97 | 0 | 60,876 | 97 | 90.7% | 9.3% | 0.0% | 2 | 22,600 |
| MeshFormer | 93 | 93 | 0 | 96,892 | 93 | 30.1% | 69.9% | 0.0% | 65 | 18,620 |
Download CSV · Download JSON
· re-lint 2026-08-17 · built from
results/aggregate_by_generator_relint_2026-08-17.csv
§ 03 ⛔ Withheld on purpose
The source artifact carries defect rates per generator. They are not published here, because unfixed findings in our own engine undermine them and we would rather publish less than publish something we would have to retract:
pass_rate: not quotable, FINDING-7defect_not_watertight: overstated, FINDING-7defect_non_manifold: undermined by FINDING-7defect_uv_missing: gated, FINDING-10defect_floating_debris: a FLOOR, not a measurement, FINDING-8defect_inverted_normals: withheld with the defect familydefect_inconsistent_normals: withheld with the defect familydefect_vertex_color_only: withheld with the defect familydefect_over_budget: not in the guardrail's quotable tableover_unity_mobile_budget: not in the guardrail's quotable table
Those numbers exist and are reproducible; they are not yet defensible. When the findings close, the column appears and the version number moves.
§ 04 What this measures, and what it does not
- It reads triangle meshes:
.glb .gltf .obj .ply .stl. It cannot do B-rep, so STEP, IGES and Parasolid are outside it entirely, and there is no tolerance check at all. - It has no opinion on whether an asset looks right. It measures geometry, not art direction.
- Unmeasurable assets are counted, never silently dropped: 303 of 2,307 could not be read well enough to judge, and they are reported rather than excluded from the denominator.
- ⚠️ The corpus is a snapshot. Generators ship new models continuously, so a row here describes the model version captured at collection time, not the vendor's current output.
§ 05 Cite it
Licensed CC BY 4.0. Corrections are welcome and will be published with the correction, not quietly folded in.