diff --git a/features/webxr-anchors.yml b/features/webxr-anchors.yml new file mode 100644 index 00000000000..e34e0091930 --- /dev/null +++ b/features/webxr-anchors.yml @@ -0,0 +1,19 @@ +name: Anchors (WebXR) +description: An `XRAnchor` object keeps track of a pose that is fixed relative to the real world. Anchors build an illusion that the placed objects are really present in the user's environment. +spec: https://immersive-web.github.io/anchors/ +group: webxr +compat_features: + - api.XRAnchor + - api.XRAnchor.anchorSpace + - api.XRAnchor.delete + - api.XRAnchorSet + - api.XRAnchorSet.entries + - api.XRAnchorSet.forEach + - api.XRAnchorSet.has + - api.XRAnchorSet.keys + - api.XRAnchorSet.size + - api.XRAnchorSet.values + - api.XRAnchorSet.@@iterator + - api.XRFrame.createAnchor + - api.XRFrame.trackedAnchors + - api.XRHitTestResult.createAnchor diff --git a/features/webxr-anchors.yml.dist b/features/webxr-anchors.yml.dist new file mode 100644 index 00000000000..049fb9c590e --- /dev/null +++ b/features/webxr-anchors.yml.dist @@ -0,0 +1,24 @@ +# Generated from: webxr-anchors.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "85" + chrome_android: "85" + edge: "85" +compat_features: + - api.XRAnchor + - api.XRAnchor.anchorSpace + - api.XRAnchor.delete + - api.XRAnchorSet + - api.XRAnchorSet.@@iterator + - api.XRAnchorSet.entries + - api.XRAnchorSet.forEach + - api.XRAnchorSet.has + - api.XRAnchorSet.keys + - api.XRAnchorSet.size + - api.XRAnchorSet.values + - api.XRFrame.createAnchor + - api.XRFrame.trackedAnchors + - api.XRHitTestResult.createAnchor diff --git a/features/webxr-ar.yml b/features/webxr-ar.yml new file mode 100644 index 00000000000..d60746167ab --- /dev/null +++ b/features/webxr-ar.yml @@ -0,0 +1,8 @@ +name: Augmented reality +description: The `"immersive-ar"` value for `navigator.xr.requestSession()` starts an augmented reality WebXR session that renders content aligned with the visible environment. +spec: https://immersive-web.github.io/webxr-ar-module/ +group: webxr +compat_features: + - api.XRSession.environmentBlendMode + - api.XRSession.interactionMode + - api.XRView.isFirstPersonObserver diff --git a/features/webxr-ar.yml.dist b/features/webxr-ar.yml.dist new file mode 100644 index 00000000000..f8022de18bf --- /dev/null +++ b/features/webxr-ar.yml.dist @@ -0,0 +1,31 @@ +# Generated from: webxr-ar.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "86" + chrome_android: "86" + edge: "86" +compat_features: + # baseline: false + # support: + # chrome: "81" + # chrome_android: "81" + # edge: "81" + - api.XRSession.environmentBlendMode + + # baseline: false + # support: + # chrome: "84" + # chrome_android: "84" + # edge: "84" + - api.XRSession.interactionMode + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "86" + # chrome_android: "86" + # edge: "86" + - api.XRView.isFirstPersonObserver diff --git a/features/webxr-camera.yml b/features/webxr-camera.yml new file mode 100644 index 00000000000..2343a5c0277 --- /dev/null +++ b/features/webxr-camera.yml @@ -0,0 +1,10 @@ +name: Raw camera access for WebXR +description: The `XRView.camera` property provides direct access to pose-synchronized camera images within a WebXR session. +spec: https://immersive-web.github.io/raw-camera-access/ +group: webxr +compat_features: + - api.XRCamera + - api.XRCamera.width + - api.XRCamera.height + - api.XRView.camera + - api.XRWebGLBinding.getCameraImage diff --git a/features/webxr-camera.yml.dist b/features/webxr-camera.yml.dist new file mode 100644 index 00000000000..e204ec3f69c --- /dev/null +++ b/features/webxr-camera.yml.dist @@ -0,0 +1,15 @@ +# Generated from: webxr-camera.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "107" + chrome_android: "107" + edge: "107" +compat_features: + - api.XRCamera + - api.XRCamera.height + - api.XRCamera.width + - api.XRView.camera + - api.XRWebGLBinding.getCameraImage diff --git a/features/webxr-depth-sensing.yml b/features/webxr-depth-sensing.yml new file mode 100644 index 00000000000..370206e553d --- /dev/null +++ b/features/webxr-depth-sensing.yml @@ -0,0 +1,19 @@ +name: Depth sensing +description: An `XRDepthInformation` object represents a measurement of the distance from the user's device to the real-world geometry in the user's environment. +spec: https://immersive-web.github.io/depth-sensing/ +group: webxr +compat_features: + - api.XRSession.depthUsage + - api.XRSession.depthDataFormat + - api.XRDepthInformation + - api.XRDepthInformation.height + - api.XRDepthInformation.normDepthBufferFromNormView + - api.XRDepthInformation.rawValueToMeters + - api.XRDepthInformation.width + - api.XRCPUDepthInformation + - api.XRCPUDepthInformation.data + - api.XRCPUDepthInformation.getDepthInMeters + - api.XRFrame.getDepthInformation + - api.XRWebGLDepthInformation + - api.XRWebGLDepthInformation.texture + - api.XRWebGLBinding.getDepthInformation diff --git a/features/webxr-depth-sensing.yml.dist b/features/webxr-depth-sensing.yml.dist new file mode 100644 index 00000000000..0465ef4ff4b --- /dev/null +++ b/features/webxr-depth-sensing.yml.dist @@ -0,0 +1,24 @@ +# Generated from: webxr-depth-sensing.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "90" + chrome_android: "90" + edge: "90" +compat_features: + - api.XRCPUDepthInformation + - api.XRCPUDepthInformation.data + - api.XRCPUDepthInformation.getDepthInMeters + - api.XRDepthInformation + - api.XRDepthInformation.height + - api.XRDepthInformation.normDepthBufferFromNormView + - api.XRDepthInformation.rawValueToMeters + - api.XRDepthInformation.width + - api.XRFrame.getDepthInformation + - api.XRSession.depthDataFormat + - api.XRSession.depthUsage + - api.XRWebGLBinding.getDepthInformation + - api.XRWebGLDepthInformation + - api.XRWebGLDepthInformation.texture diff --git a/features/webxr-device.yml b/features/webxr-device.yml new file mode 100644 index 00000000000..0b4f513c57b --- /dev/null +++ b/features/webxr-device.yml @@ -0,0 +1,110 @@ +name: WebXR +description: The `navigator.xr` API represents the browser's virtual reality or augmented reality system. You can use to request a WebXR session. +spec: https://immersive-web.github.io/webxr/ +group: webxr +status: + compute_from: api.Navigator.xr +compat_features: + - api.Navigator.xr + - api.XRSystem + - api.XRSystem.devicechange_event + - api.XRSystem.isSessionSupported + - api.XRSystem.requestSession + - api.XRSession + - api.XRSession.cancelAnimationFrame + - api.XRSession.enabledFeatures + - api.XRSession.end + - api.XRSession.end_event + - api.XRSession.inputSources + - api.XRSession.inputsourceschange_event + - api.XRSession.renderState + - api.XRSession.requestAnimationFrame + - api.XRSession.requestReferenceSpace + - api.XRSession.select_event + - api.XRSession.selectend_event + - api.XRSession.selectstart_event + - api.XRSession.squeeze_event + - api.XRSession.squeezeend_event + - api.XRSession.squeezestart_event + - api.XRSession.updateRenderState + - api.XRSession.visibilitychange_event + - api.XRSession.visibilityState + - api.XRRenderState + - api.XRRenderState.baseLayer + - api.XRRenderState.depthFar + - api.XRRenderState.depthNear + - api.XRRenderState.inlineVerticalFieldOfView + - api.XRFrame + - api.XRFrame.getPose + - api.XRFrame.getViewerPose + - api.XRFrame.session + - api.XRSpace + - api.XRReferenceSpace + - api.XRReferenceSpace.getOffsetReferenceSpace + - api.XRReferenceSpace.reset_event + - api.XRView + - api.XRView.eye + - api.XRView.projectionMatrix + - api.XRView.recommendedViewportScale + - api.XRView.requestViewportScale + - api.XRView.transform + - api.XRViewport + - api.XRViewport.height + - api.XRViewport.width + - api.XRViewport.x + - api.XRViewport.y + - api.XRRigidTransform + - api.XRRigidTransform.XRRigidTransform + - api.XRRigidTransform.inverse + - api.XRRigidTransform.matrix + - api.XRRigidTransform.orientation + - api.XRRigidTransform.position + - api.XRPose + - api.XRPose.angularVelocity + - api.XRPose.emulatedPosition + - api.XRPose.linearVelocity + - api.XRPose.transform + - api.XRViewerPose + - api.XRViewerPose.views + - api.XRInputSource + - api.XRInputSource.gripSpace + - api.XRInputSource.handedness + - api.XRInputSource.profiles + - api.XRInputSource.targetRayMode + - api.XRInputSource.targetRaySpace + - api.XRInputSourceArray + - api.XRInputSourceArray.entries + - api.XRInputSourceArray.forEach + - api.XRInputSourceArray.keys + - api.XRInputSourceArray.length + - api.XRInputSourceArray.values + - api.XRInputSourceArray.@@iterator + - api.XRLayer + - api.XRWebGLLayer + - api.XRWebGLLayer.XRWebGLLayer + - api.XRWebGLLayer.antialias + - api.XRWebGLLayer.fixedFoveation + - api.XRWebGLLayer.framebuffer + - api.XRWebGLLayer.framebufferHeight + - api.XRWebGLLayer.framebufferWidth + - api.XRWebGLLayer.getNativeFramebufferScaleFactor_static + - api.XRWebGLLayer.getViewport + - api.XRWebGLLayer.ignoreDepthValues + - api.XRSessionEvent + - api.XRSessionEvent.XRSessionEvent + - api.XRSessionEvent.session + - api.XRInputSourceEvent + - api.XRInputSourceEvent.XRInputSourceEvent + - api.XRInputSourceEvent.frame + - api.XRInputSourceEvent.inputSource + - api.XRInputSourcesChangeEvent + - api.XRInputSourcesChangeEvent.XRInputSourcesChangeEvent + - api.XRInputSourcesChangeEvent.added + - api.XRInputSourcesChangeEvent.removed + - api.XRInputSourcesChangeEvent.session + - api.XRReferenceSpaceEvent + - api.XRReferenceSpaceEvent.XRReferenceSpaceEvent + - api.XRReferenceSpaceEvent.referenceSpace + - api.XRReferenceSpaceEvent.transform + - api.XRBoundedReferenceSpace + - api.XRBoundedReferenceSpace.boundsGeometry diff --git a/features/webxr-device.yml.dist b/features/webxr-device.yml.dist new file mode 100644 index 00000000000..243ccc14263 --- /dev/null +++ b/features/webxr-device.yml.dist @@ -0,0 +1,146 @@ +# Generated from: webxr-device.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "79" + chrome_android: "79" + edge: "79" +compat_features: + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "79" + # chrome_android: "79" + # edge: "79" + - api.Navigator.xr + - api.XRBoundedReferenceSpace + - api.XRBoundedReferenceSpace.boundsGeometry + - api.XRFrame + - api.XRFrame.getPose + - api.XRFrame.getViewerPose + - api.XRFrame.session + - api.XRInputSource + - api.XRInputSource.gripSpace + - api.XRInputSource.handedness + - api.XRInputSource.profiles + - api.XRInputSource.targetRayMode + - api.XRInputSource.targetRaySpace + - api.XRInputSourceArray + - api.XRInputSourceArray.@@iterator + - api.XRInputSourceArray.entries + - api.XRInputSourceArray.forEach + - api.XRInputSourceArray.keys + - api.XRInputSourceArray.length + - api.XRInputSourceArray.values + - api.XRInputSourceEvent + - api.XRInputSourceEvent.XRInputSourceEvent + - api.XRInputSourceEvent.frame + - api.XRInputSourceEvent.inputSource + - api.XRInputSourcesChangeEvent + - api.XRInputSourcesChangeEvent.XRInputSourcesChangeEvent + - api.XRInputSourcesChangeEvent.added + - api.XRInputSourcesChangeEvent.removed + - api.XRInputSourcesChangeEvent.session + - api.XRPose + - api.XRPose.emulatedPosition + - api.XRPose.transform + - api.XRReferenceSpace + - api.XRReferenceSpace.getOffsetReferenceSpace + - api.XRReferenceSpace.reset_event + - api.XRReferenceSpaceEvent + - api.XRReferenceSpaceEvent.XRReferenceSpaceEvent + - api.XRReferenceSpaceEvent.referenceSpace + - api.XRReferenceSpaceEvent.transform + - api.XRRenderState + - api.XRRenderState.baseLayer + - api.XRRenderState.depthFar + - api.XRRenderState.depthNear + - api.XRRenderState.inlineVerticalFieldOfView + - api.XRRigidTransform + - api.XRRigidTransform.XRRigidTransform + - api.XRRigidTransform.inverse + - api.XRRigidTransform.matrix + - api.XRRigidTransform.orientation + - api.XRRigidTransform.position + - api.XRSession + - api.XRSession.cancelAnimationFrame + - api.XRSession.end + - api.XRSession.end_event + - api.XRSession.inputSources + - api.XRSession.inputsourceschange_event + - api.XRSession.renderState + - api.XRSession.requestAnimationFrame + - api.XRSession.requestReferenceSpace + - api.XRSession.select_event + - api.XRSession.selectend_event + - api.XRSession.selectstart_event + - api.XRSession.updateRenderState + - api.XRSession.visibilityState + - api.XRSession.visibilitychange_event + - api.XRSessionEvent + - api.XRSessionEvent.XRSessionEvent + - api.XRSessionEvent.session + - api.XRSpace + - api.XRSystem + - api.XRSystem.devicechange_event + - api.XRSystem.isSessionSupported + - api.XRSystem.requestSession + - api.XRView + - api.XRView.eye + - api.XRView.projectionMatrix + - api.XRView.transform + - api.XRViewerPose + - api.XRViewerPose.views + - api.XRViewport + - api.XRViewport.height + - api.XRViewport.width + - api.XRViewport.x + - api.XRViewport.y + - api.XRWebGLLayer + - api.XRWebGLLayer.XRWebGLLayer + - api.XRWebGLLayer.antialias + - api.XRWebGLLayer.framebuffer + - api.XRWebGLLayer.framebufferHeight + - api.XRWebGLLayer.framebufferWidth + - api.XRWebGLLayer.getNativeFramebufferScaleFactor_static + - api.XRWebGLLayer.getViewport + - api.XRWebGLLayer.ignoreDepthValues + + # baseline: false + # support: + # chrome: "83" + # chrome_android: "83" + # edge: "83" + - api.XRSession.squeeze_event + - api.XRSession.squeezeend_event + - api.XRSession.squeezestart_event + + # baseline: false + # support: + # chrome: "84" + # chrome_android: "84" + # edge: "84" + - api.XRLayer + + # baseline: false + # support: + # chrome: "90" + # chrome_android: "90" + # edge: "90" + - api.XRView.recommendedViewportScale + - api.XRView.requestViewportScale + + # baseline: false + # support: + # chrome: "111" + # chrome_android: "111" + # edge: "111" + - api.XRSession.enabledFeatures + + # baseline: false + # support: {} + - api.XRPose.angularVelocity + - api.XRPose.linearVelocity + - api.XRWebGLLayer.fixedFoveation diff --git a/features/webxr-dom-overlays.yml b/features/webxr-dom-overlays.yml new file mode 100644 index 00000000000..839f7319d7a --- /dev/null +++ b/features/webxr-dom-overlays.yml @@ -0,0 +1,6 @@ +name: DOM overlays for WebXR +description: A DOM overlay shows 2D DOM content as an interactive, transparent layer on top of a WebXR application's WebGL content and camera image. +spec: https://immersive-web.github.io/dom-overlays/ +group: webxr +compat_features: + - api.XRSession.domOverlayState diff --git a/features/webxr-dom-overlays.yml.dist b/features/webxr-dom-overlays.yml.dist new file mode 100644 index 00000000000..be78e40f507 --- /dev/null +++ b/features/webxr-dom-overlays.yml.dist @@ -0,0 +1,11 @@ +# Generated from: webxr-dom-overlays.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "83" + chrome_android: "83" + edge: "83" +compat_features: + - api.XRSession.domOverlayState diff --git a/features/webxr-gamepads.yml b/features/webxr-gamepads.yml new file mode 100644 index 00000000000..e0c03af8e3d --- /dev/null +++ b/features/webxr-gamepads.yml @@ -0,0 +1,6 @@ +name: Gamepad (WebXR) +description: The `gamepad` attribute of an `XRInputSource` represents an XR input device, such as a motion controller, that reports data from physical inputs (such as buttons, touch pads, and triggers). +spec: https://immersive-web.github.io/webxr-gamepads-module/ +group: webxr +compat_features: + - api.XRInputSource.gamepad diff --git a/features/webxr-gamepads.yml.dist b/features/webxr-gamepads.yml.dist new file mode 100644 index 00000000000..1e5215a95ce --- /dev/null +++ b/features/webxr-gamepads.yml.dist @@ -0,0 +1,11 @@ +# Generated from: webxr-gamepads.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "79" + chrome_android: "79" + edge: "79" +compat_features: + - api.XRInputSource.gamepad diff --git a/features/webxr-hand-input.yml b/features/webxr-hand-input.yml new file mode 100644 index 00000000000..111535316b8 --- /dev/null +++ b/features/webxr-hand-input.yml @@ -0,0 +1,21 @@ +name: Hand input +description: An `XRHand` object, from the `hand` attribute of an `XRInputSource` object, represents a WebXR session's fully-articulated hand tracking model. +spec: https://immersive-web.github.io/webxr-hand-input/ +group: webxr +compat_features: + - api.XRInputSource.hand + - api.XRHand + - api.XRHand.entries + - api.XRHand.forEach + - api.XRHand.get + - api.XRHand.keys + - api.XRHand.size + - api.XRHand.values + - api.XRHand.@@iterator + - api.XRJointSpace + - api.XRJointSpace.jointName + - api.XRFrame.fillJointRadii + - api.XRFrame.fillPoses + - api.XRFrame.getJointPose + - api.XRJointPose + - api.XRJointPose.radius diff --git a/features/webxr-hand-input.yml.dist b/features/webxr-hand-input.yml.dist new file mode 100644 index 00000000000..ec622e54cdd --- /dev/null +++ b/features/webxr-hand-input.yml.dist @@ -0,0 +1,23 @@ +# Generated from: webxr-hand-input.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: {} +compat_features: + - api.XRFrame.fillJointRadii + - api.XRFrame.fillPoses + - api.XRFrame.getJointPose + - api.XRHand + - api.XRHand.@@iterator + - api.XRHand.entries + - api.XRHand.forEach + - api.XRHand.get + - api.XRHand.keys + - api.XRHand.size + - api.XRHand.values + - api.XRInputSource.hand + - api.XRJointPose + - api.XRJointPose.radius + - api.XRJointSpace + - api.XRJointSpace.jointName diff --git a/features/webxr-hit-test.yml b/features/webxr-hit-test.yml new file mode 100644 index 00000000000..2caf6eccf21 --- /dev/null +++ b/features/webxr-hit-test.yml @@ -0,0 +1,23 @@ +name: Hit test +description: The `getHitTestResults()` method of an `XRFrame` object helps place objects in an augmented reality session by finding where cast rays intersect with real-world geometry. +spec: https://immersive-web.github.io/hit-test/ +group: webxr +compat_features: + - api.XRHitTestSource + - api.XRHitTestSource.cancel + - api.XRTransientInputHitTestSource + - api.XRTransientInputHitTestSource.cancel + - api.XRHitTestResult + - api.XRHitTestResult.getPose + - api.XRTransientInputHitTestResult + - api.XRTransientInputHitTestResult.inputSource + - api.XRTransientInputHitTestResult.results + - api.XRSession.requestHitTestSource + - api.XRSession.requestHitTestSourceForTransientInput + - api.XRFrame.getHitTestResults + - api.XRFrame.getHitTestResultsForTransientInput + - api.XRRay + - api.XRRay.XRRay + - api.XRRay.direction + - api.XRRay.matrix + - api.XRRay.origin diff --git a/features/webxr-hit-test.yml.dist b/features/webxr-hit-test.yml.dist new file mode 100644 index 00000000000..366bdc80926 --- /dev/null +++ b/features/webxr-hit-test.yml.dist @@ -0,0 +1,28 @@ +# Generated from: webxr-hit-test.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "81" + chrome_android: "81" + edge: "81" +compat_features: + - api.XRFrame.getHitTestResults + - api.XRFrame.getHitTestResultsForTransientInput + - api.XRHitTestResult + - api.XRHitTestResult.getPose + - api.XRHitTestSource + - api.XRHitTestSource.cancel + - api.XRRay + - api.XRRay.XRRay + - api.XRRay.direction + - api.XRRay.matrix + - api.XRRay.origin + - api.XRSession.requestHitTestSource + - api.XRSession.requestHitTestSourceForTransientInput + - api.XRTransientInputHitTestResult + - api.XRTransientInputHitTestResult.inputSource + - api.XRTransientInputHitTestResult.results + - api.XRTransientInputHitTestSource + - api.XRTransientInputHitTestSource.cancel diff --git a/features/webxr-layers.yml b/features/webxr-layers.yml new file mode 100644 index 00000000000..be200857d25 --- /dev/null +++ b/features/webxr-layers.yml @@ -0,0 +1,71 @@ +name: Layers (WebXR) +description: WebXR layer types, such as `XRCylinderLayer`, `XRCylinderLayer`, `XREquirectLayer`, `XRProjectionLayer` or `XRQuadLayer`, are managed by the system compositor, to reduce latency or resampling. +spec: https://immersive-web.github.io/layers/ +group: webxr +status: + compute_from: api.XRCompositionLayer +compat_features: + - api.XRCompositionLayer + - api.XRCompositionLayer.blendTextureSourceAlpha + - api.XRCompositionLayer.destroy + - api.XRCompositionLayer.layout + - api.XRCompositionLayer.mipLevels + - api.XRCompositionLayer.needsRedraw + - api.XRCubeLayer + - api.XRCubeLayer.orientation + - api.XRCubeLayer.redraw_event + - api.XRCubeLayer.space + - api.XRCylinderLayer + - api.XRCylinderLayer.aspectRatio + - api.XRCylinderLayer.centralAngle + - api.XRCylinderLayer.radius + - api.XRCylinderLayer.redraw_event + - api.XRCylinderLayer.space + - api.XRCylinderLayer.transform + - api.XREquirectLayer + - api.XREquirectLayer.centralHorizontalAngle + - api.XREquirectLayer.lowerVerticalAngle + - api.XREquirectLayer.radius + - api.XREquirectLayer.redraw_event + - api.XREquirectLayer.space + - api.XREquirectLayer.transform + - api.XREquirectLayer.upperVerticalAngle + - api.XRLayerEvent + - api.XRLayerEvent.XRLayerEvent + - api.XRLayerEvent.layer + - api.XRMediaBinding + - api.XRMediaBinding.XRMediaBinding + - api.XRMediaBinding.createCylinderLayer + - api.XRMediaBinding.createEquirectLayer + - api.XRMediaBinding.createQuadLayer + - api.XRProjectionLayer + - api.XRProjectionLayer.fixedFoveation + - api.XRProjectionLayer.ignoreDepthValues + - api.XRProjectionLayer.textureArrayLength + - api.XRProjectionLayer.textureHeight + - api.XRProjectionLayer.textureWidth + - api.XRQuadLayer + - api.XRQuadLayer.height + - api.XRQuadLayer.redraw_event + - api.XRQuadLayer.space + - api.XRQuadLayer.transform + - api.XRQuadLayer.width + - api.XRRenderState.layers + - api.XRSubImage + - api.XRSubImage.viewport + - api.XRWebGLBinding + - api.XRWebGLBinding.XRWebGLBinding + - api.XRWebGLBinding.createCubeLayer + - api.XRWebGLBinding.createCylinderLayer + - api.XRWebGLBinding.createEquirectLayer + - api.XRWebGLBinding.createProjectionLayer + - api.XRWebGLBinding.createQuadLayer + - api.XRWebGLBinding.getSubImage + - api.XRWebGLBinding.getViewSubImage + - api.XRWebGLBinding.nativeProjectionScaleFactor + - api.XRWebGLSubImage + - api.XRWebGLSubImage.colorTexture + - api.XRWebGLSubImage.colorTextureHeight + - api.XRWebGLSubImage.colorTextureWidth + - api.XRWebGLSubImage.depthStencilTexture + - api.XRWebGLSubImage.imageIndex diff --git a/features/webxr-layers.yml.dist b/features/webxr-layers.yml.dist new file mode 100644 index 00000000000..04ccb4acde8 --- /dev/null +++ b/features/webxr-layers.yml.dist @@ -0,0 +1,80 @@ +# Generated from: webxr-layers.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: {} +compat_features: + # baseline: false + # support: + # chrome: "89" + # chrome_android: "89" + # edge: "89" + - api.XRWebGLBinding + - api.XRWebGLBinding.XRWebGLBinding + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: {} + - api.XRCompositionLayer + - api.XRCompositionLayer.blendTextureSourceAlpha + - api.XRCompositionLayer.destroy + - api.XRCompositionLayer.layout + - api.XRCompositionLayer.mipLevels + - api.XRCompositionLayer.needsRedraw + - api.XRCubeLayer + - api.XRCubeLayer.orientation + - api.XRCubeLayer.redraw_event + - api.XRCubeLayer.space + - api.XRCylinderLayer + - api.XRCylinderLayer.aspectRatio + - api.XRCylinderLayer.centralAngle + - api.XRCylinderLayer.radius + - api.XRCylinderLayer.redraw_event + - api.XRCylinderLayer.space + - api.XRCylinderLayer.transform + - api.XREquirectLayer + - api.XREquirectLayer.centralHorizontalAngle + - api.XREquirectLayer.lowerVerticalAngle + - api.XREquirectLayer.radius + - api.XREquirectLayer.redraw_event + - api.XREquirectLayer.space + - api.XREquirectLayer.transform + - api.XREquirectLayer.upperVerticalAngle + - api.XRLayerEvent + - api.XRLayerEvent.XRLayerEvent + - api.XRLayerEvent.layer + - api.XRMediaBinding + - api.XRMediaBinding.XRMediaBinding + - api.XRMediaBinding.createCylinderLayer + - api.XRMediaBinding.createEquirectLayer + - api.XRMediaBinding.createQuadLayer + - api.XRProjectionLayer + - api.XRProjectionLayer.fixedFoveation + - api.XRProjectionLayer.ignoreDepthValues + - api.XRProjectionLayer.textureArrayLength + - api.XRProjectionLayer.textureHeight + - api.XRProjectionLayer.textureWidth + - api.XRQuadLayer + - api.XRQuadLayer.height + - api.XRQuadLayer.redraw_event + - api.XRQuadLayer.space + - api.XRQuadLayer.transform + - api.XRQuadLayer.width + - api.XRRenderState.layers + - api.XRSubImage + - api.XRSubImage.viewport + - api.XRWebGLBinding.createCubeLayer + - api.XRWebGLBinding.createCylinderLayer + - api.XRWebGLBinding.createEquirectLayer + - api.XRWebGLBinding.createProjectionLayer + - api.XRWebGLBinding.createQuadLayer + - api.XRWebGLBinding.getSubImage + - api.XRWebGLBinding.getViewSubImage + - api.XRWebGLBinding.nativeProjectionScaleFactor + - api.XRWebGLSubImage + - api.XRWebGLSubImage.colorTexture + - api.XRWebGLSubImage.colorTextureHeight + - api.XRWebGLSubImage.colorTextureWidth + - api.XRWebGLSubImage.depthStencilTexture + - api.XRWebGLSubImage.imageIndex diff --git a/features/webxr-lighting-estimation.yml b/features/webxr-lighting-estimation.yml new file mode 100644 index 00000000000..7848a60c8aa --- /dev/null +++ b/features/webxr-lighting-estimation.yml @@ -0,0 +1,16 @@ +name: Lighting estimation +description: The `XRLightProbe` and `XRLightEstimate` objects represent real-world environmental lighting conditions during a WebXR session. +spec: https://immersive-web.github.io/lighting-estimation/ +group: webxr +compat_features: + - api.XRLightProbe + - api.XRLightProbe.probeSpace + - api.XRLightProbe.reflectionchange_event + - api.XRLightEstimate + - api.XRLightEstimate.primaryLightDirection + - api.XRLightEstimate.primaryLightIntensity + - api.XRLightEstimate.sphericalHarmonicsCoefficients + - api.XRFrame.getLightEstimate + - api.XRSession.preferredReflectionFormat + - api.XRSession.requestLightProbe + - api.XRWebGLBinding.getReflectionCubeMap diff --git a/features/webxr-lighting-estimation.yml.dist b/features/webxr-lighting-estimation.yml.dist new file mode 100644 index 00000000000..8105fefe78a --- /dev/null +++ b/features/webxr-lighting-estimation.yml.dist @@ -0,0 +1,21 @@ +# Generated from: webxr-lighting-estimation.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "90" + chrome_android: "90" + edge: "90" +compat_features: + - api.XRFrame.getLightEstimate + - api.XRLightEstimate + - api.XRLightEstimate.primaryLightDirection + - api.XRLightEstimate.primaryLightIntensity + - api.XRLightEstimate.sphericalHarmonicsCoefficients + - api.XRLightProbe + - api.XRLightProbe.probeSpace + - api.XRLightProbe.reflectionchange_event + - api.XRSession.preferredReflectionFormat + - api.XRSession.requestLightProbe + - api.XRWebGLBinding.getReflectionCubeMap diff --git a/groups/webxr.yml b/groups/webxr.yml new file mode 100644 index 00000000000..5808e0ebba3 --- /dev/null +++ b/groups/webxr.yml @@ -0,0 +1 @@ +name: WebXR