> So it's effectively a net+DOM+script-only browser with no style/layout/paint.
> ---
> Definitely fun for me to watch as someone who is making a lightweight browser engine with a different set of trade-offs (net+DOM+style/layout/paint-only with no script)
Both projects (Lightpanda, DioxusLabs/blitz) sound very interesting to me. What do you think about rendering patterns that require both script+layout for rendering, e.g. virtual scrolling of large tables?
What would be a good pattern to make virtual scrolling work with Lightpanda or Blitz?
So Blitz does technically have scripting, it's just Rust scripting rather than JavaScript scripting. So the plan for virtual scrolling would likely be to implement it in Rust.
If your aim is to render a UI (ala Electron/Flutter) then we have a React-style framework (Dioxus) that runs on top of Blitz, and allows you access to the low-level Rust API of the DOM for advanced use cases (although it's still a WIP and this API is a bit rough atm). I'm also hoping to eventually have a built-in `RecyclerView`-like widget for this (that can bypass the style/layout systems for much more efficient virtual scrolling).
Thanks! But I meant JS based virtual scrolling in web pages. E.g. dynamic data tables that only render the part of the table that fits in the viewport.
For scrolling, when using Intersection Observer, we currently assume all elements are visible. So, if you register an observer, we will dispatch an entry indicating an intersection with a ratio of 1.0.
I love this. We need more experimenting with UX status quo. Especially with drag and drop, which, I think all many would agree, is one of the not ideal UX patterns espacialy with scrolling involved.
The research is never over. Good ideas, bad ideas, doesn't matter as long as they continue to inspire.
if you read kernighan's book (he was there man) about the history of unix or whatever, it's quite a lovely read and talks a lot about the motivations and origins of unix, and hopefully some new unix tools for even the experienced unixbeard. anyway, if you read that book, it's quite clear that quite a bit of effort was made at bell labs for technology related to printing and typesetting. I think it is from this for example ken thompson was famous for being like "I'm going to rewrite this firmware" in the afternoon, and knowing nothing of the architecutre or anything, had a firmware by that evening. I mean that's pretty sick speed.
> ---
> Definitely fun for me to watch as someone who is making a lightweight browser engine with a different set of trade-offs (net+DOM+style/layout/paint-only with no script)
Both projects (Lightpanda, DioxusLabs/blitz) sound very interesting to me. What do you think about rendering patterns that require both script+layout for rendering, e.g. virtual scrolling of large tables?
What would be a good pattern to make virtual scrolling work with Lightpanda or Blitz?