Non-blocking boolean operations

Currently, a boolean operation is completely blocking. This is understandable from the perspective that the user can’t make changes during the operation, however if the boolean operation crashes or goes into an infinite loop, it takes the whole program down with it. Recommend spinning off an abortable worker thread (as with slicing) with a watchdog and/or a control to cancel the operation.

Bonus: this could easily be multi-threaded once that’s done, which should speed up the operation for objects with multiple intersections.

1 Like