-
Notifications
You must be signed in to change notification settings - Fork 400
Various changes around null and emulated poses #1058
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This was removed in immersive-web#1030 because the original language was not rigorous enough. Reintroducing the check using better language.
/agenda to discuss the changes being made here |
In the call today there seemed to be general consensus around allowing It was pointed out that for handheld input controllers we may wish to encourage them to never return The point about |
I thought in a previous call the resolution for #674 that was discussed was to not enforce any particular behavior and to leave that to be a UA choice? (Relevant Minutes: https://www.w3.org/2020/05/12-immersive-web-minutes.html) |
Hmm, you're right. However, I think neither I nor @toji had a strong opinion on that, and my opinion has shifted towards Alex's original one of " cc @thetuvix If you or others feel strongly I can revert that bit. |
Sorry it's taken me a while to comment on this. Wanted to hear the call discussion and then come back. I'm OK with everything here with the exception of blocking My biggest concern is that a very common pattern in many apps is to wait for a reference space before spinning up the rAF loop, but in many cases the device will have already switched over to presenting the session's content as soon as the session is created. If there's a need for some action on the user's part to help establish tracking (as is commonly the case for mobile AR, where you want to wiggle your phone around) then having that rAF loop available as a point to ping the tracking state is useful, as well as offering a logical place to draw any helper dialogs with a more reliable (viewer?) space. |
Oh, that's a fair point. I'll remove those changes and fix up the rest of the PR. You should leave a comment to that effect on the other issue, and perhaps we should reagenda it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks!
@toji oh, I also added a note about hand controllers losing tracking, as discussed in the call. want to quickly check that as well? |
Controller comment LGTM too! |
Going to merge, the only part of this PR that was not discussed fully in the call was the one I removed. |
This contains changes to:
Force emulation in(Should requestReferenceSpace() wait until getViewerPose() won't be null? #674)getViewerPose()
, making it not possible to return null poses, and delayrequestReferenceSpace()
until tracking has been established.For users, the main change here is that
requestReferenceSpace()
might have some delay involved in resolving the promise, but on the plus sidegetViewerPose()
will never be null.Preview | Diff