viewof SVG = {
const svg = d3.create('svg').attr("width", width).attr("height", height)
const main = svg.append("g").attr('id','main')
let s = main.selectAll('circle')
.data(the_data)
.join("circle")
.attr('stroke','none')
.attr('transform',d => {
let dz = 0.06*dist(d.x,d.y,0,0);
let s = Math.sin(TAU*t-dz);
let r = (s*Math.tan(TAU*t/4)*.003)* (180/Math.PI)
return `translate(300 300) rotate(${r})`
})
.attr("cx", d => d.x)
.attr("cy", d => d.y)
.attr('r',13/2)
.attr('fill','#00000080')
mutable t += 0.01
return svg.node()
}