javascript – links de arbol radial

Estoy creando un árbol radial en d3.js, sin embargo, no logro encontrar un patrón correcto para poder unir los links/aristas al resto de los nodos. Los nodos se acomodan de manera correcta, sin embargo, los aristas aparecen de manera recta, he intentado buscar información pero no logro entender como funciona el path de manera manual.
Actualmente los nodos se encuentran como:

const node = g.selectAll(".node")
.data(nodes.descendants())
.enter().append("g")
//El definir la clase de esta manera permite no solo utilizar css, sino tambien
//permite trabajar luego con el arbol, seleccionando solo nodos hoja o solo nodos internos.
.attr("class", d => "node" + (d.children ? " node--internal" : " node--leaf"))
.attr("transform", d => {
  return `rotate(${d.x * 180 / Math.PI - 90})` 
      + `translate(${d.y}, 0)`;});

Y los aristas los tengo como

  const link = g.selectAll(".link")
.data( nodes.descendants().slice(1))
.enter().append("path")
.attr("class", "link")
.style("stroke", d => d.data.level)
//define el path que sigue la figura
.attr("d", d => {
     return "M" + d.y + "," + d.x
       + "C" + (d.y + d.parent.y) + "," + d.x
       + " " + (d.y + d.parent.y) + "," + d.parent.x
       + " " + d.parent.y + "," + d.parent.x;
     })

He intentado utilizar el siguiente código, sin embargo resulta en error, no importa si le agrego d => o las terminaciones necesarias

.attr("d", d3.linkRadial()
    .angle(d => d.x)
    .radius(d => d.y));

También he utilizado funciones para el cálculo como

    function radialPoint(x, y) {
  return ((y = +y) * Math.cos(x -= Math.PI / 2), y * Math.sin(x));
} 

Pero no funciona, gracias.