chart = {
const svg = d3.select(DOM.svg(width, height))
.style("width", "60%")
.style("height", "auto")
.style("font", "4.5px sans-serif")
;
svg.append("rect")
.attr("width", "100%")
.attr("height", "100%")
.attr("fill", "powderblue")
;
svg.append("circle")
.attr("r", 100)
.attr("cx", centerx)
.attr("cy", centery)
.attr("fill", "white")
.attr("stroke", "ghostwhite")
.attr("fill-opacity", 0.8)
.attr("stroke-opacity", 0.8)
.attr("id", "c1")
;
svg.append("circle")
.attr("r", 40)
.attr("cx", centerx)
.attr("cy", centery)
.attr("fill", "plum")
.attr("class", "c2")
;
svg.append("circle")
.attr("r", 15)
.attr("cx", centerx)
.attr("cy", centery)
.attr("fill", "black")
.attr("id", "c3")
;
svg.append("text")
.style("font", "12px Source Serif Pro")
.attr("x", 10)
.attr("y", 20)
.text("Prototype: 2d plan view of 3d form")
;
svg.append("text")
.style("font", "7px Source Serif Pro")
.attr("x", 12)
.attr("y", 30)
.text("visual bootstrap")
;
for (let step=0; step < data.length; step++) {
svg.selectAll(".c2")
.data(data[step])
.enter()
.transition()
.delay(500)
.selectAll(".c2")
.attr("r", function(d) {return (d.radB)})
;
}
return svg.node();
}