20:35:24 RRSAgent has joined #immersive-web 20:35:28 logging to https://www.w3.org/2024/09/26-immersive-web-irc 20:36:13 chair: yonet 20:36:49 bajones has joined #Immersive-Web 20:55:55 jamesn has joined #immersive-web 21:00:21 When attempting to join the Zoom call I'm getting an "Incorrect Passcode" error? 21:00:45 oh no 21:01:14 It's the year right bajones 21:01:51 I'm getting the link from the meeting page for today's session off the W3C events pages 21:01:56 Confirmed it's the right date 21:02:25 MikeW has joined #immersive-web 21:02:33 It seems to be working for me but Alex is sending you just in case 21:03:04 Okay, got it! 21:04:02 present+ 21:04:21 present+ 21:04:24 Brandel has joined #immersive-web 21:04:26 present+ 21:04:27 NeilT has joined #immersive-web 21:04:28 present+ 21:04:30 present+ 21:04:36 present+ 21:04:41 chanada has joined #immersive-web 21:04:41 trevorPicoXR has joined #immersive-web 21:04:54 lgombos has joined #immersive-web 21:05:03 atsushi has joined #immersive-web 21:05:29 song has joined #immersive-web 21:05:42 rrsagent, make log public 21:05:44 cabanier has joined #immersive-web 21:05:45 meeting: Immersive-Web WG TPAC Thu 21:05:56 scribe: lgombos 21:06:21 NeilT: SIGGRAPH Asia, Dec, Tokio 21:07:38 ... BoF, 90 min each, one of BoF is 3D standards for the Web, opportunity to represent W3C work as it fits together 21:08:59 atsushi: I will be there and can help 21:09:59 NeilT: Khronos is open to feedback and offering to help.. bidirectional.. 21:10:14 ada: model element is a good example where we can work together 21:11:18 song: we plan to join XR Summet 21:11:54 topic: https://github.com/immersive-web/WebXR-WebGPU-Binding/issues/6 21:12:22 MikeW: presentation 21:13:09 :) 21:13:19 .. WebGPU + WebXR, motivations.. Thanks for bajones to get this work started 21:13:45 ... WebKit, initial implementation based on bajones's explainer 21:15:07 ... WebGPU > WebGL - support compute shaders, atomic operations, more uniform 21:15:23 .. lot of support for WebGPU already from JS frameworks 21:17:14 ...open issues, issue#7 mixing webgpu and webgl 21:17:35 ... issue#8 - depth direction 21:17:54 ... issue#8 - lifetime of XR subimage 21:18:05 ... issue#10 - texture formats 21:18:52 ... issues #12 - projection matrices proposal align with WebGPU 21:20:51 bajones: chromium demo, first triangle with WebGPU + WebXR 21:21:23 q+ 21:21:30 ack cabanier 21:21:56 q+ 21:22:18 cabanier: only projection layers, not other layers ? 21:22:40 MikeW: bajones's current proposal only projection layers 21:22:41 ack bajones 21:23:02 bajones: we're trying to catch up on the layers implementation.. 21:23:46 ... bajones: layers spec only requires projection - so that kind of an MVP/phase 1.. later we want to introduce other layer types 21:24:31 MikeW: this was also our thoughts 21:24:47 topic: https://github.com/immersive-web/WebXR-WebGPU-Binding/issues/6 21:25:28 trevorPicoXR has joined #immersive-web 21:25:59 MikeW: issue strictly on WebGPU side.. adding a boolean for XR 21:26:31 bajones: need to make a dictionary change.. probably not in WebXR spec.. need to approach WebGPU spec 21:27:59 ... maybe less necessary now.. usually there is only a single GPU 21:28:45 ada: should we schedule the joint meeting with WebGPU team 21:29:09 bajones: MikeW and bajones are regular attendees of WebGPU, we can take this action to bring it up there 21:29:42 ... late October F2F meeting is the current plan to bring this up with WebGPU team 21:29:54 topic: https://github.com/immersive-web/WebXR-WebGPU-Binding/issues/7 21:31:08 MikeW: WebGL frame mixing with WebGPU frame within one XR session.. do we allow it ? what about existing JS frameworks ? 21:31:22 ... seems most frameworks are moving to WebGPU already 21:32:41 bajones: intermixing content is feasible in browsers.. feels heavy burden to mandate it.. cleaner break not to attempt 21:32:47 q+ to ask if this is exclusively about rendering _to XR_ vs. simple use, and the bidirectionality of it 21:33:45 q+ 21:33:47 ... how does the API shape looks like 21:34:04 bajones:.. should be session creation time 21:34:04 ack Brandel 21:34:04 Brandel, you wanted to ask if this is exclusively about rendering _to XR_ vs. simple use, and the bidirectionality of it 21:34:32 Brandel: is this mixing only for WebXR ? 21:35:26 bajones: if I am opting in WebGPU like XR session than WebGL no longer function 21:35:57 ... it is not that they can not intermix, it is more about session presentation frames 21:36:04 q+ 21:36:11 q- 21:36:21 q+ to ask if this is a system or headset type feature 21:36:42 bajones: benefit is e.g. make it easier to reason about projection matrices 21:37:03 ack MikeW 21:37:34 ack alcooper 21:37:34 alcooper, you wanted to ask if this is a system or headset type feature 21:37:49 MikeW: method of selection - function call or flag .. no hard opinion 21:38:23 alcooper: is this a feature of computer or headset or a browser ? 21:39:21 bajones: browser.. e.g. VisionOS only accepts metal .. browser deals with formats 21:40:28 ... make it optional.. most content will not use it 21:40:47 ... most existing content loads resources before XR session creation 21:42:31 alcooper: do we need more entry point - not just WebGPU flag, but more enum states 21:43:11 bajones: we can also use session type if we need to later.. 21:43:14 q+ 21:43:32 alcooper: should we consider session type 21:43:41 bajones: we would expose more privacy bits 21:43:59 ack bialpio 21:44:02 scribe MikeW 21:44:56 bialpio: (discussion on #7) extend XR dictionary instead of adding to required / optional features? 21:45:28 q? 21:45:28 bajones: suggest new enum if we extend the dictionary 21:46:51 bajones: place comments on the issue regarding preference, easy for implementations to change 21:47:04 q+ 21:47:28 ack alcooper 21:47:30 MikeW: no real preference on which option, easy to change 21:47:43 alcooper: slight preference against new method, any other one is fine 21:48:08 ada: feature is fine 21:48:22 alcooper: add issue to the spec to revisit 21:48:29 topic: https://github.com/immersive-web/webxr/issues/1388 21:49:04 q+ 21:49:12 q 21:49:16 q+ 21:49:21 trevorPicoXR: rough timeline on standardization? 21:49:33 NeilT9 has joined #immersive-web 21:49:55 bajones: prototyping stage, hopeful to become close to shipping by end of 2025 21:50:18 ack MikeW 21:51:33 q+ to bring up one more WebGPU topic, about better guarantees for resource needs 21:51:54 atsushi has joined #immersive-web 21:51:59 MikeW: should implementation conform to WebGL or use WebGPU when WebGPU is used? 21:52:52 bajones: pretty clear we should adopt API conventions of WebGPU when WebGPU is the rendering option for WebXR 21:53:33 bajones: easier for developers to fail if we perform conversions to WebGL / current WebXR specification 21:54:03 alcooper: sticking with API conventions would get us the best developer experience 21:54:19 A 21:54:20 A 21:54:22 A 21:54:27 ada: (a) for WebGPU for WebGPU, (b) for return WebGL conventions for WebGPU 21:54:31 A 21:54:33 A 21:54:36 A 21:54:38 A 21:54:38 A 21:54:55 q? 21:54:59 ack cabanier 21:56:01 cabanier: seems counter for implementors to go outside of group to decide things 21:56:17 ack bajones 21:56:17 bajones, you wanted to bring up one more WebGPU topic, about better guarantees for resource needs 21:56:55 q+ bajones 21:57:46 q+ 21:57:46 bajones: not our intent to do anything outside the group, specifically regarding the Layers API: there exists a carve out for XRProjectionLayer in the Layers API specification today, optionally the 'layers feature' requires support of all the layer types 21:58:41 bajones: focused just to get pixels on the screen, whether or not we intend to ship before all layers API is supported, want to turn feature on for developers first 21:59:06 q+ 21:59:41 ack cabanier 21:59:48 ack MikeW 22:01:35 ack bajones 22:02:15 topic: https://github.com/immersive-web/WebXR-WebGPU-Binding/issues/10 22:03:19 bajones: formats accepted for the compositor (issue #10). In WebGPU we have rgba, bgra, rgba16float, should we follow that or only allow preferred format? 22:04:39 q? 22:04:43 q+ 22:04:48 ack MikeW 22:05:24 MikeW: stick with existing WebGPU conventions of rgba, bgra, rgba16float, open to change if performance is an issue 22:05:43 bajones: ok with that, may mean a copy is needed on some platforms 22:06:35 bajones: is rgba16float necessary or not initially? 22:06:37 q+ 22:06:42 ack MikeW 22:07:18 MikeW: keep rgba16float for now, HDR becoming more prevalent 22:07:26 bajones: no problem with that 22:08:15 q+ 22:08:15 bajones: consider POR for prototypes unless no objections and no serious problems? 22:08:41 Brandel: does it have bearing on display characteristics? 22:09:12 q+ 22:09:30 ack Brandel 22:09:42 bajones: it is somewhat independent, canvas configuration, if we want to support HDR rendering then need to discuss with group 22:09:51 ack MikeW 22:10:41 MikeW: brief explanation on WebGPU 22:10:54 MikeW: and how it handles HDR / SDR for webgpu 22:10:56 topic: https://github.com/immersive-web/webxr/issues/1388 22:11:16 scribe Brandel 22:12:17 bajones: This is probably closed up already as it's pretty trivial. In the part of the spec where we describe fingerprinting considerations of "isSessionSupported": 22:12:47 topic: https://github.com/immersive-web/webxr-input-profiles/issues/267 22:12:50 ... The recommendation was that while it was an entire section, it should be pushed into the subsection above it. 22:13:23 ada: I think we got resolution on the MX ink issue...? 22:13:56 cabanier: Yes, I think I was going to make a PR to the spec to indicate that the ray should originate from the tip of the stylus 22:14:18 alcooper: Yes, I think we thought it was implied but we can make it more explicit 22:14:22 topic: https://github.com/immersive-web/webxr/pull/1394 22:14:34 ada: I hoard the minutes which could be useful for retrieval 22:15:11 ada: We are now in Unconference time! 22:15:34 ... we only have one issue identified, but now is a good time to bring up anything else you want to bring up 22:15:44 topic: https://github.com/immersive-web/proposals/issues/15 22:15:53 bajones: I'd like to talk about something regarding webGPU: 22:16:32 ... There are certain areas where the webXR spec that are fairly loose about, like the number of views returned - that webGPU would very much like to have crisper definitions around 22:16:36 q? 22:16:43 q+ ada 22:16:52 ack 22:17:20 ack a 22:17:25 ada: is this an instance where we should agree on standard numbers, to avoid fingerprinting risk, or allow device-specific values? 22:18:08 bajones: In many cases the values will be simple, like "two" - it's not necessarily about how many you _do_ get, but how many you _could_ get. 22:18:18 q+ 22:18:41 ... in the event where you're doing something like rendering for LKGlass and requiring ~40 views, there's a good chance you'll be fingerprintable anyway. 22:19:12 bajones: This is beneficial for setting ceilings for how much infrastructure to request while establishing the pipelines that webGPU is made out of 22:19:45 bajones: webGL didn't have this rigidity, but webGPU wants clearer scope for the worlst it'll be expected to do 22:20:28 ack MikeW 22:20:29 bajones: There may be benefits for webGL as well. I don't know if there are other attributes that would benefit from this specificity as well, but being able to proactively anticipate maximums is a useful exercise 22:21:15 MikeW: tentatively, keeping the maximum to two seems reasonable. We are still very early in this implementation, but I don't see where people may need more 22:21:22 q+ to mention using secondary views for accessibility 22:21:56 bajones: Varjo has some devices with multiple views and multiple levels of pixel density - however, they usually have modes that render only two at a time. 22:22:19 ... we do have ways to ask for more - using "secondary views" 22:22:45 ack ada 22:22:45 ada, you wanted to mention using secondary views for accessibility 22:23:00 ... as such, it may only matter if folks are using secondary views. Maybe we only use more when that's used. 22:23:44 ada: I had been experimenting with secondary views to generate accessibility information buffers 22:24:02 q+ to talk about autostereoscopic monitors and junk 22:24:09 ack Brandel 22:24:09 Brandel, you wanted to talk about autostereoscopic monitors and junk 22:25:14 q+ to ask about WebGPU 22:25:19 Brandel: Some display devices generate a large number of views, autostereoscopic monitors etc - but they generally require heavily-customized UAs to run them 22:25:24 ack ada 22:25:24 ada, you wanted to ask about WebGPU 22:25:41 ada: Would these values need to be established before the XRSession? 22:26:50 bajones: I would not suggest doing this outside of a session. It may be nice if you wanted to set up ahead of the session, but the buffers aren't generally going to be so huge that you'd need to do it before launching. I'd be worried about exposing this before that. 22:27:19 ada: Is adding additional content to a scene expensive as well, would it be helpful to know how many controllers a user might present etc? 22:28:11 bajones: Possibly! It may be helpful to know the maximum number of input devices. Being able to bucket to not-exact numbers, e.g. "four", may be useful. I hadn't thought about that. 22:28:19 q+ 22:28:32 ack cabanier 22:28:49 cabanier: We never support more than two inputsources at the same time - that's why we introduced `trackedSources` 22:29:20 ada: Apple hasn't yet put inputs into trackedSources yet 22:29:35 s/yet put/put/ 22:30:01 cabanier: trackedSources should be unlimited, no? That seems to be the point 22:30:50 bajones: Theoretically - if you need to show new input sources, you may be needing to create new resources for that display - that's why I say we may need to deeper thinking on it. 22:31:31 topic: https://github.com/immersive-web/proposals/issues/15 22:31:48 bajones: Even if the ceiling is "absurdly" large, like 64, it's unlikely to be harmful - it would be mostly about the maximum length of arrays. to ada's point, it would likely to pertain to both inputsources and trackedSources together 22:32:19 trevorPicoXR: This is an old issue I created a while ago - to support multiple webXR apps running concurrently 22:33:05 trevorPicoXR: since then, operating systems like visionOS have made "shared-space" apps that resolve some of these concepts, and Meta's recent announcement may include solutions 22:33:21 q? 22:33:22 ... And things like model tag may resolve some of the issues as well 22:33:24 q+ 22:34:04 ada: Vision Pro does have a context where a shared display can be achieved via "Virtual Mac" display of your connected machine 22:34:27 ada: We don't have any other apps that do that, I'm not aware of any plans for furthering that 22:34:34 ack cabanier 22:35:11 cabanier: re: the Spatial SDK, that's not multi-app. It's like a browser in some ways, that can start in 2D and then "go immersive" - composing things with layers and planes etc. 22:35:36 q+ 22:36:08 trevorPicoXR: I see. some of the desires this were related to are solved by model and the ability to see multiple objects, but some are related to other tasks like movie theatres and google docs etc. 22:36:08 q+ 22:36:33 ... There is also the idea of having more than model to support this, like with things like exokit 22:36:33 ack cabanier 22:36:47 q+ cabanier 22:37:08 ack bajones 22:37:25 bajones: Overall, it feels like we're coming at this concept from two potential ends of a spectrum. It's not clear which end gets us to this place first. 22:37:46 bajones: As you indicate, Model tag could get you into a place like that, but we're a long way away from it. 22:38:37 bajones: it seems like we're likely years and years from that being able to facilitate system like that. OTOH, WebXR is for a deep, rich, single-experience way of approaching this. 22:39:20 bajones: Looking at visionOS today seems like anything in a shared environment has to take a very different tack wrt rendering - becoming much more like Model tag 22:40:09 ack cabanier 22:40:12 bajones: it seems like you'd have to do a lot of crunching down things into a shape that's appropriate to render in something like a visionOS. It's a great goal, but I can't make a call on which way is the right side to approach the problem from. 22:40:54 cabanier: I do think it could be possible to have "cooperative stereo buffers" that could play together - I think maybe Apple proposed something to that effect 22:41:23 cabanier: Potentially by constraining interaction or views to a specific area, it should be possible 22:41:55 bajones: Based on what Rik was saying that there may be platform capabilities that I wasn't aware of that could support that. I would like to hear more about that! 22:42:11 q+ to talk about the different parts 22:42:17 ack Brandel 22:42:17 Brandel, you wanted to talk about the different parts 22:44:05 Brandel: Talked about who does the rendering being really important 22:44:19 ada: Thinks maybe we can close up! 22:44:53 atsushi: We re-chartered today! Please ask to rejoin the WG! 22:46:17 song: I am from China Mobile, where we are going to start 6G for "IMG 2030" - immersive communication is a top priority for our industry 22:47:56 ... I would like to find occasion for immersive web topics. I had thought that the CG might be a place to discuss things, but I see that it's not very active. Is there a place for a usage-focused discussion? 22:48:54 ada: This is more focused on the infrastructure that builds this, but entities like the Metaverse Standards forum may be another place to look 22:50:27 NeilT9: MSF is very professional! I will add that it is not itself a standards body 22:50:45 ... it's a neutral territory where everyone can collaborate 22:51:50 song: I work with the W3C on this, and webVR and webAR in my company 22:53:04 ada: We do have a community group, but it acts mainly as an incubation group for the WG. 22:54:32 atsushi: There is a proposal repository that contains the new features that people would like to start. it's in the CG rather than the WG. Once there is a mature understanding of the specification, we bring it to the WG. 22:54:35 rrsagent, make minutes 22:54:37 I have made the request to generate https://www.w3.org/2024/09/26-immersive-web-minutes.html yonet 22:57:18 https://discord.com/invite/webxr 22:57:21 I think 22:58:53 Apologies, but I need to drop off now. Thanks all for a productive TPAC! 23:59:59 s/scribe MikeW/scribe+ MikeW 23:59:59 s/scribe Brandel/scribe+ Brandel 23:59:59 s|topic: https://github.com/immersive-web/webxr/issues/1388||g 23:59:59 s|topic: https://github.com/immersive-web/webxr/pull/1394||g 23:59:59 i|We are now in Unconference|topic: Unconference| 23:59:59 s|topic: https://github.com/immersive-web/proposals/issues/15|subtopic: https://github.com/immersive-web/proposals/issues/15|g 23:59:59 i|Thinks maybe we can close up!|topic: AOB