18:22:15 RRSAgent has joined #immersive-web 18:22:20 logging to https://www.w3.org/2025/11/20-immersive-web-irc 18:22:24 yonet+ 18:27:43 atsushi has joined #immersive-web 18:28:40 rrsagent, make log public 18:29:07 cabanier has joined #immersive-web 18:29:15 present+ 18:29:19 present+ 18:29:25 rrsagent, this meeting spans midnight 18:32:29 present+ 18:33:21 present+ 18:35:22 present+ 18:35:29 Brandel has joined #immersive-web 18:35:36 present+ 18:36:18 agenda: https://github.com/immersive-web/administrivia/blob/main/F2F-November-2025/schedule.md 18:36:32 bajones has joined #Immersive-Web 18:37:13 topic: Monoscopic/untracked considerations for Model element #131 18:38:27 Parth has joined #immersive-web 18:38:34 present+ 18:38:40 Mike_Wyrzykowski has joined #immersive-web 18:38:43 present+ 18:38:48 Present+ 18:38:58 test has joined #immersive-web 18:39:07 present+ 18:39:08 present+ 18:39:12 Raul_Agog has joined #immersive-web 18:39:29 ruthvikkonda has joined #immersive-web 18:39:32 Mary_Agog8 has joined #immersive-web 18:39:47 zakim, choose a victim 18:39:47 Not knowing who is chairing or who scribed recently, I propose cabanier 18:39:47 present+ 18:40:10 scribenick: cabanier 18:40:11 present+ 18:40:16 ruoya has joined #immersive-web 18:40:20 present+ 18:40:38 Brandel: we're looking for macos 18:40:48 ... in stereo, the headpose is essential 18:41:01 ... we have options on how to interpret that in monoscopic 18:41:24 ... because you can see (??) 18:41:40 ... there are 2 priorities and unclear what the answer is 18:42:11 ...there's a good reason not to have transparent backgrounds in stereo but have them in mono 18:42:17 q+ 18:42:27 q+ 18:42:28 ... I'm sure there are question 18:42:39 ack ada 18:43:10 ada: is it worth having a bool attribute to say that you're exclusively monoscopic 18:43:25 ... so you get the same behavior everywhere 18:43:26 q+ 18:43:34 ack bajones 18:43:38 bajones: in general, I'd say yes 18:43:54 ... the idea that you want content reproduce the same across all medium is good 18:44:16 .. users are creating something to say that the content is transparent 18:44:35 ... having ways to opt in is great 18:44:49 ... opting into transparent may force you into monoscopic 18:45:15 ... if you set to monoscopic, maybe you expose more capabilities 18:45:38 ... I'm in favor to opt into stereo or forced mono 18:45:59 ... as you're scrolling up and down, the perspective will change 18:46:15 ... you'll see it from seeing it from the top, to the bottom 18:46:35 ... this effect can't be mimicked on a 2d screen 18:47:22 ... it feels that this could be opted in in the future 18:47:30 ... it's unclear if this is what developers want 18:48:09 ... it might be easiest that the mono attribute is always mono 18:48:20 ... having the fake perspective could be added later 18:48:29 ack alcooper 18:48:35 ... if there's camera control, it could be faked that way 18:48:54 alcooper: we already have model viewer that can do mono all the time 18:49:10 ada: I have to agree with that. These would be very similar 18:49:11 q+ 18:49:20 ... the reason to use this would be convenience 18:49:37 ... so you don't have to rely on heuristics 18:49:47 q+ 18:49:57 ... in general, you give developers a less power model viewer 18:50:08 q+ 18:50:09 alcooper: it seems that mono doesn't give any benefits 18:50:34 ada: if you always set mono, you may as well use model viewer. 18:50:46 ... having an element has benefit 18:50:52 q? 18:50:56 ack mkeblx 18:51:00 alcooper: it seems this would add extra complexity with little benefit 18:51:12 mkeblx: why would this add complexity 18:51:33 alcooper: adding an attribute is something for developers to learn about 18:52:10 ada: yes because now you have 3 different rendering modes: stereo on stereo on headsets, stereo on 2d and monoscopic 18:52:29 ruoya1 has joined #immersive-web 18:52:35 q? 18:52:38 ack bajones 18:52:41 ... I'm more comfortable that we not add an attribute (?) 18:53:03 bajones: eventually we will need to add this forced mono 18:53:17 ... but for now, it doesn't seem needed for the mvp 18:53:32 ... if someone if you want just mono, just use modelviewer 18:53:43 ... generally you use model for the stereo views 18:54:34 ... I don't think we need to stress over adding this to the first version 18:54:47 ... so now, you don't have transparent backgrounds and that's ok 18:54:57 ack bajones q? 18:54:57 q+ 18:55:00 ack Brandel 18:55:03 ... it's definitely a breaking change 18:55:32 Brandel: I have vision of (describes cool animation) 18:55:56 ... if we get to a compositional arrangement, the transparent background case becomes less important 18:56:01 q+ 18:56:04 ack mkeblx 18:56:09 ... I agree that we'll eventually get forced into this 18:56:37 mkeblx: it would be nice that you can force the mono behavior on a headset 18:56:44 q? 18:56:44 ... developers may want to do that 18:57:06 q+ 18:57:09 ack ada 18:57:11 ack Brandel 18:57:13 ada: even if we don't do it, it's ok to keep in mind that this may happen 18:57:34 Brandel: obviously, isometric is not the thing to do with model 18:58:23 ... if we wanted to create a non-tracked model, the projection mode should be orthographic 18:58:44 ... should NOT be orthographic 18:58:58 ... are devs allowed to supply a custom projection 18:59:18 bajones: this doesn't sound needed for the mvp 18:59:26 q? 19:00:23 ada: we may need to do it eventually and when we do, developers will do weird things with it. 19:01:07 ... for different projections, devs should just use webgl 19:19:00 link to the meta presentation: https://docs.google.com/presentation/d/1Ue_i9PKAoEOBnGSsT5Yy8KoC2dC6GCKeSSzd2DjaRW0/edit?usp=sharing 19:19:11 topic: Spatial CSS Interest #91 19:19:13 Brandel has joined #immersive-web 19:19:22 https://github.com/immersive-web/proposals/issues/91 19:27:07 q+ 19:28:14 scribenick:alcooper 19:28:16 ack bajones 19:28:16 q+ 19:28:32 q+ to talk a little to some of the questions posed 19:28:38 bajones: this has been talked about for a long time, and now seems like the right time to start investigating 19:28:53 ... would live to hear more about what ByteDance has done as well 19:29:06 ... Have a lot more devices where this would apply. 19:29:22 ... Biggest quetsions: How are safe volumes determined? How do things behave inside that? 19:30:01 ... Lots of existing primitves on the web for spatial-ish transformations, but they're all focused on flat contexts, and we can't just suddenly start making existing Z-indices spatial 19:30:07 ... though it'd be a shame to discard the existing work 19:30:23 ... maybe an "opt-in" for "my Z is really spatial" 19:30:43 ... no explorations myself would love to hear from those who have explored 19:30:49 ack cabanier 19:31:07 cabanier: Did some early explorations at previous company. 19:31:19 ... Definitely have questions about the volume and drawing over trusted UI 19:31:26 ... need definitions so elements show up in the same way 19:31:28 Mary_Agog has joined #immersive-web 19:32:01 ... at least for chrome seems like they combine things in "3D" space and then flatten as the last step 19:32:15 ... Questions about hit-testing/viewing back-face of elements 19:32:17 q+ 19:32:29 ... Fallback is for browsers to just keep doing what they do today 19:32:47 ada: Backface-visibility is already a concept in CSS 19:32:50 ack ada 19:32:50 ada, you wanted to talk a little to some of the questions posed 19:32:55 cabanier: Great, it's already solved then :) 19:33:13 ada: I have answers to a lot of this that I'll talk about later as well 19:33:28 ... have been speaking with CSS WG folks about best way to standardize 19:33:36 ... Incubations are done within CSS WG itself 19:34:02 ... best path forward likely to have folks join the CSS WG and attend the relevant meetings rather than incubating here 19:34:27 ... Need their expertise re: syntax, etc. 19:34:44 ... open to other opinions on how to handle this though 19:35:13 ... detached elements straight onto the 2D web doesn't feel like apprioriate starting point 19:35:32 ... All kinds of diffuclty with bringing elements outside of the browser window when not in an exclusive context 19:35:56 ... Things may need to be inside page for same reasons model needs to be inside the page; but eventually would want context to come out of the page 19:36:27 q+ 19:36:37 ... proposing wider syntax for CSS later today, but nothing outside the window 19:36:40 q+ 19:36:52 ... RE: building ontop of 2D web with auto-fallback 19:37:22 ... this was where my initial investigations were, but it ended up not being interesting except for most basic use cases 19:37:36 ... People will try to build more complex things which will immediately fail 19:38:11 ... Working on proposal to establish a spatial context within the web 19:38:32 ... e.g. an attribute or element such that children of that element get the new features and CSS behaves differently 19:38:42 ... mostly proposing new ways to use exisitng CSS, not new CSS 19:39:11 ack Parth 19:39:34 Parth: Very interested in something like this. Particularly depth 19:39:58 ... been working on a framework and developers have done cool stuff 19:40:07 ... once you jump out of the plane, have to start thinking about interaction 19:40:23 ... currently HTML can't support natural interaction in 3D space, so need to start thinking of that 19:40:43 ... No gestures/spatial tracking, and is that something for this group? 19:40:47 ack cabanier 19:41:02 Raul_Agog has joined #immersive-web 19:41:10 cabanier: Good to hear your presentation, but hope we don't have to do something completely new that doesn't work in 2D 19:41:30 ... would look differently in 2D web 19:41:42 Ada: proposal is similar, but different 19:41:55 ... some solutions are obvious and some have tricky bits 19:42:01 ack ruoya1 19:42:04 ack ruoya 19:42:46 ruoya1: Very aligned with the work we've been doing, exploring extending 2D web content into spatial environment 19:43:03 ... Really interested in Ada's proposal and making this happen 19:43:07 q? 19:56:22 Raul_Agog has joined #immersive-web 20:11:42 q+ 20:15:31 ack bajones 20:15:36 scribe: yonet 20:15:44 Brandel has joined #immersive-web 20:15:49 present+ 20:16:18 parth has joined #immersive-web 20:16:18 scribeNick: alcooper 20:16:42 bajones: Expectations for how developers would use this, considering hte meta presentation with individual elements popping out of the page, is the expectation then that I would make my entire page one big spatialfigure? 20:16:45 Ada: Please no 20:16:46 q+ 20:17:18 ... The goto thing folks think about is the most difficult thing to solve. I have thoughts that weren't part of this presentation, but there should be a way/simple syntax to do that. 20:17:32 Brandel: Some of this is similar to ByteDance's presentation. 20:17:54 ... It's still fundamnetally a rasterized layer on the page, so negative parallax doesn't make sense 20:18:13 ... second, it's a figure so it's been to be an individual figure and you're holding it wrong 20:18:39 Ada: Though people will definitely try to build whole websites out of it, and while I wouldn't be happy, we want to one day give them the right tools 20:19:08 bajones: Want to give folks "pits of success", and allow the first thing folks try to do with the API be hte right thing 20:19:19 ... I can imagine the "Hello World" being popping the button out of the page 20:19:32 ... But when the first thing that pops to mind is the thing ada doesn't like, that makes me go hmmm 20:20:00 Ada: Have to do negative to bring things out of page, and positive will sink into page 20:20:21 bajones: negative vs positive will also be a point of confusion, especially if any motion forward blits out of experience 20:20:27 Ada: I'll make a note to address that 20:20:52 bajones: Understand easy to push in and hard to pull out, but pulling out will be first developer experience/want 20:21:06 Ada: We do have a front limit that we automatically squash back if you go past 20:21:23 ... but transforms will be clipped. 20:21:30 ... (So this syntax works with 'front') 20:21:32 q? 20:21:46 bajones: Still potential for developer confusion there, since it's not doing anything 20:22:28 ... These seem like extremely powerful tools, and that's good, but it's easy to make very powerful tools that make the easy thing hard, and we already have that, it's WebGL/WebGPU 20:22:52 ... What is the first contact developers will have with these APIs? 20:23:03 ... sounds like Ada has given a lot of thought to this, but this is top of mind 20:23:28 Ada: From a standardization and implementation stand point, the route I'm proposing has "pop out of the page" somewehere in the middle of the roadmap 20:23:44 ... Are you saying it's not worth without it? Or it's just something we should be aware of? 20:23:59 q+ 20:24:09 bajones: If it's an unfortunate reality that one of the first things folks do is one of the harder things to do, handholding would be appreciated 20:24:49 ... e.g. to raise a button, you need to push the whole page in. It's not obvious at first thought, but maybe if you explain/handhold 20:25:00 Ada: The most correct thing folks could do would be to wait for hte right syntax 20:25:14 bajones: So expectation is that someday we will be at a point where we can lift things off the page 20:25:31 q? 20:25:56 Brandel: First composable, spatial context, so it does still have to be rasterized, and I'd expect browsers to need a lot of work to become full-time stereo3D 20:25:57 q+ 20:26:26 Brandel: We see a good route to this to be that this is a good place to use it right 20:26:46 parth has joined #immersive-web 20:26:49 ack cabanier 20:27:04 cabanier: Seems like the Meta and Apple proposals are fundamentally different 20:27:26 ... we're essentially augmenting standard CSS, and you're building on/augmenting model to make a scene graph 20:27:42 ... I worry that your proposal is going to be very different to specify, there's a lot of new rules and interactions to specify 20:28:03 ... also feels like developers have to learn this 20:28:26 ... seems overly complicated for what folks are trying to do, and I'm not even sure what the demand is for models to be broken apart 20:28:50 q+ 20:29:15 josh: from a designer POV, love the flexibility to incprorate WebXR flexibility into more of a style-sheet system 20:29:22 ... one thing I am concerned about is inline 20:29:44 ... Would love to se ethis be a place where folks who wouldn't otherwise build these experiences can use this to build them 20:30:13 ... if there was some "simple" tag to do "levitate on XR capable device" that's the narrative I'd love to drive 20:30:40 Ada: That's the syntax for my whole proposal, but the concern I have is that building stuff that will have effects on the existing 2D web and will exclude the existing 2D web 20:31:31 ... Need to add something to DOM tree, work out how much space you have in front, and can then work out what space you have 20:31:45 Brandel: If you do that today, then CSS compositing no longer works 20:32:04 ... Things like background blur/shadow e.tc. no longer work 20:32:37 ... These things will need to be done by a single unified compositing engine, which probably mean browsers need head poses 20:33:23 Ada: Looking at "What can we accomplish in a reasonable time frame" to get developers to experience the nuts and bolts of the spatial web 20:33:34 ... initial proposal was way too much but was essentially the end vision 20:33:39 ... this is something that's useful and can be built 20:33:51 ... love to hear how feasible this is from other developers 20:34:01 q+ 20:34:27 .... this is a pragmatic step to the future, and it's annoying that "the thing that should be easy is the hardest thing for everyone to do" 20:34:49 ... from both an implementation and standardization perspective 20:35:01 q+ 20:35:16 ack mkeblx 20:35:18 Ada: This is our thoughts after a long time working on this 20:35:37 mkeblx: Obviously with WebXR it's kind of doing what you can do on Native and then bringing it to the Web 20:35:55 ... Have spatial UI's in native apps, and what are folks doing with that? 20:36:17 ... In VisionOS have front/back thing and that's likely what's giving you some ideas here 20:36:42 Brandel: Big challenge here is that SwiftUI is a greenfield compositor 20:36:55 ... haven't convinced anyone to write a new web engine from scratch 20:37:33 bajones: No expectation/facility in native UIs to prevent user discomfort, but it's something we have to take account of on the web 20:37:59 ... offensively bad looking webpages are fine, offesnively bad looking webpages that are also poking you in the eyeball are not 20:38:09 ... native UI is free from constraints we have to consider 20:38:31 ... lots of effort is going into placing other panels around a main panel, likely won't see an equivalent to that for the web 20:39:03 Ada: maybe we can talk about that at TPAC 2026 (... or 2027) 20:39:42 mkeblx: Example of text with composition/background blur being hard 20:40:01 Brandel:

