Source-linked AI summary

MeshCarve: Artisan Mesh Generation with Flow Matching in Compact Latent Spaces

Xiyu Wang, Ruocheng Wu, Yufei Wang, Zhihao Li, Lanqing Guo, Bihan Wen

arXiv:2610.09723v1cs.CV

TL;DR

Artisan mesh generation needs to produce artistic geometry and topology, but joint encoding and latent compression can harm reconstruction. MeshCarve flow matches vertex positions and edge connections separately in spatially compressed latents; it reports advantages on Objaverse and generalizes to Toys4K.

  • Problem

    Prior latent flow-matching methods jointly encode geometry and topology, degrading reconstruction, while spatial compression has further harmed reconstruction quality.

    Source: §3.1 · p. 4
  • Method

    MeshCarve uses an anchor generator and separate VertexVAE and EdgeVAE latents to flow match vertex positions and edge connections in spatially compressed spaces.

    Source: §3.4.1 · p. 6, §5 · pp. 9–10
  • Results

    MeshCarve reports advantages over prior state-of-the-art methods on Objaverse and generalizes to Toys4K; it has the highest normal consistency on both and lowest Chamfer distance on Objaverse among compared methods.

    Source: §1 · p. 3, §4.1 · p. 7
  • Takeaways & Limitations

    At 0.13 tokens per face, MeshCarve runs every generative stage in spatially compressed latents, with a shorter sequence than compared methods.

    Source: §1 · p. 3, §5 · p. 10

    For complex meshes over 10K vertices, 512^3 resolution may not preserve fine details faithfully, and teacher-forced flow networks encounter a domain gap when cascaded.

    Source: §4.2 · p. 9

Abstract

from arXiv · show

Prior artisan mesh generation works largely predict face tokens autoregressively, which makes inference slow. Recent methods instead flow match continuous latents built by Variational AutoEncoders (VAEs), but reconstruction quality drops significantly when geometry and topology are jointly encoded, and further when the latent space is compressed. We present MeshCarve, a flow matching method that generates entirely in compact latent spaces, generating vertex positions and edge connections separately and sidestepping the difficulty of a joint compact latent. To shorten the token sequence, we propose a hierarchical sparse transformer backbone, instantiated as VertexVAE and EdgeVAE. Instead of encoding fields over the surface voxels, both VAEs anchor on discrete vertices in their latent spaces, which drastically reduces the token sequence length, and our spatial-aware compression shortens it further without costing reconstruction. VertexVAE directly encodes vertex occupancy. For connectivity, we propose vertex-link encoding, which turns arbitrary connectivity between vertices into fixed-length continuous per-vertex embeddings and recovers complex artistic topology faithfully. MeshCarve combines these VAEs with an anchor generator and flow matches on the shortened token sequences. It shows advantages over state-of-the-art autoregressive and flow matching methods on Objaverse and generalizes to Toys4K. To the best of our knowledge, it is among the first artisan mesh generation methods whose every generative stage runs in a spatially compressed latent, with a token sequence only a fraction of the most compressed previous autoregressive and flow matching works.

1 INTRODUCTION

MeshCarve separates vertex positions from edge connections and flow matches both in spatially compressed latents. Its compact sequences accompany reported advantages on Objaverse and generalization to Toys4K.

1 INTRODUCTION

  • Earlier flow-matching latents keep one token per surface voxel or vertex and grow with mesh size, making transformer attention costly.The introduction frames spatially compressed latent flow matching as a way to make token growth sublinear as meshes grow.Source: §1 · p. 2
  • Joint geometry-and-topology encoding degrades reconstruction, while surface-voxel tokens are redundant and ordered neighbor lists limit vertex degree and resist compression.The vertex-anchored compression obstacle stems from the topology representation, not vertex anchoring itself.Source: §1 · p. 2
  • MeshCarve reports advantages over prior state-of-the-art methods on Objaverse and generalizes to Toys4K.Its latent holds 0.13 tokens per face on average, the shortest among compared methods.Source: §1 · p. 3
  • MeshCarve generates coarse vertex occupancy in one VAE pass, then flow matches vertex positions and edge connections in separate spatially compressed latents.VertexVAE and EdgeVAE use a shared hierarchical sparse transformer architecture; vertex-link encoding represents connectivity in fixed-length, order-free per-vertex embeddings.Source: §1 · pp. 2–3

2 RELATED WORK

Autoregressive face-token methods reduce token counts but remain slow for large artisan meshes. Latent flow methods avoid serialization, while MeshCarve uses compact, separate geometry and connectivity latents.

