SceneBvh
A bounding-volume hierarchy over the cluster boxes of a scene (rendering-revamp §RVR-8), built on the CPU with the binned surface area heuristic, refit in place when only the boxes move.
In the namespace construct::pathtrace. Declared in src/libs/libconstruct/construct/pathtrace/SceneBvh.hpp.
Detailed description
The tracer asks it one question per field evaluation: the smallest distance of the clusters at a point. A cluster whose box the point is outside of, and at least as far as the smallest distance found so far, is skipped, because its surface lies inside its box. The scene module runs that walk in GLSL (`sceneSDF` in the tracer kernel); minDistance() is its twin on the CPU, with the same order, so the two can be checked against each other.
Pure, so its cases run with no GPU.