Skip to content

1.0.10

Choose a tag to compare

@SarahWeiii SarahWeiii released this 10 Apr 18:19
· 21 commits to main since this release

What's New

  • Minimal build mode (-DWITH_3RD_PARTY_LIBS=OFF): Build CoACD without the bundled OpenVDB/Boost/TBB/spdlog dependencies. Input meshes must already be 2-manifold (manifold preprocessing is unavailable in this mode), and logging falls back to stdout. Useful for reducing binary size and build time when integrating CoACD into a larger project that doesn't need manifold repair.
  • Windows 64-bit correctness fix: Fixed a pointer-truncation bug in the bundled Bullet convex hull code (btAlignedAllocator) where unsigned long was used to hold a pointer. On Windows (LLP64) unsigned long is 32 bits, so the cast truncated 64-bit addresses. Replaced with uintptr_t.
  • Robustness: sobol now throws on error instead of calling exit(), so the Python bindings and library users can catch and handle sequence-generation failures instead of having the process killed.
  • Build & CI:
    • CI now runs on pull requests, not just pushes to main.
    • Build step uses cmake -B and --parallel 4, bumped actions/checkout to v6.
    • Dropped -fPIC from global CXX flags in favor of the POSITION_INDEPENDENT_CODE target property.
    • Dropped -fpermissive and -D_USE_MATH_DEFINES on Linux/macOS (codebase doesn't need them; kept on MSVC because bundled OpenVDB headers reference M_PI).
    • Quickhull backport fixes and uninitialized-array warning fixes.
  • Script fix: run_example.sh now uses -pm off instead of the non-existent -np flag for SnowFlake and Octocat examples.

Usage

# Minimal build (no OpenVDB / Boost / spdlog)
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_3RD_PARTY_LIBS=OFF
cmake --build . --target main -j

Full Changelog: 1.0.9...1.0.10