function* lloydRelax(points, context, iterations) {
const diameter = circleRadius * 2;
const voronoi = new d3.Delaunay(points).voronoi(getBounds(points.length / 2).bounds);
for (let i = 0; i < iterations; i++) {
context.clearRect(0, 0, width, height);
context.beginPath();
lloydIteration(points, voronoi, context);
context.stroke();
if (showCounters) {
context.font = "50% monospace";
context.fillText(`Blobs: ${(points.length / 2).toString().padStart(4, " ")}`, 1, 10);
context.fillText(`Iterations: ${i.toString().padStart(4, "0")}`, 1, 20);
}
yield context.canvas;
voronoi.update();
}
}