Skip to content

Conversation

@makspll
Copy link
Owner

@makspll makspll commented Nov 6, 2025

Tracking issues so far:

  • WithWorldAccess is not feasible anymore due to the inability to read component accesses into a system param at initialization
  • Handles don't have a weak wariant anymore, we wither go all AssetId or store strong handles, atm heading towards strong handles everywhere. This proves troublesome when receiveing modification events which don't have a handle, and you cannot get a strong handle with a path from an asset id (the path comes from the asset server load call, and not having it means script names don't show up in logs)
  • stack overflows with dynamic systems

@semanticdiff-com
Copy link

semanticdiff-com bot commented Nov 6, 2025

Review changes with  SemanticDiff

Changed Files
File Status
  crates/bindings/bevy_animation_bms_bindings/src/lib.rs  98% smaller
  crates/bindings/bevy_input_bms_bindings/src/lib.rs  85% smaller
  crates/bindings/bevy_picking_bms_bindings/src/lib.rs  84% smaller
  crates/bevy_mod_scripting_core/src/script/script_context.rs  84% smaller
  crates/testing_crates/test_utils/src/test_plugin.rs  78% smaller
  crates/bindings/bevy_text_bms_bindings/src/lib.rs  73% smaller
  codegen/src/passes/find_trait_impls.rs  68% smaller
  crates/bevy_mod_scripting_core/src/pipeline/machines.rs  68% smaller
  crates/bevy_mod_scripting_bindings/src/world.rs  67% smaller
  crates/bevy_mod_scripting_core/src/script/mod.rs  63% smaller
  crates/bevy_mod_scripting_bindings/src/reference.rs  57% smaller
  crates/testing_crates/script_integration_test_harness/src/test_functions.rs  51% smaller
  crates/bevy_mod_scripting_bindings/src/function/script_function.rs  46% smaller
  crates/bevy_mod_scripting_core/src/pipeline/start.rs  43% smaller
  crates/bevy_mod_scripting_core/src/event.rs  43% smaller
  xtask/src/main.rs  41% smaller
  codegen/src/passes/find_methods_and_fields.rs  36% smaller
  crates/bindings/bevy_mesh_bms_bindings/src/lib.rs  31% smaller
  crates/bevy_system_reflection/src/lib.rs  31% smaller
  codegen/crates/crate_feature_graph/src/graph.rs  31% smaller
  crates/languages/bevy_mod_scripting_lua/src/lib.rs  25% smaller
  crates/bevy_mod_scripting_core/src/handler.rs  25% smaller
  crates/bevy_mod_scripting_bindings/src/schedule.rs  24% smaller
  examples/game_of_life.rs  21% smaller
  crates/bevy_mod_scripting_core/src/commands.rs  19% smaller
  crates/testing_crates/script_integration_test_harness/src/scenario.rs  18% smaller
  crates/testing_crates/script_integration_test_harness/src/parse.rs  16% smaller
  crates/bindings/bevy_time_bms_bindings/src/lib.rs  15% smaller
  codegen/src/import_path.rs  15% smaller
  crates/bindings/bevy_image_bms_bindings/src/lib.rs  13% smaller
  crates/bevy_mod_scripting_core/src/pipeline/mod.rs  12% smaller
  crates/testing_crates/script_integration_test_harness/src/lib.rs  11% smaller
  crates/bevy_mod_scripting_core/src/script_system.rs  7% smaller
  crates/bindings/bevy_pbr_bms_bindings/src/lib.rs  7% smaller
  codegen/build.rs  6% smaller
  crates/bindings/bevy_sprite_bms_bindings/src/lib.rs  6% smaller
  crates/bindings/bevy_ecs_bms_bindings/src/lib.rs  5% smaller
  crates/bindings/bevy_core_pipeline_bms_bindings/src/lib.rs  2% smaller
  crates/testing_crates/test_utils/src/test_data.rs  1% smaller
  crates/bevy_mod_scripting_core/src/script/context_key.rs  1% smaller
  .github/workflows/synchronize_bindings.yml  0% smaller
  .github/workflows/synchronize_bindings_check_diff.yml  0% smaller
  Cargo.toml Unsupported file format
  assets/scripts/game_of_life.lua  0% smaller
  assets/scripts/game_of_life.rhai Unsupported file format
  assets/tests/add_system/added_systems_run_in_parallel.lua  0% smaller
  assets/tests/add_system/added_systems_run_in_parallel.rhai Unsupported file format
  codegen/Cargo.bootstrap.toml Unsupported file format
  codegen/crates/crate_feature_graph/src/feature.rs  0% smaller
  codegen/rust-toolchain.toml Unsupported file format
  codegen/src/args.rs  0% smaller
  codegen/src/bin/main.rs  0% smaller
  codegen/src/driver/mod.rs  0% smaller
  codegen/src/lib.rs  0% smaller
  codegen/src/passes/cache_traits.rs  0% smaller
  codegen/src/passes/find_reflect_types.rs  0% smaller
  codegen/src/passes/mod.rs  0% smaller
  codegen/src/passes/populate_template_data.rs  0% smaller
  codegen/src/passes/write_meta.rs  0% smaller
  codegen/src/plugin.rs  0% smaller
  codegen/templates/footer.tera Unsupported file format
  crates/bevy_mod_scripting_bindings/Cargo.toml Unsupported file format
  crates/bevy_mod_scripting_bindings/src/function/from.rs  0% smaller
  crates/bevy_mod_scripting_bindings/src/script_component.rs  0% smaller
  crates/bevy_mod_scripting_core/Cargo.toml Unsupported file format
  crates/bevy_mod_scripting_core/src/extractors.rs  0% smaller
  crates/bevy_mod_scripting_core/src/lib.rs  0% smaller
  crates/bevy_mod_scripting_core/src/pipeline/hooks.rs  0% smaller
  crates/bevy_mod_scripting_functions/Cargo.toml Unsupported file format
  crates/bevy_mod_scripting_functions/src/core.rs  0% smaller
  crates/bevy_mod_scripting_script/src/lib.rs  0% smaller
  crates/bindings/bevy_a11y_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_a11y_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_animation_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_asset_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_asset_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_camera_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_camera_bms_bindings/README.md Unsupported file format
  crates/bindings/bevy_camera_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_color_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_color_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_core_pipeline_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_ecs_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_gizmos_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_gltf_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_gltf_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_image_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_input_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_input_focus_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_light_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_light_bms_bindings/README.md Unsupported file format
  crates/bindings/bevy_light_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_math_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_math_bms_bindings/src/lib.rs Unsupported file format
  crates/bindings/bevy_mesh_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_pbr_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_picking_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_post_process_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_post_process_bms_bindings/README.md Unsupported file format
  crates/bindings/bevy_post_process_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_reflect_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_reflect_bms_bindings/src/lib.rs Unsupported file format
  crates/bindings/bevy_render_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_render_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_scene_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_sprite_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_sprite_render_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_sprite_render_bms_bindings/README.md Unsupported file format
  crates/bindings/bevy_sprite_render_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_text_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_time_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_transform_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_transform_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_ui_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_ui_bms_bindings/README.md Unsupported file format
  crates/bindings/bevy_ui_bms_bindings/src/lib.rs  0% smaller
  crates/bindings/bevy_ui_render_bms_bindings/Cargo.toml Unsupported file format
  crates/bindings/bevy_ui_render_bms_bindings/README.md Unsupported file format
  crates/bindings/bevy_ui_render_bms_bindings/src/lib.rs  0% smaller
  crates/testing_crates/test_utils/Cargo.toml Unsupported file format
  examples/run_script.rs  0% smaller

@github-actions
Copy link
Contributor

github-actions bot commented Nov 11, 2025

🐰 Bencher Report

Branchfeat/bevy-0.17
Testbedlinux-gha

🚨 6 Alerts

BenchmarkMeasure
Units
ViewBenchmark Result
(Result Δ%)
Upper Boundary
(Limit %)
component/access LuaLatency
microseconds (µs)
📈 plot
🚷 threshold
🚨 alert (🔔)
5.96 µs
(+29.23%)Baseline: 4.61 µs
5.93 µs
(100.52%)

component/access RhaiLatency
microseconds (µs)
📈 plot
🚷 threshold
🚨 alert (🔔)
9.14 µs
(+42.14%)Baseline: 6.43 µs
9.00 µs
(101.52%)

component/get RhaiLatency
microseconds (µs)
📈 plot
🚷 threshold
🚨 alert (🔔)
7.71 µs
(+56.05%)Baseline: 4.94 µs
7.58 µs
(101.75%)

query/10 entities RhaiLatency
microseconds (µs)
📈 plot
🚷 threshold
🚨 alert (🔔)
27.86 µs
(+22.22%)Baseline: 22.80 µs
27.70 µs
(100.57%)

resource/access RhaiLatency
microseconds (µs)
📈 plot
🚷 threshold
🚨 alert (🔔)
8.43 µs
(+43.77%)Baseline: 5.86 µs
8.30 µs
(101.47%)

resource/get RhaiLatency
microseconds (µs)
📈 plot
🚷 threshold
🚨 alert (🔔)
7.26 µs
(+62.65%)Baseline: 4.46 µs
7.12 µs
(101.97%)

Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
component/access Lua📈 view plot
🚷 view threshold
🚨 view alert (🔔)
5,963.40 ns
(+29.23%)Baseline: 4,614.67 ns
5,932.68 ns
(100.52%)

component/access Rhai📈 view plot
🚷 view threshold
🚨 view alert (🔔)
9,140.30 ns
(+42.14%)Baseline: 6,430.46 ns
9,003.80 ns
(101.52%)

component/get Lua📈 view plot
🚷 view threshold
3,092.70 ns
(+5.44%)Baseline: 2,933.04 ns
3,217.07 ns
(96.13%)
component/get Rhai📈 view plot
🚷 view threshold
🚨 view alert (🔔)
7,711.90 ns
(+56.05%)Baseline: 4,941.85 ns
7,579.44 ns
(101.75%)

conversions/Mut::from📈 view plot
🚷 view threshold
89.34 ns
(-14.28%)Baseline: 104.22 ns
119.53 ns
(74.74%)
conversions/Ref::from📈 view plot
🚷 view threshold
86.13 ns
(-14.18%)Baseline: 100.37 ns
114.74 ns
(75.07%)
conversions/ScriptValue::List📈 view plot
🚷 view threshold
370.04 ns
(-5.20%)Baseline: 390.33 ns
448.77 ns
(82.46%)
conversions/ScriptValue::Map📈 view plot
🚷 view threshold
1,036.70 ns
(-12.94%)Baseline: 1,190.75 ns
1,380.54 ns
(75.09%)
conversions/ScriptValue::Reference::from_into📈 view plot
🚷 view threshold
27.65 ns
(-4.71%)Baseline: 29.02 ns
31.72 ns
(87.17%)
conversions/Val::from_into📈 view plot
🚷 view threshold
259.38 ns
(-17.50%)Baseline: 314.39 ns
405.04 ns
(64.04%)
function/call 4 args Lua📈 view plot
🚷 view threshold
1,947.30 ns
(-9.63%)Baseline: 2,154.81 ns
2,414.88 ns
(80.64%)
function/call 4 args Rhai📈 view plot
🚷 view threshold
1,464.80 ns
(-6.46%)Baseline: 1,565.89 ns
1,743.41 ns
(84.02%)
function/call Lua📈 view plot
🚷 view threshold
385.97 ns
(-8.31%)Baseline: 420.93 ns
550.14 ns
(70.16%)
function/call Rhai📈 view plot
🚷 view threshold
508.55 ns
(+3.87%)Baseline: 489.62 ns
558.48 ns
(91.06%)
loading/empty Lua📈 view plot
🚷 view threshold
894,840.00 ns
(-12.36%)Baseline: 1,021,023.00 ns
1,395,363.11 ns
(64.13%)
loading/empty Rhai📈 view plot
🚷 view threshold
1,034,900.00 ns
(-18.31%)Baseline: 1,266,814.00 ns
1,871,540.55 ns
(55.30%)
math/vec mat ops Lua📈 view plot
🚷 view threshold
9,685.70 ns
(+12.71%)Baseline: 8,593.85 ns
9,924.82 ns
(97.59%)
math/vec mat ops Rhai📈 view plot
🚷 view threshold
8,997.20 ns
(+18.11%)Baseline: 7,617.94 ns
9,041.68 ns
(99.51%)
query/10 entities Lua📈 view plot
🚷 view threshold
21,114.00 ns
(-13.37%)Baseline: 24,373.90 ns
27,872.62 ns
(75.75%)
query/10 entities Rhai📈 view plot
🚷 view threshold
🚨 view alert (🔔)
27,862.00 ns
(+22.22%)Baseline: 22,796.80 ns
27,704.29 ns
(100.57%)

query/100 entities Lua📈 view plot
🚷 view threshold
41,826.00 ns
(-11.14%)Baseline: 47,069.60 ns
52,756.81 ns
(79.28%)
query/100 entities Rhai📈 view plot
🚷 view threshold
40,437.00 ns
(+8.77%)Baseline: 37,177.80 ns
41,736.76 ns
(96.89%)
query/1000 entities Lua📈 view plot
🚷 view threshold
252,780.00 ns
(-17.60%)Baseline: 306,777.00 ns
380,589.50 ns
(66.42%)
query/1000 entities Rhai📈 view plot
🚷 view threshold
174,670.00 ns
(-7.95%)Baseline: 189,759.00 ns
224,783.03 ns
(77.71%)
reflection/10 Lua📈 view plot
🚷 view threshold
5,413.00 ns
(-12.50%)Baseline: 6,186.55 ns
6,960.25 ns
(77.77%)
reflection/10 Rhai📈 view plot
🚷 view threshold
14,851.00 ns
(-6.89%)Baseline: 15,950.20 ns
17,124.33 ns
(86.72%)
reflection/100 Lua📈 view plot
🚷 view threshold
45,552.00 ns
(-13.32%)Baseline: 52,551.40 ns
60,007.26 ns
(75.91%)
reflection/100 Rhai📈 view plot
🚷 view threshold
624,070.00 ns
(-20.96%)Baseline: 789,575.00 ns
968,321.76 ns
(64.45%)
resource/access Lua📈 view plot
🚷 view threshold
3,936.10 ns
(-2.83%)Baseline: 4,050.91 ns
4,333.09 ns
(90.84%)
resource/access Rhai📈 view plot
🚷 view threshold
🚨 view alert (🔔)
8,425.30 ns
(+43.77%)Baseline: 5,860.20 ns
8,303.52 ns
(101.47%)

resource/get Lua📈 view plot
🚷 view threshold
2,662.00 ns
(+4.35%)Baseline: 2,551.15 ns
2,854.91 ns
(93.24%)
resource/get Rhai📈 view plot
🚷 view threshold
🚨 view alert (🔔)
7,260.20 ns
(+62.65%)Baseline: 4,463.71 ns
7,119.77 ns
(101.97%)

🐰 View full continuous benchmarking report in Bencher

@makspll
Copy link
Owner Author

makspll commented Nov 12, 2025

Aaaand we're back
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants