Skip to content
This repository has been archived by the owner on Jul 10, 2023. It is now read-only.

Redesign the main API of this crate to be XR-focused #69

Open
Manishearth opened this issue Apr 19, 2019 · 0 comments
Open

Redesign the main API of this crate to be XR-focused #69

Manishearth opened this issue Apr 19, 2019 · 0 comments

Comments

@Manishearth
Copy link
Member

The WebVR API is deprecated, and I'm hitting roadblocks implementing stuff in WebXR since WebXR in many cases is more powerful than WebVR. Furthermore, it's tricky to work around this because most of the uses of this crate in Servo have nuanced soundness issues (#18) and I don't know how to avoid breaking those. For example, one of the issues I'm hitting is that WebXR expects gamepad information to stay up to date (unlike the Gamepad) API, and it's pretty hard to work that into the current model.

Some differences between WebVR and WebXR:

  • WebXR supports inline immersive sessions, where there is no "display" but there is position and orientation information
  • WebXR operates directly on pose matrices as opposed to view matrices
  • WebXR treats gamepads as being attached to a session (display) and automatically kept up to date, WebVR thinks of gamepads as a wholly separate deal.
  • The lifecycle model is somewhat different for the session

It might be worth finding an API that is a good middle ground between the two, as opposed to being primarily webvr-focused.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant