There are currently some member attributes in the spec that only reflect what the application requested. I believe this is generally discouraged as doing so increases the API surface without providing capabilities not otherwise available to the application. (It's also easier to add values in the future if necessary than it is to remove them.) The exception is where there is a fixup step or the correct value may not otherwise be obvious to the application.
The following attributes can be safely removed because they reflect a value provided to the method that created the object. There may be others:
XRSession.mode is specified in XR.requestSession().
XRStationaryReferenceSpace.subtype is specified in XRSession.requestReferenceSpace().
There are currently some member attributes in the spec that only reflect what the application requested. I believe this is generally discouraged as doing so increases the API surface without providing capabilities not otherwise available to the application. (It's also easier to add values in the future if necessary than it is to remove them.) The exception is where there is a fixup step or the correct value may not otherwise be obvious to the application.
The following attributes can be safely removed because they reflect a value provided to the method that created the object. There may be others:
XRSession.modeis specified inXR.requestSession().XRStationaryReferenceSpace.subtypeis specified inXRSession.requestReferenceSpace().