Intent to Ship: WebXR Anchors

150 views
Skip to first unread message

Piotr Bialecki

unread,
Jun 10, 2020, 12:01:45 AM6/10/20
to blink-dev
bia...@chromium.org https://github.com/immersive-web/anchors/blob/master/explainer.md https://immersive-web.github.io/anchors/ https://github.com/w3ctag/design-reviews/issues/479 This API is an extension to the WebXR Device API that provides a way to indicate to the underlying XR system that a 3D pose is meant to be kept up to date. Tracked poses may be arbitrary or attached to real world geometry. In current AR systems, poses evolve over time as the system understands more of the real world that surrounds it. As the system's understanding evolves, anchors enable the application to update poses of virtual objects so that they maintain their relationship to real world. https://groups.google.com/a/chromium.org/d/topic/blink-dev/EAj0HR-jIWI/discussion
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: No public signals (https://github.com/mozilla/standards-positions/issues/351) Edge: No public signals Safari: No public signals (https://lists.webkit.org/pipermail/webkit-dev/2020-May/031225.html) Web developers: Positive There have been early adopters of AR APIs, (ModelViewer, A-Frame) and the feature was requested as it would improve the experience of users consuming AR content. This feature is an extension of WebXR Device API. The use of this particular feature does not depend on any other web features, although WebXR-enabled applications will most likely use WebGL. The feature is usable as-is, although it will be more accessible to developers if used through libraries like three.js, <model-viewer>, A-Frame, etc.
No This will be supported on platforms where Chrome supports AR. Currently, this is only Android. WebView support is planned. There are no technical restrictions specific to this API preventing it from being implemented on other platforms. The specification itself will be implemented in Blink for all platforms, but the spec text leaves room for the UAs to signal that a particular API depends on the device support. No Results: https://wpt.fyi/results/webxr/anchors?label=experimental&label=master&aligned Initial tests: https://github.com/web-platform-tests/wpt/tree/master/webxr/anchors https://bugs.chromium.org/p/chromium/issues/detail?id=833646 https://storage.googleapis.com/chromium-webxr-test/latest.html?target=proposals/phone-ar-hit-test.html https://storage.googleapis.com/chromium-webxr-test/latest.html?target=proposals/phone-ar-plane-detection-anchors.html https://chromestatus.com/feature/5129925015109632
This intent message was generated by Chrome Platform Status.

sligh...@chromium.org

unread,
Jun 18, 2020, 7:26:57 PM6/18/20
to blink-dev
Hey all,

Sorry for the delay in responding to this intent. The OWNERs discussed again this week and have questions. In particular, are there better pointers developer feedback? Given that we'd be out ahead on this, it would be great to learn more about any specific feedback that folks have provided for this while it has been behind a flag.

If we can't identify specific feedback, I think the general comfort level with this is high for an Experiment before shipping.

Thoughts?

Piotr Bialecki

unread,
Jun 19, 2020, 5:43:02 AM6/19/20
to blink-dev, sligh...@chromium.org
Hi,

Thanks for taking a look! So far there has been no direct feedback coming from web developers about this feature. We have received requests for the feature itself as it is one of the basic capabilities required in order to provide good AR experiences when placing virtual objects. Native AR platforms usually require for anchors to be used after a hit test is performed as without anchors objects can drift away. The inability for the Web Platform to create anchors is a known issue. This is an obviously needed feature with a fairly straightforward API that received feedback from Mozilla and Microsoft (notable examples: https://github.com/immersive-web/anchors/issues/46, https://github.com/immersive-web/anchors/issues/37).

Therefore, we do not expect an experiment to confirm the need for an API (as it is obvious) and rarely experiment give feedback on the API shape. In addition, the main consumers of the AR APIs are libraries (three.js, ModelViewer) that are used on origins not controlled by the library authors, and I believe it is not yet possible to enable origin trial in those cases. Because of this, it seems to me that proceeding with I2E will not enable us to gather more data.

Thanks,
-Piotr

Ricardo Cabello

unread,
Jun 27, 2020, 1:46:08 AM6/27/20
to blink-dev, bia...@chromium.org, sligh...@chromium.org
I've studied the spec and the samples. The current shape of the API looks good to me.

Ricardo Cabello

unread,
Jun 29, 2020, 6:58:29 PM6/29/20
to blink-dev, Ricardo Cabello, bia...@chromium.org, sligh...@chromium.org
As an addendum... This is something that we would like to adopt in Three.js as soon as possible.

Daniel Bratell

unread,
Jul 2, 2020, 7:06:50 PM7/2/20
to blink-dev, ricardo...@google.com, bia...@chromium.org, sligh...@chromium.org
LGTM1

/Daniel

Yoav Weiss

unread,
Jul 2, 2020, 7:08:05 PM7/2/20
to Daniel Bratell, blink-dev, ricardo...@google.com, Piotr Bialecki, Alex Russell
LGTM2

On Thu, Jul 2, 2020 at 9:06 PM Daniel Bratell <brat...@gmail.com> wrote:
LGTM1

/Daniel

On Monday, 29 June 2020 20:58:29 UTC+2, Ricardo Cabello wrote:
As an addendum... This is something that we would like to adopt in Three.js as soon as possible.

Thanks for that feedback. Super helpful!
 
--
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/88e643c0-7d41-4181-9bc3-8e6b043e2fb7o%40chromium.org.

Chris Harrelson

unread,
Jul 2, 2020, 10:13:07 PM7/2/20
to Yoav Weiss, Daniel Bratell, blink-dev, Ricardo Cabello, Piotr Bialecki, Alex Russell
Reply all
Reply to author
Forward
0 new messages