6 ms·
So I think that's an easy way to achieve ecstasy for you then. I suggest giving it a try. A good place to look for how one could do this, is https://github.com
by polyglotfacto 8mo ago
So I think that's an easy way to achieve ecstasy for you then. I suggest giving it a try.
A good place to look for how one could do this, is https://github.com/DioxusLabs/blitz/tree/main https://github.com/DioxusLabs/blitz/tree/main
That project I consider a proper POC of a web engine, even though it doesn't even run javascript. Why? Because it has a nice architecture built around a clear idea--radical modularity--which could scale-up to a full web engine one day, despite major challenges remaining.
I think that with AI assistance, if you had some idea, you could reshuffle components of Blitz and have your own thing rendering to the screen within a day.
let's say you had a more ambitious goal, like taking Blitz and adding a JS engine like Boa. Well if you had some clear idea on how to do it, you could get a nice little POC in a week or two.
Basically what I'm saying is that yes the AI would save you a ton of typing and you'd be able to iterate on your idea. There are plenty of layout/graphics/Js components out there to choose from, so you could ensure a relatively small and clean POC.
Someone doing that, with or without AI but with a good idea, would impress me.
FastRender on the other hand is just this humongous pile of spaghetti, and my guess is it still is entirely dependent on existing libraries for actually showing something to the screen.
So that's the clear fail of the agent in my opinion: why produce so much code when it could be done so easily otherwise. Also, why bs yourself into these architecture docs and pretend you are following the specs when in fact you are not?
Everytime I try to browse the code I give up, mostly because when I look at something to try to understand how it fits into the whole, I end-up realizing it's only used in some unit-test.
For a quick comparison:
- https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed30c1f97ac473632755a08a/packages/blitz-paint/src/render.rs https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed3...
- https://github.com/wilsonzlin/fastrender/blob/19bf1036105d4eeb8bf3330678b7cb11c1490bdc/src/paint/painter.rs https://github.com/wilsonzlin/fastrender/blob/19bf1036105d4e...
I believe the two are more or less doing the same, but one is 30x the size of the other.
I can't begin to understand the render loop of Fastrender from the code.
On the other hand, here is the one from Blitz shell(the default Blitz app putting together various modular components):
- Window runs in winit loop: https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed30c1f97ac473632755a08a/packages/blitz-shell/src/window.rs#L345 https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed3...
- Redraw is at https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed30c1f97ac473632755a08a/packages/blitz-shell/src/window.rs#L258 https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed3...
- Calls into `paint_scene`, using the generic scene from the generic renderer: https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed30c1f97ac473632755a08a/packages/blitz-paint/src/lib.rs#L28 https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed3...
Simple as that, and with a nice idea in terms of modularity.
That's a POC web engine.