It is part of a non-open source project.
Since it is based on Triangulation cylinder with holes, the holes must have a minimum spacing for triangulation to work. Usually at least an rough triangle side length d.
In addition, I made the hole slightly larger than the appendage to achieve a gentle curve with the connection geometry.
But besides the round hole, the triangulation of cylinder with holes already supports holes defined by points. You can add other shapes there, e.g. a hole like an 8, but where a minimal gap remains in the middle. For the triangulation one needs closed curves.
See
function makeBoundaryFront
function makePointsHole
function makeCircularHole