Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mantis logo

Mantis

Intelligent retopology in Rust. One binary, no Python, no CUDA.

CI License: MIT Rust

Quick start · What it does · API · Blender · Roadmap


What it does

Drop a high poly GLB in. Get a clean low poly out, with the texture reprojected onto it and no visible seam.

  • Field-aligned quad remeshing. A Rust port of Instant Field-Aligned Meshes (Jakob et al., SIGGRAPH Asia 2015, BSD 3-Clause). Sharp edges stay edge loops, the silhouette does not drift.
  • Rebuilding and quads. Isotropic remeshing, then triangles paired into quads. On a 406k model that is 7,256 triangles in 1.2 seconds with 86 percent quad coverage. glTF has no quads, so the file stays triangles and the pairing travels alongside as an edge mask the viewer draws.
  • Texture reprojection. A fresh UV atlas and cage projection back onto the high poly. Five maps: base colour with its alpha, metallic and roughness, tangent space normal, emissive, ambient occlusion. It runs on its own, so changing a map size costs a bake rather than a whole retopology.
  • Clean up. Hole filling and tangential relax with reprojection, both optional stages of the same pipeline.
  • Its own viewer. Hand written WebGL2 in a native window, with real metallic roughness shading. Shaded, textured, unlit, normals, UV, x-ray, wireframe, and a deviation heatmap that paints how far the surface actually moved. Undo and redo across attempts. English and French, one button to switch. Under 900 pixels the toolbar becomes a labelled sheet rather than a scrolling strip, so the window is usable from a phone width upward.

The application is a single executable with a native window and no open port: the webview talks to the same axum router through a registered URI scheme. That router is also what the optional HTTP server exposes, so Blender, Maya or Houdini drive exactly the same code.

Quick start

The desktop application, a real window and no browser:

cargo run --release -p mantis-bureau

Drop a .glb on it, or pass one on the command line to open with it already loaded. Dropping a file onto the executable in a file manager does the same.

Headless, for batch work:

cargo run --release -- remesh input.glb -o output.glb --faces 8000

The HTTP server exists only for Blender and other host applications, and is off unless you ask for it:

cargo run --release -- serve --port 7420

Status

Usable. Retopology, clean up and texture reprojection all work end to end, from the window, the API or the command line.

Not built yet, and not pretended otherwise: polygroups, the field-aligned quad remesher, painted guide curves, and the Blender add-on. See ROADMAP.md, which also records the known weaknesses rather than leaving them to be discovered.

API

POST /api/v1/jobs                  raw GLB body, params in the query string
GET  /api/v1/jobs/:id              {"ok":true,"stage":"decimate","pct":63}
GET  /api/v1/jobs/:id/result.glb   the result
POST /api/v1/bake                  reproject onto a mesh without touching topology
GET  /api/v1/health
WS   /ws/progress                  live progress events

Plain HTTP and JSON. No MCP, no custom protocol, ten lines to drive it from any DCC.

Blender

Not written yet. The API above is what it will use: plain HTTP and JSON, no MCP and no custom protocol, so driving Mantis from Blender, Maya or Houdini is ten lines of whatever scripting that host speaks. Until the add-on exists, the CLI does the same job from a shell.

Roadmap

Content State
Mesh core, BVH, glTF in and out, QEM decimation, native shell, i18n done
Hole filling, relax with reprojection, isotropic remeshing, quad pairing done
UV atlas and texture reprojection, five maps, baking on its own done
WebGL2 viewer with metallic roughness shading, and the interface done
Headless command line done
Real-time polygroups: SDF, concavity, merge tree, sliders, per group export planned
Field-aligned quad remeshing: 4-RoSy and 4-PoSy fields, extraction planned
Painted guide curves, density brush, per vertex cage planned
Blender add-on planned
Symmetry, OBJ export, material extension maps planned

Licenses

Mantis is MIT.

About

Intelligent retopology in Rust: field-aligned quad remeshing, real-time polygroups, texture reprojection

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages