Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 35 additions & 34 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -149,53 +149,53 @@ bevy_mod_scripting_core = { path = "crates/bevy_mod_scripting_core", version = "
# bevy


bevy = { version = "0.17", default-features = false }
bevy_math = { version = "0.17", default-features = false, features = ["std"] }
bevy_transform = { version = "0.17", default-features = false }
bevy_reflect = { version = "0.17", default-features = false }
bevy_ecs = { version = "0.17", default-features = false }
bevy_asset = { version = "0.17", default-features = false }
bevy_app = { version = "0.17", default-features = false }
bevy_log = { version = "0.17", default-features = false }
bevy_internal = { version = "0.17", default-features = false }
bevy_diagnostic = { version = "0.17", default-features = false }
bevy_platform = { version = "0.17", default-features = false }
bevy_time = { version = "0.17", default-features = false }
bevy_input = { version = "0.17", default-features = false }
bevy_a11y = { version = "0.17", default-features = false, features = [
bevy = { version = "0.18", default-features = false }
bevy_math = { version = "0.18", default-features = false, features = ["std"] }
bevy_transform = { version = "0.18", default-features = false }
bevy_reflect = { version = "0.18", default-features = false }
bevy_ecs = { version = "0.18", default-features = false }
bevy_asset = { version = "0.18", default-features = false }
bevy_app = { version = "0.18", default-features = false }
bevy_log = { version = "0.18", default-features = false }
bevy_internal = { version = "0.18", default-features = false }
bevy_diagnostic = { version = "0.18", default-features = false }
bevy_platform = { version = "0.18", default-features = false }
bevy_time = { version = "0.18", default-features = false }
bevy_input = { version = "0.18", default-features = false }
bevy_a11y = { version = "0.18", default-features = false, features = [
"std",
"bevy_reflect",
] }
bevy_animation = { version = "0.17", default-features = false }
bevy_color = { version = "0.17", default-features = false, features = [
bevy_animation = { version = "0.18", default-features = false }
bevy_color = { version = "0.18", default-features = false, features = [
"std",
"bevy_reflect",
] }
bevy_core_pipeline = { version = "0.17", default-features = false }
bevy_gizmos = { version = "0.17", default-features = false }
bevy_gltf = { version = "0.17", default-features = false }
bevy_image = { version = "0.17", default-features = false, features = [
bevy_core_pipeline = { version = "0.18", default-features = false }
bevy_gizmos = { version = "0.18", default-features = false }
bevy_gltf = { version = "0.18", default-features = false }
bevy_image = { version = "0.18", default-features = false, features = [
"bevy_reflect",
] }
bevy_input_focus = { version = "0.17", default-features = false, features = [
bevy_input_focus = { version = "0.18", default-features = false, features = [
"std",
"bevy_reflect",
] }
bevy_mesh = { version = "0.17", default-features = false }
bevy_pbr = { version = "0.17", default-features = false }
bevy_picking = { version = "0.17", default-features = false }
bevy_render = { version = "0.17", default-features = false }
bevy_scene = { version = "0.17", default-features = false }
bevy_sprite = { version = "0.17", default-features = false }
bevy_text = { version = "0.17", default-features = false }
bevy_window = { version = "0.17", default-features = false, features = [
bevy_mesh = { version = "0.18", default-features = false }
bevy_pbr = { version = "0.18", default-features = false }
bevy_picking = { version = "0.18", default-features = false }
bevy_render = { version = "0.18", default-features = false }
bevy_scene = { version = "0.18", default-features = false }
bevy_sprite = { version = "0.18", default-features = false }
bevy_text = { version = "0.18", default-features = false }
bevy_window = { version = "0.18", default-features = false, features = [
"bevy_reflect",
"std",
] }
bevy_winit = { version = "0.17", default-features = false }
bevy_utils = { version = "0.17", default-features = false, features = ["std"] }
bevy_winit = { version = "0.18", default-features = false }
bevy_utils = { version = "0.18", default-features = false, features = ["std"] }

glam = { version = "0.30.7", default-features = false }
glam = { version = "0.30.10", default-features = false }
uuid = { version = "1.13", default-features = false }
smol_str = { version = "0.2.0", default-features = false }
nonmax = { version = "0.5", default-features = false, features = ["std"] }
Expand Down Expand Up @@ -235,7 +235,7 @@ pretty_assertions = { version = "1.4", default-features = false, features = [
manifest-dir-macros = { version = "0.1.18", default-features = false }
assert_cmd = { version = "2.1", default-features = false }
tokio = { version = "1", default-features = false }
bevy_console = { version = "0.16", default-features = false }
bevy_console = { version = "0.17.1", default-features = false }
tracing-tracy = { version = "0.11", default-features = false }
libtest-mimic = { version = "0.8", default-features = false }
criterion = { version = "0.5", default-features = false }
Expand All @@ -247,6 +247,7 @@ bevy = { workspace = true, features = [
"bevy_render",
"bevy_window",
"bevy_asset",
"bevy_log",
"bevy_core_pipeline",
"bevy_sprite",
"bevy_sprite_render",
Expand Down Expand Up @@ -331,7 +332,7 @@ required-features = ["lua54", "rhai"]
[[example]]
name = "docgen"
path = "examples/docgen.rs"
required-features = []
required-features = ["lua_language_server_files"]

[[example]]
name = "runscript"
Expand Down
6 changes: 3 additions & 3 deletions assets/tests/query/dynamic_component_query.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ local NewComponent = world.register_new_component("NewComponent")
world.add_default_component(entity_a, NewComponent)

local found_entities = {}
for i,result in pairs(world.query():component(NewComponent):build()) do
for i, result in pairs(world.query():component(NewComponent):build()) do
table.insert(found_entities, result:entity())
end

Expand All @@ -15,6 +15,6 @@ expected_entities = {
}

for i, entity in ipairs(found_entities) do
assert(entity:index() == expected_entities[i]:index(), "Expected entity " .. expected_entities[i]:index() .. " but got " .. entity:index())
assert(entity:index():index() == expected_entities[i]:index():index(),
"Expected entity " .. expected_entities[i]:index():index() .. " but got " .. entity:index():index())
end

3 changes: 2 additions & 1 deletion assets/tests/query/query_can_access_components.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ local query_result = world.query():component(componentA):component(componentA):c

assert(#query_result == 1, "Expected 1 result, got " .. #query_result)
for i, result in pairs(query_result) do
assert(result:entity():index() == entity_a:index(), "Expected entity_a, got " .. result:entity():index())
assert(result:entity():index():index() == entity_a:index():index(),
"Expected entity_a, got " .. result:entity():index():index())
components = result:components()
assert(#components == 3, "Expected 3 components, got " .. #components)
A = components[1]
Expand Down
6 changes: 3 additions & 3 deletions assets/tests/query/query_returns_all_entities_matching.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ world.add_default_component(entity_c, component_with)
world.add_default_component(entity_b, component_without)

local found_entities = {}
for i,result in pairs(world.query():component(component_with):without(component_without):build()) do
for i, result in pairs(world.query():component(component_with):without(component_without):build()) do
table.insert(found_entities, result:entity())
end

Expand All @@ -26,6 +26,6 @@ expected_entities = {
}

for i, entity in ipairs(found_entities) do
assert(entity:index() == expected_entities[i]:index(), "Expected entity " .. expected_entities[i]:index() .. " but got " .. entity:index())
assert(entity:index():index() == expected_entities[i]:index():index(),
"Expected entity " .. expected_entities[i]:index():index() .. " but got " .. entity:index():index())
end

3 changes: 2 additions & 1 deletion codegen/Cargo.bootstrap.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ edition = "2024"

[dependencies]
bevy_mod_scripting_bindings = { path = "{{BMS_BINDINGS_PATH}}" }
bevy_reflect = { version = "0.17", features = [
bevy_reflect = { version = "0.18", features = [
"smol_str",
"glam",
"petgraph",
"smallvec",
"uuid",
"wgpu-types",
] }

[workspace]
2 changes: 1 addition & 1 deletion codegen/src/args.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ pub struct Args {
short,
long,
help = "The rust version to consider when looking at stability tags etc",
default_value = "1.88.0"
default_value = "1.89.0"
)]
pub minimum_supported_rust_version_target: Option<String>,
}
Expand Down
2 changes: 1 addition & 1 deletion codegen_bevy_features.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
default,bevy_asset,bevy_animation,bevy_core_pipeline,bevy_ui,bevy_pbr,bevy_render,bevy_text,bevy_sprite,file_watcher,multi_threaded,std,async_executor,bevy_reflect/glam,bevy_reflect/uuid,bevy_reflect/smol_str,bevy_sprite/bevy_sprite_picking_backend
default,bevy_asset,bevy_animation,bevy_core_pipeline,bevy_ui,bevy_pbr,bevy_render,bevy_text,bevy_sprite,file_watcher,multi_threaded,std,async_executor,bevy_reflect/wgpu-types,bevy_reflect/glam,bevy_reflect/uuid,bevy_reflect/smol_str,bevy_sprite/bevy_picking
11 changes: 5 additions & 6 deletions crates/bevy_mod_scripting_asset/src/loader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

use bevy_asset::AssetLoader;
use bevy_log::warn;
use bevy_reflect::TypePath;
use serde::{Deserialize, Serialize};

use crate::{Language, LanguageExtensions, ScriptAsset, ScriptAssetError};
Expand All @@ -14,6 +15,7 @@ pub struct ScriptSettings {
}

/// A loader for script assets
#[derive(TypePath)]
pub struct ScriptAssetLoader {
/// The file extensions this loader should handle
language_extensions: &'static LanguageExtensions,
Expand Down Expand Up @@ -55,17 +57,14 @@ impl AssetLoader for ScriptAssetLoader {
) -> Result<Self::Asset, Self::Error> {
let mut content = Vec::new();
reader.read_to_end(&mut content).await.map_err(|e| {
ScriptAssetError::new(
"reading from disk",
Some(load_context.asset_path()),
Box::new(e),
)
ScriptAssetError::new("reading from disk", Some(load_context.path()), Box::new(e))
})?;
if let Some(processor) = &self.preprocessor {
processor(&mut content)?;
}
let language = settings.language.clone().unwrap_or_else(|| {
let ext = load_context
.path()
.path()
.extension()
.and_then(|e| e.to_str())
Expand All @@ -74,7 +73,7 @@ impl AssetLoader for ScriptAssetLoader {
.get(ext)
.cloned()
.unwrap_or_else(|| {
warn!("Unknown language for {:?}", load_context.path().display());
warn!("Unknown language for {}", load_context.path());
Language::Unknown
})
});
Expand Down
2 changes: 1 addition & 1 deletion crates/bevy_mod_scripting_bindings/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,7 @@ impl DisplayWithTypeInfo for InteropError {
)
}
InteropError::MissingEntity(entity) => {
if *entity == Entity::PLACEHOLDER || entity.index() == 0 {
if *entity == Entity::PLACEHOLDER || entity.index().index() == 0 {
write!(
f,
"Invalid entity: {entity}. Are you trying to use an entity in a callback in which it's unavailable?"
Expand Down
10 changes: 5 additions & 5 deletions crates/bevy_mod_scripting_bindings/src/reference.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,13 @@ impl DisplayWithTypeInfo for ReflectReference {
.and_then(|t| t.try_get_context().ok().map(|c| c.world))
});

if let Some(guard) = guard {
if let Ok(r) = self.with_reflect(guard.clone(), |s| {
if let Some(guard) = guard
&& let Ok(r) = self.with_reflect(guard.clone(), |s| {
PrintReflectAsDebug::new_with_opt_info(s, Some(type_info_provider))
.to_string_with_type_info(f, Some(type_info_provider))
}) {
return r;
}
})
{
return r;
}
}

Expand Down
1 change: 1 addition & 0 deletions crates/bevy_mod_scripting_bindings/src/script_component.rs
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ impl WorldAccessGuard<'_> {
needs_drop::<DynamicComponent>().then_some(|x| x.drop_as::<DynamicComponent>()),
true,
ComponentCloneBehavior::Default,
None,
)
};
w.register_component_with_descriptor(descriptor)
Expand Down
4 changes: 2 additions & 2 deletions crates/bevy_mod_scripting_bindings/src/world.rs
Original file line number Diff line number Diff line change
Expand Up @@ -598,7 +598,7 @@ impl<'w> WorldAccessGuard<'w> {
/// checks if a given entity exists and is valid
pub fn is_valid_entity(&self, entity: Entity) -> Result<bool, InteropError> {
let cell = self.as_unsafe_world_cell()?;
Ok(cell.get_entity(entity).is_ok() && entity.index() != 0)
Ok(cell.get_entity(entity).is_ok() && entity.index().index() != 0)
}

/// Tries to call a fitting overload of the function with the given name and in the type id's namespace based on the arguments provided.
Expand Down Expand Up @@ -1267,7 +1267,7 @@ impl WorldAccessGuard<'_> {
self.with_global_access(|world| {
let mut queue = CommandQueue::default();
let mut commands = Commands::new(&mut queue, world);
commands.entity(parent).remove_children(children);
commands.entity(parent).detach_children(children);
queue.apply(world);
})
}
Expand Down
5 changes: 3 additions & 2 deletions crates/bevy_mod_scripting_core/src/script_system.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use crate::{

use ::{
bevy_ecs::{
component::{ComponentId, Tick},
component::ComponentId,
entity::Entity,
query::{FilteredAccess, FilteredAccessSet, QueryState},
reflect::AppTypeRegistry,
Expand All @@ -18,6 +18,7 @@ use ::{
bevy_reflect::Reflect,
};
use bevy_ecs::{
change_detection::{CheckChangeTicks, Tick},
schedule::{InternedSystemSet, IntoScheduleConfigs, Schedule, Schedules},
system::{RunSystemError, SystemIn, SystemStateFlags},
world::DeferredWorld,
Expand Down Expand Up @@ -466,7 +467,7 @@ impl<P: IntoScriptPluginParams> System for DynamicScriptSystem<P> {
component_access_set
}

fn check_change_tick(&mut self, change_tick: bevy_ecs::component::CheckChangeTicks) {
fn check_change_tick(&mut self, change_tick: CheckChangeTicks) {
self.last_run.check_tick(change_tick);
}

Expand Down
15 changes: 7 additions & 8 deletions crates/bevy_mod_scripting_display/src/printer/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,13 @@ impl<'f, 'b: 'f, 't> ReflectPrinter<'f, 'b, 't> {

/// Prints a `Reflect` value as if it was its native `Debug` implementation.
pub fn debug(&mut self, value: &dyn PartialReflect) -> std::fmt::Result {
if let Some(type_info_provider) = &self.type_info {
if let Some(reflect_type) = value.try_as_reflect()
&& let Some(display_type_data) = type_info_provider
.get_type_data::<ReflectDisplayWithTypeInfo>(reflect_type.type_id())
&& let Some(as_dyn_trait) = display_type_data.get(reflect_type)
{
return as_dyn_trait.display_with_type_info(self.formatter, self.type_info);
}
if let Some(type_info_provider) = &self.type_info
&& let Some(reflect_type) = value.try_as_reflect()
&& let Some(display_type_data) = type_info_provider
.get_type_data::<ReflectDisplayWithTypeInfo>(reflect_type.type_id())
&& let Some(as_dyn_trait) = display_type_data.get(reflect_type)
{
return as_dyn_trait.display_with_type_info(self.formatter, self.type_info);
}

// try to print the value as if it was its native Debug implementation
Expand Down
10 changes: 5 additions & 5 deletions crates/bindings/bevy_a11y_bms_bindings/Cargo.toml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading