chart = {
const svg = d3.create("svg")
.attr("viewBox", [-4, -0.5, 32, 25])
.style("max-width", "640px");
const path = svg.append("path")
.attr("fill", "#8b00ff");
for (let i = 0, n = pathStrings.length; true; i = (i + 1) % n) {
yield svg.node();
await path.transition().duration(1500).attrTween("d", function() {
return flubber.interpolate(
pathStrings[i],
pathStrings[(i + 1) % n],
{maxSegmentLength: 0.1}
);
}).end();
}
}