Immersive Web Newsletter, Recent Spec Changes - from 2019-03-29 to 2019-05-08

It's been a busy month. Remember to RSVP for the face to face on June 4th
and 5th, hosted by Intel at the Intel Jones Farm Campus in Hillsboro,
Oregon.

RSVP here https://forms.gle/M8jS7DQVxLGHcN6J8,
suggest topics with this form: https://forms.gle/yeXkH4cfrVAX4pt16

Recent Spec Changes - from 2019-03-29 to 2019-05-08

Edit on Github
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-31-to-2019-05-08-Recent_Spec_Changes.md>
.
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#remove-attribs-that-only-reflect-requested-values>Remove
attribs that only reflect requested values
<https://github.com/immersive-web/webxr/pull/574>

Merged Fri Apr 19 2019 - [image: ed:explainer]
<https://camo.githubusercontent.com/e8ce1b2e6dfbd355ad881b2de67a3b64ddc1e275/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d65642533416578706c61696e6572266267636f6c6f723d383735666237>
 [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>
 [image: potential breaking change]
<https://camo.githubusercontent.com/2932f88edc770aff1511139e2ff8235004490bf8/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d706f74656e7469616c253230627265616b696e672532306368616e6765266267636f6c6f723d643332613662>

Remove attribs that only reflect requested values (#574)

Remove attribs that only echo creation parameters:

   - XRSession.mode;
   - XRWebGLLayer.depth;
   - XRWebGLLayer.stencil;
   - XRWebGLLayer.alpha;
   - XRStationaryReferenceSpace.subtype;

<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#rename-supportssessionmode-to-supportssession>Rename
supportsSessionMode to supportsSession
<https://github.com/immersive-web/webxr/pull/595>

Merged Mon Apr 22 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>
 [image: potential breaking change]
<https://camo.githubusercontent.com/2932f88edc770aff1511139e2ff8235004490bf8/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d706f74656e7469616c253230627265616b696e672532306368616e6765266267636f6c6f723d643332613662>

Rename supportsSessionMode to supportsSession (#595)

Fixes #592. Brings the method name inline with requestSession, which now
takes the same arguments.
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#explicitly-spec-out-native-origins>Explicitly
spec out native origins <https://github.com/immersive-web/webxr/pull/621>

Merged Tue May 07 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Explicitly spec out native origins (#621)

Adds native origins for input spaces, viewerSpace, identity, and
position-disabled spaces. Specifies that the native origin of identity
spaces is constant when there is no tracking data.
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#overhaul-xrspace-getviewerpose-definitions>Overhaul
XRSpace, get(Viewer)Pose definitions
<https://github.com/immersive-web/webxr/pull/609>

Merged Sat Apr 27 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Overhaul XRSpace, get(Viewer)Pose definitions (#609)

Formalizes the definitions of origins, transforms, and some of the math
involved. This will hopefully give us a better foundation on top of which
we can better talk about spacial concepts.

Huge thank you to @klausw, @Manishearth, and @NellWaliczek for helping to
iterate through this fairly tricky language and land on something that much
more rigorous.
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#consolidate-reference-space-types-and-interfaces>Consolidate
reference space types and interfaces
<https://github.com/immersive-web/webxr/pull/587>

Merged Tue Apr 30 2019 - [image: ed:explainer]
<https://camo.githubusercontent.com/e8ce1b2e6dfbd355ad881b2de67a3b64ddc1e275/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d65642533416578706c61696e6572266267636f6c6f723d383735666237>
 [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Consolidate reference space types and interfaces (#587)

Consolidate the various interfaces that extended XRReferenceSpace, with the
exception of XRBoundedReferenceSpace which was still necessary to
communicate the boundsGeometry. This PR also eliminates the 'stationary'
XRReferenceSpaceType in favor of making all of it's subtypes top level
types. Which, in turn, eliminates the need for the options dictionary when
creating a reference space, so this PR also changes that call to only take
the type enum (an options dictionary can be added as a second argument in
the future if needed, as described by #542.
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#make-origin-offset-immutable>Make
origin offset immutable <https://github.com/immersive-web/webxr/pull/612>

Merged Wed May 01 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Make origin offset immutable (#612)

Fixes #580. Changes originOffset to be immutable and establish that the way
that the originOffset changes is by constructing a new reference space with
the base space and an additional offset to apply on top of it. This should
hopefully solve several timing issues related to changing the originOffset
mid-frame.
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#make-boundsgeometry-work-relative-to-the-effective-origin>Make
boundsGeometry work relative to the effective origin
<https://github.com/immersive-web/webxr/pull/613>

Merged Wed May 01 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Make boundsGeometry work relative to the effective origin (#613)
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#reject-outstanding-promises-on-session-shut-down>Reject
outstanding promises on session shut down
<https://github.com/immersive-web/webxr/pull/585>

Merged Mon Apr 15 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Reject outstanding promises on session shut down

Fixes #556. Adds a catch-all statement that promises shouldn't outlive the
session they were returned from and indicates what error they should reject
with when the session shuts down.
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#explicitly-specify-how-the-views-array-is-populated>Explicitly
specify how the views array is populated
<https://github.com/immersive-web/webxr/pull/614>

Merged Wed May 01 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Explicitly specify how the views array is populated (#614)

Explicitly specify how the views array is populated when calling
getViewerPose().
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#remove-gravity-mention>Remove
gravity mention <https://github.com/immersive-web/webxr/pull/616>

Merged Wed May 01 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Remove gravity mention
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#specify-that-projection-matrices-may-include-shear>Specify
that projection matrices may include shear
<https://github.com/immersive-web/webxr/pull/575>

Merged Mon Apr 01 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Specify that projection matrices may include shear

Fixes #461.

At the January F2F we agreed that the projectionMatrix attribute should
remain a matrix to allow for more complex projections that include, for
example, shearing. In order to dissuade applications from attempting to
decompose the matrix into a view frustum, which wouldn't properly account
for that, this PR adds text to the spec that explicitly states that
decomposition is a bad idea and gives reasoning as to why.
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#inverse-attribute-always-returns-the-same-object>
inverse attribute always returns the same object
<https://github.com/immersive-web/webxr/pull/586>

Merged Mon Apr 15 2019 - [image: ed:explainer]
<https://camo.githubusercontent.com/e8ce1b2e6dfbd355ad881b2de67a3b64ddc1e275/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d65642533416578706c61696e6572266267636f6c6f723d383735666237>
 [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

inverse attribute always returns the same object (#586)

Fixes #576. Specifies that the object returned by XRRigidTransform's
inverse attribute
must always be the same JS object and, furthermore, the inverse of a
transform returned by inverse must be the originating transform.
<https://github.com/immersive-web/administrivia/blob/master/newsletter/2019-03-29-to-2019-05-08-Recent_Spec_Changes.md#identify-cases-where-the-gamepad-id-should-be-unknown>Identify
cases where the Gamepad id should be unknown
<https://github.com/immersive-web/webxr/pull/615>

Merged Wed May 01 2019 - [image: ed:spec]
<https://camo.githubusercontent.com/46b541c71344f4950253dbaad90cebd8dacea9c9/68747470733a2f2f69772d6e6577736c65747465722d67656e657261746f722e676c697463682e6d652f7376672f3f746578743d656425334173706563266267636f6c6f723d383735666237>

Identify cases where the Gamepad id should be unknown

Received on Wednesday, 8 May 2019 14:32:29 UTC