From 6789dc63e1fb35a51036e37d13f566f4b6b283c1 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Sun, 8 Sep 2024 04:08:47 -0700 Subject: [PATCH 01/22] Add WebXR --- features/webxr.yml | 255 +++++++++++++++++++++++++++++++ features/webxr.yml.dist | 322 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 577 insertions(+) create mode 100644 features/webxr.yml create mode 100644 features/webxr.yml.dist diff --git a/features/webxr.yml b/features/webxr.yml new file mode 100644 index 00000000000..27efd0b01cc --- /dev/null +++ b/features/webxr.yml @@ -0,0 +1,255 @@ +name: WebXR +description: The WebXR API is a toolkit for building web-based virtual reality and augmented reality experiences. +spec: https://immersive-web.github.io/webxr/ +status: + compute_from: api.XRSession +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.XRBoundedReferenceSpace + - api.XRBoundedReferenceSpace.boundsGeometry + - api.XRCPUDepthInformation + - api.XRCPUDepthInformation.data + - api.XRCPUDepthInformation.getDepthInMeters + - api.XRCamera + - api.XRCamera.height + - api.XRCamera.width + - 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.XRDepthInformation + - api.XRDepthInformation.height + - api.XRDepthInformation.normDepthBufferFromNormView + - api.XRDepthInformation.rawValueToMeters + - api.XRDepthInformation.width + - 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.XRFrame + - api.XRFrame.createAnchor + - api.XRFrame.fillJointRadii + - api.XRFrame.fillPoses + - api.XRFrame.getDepthInformation + - api.XRFrame.getHitTestResults + - api.XRFrame.getHitTestResultsForTransientInput + - api.XRFrame.getJointPose + - api.XRFrame.getLightEstimate + - api.XRFrame.getPose + - api.XRFrame.getViewerPose + - api.XRFrame.session + - api.XRFrame.trackedAnchors + - api.XRHand + - api.XRHand.entries + - api.XRHand.forEach + - api.XRHand.get + - api.XRHand.keys + - api.XRHand.size + - api.XRHand.values + - api.XRHand.@@iterator + - api.XRHitTestResult + - api.XRHitTestResult.createAnchor + - api.XRHitTestResult.getPose + - api.XRHitTestSource + - api.XRHitTestSource.cancel + - api.XRInputSource + - api.XRInputSource.gamepad + - api.XRInputSource.gripSpace + - api.XRInputSource.hand + - 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.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.XRJointPose + - api.XRJointPose.radius + - api.XRJointSpace + - api.XRJointSpace.jointName + - api.XRLayer + - api.XRLayerEvent + - api.XRLayerEvent.XRLayerEvent + - api.XRLayerEvent.layer + - api.XRLightEstimate + - api.XRLightEstimate.primaryLightDirection + - api.XRLightEstimate.primaryLightIntensity + - api.XRLightEstimate.sphericalHarmonicsCoefficients + - api.XRLightProbe + - api.XRLightProbe.probeSpace + - api.XRLightProbe.reflectionchange_event + - api.XRMediaBinding + - api.XRMediaBinding.XRMediaBinding + - api.XRMediaBinding.createCylinderLayer + - api.XRMediaBinding.createEquirectLayer + - api.XRMediaBinding.createQuadLayer + - api.XRPose + - api.XRPose.angularVelocity + - api.XRPose.emulatedPosition + - api.XRPose.linearVelocity + - api.XRPose.transform + - 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.XRRay + - api.XRRay.XRRay + - api.XRRay.direction + - api.XRRay.matrix + - api.XRRay.origin + - 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.XRRenderState.layers + - api.XRRigidTransform + - api.XRRigidTransform.XRRigidTransform + - api.XRRigidTransform.inverse + - api.XRRigidTransform.matrix + - api.XRRigidTransform.orientation + - api.XRRigidTransform.position + - api.XRSession + - api.XRSession.cancelAnimationFrame + - api.XRSession.depthDataFormat + - api.XRSession.depthUsage + - api.XRSession.domOverlayState + - api.XRSession.enabledFeatures + - api.XRSession.end + - api.XRSession.end_event + - api.XRSession.environmentBlendMode + - api.XRSession.inputSources + - api.XRSession.inputsourceschange_event + - api.XRSession.interactionMode + - api.XRSession.preferredReflectionFormat + - api.XRSession.renderState + - api.XRSession.requestAnimationFrame + - api.XRSession.requestHitTestSource + - api.XRSession.requestHitTestSourceForTransientInput + - api.XRSession.requestLightProbe + - 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.XRSessionEvent + - api.XRSessionEvent.XRSessionEvent + - api.XRSessionEvent.session + - api.XRSpace + - api.XRSubImage + - api.XRSubImage.viewport + - api.XRSystem + - api.XRSystem.devicechange_event + - api.XRSystem.isSessionSupported + - api.XRSystem.requestSession + - api.XRTransientInputHitTestResult + - api.XRTransientInputHitTestResult.inputSource + - api.XRTransientInputHitTestResult.results + - api.XRTransientInputHitTestSource + - api.XRTransientInputHitTestSource.cancel + - api.XRView + - api.XRView.camera + - api.XRView.eye + - api.XRView.isFirstPersonObserver + - api.XRView.projectionMatrix + - api.XRView.recommendedViewportScale + - api.XRView.requestViewportScale + - api.XRView.transform + - api.XRViewerPose + - api.XRViewerPose.views + - api.XRViewport + - api.XRViewport.height + - api.XRViewport.width + - api.XRViewport.x + - api.XRViewport.y + - api.XRWebGLBinding + - api.XRWebGLBinding.XRWebGLBinding + - api.XRWebGLBinding.createCubeLayer + - api.XRWebGLBinding.createCylinderLayer + - api.XRWebGLBinding.createEquirectLayer + - api.XRWebGLBinding.createProjectionLayer + - api.XRWebGLBinding.createQuadLayer + - api.XRWebGLBinding.getCameraImage + - api.XRWebGLBinding.getDepthInformation + - api.XRWebGLBinding.getReflectionCubeMap + - api.XRWebGLBinding.getSubImage + - api.XRWebGLBinding.getViewSubImage + - api.XRWebGLBinding.nativeProjectionScaleFactor + - api.XRWebGLDepthInformation + - api.XRWebGLDepthInformation.texture + - 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.XRWebGLSubImage + - api.XRWebGLSubImage.colorTexture + - api.XRWebGLSubImage.colorTextureHeight + - api.XRWebGLSubImage.colorTextureWidth + - api.XRWebGLSubImage.depthStencilTexture + - api.XRWebGLSubImage.imageIndex diff --git a/features/webxr.yml.dist b/features/webxr.yml.dist new file mode 100644 index 00000000000..3bd27560604 --- /dev/null +++ b/features/webxr.yml.dist @@ -0,0 +1,322 @@ +# Generated from: webxr.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.XRBoundedReferenceSpace + - api.XRBoundedReferenceSpace.boundsGeometry + - api.XRFrame + - api.XRFrame.getPose + - api.XRFrame.getViewerPose + - api.XRFrame.session + - api.XRInputSource + - api.XRInputSource.gamepad + - 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: "81" + # chrome_android: "81" + # edge: "81" + - 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.environmentBlendMode + - api.XRSession.requestHitTestSource + - api.XRSession.requestHitTestSourceForTransientInput + - api.XRTransientInputHitTestResult + - api.XRTransientInputHitTestResult.inputSource + - api.XRTransientInputHitTestResult.results + - api.XRTransientInputHitTestSource + - api.XRTransientInputHitTestSource.cancel + + # baseline: false + # support: + # chrome: "83" + # chrome_android: "83" + # edge: "83" + - api.XRSession.domOverlayState + - api.XRSession.squeeze_event + - api.XRSession.squeezeend_event + - api.XRSession.squeezestart_event + + # baseline: false + # support: + # chrome: "84" + # chrome_android: "84" + # edge: "84" + - api.XRLayer + - api.XRSession.interactionMode + + # baseline: false + # support: + # chrome: "85" + # chrome_android: "85" + # edge: "85" + - 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 + + # baseline: false + # support: + # chrome: "86" + # chrome_android: "86" + # edge: "86" + - api.XRView.isFirstPersonObserver + + # baseline: false + # support: + # chrome: "89" + # chrome_android: "89" + # edge: "89" + - api.XRWebGLBinding + - api.XRWebGLBinding.XRWebGLBinding + + # baseline: false + # support: + # chrome: "90" + # chrome_android: "90" + # edge: "90" + - 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.XRFrame.getLightEstimate + - api.XRLightEstimate + - api.XRLightEstimate.primaryLightDirection + - api.XRLightEstimate.primaryLightIntensity + - api.XRLightEstimate.sphericalHarmonicsCoefficients + - api.XRLightProbe + - api.XRLightProbe.probeSpace + - api.XRLightProbe.reflectionchange_event + - api.XRSession.depthDataFormat + - api.XRSession.depthUsage + - api.XRSession.preferredReflectionFormat + - api.XRSession.requestLightProbe + - api.XRView.recommendedViewportScale + - api.XRView.requestViewportScale + - api.XRWebGLBinding.getDepthInformation + - api.XRWebGLBinding.getReflectionCubeMap + - api.XRWebGLDepthInformation + - api.XRWebGLDepthInformation.texture + + # baseline: false + # support: + # chrome: "107" + # chrome_android: "107" + # edge: "107" + - api.XRCamera + - api.XRCamera.height + - api.XRCamera.width + - api.XRView.camera + - api.XRWebGLBinding.getCameraImage + + # baseline: false + # support: + # chrome: "111" + # chrome_android: "111" + # edge: "111" + - api.XRSession.enabledFeatures + + # 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.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 + - api.XRLayerEvent + - api.XRLayerEvent.XRLayerEvent + - api.XRLayerEvent.layer + - api.XRMediaBinding + - api.XRMediaBinding.XRMediaBinding + - api.XRMediaBinding.createCylinderLayer + - api.XRMediaBinding.createEquirectLayer + - api.XRMediaBinding.createQuadLayer + - api.XRPose.angularVelocity + - api.XRPose.linearVelocity + - 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.XRWebGLLayer.fixedFoveation + - api.XRWebGLSubImage + - api.XRWebGLSubImage.colorTexture + - api.XRWebGLSubImage.colorTextureHeight + - api.XRWebGLSubImage.colorTextureWidth + - api.XRWebGLSubImage.depthStencilTexture + - api.XRWebGLSubImage.imageIndex From 8aa9bd47925dca3ccffbe7cff001eaa267648678 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Tue, 10 Sep 2024 23:44:50 -0700 Subject: [PATCH 02/22] Separate WebXR into modules --- features/webxr-anchors.yml | 19 ++ features/webxr-anchors.yml.dist | 24 ++ features/webxr-ar.yml | 10 + features/webxr-ar.yml.dist | 31 +++ features/webxr-camera.yaml | 12 + features/webxr-depth-sensing.yaml | 21 ++ features/webxr-device.yml | 110 ++++++++ features/webxr-device.yml.dist | 146 +++++++++++ features/webxr-dom-overlays.yaml | 8 + features/webxr-gamepads.yaml | 8 + features/webxr-hand-input.yaml | 23 ++ features/webxr-hit-test.yaml | 25 ++ features/webxr-layers.yaml | 89 +++++++ features/webxr-lighting-estimation.yaml | 18 ++ features/webxr.yml | 255 ------------------- features/webxr.yml.dist | 322 ------------------------ groups/webxr.yml | 1 + 17 files changed, 545 insertions(+), 577 deletions(-) create mode 100644 features/webxr-anchors.yml create mode 100644 features/webxr-anchors.yml.dist create mode 100644 features/webxr-ar.yml create mode 100644 features/webxr-ar.yml.dist create mode 100644 features/webxr-camera.yaml create mode 100644 features/webxr-depth-sensing.yaml create mode 100644 features/webxr-device.yml create mode 100644 features/webxr-device.yml.dist create mode 100644 features/webxr-dom-overlays.yaml create mode 100644 features/webxr-gamepads.yaml create mode 100644 features/webxr-hand-input.yaml create mode 100644 features/webxr-hit-test.yaml create mode 100644 features/webxr-layers.yaml create mode 100644 features/webxr-lighting-estimation.yaml delete mode 100644 features/webxr.yml delete mode 100644 features/webxr.yml.dist create mode 100644 groups/webxr.yml diff --git a/features/webxr-anchors.yml b/features/webxr-anchors.yml new file mode 100644 index 00000000000..9c5ec99b0ec --- /dev/null +++ b/features/webxr-anchors.yml @@ -0,0 +1,19 @@ +name: WebXR Anchors Module +description: To be written... +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..7c2be465d1b --- /dev/null +++ b/features/webxr-ar.yml @@ -0,0 +1,10 @@ +name: WebXR Augmented Reality Module +description: To be written... +spec: https://immersive-web.github.io/webxr-ar-module/ +group: webxr +status: + compute_from: api.XRSession.environmentBlendMode +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..f95d20b129b --- /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: "81" + chrome_android: "81" + edge: "81" +compat_features: + # ⬇️ Same status as overall feature ⬇️ + # 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 + + # baseline: false + # support: + # chrome: "86" + # chrome_android: "86" + # edge: "86" + - api.XRView.isFirstPersonObserver diff --git a/features/webxr-camera.yaml b/features/webxr-camera.yaml new file mode 100644 index 00000000000..488aadb75a7 --- /dev/null +++ b/features/webxr-camera.yaml @@ -0,0 +1,12 @@ +name: WebXR Raw Camera Access Module +description: To be written... +spec: https://immersive-web.github.io/raw-camera-access/ +group: webxr +status: + compute_from: api.XRCamera +compat_features: + - api.XRCamera + - api.XRCamera.width + - api.XRCamera.height + - api.XRView.camera + - api.XRWebGLBinding.getCameraImage diff --git a/features/webxr-depth-sensing.yaml b/features/webxr-depth-sensing.yaml new file mode 100644 index 00000000000..e003461cd00 --- /dev/null +++ b/features/webxr-depth-sensing.yaml @@ -0,0 +1,21 @@ +name: WebXR Depth Sensing Module +description: To be written... +spec: https://immersive-web.github.io/depth-sensing/ +group: webxr +status: + compute_from: api.XRSession.depthUsage +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-device.yml b/features/webxr-device.yml new file mode 100644 index 00000000000..e12a005a39b --- /dev/null +++ b/features/webxr-device.yml @@ -0,0 +1,110 @@ +name: WebXR Device API +description: The WebXR API is a toolkit for building web-based virtual reality and augmented reality experiences. +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.yaml b/features/webxr-dom-overlays.yaml new file mode 100644 index 00000000000..b345f059cba --- /dev/null +++ b/features/webxr-dom-overlays.yaml @@ -0,0 +1,8 @@ +name: WebXR DOM Overlays Module +description: To be written... +spec: https://immersive-web.github.io/dom-overlays/ +group: webxr +status: + compute_from: api.XRSession.domOverlayState +compat_features: + - api.XRSession.domOverlayState diff --git a/features/webxr-gamepads.yaml b/features/webxr-gamepads.yaml new file mode 100644 index 00000000000..02344930e0d --- /dev/null +++ b/features/webxr-gamepads.yaml @@ -0,0 +1,8 @@ +name: WebXR Gamepads Module +description: To be written... +spec: https://immersive-web.github.io/webxr-gamepads-module/ +group: webxr +status: + compute_from: api.XRInputSource.gamepad +compat_features: + - api.XRInputSource.gamepad diff --git a/features/webxr-hand-input.yaml b/features/webxr-hand-input.yaml new file mode 100644 index 00000000000..18b2619e845 --- /dev/null +++ b/features/webxr-hand-input.yaml @@ -0,0 +1,23 @@ +name: WebXR Hand Input Module +description: To be written... +spec: https://immersive-web.github.io/webxr-hand-input/ +group: webxr +status: + compute_from: api.XRHand +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-hit-test.yaml b/features/webxr-hit-test.yaml new file mode 100644 index 00000000000..594929acff8 --- /dev/null +++ b/features/webxr-hit-test.yaml @@ -0,0 +1,25 @@ +name: WebXR Hit Test Module +description: To be written... +spec: https://immersive-web.github.io/webxr-hit-test/ +group: webxr +status: + compute_from: api.XRHitTestSource +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-layers.yaml b/features/webxr-layers.yaml new file mode 100644 index 00000000000..0730b40a5ce --- /dev/null +++ b/features/webxr-layers.yaml @@ -0,0 +1,89 @@ +name: WebXR Layers Module +description: To be written... +spec: https://immersive-web.github.io/layers/ +group: webxr +status: + compute_from: api.XRCompositionLayer +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 + - 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-lighting-estimation.yaml b/features/webxr-lighting-estimation.yaml new file mode 100644 index 00000000000..6a8de068ef2 --- /dev/null +++ b/features/webxr-lighting-estimation.yaml @@ -0,0 +1,18 @@ +name: WebXR Lighting Estimation Module +description: To be written... +spec: https://immersive-web.github.io/lighting-estimation/ +group: webxr +status: + compute_from: api.XRLightEstimate +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.yml b/features/webxr.yml deleted file mode 100644 index 27efd0b01cc..00000000000 --- a/features/webxr.yml +++ /dev/null @@ -1,255 +0,0 @@ -name: WebXR -description: The WebXR API is a toolkit for building web-based virtual reality and augmented reality experiences. -spec: https://immersive-web.github.io/webxr/ -status: - compute_from: api.XRSession -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.XRBoundedReferenceSpace - - api.XRBoundedReferenceSpace.boundsGeometry - - api.XRCPUDepthInformation - - api.XRCPUDepthInformation.data - - api.XRCPUDepthInformation.getDepthInMeters - - api.XRCamera - - api.XRCamera.height - - api.XRCamera.width - - 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.XRDepthInformation - - api.XRDepthInformation.height - - api.XRDepthInformation.normDepthBufferFromNormView - - api.XRDepthInformation.rawValueToMeters - - api.XRDepthInformation.width - - 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.XRFrame - - api.XRFrame.createAnchor - - api.XRFrame.fillJointRadii - - api.XRFrame.fillPoses - - api.XRFrame.getDepthInformation - - api.XRFrame.getHitTestResults - - api.XRFrame.getHitTestResultsForTransientInput - - api.XRFrame.getJointPose - - api.XRFrame.getLightEstimate - - api.XRFrame.getPose - - api.XRFrame.getViewerPose - - api.XRFrame.session - - api.XRFrame.trackedAnchors - - api.XRHand - - api.XRHand.entries - - api.XRHand.forEach - - api.XRHand.get - - api.XRHand.keys - - api.XRHand.size - - api.XRHand.values - - api.XRHand.@@iterator - - api.XRHitTestResult - - api.XRHitTestResult.createAnchor - - api.XRHitTestResult.getPose - - api.XRHitTestSource - - api.XRHitTestSource.cancel - - api.XRInputSource - - api.XRInputSource.gamepad - - api.XRInputSource.gripSpace - - api.XRInputSource.hand - - 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.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.XRJointPose - - api.XRJointPose.radius - - api.XRJointSpace - - api.XRJointSpace.jointName - - api.XRLayer - - api.XRLayerEvent - - api.XRLayerEvent.XRLayerEvent - - api.XRLayerEvent.layer - - api.XRLightEstimate - - api.XRLightEstimate.primaryLightDirection - - api.XRLightEstimate.primaryLightIntensity - - api.XRLightEstimate.sphericalHarmonicsCoefficients - - api.XRLightProbe - - api.XRLightProbe.probeSpace - - api.XRLightProbe.reflectionchange_event - - api.XRMediaBinding - - api.XRMediaBinding.XRMediaBinding - - api.XRMediaBinding.createCylinderLayer - - api.XRMediaBinding.createEquirectLayer - - api.XRMediaBinding.createQuadLayer - - api.XRPose - - api.XRPose.angularVelocity - - api.XRPose.emulatedPosition - - api.XRPose.linearVelocity - - api.XRPose.transform - - 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.XRRay - - api.XRRay.XRRay - - api.XRRay.direction - - api.XRRay.matrix - - api.XRRay.origin - - 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.XRRenderState.layers - - api.XRRigidTransform - - api.XRRigidTransform.XRRigidTransform - - api.XRRigidTransform.inverse - - api.XRRigidTransform.matrix - - api.XRRigidTransform.orientation - - api.XRRigidTransform.position - - api.XRSession - - api.XRSession.cancelAnimationFrame - - api.XRSession.depthDataFormat - - api.XRSession.depthUsage - - api.XRSession.domOverlayState - - api.XRSession.enabledFeatures - - api.XRSession.end - - api.XRSession.end_event - - api.XRSession.environmentBlendMode - - api.XRSession.inputSources - - api.XRSession.inputsourceschange_event - - api.XRSession.interactionMode - - api.XRSession.preferredReflectionFormat - - api.XRSession.renderState - - api.XRSession.requestAnimationFrame - - api.XRSession.requestHitTestSource - - api.XRSession.requestHitTestSourceForTransientInput - - api.XRSession.requestLightProbe - - 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.XRSessionEvent - - api.XRSessionEvent.XRSessionEvent - - api.XRSessionEvent.session - - api.XRSpace - - api.XRSubImage - - api.XRSubImage.viewport - - api.XRSystem - - api.XRSystem.devicechange_event - - api.XRSystem.isSessionSupported - - api.XRSystem.requestSession - - api.XRTransientInputHitTestResult - - api.XRTransientInputHitTestResult.inputSource - - api.XRTransientInputHitTestResult.results - - api.XRTransientInputHitTestSource - - api.XRTransientInputHitTestSource.cancel - - api.XRView - - api.XRView.camera - - api.XRView.eye - - api.XRView.isFirstPersonObserver - - api.XRView.projectionMatrix - - api.XRView.recommendedViewportScale - - api.XRView.requestViewportScale - - api.XRView.transform - - api.XRViewerPose - - api.XRViewerPose.views - - api.XRViewport - - api.XRViewport.height - - api.XRViewport.width - - api.XRViewport.x - - api.XRViewport.y - - api.XRWebGLBinding - - api.XRWebGLBinding.XRWebGLBinding - - api.XRWebGLBinding.createCubeLayer - - api.XRWebGLBinding.createCylinderLayer - - api.XRWebGLBinding.createEquirectLayer - - api.XRWebGLBinding.createProjectionLayer - - api.XRWebGLBinding.createQuadLayer - - api.XRWebGLBinding.getCameraImage - - api.XRWebGLBinding.getDepthInformation - - api.XRWebGLBinding.getReflectionCubeMap - - api.XRWebGLBinding.getSubImage - - api.XRWebGLBinding.getViewSubImage - - api.XRWebGLBinding.nativeProjectionScaleFactor - - api.XRWebGLDepthInformation - - api.XRWebGLDepthInformation.texture - - 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.XRWebGLSubImage - - api.XRWebGLSubImage.colorTexture - - api.XRWebGLSubImage.colorTextureHeight - - api.XRWebGLSubImage.colorTextureWidth - - api.XRWebGLSubImage.depthStencilTexture - - api.XRWebGLSubImage.imageIndex diff --git a/features/webxr.yml.dist b/features/webxr.yml.dist deleted file mode 100644 index 3bd27560604..00000000000 --- a/features/webxr.yml.dist +++ /dev/null @@ -1,322 +0,0 @@ -# Generated from: webxr.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.XRBoundedReferenceSpace - - api.XRBoundedReferenceSpace.boundsGeometry - - api.XRFrame - - api.XRFrame.getPose - - api.XRFrame.getViewerPose - - api.XRFrame.session - - api.XRInputSource - - api.XRInputSource.gamepad - - 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: "81" - # chrome_android: "81" - # edge: "81" - - 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.environmentBlendMode - - api.XRSession.requestHitTestSource - - api.XRSession.requestHitTestSourceForTransientInput - - api.XRTransientInputHitTestResult - - api.XRTransientInputHitTestResult.inputSource - - api.XRTransientInputHitTestResult.results - - api.XRTransientInputHitTestSource - - api.XRTransientInputHitTestSource.cancel - - # baseline: false - # support: - # chrome: "83" - # chrome_android: "83" - # edge: "83" - - api.XRSession.domOverlayState - - api.XRSession.squeeze_event - - api.XRSession.squeezeend_event - - api.XRSession.squeezestart_event - - # baseline: false - # support: - # chrome: "84" - # chrome_android: "84" - # edge: "84" - - api.XRLayer - - api.XRSession.interactionMode - - # baseline: false - # support: - # chrome: "85" - # chrome_android: "85" - # edge: "85" - - 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 - - # baseline: false - # support: - # chrome: "86" - # chrome_android: "86" - # edge: "86" - - api.XRView.isFirstPersonObserver - - # baseline: false - # support: - # chrome: "89" - # chrome_android: "89" - # edge: "89" - - api.XRWebGLBinding - - api.XRWebGLBinding.XRWebGLBinding - - # baseline: false - # support: - # chrome: "90" - # chrome_android: "90" - # edge: "90" - - 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.XRFrame.getLightEstimate - - api.XRLightEstimate - - api.XRLightEstimate.primaryLightDirection - - api.XRLightEstimate.primaryLightIntensity - - api.XRLightEstimate.sphericalHarmonicsCoefficients - - api.XRLightProbe - - api.XRLightProbe.probeSpace - - api.XRLightProbe.reflectionchange_event - - api.XRSession.depthDataFormat - - api.XRSession.depthUsage - - api.XRSession.preferredReflectionFormat - - api.XRSession.requestLightProbe - - api.XRView.recommendedViewportScale - - api.XRView.requestViewportScale - - api.XRWebGLBinding.getDepthInformation - - api.XRWebGLBinding.getReflectionCubeMap - - api.XRWebGLDepthInformation - - api.XRWebGLDepthInformation.texture - - # baseline: false - # support: - # chrome: "107" - # chrome_android: "107" - # edge: "107" - - api.XRCamera - - api.XRCamera.height - - api.XRCamera.width - - api.XRView.camera - - api.XRWebGLBinding.getCameraImage - - # baseline: false - # support: - # chrome: "111" - # chrome_android: "111" - # edge: "111" - - api.XRSession.enabledFeatures - - # 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.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 - - api.XRLayerEvent - - api.XRLayerEvent.XRLayerEvent - - api.XRLayerEvent.layer - - api.XRMediaBinding - - api.XRMediaBinding.XRMediaBinding - - api.XRMediaBinding.createCylinderLayer - - api.XRMediaBinding.createEquirectLayer - - api.XRMediaBinding.createQuadLayer - - api.XRPose.angularVelocity - - api.XRPose.linearVelocity - - 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.XRWebGLLayer.fixedFoveation - - api.XRWebGLSubImage - - api.XRWebGLSubImage.colorTexture - - api.XRWebGLSubImage.colorTextureHeight - - api.XRWebGLSubImage.colorTextureWidth - - api.XRWebGLSubImage.depthStencilTexture - - api.XRWebGLSubImage.imageIndex 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 From 6f0c90cdd51983cac077cf6ccf9e516710df016f Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Wed, 11 Sep 2024 03:21:31 -0700 Subject: [PATCH 03/22] Apply suggestions from code review Co-authored-by: Florian Scholz --- features/webxr-anchors.yml | 4 ++-- features/webxr-ar.yml | 4 ++-- features/webxr-camera.yaml | 4 ++-- features/webxr-depth-sensing.yaml | 4 ++-- features/webxr-dom-overlays.yaml | 4 ++-- features/webxr-gamepads.yaml | 4 ++-- features/webxr-hand-input.yaml | 4 ++-- features/webxr-hit-test.yaml | 2 +- features/webxr-layers.yaml | 2 +- features/webxr-lighting-estimation.yaml | 2 +- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/features/webxr-anchors.yml b/features/webxr-anchors.yml index 9c5ec99b0ec..420ff7fd2fc 100644 --- a/features/webxr-anchors.yml +++ b/features/webxr-anchors.yml @@ -1,5 +1,5 @@ -name: WebXR Anchors Module -description: To be written... +name: WebXR Anchors +description: WebXR Anchors keep 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: diff --git a/features/webxr-ar.yml b/features/webxr-ar.yml index 7c2be465d1b..f73f21a55fc 100644 --- a/features/webxr-ar.yml +++ b/features/webxr-ar.yml @@ -1,5 +1,5 @@ -name: WebXR Augmented Reality Module -description: To be written... +name: WebXR Augmented Reality (AR) +description: WebXR Augmented Reality (AR) allows `immersive-ar` WebXR sessions which allow the users environment to be visible and aligned with the rendered content. spec: https://immersive-web.github.io/webxr-ar-module/ group: webxr status: diff --git a/features/webxr-camera.yaml b/features/webxr-camera.yaml index 488aadb75a7..57b06a0a23e 100644 --- a/features/webxr-camera.yaml +++ b/features/webxr-camera.yaml @@ -1,5 +1,5 @@ -name: WebXR Raw Camera Access Module -description: To be written... +name: WebXR Raw Camera Access +description: Direct access to the camera allowing pose-synchronized camera images within a WebXR session. spec: https://immersive-web.github.io/raw-camera-access/ group: webxr status: diff --git a/features/webxr-depth-sensing.yaml b/features/webxr-depth-sensing.yaml index e003461cd00..8f0bbc5ba4b 100644 --- a/features/webxr-depth-sensing.yaml +++ b/features/webxr-depth-sensing.yaml @@ -1,5 +1,5 @@ -name: WebXR Depth Sensing Module -description: To be written... +name: WebXR Depth Sensing +description: WebXR Depth Sensing provides information about 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 status: diff --git a/features/webxr-dom-overlays.yaml b/features/webxr-dom-overlays.yaml index b345f059cba..1f800120d13 100644 --- a/features/webxr-dom-overlays.yaml +++ b/features/webxr-dom-overlays.yaml @@ -1,5 +1,5 @@ -name: WebXR DOM Overlays Module -description: To be written... +name: WebXR DOM Overlays +description: WebXR DOM Overlays allow 2D DOM content to be shown as an interactive transparent layer on top of the application-drawn WebGL content and camera image. spec: https://immersive-web.github.io/dom-overlays/ group: webxr status: diff --git a/features/webxr-gamepads.yaml b/features/webxr-gamepads.yaml index 02344930e0d..d8d569fed95 100644 --- a/features/webxr-gamepads.yaml +++ b/features/webxr-gamepads.yaml @@ -1,5 +1,5 @@ -name: WebXR Gamepads Module -description: To be written... +name: WebXR Gamepads +description: Gamepad API integration with WebXR to communicate the state of various physical inputs (such as buttons, touch pads, and triggers) of an `XRInputSource`. spec: https://immersive-web.github.io/webxr-gamepads-module/ group: webxr status: diff --git a/features/webxr-hand-input.yaml b/features/webxr-hand-input.yaml index 18b2619e845..539c0aa5aa7 100644 --- a/features/webxr-hand-input.yaml +++ b/features/webxr-hand-input.yaml @@ -1,5 +1,5 @@ -name: WebXR Hand Input Module -description: To be written... +name: WebXR Hand Input +description: Exposes a fully-articulated hand model as an `XRInputSource` for hand-tracking use during a WebXR session. spec: https://immersive-web.github.io/webxr-hand-input/ group: webxr status: diff --git a/features/webxr-hit-test.yaml b/features/webxr-hit-test.yaml index 594929acff8..d29a06882f6 100644 --- a/features/webxr-hit-test.yaml +++ b/features/webxr-hit-test.yaml @@ -1,4 +1,4 @@ -name: WebXR Hit Test Module +name: WebXR Hit Test description: To be written... spec: https://immersive-web.github.io/webxr-hit-test/ group: webxr diff --git a/features/webxr-layers.yaml b/features/webxr-layers.yaml index 0730b40a5ce..3973e4f4009 100644 --- a/features/webxr-layers.yaml +++ b/features/webxr-layers.yaml @@ -1,4 +1,4 @@ -name: WebXR Layers Module +name: WebXR Layers description: To be written... spec: https://immersive-web.github.io/layers/ group: webxr diff --git a/features/webxr-lighting-estimation.yaml b/features/webxr-lighting-estimation.yaml index 6a8de068ef2..05883462e14 100644 --- a/features/webxr-lighting-estimation.yaml +++ b/features/webxr-lighting-estimation.yaml @@ -1,4 +1,4 @@ -name: WebXR Lighting Estimation Module +name: WebXR Lighting Estimation description: To be written... spec: https://immersive-web.github.io/lighting-estimation/ group: webxr From 1b3b7e08e0b4ae08a7b205b92d0877cfa7ce0747 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Wed, 11 Sep 2024 03:22:41 -0700 Subject: [PATCH 04/22] .yaml -> .yml --- features/{webxr-camera.yaml => webxr-camera.yml} | 0 features/{webxr-depth-sensing.yaml => webxr-depth-sensing.yml} | 0 features/{webxr-dom-overlays.yaml => webxr-dom-overlays.yml} | 0 features/{webxr-gamepads.yaml => webxr-gamepads.yml} | 0 features/{webxr-hand-input.yaml => webxr-hand-input.yml} | 0 features/{webxr-hit-test.yaml => webxr-hit-test.yml} | 0 features/{webxr-layers.yaml => webxr-layers.yml} | 0 ...bxr-lighting-estimation.yaml => webxr-lighting-estimation.yml} | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename features/{webxr-camera.yaml => webxr-camera.yml} (100%) rename features/{webxr-depth-sensing.yaml => webxr-depth-sensing.yml} (100%) rename features/{webxr-dom-overlays.yaml => webxr-dom-overlays.yml} (100%) rename features/{webxr-gamepads.yaml => webxr-gamepads.yml} (100%) rename features/{webxr-hand-input.yaml => webxr-hand-input.yml} (100%) rename features/{webxr-hit-test.yaml => webxr-hit-test.yml} (100%) rename features/{webxr-layers.yaml => webxr-layers.yml} (100%) rename features/{webxr-lighting-estimation.yaml => webxr-lighting-estimation.yml} (100%) diff --git a/features/webxr-camera.yaml b/features/webxr-camera.yml similarity index 100% rename from features/webxr-camera.yaml rename to features/webxr-camera.yml diff --git a/features/webxr-depth-sensing.yaml b/features/webxr-depth-sensing.yml similarity index 100% rename from features/webxr-depth-sensing.yaml rename to features/webxr-depth-sensing.yml diff --git a/features/webxr-dom-overlays.yaml b/features/webxr-dom-overlays.yml similarity index 100% rename from features/webxr-dom-overlays.yaml rename to features/webxr-dom-overlays.yml diff --git a/features/webxr-gamepads.yaml b/features/webxr-gamepads.yml similarity index 100% rename from features/webxr-gamepads.yaml rename to features/webxr-gamepads.yml diff --git a/features/webxr-hand-input.yaml b/features/webxr-hand-input.yml similarity index 100% rename from features/webxr-hand-input.yaml rename to features/webxr-hand-input.yml diff --git a/features/webxr-hit-test.yaml b/features/webxr-hit-test.yml similarity index 100% rename from features/webxr-hit-test.yaml rename to features/webxr-hit-test.yml diff --git a/features/webxr-layers.yaml b/features/webxr-layers.yml similarity index 100% rename from features/webxr-layers.yaml rename to features/webxr-layers.yml diff --git a/features/webxr-lighting-estimation.yaml b/features/webxr-lighting-estimation.yml similarity index 100% rename from features/webxr-lighting-estimation.yaml rename to features/webxr-lighting-estimation.yml From acaf9465389a73058179c2f01421938add145197 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Wed, 11 Sep 2024 03:23:17 -0700 Subject: [PATCH 05/22] Run dist --- features/webxr-camera.yml.dist | 15 +++ features/webxr-depth-sensing.yml.dist | 24 +++++ features/webxr-dom-overlays.yml.dist | 11 +++ features/webxr-gamepads.yml.dist | 11 +++ features/webxr-hand-input.yml.dist | 23 +++++ features/webxr-hit-test.yml.dist | 28 ++++++ features/webxr-layers.yml.dist | 104 ++++++++++++++++++++ features/webxr-lighting-estimation.yml.dist | 21 ++++ 8 files changed, 237 insertions(+) create mode 100644 features/webxr-camera.yml.dist create mode 100644 features/webxr-depth-sensing.yml.dist create mode 100644 features/webxr-dom-overlays.yml.dist create mode 100644 features/webxr-gamepads.yml.dist create mode 100644 features/webxr-hand-input.yml.dist create mode 100644 features/webxr-hit-test.yml.dist create mode 100644 features/webxr-layers.yml.dist create mode 100644 features/webxr-lighting-estimation.yml.dist 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.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-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.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.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.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.dist b/features/webxr-layers.yml.dist new file mode 100644 index 00000000000..c1f916196c7 --- /dev/null +++ b/features/webxr-layers.yml.dist @@ -0,0 +1,104 @@ +# 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: "81" + # chrome_android: "81" + # edge: "81" + - 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 + + # 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.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 From b5c119d443691ad8b7d12e0e0570d7824e77b25e Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Wed, 11 Sep 2024 03:23:57 -0700 Subject: [PATCH 06/22] Remove redundant status overrides --- features/webxr-camera.yml | 2 -- features/webxr-depth-sensing.yml | 2 -- features/webxr-dom-overlays.yml | 2 -- features/webxr-gamepads.yml | 2 -- features/webxr-hand-input.yml | 2 -- features/webxr-hit-test.yml | 2 -- features/webxr-lighting-estimation.yml | 2 -- 7 files changed, 14 deletions(-) diff --git a/features/webxr-camera.yml b/features/webxr-camera.yml index 57b06a0a23e..7eeeb499bfe 100644 --- a/features/webxr-camera.yml +++ b/features/webxr-camera.yml @@ -2,8 +2,6 @@ name: WebXR Raw Camera Access description: Direct access to the camera allowing pose-synchronized camera images within a WebXR session. spec: https://immersive-web.github.io/raw-camera-access/ group: webxr -status: - compute_from: api.XRCamera compat_features: - api.XRCamera - api.XRCamera.width diff --git a/features/webxr-depth-sensing.yml b/features/webxr-depth-sensing.yml index 8f0bbc5ba4b..8e5e20a9bba 100644 --- a/features/webxr-depth-sensing.yml +++ b/features/webxr-depth-sensing.yml @@ -2,8 +2,6 @@ name: WebXR Depth Sensing description: WebXR Depth Sensing provides information about 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 -status: - compute_from: api.XRSession.depthUsage compat_features: - api.XRSession.depthUsage - api.XRSession.depthDataFormat diff --git a/features/webxr-dom-overlays.yml b/features/webxr-dom-overlays.yml index 1f800120d13..ddaf8b399fd 100644 --- a/features/webxr-dom-overlays.yml +++ b/features/webxr-dom-overlays.yml @@ -2,7 +2,5 @@ name: WebXR DOM Overlays description: WebXR DOM Overlays allow 2D DOM content to be shown as an interactive transparent layer on top of the application-drawn WebGL content and camera image. spec: https://immersive-web.github.io/dom-overlays/ group: webxr -status: - compute_from: api.XRSession.domOverlayState compat_features: - api.XRSession.domOverlayState diff --git a/features/webxr-gamepads.yml b/features/webxr-gamepads.yml index d8d569fed95..66b77d10691 100644 --- a/features/webxr-gamepads.yml +++ b/features/webxr-gamepads.yml @@ -2,7 +2,5 @@ name: WebXR Gamepads description: Gamepad API integration with WebXR to communicate the state of various physical inputs (such as buttons, touch pads, and triggers) of an `XRInputSource`. spec: https://immersive-web.github.io/webxr-gamepads-module/ group: webxr -status: - compute_from: api.XRInputSource.gamepad compat_features: - api.XRInputSource.gamepad diff --git a/features/webxr-hand-input.yml b/features/webxr-hand-input.yml index 539c0aa5aa7..ee4ad7e9d29 100644 --- a/features/webxr-hand-input.yml +++ b/features/webxr-hand-input.yml @@ -2,8 +2,6 @@ name: WebXR Hand Input description: Exposes a fully-articulated hand model as an `XRInputSource` for hand-tracking use during a WebXR session. spec: https://immersive-web.github.io/webxr-hand-input/ group: webxr -status: - compute_from: api.XRHand compat_features: - api.XRInputSource.hand - api.XRHand diff --git a/features/webxr-hit-test.yml b/features/webxr-hit-test.yml index d29a06882f6..bf45060e78c 100644 --- a/features/webxr-hit-test.yml +++ b/features/webxr-hit-test.yml @@ -2,8 +2,6 @@ name: WebXR Hit Test description: To be written... spec: https://immersive-web.github.io/webxr-hit-test/ group: webxr -status: - compute_from: api.XRHitTestSource compat_features: - api.XRHitTestSource - api.XRHitTestSource.cancel diff --git a/features/webxr-lighting-estimation.yml b/features/webxr-lighting-estimation.yml index 05883462e14..e809b793554 100644 --- a/features/webxr-lighting-estimation.yml +++ b/features/webxr-lighting-estimation.yml @@ -2,8 +2,6 @@ name: WebXR Lighting Estimation description: To be written... spec: https://immersive-web.github.io/lighting-estimation/ group: webxr -status: - compute_from: api.XRLightEstimate compat_features: - api.XRLightProbe - api.XRLightProbe.probeSpace From 3dfba16614f6e1019c1e6afc45519fe3d03f1c7e Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Wed, 11 Sep 2024 03:50:40 -0700 Subject: [PATCH 07/22] Apply suggestions from code review Co-authored-by: Florian Scholz --- features/webxr-layers.yml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/features/webxr-layers.yml b/features/webxr-layers.yml index 3973e4f4009..b04ba4e442c 100644 --- a/features/webxr-layers.yml +++ b/features/webxr-layers.yml @@ -5,24 +5,6 @@ group: webxr status: compute_from: api.XRCompositionLayer 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 - api.XRCompositionLayer - api.XRCompositionLayer.blendTextureSourceAlpha - api.XRCompositionLayer.destroy From 3f5374143ea828e5cba55184ecadd254860db308 Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Wed, 11 Sep 2024 04:02:13 -0700 Subject: [PATCH 08/22] Run dist --- features/webxr-layers.yml.dist | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/features/webxr-layers.yml.dist b/features/webxr-layers.yml.dist index c1f916196c7..04ccb4acde8 100644 --- a/features/webxr-layers.yml.dist +++ b/features/webxr-layers.yml.dist @@ -5,30 +5,6 @@ status: baseline: false support: {} compat_features: - # baseline: false - # support: - # chrome: "81" - # chrome_android: "81" - # edge: "81" - - 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 - # baseline: false # support: # chrome: "89" From 90b779c01b803270077089f3edb49ecac21722ff Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Wed, 11 Sep 2024 04:05:38 -0700 Subject: [PATCH 09/22] Update features/webxr-hit-test.yml Co-authored-by: Florian Scholz --- features/webxr-hit-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/webxr-hit-test.yml b/features/webxr-hit-test.yml index bf45060e78c..e43bb0cf403 100644 --- a/features/webxr-hit-test.yml +++ b/features/webxr-hit-test.yml @@ -1,6 +1,6 @@ name: WebXR Hit Test description: To be written... -spec: https://immersive-web.github.io/webxr-hit-test/ +spec: https://immersive-web.github.io/hit-test/ group: webxr compat_features: - api.XRHitTestSource From fdb14559a1199cbd3cb09151f98b6d29830d82df Mon Sep 17 00:00:00 2001 From: "Queen Vinyl Da.i'gyu-Kazotetsu" Date: Wed, 11 Sep 2024 04:31:37 -0700 Subject: [PATCH 10/22] Apply suggestions from code review Co-authored-by: Florian Scholz --- features/webxr-hit-test.yml | 2 +- features/webxr-layers.yml | 2 +- features/webxr-lighting-estimation.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/features/webxr-hit-test.yml b/features/webxr-hit-test.yml index e43bb0cf403..d4eefb79406 100644 --- a/features/webxr-hit-test.yml +++ b/features/webxr-hit-test.yml @@ -1,5 +1,5 @@ name: WebXR Hit Test -description: To be written... +description: WebXR Hit Test allows to place objects in the real world by casting rays that can be evaluated against the underlying platform's understanding of the real world geometry. spec: https://immersive-web.github.io/hit-test/ group: webxr compat_features: diff --git a/features/webxr-layers.yml b/features/webxr-layers.yml index b04ba4e442c..d0253822553 100644 --- a/features/webxr-layers.yml +++ b/features/webxr-layers.yml @@ -1,5 +1,5 @@ name: WebXR Layers -description: To be written... +description: WebXR Layers offer a more efficient way to draw immersive content by providing layer types that are managed by the system compositor. spec: https://immersive-web.github.io/layers/ group: webxr status: diff --git a/features/webxr-lighting-estimation.yml b/features/webxr-lighting-estimation.yml index e809b793554..807940022d0 100644 --- a/features/webxr-lighting-estimation.yml +++ b/features/webxr-lighting-estimation.yml @@ -1,5 +1,5 @@ name: WebXR Lighting Estimation -description: To be written... +description: WebXR Lighting Estimation allows to query environmental lighting conditions within WebXR sessions. spec: https://immersive-web.github.io/lighting-estimation/ group: webxr compat_features: From e548b886e6ecee9ee39abfbade7e26c52a9692df Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 12:25:10 +0200 Subject: [PATCH 11/22] Fix descriptions for Anchors Co-authored-by: Daniel D. Beck --- features/webxr-anchors.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/webxr-anchors.yml b/features/webxr-anchors.yml index 420ff7fd2fc..e34e0091930 100644 --- a/features/webxr-anchors.yml +++ b/features/webxr-anchors.yml @@ -1,5 +1,5 @@ -name: WebXR Anchors -description: WebXR Anchors keep 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. +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: From fc5d21f204c8941ccf41fbac50f9ec94889909e3 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 12:29:23 +0200 Subject: [PATCH 12/22] Update AR descriptions and remove compute_from Co-authored-by: Daniel D. Beck --- features/webxr-ar.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/features/webxr-ar.yml b/features/webxr-ar.yml index f73f21a55fc..d60746167ab 100644 --- a/features/webxr-ar.yml +++ b/features/webxr-ar.yml @@ -1,9 +1,7 @@ -name: WebXR Augmented Reality (AR) -description: WebXR Augmented Reality (AR) allows `immersive-ar` WebXR sessions which allow the users environment to be visible and aligned with the rendered content. +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 -status: - compute_from: api.XRSession.environmentBlendMode compat_features: - api.XRSession.environmentBlendMode - api.XRSession.interactionMode From a970e4378c4f5c12356f99aed9b12d46663f3250 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 12:42:59 +0200 Subject: [PATCH 13/22] Update main WebXR feature Co-authored-by: Daniel D. Beck --- features/webxr-device.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/webxr-device.yml b/features/webxr-device.yml index e12a005a39b..0b4f513c57b 100644 --- a/features/webxr-device.yml +++ b/features/webxr-device.yml @@ -1,5 +1,5 @@ -name: WebXR Device API -description: The WebXR API is a toolkit for building web-based virtual reality and augmented reality experiences. +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: From e2e4860f0817df37e518515c92033c3667cf10c8 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 12:44:29 +0200 Subject: [PATCH 14/22] Update DOM overlay description Co-authored-by: Daniel D. Beck --- features/webxr-dom-overlays.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/webxr-dom-overlays.yml b/features/webxr-dom-overlays.yml index ddaf8b399fd..349a6f0e660 100644 --- a/features/webxr-dom-overlays.yml +++ b/features/webxr-dom-overlays.yml @@ -1,5 +1,5 @@ name: WebXR DOM Overlays -description: WebXR DOM Overlays allow 2D DOM content to be shown as an interactive transparent layer on top of the application-drawn WebGL content and camera image. +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: From d81c08a5863646b35463dee2c82f20caaf972026 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 12:44:51 +0200 Subject: [PATCH 15/22] Update Depth sensing name Co-authored-by: Daniel D. Beck --- features/webxr-depth-sensing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/webxr-depth-sensing.yml b/features/webxr-depth-sensing.yml index 8e5e20a9bba..62fe3f6bdad 100644 --- a/features/webxr-depth-sensing.yml +++ b/features/webxr-depth-sensing.yml @@ -1,4 +1,4 @@ -name: WebXR Depth Sensing +name: Depth sensing description: WebXR Depth Sensing provides information about 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 From c84b37577a07ad1e332a27a4b0f0d7f81dae02c1 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 12:46:07 +0200 Subject: [PATCH 16/22] Update gamepad feature Co-authored-by: Daniel D. Beck --- features/webxr-gamepads.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/webxr-gamepads.yml b/features/webxr-gamepads.yml index 66b77d10691..e0c03af8e3d 100644 --- a/features/webxr-gamepads.yml +++ b/features/webxr-gamepads.yml @@ -1,5 +1,5 @@ -name: WebXR Gamepads -description: Gamepad API integration with WebXR to communicate the state of various physical inputs (such as buttons, touch pads, and triggers) of an `XRInputSource`. +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: From 307cfa51f36f00c08b7e47e8be2fac60aa89b2ec Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 12:47:01 +0200 Subject: [PATCH 17/22] Update hand input feature Co-authored-by: Daniel D. Beck --- features/webxr-hand-input.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/webxr-hand-input.yml b/features/webxr-hand-input.yml index ee4ad7e9d29..111535316b8 100644 --- a/features/webxr-hand-input.yml +++ b/features/webxr-hand-input.yml @@ -1,5 +1,5 @@ -name: WebXR Hand Input -description: Exposes a fully-articulated hand model as an `XRInputSource` for hand-tracking use during a WebXR session. +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: From 1f368479434a7d11a3d5c18115cec1485c2a3376 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 12:48:05 +0200 Subject: [PATCH 18/22] Update hit test feature Co-authored-by: Daniel D. Beck --- features/webxr-hit-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/webxr-hit-test.yml b/features/webxr-hit-test.yml index d4eefb79406..2caf6eccf21 100644 --- a/features/webxr-hit-test.yml +++ b/features/webxr-hit-test.yml @@ -1,5 +1,5 @@ -name: WebXR Hit Test -description: WebXR Hit Test allows to place objects in the real world by casting rays that can be evaluated against the underlying platform's understanding of the real world geometry. +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: From 07ef94c7655a622705143d1dde4ea64bf9033932 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 13:00:10 +0200 Subject: [PATCH 19/22] name changes Co-authored-by: Daniel D. Beck --- features/webxr-layers.yml | 2 +- features/webxr-lighting-estimation.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/webxr-layers.yml b/features/webxr-layers.yml index d0253822553..df3f7aa4914 100644 --- a/features/webxr-layers.yml +++ b/features/webxr-layers.yml @@ -1,4 +1,4 @@ -name: WebXR Layers +name: Layers (WebXR) description: WebXR Layers offer a more efficient way to draw immersive content by providing layer types that are managed by the system compositor. spec: https://immersive-web.github.io/layers/ group: webxr diff --git a/features/webxr-lighting-estimation.yml b/features/webxr-lighting-estimation.yml index 807940022d0..69f26287f14 100644 --- a/features/webxr-lighting-estimation.yml +++ b/features/webxr-lighting-estimation.yml @@ -1,4 +1,4 @@ -name: WebXR Lighting Estimation +name: Lighting estimation description: WebXR Lighting Estimation allows to query environmental lighting conditions within WebXR sessions. spec: https://immersive-web.github.io/lighting-estimation/ group: webxr From 89a412515c11f8b950fc6623c5e6fee07c08559e Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Mon, 7 Oct 2024 16:31:49 +0200 Subject: [PATCH 20/22] Apply suggestions from code review Co-authored-by: Daniel D. Beck --- features/webxr-camera.yml | 2 +- features/webxr-depth-sensing.yml | 2 +- features/webxr-dom-overlays.yml | 2 +- features/webxr-layers.yml | 2 +- features/webxr-lighting-estimation.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/features/webxr-camera.yml b/features/webxr-camera.yml index 7eeeb499bfe..893510d7f61 100644 --- a/features/webxr-camera.yml +++ b/features/webxr-camera.yml @@ -1,4 +1,4 @@ -name: WebXR Raw Camera Access +name: Raw camera access for WebXR description: Direct access to the camera allowing pose-synchronized camera images within a WebXR session. spec: https://immersive-web.github.io/raw-camera-access/ group: webxr diff --git a/features/webxr-depth-sensing.yml b/features/webxr-depth-sensing.yml index 62fe3f6bdad..370206e553d 100644 --- a/features/webxr-depth-sensing.yml +++ b/features/webxr-depth-sensing.yml @@ -1,5 +1,5 @@ name: Depth sensing -description: WebXR Depth Sensing provides information about the distance from the user's device to the real-world geometry in the user's environment. +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: diff --git a/features/webxr-dom-overlays.yml b/features/webxr-dom-overlays.yml index 349a6f0e660..839f7319d7a 100644 --- a/features/webxr-dom-overlays.yml +++ b/features/webxr-dom-overlays.yml @@ -1,4 +1,4 @@ -name: WebXR DOM Overlays +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 diff --git a/features/webxr-layers.yml b/features/webxr-layers.yml index df3f7aa4914..be200857d25 100644 --- a/features/webxr-layers.yml +++ b/features/webxr-layers.yml @@ -1,5 +1,5 @@ name: Layers (WebXR) -description: WebXR Layers offer a more efficient way to draw immersive content by providing layer types that are managed by the system compositor. +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: diff --git a/features/webxr-lighting-estimation.yml b/features/webxr-lighting-estimation.yml index 69f26287f14..7848a60c8aa 100644 --- a/features/webxr-lighting-estimation.yml +++ b/features/webxr-lighting-estimation.yml @@ -1,5 +1,5 @@ name: Lighting estimation -description: WebXR Lighting Estimation allows to query environmental lighting conditions within WebXR sessions. +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: From 361e35bb851754369908f613d742cb1d5a7cf442 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Wed, 9 Oct 2024 12:23:33 +0200 Subject: [PATCH 21/22] Update features/webxr-camera.yml --- features/webxr-camera.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/webxr-camera.yml b/features/webxr-camera.yml index 893510d7f61..2343a5c0277 100644 --- a/features/webxr-camera.yml +++ b/features/webxr-camera.yml @@ -1,5 +1,5 @@ name: Raw camera access for WebXR -description: Direct access to the camera allowing pose-synchronized camera images within a WebXR session. +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: From 19635758f77e3aa0b8cabd6dd3ce774a54687e77 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Wed, 9 Oct 2024 12:27:06 +0200 Subject: [PATCH 22/22] re-run dist --- features/webxr-ar.yml.dist | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/features/webxr-ar.yml.dist b/features/webxr-ar.yml.dist index f95d20b129b..f8022de18bf 100644 --- a/features/webxr-ar.yml.dist +++ b/features/webxr-ar.yml.dist @@ -4,11 +4,10 @@ status: baseline: false support: - chrome: "81" - chrome_android: "81" - edge: "81" + chrome: "86" + chrome_android: "86" + edge: "86" compat_features: - # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "81" @@ -23,6 +22,7 @@ compat_features: # edge: "84" - api.XRSession.interactionMode + # ⬇️ Same status as overall feature ⬇️ # baseline: false # support: # chrome: "86"