
I wouldn't call this test stressing the library to its limits. This operation is on two fairly ordinary small scale isovists (visibility polygons). As for reversed inputs being invalid, this doesn't make sense in the context that the negation operation creates a reverse of a polygon. This is how the boolean difference is defined (at least one way). How do you do the difference operation in GGL? This is explained on that web-page I referred to yesterday, and touched in previous discussions with Luke. Summary: it is not yet available as a separate function but the operation itself is supported by the algorithm, we have to walk through the input with iterators, sometimes forward, sometimes reverse.
I cannot yet respond on isovists because it is still being researched. Barend