Generated meshes no longer need a full redraw: editing only the bad faces lifts quad-equivalent F1 from 0.294 to 0.340
Synopsis
Generated meshes often carry holes, stray faces and duplicated faces; MeshRepair reads the draft as a prefix and autoregressively emits only a deletion-then-addition edit sequence, raising quad-equivalent face F1 on LATO2 drafts from 0.294 to 0.340 where rule-based repair tools leave it flat or lower.
Interpretation
Topology defects in generated meshes can be corrected in place instead of asking the generator for a fresh draw. The previous remedy was regeneration, but a new draw can change a layout the user already preferred or introduce errors elsewhere, while rule-based tools close every boundary loop and delete every face at a non-manifold edge. On scripted defects and on held-out drafts from two mesh generators, MeshRepair is the only method that raises quad-equivalent face F1 on both, from 0.294 to 0.340 on LATO2 drafts and from 0.848 to 0.868 on MeshCarve drafts, whereas hole filling in trimesh, PyMeshLab and Blender leaves F1 flat or lower.
It reads the whole draft and generates only the part that has to change. Autoregressive mesh generators produce every face in sequence, whereas here the draft forms a prefix of face tokens and only the edit sequence is decoded. Each face is quantized to a voxel grid and pooled into one face token, the prefix is read bidirectionally so a missing face can be recognized from the surface around it, and the edit sequence first has a deletion head point at draft faces by index and then an addition head select three vertices per new face, predicting a missing vertex coordinate when needed, with untouched faces passing through unchanged.
Deletion is the more reliable half, and the gain comes mostly from it. Addition has a far larger action space: it must pick three compatible vertices in order, decide whether a vertex is missing, and avoid repeating a face. On LATO2 drafts deletion precision is 0.916 while addition reaches 0.149 precision and 0.024 recall, and replacing the pointer head with one that emits face coordinates drops deletion F1 from 0.662 to 0.091, showing that pointing at a face is far easier than naming it by coordinates.
Perspective
The work corrects topology only and preserves the draft's existing vertex coordinates, so coordinate drift, misplaced parts and coarse shape errors remain the generator's responsibility. It targets generated artisan meshes with local defects, takes the draft itself as input, and needs no user-marked region or sketch. Evaluation covers two scripted damage classes, removed face patches and inserted spurious faces, plus drafts that MeshCarve and LATO2 generate on held-out Objaverse shapes, where draft and reference share one vertex set so connectivity errors are isolated from vertex placement.
The method relies on enough local evidence in the draft, and extremely sparse, disconnected or distorted inputs may exceed its capacity. Addition and new-vertex recovery remain harder than deletion, the model can delete correct faces or leave holes, and on LATO2 drafts the share of boundary edges rises. It guarantees neither watertightness, manifoldness nor exact reference recovery, and the authors note that its edit sequence can be restricted to a selected region before conventional cleanup.
