makspll / makspll/bevy_mod_scripting
Script Systems & Components
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 649
- Forks
- 59
- PR merge metrics
- No merged PRs in 30d
Description
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_corelevel, so systems can run in parallel if they access different scripts -
Reflecting schedules and systems, querying the ordering
-
Dynamically injecting systems into bevy schedule safely
-
Injected systems to specify access ahead of time, and dynamic systems are parallelizable against other systems
-
Multi threading scriptsnot necessary -
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) -
Allow specifying read/write access in script builder as an optional argument as well as for queries
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the existing dynamic world access, WorldGuard bindings, injected systems, and script builder or query APIs. Compare how current systems specify access and how Bevy schedule injection is handled. Done means deferred WorldGuard commands and optional read/write access declarations for script systems and queries are implemented, with appropriate warnings preserved or improved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100