September 16, 2026
Release v3.1.4.297
Updates
This release adds alpha-shape reconstruction and shrinkwrap for point clouds, ships setup guides for C++, C, C# and Python that were rewritten and verified end to end, brings Windows on ARM support to every language binding, reworks MeshLib’s precise predicates on exact arithmetic, and splits the Python distribution into full and headless packages.
From points to surfaces: alpha shapes, shrinkwrap, cameras
The headline of this release is a set of tools for turning raw points into usable geometry:
findAlphaShape— recover a surface from a point cloud, with the level of detail controlled by a single radius parameter. The search was optimized hard: sorted and pruned neighbours, merged coincident points, and a fast in-sphere tester.shrinkwrap— move every vertex of one mesh onto the closest point of another. The standard way to transfer a clean, controlled topology onto scanned or noisy geometry.meshToDensePointCloud— turn a mesh into a point cloud dense enough that no ball of a given radius fits through it.- Camera-based reconstruction — build a mesh from the points a single camera sees, denoise its depth, and strip the stretched faces left by depth discontinuities.
Setup guides, rewritten and verified
Getting MeshLib into a project should not be the hard part. The C++, C, C# and Python setup guides were rewritten and then actually executed end to end on a clean machine before shipping. Each one now has a “Verify your installation” step and a Troubleshooting section, so a failed install tells you which step broke instead of leaving you guessing. New alongside them: a page on switching to MeshLib from other geometry libraries.
Windows on ARM, end to end
MeshLib now supports Windows on ARM in every language: C++ and C developer distributives, Python wheels, the C# NuGet payload, and MRCuda on CUDA 13.4. UI and 3D rendering on the platform are experimental so far.
Precise predicates, rebuilt ⚡
The geometric predicates that robust boolean and triangulation operations stand on were reworked from the ground up: the exact answer is computed first, and symbolic perturbation runs only on a genuine tie. A custom fixed-width big-integer arithmetic replaces Boost, making inCircle, inSphere, orient3d, segmentIntersectionOrder and the new ccwAroundLine both faster and correct on inputs where they used to overflow. If your pipeline works with extreme coordinate ranges, this is the release to re-test it on.
Meshes and performance
- Boolean —
cutMeshno longer counts intersected edges cumulatively per contour, which made large cuts very slow. - Planar triangulation and hole filling — fixed collinear and coincident contour points; fill plans and planar hole filling now work in mesh space.
rayBoxIntersectaccelerated with SIMD for NEON and Wasm, with the SSE path optimized as well, plus faster Delone edge flips and sweep-line triangulation.- Smaller binaries across the
.deb, vcpkg and Python packages.
Python and packaging
- The Python distribution is now split into
meshlibandmeshlib-core.meshlib-coreis headless — no viewer, no rendering — which is what you want for servers, containers and serverless functions. - Wheels for Windows arm64, and a new Ubuntu 26.04 build target built and tested with GCC 16.
- OpenCTM updated to fix heap overflows on crafted
.ctmfiles, reported by S9S. Applications that load untrusted.ctminput should update.
Downloads
Binaries for Windows x64 (Visual Studio 2019, 2022, 2026) and new: Windows arm64 (Visual Studio 2026), Ubuntu 22 / 24 / 26 LTS (x64 + arm64), Linux vcpkg (glibc 2.28, x64 + arm64), macOS Intel and Apple Silicon, and Emscripten (single-thread, multi-thread, multi-thread Wasm64).
Full changelog, including the new API, deprecations and every fix: GitHub release v3.1.4.297.