Release v2.4.3.170

August 9, 2024

Updates

The release introduces C# bindings, enhancing cross-platform development. It includes examples in documentation, supports texture handling in plugins, and fixes build issues. Performance optimizations and Python API expansions also contribute to improved usability and efficiency across platforms.

Here’s a summary of the updates and improvements made:

  1. Performance and Optimization:
    • Several updates, including ParallelFor, BitSetParallelFor, and MeshTopology, focused on optimizing thread-local storage accesses and general code efficiency.
    • Optimization in mesh handling, voxel correction, and interpolation fixes.
    • CudaFastWindingNumber update to reduce peak virtual memory consumption.
  2. New Features:
    • Added C and C# bindings for various classes and functions.
    • Support for multiline text inputs in the UI test engine and improved text handling in scrollable textboxes.
    • Experimental Wayland support was introduced.
    • Added texture and colormap support in the Section plugin and other mesh-related enhancements.
  3. Python API Enhancements:
    • Expanded Python support, including the ability to handle mesh components, extract models, and interact with selection bitsets and voxels.
    • New capabilities to handle distance maps and boundary vertices.
  4. Bug Fixes:
    • Fixed issues in various areas including mesh assertion errors, empty scene handling, and file loading inconsistencies.
    • Addressed macOS and Ubuntu build problems and scrollbar issues.
    • Resolved conflicts between plugins and mouse controls.
  5. Usability and Documentation:
    • Added examples and instructions for using the new bindings in C, C#, and Python.
    • Improvements in test engine handling and better error reporting for scene object loading.
  6. Code Clean-up and Refactoring:
    • Removed unnecessary dependencies and refactored various parts of the codebase to improve maintainability.
    • Exception handling improvements, including replacing exception-throwing filesystem calls.

These updates collectively enhance performance, broaden platform support, improve user and developer experience, and maintain the overall stability of the project.

Read more on GitHub

Book a call with us