RE: [gamepad] New feature proposals: pose, touchpad, vibration

From: Brandon Jones [mailto:bajones@google.com]

>   readonly attribute Float32Array? position;

Just as a quick API surface comment, Float32Array? is not a very good way of representing a vector (or quaternion). You want either separate x/y/z/w properties, or to use a DOMPoint(ReadOnly).

Web VR seems to have changed from DOMPointReadOnly to Float32Array? for some reason. Maybe they can explain? It seems like a big downgrade, especially since Flaot32Arrays are mutable.

> First, I'm proposing that we add an optional "pose" object to the the Gamepad interface that would expose all the information necessary to track a controller with 3 Degree of Freedom or 6 Degree of Freedom tracking capabilities. The primary motivator for supporting this information is to allow devices like HTC Vive controllers or Oculus Touch to be exposed, but the same structure could also expose motion and orientation data for devices such as Wii, PS3, and PS4 controllers, as well as anything else that had a gyroscope and/or accelerometer.
>
> ...
>
> The proposed pose interface largely mirrors the http://mozvr.github.io/webvr-spec/#interface-vrpose interface from the WebVR spec, but drops the timestamp since that's already provided on the Gamepad interface itself. The VRPose interface could conceivably be used directly, but I'm assuming that we'd rather not have a dependency on a separate work-in-progress spec.

It seems to me like the Web VR spec is very specifically designed to support these use cases. Why are you interested in creating a competing extension to the Gamepad API, instead of working with the Web VR folks on their interface? We certainly shouldn't have both on the platform, so you need to either talk to them about moving portions of their spec into the Gamepad API, or go help them work on their spec.

In practice the only non-political difference will be whether it's on navigator.getGamepads() or navigator.getVRDisplays(). I don't have enough game/VR-developer experience to tell which of these would be more intuitive for developers.

Maybe you are already collaborating, as seen by https://github.com/MozVR/webvr-spec/issues/31. It's not really clear.

Received on Monday, 25 April 2016 13:54:15 UTC