Vários parceiros em uma árvore genealógica no d3.js.

I tem uma árvore genealógica deResposta surpreendente de Cyril mas estou tentando descobrir como ajustá-lo para dar suporte a vários parceiros. Nesse caso, adicionei um nó "Senhora" e estou tentando denotar que "Senhora" e "João" tiveram um filho chamado "Filho oculto".

A estrutura de dados atual funciona assim:

Nesse sentido, oroot objeto armazena tudo. Tem umchildren matriz que contém a maior "geração" sem pais. Ele também contém um objeto que contém os filhos desses objetos / nós irmãos. No exemplo acima, isso éroot.children[2].

Estou pensando que teria que refatorar a estrutura de dadoschildren e injetar informações sobre os pais de quem a criança é. Apenas tendo problemas para conceituar isso, assim como a linha

O fim seria algo assim, exceto que a amante estaria no lado esquerdo: