points = {
let points = points0.slice();
let count = 0;
for (let stage = 0; stage < steps; stage++) {
const d = d3.Delaunay.from(points);
for (const p of d.trianglePolygons()) {
points.push(Object.assign(d3.polygonCentroid(p.slice(0, 3)), { stage }));
if (count++ % 100 === 0) yield points;
}
}
yield points;
}