@dima_savin @LesleyLai6 I didn't test it myself but I hear that it didn't use to work in range-v3 but works now (at least zip but not zip_with). Also, it might not work with zip from the C++20 ranges.
Not quite Halloween yet but still got spooked by msvc today! Long story short, this code exhibits quite remarkable spooky action at a distance: https://t.co/ynCx7aj6pb (fingers crossed that my report at https://t.co/AlMZ2cn9ZJ gets fixed)
BVHs and BSPs are similar but not quite the same. Both are (usually) binary trees but BVH nodes can spatially overlap while BSP nodes are spatially disjoint. BVHs handle non-point objects better, BSPs are slightly more compact in memory.