I’ve noticed that both isovist components fail when the ray origin coincides with a curve obstacle. This is shown in the following images. The first is coinciding and causes an error, the second shows the component(s) work fine when the origin is moved slightly away from the curve.
The exception is: index must be less than the size of the collection
I think this is a bug as this doesn’t seem to happen with the breps I tested and the failure is quite hindering to its functionality as the rest of the list/tree of items passed to it will not be computed.
it’s weird because isovistRay is fine, and being isovist a collection of isovistRays it should also be fine… …at least you have a workaround until the problem gets solved
I don’t consider translating the points to be a good solution because it doesn’t guarantee the points are moved somewhere that won’t fail (unless the logic is made more complex to check this case). The failure causing all inputted items to not be computed makes it a lot more problematic than if it returned for example, an empty branch or null.
Here is a grasshopper script with some other curves, both isovist components fail for me: