Repository navigation
Conversation
Changed Files
|
Contributor
|
| Project | Bevy Scripting |
| Branch | agent/reactive-ui-signals |
| Testbed | linux-gha |
⚠️ WARNING: Truncated view!The full continuous benchmarking report exceeds the maximum length allowed on this platform.
🐰 View full continuous benchmarking report in Bencher
⚠️ WARNING: No Threshold found!Without a Threshold, no Alerts will ever be generated.
This was referenced Nov 13, 2026
Adds bevy_mod_scripting_reactive_ui: script described bevy_ui trees where components run once, bound properties and dynamic regions re-run when the signals they read change, and reloads keep component state.
- keep the interaction query between flushes, poll watched components once per flush (again only after handlers or effects ran), skip idle flushes - computeds only wake their readers when their value changed (push-pull) - ui.selector: selector:is(key) only re-runs the readers of the old and new key, so selecting in a list re-runs two items instead of all
ui.path, ui.format, ui.percent, ui.lt, ui.mul, ui.select and ui.is build UiValues: properties made of them know what they read up front and update without running script code or entering the script's context.
component, element, render, show, when, selected, background_color, flex_direction. select and is are keywords in Rune.
makspll
force-pushed
the
agent/reactive-ui-signals
branch
from
November 14, 2026 16:59
865ded4 to
8640516
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
bevy_mod_scripting_reactive_ui: script describedbevy_uitrees built on signals (components run once, bound props anddynamicregions re-run, reload keeps state). Follows the prototype comparison in #712.computed(readers only wake when the value changed),ui.selectorui.path/format/percent/lt/mul/select/is: properties computed in Rust, no script code or context entry when they updateLanding order: #713 (core, required) → this PR → optimisations (#719 mounting, #723
ui.each, #724 props kept in the script, Lua only) → row templates. The Lua conversion PRs (#720, #721) are independent of this stack.Measured before #717 and the later PRs, see those for current numbers:
(before the flush/selector fixes: health 16.1 µs, select 341 µs, item count 12.7 µs)