vtess = function(dims, colors) {
let voronoi;
let viewbox = [[0, 0], [dims[0] * 3, dims[1] * 3]];
const [W, H] = output;
const div = html`<div style="background-color:red; width: ${W}px; height: ${H}px">`;
const render = renderKernel(div);
const vb = ([[xmin, ymin], [xmax, ymax]]) => [xmin, ymax, (xmax - xmin) / W];
const update = () => render(voronoi, dims, vb(viewbox), colors);
const updateView = vb => ((viewbox = vb), voronoi && update());
zoomAndPan2D(div, output, viewbox, updateView);
return generators => {
voronoiKernel.setOutput(dims);
update((voronoi = voronoiKernel(generators, generators.length)));
return div;
};
}