IRC log of immersive-web on 2026-05-19

Timestamps are in UTC.

12:31:01 [RRSAgent]
RRSAgent has joined #immersive-web
12:31:05 [RRSAgent]
logging to https://www.w3.org/2026/05/19-immersive-web-irc
13:01:32 [m-alkalbani]
m-alkalbani has joined #immersive-web
13:31:19 [cabanier]
cabanier has joined #immersive-web
13:31:20 [Brandel]
Brandel has joined #immersive-web
13:34:30 [yonet]
yonet has joined #immersive-web
13:34:35 [Brandel]
present+
13:35:10 [Zakim]
Zakim has joined #immersive-web
13:35:45 [atsushi-bot-no-user]
meeting: Immersive Web face-to-face May 2026 day 1
13:35:53 [yonet]
present+
13:36:02 [m-alkalbani]
present+
13:36:10 [atsushi-bot-no-user]
agenda: https://github.com/immersive-web/administrivia/blob/main/F2F-May-2026/schedule.md
13:41:16 [bajones]
bajones has joined #Immersive-Web
13:41:56 [bajones]
present+
13:42:01 [cabanier]
present+
13:42:06 [parth]
parth has joined #immersive-web
13:42:10 [alcooper]
alcooper has joined #immersive-web
13:42:18 [alcooper]
present+
13:42:25 [parth]
present+
13:43:03 [etienne]
etienne has joined #immersive-web
13:44:04 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
13:44:13 [Mike_Wyrzykowski]
+Present
13:44:37 [josh-inch]
josh-inch has joined #immersive-web
13:44:39 [josh-inch]
present+
13:44:42 [Mike_Wyrzykowski]
Present+
13:45:08 [atsushi]
present+
13:45:31 [etienne]
present+
13:45:48 [yoel]
yoel has joined #immersive-web
13:46:02 [yoel]
present+
13:48:50 [Siyaman]
Siyaman has joined #immersive-web
13:49:17 [Siyaman]
present+
13:52:32 [Brandel]
Brandel has joined #immersive-web
13:52:37 [Brandel]
present+
13:53:20 [Siyaman]
Siyaman has joined #immersive-web
13:59:20 [NeilT]
NeilT has joined #immersive-web
14:00:08 [Siyaman]
Siyaman has joined #immersive-web
14:04:15 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
14:16:51 [Leonard]
Leonard has joined #immersive-web
14:20:14 [yonet]
yonet has changed the topic to: https://github.com/immersive-web/administrivia/blob/main/F2F-May-2026/schedule.md
14:20:19 [Leonard]
Leonard has left #immersive-web
14:20:58 [Leonard]
Leonard has joined #immersive-web
14:32:05 [atsushi]
rrsagent, make log public
14:43:25 [NeilT]
Link to the Open Metaverse Browser Initiative Slide Deck: https://portal.metaverse-standards.org/document/dl/8175
15:04:31 [Brandel]
Brandel has joined #immersive-web
15:04:37 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
15:04:37 [Brandel]
present+
15:04:41 [Mike_Wyrzykowski]
Present+
15:05:06 [yonet]
Slides: https://docs.google.com/presentation/d/172-ptw-kR3yybzZcOdbWwyRB34i63Pd4Iy9MfwlxkZ4/edit?slide=id.g2cc65423add_1_0#slide=id.g2cc65423add_1_0
15:10:12 [yonet]
https://webofworlds.github.io/
15:11:37 [alcooper]
alcooper has joined #immersive-web
15:11:37 [cabanier]
cabanier has joined #immersive-web
15:11:37 [cwilso]
cwilso has joined #immersive-web
15:11:37 [adekker]
adekker has joined #immersive-web
15:17:21 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
15:17:21 [Leonard]
Leonard has joined #immersive-web
15:17:21 [Siyaman]
Siyaman has joined #immersive-web
15:17:21 [NeilT]
NeilT has joined #immersive-web
15:17:21 [josh-inch]
josh-inch has joined #immersive-web
15:17:21 [parth]
parth has joined #immersive-web
15:17:21 [bajones]
bajones has joined #immersive-web
15:17:21 [yonet]
yonet has joined #immersive-web
15:17:21 [m-alkalbani]
m-alkalbani has joined #immersive-web
15:17:21 [ada]
ada has joined #immersive-web
15:17:27 [alcooper]
alcooper has joined #immersive-web
15:17:27 [cabanier]
cabanier has joined #immersive-web
15:17:27 [cwilso]
cwilso has joined #immersive-web
15:17:27 [adekker]
adekker has joined #immersive-web
15:18:42 [alcooper]
alcooper has joined #immersive-web
15:18:42 [cabanier]
cabanier has joined #immersive-web
15:18:42 [cwilso]
cwilso has joined #immersive-web
15:18:42 [adekker]
adekker has joined #immersive-web
15:21:14 [Leonard]
q+
15:29:14 [yonet]
ack Leonard
15:32:51 [yonet]
item: https://github.com/immersive-web/marker-tracking/issues/2
15:33:31 [Brandel]
Brandel has joined #immersive-web
15:33:31 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
15:33:31 [Leonard]
Leonard has joined #immersive-web
15:33:31 [Siyaman]
Siyaman has joined #immersive-web
15:33:31 [NeilT]
NeilT has joined #immersive-web
15:33:31 [josh-inch]
josh-inch has joined #immersive-web
15:33:31 [parth]
parth has joined #immersive-web
15:33:31 [bajones]
bajones has joined #immersive-web
15:33:31 [yonet]
yonet has joined #immersive-web
15:33:31 [m-alkalbani]
m-alkalbani has joined #immersive-web
15:33:31 [ada]
ada has joined #immersive-web
15:35:07 [yoel]
yoel has joined #immersive-web
15:35:07 [Brandel]
Brandel has joined #immersive-web
15:35:07 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
15:35:07 [Leonard]
Leonard has joined #immersive-web
15:35:07 [Siyaman]
Siyaman has joined #immersive-web
15:35:07 [NeilT]
NeilT has joined #immersive-web
15:35:07 [josh-inch]
josh-inch has joined #immersive-web
15:35:07 [parth]
parth has joined #immersive-web
15:35:07 [bajones]
bajones has joined #immersive-web
15:35:07 [yonet]
yonet has joined #immersive-web
15:35:07 [m-alkalbani]
m-alkalbani has joined #immersive-web
15:35:07 [ada]
ada has joined #immersive-web
15:35:16 [cabanier]
q+
15:35:25 [cabanier]
q-
15:35:43 [Brandel]
[shows screen in tabular view] - I wanted to characterize the difference between some of these things - some things _look_ like QR codes and are not, there are 1D codes
15:36:06 [alcooper]
q+
15:36:11 [bajones]
q+
15:36:23 [Brandel]
... Some that require pre-training etc. We have agreed in the past to support or start with QR, but I am curious about what the current view is about what's in scope
15:36:34 [yonet]
ack alcooper
15:37:01 [cabanier]
q+
15:37:16 [Brandel]
alcooper: looking to the future and across the openXR spec, it does look like it supports Aruco, QR and other tags. We should probably aim to make Web-facing stuff to be similarly flexible
15:37:18 [yonet]
ack bajones
15:38:03 [Brandel]
bajones: seconding alcooper's comments, and to thank m-alkalbani for taking the time to look through the issues and the state of the art properly. General thumbs-up-based consensus in the room
15:38:35 [Brandel]
... We do probably need to start with an easy consensus like QR, and make sure that it works everywhere - BUT to make the spec flexible enough to extend to that
15:38:36 [yonet]
ack cabanier
15:38:56 [etienne]
etienne has joined #immersive-web
15:39:27 [Brandel]
cabanier: Quest now supports _native_ QR code tracking, but we have found in openXR testing that there are a number of non-standard trackers with more bits - and that the browser is somehow more performant than the OpenXR tracking
15:39:40 [yonet]
ada q+
15:39:47 [alcooper]
q+
15:39:48 [bajones]
q+
15:40:04 [yonet]
q+ ada
15:40:10 [Brandel]
... I'm not sure that we _need_ this feature anymore, and have found that a lot of people have been kind of doing this on their own already. It seems like we will need to continue expanding the spec
15:40:31 [yonet]
ack ada
15:40:33 [Brandel]
bajones: I think the dino QR code _is_ a standard QR code with some of the redundant bits removed
15:40:57 [Brandel]
ada: They are standard, but typically track less well because they have dropped the redundancy
15:41:21 [Brandel]
rik: The QR tracking is for 'regular camera', rather than 'raw camera access'
15:42:03 [Brandel]
ada: I think there are some advantages to using this as an extension
15:42:23 [yonet]
ack alcooper
15:42:33 [Brandel]
cabanier: We would suffer limitations if we were to expose this as a method rather than letting users use camera for it
15:43:23 [Brandel]
alcooper: I'd support the ability to leverage this as a capability, and that there is a privacy-facing difference between camera access and QR tracking
15:43:28 [yonet]
q+ ada
15:45:13 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
15:45:13 [etienne]
etienne has joined #immersive-web
15:45:13 [yoel]
yoel has joined #immersive-web
15:45:13 [Brandel]
Brandel has joined #immersive-web
15:45:13 [Leonard]
Leonard has joined #immersive-web
15:45:13 [Siyaman]
Siyaman has joined #immersive-web
15:45:13 [NeilT]
NeilT has joined #immersive-web
15:45:13 [josh-inch]
josh-inch has joined #immersive-web
15:45:13 [parth]
parth has joined #immersive-web
15:45:13 [bajones]
bajones has joined #immersive-web
15:45:13 [yonet]
yonet has joined #immersive-web
15:45:13 [m-alkalbani]
m-alkalbani has joined #immersive-web
15:45:13 [ada]
ada has joined #immersive-web
15:45:16 [Brandel]
bajones: So you get a snapshot of the position and orientation over time, but it's not a persistent thing that appears over time
15:46:05 [Brandel]
... There is a privacy-preserving aspect to doing this as an API _even if_ the browser did this as an openXR extension. It could provide it in JS even
15:46:29 [Brandel]
... ideally the openXR implementation could be at least as good as a JS one, but that's another story
15:46:58 [Brandel]
...arguably if it's provided as a browser-level thing then we can probably do away with some aspects of permission gating
15:47:25 [Brandel]
... Even if this means it doesn't turn up as a continuously-tracked element, and that requires a separate feature
15:47:37 [yonet]
item: API Shape Considerations and Research #3
15:47:51 [Brandel]
cabanier: There are perf overheads for approaching it in this way
15:48:20 [Brandel]
alcooper: Maybe this could be sliced or gated based on HW perf categories, even if it can't be turned on everywhere
15:48:45 [Brandel]
bajones: conscious of the concern that all the things shouldn't be turned on, and that it would be good to make engines apply reasonable defaults
15:48:49 [yonet]
ack ada
15:49:03 [yonet]
ack bajones
15:49:34 [Brandel]
ada: re: tracking a single point in time, because the API surface is still in flux - would you like the API to specify if/when it is single point vs. continuous?
15:50:01 [Brandel]
cabanier: At this stage, I don't think we would implement this API at all. Developers currently have the ability to do this
15:50:34 [Brandel]
ada: Presumably firing up the camera has an impact too. Do developers typically keep the camera up for the duration?
15:50:43 [yoel]
yoel has joined #immersive-web
15:50:49 [Brandel]
cabanier: They'd have to if they were doing continuous
15:51:06 [Brandel]
ada: If this is done through the API, then it gives more choice
15:52:21 [Brandel]
bajones: My main concern about "Go build it yourself" is, as you mentioned, it requires some device-specific metrics. That means that it'll be likely to work really well on the most popular devices and be much less well-tested on other ones.
15:52:42 [Brandel]
... If we leave it to developers, they'll likely just test on the popular ones
15:53:32 [Brandel]
ada: We don't support Immersive AR sessions, so we'd need to put the QR code on your cheek because the "camera" is just the "user" camera access
15:53:56 [yonet]
q+ ada
15:53:57 [Brandel]
alcooper: Android allows the front-facing camera
15:54:01 [yonet]
ack ada
15:54:28 [Brandel]
ada: This is a great topic m-alkalbani! And also the lack of editorship. alcooper has suggested that he might be willing to be an editor?
15:54:48 [Brandel]
alcooper: Yes - I don't know when or how I will do the work, based on my availability through the end of the year, but I am interested
15:55:12 [Brandel]
ada: Great! We are all stretched very thin. and m-alkalbani, are you also willing to take this up?
15:55:19 [Brandel]
m-alkalbani: Yes, I would be happy to
15:56:30 [Brandel]
q+ lunch
15:56:36 [m-alkalbani]
Different markers (slide): https://docs.google.com/presentation/d/1CaDrz0SJrdU7N9Fi6W0txvBo4fblLP89DFSLI4-_RGI/edit?usp=sharing
15:57:04 [yonet]
Thanks m-alkalbani
16:10:39 [alcooper]
alcooper has joined #immersive-web
16:10:39 [cabanier]
cabanier has joined #immersive-web
16:10:39 [cwilso]
cwilso has joined #immersive-web
16:10:39 [adekker]
adekker has joined #immersive-web
17:13:03 [atsushi]
rrsagent, publish minutes
17:13:04 [RRSAgent]
I have made the request to generate https://www.w3.org/2026/05/19-immersive-web-minutes.html atsushi
17:13:18 [atsushi]
topic: lunch
17:13:32 [bajones]
bajones has joined #Immersive-Web
17:15:17 [yonet]
yonet has joined #immersive-web
17:16:45 [yoel]
yoel has joined #immersive-web
17:17:03 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
17:17:07 [etienne]
etienne has joined #immersive-web
17:17:09 [yonet]
item: WebXR integration with HTML-in-canvas #1414
17:17:13 [yonet]
https://github.com/immersive-web/webxr/issues/1414
17:17:15 [Siyaman]
Siyaman has joined #immersive-web
17:18:49 [etienne]
bajones: worth bringing up because progress is being made on the HTML-in-canvas, catching up everyone and looking at WebXR specific bits
17:19:07 [etienne]
... let's look at some demos
17:19:14 [yonet]
scribeNick: etienne
17:19:25 [parth]
parth has joined #immersive-web
17:19:36 [etienne]
... HTML-in-Canvas is working pretty well, pushing to standardize it soon-ish
17:20:11 [etienne]
... (looking a WebGL demo with selectable HTML text)
17:20:51 [etienne]
... (looking at a glass effect demo with interactive HTML in WebGL)
17:20:58 [etienne]
... check out html-in-canvas.dev
17:22:26 [etienne]
etienne has joined #immersive-web
17:22:51 [etienne]
... you can use any html elements (buttons...). Elements need to be a child of the canvas element, they can get 3D transforms, events "fall through" the canvas
17:22:54 [yonet]
yonet has joined #immersive-web
17:23:36 [etienne]
... so events work but you're limited to what 3D CSS transforms support
17:24:09 [Brandel]
Brandel has joined #immersive-web
17:24:13 [Brandel]
present+
17:24:18 [yoel]
yoel has joined #immersive-web
17:24:37 [etienne]
... this falls apart for WebXR, the "html on a ball" use-case
17:25:13 [etienne]
... so we want to discuss the input story for WebXR, but we should be able to adopt all the rest
17:25:18 [yonet]
q+ ada
17:25:27 [cabanier]
q+
17:25:29 [Brandel]
ack lunch
17:25:50 [etienne]
... if we come up with a solution applicable outside of XR we should definitely make everything better, but we may end up with divergent solutions
17:26:31 [etienne]
ada: we have an analog with 2D quad layers
17:26:54 [bajones]
bajones has joined #Immersive-Web
17:27:12 [etienne]
... we can raycast to layers and get 2D coordinates. it doesn't solve "html on a ball" but it could give use interactive html
17:27:31 [etienne]
... and let canvas people solve "html on a ball" for generic shapes
17:27:54 [yonet]
ack ada
17:27:55 [etienne]
... but there's the question of how much to we trust these events (as opposed to layers where we own the geometry / events)
17:27:56 [bkardell]
bkardell has joined #immersive-web
17:28:00 [bkardell]
present+
17:28:40 [etienne]
bajones: if the developer could map to x/y it solves the "ball problem" (but ada was mentioning browser-resolved x/y)
17:29:14 [etienne]
... maybe we don't need to solve the "ball problem" right away, maybe layers work
17:30:51 [etienne]
ada: the developer is responsible to use the target ray space
17:31:11 [NeilT]
NeilT has joined #immersive-web
17:31:40 [etienne]
bajones: still need to handle teleportation, and we might want some sort of cursor analog so that the user can see where you're pointing
17:32:12 [etienne]
ada: we'd probably want this cursor to be a user-agent concern, needed for visionOS
17:32:35 [etienne]
bajones: for vision, the captured HTML would not include any of the highlights
17:32:41 [etienne]
ada: yes
17:33:11 [etienne]
ada: but we could map highlight regions, as long as it's a quad
17:33:15 [Mike_Wyrzykowski]
q+
17:33:26 [etienne]
bajones: might need to know about other environment factors (like fog between the user and the layer)
17:33:52 [etienne]
ada: another tricky thing about layers is that right now they don't occlude each-others, you can't give a depth-map
17:34:18 [etienne]
cabanier: you can mimic it
17:35:12 [etienne]
bajones: we also need a way to toggle input on/off
17:35:53 [etienne]
ada: one analog: the API for dom-above-AR where you can cancel rays
17:36:12 [etienne]
bajones: that might just work with the current HTML-in-canvas approach
17:36:20 [etienne]
... just need an opportunity to preventDefault
17:36:22 [yonet]
ack cabanier
17:36:42 [etienne]
cabanier: is your proposal for this to only work for layers?
17:36:46 [etienne]
ada: just the input part
17:37:17 [etienne]
bajones: maybe layers are not necessary, just a convenient way to constrain it to "quads in space"
17:37:54 [etienne]
cabanier: everything has to be same-origin
17:38:11 [etienne]
bajones: and everything needs to be a child of the canvas element, which can't include iframes
17:38:48 [etienne]
bajones: layers might still simplify things (already has transforms), but we could plumb that information to a new API
17:39:16 [etienne]
ada: you could even do arbitrary shapes with the UV-map
17:39:24 [etienne]
... feels hacky
17:40:02 [etienne]
bajones: pointer do some extra stuff
17:40:16 [etienne]
ada: yes the three.js implementation is full of hacks
17:40:29 [etienne]
cabanier: we want to OS to do most of it
17:41:05 [etienne]
bajones: do we have scenarios that can't be fully captured with an x/y mapping (advances gestures)?
17:41:12 [etienne]
... might be safer to restrict to a quad
17:42:26 [etienne]
... if we do this kind of interactions we need the browser to synthesize events, what does the browser need? needs more research
17:42:39 [etienne]
ada might setup a joint meeting
17:43:12 [etienne]
cabanier: could we just adopt their proposal? have the CSS transforms represent the quads in space
17:43:19 [Brandel]
q+
17:43:21 [etienne]
... without layers
17:43:51 [etienne]
... layers could give you more information about what needs updating
17:44:44 [Brandel]
q-
17:44:48 [yonet]
item: WebXR integration with HTML-in-canvas #1414
17:44:53 [etienne]
bajones: with or without layers, informing the browser of the positioning let's us tightly scope the WebXR specific bits
17:45:34 [yonet]
ack Mike_Wyrzykowski
17:45:51 [etienne]
Mike_Wyrzykowski: for translucent layers, do we have a way to indicate that ray casting can poke through the translucency?
17:46:16 [etienne]
bajones: that's a good question, we would probably inherit a lot of the basic DOM behavior
17:46:57 [etienne]
... a reliable way to do that might be to have a transparent div at the back, and let events hitting it pass through
17:47:52 [etienne]
... it could get messy, but I think we can do it without additional mechanism
17:48:22 [etienne]
yonet: action item is to arrange a meeting to learn more about the html-in-canvas rationale
17:48:40 [etienne]
bajones: do we agree that starting with "quad in space" makes sense?
17:48:48 [etienne]
(no complaints)
17:49:17 [etienne]
... especially for interactive content, you don't want to get too crazy with the shapes
17:49:55 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
17:50:11 [Mike_Wyrzykowski]
Present+
17:50:12 [parth]
present+
17:50:16 [Siyaman]
present+
17:50:19 [yonet]
Zakim choose a victim
17:50:20 [cabanier]
present+
17:50:20 [bajones]
present+
17:50:20 [josh-inch]
present+
17:50:49 [yonet]
Zakim, choose a victim
17:50:49 [Zakim]
Not knowing who is chairing or who scribed recently, I propose Siyaman
17:51:01 [yonet]
chair: yonet, ada
17:51:35 [yonet]
scribeNick: Siyaman
17:51:44 [yonet]
item: How can we expose foveation? #32
17:52:12 [Siyaman]
cabanier How can we introduce foveating rendering in WebXR
17:52:45 [bajones]
q+
17:53:21 [Siyaman]
cabanier Under the hood we expose foveation to texture under the hood. Hopefully for WebGPU we can make it more explicit. The thing in Vulkan at least, OpenXR exposes a swap chain. The lower the value the rougher it renders on the GPU
17:53:29 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
17:53:45 [yoel]
yoel has joined #immersive-web
17:53:49 [Siyaman]
cabanier Some implementations may want to vary the foveated rendering level
17:54:32 [bajones]
WebGPU discussion of Variable Rate Shading: https://github.com/gpuweb/gpuweb/issues/450
17:54:40 [yonet]
ack bajones
17:54:41 [Siyaman]
cabanier The way we can expose is it when we get the texture for color and binding we can also expose it to the WebGPU extension
17:55:47 [Siyaman]
bajones Variable ray shading was discussed with WebGPU group. There is some discussion on their end, Metal, Vulkan and D3D expose something different.
17:55:55 [Mike_Wyrzykowski]
q+
17:57:07 [Siyaman]
bajones Like I said the WebGPU group is enthusiastic about and want to see happen. This is definitely the main reason to implement. Question to you: Would it be better to expose the foveated rendering value
17:57:41 [Siyaman]
cabanier I'm not sure how it works with WebGPU and maybe need to be attached to render pass
17:58:11 [Siyaman]
bajones It will be difficult for the browser WebGPU itself needs to patch it into the render pass
17:58:23 [Siyaman]
cabanier Developer may render to the swap chain
17:58:50 [Siyaman]
cabanier We need something in WebGPU
17:59:48 [Siyaman]
cabanier My main ask is to expose the texture and not just the level. The foveation level updates the texture
18:00:03 [Siyaman]
cabanier How long do you think it will take
18:00:20 [Gareth1]
Gareth1 has joined #immersive-web
18:00:23 [Siyaman]
@bajones Hard to say since it has a dependency on WebGPU WG
18:00:41 [Gareth1]
q+
18:01:02 [Siyaman]
@bajones Without this we're at a disadvantage
18:02:11 [Siyaman]
@bajones On the WebXR side we can expose the texture without knowing the exact details. Going through the design of swap chain process will help us take it to the WebGPU folks. When talking about swap chain we have a couple of pseudo swap chains.
18:02:43 [Siyaman]
cabanier When we call view.texture we get the sub image
18:03:11 [Siyaman]
cabanier I guess it won't work for foveated layer, but I'm not sure if anyone is doing that
18:04:48 [yonet]
ack Mike_Wyrzykowski
18:04:54 [Siyaman]
@bajones Everytime we talk about this I bring up eye tracking. If we return a detailed foveated rendering texture for highligting content it will leak the eye tracking data. To do high quality foveated rendering would leak privacy data. Does Apple have multiple static foveated texture maps that would help with this
18:05:15 [Siyaman]
Mike_Wyrzykowski how would you do this with linear interpolation systems
18:06:12 [Siyaman]
@bajones You can track in big blocks that the user was looking here and then there. Then spend the foveation effort in that area
18:06:44 [Siyaman]
@bajones You've to overlap the foveated rendering maps so that there's enough detail for high resolution
18:07:16 [Mike_Wyrzykowski]
q+
18:07:51 [Siyaman]
ada I need to talk about it internally. I don't think we would want to do this the same way where there's no read back from the developer.
18:08:15 [Siyaman]
Mike_Wyrzykowski It's possible but I'm not sure about the linear eye tracking vector
18:09:10 [cabanier]
q+
18:09:15 [Siyaman]
ada It's making me ick, the performance benefits are great and maybe we're willing to make the tradeoffs. Only willing to do this route if the WebGPU can gurantee that the textures cannot be read back
18:10:10 [Siyaman]
@bajones In WebGPU you can specify the texture type. We can invent that this is a variable render texture to say that it's being used for foveated map texture
18:11:40 [alcooper]
q+
18:11:45 [Siyaman]
@bajones The foveation map that comes out this API is only used for foveation so that the API limits read back. This is not completely perfect because there are possible timing attacks on a sidechannel. However in this specific use case I don't think that would be problem because it requires the user to stare at a single location for a while
18:12:20 [yoel]
yoel has joined #immersive-web
18:12:35 [Siyaman]
@bajones In general there would be a fuzzy gaze map and the device needs to expend lot of resources to do the foveated texture hack.
18:13:37 [Siyaman]
ada Can you prevent the blue sky texture from being loaded in texture map and mark as not read back possible
18:13:54 [Siyaman]
@bajones I need to do more investigation on it
18:13:54 [yonet]
ack Mike_Wyrzykowski
18:15:32 [Siyaman]
Mike_Wyrzykowski I like that idea and would allow us to do foveated rendering texture. How would the 0-1 foveated rendering value be affected. Is there a performance benefit of doing it via texture.
18:15:57 [Siyaman]
cabanier Yes there will be performance benefit
18:17:07 [Siyaman]
@bajones We could add something to WebGPU to do 0-1 foveated to render path
18:17:13 [yonet]
ack Gareth1
18:17:37 [bajones]
bajones has joined #Immersive-Web
18:17:43 [yonet]
ack Gareth
18:18:31 [alcooper]
q-
18:18:38 [Siyaman]
Gareth1 We definitely want the WebGPU/WebXR feature integrated. Would it be exposed to the application foveated rendering. The current WebGL implementation is totall opaque. But in the WebGPU version we can use it in our rendering in a restricted way
18:18:45 [Siyaman]
cabanier Yes
18:19:01 [Siyaman]
Gareth1 Is it based on a OpenXR extension
18:19:19 [Siyaman]
cabanier I can look it. You definitely have to enable Vulkan
18:19:53 [yonet]
ack cabanier
18:20:01 [Siyaman]
cabanier It's experimental in Quest and Android XR. You can use it Vision Pro today
18:21:09 [Siyaman]
ada Can the new usage limit be used
18:22:47 [Siyaman]
@bajones You can change the output of your rendering be affected by the foveated level. You can output a heat map. You end up creating a chain of anything that uses this has a restricted set of usages. You remove the clean restriction that this API only these type of things to anything that uses the API have to follow the restrictions.
18:23:20 [Siyaman]
ada Can you update the textures so that when you use it on VR you get a texture or otherwise it's blank
18:24:23 [Siyaman]
@ada If this is anything like Canvas it would tank it
18:24:25 [Brandel]
q+
18:24:35 [Mike_Wyrzykowski]
q+
18:25:17 [Siyaman]
cabanier The other thing that was proposed is that you've 9 different foveated textures and the system will switch between the maps. But users will complain than have full fuoveated rendering
18:25:57 [Gareth1]
We'd be happy to see WebGPU-WebXR released without foveation (or just the existing opaque 0-1 toggle we have at the moment) , and then see eye-tracked foveation as a seperate extension
18:26:00 [yonet]
ack Brandel
18:26:09 [Siyaman]
@bajones Having fixed foveation is less effective than eye tracking foveation. Having eye track is cherry on top, we should focus on fixed foveated rendering
18:27:23 [Siyaman]
Brandel all foveation has fixed temporal vision, on Vision Pro it's much more continuous than on Quest. It has both temporal and spatial foveated rendering. The dynamic and fixed have enough in common it's worth to reconcile those two
18:27:40 [Siyaman]
cabanier By using a texture will future proofing the feature
18:27:43 [Siyaman]
cabanier By using a texture will future proofing the feature
18:28:34 [Siyaman]
Brandel We may add onFoveationChange so that we can report foveation events. In case we did change those things
18:29:48 [yonet]
ack Mike_Wyrzykowski
18:29:49 [Siyaman]
@bajone I guess what you're getting at is that the foveation rendering could change. I think it's good to have that setup in the future even though we're now starting with fixed foveation. For now it could return the same handle for fixed foveaation.
18:31:35 [bajones]
bajones has joined #Immersive-Web
18:31:56 [Siyaman]
ada If you do derivatives that late in the game, you have to move foveation later. You may not want to do SSAO on the foveated content. I don't it would be too much of a problem
18:43:05 [Sean]
Sean has joined #immersive-web
18:56:42 [yonet]
yonet has joined #immersive-web
18:57:16 [yonet]
item: Discussion topic, Untracked stereoscopic inline sessions #1348
18:57:21 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
18:57:23 [Mike_Wyrzykowski]
scribe+
18:57:45 [yonet]
scribeNick: Mike_Wyrzykowski
18:58:41 [yonet]
https://github.com/immersive-web/webxr/issues/1348
18:59:10 [yoel]
yoel has joined #immersive-web
18:59:27 [Brandel]
Brandel has joined #immersive-web
18:59:57 [Brandel]
present+
19:00:31 [Mike_Wyrzykowski]
cabanier discussion regarding stereoscopic content in inline sessions
19:00:47 [yonet]
present+
19:01:07 [Mike_Wyrzykowski]
cabanier requires user permission prompt for tracking purposes
19:01:09 [yoel]
yoel has joined #immersive-web
19:03:05 [Mike_Wyrzykowski]
cabanier (demo of inline stereoscopic content to the room / call)
19:03:22 [bajones]
q
19:03:25 [bajones]
q+
19:03:30 [Siyaman]
q+
19:03:34 [yonet]
q+ ada
19:03:39 [yonet]
ack bajones
19:03:55 [Mike_Wyrzykowski]
Brandel is the head-tracking pose coming out of WebXR?
19:04:24 [Mike_Wyrzykowski]
cabanier no, extension on WebGL for view projection matrices
19:05:32 [Mike_Wyrzykowski]
Brandel how valuable would it be just to have the ability to do stereo canvas without head-tracking?
19:05:58 [Mike_Wyrzykowski]
cabanier agrees with Brandel that it would be valuable, e.g., for stereoscopic video
19:06:00 [Brandel]
s/Brandel/bajones
19:07:40 [Mike_Wyrzykowski]
ada wouldn't require WebXR spec changes, rather request inline session with head tracking
19:07:59 [Mike_Wyrzykowski]
cabanier seems overly complicated to couple to WebXR
19:08:06 [Brandel]
q+
19:08:44 [mkeblx]
mkeblx has joined #immersive-web
19:10:08 [Mike_Wyrzykowski]
bajones may require pulling in HTML canvas spec
19:10:48 [yonet]
ack Siyaman
19:11:28 [Mike_Wyrzykowski]
Siyaman can't look around, but can see the sides
19:11:52 [Mike_Wyrzykowski]
bajones just like a portal / window
19:12:08 [yonet]
ack ada
19:12:50 [Mike_Wyrzykowski]
ada almost all the way to <model> on visionPro
19:12:53 [Mike_Wyrzykowski]
cabanier could be used to emulate <model>
19:13:26 [Mike_Wyrzykowski]
ada looking for interest in <model>
19:13:39 [yonet]
ack Brandel
19:14:30 [Mike_Wyrzykowski]
Brandel directly analogous to <model> with a lot of solution
19:15:25 [bajones]
q+
19:15:29 [Mike_Wyrzykowski]
Brandel challenge from untracked context: may look more wrong than correct if not staring in the correct location
19:18:18 [Mike_Wyrzykowski]
@ada one could perform monoscopic adjustments based on where the inline session is located
19:19:17 [Mike_Wyrzykowski]
cabanier agrees and comment that tracked would be better
19:20:07 [Mike_Wyrzykowski]
Brandel might be better to be based on WebXR
19:20:22 [yonet]
ack bajones
19:20:24 [Mike_Wyrzykowski]
cabanier WebXR would pull in a lot more than what is needed
19:20:57 [Mike_Wyrzykowski]
bajones stereoscopic without head tracking -> people will try to do it anyways
19:21:09 [Mike_Wyrzykowski]
bajones example, movie theaters
19:21:47 [Mike_Wyrzykowski]
bajones head tracking should be an option, avoid case where site requests head tracking to show any stereo content
19:23:05 [Brandel]
q+ ada
19:23:20 [Mike_Wyrzykowski]
bajones WebXR -> vetted and tested, preferable over having yet another way to expose the data, recommends something similar to inline session in WebXR
19:24:00 [Mike_Wyrzykowski]
bajones personally prefer not to re-invent the wheel even though WebXR is over-built for this use case
19:25:26 [yonet]
ack ada
19:25:56 [Mike_Wyrzykowski]
cabanier don't need anything new, three.js works with it
19:26:10 [Brandel]
q+
19:26:20 [yonet]
ack Brandel
19:26:45 [Mike_Wyrzykowski]
Brandel XR controllers could be useful
19:27:05 [Mike_Wyrzykowski]
cabanier no 6dof position from the controllers currently
19:27:57 [Mike_Wyrzykowski]
Brandel pointer events could work, they have rotation and width
19:29:29 [Mike_Wyrzykowski]
bajones separate session per canvas could provide the matrices
19:29:50 [Mike_Wyrzykowski]
Brandel could adjust spec language for more nullability
19:29:56 [yoel]
yoel has joined #immersive-web
19:31:28 [Mike_Wyrzykowski]
bajones would need some changes from how canvas works right now
19:32:05 [Mike_Wyrzykowski]
ada what happens if you write too big of a buffer?
19:32:14 [Mike_Wyrzykowski]
bajones the spec says to resize the buffer to the canvas
19:32:42 [Mike_Wyrzykowski]
q+
19:33:29 [Mike_Wyrzykowski]
cabanier could bypass standards via WebXR
19:33:36 [yonet]
ack Mike_Wyrzykowski
19:33:59 [Mike_Wyrzykowski]
ada WebXR is a standard :)
19:34:31 [Mike_Wyrzykowski]
Mike_Wyrzykowski could use layers to avoid canvas size restrictions
19:36:15 [Mike_Wyrzykowski]
bajones makes most sense to produce content with WebGL / WebGPU, feed to compositor to try out concept
19:36:33 [Mike_Wyrzykowski]
alcooper would need to understand limitations, offline
19:38:23 [atsushi]
sorry, my zoom client application on Win crashed...
19:38:27 [yonet]
item: Expose where buttons and other components are located on controllers #1428
19:38:47 [yoel]
scribeNick yoel
19:40:13 [yoel]
ada made a tool to help annotate the buttons and such. Put info in both a json file and a gltf
19:41:07 [cabanier]
q+
19:41:26 [cabanier]
q-
19:42:59 [yoel]
ada not showing a demo at the meeting but link is available from the GitHub issue
19:44:17 [yoel]
ada if there are new hardware controllers that people want to add support for, they can do that/talk to ada
19:44:34 [Brandel]
q+
19:44:44 [yonet]
ack Brandel
19:45:33 [yoel]
Brandel are there file formats for semantically referencing transforms? Does GLTF?
19:46:43 [yoel]
bajones on gltf, you can just use nodes. You can give different nodes names but not much in the way of accessibility
19:47:00 [Leonard]
q+
19:48:29 [yoel]
bajones there are efforts in gltf for composing geometry
19:48:31 [yonet]
ack Leonard
19:49:25 [yoel]
Leonard gltf does support metadata at node level, which can be useful for accessibility
19:50:41 [yonet]
item: [W3C-wide survey] Impact of AI technologies on Immersive Web Working Group's mission #241
19:50:53 [yonet]
https://github.com/immersive-web/administrivia/issues/241
19:52:38 [yoel]
atsushi w3c looking for impact of AI on our group/industry. If anyone has any thoughts/insights to weigh in on they should add it to the issue
19:54:11 [yonet]
We'll be back in 7 minutes taking open mateverse browser questions
19:54:30 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
20:02:06 [Leonard]
It appears that the room Zoom connection was closed.
20:02:40 [yonet]
I see you on zoom Leonard
20:02:50 [yonet]
You don't see the room?
20:03:13 [yonet]
Ada is getting ready to screen share, we'll be back.
20:03:23 [Leonard]
I see the individuals signed into Zoom. The screen share says Safari can't connect to the server
20:04:08 [yonet]
item: Site Rebuild #108
20:04:13 [Leonard]
... It is ada's screen. There is no audio. Everyone is muted.
20:04:28 [yoel]
yoel has joined #immersive-web
20:08:35 [yoel]
ada it's well past time to update the immersiveweb.dev website!
20:09:26 [mkeblx]
mkeblx has joined #immersive-web
20:09:28 [yoel]
...instead of a table of supported devices that's impossible to support, it now shows what the user's browser supports
20:10:09 [yoel]
...and it has sections with a live webxr demo and info about the <model> element
20:10:20 [Leonard]
q+
20:11:37 [yonet]
ack Leonard
20:11:55 [Brandel]
Brandel has joined #immersive-web
20:12:03 [yoel]
Leonard please include credits/license information
20:12:04 [Siyaman]
Siyaman has joined #immersive-web
20:12:12 [yoel]
ada already included!
20:12:48 [yoel]
Leonard could be a good idea to run it through the W3C accessibility checker
20:13:01 [Brandel]
q+
20:14:46 [yonet]
ack Brandel
20:14:47 [yoel]
Brandel could be useful to have a deep link to the "does your device support WebXR" section
20:16:09 [yoel]
ada looking for input on a demo to be the WebXR example on the landing page
20:16:49 [yonet]
https://cdn.rp1.com/decks/MSF-Open-Metaverse-Browser-Initiative-W3C.pdf
20:29:57 [yoel]
yoel has joined #immersive-web
20:35:16 [Mike_Wyrzykowski]
Mike_Wyrzykowski has joined #immersive-web
20:39:09 [Brandel]
Brandel has joined #immersive-web
21:01:01 [yonet]
https://share.google/Fblhot1zuHMMNJzPm
22:32:14 [Zakim]
Zakim has left #immersive-web
22:42:46 [atsushi]
rrsagent, publish minutes
22:42:48 [RRSAgent]
I have made the request to generate https://www.w3.org/2026/05/19-immersive-web-minutes.html atsushi