I have to go, so just a quick prototype, for one-way (only grow) - it just happens to give the result you want for the example, but I know if there was a 2-face separation on the ear loop, you would expect the separated part to disappear, and this doesn't do it: [![][1]][1] [![][2]][2] And this goes the other way: [![][3]][3] [![][4]][4] So if you do the first, then the 2nd, you're probably fine, but there's also a question of how many iterations (I did 100) - you need to implement a "while" loop. It can be done, I think I'll start another question for that and link here, but that tomorrow… [1]: https://i.sstatic.net/kkPWUJb8.png [2]: https://i.sstatic.net/km6ajOb8.png [3]: https://i.sstatic.net/IYseTV6W.png [4]: https://i.sstatic.net/JLwn932C.png