Maxine Alexander
maxinethemooshroom.bsky.social
Maxine Alexander
@maxinethemooshroom.bsky.social
General and Embedded Software Engineer that likes to take on weird projects!

LOOKING FOR WORK!
Located in Pittsburgh

Post-Humanist, Feminist, Absurdist

Poly
💜💜💜 Wifey~ @rummik.bsky.social
🖤🖤🖤 Gf~ @softlavendarcow.bsky.social
I wanted the performance of retained-mode without being a PITA to use, and without pretending to be something it isn't (again, such as Dear ImGUI)

</response>
January 21, 2025 at 11:23 PM
it seems rather complex to maintain. And if you aren't doing that, your immediate-mode library is redrawing every frame, which really isn't idea (imo). This does tend to make retained-mode kind of a PITA (looking at you, iced) but that's why peacock exists!
January 21, 2025 at 11:21 PM
I see I see. Mostly performance! There are libraries that have an immediate-mode interface but are actually retained-mode (such as Dear ImGui), but I've never been particularly satisfied with that approach. While it leverages the ease-of-use of immediate-mode with the performance of retained-mode...
January 21, 2025 at 11:18 PM
yea! It's pretty neat! :D

I think it's interesting that you went with an immediate-mode framework. Care if I ask what led to that decision? I chose to use iced specifically because it's a retained-mode library. I also had a fairly limited number of options when looking for a retained-mode library.
January 21, 2025 at 7:21 PM
yup! I wasn't satisfied with how tedious iced was to use, even when you're doing something very basic. So I started development on peacock! I had to write my own css parser (crest) and its performance is pretty dang good! very happy with progress so far :D
January 21, 2025 at 3:25 AM
peacock is a GUI framework I've been developing. It uses XML for structure, CSS for style, and Rust for behaviour :D

It's not quite ready for production apps, but it's well on its way to beta!
January 21, 2025 at 1:20 AM
it's already open-source! it's just not ready. While it functions, it currently does not support real-world usage.
December 17, 2024 at 5:17 PM
pest is a rust crate specifically, but I'm sure you could find a PEG library/package for other languages just as well!
December 10, 2024 at 6:29 PM