Nodes/ComfyUI libigl/Remesh QuadriFlow (backend)
ComfyUI Node

Remesh QuadriFlow (backend)

Quad-dominant remeshing without leaving ComfyUI

By PozzettiAndrea·Created 10 months ago·Updated 4 days ago· 218
Remesh QuadriFlow (backend)
  • trimesh
  • remeshed_mesh
  • info
target_face_count5000
preserve_sharpfalse
preserve_boundarytrue

QuadriFlow is the hidden backend behind the quadriflow option in the pack's Remesh front node, and it's the one to reach for when you want a clean quad-dominant mesh instead of triangles. That matters for animation (quads deform better), for subdivision surface workflows, and for retopology that's supposed to look like a human built it. This is the "make my messy scan into something an artist won't cry at" node.

How it works

It wraps pyquadriflow.quadriflow_remesh - the QuadriFlow algorithm, the same approach used inside Blender's quad remesher. Given your triangles, it computes a direction field, traces a quad mesh that follows it, and spits out a mesh whose faces are mostly quads at roughly your target count. You get three controls:

  • target_face_count (100–5,000,000, default 5000) - how many faces you want out. This is the main dial; more faces = more detail, more time.
  • preserve_sharp (default false) - keep sharp edges from being rounded off. Turn it on for hard-surface stuff.
  • preserve_boundary (default true) - keep the mesh's outer boundary edges intact. Usually you want this on so you don't lose your silhouette.

Outputs are remeshed_mesh (TRIMESH) and an info string that reports the before/after vertex and face counts - genuinely handy when you're comparing settings.

Why you'd pick it over the other remesh backends

The Remesh front node has a dozen backends (PyMeshLab isotropic, Instant Meshes, MMG, geogram, pmp, quadwild, CGAL, Blender voxel, GPU cuMesh, and more). QuadriFlow's niche is quad quality at a target count. If you just need triangles at a set density, isotropic remeshing is faster and simpler. If you need GPU speed and don't have it, cuMesh is the fast lane. But when you need quads - clean rows of them - QuadriFlow is the boring reliable choice.

Installing it

QuadriFlow installs via the pack's pinned extra index, so the standard steps apply:

cd ComfyUI/custom_nodes
git clone https://github.com/PozzettiAndrea/ComfyUI-GeometryPack.git
cd ComfyUI-GeometryPack
pip install -r requirements.txt --upgrade
python install.py

Or ComfyUI Manager → GeometryPack → Install, then restart. pyquadriflow comes from the author's own package index (pozzettiandrea.github.io/pyQuadriFlow), which the install handles automatically - no manual wheel hunting.

Where people get burned

QuadriFlow can be slow on big meshes, and cranking target_face_count toward millions is a good way to make a cup of coffee. Start at 5,000 and step up. The classic failure: on very noisy or poorly-connected input, the direction field gets confused and you get swirls instead of clean quad flow - preprocess with a smoothing or remesh pass first. And the same stale-workflow trap as everywhere in this pack: old saved JSON with mismatched combo values throws validation errors, so re-pick the backend and re-save. The author's been fast-moving since the November 2025 release, so if a saved workflow breaks, update the pack before debugging anything else.

Categorygeompack/remeshing

Inputs (4)

NameTypeDefaultDescription
trimeshTRIMESH
target_face_countINT5000100–5000000Target number of output faces. Creates quad-dominant mesh.
preserve_sharpCOMBOfalsePreserve sharp edges during remeshing.
preserve_boundaryCOMBOtruePreserve mesh boundary edges during remeshing.

Outputs (2)

NameTypeDescription
remeshed_meshTRIMESH
infoSTRING