async function* draw(c, transform) {
c.save();
c.clearRect(0, 0, width, height);
for (const [i, d] of Object.entries(data)) {
const [x, y] = transform.apply(d);
c.beginPath();
c.moveTo(x + 1.5, y);
c.arc(x, y, 1.5, 0, 2 * Math.PI);
c.fill();
if (i % 10 === 0) {
const h = yield timeout();
console.log("h", h);
}
}
c.restore();
}