Intent to Experiment: WebXR Plane Detection API

292 views
Skip to first unread message

Piotr Bialecki

unread,
Mar 31, 2021, 12:47:48 PM3/31/21
to blin...@chromium.org

Contact emails

bia...@chromium.org

Explainer


https://github.com/immersive-web/real-world-geometry/blob/master/plane-detection-explainer.md

Specification

https://immersive-web.github.io/real-world-geometry/plane-detection.html

API spec

Yes

Design docs


https://github.com/immersive-web/real-world-geometry/blob/master/plane-detection-explainer.md

Summary

The feature allows WebXR applications to retrieve data about planes (flat surfaces) present in the user’s environment. This enables AR applications to create a more immersive experience through the obtained information.



Blink component

Blink

TAG review

https://github.com/w3ctag/design-reviews/issues/620

TAG review status

Pending

Risks



Interoperability and Compatibility

This is an incubation of a small extension to WebXR within the Immersive Web CG. The API was designed with interoperability in mind, by ensuring that other vendors have a path of supporting the API if they wish to. In addition, due to the nature of some of the APIs depending on the underlying framework's capabilities, the WebXR Device API itself provides a mechanism of detecting supported features, and allows the applications to express which features are required for the application to function properly, and which are optional.



Gecko: No signal

WebKit: No signal

Web developers: No signals

Ergonomics

This feature is an extension of WebXR Device API. The feature depends on WebXR Anchors Module for anchor creation, and WebXR-enabled applications will most likely use WebGL.



Activation

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.



Goals for experimentation

Primary goal is to gather user feedback in order to guide the API shape so that the approach around communicating plane updates & removals is well suited to the needs of the application developers. The API should be feature-complete in its current form and expose a minimally viable set of plane detection capabilities to the WebXR-powered experiences, so the expected feedback will hopefully be around API ergonomics.



Reason this experiment is being extended



Ongoing technical constraints



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

No

This will be supported on platforms where Chrome supports AR. Currently, this is only Android, and does not include WebView. 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.



Is this feature fully tested by web-platform-tests?

No

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=954236

Launch bug

https://crbug.com/1189422

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5732397976911872

Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/0fCZESiIY0Y/m/FcWeKGOzCAAJ


This intent message was generated by Chrome Platform Status.

Yoav Weiss

unread,
Apr 1, 2021, 4:26:27 AM4/1/21
to blink-dev, Piotr Bialecki, Jason Robbins
Thanks for working on this! 

I'm missing milestones for the experimentation here, which is likely a chromestatus issue. 
/cc jrobbins@

On Wednesday, March 31, 2021 at 6:47:48 PM UTC+2 Piotr Bialecki wrote:

Contact emails

bia...@chromium.org

Explainer


https://github.com/immersive-web/real-world-geometry/blob/master/plane-detection-explainer.md

Specification

https://immersive-web.github.io/real-world-geometry/plane-detection.html

API spec

Yes

Design docs


https://github.com/immersive-web/real-world-geometry/blob/master/plane-detection-explainer.md

Summary

The feature allows WebXR applications to retrieve data about planes (flat surfaces) present in the user’s environment. This enables AR applications to create a more immersive experience through the obtained information.



Blink component

Blink

TAG review

https://github.com/w3ctag/design-reviews/issues/620

TAG review status

Pending

Risks



Interoperability and Compatibility

This is an incubation of a small extension to WebXR within the Immersive Web CG. The API was designed with interoperability in mind, by ensuring that other vendors have a path of supporting the API if they wish to. In addition, due to the nature of some of the APIs depending on the underlying framework's capabilities, the WebXR Device API itself provides a mechanism of detecting supported features, and allows the applications to express which features are required for the application to function properly, and which are optional.



Gecko: No signal

WebKit: No signal

Might be interesting to start gathering signals early here. As Gecko and WebKit are less invested in the XR space than they used to be, signals from other implementers in the XR space may be of interest as well.
 

Web developers: No signals

Do we have partners lined up to experiment with the API? Anyone in particular that's asking for this?

Piotr Bialecki

unread,
Apr 1, 2021, 1:22:23 PM4/1/21
to Yoav Weiss, blink-dev, Jason Robbins
The plan is to Origin Trial in milestones 91-92.

> (...) which is likely a chromestatus issue. 

It may also be a user issue, I have originally not put them in chromestatus before sending the I2E. I think I misunderstood this part of the process due to the ordering of steps. I have now updated the chromestatus entry with the milestones.

> (...) signals from other implementers in the XR space may be of interest as well.

One thing to add here: there were some efforts to incubate a more powerful API (mesh detection) that took place in the same repository as plane detection & were driven mostly by Microsoft and Magic Leap. I'll touch base with them.


> Do we have partners lined up to experiment with the API? Anyone in particular that's asking for this?

We are not working with anyone directly, there was a limited amount of experimentation with the API done by external web developers when it first became available behind a flag in Chrome.

Alex Russell

unread,
Apr 1, 2021, 3:25:40 PM4/1/21
to blink-dev, bia...@chromium.org, blink-dev, Jason Robbins, yoav...@chromium.org
Thanks for the detail. LGTM1 with nit here:

Reply all
Reply to author
Forward
0 new messages