Intent to Implement: WebXR Anchors

69 views
Skip to first unread message

Piotr Bialecki

unread,
Aug 7, 2019, 6:54:14 PM8/7/19
to blink-dev

bia...@chromium.org https://github.com/immersive-web/anchors/blob/master/explainer.md https://github.com/immersive-web/anchors/blob/master/explainer.md The API is still early, so we have not yet requested a TAG review. This API is an extension to the WebXR Device API that provides a way to indicate to the underlying pose tracking system that a 3D pose is meant to be kept up to date. Poses may be arbitrary or attached to real world geometry. With current AR tracking technology, poses evolve over time as the system understands more of the real world that surrounds it. As the system tracking evolves, virtual object poses should be automatically updated so they maintain their relationship to the real world. AR systems provide a way to know an estimation of a device pose (position and orientation) in the real world with high accuracy. These systems evolve the accuracy of the pose as time goes by and as more information about the real world is provided. These changes in the estimation of the pose of the device are not usually transmitted to the application level. Instead, AR systems provide a way for the app to indicate poses that are relevant for the app (e.g., where virtual objects are placed) and let the system handle a way to make corrections to those poses as the device’s main pose is updated. As AR systems do not expose the pose changes directly and instead provide notifications by these anchoring mechanisms, web apps also need to be able to specify poses to be updated by the system. Without anchors, virtual objects placed in reference to the real world could drift from their reference position performing unexpected jumps of position. While this may not be relevant for all experiences, it is best if developers are in the habit of always using anchors to provide the best experience for users across clients and use cases.

Firefox, Edge, and others are active participants in the CG. This API is a minimal extension to WebXR Device API. It could be easily removed without affecting VR apps, but any AR apps that use anchors would have to be updated to use the poses directly, without a clear way of updating them. This only affects WebXR applications using AR APIs, none of which have shipped, so it does not affect existing content. Firefox: Public support (https://github.com/immersive-web/proposals/issues/10#issuecomment-372798219) Edge: Public support Safari: No public signals Web developers: Positive

No The current API design and investigation is focused on AR, so this will only be supported on platforms where Chrome supports AR. Currently, this is only Android. There has been discussion of using anchors for VR, in which case it would be supported on all platforms. No Tests will be added to WebXR's WPT suite. https://chromestatus.com/feature/5129925015109632

Yoav Weiss

unread,
Aug 8, 2019, 7:33:00 AM8/8/19
to Piotr Bialecki, Alice Boxhall, blink-dev
On Thu, Aug 8, 2019 at 12:54 AM Piotr Bialecki <bia...@chromium.org> wrote:

bia...@chromium.org https://github.com/immersive-web/anchors/blob/master/explainer.md https://github.com/immersive-web/anchors/blob/master/explainer.md The API is still early, so we have not yet requested a TAG review.


+Alice Boxhall for authoritative TAG view, but I believe it's better to kick off the review, even if you're still not 100% sure the design is final.
 

This API is an extension to the WebXR Device API that provides a way to indicate to the underlying pose tracking system that a 3D pose is meant to be kept up to date. Poses may be arbitrary or attached to real world geometry. With current AR tracking technology, poses evolve over time as the system understands more of the real world that surrounds it. As the system tracking evolves, virtual object poses should be automatically updated so they maintain their relationship to the real world. AR systems provide a way to know an estimation of a device pose (position and orientation) in the real world with high accuracy. These systems evolve the accuracy of the pose as time goes by and as more information about the real world is provided. These changes in the estimation of the pose of the device are not usually transmitted to the application level. Instead, AR systems provide a way for the app to indicate poses that are relevant for the app (e.g., where virtual objects are placed) and let the system handle a way to make corrections to those poses as the device’s main pose is updated. As AR systems do not expose the pose changes directly and instead provide notifications by these anchoring mechanisms, web apps also need to be able to specify poses to be updated by the system. Without anchors, virtual objects placed in reference to the real world could drift from their reference position performing unexpected jumps of position. While this may not be relevant for all experiences, it is best if developers are in the habit of always using anchors to provide the best experience for users across clients and use cases.

Firefox, Edge, and others are active participants in the CG. This API is a minimal extension to WebXR Device API. It could be easily removed without affecting VR apps, but any AR apps that use anchors would have to be updated to use the poses directly, without a clear way of updating them. This only affects WebXR applications using AR APIs, none of which have shipped, so it does not affect existing content. Firefox: Public support (https://github.com/immersive-web/proposals/issues/10#issuecomment-372798219) Edge: Public support Safari: No public signals Web developers: Positive

No The current API design and investigation is focused on AR, so this will only be supported on platforms where Chrome supports AR. Currently, this is only Android. There has been discussion of using anchors for VR, in which case it would be supported on all platforms. No Tests will be added to WebXR's WPT suite. https://chromestatus.com/feature/5129925015109632

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b2390f92-226c-45bd-a1b8-6bc417cfb7c4%40chromium.org.
Reply all
Reply to author
Forward
0 new messages