I found buildNoisyEdges function couldn't handle this form of quadrilateral because intersections of 2 lines (edge.v0, edge.v1 and edge.d0, edge.d1) will lie outside of their quadrilateral and makes its noisy edge overlap neighboring edges.

I think this can be solved can restructure this shape into solvable one that you wrote on your blog.
For example:

Where:
A, B: Voronoi points.
C, D: Delaunay points.
H: intersection of AB and CD.
We can try to reform this ACBD into AC1BD1 before passing it into buildNoisyEdges function. C1 and D1 are intersections of a line that goes through B and AC / AD respectively.