Closest Point / Distance Calculation from Point Cloud

Could a circle packing be performed, then using the radius of each packed circle, perform an offset/scaling to each circle, so each one is half the minimum distance away from the original circle (i.e. the minimum distance away from each other, albeit they would be densely packed and not spaced so nicely in a random manner.

I guess though, you could control by Multiplacation/Division a minimum offset and then others can be offset only by more. So in effect you are left with the point cloud still controlling circle location. There would also need to be a maximum offset so the end size of circles (eventually spheres) are within my control (they don’t have to be discrete values from a list)

I 've never tried Kangaroo however so am at a bit of a loss as to where to start - help would be greatly appreciated!