tag is fully rasterized, and would have proper CSS inside of it 20:40:18 ... render with the full fledged render engine, and then all bets are off. 20:40:30 Ada: Floating shadow between model element and behind it not possible 20:40:51 Brandel: Input is a great question. It's elevated by a good input story, but doesn't mandate on 20:41:09 ... can maybe raycast front glass and then vend as a 2D event, but can look into this in the future 20:41:27 mkeblx: Can't accurately pick then? 20:41:36 Brandel: Might be able to do raycasting to do so 20:41:51 mkeblx: Could do hover if not surfaced to the page? 20:41:59 q? 20:42:01 Brandel: That degree of separation gives us options we haven't explored it 20:42:02 ack alcooper 20:42:31 q+ lunch 20:42:34 q- 20:42:47 scribe: yonet 20:43:58 q+ 20:44:05 alcooper: I do echo a lot of Rik's concerns, I worry that there is this cool thing to do but it's too complex and I only want buttons to pop up. I see a easy way to implement that but apple's proposal is more complex and dependent on model being build. 20:44:06 q- 20:44:38 Ada: I think it is still useful without 3D content, this is not a model feature but it is a web feature 20:44:45 ack m-alkalbani 20:45:03 m-alkalbani: Syntax makes sense to me, but question is about the workflow from modeling software to web 20:45:13 ... would artist need to essentially expose three separate models? 20:45:16 m-alkalbani: I think the syntax makes sense to me but my concern is 3D creation to web part. 20:45:23 Ada: yes, top case, bottom case, and hte model itself 20:45:37 m-alkalbani: Is this too much work for hte modeler? They can't just export one thing? 20:45:48 Brandel: It depends on how much you're trying to load 20:45:54 ...isn't it a complex thing to figure out for the developer. 20:46:13 scribe:alcooper 20:46:25 Brandel: May need to elect in the tool multiple components to export 20:46:42 ... so artists are used to it 20:46:58 ... the alternative is bundling this all into a single file, but this is undesirable due to performance reasons, etc. 20:47:15 Ada: And developers would need to know how to/to look into the model (or worse unpack it into the DOM tree) 20:47:30 ... initially liked having it in shadow dom, but have soured on that over the last few years 20:47:53 m-alkalbani: spatialfigure indicates to me that it's about one thing, and these examples don't seem to be that 20:48:07 Ada: There may be some things with multiple bits out there 20:48:36 Brandel: Apple Vision Pro had a website, it showed the vision pro, made out of a bunch of different pieces, which are removal 20:48:53 ... the spatial figure would be for the entire thing, but each component is a "part" within it 20:49:24 ... may want to have labels/localize labels, but it's essentially doing one job 20:49:32 ... so maybe it is a scene, but it's a scene for one thing 20:49:39 ... and eventually we'd have a spatial context that *is* a full page 20:49:54 q? 20:49:58 ack ruoya1 20:50:00 ack ruoya 20:50:32 ruoya1: Probably need some more time to digest, but from iniital impressions this is aligned with our static 3d container api features 20:50:38 ... no conflict with other apis 20:50:56 ... 3D model element is rendered behind the webpage and not pop out correct? 20:51:02 ... We're interested in popping that out 20:51:38 Brandel: Given that entire content is a RealityKit scene in our impl, it's the kind of thing that could become independent, but going back and forth from web standard to 3d is complex 20:51:49 ... no timing or proposal for that just yet 20:52:15 Ada: If we can get a more featureful spatial pointer we think we can pull an entire volume out of a spatial context 20:52:34 ... this whole effort should work towards sitting things above the page (and letting pages know how much space above the page they have) 20:52:38 q? 20:53:04 Brandel: A space completely independet from the page vs coming out of the page are two different things to think about, and the former is certainly easier 20:54:03 bajones: One of the best ways to affect adoptions of this is to make it so that some junior dev can come three weeks later and be like "Look I added 6 lines and made the page look a lot better" 20:54:23 ... better to make it work with small tweaks rather than restructuring entire site 20:54:38 ... concerned that's a huge barrier to entry 20:55:02 ... swapping element types or adding attributes lets people trivially poke their toes into this ecosystem 20:55:43 ... we're still targeting a small userbase, so large scale refactors won't be bought off on 20:55:52 ... make the simple thing super simple 20:56:13 Ada: My intention is for the simple thing to be simple, it's just really hard to build and standardize in a way that works for the longterm web 20:56:21 ... trying to be robust for the future 20:56:26 Brandel: Can definitely do that, just can't do it first 20:57:04 ...Not sure there's a faster route that doesn't go through this 20:57:34 Ada: Is it insufficient to have "This is a thing that will take us there eventually, but we can't do the simple thing now" 20:57:42 Josh: Missing the clear simple onboard scenario 20:58:15 Ada: We're not hearing the thing that will make everyone jump up in their seat, we're proposing the thing that will give tools and make it simple in the future 20:58:46 Brandel: Pushing content into the page is 20 minutes, pulling it out of the page is a 2 million research grant and 5 years 20:58:57 ... (xkcd reference, not literally) 20:59:12 Ada: want to try to prsent simple case 21:01:10 alcooper: Easier to get buy in on the thing more folks will use 21:01:33 Ada: If it's 10 years to get the simple thing regardless of if we expose this nuts and bolts, is it not better to expose the nuts and bolts as we go? 21:01:58 ... also had to justify this, we're trying to build the spatial web, and this is the something we can get out there 21:02:17 ... vs sitting on the thing for years, and breaking the web for everyone 22:02:44 coming back at 14:14 22:02:45 yonet has joined #immersive-web 22:02:48 *14:15 22:09:16 Joshi has joined #immersive-web 22:09:26 present+ 22:12:54 present+ 22:13:16 mkeblx has joined #immersive-web 22:13:18 present+ 22:14:03 m-alkalbani has joined #immersive-web 22:20:53 Brandel has joined #immersive-web 22:21:00 present+ 22:24:44 parth has joined #immersive-web 22:24:46 q+ 22:24:55 present+ 22:25:53 ack lunch 22:26:31 zakim, choose a victim 22:26:31 Not knowing who is chairing or who scribed recently, I propose cabanier 22:26:38 zakim, choose a victim 22:26:38 Not knowing who is chairing or who scribed recently, I propose bajones 22:26:46 bajones has joined #Immersive-Web 22:26:51 present+ 22:27:26 present+ 22:27:27 ack mkeblx 22:28:07 mkeblx: RIP Daydream. :) Some people were thinking about CSS at that point. Anything there that can be pulled forward. 22:28:15 q+ 22:28:20 Mary_Agog has joined #immersive-web 22:28:48 bajones: we had josh carpenter who did a lot of spatial web design work, in fact one of the slides showed one of Josh's illustrations 22:29:30 bajones: there were some interesting pie in the sky designs, I think that a lot of the spirit of those desires still lives on but what it lacked was any serious discussion of the mechanics used to enable it 22:29:58 bajones: it was about theorising about what kind of expdedriences this could enable but we didn't have too many discussions about this is the means we would take to get here 22:30:04 ack cabanier 22:30:21 Raul has joined #immersive-web 22:30:37 cabanier: Presentations talked about pushing things back but not pulling forward? 22:30:51 q+ 22:30:58 parth has joined #immersive-web 22:31:06 ada: Once we have full spatial web proposal, we should be able to do both. spatial figure proposal can only push back. 22:31:18 cabanier: So can it be transparent? 22:31:55 Brandel: No, it's like model. Can only be opaque. Can apply background blur for elements on top of model. 22:32:33 cabanier: So if the body of the doc has a color it wouldn't show through?? 22:33:06 Brandel: It has it's own color, can change it to sync with page. Model has infinite space behind it, so not appropriate to texture. 22:33:19 ada: With spacial figure you could place an image in space. 22:34:07 Brandel: Had a bakeoff between punching through the page and current approach. People believed we needed to have compositing operations possible. 22:34:43 q? 22:34:53 ack Brandel 22:34:55 .. It's pre-rasterized, so you can see pixels when you get up close. But it lets you reason about it in the existing web stack. 22:35:47 q+ 22:36:33 ack cabanier 22:36:41 .. Even if we did separation and rendered things on top we don't have an answer for web rendering/compositing. We either need to turn web compositor into a 3D thing or abandon principles used for things like background filter. Web is sRGB, moving to a different space like Vision OS would make it look completely different. Big ask for the platform 22:36:41 to change full look to lift things off page. 22:37:23 q+ 22:37:29 cabanier: What if instead of breaking into multiple layers the whole browser window becomes a stereo display and renders left-right? 22:38:31 Brandel: Vision OS has so-far avoided sharing eye poses with shared-space apps. WebXR is not shared space. Would be possible to do that but would be analogous to what WebXR does today. 22:40:17 Brandel: Safari is a shared space app, can be up with other windows. WebXR hides everything. Model doesn't require exclusive. 22:41:01 bajones: How does model work today? 22:42:08 q? 22:42:11 ack mkeblx 22:42:16 Brandel: Images are produced by a separate process and vended over IPC as a non-inspectable surface. 22:42:32 mkeblx: But you can still composite with it? 22:42:42 Brandel: Core animation can, Webkit can't. 22:43:09 .. goal of Vision OS, broadly, is to avoid information disclosure that could be abused. 22:43:30 mkeblx: How much space do you need in front to be useful? 22:43:41 q+ 22:43:53 ack ada 22:43:55 .. If you only need a little bit of space pushing the content back solves problems. 22:43:56 q+ 22:44:02 Brandel: Yes. 22:44:30 mkeblx: If you can do model in a privacy concious way I can see the whole web working that way too. 22:45:17 ada: Full proposal supports that, up to browsers how to support. If you try to go beyond the bounds you get squashed unless you use transforms, then it clips. 22:45:46 .. it's a thing we want to do and will keep advocating for. 22:45:46 ack Brandel 22:46:34 Brandel: Two piece answer. From a technical perspective a stereo buffer can show negative parallax. Challenges with expanding things past the boundary of the rectangle. 22:47:03 .. Wiimote Demo. 22:47:59 .. content clips at the boundary of the container. But if people really wanted it you could do it with a stereo layer. 22:48:40 q? 22:48:50 .. It would mean trusted UI (Apple pay, etc) could be spoofed, since they show at a fixed distance from the page. They couldn't be clipped but may still fool people. 22:51:11 ada: Want to bring this to the CSS WG 22:51:26 q+ 22:51:32 cabanier: Shouldn't we resolve the issues we have with it first? 22:52:00 q+ 22:52:16 Brandel: Two concerns I have. and user comfort for elements coming off the page. 22:52:19 ack Joshi 22:52:52 q+ to say I don't think it's two camps 22:53:09 Joshi: My presentation wasn't really a "proposal", more of a thought started. Sounds like before we go to CSS WG we should have both the long term vision and the steps to get there. 22:53:13 ack ada 22:53:13 ada, you wanted to say I don't think it's two camps 22:53:41 q+ 22:53:47 q+ 22:54:26 ack cabanier 22:54:40 s//web rendering compatibility 22:54:41 ada: I don't think we have two camps. What you want to have is exactly where I want to be, our proposal is steps towards that. Need to get approval to present the full story. I think if you only wanted to implement part of it that's something you could do. Hoping Lawyers give OK. Syntax is different from your proposal but shouldn't be too 22:54:41 different. 22:55:39 cabanier: I think we do have two camps. If you show your content in a non-supporting browser what would show? 22:55:52 ada: HTML elements would still show. 22:56:25 cabanier: I think our proposal needs far less changes to the web plaform 22:57:08 ada: I encourage you to write that down. I'll try to put together a more complete end-to-end proposal for what we presented. 22:57:23 .. There's definitely work that should be done before we pursue either. 22:57:54 .. both sensible approaches with pros and cons. And at the end of the day it's not our decision but the CSS WG. 22:58:20 cabanier: The already approved detached element previously and took it out due to no implementers. 22:58:47 Brandel: spatial figure won't hide HTML elements inside it in non-supporting browsers. 22:58:58 cabanier: But it'll look different. 22:59:39 ada: In our proposal you could implement only the detached element part if you wanted. Wouldn't be required to punch a hole in the page. 22:59:39 q? 22:59:42 ack alcooper 23:00:17 alcooper: Feels like we have a complexity inversion in the browser implementations. What you're saying is hard to implement seems easier in Chromium-based engines. 23:01:41 .. Thinking about dev story, where eventually you want to build big things but start with something small. If we gave developers simple tools they may build more complex things with it. 23:02:03 ada: Trying to propose a first step 23:02:18 alcooper: Will people want to jump over that first step, though? 23:02:32 Brandel: WebKit is already doing it. 23:02:33 q? 23:02:36 ack Joshi 23:03:10 Joshi: Is the reason the proposal seemed to hinge on model because you couldn't talk about the other uses either? 23:03:41 ada: Talked about model because it's an interesting use, but spatial figure is useful without model. 23:04:09 .. 3D model has special cases like attaching to 3D parts, so it shows a bigger range of features. 23:04:16 q+ to mention building proposal on model 23:04:33 Joshi: Feels like it sits outside what a lot of people want to do. 23:05:24 Brandel: Adding model is useful for driving forward more forward looking use cases. "Can I attach a sword to this button?" 23:05:58 .. I should show more uses composed of exclusively 2D elements. 23:06:34 ada: One concern I have with my proposal is that if devs are excited by it they will do stupid things like putting the entire page in a spatial figure. 23:06:54 ack alcooper 23:06:54 alcooper, you wanted to mention building proposal on model 23:06:56 .. after seeing response to model I'm not as worried, but it is a potential risk 23:07:31 alcooper: If you don't provide a simple way to levitate a button you're incentivizing the bad behavior you talked about. 23:08:03 .. Understandable that you focused on model so much, but my reaction is "we don't even have model so this must only apply well down the road." 23:08:52 ada: I need to re-write the approach. Not mutually exclusive with model. Model is a reduced case of a spatial figure, but model was built first and we're taking lessons we learned from it. 23:09:05 alcooper: Can you do some of these things with model alone? 23:09:30 ada: I've hacked together demos with it, but it's not pretty. 23:09:49 alcooper: Can't you swap textures? 23:10:10 Brandel: Not with USDZ, which is like GLB. Monolithic file. 23:10:51 .. 23:11:48 q? 23:12:36 ada: Encourages cabanier to do a deeper dive on their approach. 23:13:52 cabanier: Feels like your approach is based on OS primitives which we don't have 23:14:09 Brandel: We pushed to create these primitives in the OS. 23:15:37 ada: We didn't give much thought to how native works when designing. Designed web-first and then showed the native engineers. spatial figure is the step that gets us to the point where we can get web devs looking at the syntax before it settles into a full spec that latches onto the rest of the web platform. 23:16:55 q? 23:17:22 Brandel: We would encourage folks to talk to their compositor teams. We were shocked at how hostile they were to our initial proposal. 23:17:28 23:28:32 rrsagent, publish minutes 23:28:33 I have made the request to generate https://www.w3.org/2025/11/20-immersive-web-minutes.html atsushi 23:29:21 meeting: Immersive Web Groups (WG/CG) 2025/November face-to-face Day1 23:29:45 s/yonet+/present+ yonet/ 23:30:53 i|coming back at 14:14|scribe+ bajones| 23:30:55 rrsagent, publish minutes 23:30:57 I have made the request to generate https://www.w3.org/2025/11/20-immersive-web-minutes.html atsushi 23:34:55 yonet has joined #immersive-web 23:41:21 parth has joined #immersive-web 23:43:14 bajones has joined #Immersive-Web 23:47:18 present+ 23:47:36 topic: More expressive syntax for environment map #132 23:47:48 https://github.com/immersive-web/model-element/issues/132 23:47:54 Raul8 has joined #immersive-web 23:48:02 Mary_Agog has joined #immersive-web 23:48:05 atsushi_ has joined #immersive-web 23:48:43 ada: we've covered some of the ideas here, but this proposal was precipitated by some very scary experiments by creative technologists: 23:49:22 ... stacking several models and using alpha-blending to manage light-blending. It's by far and away the most expensive way to manage a need that many people would like to try 23:50:11 ... It would be good for environment map to be able to blend lights properly, to allow different formats, and potentially different projections (cubemap vs. equirectangular, or even Spherical harmonics) 23:51:28 ...CSS gradients, other procedural methods for generating lighting. We initially proposed it as an HTML attribute because was such a constrained use case for augmenting CSS with new syntax 23:52:10 ...however, if we have or material CSS (shiny H1s etc), they would have need for an environment map, and that makes it worth pulling into CSS as a responsibility 23:52:22 q+ 23:52:26 ack bajones 23:53:08 bajones: something in the previous presentation suggested to me that a page should have an environment map. Is that a derivative of this? 23:53:43 ada: That's related to website environment/spatial backdrop as well 23:54:40 bajones: That made me think that setting a global env map might be a good thing to do on a page, and pushing that into CSS seems natural to me - overriding is good, but a decent foundation for setting things to be the same. 23:55:45 ... Understand why your CSS folks would strive for economy, but checkbox has a number of bespoke actions as well 23:56:03 ... this seems like it belongs in CSS if it flows between places 23:56:13 ... it's a lot like background-image 23:56:32 ada: yes, and syntactically, I'm looking at things that look like that 23:57:29 ... has https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/image/image-set image-set() that looks a lot like this 23:58:02 ... blending would be additive rather than source-over etc, but there are good reasons for specifying that 23:58:22 ruthvikkonda has joined #immersive-web 23:58:42 cabanier: you don't like it being in HTML because you want to add more information?] 23:59:35 ada: Yes, like `poster` it's under-specified, in terms of things like format and blending. We should retain what we have, but adding more functionality in a place where it can grow would be good 23:59:51 cabanier: we could grow it the way it is, couldn't we? 00:00:03 ada: yes, we could add key-value pairs, but it feels cumbersome 00:00:23 cabanier: are there places where only one element uses a CSS attribute? 00:01:56 ada: possibly not - but in a world where we want to to want to let people light more things, this is a good home for it 00:02:42 bajones: supporting light and dark mode is a good, simple place to justify this - it'd be possible to do it declaratively in JS, but there's a lot else about CSS that manages this "for free" 00:03:15 ada: if people can come up with other good arguments for doing this, it'll help justify the work 00:03:24 parth has joined #immersive-web 00:04:01 bajones: can you explain more about using multiple maps? 00:04:23 ada: it can be for blending, or using different lights in different parts of the scene 00:06:10 Brandel: having more control lets authors manage blending, _and_ local lighting 00:06:26 bajones: There's not a place in the web that's quite like this today 00:07:45 ... you can use the environment map _as_ the background for the element and then additively blend them, but it's a different path to uploading these things for being cubemaps. 00:08:04 yonet has joined #immersive-web 00:08:30 ... you could write a shader for doing it that way, but the compositor isn't going to benefit from it 00:08:36 q+ 00:08:47 ack mkeblx 00:09:20 mkeblx: There are some single-element CSS attributes like caption, but it's rare 00:09:44 alcooper: there are a lot of things that people _used_ to do but no longer want to let new things in 00:09:52 ada: yes, we've had that input a number of times 00:10:16 ... maybe we hold off on this until we need to use it on other elements as well 00:10:35 mkeblx: background image can stack multiple images, but it's not currently additive 00:11:40 ada: It could have environment-intensity, and a y-axis heading rotation etc. (rotating on Y is easy, the rest is scary) 00:12:01 mkeblx: could you overload some of these things to behave differently for model? Could we use background-image instead? 00:12:58 ada: if there's a world where we _do_ set env map on arbitrary HTML, we may want to do both background color and env image, but it's not clear whether we'll get there 00:13:16 mkeblx: How would we be able to work with format concerns? 00:13:28 ada: yes, image-set() provides a path to this 00:13:53 mkeblx: I would like to have the kind of control this proposal provides 00:14:13 ada: I like this because the single-attribute has a bad code smell 00:14:28 q+ Brandel 00:14:30 ack Brandel 00:15:26 Brandel: to echo Brandon there is a risk of exposing something that is intractibly difficult but syntax that makes it seem like you can do more environment maps than the system can handle would lead to developer confusion 00:15:30 q+ 00:15:34 ack mkeblx 00:16:57 mkeblx: How does Apple look at ideas and problems like shadows? 00:17:43 ada: I think there's a lot of implied complexity about the lighting environment, like where they are and how sharp they are, that aren't adequately understood simply by virtue of having an IBL. It seems like it might be a while away from being a showstopping problem 00:18:00 yonet has joined #immersive-web 00:18:15 mkeblx: Okay - what about a model element? when it's extracted from the page? 00:20:02 Brandel: I'm not sure whether we know enough to figure out where to orient and direct light 00:20:25 bajones: ARCore hallucinates a cubemap and an "estimated primary" light source so that drop-shadows can be computed 00:20:42 ... it could be inferred from an IBL, but I'm not sure of the quality you'd get 00:21:27 ... But that's the sort of thing that may need to be standardized, which can scare lawyers or jeopardize the predictability of rendering 00:22:06 ... it might be better to expose that to the author, to say "here's the prime light vector, intensity and color" 00:22:34 ada: would you like to file an issue for it? 00:22:56 bajones: I'm not as concerned with it in the page 00:23:27 ... I can see that people might ask for it - not sure it's required for MVP, but they'll want it 00:24:20 00:24:56 bajones: we _can_ do this, but have to check whether this ends up being the element 00:25:41 bajones... Maybe we let people stack ten models and suffer the consequences before immediately accommodating a piece that blows it up 00:26:22 ... touching JS for this is not ideal, but in a balance-of-harms discussion it might be the less worse 00:27:10 q? 00:27:39 ada: I think I won't push on this, but feel like it might be a useful part of a fuller proposal 00:27:41 parth has joined #immersive-web 00:28:03 ... It would be more useful in a world where it applies to more elements 00:32:23 RRSAgent, make minutes 00:32:25 I have made the request to generate https://www.w3.org/2025/11/20-immersive-web-minutes.html yonet 00:33:07 https://github.com/w3c/media-capabilities/issues/249 00:45:56 Brandel has joined #immersive-web 01:01:32 https://cabanier.github.io/three.js/examples/webxr_xr_cubes_2.html 01:25:37 cybernetic avatar intdocudive video -> https://www.youtube.com/watch?v=u0NjMfUod10 01:25:46 rrsagent, publish minutes 01:25:48 I have made the request to generate https://www.w3.org/2025/11/20-immersive-web-minutes.html atsushi 01:26:13 i|ada: we've covered some of|scribe+ Brandel| 01:26:15 rrsagent, publish minutes 01:26:16 I have made the request to generate https://www.w3.org/2025/11/20-immersive-web-minutes.html atsushi 01:26:38 chair: ada 01:27:38 scribeOptions: -final -noEmbedDiagnostics -team 01:27:41 rrsagent, publish minutes 01:27:42 I have made the request to generate https://www.w3.org/2025/11/20-immersive-web-minutes.html atsushi 01:27:57 s/-team/-public/ 01:27:59 rrsagent, publish minutes 01:28:01 I have made the request to generate https://www.w3.org/2025/11/20-immersive-web-minutes.html atsushi 01:44:20 rrsagent, bye 01:44:20 I see no action items 23:59:59 i/bajones: we had josh carpenter/scribe+ ada/ 23:59:59 s/to change full look to lift/... to change full look to lift/