viewof selection = {
const svg = d3.select(DOM.svg(width, height))
const data2 = [...Array(1000).keys()].map((d) => ({"i":d}))
const dot = svg.append("g")
.attr("stroke", "steelblue")
.attr("stroke-width", 1.5)
.selectAll("g")
.data(data2)
.enter().append("circle")
.attr("cy",d => (300 + 8 * Math.floor(Math.log2(d.i + 1)) ) )
.attr("cx",d => (((d.i - 2 ** Math.floor(Math.log2(d.i + 1)) ) - 0.5 * 2 ** Math.floor(Math.log2(d.i + 1))) )*8 + 500)
.attr("r",4).attr("fill", d => ("rgba(255,0,255,"+ d.i / data2.length +")") )
return svg.node();
}