Repository navigation
Autogenerated patch release v3.2.0.29
df34d41
| OS | Dev |
|---|---|
| Windows x64 (Visual Studio 2019) | zip / pdb |
| Windows x64 (Visual Studio 2022) | zip / pdb |
| Windows x64 (Visual Studio 2026) | zip / pdb |
| Windows arm64 (Visual Studio 2026) | zip / pdb |
| Windows x64 (clang-cl, Release only) | zip / pdb |
| Windows arm64 (clang-cl, Release only) | zip / pdb |
| Ubuntu 22 LTS x64 | deb |
| Ubuntu 22 LTS arm64 | deb |
| Ubuntu 24 LTS x64 | deb |
| Ubuntu 24 LTS arm64 | deb |
| Ubuntu 26 LTS x64 | deb |
| Ubuntu 26 LTS arm64 | deb |
| Linux vcpkg (glibc 2.28) x64 | tar.xz |
| Linux vcpkg (glibc 2.28) arm64 | tar.xz |
| macOS x64 (Intel) | x64 pkg |
| macOS Arm (Apple Silicon) | arm64 pkg |
| Emscripten multi-thread (web environment) | zip |
| Emscripten single-thread (web environment) | zip |
| Emscripten multi-thread Wasm64 (web environment) | zip |
What's Changed
API:
- AABBTree from TriMesh: build the tree directly from a triangle soup with an optional region.
- SaveSettings::solidColor is saved in OBJ (Kd) and binary STL (COLOR=), and loaded back from STL.
- ImGui::Palette can hide the unit suffix of range limits, for palettes over unitless values such as curvature.
Meshes:
- Decimation: touchBdVerts = false really keeps boundary vertices in place (including remesh with frozenBoundary, and in parallel decimation), and the tiny-edge fallback respects fixed vertices and the edges allowed to collapse.
- CUDA: FastWindingNumber gave wrong results in every chunk after the first when the input was split by the memory limit; getCudaAvailableMemory no longer underflows when less than 128 MB is free.
Performance:
- AABB tree build is 29-61% faster on one thread on every platform (bucket splits, block quickselect, SIMD on x64, Arm and wasm, read-ahead of the triangle walk), building exactly the same tree.
- Boolean of a mesh without a cached tree builds a temporary tree of only the faces near the other mesh: up to 2x faster when a small tool cuts a big model.
- MeshTopology::deleteFaces visits only the affected elements when few faces are deleted, which speeds up Boolean on big meshes.
- Fewer heap allocations in Boolean and distance functions; half-edge records aligned to 32 bytes.
Python:
- Fixed a crash on Python 3.8-3.11 with the Linux wheels: constructors, attribute and item assignments lost a reference to None until the process aborted with "none_dealloc".
Platforms and packages:
- NuGet package published via Trusted Publishing.
- Rust: build.rs copies the libraries next to executables with Cargo 1.100.
- MSVC arm64: Box::include is no longer auto-vectorized into NaN-propagating fmin/fmax.
- Web: fixed a possible deadlock of the command loop.
Documentation:
- Rust and Java API reference is generated from the bindings sources.
Other:
- Small improvements and bugfixes.
Commit: df34d41
Full Changelog: v3.2.0.3...v3.2.0.29