{
const context = DOM.context2d(width, height);
while (true) {
mutable elapsed_time++
const x = (Math.sin(elapsed_time / 200) + 1) / 2 * (width - 2 * radius) + radius;
context.clearRect(0, 0, width, height);
context.beginPath();
context.arc(x, height / 2, radius, 0, 2 * Math.PI);
context.fill();
yield context.canvas;
}
}