I appreciate the lucid code and explanation. Attached is a file showing that this method, though extremely helpful, may not work perfectly. In particular, it looks as if the IGSmoothen function may not always create a 3-connected graph which, as I understand it, is necessary for this method to work. There is also a substantial possibility that I am misunderstanding the concepts here. Any thoughts appreciated. I can also be reached offline via an email that you can surely figure out or via Wolfram Community,
Attachments: