¿Múltiples socios en un árbol genealógico en d3.js?

I tener un árbol genealógico deLa asombrosa respuesta de Cirilo pero estoy tratando de descubrir cómo ajustarlo para admitir múltiples socios. En este caso, agregué un nodo "Amante" y estoy tratando de denotar que "Amante" y "John" tuvieron un hijo llamado "Hijo Oculto".

La estructura de datos actual funciona así:

En eso, elroot El objeto almacena todo. Tiene unchildren matriz que contiene la mayor "generación" sin padres. También contiene un objeto que contiene los elementos secundarios de estos objetos / nodos hermanos. En el ejemplo anterior, esto esroot.children[2].

Estoy pensando que tendría que refactorizar la estructura de datoschildren e inyectar información sobre de quién son los padres del niño. Solo tengo problemas para conceptualizar esto, así como la línea

El final sería algo como esto, excepto que la amante estaría en el lado izquierdo:

Respuestas a la pregunta(1)

Su respuesta a la pregunta