map = {
const vx = 0.001, vy = -0.001;
const context = DOM.context2d(width, height);
const path = d3.geoPath(projection, context);
context.canvas.style.width = "100%";
while (true) {
const t = performance.now();
projection.rotate([vx * t, vy * t]);
context.save();
context.beginPath();
projection.precision(0.2);
path(graticule);
context.globalAlpha = 0.1;
context.stroke();
context.beginPath();
projection.precision(0);
path(land);
context.globalAlpha = 1;
context.fill();
context.beginPath();
context.lineWidth = 2;
context.arc(width / 2, height / 2, width / 2 - inset, 0, 2 * Math.PI, false);
context.stroke();
context.restore();
yield context.canvas;
context.clearRect(0, 0, width, height);
}
}