2 RELATED WORK

  • Autoregressive generation serializes faces and remains slow for meshes with thousands of faces, with early stopping sometimes leaving geometry incomplete.Face tokenization has been progressively reduced, reaching one token per face in recent work.Source: §2 · p. 3
  • Diffusion and flow matching avoid serialized generation, but prior latent methods jointly encode positions and connections and retain one token per element.LATO anchors tokens to surface voxels and MeshFlow to vertices; MeshCarve instead builds compact latent spaces anchored to vertices, separating geometry and topology (Zhao et al., 2026; Li et al., 2026b).Source: §2 · pp. 3–4
  • MeshCarve’s compact latent spaces shorten the sequence for flow matching, allowing a larger flow-matching backbone to run comfortably.This addresses the sequence growth and cost of prior one-token-per-element latent methods.Source: §2 · pp. 3–4

3 METHOD

MeshCarve generates vertex positions and edge connections in separate compressed latents, using an anchor generator to establish where flow matching operates. Its shared sparse-transformer VAE design encodes vertex occupancy and connectivity on vertex-anchored tokens.

3 METHOD

  • MeshCarve first establishes an anchor, then generates vertex occupancy and connectivity through separate latent flows conditioned on a point cloud.The vertex flow uses the generated anchor; the edge flow uses the same anchor and is additionally conditioned on the vertex latent.Source: §3 · p. 4, §3.4.2 · p. 6

3.1 OVERALL VAE DESIGN

  • Separate VertexVAE and EdgeVAE models encode vertex position and edge connection, addressing reconstruction degradation observed when both are jointly encoded.The two VAEs share one backbone.Source: §3.1 · p. 4
  • Spatial-aware compression stacks eight child-voxel features and learns a projection to one parent feature, reducing the latent resolution to 64^3.Empty children are omitted during compression, and only occupied children are instantiated during decompression; token count follows local vertex density.Source: §3.1 · pp. 4–5

3.2 VERTEXVAE: COMPRESSING VERTEX GEOMETRY

  • VertexVAE encodes 512^3 vertex occupancy into a 64^3 latent and recovers vertex voxels through cascaded subdivision and pruning.At each level, a prune head scores child voxels for vertex occupancy, retaining those with probability at least 0.5.Source: §3.2 · p. 5

3.3 EDGEVAE: COMPRESSING VERTEX CONNECTIVITY

  • Vertex-link encoding sums random Fourier features of a vertex’s relative neighbor positions into a fixed-length, order-free representation that accepts any valence.Given vertex voxels, EdgeVAE decodes features for each vertex and classifies vertex pairs as connected or not.Source: §3.3 · pp. 5–6

3.4.1 GENERATING THE LATENT VOXEL ANCHOR

  • The anchor generator uses a point cloud and coarse surface occupancy to produce coarse vertex-voxel placements for the flow models.It pools point positions and normals into voxels and conditions on the vertex budget; its decoder subdivides and prunes voxels to generate the anchor.Source: §3.4.1 · p. 6

3.4.2 VERTEX AND EDGE LATENT SPACE FLOW MATCHING

  • Rectified flows generate vertex and edge latents on the anchor, with the edge flow additionally conditioned on the vertex latent.The vertex latent decodes to vertex voxels; the edge latent decodes over those voxels into adjacency and faces.Source: §3.4.2 · p. 6

4 EXPERIMENTS

MeshCarve is evaluated on held-out Objaverse and Toys4K, with comparisons spanning overall mesh quality, isolated edge-flow performance, qualitative results, and component ablations. The experiments also identify a resolution boundary for fine-detail generation.

4 EXPERIMENTS

  • Evaluation uses 185 held-out Objaverse meshes and 500 randomly drawn Toys4K meshes; MeshCarve is trained on 558K Objaverse meshes capped at 20,000 vertices.Baselines use released weights and stock settings; autoregressive methods are scored within published face caps.Source: §4 · p. 7

4.1 MAIN RESULTS

  • MeshCarve has the highest normal consistency on both benchmarks and lowest Chamfer distance on Objaverse; on Toys4K it ties LATO.2 in Chamfer distance.MeshFlow has the lowest Hausdorff distance, but its coarse, low-polygon outputs favor surface coverage; MeshCarve follows the supplied vertex count better than MeshFlow and LATO.2.Source: §4.1 · p. 7
  • Given the same reference vertices, MeshCarve’s edge flow leads LATO.2 on every metric, with 22%–30% lower mean Chamfer and Hausdorff distances on Objaverse.It also recovers more artist wiring by edge F1; the authors attribute much of the lead to EdgeVAE’s higher compression rate.Source: §4.1 · pp. 7–8, Table 3 · p. 9

