18:28:40 RRSAgent has joined #webvr 18:28:40 logging to https://www.w3.org/2017/11/09-webvr-irc 18:28:46 rrsagent, set logs world-visible 18:28:54 scribe: Anssi_Kostiainen 18:28:59 ScribeNick: anssik 18:29:03 meeting: WebVR CG 18:29:13 chair: Brandon_Jones 18:29:17 agenda: https://github.com/w3c/webvr/issues/296 18:29:23 present: Brandon_Jones(Google), Nell_NellWaliczek(Microsoft), Mark_Foltz(Google), Chris_Wilson(Google), Alex_Russell(Google), Alex_Turner(Microsoft), Chris_Needham(BBC) 18:29:27 rrsagent, draft minutes v2 18:29:27 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 18:29:31 Agenda: https://github.com/w3c/webvr/issues/296 18:30:17 present+ Francois_Daoust(W3C) 18:30:41 Present+ John_Foliot(Deque_Systems) 18:30:58 Present+ Dominique_Hazeal-Massieux(W3C) 18:32:04 Topic: Welcome 18:32:31 bjones: are remote participants fine with the connection? 18:32:41 rrsagent, draft minutes v2 18:32:41 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 18:33:34 yjang has joined #webvr 18:33:35 slightlyoff has joined #webvr 18:33:40 igarashi has joined #webvr 18:33:47 ddorwin has joined #webvr 18:34:03 anssik: what is the status re specs and implementation, and next steps for WebVR CG? 18:34:18 bjones: welcome everyone to this ad-hoc WebVR CG meeting 18:34:44 ... WebVR API allows interaction with VR and AR hardware, we have mainly an explainer document currently 18:35:01 [bjones giving spec overview] 18:35:22 ... we are at the explainer stage now, no full spec yet 18:35:49 ... we're iteration on the explainer still quite a bit, the concept has been these for 3-4 years, more actively working on WebVR for ~2 years 18:36:07 nell: kickoff for WebVR was the W3C WebVR workshop last Oct 18:36:19 s/WebVR/WebVR standardization 18:36:50 bjones: clarification, there are capabilities on multiple browsers now called WebVR, but it is the non-webby version 18:37:04 ... on that (1.1) version we received TAG feedback on 18:37:17 ... the latest spec is WebVR API "v2.0" 18:37:32 -> https://w3c.github.io/webvr/ WebVR API, Explainer 18:37:49 nell: common questions, who's working on what 18:38:02 ... there's now WebVR 1.1 implementation on Chrome as an Origin Trial 18:38:21 ... and Edge implementation for Mixed Reality headsets 18:38:31 ... also in Firefox for Oculus Rift and HTC Vive 18:38:50 ... Oculus has a Chromium-based browser, and Samsung has a Samsung Internet browser 18:38:59 anssik: how about Servo? 18:39:33 bjones: not familiar with Servo, know Mozilla has used Servo as a testbed 18:41:01 anssik: what are the next steps for the WebVR CG? 18:41:24 bjones: as far as feature wise, there's very little question next year would like to transition to WG and formalize the spec 18:42:07 ... another thing to clarify, there was a proposal for a Working Group charter we pushed back on that, not because we object the idea of WG, but though we were not ready 18:43:19 nell: worth calling out, there are unresolved issues still, the API shape is still evolving and undefined 18:44:06 ... for example, we don't have our input story 18:44:35 ... site to site navigation, rAF relationship are still unclear 18:45:57 bjones: for MVP we do not explicitly add AR features, but allows AR extensions 18:46:17 anssik: core WebVR would move to WG, and AR features would be evolved in CG? correct? 18:46:19 nell: right 18:46:39 rrsagent, draft minutes v2 18:46:39 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 18:47:37 -> https://github.com/w3ctag/design-reviews/issues/141#issuecomment-339559167 RAF Loop Syntax discussion 18:47:53 -> https://github.com/w3c/webvr/issues/292 TAG Feedback: isolation and the document 18:48:08 -> https://github.com/w3c/webvr/issues/187 Test API Design and WPT 18:48:14 [nell gives an agenda workthrough] 18:49:03 nell: out of scope today are input, gamepad 18:49:30 nell: related, Msft joined OpenXR in Khronos last week 18:49:43 Topic: rAF loop syntax 18:49:46 -> https://github.com/w3ctag/design-reviews/issues/141#issuecomment-339559167 RAF Loop Syntax discussion 18:49:50 Travis has joined #webvr 18:49:55 rrsagent, draft minutes v2 18:49:55 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 18:50:39 bjones: background on the topic is that when dealing with VR devices within WebVR spec, they may run at a different frame rate than the PC connected to 18:51:15 ... we want to cater for that, as we defined the spec it seemed difficult for various reasons to change the behaviour of rAF 18:51:46 ... went for a WebVR variant of rAF that'd run at the VR device's frame rate and not the PC's frame rate 18:52:24 ... got feedback using the same name might be confusing, so renamed the VR rAF variant 18:53:01 -> https://html.spec.whatwg.org/multipage/scripting.html#the-offscreencanvas-interface Offscreen canvas spec 18:53:24 ... also Offscreen Canvas is looking at creating a rAF variant called commit() 18:53:49 slightlyoff: explains the rationale for Offscreen Canvas rAF variant 18:55:16 nell: concerns that Offscreen Canvas, making sure it is setup to be as compatible as possible for exporting existing code bases 18:56:32 slightlyoff: had discussions re Offscreen Canvas, game developers' feedback would prefer an API that supports async/await style 18:56:48 ... can we make rAF return promise? 18:57:43 bjones: no concerns re object allocation, having rAF return a promise is backwards compatibility issue, cannot pass to cAF 18:57:57 ... would need an alternative version that is cancellable 18:58:42 ... bigger point, you can wrap it into a promise in JS 19:00:06 bjones: not clear promise-returning rAF would make developer lives easier 19:01:12 ... this is a VR-specific issue (that a promise-returning rAF does not lead to better developer ergonomics) 19:01:24 ... that was the background 19:01:58 ... the issue #141 discusses the proposal for new rAF loop syntax, considers TAG feedback received 19:02:17 [I think you would want to make AnimationFrameProvider an interface mixin https://heycam.github.io/webidl/#using-mixins-and-partials ] 19:03:50 bjones: that rAF as is, make separate interface that is implemented by window interface, want to extend the callback to promise timestamp and framedata plugged in there 19:04:26 s/that rAF/the proposal for rAF 19:04:53 [bjones walking thought the proposed IDL on big screen] 19:05:56 anssik: does this consider TAG feedback? 19:06:04 bjones: yes 19:06:05 s/thought/through/ 19:06:31 travis: I like this rAF model is extensible, not sure about Transferrable part, perhaps we do not need it 19:07:03 ... generally I think it is great, then again, there's TAG feedback re isolation and how to make this fast 19:07:14 nell: we have a separate topic for that 19:07:31 dom: not sure whether you can override the second parameter as proposed 19:07:41 ... WebIDL may not have semantics for doing that 19:08:16 bjones: not familiar with these WebIDL details, but can say with confidence JS don't care about this detail (parameter override) 19:09:38 travis: proposed fix option a) do nothing b) define a derived callback 19:09:52 rrsagent, draft minutes v2 19:09:52 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 19:11:27 travis: workaround is to just define a more precise behavior of the callback 19:12:44 nell: the bigger question, is this something to be addressed by the WebVR group or by the broader community, propose we find a way that does not block us 19:13:01 ... who's the owner of this discussion so that WebVR group does not own this discussion 19:13:48 travis: rAF is defiend in the HTML spec, so they own the broader issue 19:15:15 nell: always returning zero for timestamp should be fine 19:15:32 wseltzer has joined #webvr 19:15:37 anssik: what is the reference for timestamp? 19:15:53 -> https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#animation-frames requestAnimationFrame spec 19:15:55 bjones: not sure if it is even well specified for window.rAF 19:16:14 "When the user agent is to run the animation frame callbacks" 19:17:00 anssik: related, generic sensors have rAF sync as a v2 feature 19:17:57 -> https://www.w3.org/TR/html/browsers.html#ref-for-dom-window-requestanimationframe-1 requestAnimationFrame in W3C HTML 19:18:30 travis: what are the core use cases Offscreen Canvas spec editors are after 19:19:42 slightlyoff: high perf low power video hardware overlay 19:20:23 ... my question to them was why not expose the same to main thread, it appears they want to avoid all compositing 19:20:58 ... they got 10ms roundtrip improvement per frame 19:21:13 travis: are they in we want this but have not yet specced? 19:21:38 slightlyoff: they are not yet fully there yet 19:22:27 nell: considering we want to advance to more stable spec in near future, having unstable dependencies would hold us off 19:24:39 bajones has joined #webvr 19:24:54 proposed RESOLUTION: submit pull request to change the signature in callback, move the rAF design proposal away from WebVR into HTML spec(s) 19:25:20 RESOLUTION: submit pull request to change the signature in callback, move the rAF design proposal away from WebVR into HTML spec(s) 19:26:04 s/pull request/pull request to WebVR explainer/ 19:26:30 snishimura has joined #webvr 19:26:36 rrsagent, draft minutes v2 19:26:36 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 19:27:31 Topic: TAG Feedback about performance isolation 19:27:47 -> https://github.com/w3c/webvr/issues/292 TAG Feedback: isolation and the document 19:29:29 bjones: we started with workers support, we do not talk about this in the explainer, but we have stripped away all window and DOM deps 19:30:38 ... we expect input for this system to come from device specific controllers, to be able build experiences that run purely in a worker 19:31:15 ... the issues that we run into are more about how other APIs interact with workers e.g. input e.g. mouse/keyboard is functional but slow 19:31:43 ... latency of keyboard or mouse cursor not as important 19:32:20 ... video is trickier, it is a large use case for VR, and there's no native way to render video in a worker 19:33:05 ... there's a workaround but it is tedious and slow 19:33:29 ... audio and video sync would be impossible in a worker context 19:34:01 travis: WebGL and WebVR running in worker on issues, input unclear, video no solution in sight 19:34:35 nell: is this issue addressed by iframe isolation instead? 19:34:51 rrsagent, draft minutes v2 19:34:51 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 19:36:31 bjones: we're dealing with three different variants of devices: 1/ mobile device in a harness, 2/ standalone HMD device, 3/ external MHD that rely on PC 19:37:29 ... from perf isolation standpoint, there are not many cases for 3/ where you view DOM at the same time with VR experience 19:37:57 ... as you go to the VR mode in 1/ and 2/, we can turn off general compositor 19:38:39 travis: the canvas you start writing to in your rAF loop, it becomes exclusive mode? 19:39:46 bjones: in the new version of the API, we provide a new frame buffer for the VR device itself 19:40:23 mattreynolds_ has joined #webvr 19:43:26 bjones: we can fudge and note, PC requirements for this are magnitudes larger than for mobile 19:44:08 bjones: ultimately we'd like to have a better solution for PC-driven environment 19:45:19 slightlyoff: if you want to use iframes, they can be different process 19:45:44 ... iframes are used for many use cases, focus on iframe could be used as a hint to move into a high performance mode 19:46:12 specifically we can have a new attribute on iframes to say "this is high performance content" 19:46:16 travis: re moving to iframes, does it mean nothing changes in the spec? 19:46:27 slightlyoff: that'd be my suggestion 19:46:42 ... I prefer deprioritizing content that is not displayed 19:47:16 mattreynolds_ has joined #webvr 19:48:35 slightlyoff: give the browser ability to add VR button, if the page advertises it has the capability 19:49:06 bjones: we do not want cross-origin iframes to use VR features 19:49:25 [insert Pepsi joke here] 19:49:53 bjones: the idea whether a particular document is in a VR is well defined 19:50:27 ... we have clear boundaries when throttling could begin, [the button] sounds very UI specific optimization 19:52:32 nell: if developers are worries about performance, they will think about these things; many perf challenges are not VR specific, developers use iframes for perf isolation already in general 19:53:17 slightlyoff: if no-one tells us this content runs in high perf mode, browser could throttle times or turn off specific APIs 19:53:45 nell: VR focused state could toggle those behaviours 19:54:07 slightlyoff: wasm based games would prefer from such a high perf hint 19:54:51 ... possible ways to do it e.g. feature policy, "allow=highperf" 19:55:20 travis: I think we have addressed a bunch of TAG concerns 19:55:43 slightlyoff: thanks for paying attention to TAG concerns raised, helping us understand your API better 19:56:18 bjones: I would far rather have these assumption breaking feedback that no feedback at all, nice to work with TAG and others familiar with web platform 19:57:38 nell: thank for all the feedback that makes us be part of the cohesive whole 19:57:49 [30 minutes left] 19:58:35 Topic: Interoperable WebVR Testing 19:58:43 -> https://github.com/w3c/webvr/issues/187 Interoperable WebVR Testing 19:59:00 nell: when we first talked about interop testing, wanted to validate browser implementations 19:59:17 ... now we've noticed the price for VR hardware going down, cannot buy every possible hardware out there 20:00:01 ... so as we're looking at animation testing, e.g. A-Frame, look at validating content experiences 20:00:22 ... will sit down with Web Driver people from Mozilla, to see what extensions are needed for WebVR simulation 20:00:58 ... will provide a draft up for review 20:01:23 ... re mocking, implication on a system level e.g. on Windows level how input is routed changes 20:01:50 ... other thing: modeling user input, putting your headset on 20:03:30 mfoltz: Presentation API needs similar domain-specific extensions for testing 20:04:21 nell: would like to get consistency with other efforts, so good to synchronize efforts where sensible 20:05:06 dom: is this about instantiation only, or is testing of user interaction also in scope? 20:05:10 nell: both are in scope 20:05:59 dom: generic sensors have a bunch of interactive test too 20:06:09 s/have/have a need for 20:06:41 Topic: Roadmap for WebVR API 20:08:07 nell: things that are already on roadmap: 1/ clarify display types: pass-through, see-through, 2/ input story incl. VR controllers, 3/ site-to-site navigation 20:08:37 https://github.com/w3c/webvr/issues/254 20:09:55 ... further out are: 4/ AR environment understanding: raycasting against world, creating anchors etc., 5/ media layers e.g. 360 video 20:10:30 ... 6/ clarify handheld vs. face-worn 20:10:33 https://github.com/w3c/webvr/issues/145 20:10:56 rrsagent, draft minutes v2 20:10:56 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 20:12:19 ... 7/ permissions: how to create permissions UX that makes sense to the user, e.g. how to provide permissions that are needed prior to entering VR experience 20:14:12 rrsagent, draft minutes v2 20:14:12 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 20:15:26 Topic: Open questions 20:15:54 dom: there's oncoming workshop for VR content authoring in December 20:16:21 https://www.w3.org/2017/09/webvr-authoring-workshop/ 20:16:26 -> https://www.w3.org/2017/09/webvr-authoring-workshop/ W3C Workshop on WebVR Authoring: Opportunities and Challenges 20:16:54 rrsagent, draft minutes v2 20:16:54 I have made the request to generate https://www.w3.org/2017/11/09-webvr-minutes.html anssik 20:47:20 Zakim has left #webvr 21:13:15 ericc has joined #webvr