Skip to content

Conversation

aggyomfg
Copy link

Hello, thanks for your creation! BMS is very useful engine!

This PR Potentially close #479

New Asset Reference Type: Added ReflectBase::Asset(UntypedHandle, ComponentId)
Asset Creation Functions: Added ReflectReference::new_asset_ref() and ReflectBaseType::new_asset_base()

Added two new world functions:
get_asset(handle_reference, registration) - Retrieves an asset by handle
has_asset(handle_reference) - Checks if an asset exists

Tests, Docs + but didnt get what else needed, please ask.

Copy link

semanticdiff-com bot commented Sep 29, 2025

Copy link
Contributor

github-actions bot commented Oct 1, 2025

🐰 Bencher Report

Branchasset_operations
Testbedlinux-gha
Click to view all benchmark results
BenchmarkLatencyBenchmark Result
nanoseconds (ns)
(Result Δ%)
Upper Boundary
nanoseconds (ns)
(Limit %)
component/access Lua📈 view plot
🚷 view threshold
3,603.70 ns
(-9.75%)Baseline: 3,993.01 ns
4,407.11 ns
(81.77%)
component/access Rhai📈 view plot
🚷 view threshold
5,410.60 ns
(-8.24%)Baseline: 5,896.47 ns
6,412.57 ns
(84.37%)
component/get Lua📈 view plot
🚷 view threshold
2,172.10 ns
(-9.38%)Baseline: 2,397.03 ns
2,664.56 ns
(81.52%)
component/get Rhai📈 view plot
🚷 view threshold
4,116.70 ns
(-6.96%)Baseline: 4,424.46 ns
4,892.87 ns
(84.14%)
conversions/Mut::from📈 view plot
🚷 view threshold
82.22 ns
(-5.28%)Baseline: 86.80 ns
93.39 ns
(88.03%)
conversions/Ref::from📈 view plot
🚷 view threshold
80.32 ns
(-5.83%)Baseline: 85.29 ns
95.25 ns
(84.32%)
conversions/ScriptValue::List📈 view plot
🚷 view threshold
375.50 ns
(+17.54%)Baseline: 319.47 ns
438.72 ns
(85.59%)
conversions/ScriptValue::Map📈 view plot
🚷 view threshold
967.63 ns
(-8.32%)Baseline: 1,055.39 ns
1,191.64 ns
(81.20%)
conversions/ScriptValue::Reference::from_into📈 view plot
🚷 view threshold
24.49 ns
(-4.27%)Baseline: 25.58 ns
31.10 ns
(78.74%)
conversions/Val::from_into📈 view plot
🚷 view threshold
298.03 ns
(-0.26%)Baseline: 298.80 ns
343.10 ns
(86.86%)
function/call 4 args Lua📈 view plot
🚷 view threshold
1,608.60 ns
(-13.37%)Baseline: 1,856.86 ns
2,123.43 ns
(75.75%)
function/call 4 args Rhai📈 view plot
🚷 view threshold
1,317.40 ns
(-12.11%)Baseline: 1,498.95 ns
1,707.36 ns
(77.16%)
function/call Lua📈 view plot
🚷 view threshold
222.18 ns
(-8.73%)Baseline: 243.44 ns
274.33 ns
(80.99%)
function/call Rhai📈 view plot
🚷 view threshold
429.96 ns
(-5.91%)Baseline: 456.96 ns
531.28 ns
(80.93%)
loading/empty Lua📈 view plot
🚷 view threshold
922,370.00 ns
(+296.13%)Baseline: 232,846.30 ns
1,181,179.66 ns
(78.09%)
loading/empty Rhai📈 view plot
🚷 view threshold
1,237,400.00 ns
(+130.41%)Baseline: 537,038.00 ns
1,376,799.82 ns
(89.88%)
math/vec mat ops Lua📈 view plot
🚷 view threshold
6,685.40 ns
(-15.13%)Baseline: 7,876.98 ns
9,498.42 ns
(70.38%)
math/vec mat ops Rhai📈 view plot
🚷 view threshold
6,226.60 ns
(-6.61%)Baseline: 6,666.97 ns
7,334.46 ns
(84.90%)
query/10 entities Lua📈 view plot
🚷 view threshold
19,024.00 ns
(-7.27%)Baseline: 20,514.40 ns
22,183.29 ns
(85.76%)
query/10 entities Rhai📈 view plot
🚷 view threshold
18,933.00 ns
(-8.41%)Baseline: 20,670.80 ns
22,615.43 ns
(83.72%)
query/100 entities Lua📈 view plot
🚷 view threshold
39,248.00 ns
(-7.93%)Baseline: 42,629.10 ns
46,405.59 ns
(84.58%)
query/100 entities Rhai📈 view plot
🚷 view threshold
31,568.00 ns
(-6.91%)Baseline: 33,911.00 ns
37,103.42 ns
(85.08%)
query/1000 entities Lua📈 view plot
🚷 view threshold
241,830.00 ns
(-12.21%)Baseline: 275,474.00 ns
311,119.38 ns
(77.73%)
query/1000 entities Rhai📈 view plot
🚷 view threshold
157,480.00 ns
(-6.67%)Baseline: 168,739.00 ns
184,167.90 ns
(85.51%)
reflection/10 Lua📈 view plot
🚷 view threshold
5,652.80 ns
(-9.20%)Baseline: 6,225.51 ns
6,898.14 ns
(81.95%)
reflection/10 Rhai📈 view plot
🚷 view threshold
14,945.00 ns
(-5.41%)Baseline: 15,799.00 ns
16,654.10 ns
(89.74%)
reflection/100 Lua📈 view plot
🚷 view threshold
49,318.00 ns
(-5.49%)Baseline: 52,184.70 ns
58,389.85 ns
(84.46%)
reflection/100 Rhai📈 view plot
🚷 view threshold
724,770.00 ns
(-6.38%)Baseline: 774,125.00 ns
862,657.95 ns
(84.02%)
resource/access Lua📈 view plot
🚷 view threshold
3,267.20 ns
(-8.01%)Baseline: 3,551.54 ns
3,864.36 ns
(84.55%)
resource/access Rhai📈 view plot
🚷 view threshold
4,911.10 ns
(-8.34%)Baseline: 5,358.07 ns
5,865.61 ns
(83.73%)
resource/get Lua📈 view plot
🚷 view threshold
1,874.70 ns
(-8.01%)Baseline: 2,037.83 ns
2,236.42 ns
(83.83%)
resource/get Rhai📈 view plot
🚷 view threshold
3,686.50 ns
(-6.66%)Baseline: 3,949.43 ns
4,345.58 ns
(84.83%)
🐰 View full continuous benchmarking report in Bencher

@makspll makspll changed the title feat: Asset operations - working with bevy Assets<T> resource. feat: Asset references, world.get_asset and world.has_asset bindings Oct 4, 2025
@makspll makspll enabled auto-merge (squash) October 4, 2025 11:19
@makspll
Copy link
Owner

makspll commented Oct 4, 2025

Nice work, much appreciated! @aggyomfg

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.

Accessing Assets<StandardMaterial> in scripts
2 participants