[v9] fix(events): bubble up primitives #3032
Open
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.
Events were completely broken for
primitive
elements. The main reason is that with aprimitive
you can add a tree fragment to the scene but only the top most element gets processed for an___r3f
property. Since all children are missing this, when they get hit by a raycaster they then fail thegetRootState
call. Similarly,primitive
elements were failing to get added toineternal.interactions
object as aprimitive
would get processed withapplyProps
before it had a parent. I don't know why this is. This PR does the following:ineternal.interactions
function. I'm not sure what this check was doing in the first place. If we need it, we'll have to figure out whyapplyProps
is run before it has a parent.getRootState
.An alternative would be to process all children of a
primitive
fragment to give them R3F metadata.