UwU, I've just found out about `SystemState` in #Bevy  

https://docs.rs/bevy/latest/bevy/ecs/system/struct.SystemState.html

It basically allows you to circumvent (mutable) borrowing issues with `App` and `World` when you have exclusive `World` access.
As it turns out, this is especially useful in #UnitTests. 🧪 ✅

See next two toots for an example...

1/3

#BevyEngine #UnitTest #Testing #GameDev #BevyUI #UI

SystemState in bevy::ecs::system - Rust

Holds on to persistent state required to drive `SystemParam` for a `System`.

It has been a day since our last #Bevy meetup, featuring @bevy_linter, Bevy running on a #pico board, and reactive #BevyUI - if you missed it check out the recording: https://www.youtube.com/live/Ao2gXd_CgUc #rustunit #gamedev #embedded 🦀🎮
Bevy Game Dev Meetup #7 Livestream

YouTube

So you want to build an ECS-backed #GUI framework

Challenges and opportunities in the future of `bevy_ui` - by Alice I. Cecile, Rose Peck (November 2023)

https://www.leafwing-studios.com/blog/ecs-gui-framework/

I think UI in Bevy has very high potential! Very good points and current limitations mentioned by the authors.

Regarding using ECS for UI: In classical OOP UIs, the decorator pattern is often used.

In ECS, you basically have decorator pattern by default! 💪

#Rust #RustLang #BevyEngine #Bevy #BevyUI #ECS

So you want to build an ECS-backed GUI framework | Leafwing Studios