GUI toolkit made for Zig focused on simplicity
That tagline is soo gonna change in the future.
Quark is a Vulkan-based GUI toolkit framework designed for those who needs a UI that’s nice and simple—visually and in code without the extra overhead other frameworks has.
This isn’t my first time trying to do a project related allowing people to create GUI *, but this one is the one I’m most proud of. There’s still some bugs and all, I’m fixing some of them right now and overall making the usage of coding with Quark easier for everybody in the process.
Quark is a hybrid GUI—between retained and immediate mode, because I want the best of both worlds :). So far—there’s two application that uses Quark as it’s GUI framework—in which, both of them are mine. Both of which is currently rswlsr (the one i’m working on currently) and Cazic.
Here’s a working-in-progress image of rswlsr, a really simple wayland screen recoderer:
Quark currently has about 15 widgets (I’m not gonna recount, my podcast is more important) ranging from a simple Button and Text to Image and Canvas.
I’m open to criticism—I want this project to get better and better overtime, not a burden for people developing their application with it. So anything you like, love, or hate about this project—please tell me about it.
Any bug fixes or issues would really be appreciated as well.
I don’t know what else to say really, I hope I’ve said enough. This is my first post overall and showcasing this library to the masses is something I’m kinda scared of, but you just gotta push through, huh?
Supported Zig versions
Right now—0.16.x.
It’ll always support the most up-to-date stable release of Zig as long this project exists. Support for older Zig versions aren’t in mind, right now at least.
AI / LLM usage disclosure
Claude was involved in creating the first “draft” of Quark (v4[r3])—which is about 6 months ago. It was somewhat encouraged that you could use AI for coding assistant or to impl something that’s on that big of a scale (take for example—300 lines of Vulkan) but starting two weeks ago, the usage of AI isn’t allowed anymore, as I’ve realised that yeha… AI isn’t a tool you must depend on all the time.—And AI just can’t code to save it’s life unless it’s web slop.
This project isn’t “vibe-coded” or anything, I build on top of what was there in the first draft.
