Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upSupport for features, profiles, and mocking ray mode/handedness #119
Conversation
|
r? @asajeffrey |
|
Just some minor nits. |
| RequestSession(SessionMode, Sender<Result<Session, Error>>, Sender<Frame>), | ||
| RequestSession( | ||
| SessionMode, | ||
| SessionInit, |
This comment has been minimized.
This comment has been minimized.
asajeffrey
Jan 21, 2020
Member
In https://immersive-web.github.io/webxr/#dom-xr-requestsession the options are optional.
This comment has been minimized.
This comment has been minimized.
Manishearth
Jan 21, 2020
Author
Member
That's a quirk of webidl, dictionary arguments with all optional fields must be optional. The bindings generation already takes care of this for us.
| impl SessionInit { | ||
| /// Helper function for validating a list of requested features against | ||
| /// a list of supported features for a given mode | ||
| pub fn validate(&self, mode: SessionMode, supported: &[String]) -> Result<Vec<String>, Error> { |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Manishearth
Jan 21, 2020
Author
Member
They're going to be created once per session, that's not a big deal imo
| /// a list of supported features for a given mode | ||
| pub fn validate(&self, mode: SessionMode, supported: &[String]) -> Result<Vec<String>, Error> { | ||
| for f in &self.required_features { | ||
| // viewer and local in immersive are granted by default |
This comment has been minimized.
This comment has been minimized.
| } | ||
|
|
||
| if !supported.contains(f) { | ||
| return Err(Error::UnsupportedFeature(f.into())); |
This comment has been minimized.
This comment has been minimized.
asajeffrey
Jan 21, 2020
Member
This will only report an error for the first missing feature, is that what's wanted?
This comment has been minimized.
This comment has been minimized.
Manishearth
Jan 21, 2020
Author
Member
Yeah, JS doesn't see this error anyway, and the spec doesn't expose exactly what features were unsupported (but I have a PR to make it expose what features were granted )
|
@bors-servo r=asajeffrey |
|
|
Support for features, profiles, and mocking ray mode/handedness r? @jdm @asajeffrey Servo side: servo/servo#25504
|
|
|
@bors-servo r=asajeffrey |
|
|
|
Support for features, profiles, and mocking ray mode/handedness r? @jdm @asajeffrey Servo side: servo/servo#25504
|
|
Support features in webxr Based on servo/webxr#119 Todo: - [x] gate reference space creation on feature presence - [x] Fix the `features_deviceSupport` test to correctly use simulateUserActivation Fixes #24196, #24270 r? @jdm @asajeffrey
Support features in webxr Based on servo/webxr#119 Todo: - [x] gate reference space creation on feature presence - [x] Fix the `features_deviceSupport` test to correctly use simulateUserActivation Fixes #24196, #24270 r? @jdm @asajeffrey
Manishearth commentedJan 13, 2020
•
edited
r? @jdm @asajeffrey
Servo side: servo/servo#25504