svg = {
const svg = d3.select(DOM.svg(400, 400))
const defs = svg.append("defs")
const filter = defs.append("filter").attr("id","shadow")
filter.append("feColorMatrix")
.attr("type", "matrix")
.attr("values", `0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ${shadow_opacity} 0`)
filter.append("feGaussianBlur")
.attr("stdDeviation",shadow_intensity)
.attr("result","coloredBlur")
const feMerge = filter.append("feMerge")
feMerge.append("feMergeNode").attr("in","coloredBlur")
feMerge.append("feMergeNode").attr("in","SourceGraphic")
svg.append("circle")
.attr("cx", 200)
.attr("cy", 200)
.attr("r", 100)
.style("fill", "white")
.style("filter", "url(#shadow)")
return svg.node();
}