This repo contains polyfill code that implements the WebXR Device API for use only in HoloKit WebXR Viewer.
It implements two modes under immersive-ar
sessions:
- Handheld AR (Monocular AR)
- Headworn AR (Stereoscopic AR) using HoloKit
We did not base on the official implementation of WebXR polyfill. We rewrite the WebXR polyfill in TypeScript for strict type checking purpose.
This implementation of WebXR supports a number of features:
- WebXR Device API
- WebXR Gamepads Module - Level 1
- WebXR Augmented Reality Module - Level 1
- optional feature descriptor:
"secondary-views"
- https://immersive-web.github.io/webxr-ar-module/
- optional feature descriptor:
- WebXR Hit Test Module
- feature descriptor:
"hit-test"
- https://immersive-web.github.io/hit-test/
- feature descriptor:
- WebXR DOM Overlays Module
- WebXR Layers API Level 1
- feature descriptor:
"layers"
- https://immersive-web.github.io/layers/
- feature descriptor:
- WebXR Anchors Module
- feature descriptor:
"anchors"
- https://immersive-web.github.io/anchors/
- feature descriptor:
- WebXR Lighting Estimation API Level 1
- feature descriptor:
"light-estimation"
- https://immersive-web.github.io/lighting-estimation/
- feature descriptor:
- WebXR Hand Input Module - Level 1
- feature descriptor:
"hand-tracking"
- https://immersive-web.github.io/webxr-hand-input/
- feature descriptor:
- WebXR Mesh Detection Module
- feature descriptor:
"mesh-detection"
- https://immersive-web.github.io/real-world-meshing/
- feature descriptor:
- WebXR Plane Detection Module
- feature descriptor:
"plane-detection"
- https://immersive-web.github.io/real-world-geometry/plane-detection.html
- feature descriptor:
- WebXR Raw Camera Access Module
- feature descriptor:
"camera-access"
- https://immersive-web.github.io/raw-camera-access/
- feature descriptor:
- WebXR Depth Sensing Module
- feature descriptor:
"depth-sensing"
- https://immersive-web.github.io/depth-sensing/
- feature descriptor:
- Javascript Implementation for WebXR Polyfill for Mozilla XRViewer with ARKitDevice
- Official Javascript Implementation of WebXR Polyfill
- Offiial Typescript implementation of WebXR Layers Polyfill
- Immersive Web Emulator by Meta, which implements extension of Full input emulation support
- Typescript implementation of Looking Glass WebXR polyfill