{
let svg_width = 800;
let svg_height = (2 * svg_width) / PHI ** 2;
let svg = d3
.create("svg")
.attr("viewBox", [0, 0, svg_width, svg_height])
.style("max-width", `${svg_width}px`);
svg
.selectAll("path")
.data(shapes)
.join("path")
.attr("d", (d) => d.path)
.attr("stroke", "none")
.attr("fill", "green")
.attr(
"transform",
(d) =>
`translate(${d.x} ${d.y}) rotate(${
(d.t * 180) / (Math.PI / 2)
}) scale(${5})`
);
return svg.node();
}