We often find that we need a Voronoi model with weighted points or variable radii. This might be for the base mesh for a form finding simulation, a perimeter shape, or the frame for one of our projects. The standard 2D Voronoi node in Grasshopper allows only common radii for the base points. In many ways, this makes sense because the pure model relies on consistant radii and some versions of variable radii result in Voronoi cells that are not correct. But you can also get many radii to work. We developed a definition using intersecting cones of varying radii to create a weighted set of Voronoi cells. The base condition is easy to achieve, but we have added a number of tests for non continuous curves and cell grouping. We are sure this could be even more robust, but it is what we use and works well fo our purposes. You can download the definition and notes here: Weighted_Voronoi.gh
Below are a couple of projects where we have used something similar: