This repository contains information necessary for User Agents to have conformance in WebXR XRInputSource
objects for all known hardware devices. It also contains assets and a helper library for developers to visualize motion controllers reported though XRInputSource
objects. A preview page is also included to allow end-to-end validation of new hardware. The master branch of this preview page is hosted on Github here:
- The registry package contains JSON files which define the intrinsic values for each type of
XRInputSource
hardware to ensure User Agent conformity. - The assets package contains 3D assets and JSON files to describe the relationship between those assets and the associated
XRInputSource
profiles defined in the registry. The build step of this package merges its content with the JSON files in the registry package. - The motion-controllers package contains a javascript library able to load the JSON descriptions published from the assets package and create component-style representations of the
XRInputSource
data. Specifically, it maps the theGamepad
data exposed by theXRInputSource
. This library is 3D engine agnostic. - The viewer package contains a webpage that uses the motion-controllers library to load and view the profiles and assets from the assets package.
Packages will be published to npm as changes occur, with version numbers formatted as <Major>.<Minor>.<Patch>
and updated according to the following guildlines:
- Significant design changes
- Additional features added
- Small breaking changes to schema
- Breaking changes in source code or test code
- Adds new mapping and/or asset files
- Fixes to existing mapping and/or asset files
- Critical, non-breaking security fixes
- Occasional non-breaking fixes to schema, source code, or test code
Packages from this repo may update their Minor
and Patch
versions at a different cadence. Changes to Major
versions are expected to be large enough that all packages will update in tandem.