{
const height = 300;
const svg = d3.create('svg')
.attr('viewBox', [0, 0, width, height]);
const filter = svg.append('defs')
.append('filter')
.attr('id', 'blob-filter');
filter.append('feGaussianBlur')
.attr('stdDeviation', '10');
filter.append('feColorMatrix')
.attr('values', `0 0 0 0 1
0 1 0 0 0
0 0 1 0 0
0 0 0 20 -10`);
const circleGroup = svg.append('g');
const leftCircle = circleGroup.append('circle')
.attr('cx', width / 2 - 50)
.attr('cy', height / 2)
.attr('r', 100)
.attr('fill', 'salmon');
const rightCircle = circleGroup.append('circle')
.attr('cx', width / 2 + 50)
.attr('cy', height / 2)
.attr('r', 50)
.attr('fill', 'orange');
circleGroup.style('filter', 'url(#blob-filter)');
return svg.node();
}