Most of it has been implemented, here. Not entirely happy with it yet.
What's left (resolve one way or another before merging):
[ ] Multiple masks, how do we deal with these situations. Requires architectural considerations.
[ ] Consider the question of resolution for voxel masks.
[ ] Analytical function support beyond "spherical" and "cuboid".
[ ] How will we handle different sizes of voxel masks and spaces?
One possibility is to demand a voxel mask always has the same size as its encapsulating Space. But this is a rather demanding requirement.
Another option is to allow for setting a position and to apply the voxel mask onto the background with that associated translation. (Leaving everything not defined by the voxel mask as unavailable.)
Most of it has been implemented, here. Not entirely happy with it yet.
What's left (resolve one way or another before merging):
Space
. But this is a rather demanding requirement.