4.2 EMPIRICAL STUDY

  • Qualitatively, MeshCarve follows reference surfaces and vertex placement, while autoregressive baselines leave regions uncovered and LATO.2 struggles with fine details and thin structures.MeshFlow’s overly low face count limits shape precision despite its low Hausdorff distance.Source: Figure 3 · p. 8, §4.2 · p. 9
  • All four EdgeVAE component ablations degrade performance; removing RoPE causes the largest drop, and changes reduce precision more than recall.Using a joint VAE degrades reconstruction further, while the anchor generator outperforms a flow-based anchor when both use the same downstream flows.Source: §4.2 · p. 9, Table 4 · p. 9
  • For meshes over 10K vertices, the 512^3 resolution may be insufficient for faithful fine-detail generation; cascaded teacher-forced flows also encounter a domain gap.Source: §4.2 · p. 9

5 CONCLUSION

MeshCarve flow matches vertex positions and edge connections in separate spatially compressed latent spaces, using a shared VAE architecture instantiated as VertexVAE and EdgeVAE. It uses rectified flow for latent generation and reports advantages on Objaverse while generalizing to Toys4K.

5 CONCLUSION

  • MeshCarve generates vertex positions and edge connections in turn in spatially compressed latents, with 0.13 tokens per face and advantages over prior methods on Objaverse and generalization to Toys4K.The shared hierarchical sparse-transformer VAE backbone is separately instantiated for vertices and edges; connectivity is represented through vertex-link encoding.Source: §5 · pp. 9–10

A OBJECTIVES AND FLOW MATCHING DETAILS

  • The VAE objective combines reconstruction loss with a KL term that keeps encoded latents close to a standard Gaussian prior, weighted by λ = 10^-3 for both VAEs.Source: A OBJECTIVES AND FLOW MATCHING DETAILS · p. 12
  • Rectified flow generates each latent from Gaussian noise by predicting the interpolant’s velocity; at inference, the latent is integrated from t = 1 to t = 0 and decoded.The vertex flow is conditioned on the point cloud and vertex budget, while the edge flow also receives the vertex latent for the same voxel.Source: A OBJECTIVES AND FLOW MATCHING DETAILS · p. 12

B IMPLEMENTATION DETAILS

MeshCarve uses a staged anchor-and-flow pipeline, with implementation choices spanning input conditioning, training schedules, inference, and face construction.

B IMPLEMENTATION DETAILS

  • The anchor generator has 613M parameters and reads occupancy at 64^3 and 32^3 plus area-weighted point samples with normals from a 512^3 dual-grid remesh.The flows condition on point-cloud tokens from a frozen shape encoder.Source: B IMPLEMENTATION DETAILS · p. 12
  • VertexVAE and EdgeVAE train for 270K and 300K steps; the anchor trains 27K steps, and vertex and edge flows train 90K and 110K steps.The VAEs and flows use a 1e-4 learning rate; the anchor uses 5e-5.Source: B IMPLEMENTATION DETAILS · p. 12
  • At inference, the anchor decodes its posterior mean in one pass, followed by 50 vertex-flow steps and 12 edge-flow steps.The edge flow uses guidance scale 3.0; the connection head evaluates all vertex pairs.Source: B IMPLEMENTATION DETAILS · p. 12
  • Every predicted 3-cycle becomes a face, with no face classifier or manifoldness constraint.Source: B IMPLEMENTATION DETAILS · p. 12
  • Table 5 reports mean vertex and face budgets relative to the reference on Toys4K, marking closest flow-based and autoregressive methods separately.Source: Table 5 · p. 13

C EVALUATION PROTOCOL

The evaluation uses released baseline weights and stock inference settings, with scoring subsets shaped by published face caps and input-vertex limits.

C EVALUATION PROTOCOL

  • Each baseline uses released weights and stock inference settings, and receives the condition it was designed for.Source: C EVALUATION PROTOCOL · p. 13
  • MeshAnything, MeshAnything V2, and BPT are scored within their published caps of 800, 1,600, and 8,000 faces, while uncapped methods use full sets.Scoring capped methods on full sets worsens every number and widens every gap reported in the main-paper comparison.Source: C EVALUATION PROTOCOL · p. 13
  • LATO.2's topology flow is evaluated only on the 147 Objaverse and 465 Toys4K meshes its bounded input-vertex count admits.MeshCarve is scored on the same meshes, and both receive the reference vertex count.Source: C EVALUATION PROTOCOL · p. 13
  • Meshes are normalized to the [−0.5, 0.5] box before 50K surface points are sampled for metric computation.Source: C EVALUATION PROTOCOL · p. 13
  • VAE round trips generally decode posterior means, while specified LATO and MeshFlow evaluations use default sampling or quantized positions.For variants, some alternatives train from scratch for the deployed model's step count; others finetune for 25,000 steps until performance stabilizes.Source: C EVALUATION PROTOCOL · p. 13

