function* flood() {
const seen = new d3.InternSet([], String);
const q = [extent.map((d) => d[0] - 1)];
while (q.length) {
const p = q.shift();
if (seen.has(p)) continue;
seen.add(p);
for (const n of neighbors(p)) {
if (!inExtent(n)) continue;
if (droplets.has(n)) yield p;
else q.push(n);
}
}
}