Fix leaf traversal yielding non-passing leaves#372
Merged
sebcrozet merged 5 commits intodimforge:masterfrom Sep 5, 2025
izzymg:master
Merged
Fix leaf traversal yielding non-passing leaves#372sebcrozet merged 5 commits intodimforge:masterfrom izzymg:master
sebcrozet merged 5 commits intodimforge:masterfrom
izzymg:master
Conversation
The iterator did not check the parent node against the check fn.
Member
|
Thank you for this PR! While the proposed fix does work, it will result in most leaf being checked twice (since the iterator already checked them once before they get pushed into the stack). The actual bug was that the first two nodes (at the root) pushed into the stack were not checked. So if they were leaves, these first two leaves would be left unchecked. I modified the fix to add the missing check for the root nodes. |
Member
|
Clippy will be fixed in #377 |
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.
When iterating leaves, the iterator did not check the parent node against the check closure. This caused leaves that did not pass AABB intersection tests to still be yielded during BVH checks, for example.