D STRUCTURAL STATISTICS OF THE GENERATED MESHES

Structural statistics reveal connectivity differences that surface metrics miss, while the token-budget analysis shows how latent sequence length changes with mesh size.

D STRUCTURAL STATISTICS OF THE GENERATED MESHES

  • On reference vertices, MeshCarve's non-manifold edge share is roughly half LATO.2's, and its valence histogram is closest to the artist's.End to end, MeshCarve over-connects and is close to MeshFlow, below it on Objaverse and above it on Toys4K.Source: D STRUCTURAL STATISTICS OF THE… · p. 14, Table 6 · p. 14
  • MeshCarve is closest to artisan boundary-edge shares on Toys4K but overshoots on Objaverse; autoregressive methods except FastMesh stay below 7% non-manifold edges.Source: D STRUCTURAL STATISTICS OF THE… · p. 14
  • The generated-graph statistics include boundary, manifold, and non-manifold edge shares, mean vertex valence, and W1 distance from the reference valence histogram.The artisan meshes are manifold almost everywhere, with 23% boundary edges on Toys4K.Source: Table 6 · p. 14, D STRUCTURAL STATISTICS OF THE… · p. 14

E TOKEN BUDGET AGAINST MESH SIZE

  • MeshCarve's latent sequence is shortest in every mesh-size bin, and its advantage widens as mesh size grows.Figure 4 measures VAE sequence lengths on 5,000 random training meshes; each length is determined by the ground-truth mesh, isolating compression from generation.Source: E TOKEN BUDGET AGAINST MESH SIZE · p. 14, Figure 4 · p. 15

F AUTOREGRESSIVE BASELINES OUTSIDE THEIR FACE CAPS

The comparison repeats capped autoregressive evaluations on full sets and finds MeshCarve's lead persists across the reported comparisons.

F AUTOREGRESSIVE BASELINES OUTSIDE THEIR FACE CAPS

G ADDITIONAL QUALITATIVE RESULTS

Figure 5 pairs 48 additional Objaverse and Toys4K examples, placing each artist reference beside the mesh generated by MeshCarve from its point cloud.

G ADDITIONAL QUALITATIVE RESULTS

H LIMITATIONS AND FUTURE WORK

The VAEs cap downstream quality at their close but imperfect reconstruction; quantization and an edge-flow train–inference mismatch create further limitations.

H LIMITATIONS AND FUTURE WORK

I INFERENCE COST

MeshCarve generates meshes in about 11 seconds with runtime varying little across the tested mesh sizes. Posterior sampling adds anchor variation with slightly worse scores than decoding the posterior mean.

I INFERENCE COST

  • Timing used 24 Objaverse meshes with 500–4,600 reference vertex voxels at 512^3, six per size bin, on one RTX PRO 6000 Blackwell Max-Q.The reference vertex count was supplied, and loading, compilation, autotuning, and input preparation were excluded.Source: I INFERENCE COST · p. 16
  • 11.1 s for meshes with 500–1,000 vertex voxels and 12.3 s for those with 3,400–4,600; generation takes about 11 s end to end.The vertex flow takes most of the time; chunked connection scoring and face enumeration take about 0.1 s together on average.Source: Table 8 · p. 16, I INFERENCE COST · p. 16

J SAMPLING THE ANCHOR GENERATOR

  • Figure 5 presents 48 additional Objaverse and Toys4K examples as artist references beside MeshCarve-generated meshes.Source: Figure 5 · p. 17
  • Posterior sampling scores 2% worse in Hausdorff distance and 3 to 4% worse in Chamfer distance, with nearly the same normal consistency as the posterior mean.The posterior mean is the expected anchor for the input and the more stable choice.Source: J SAMPLING THE ANCHOR GENERATOR · p. 18, Table 9 · p. 18
  • Posterior draws differ in a small share of voxels and place somewhat more voxels than the reference count because the decoder is trained toward completeness.Figure 6 shows three draws for 12 objects chosen for visible variation.Source: J SAMPLING THE ANCHOR GENERATOR · p. 18, Figure 6 · p. 18
Loading 2610.09723v1…