You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The idea of using scripts as systems, i.e. having a script declare functions which act like systems, with specific dependencies on the world, and scheduling them in such a way that they can access the world safely
Dynamic world access system
Handler resources should have interior mutability at bms_core level, so systems can run in parallel if they access different scripts
Command - Deferred versions of the WorldGuard bindings (i.e. insert_component_deferred + better warnings if aliasing is broken, geared towards script authors who might not know rust)
Reflecting schedules and systems, querying the ordering
Multi threading scripts
Dynamically injecting systems into bevy schedule safely
Injected systems to specify access ahead of time, and dynamic systems are parallelizable against other systems
The text was updated successfully, but these errors were encountered:
The linked PR, will allow us to create world guards compatibile with the schedule at the point of insertion, while it doesn't get us all the way there, it does solve the first part necessary in achieving script systems, I.e.:
syncing the accesses map with the bevy schedule
In theory, now even without a dynamic script insertion mechanism, you could have a number or "sync" points predefined by the author which could bootstrap script systems into specific parts of bevy.
The big limitation though is that if you insert a script at any point of the bevy schedule which accesses ANYTHING in the world, your script won't be able to get global access, I.e. it will have to schedule component insertions like a normal system
The idea of using scripts as systems, i.e. having a script declare functions which act like systems, with specific dependencies on the world, and scheduling them in such a way that they can access the world safely
bms_core
level, so systems can run in parallel if they access different scriptsinsert_component_deferred
+ better warnings if aliasing is broken, geared towards script authors who might not know rust)The text was updated successfully, but these errors were encountered: