A XAML / WPF-style UI framework for the Bevy game engine — written in Rust, running right here in your browser.
WPF-conformant parser: namespaces, property elements, markup extensions, styles with triggers, merged dictionaries, data binding — validated at compile time by the xaml! macro.
Every control next to the exact markup that produced it — buttons, sliders, bindings, templates, storyboards. The demo and the code come from the same string. Browse the recipes.
Buttons through DataGrid: panels, lists, menus, tabs, trees, popups, tooltips, shapes with the path mini-language — all instantiated from markup into Bevy ECS entities.
Fluent, Material, Nord, Dracula, Catppuccin, Solarized, Gruvbox, Tokyo Night — official palettes as resource dictionaries that re-color a running UI. Try the gallery.
Frame, Page, the journal, and page-navigating Hyperlinks — a three-page app with back/forward chrome and state that survives page re-creation.
Sixteen samples from microsoft/WPF-Samples run as ported pages — DataTriggers, collection currency, live-updating bindings, and the 11-page ShapeElements viewer with its original .xaml files. Browse the gallery.
The Breakout demo's menus, HUD, paddle, ball, and all 40 bricks are XAML elements. Game systems just push numbers; markup does the rest.
Every control benchmarks above 2,000 FPS offscreen on Apple silicon, and the framework's own systems cost ~10µs a frame. Tracy-profiled, honestly documented.
MIT OR Apache-2.0, compatibility-tested against verbatim XAML from microsoft/WPF-Samples, Avalonia, and dotnet/wpf theme dictionaries.
bevy_pf stays free and open. If it saves you time, sponsoring the developer funds the roadmap: control templates, storyboards, theming.