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.
TAG review statusPending
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 signalWebKit
: No signalWeb developers
: No signals
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.
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.No
Link to entry on the Chrome Platform Statushttps://chromestatus.com/feature/5732397976911872
Links to previous Intent discussionsIntent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/0fCZESiIY0Y/m/FcWeKGOzCAAJ