 There's a lot of observers that I don't know why we have them Okay, because a lot of them. It's just sort of like or this doesn't feel like an event or or this is batched work Or something like that and and the go-to has been to create and Observer for it and really don't need that. We could just you know the three observers right now Mutation mm-hmm resize mm-hmm intersection mm-hmm. I can also come up with three Anyone who's done some work with CSS at some point at using responsive stuff with media queries and such has Kind of had the idea ha this media query stuff is okay But what I really would like is a way to style this element differently to how big this element is and then Go on Twitter and say they have had a bright idea or file a bug about her and I'm basically saying what I did By the way, this is what I did it years ago and we're like yes. Yes. We know yeah many people have had this idea the reason we can't just have element queries is you know because you can end up with a Query which changes based on width and as a result it changes width and you end up in An infinite loop bad idea right that seems pretty bad So there's a web standard called resize observer and it's stable in Chrome and it is yet for an element You just say that element there Observe yeah, let me let me know when it changes size. All right, that's cool And that so that means you can react. It's a JavaScript API so you can react with JavaScript exactly So so we are back at the infinite loop problem. So I was reading your article and you've got a section on on that Well, do I you've got a little bit a little bit of text on it Changes will only be processed in the same frame if the resize element is deeper in the DOM tree than the shallowest element Processed in the previous callback. That's a weird menu. Perfect So, but that's just words That's just some words you like in an order. I think I explained it pretty concisely. It's actually what I wrote Yeah, talk us through it. Okay. I'm just saying I don't understand so I'm okay. So imagine You have an element That has children as you know is common and you call resize observer dot observe on this element on on on the parents Yeah on the big all right. All right. All right. That means whenever this element changes size You will get a callback and you can react to it cool. Excellent. Yep So now let's assume you also call another research observer observe on one of the children Okay, because as a result of the parent changing size the children could change so you want to be notified about both So both research observers would fire Their callbacks and you would get notified right Let's assume and a third thing that in one of the children's callbacks I change the parent's size. It's JavaScript. That's possible, right? I can just change anything in the launcher and it could even be done implicitly by changing the size of the child Which would potentially if it's just text flow or just append some text, right? Okay parent could suddenly grow and then Technically the outer the bigger research observer from the outer element would have to fire again And the smaller one probably as well And then it could say I'm happy again and again and there's usually and how we break this loop is with the rule that Readers observers all the research observer will fire in the same frame before layout and if you change within the same They will also fire within the same frame Unless the change has been made to an element that is of the same level or higher up at the dorm tree So it's like in terms of how we talk about events capturing. It's sort of it's a reverse bubbling. Yeah, we're capturing So that's that's the so that's the direction it goes so I can only you can only have multiple invocations of your callbacks Downwards of the tree, but if you if some of them that are high up in the tree would have to refire That would be delayed until the next frame So what you're saying is that the the change is only processed in the same frame if the the resized element is Deeper in the dump. Yeah, then the shallowest element processed in the previous callback. That's exactly what I'm saying That's also exactly what I wrote Makes sense now. It's perfect. You should You should have put that in the article like you did. I was I think at the end I I think I remember writing this article There were lots of things changing and so I got a bit annoyed because I was I think I was working on an animation And now at the end I was like Just copy and paste that from the spec job done, right? Well, yes, I like it I think we should keep it in the browser and I think other people should implement it That's that's us doing advocacy. Yeah, that's like other people should Please we didn't give that we didn't give that a trendy weightless CSS name. Oh, did I did I did it? Um, Layout enhancer layout enhancer that's I think I get a lot of emails about that to my span folder It's a real cafe. It's a real cafe. Yeah, of course where does math for the podcast could be anywhere? Now when we do the two-minute segments, I want that is the nice