Firewheel

Documentation Crates.io License

This crate is a work in progress. It is not yet ready for any kind of use.


Firewheel is a low-level, retained-mode, event-driven, barebones, "DIY" toolkit for making high-performance GUIs. It is NOT a complete GUI framework with an extensive suite of ready-made widgets, but rather a toolkit to aid in building your own widgets and GUI systems.

This project was born out of the need for a high-performance GUI toolkit for Meadowlark. Meadowlark's GUI is quite unconventional (as far as generic GUI toolkits are concerned), because it contains a whole lot of custom widgets, custom layout logic, custom rendering logic (with shaders), and unique performance optimization challenges. So in the end I decided to develop an in-house toolkit that is tailored to the needs of Meadowlark (and to my personal coding workflow).

If you are just looking for a easy-to-use/feature rich GUI toolkit in Rust, please check out one of these GUI toolkits instead (that being said, depending on your definition of "simple", you may still enjoy using Firewheel ;) ) * Vizia * Iced * Egui * Tauri * Slint * Druid * Relm * gtk4-rs * gtk3-rs * imgui-rs

How it works

Non-goals

FAQ