map = {
const context = DOM.context2d(width, height);
const zoom = d3
.zoom()
.scaleExtent([1 << 8, 1 << 26])
.extent([[0, 0], [width, height]])
.on("zoom", () => zoomed(d3.event.transform));
d3.select(context.canvas)
.call(zoom)
.call(zoom.transform, initialTransform);
function zoomed(transform) {
mutable globalTileSet = tile(transform);
}
while (true) {
context.clearRect(0, 0, width, height);
drawTiles(context, mutable globalTileSet);
yield context.canvas;
}
}