Agrupando e desagrupando objetos Fabric.js

Eu criei um tipo de 'seletor de polígonos' ou 'criador de polígonos' usando fabric.js. Cada clique cria um canto do polígono, que pode ser selecionado, movido, etc ... clicando duas vezes no ponto original 'fecha' o polígono. Neste ponto, pego todos os círculos / linhas que compõem os polígonos e os agrupo. Por enquanto, tudo bem.

Quando esse grupo é clicado duas vezes, eu gostaria que ele fosse desagrupado e revertido para nós móveis (ou seja, mover os círculos reformula o polígono etc.); mas há alguma estranheza - confira o que acontece quando você move os círculos, certas linhas parecem 'não unidas' aos círculos ...

Eu já revi todos os tópicos relacionados ao grupo / desagrupamento fabric.js (aqui / ali / em todos os lugares). Nenhum parece cobrir o tipo de objetos 'conectados' que tenho aqui.

O violino que montei para mostrar o problema diz que é melhor do que eu:http://jsfiddle.net/bhilleli/4v8mkw6q/

O trecho de código quebrado é @:

       //dbl clicked a group so lets ungroup it!
        items = p._objects; // grab the items from the group you want to

        // translate the group-relative coordinates to canvas relative ones
        p._restoreObjectsState();
        // remove the original group and add all items back to the canvas
        canvas.remove(p);
        for (var i = items.length - 1; i >= 0; i--) {
            canvas.add(items[i]);
        }
        canvas.renderAll();

questionAnswers(2)

yourAnswerToTheQuestion