I think... the right design for this is that each time the client talks to the voxel server, it should send a float value which is the greatest range in meters at which it wants to be sent a one meter voxel.  Then everything else can fall out of that number, it's east to read/understand, and the client can dynamically change that value so that it can manage scene complexity.  If the number of voxels in scene is too high, it starts dropping the number.  If the client is moving fast, it drops the number.  Etc.   Let's consider changing the code (and this function) to do it this way.