Pass the best-so-far distance to project_point's primitive_check - #439
Open
marknefedov wants to merge 1 commit into
Open
Pass the best-so-far distance to project_point's primitive_check#439marknefedov wants to merge 1 commit into
marknefedov wants to merge 1 commit into
Conversation
Bvh::project_point and project_point_and_get_feature document that the Real argument given to primitive_check is the distance to the closest point found so far, but both passed the original max_distance instead. This matches the code to the documented contract, which also lets expensive primitive checks prune against the current best. Conforming callbacks return the same winner; cast_ray in the same module already follows this pattern.
marknefedov
marked this pull request as ready for review
August 14, 2026 21:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bvh::project_pointandproject_point_and_get_featuredocument theRealargument ofprimitive_checkas the distance to the closest point found so far, but both pass the originalmax_distance. This disables leaf-level pruning for any callback that follows the documentation.The best-so-far value from
find_bestis now passed through.cast_rayin the same module already does this. Conforming callbacks return the same winner; callbacks that prune against the argument prune earlier. Current in-tree callers ignore the argument, so there is no behavior change inside parry.