diff --git a/Cargo.lock b/Cargo.lock index 366cb6d..852fcf9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,30 +20,29 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.18.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "becf0eb5215b6ecb0a739c31c21bd83c4f326524c9b46b7e882d77559b60a529" +checksum = "cf203f9d3bd8f29f98833d1fbef628df18f759248a547e7e01cfbf63cda36a99" [[package]] name = "accesskit_consumer" -version = "0.27.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0bf66a7bf0b7ea4fd7742d50b64782a88f99217cf246b3f93b4162528dde520" +checksum = "db81010a6895d8707f9072e6ce98070579b43b717193d2614014abd5cb17dd43" dependencies = [ "accesskit", - "hashbrown", - "immutable-chunkmap", + "hashbrown 0.15.4", ] [[package]] name = "accesskit_macos" -version = "0.19.0" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09e230718177753b4e4ad9e1d9f6cfc2f4921212d4c1c480b253f526babb258d" +checksum = "a0089e5c0ac0ca281e13ea374773898d9354cc28d15af9f0f7394d44a495b575" dependencies = [ "accesskit", "accesskit_consumer", - "hashbrown", + "hashbrown 0.15.4", "objc2", "objc2-app-kit", "objc2-foundation", @@ -51,24 +50,23 @@ dependencies = [ [[package]] name = "accesskit_windows" -version = "0.25.0" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65178f3df98a51e4238e584fcb255cb1a4f9111820848eeddd37663be40a625f" +checksum = "d2d63dd5041e49c363d83f5419a896ecb074d309c414036f616dc0b04faca971" dependencies = [ "accesskit", "accesskit_consumer", - "hashbrown", - "paste", + "hashbrown 0.15.4", "static_assertions", - "windows 0.58.0", - "windows-core 0.58.0", + "windows 0.61.3", + "windows-core 0.61.2", ] [[package]] name = "accesskit_winit" -version = "0.25.0" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d941bb8c414caba6e206de669c7dc0dbeb305640ea890772ee422a40e6b89f" +checksum = "c8cfabe59d0eaca7412bfb1f70198dd31e3b0496fee7e15b066f9c36a1a140a0" dependencies = [ "accesskit", "accesskit_macos", @@ -324,10 +322,11 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "avian2d" -version = "0.3.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7133547d9cc068d527d91fdcb8c8017c89b26ce05dbd30daef9f1ca64824495d" +checksum = "1527c0529592ee609cdf44cfba8ba5190f0bef5f04ae057b1d1e28d412aee63a" dependencies = [ + "approx", "arrayvec", "avian_derive", "bevy", @@ -336,19 +335,25 @@ dependencies = [ "bevy_transform_interpolation", "bitflags 2.9.1", "derive_more", + "disqualified", + "glam_matrix_extras", "itertools 0.13.0", "nalgebra", "parry2d", "parry2d-f64", + "slab", + "smallvec", + "thiserror 2.0.12", "thread_local", ] [[package]] name = "avian3d" -version = "0.3.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0feaf6ed522e3e55130d820bfa2a3f3395092cbee2c986cfc1a464b60b50b4ca" +checksum = "e09c07567e520b22bd6890a055877cd584fc3fd4317e4a0ba599f4833a4b61bc" dependencies = [ + "approx", "avian_derive", "bevy", "bevy_heavy", @@ -356,10 +361,15 @@ dependencies = [ "bevy_transform_interpolation", "bitflags 2.9.1", "derive_more", + "disqualified", + "glam_matrix_extras", "itertools 0.13.0", "nalgebra", "parry3d", "parry3d-f64", + "slab", + "smallvec", + "thiserror 2.0.12", "thread_local", ] @@ -375,12 +385,6 @@ dependencies = [ "syn", ] -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "base64" version = "0.22.1" @@ -389,9 +393,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bevy" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8369c16b7c017437021341521f8b4a0d98e1c70113fb358c3258ae7d661d79" +checksum = "342f7e9335416dc98642d5747c4ed8a6ad9f7244a36d5b2b7a1b7910e4d8f524" dependencies = [ "bevy_dylib", "bevy_internal", @@ -399,9 +403,9 @@ dependencies = [ [[package]] name = "bevy_a11y" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3561712cf49074d89e9989bfc2e6c6add5d33288f689db9a0c333300d2d004" +checksum = "3917cd35096fb2fe176632740b68a4b53cb61006cfff13d66ef47ee2c2478d53" dependencies = [ "accesskit", "bevy_app", @@ -410,23 +414,31 @@ dependencies = [ "bevy_reflect", ] +[[package]] +name = "bevy_android" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a9dd9488c77fa2ea31b5da2f978aab7f1cc82e6d2c3be0adf637d9fd7cb6c8" +dependencies = [ + "android-activity", +] + [[package]] name = "bevy_animation" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49796627726d0b9a722ad9a0127719e7c1868f474d6575ec0f411e8299c4d7bb" +checksum = "00d2eadb9c20d87ab3a5528a8df483492d5b8102d3f2d61c7b1ed23f40a79166" dependencies = [ + "bevy_animation_macros", "bevy_app", "bevy_asset", "bevy_color", "bevy_derive", "bevy_ecs", - "bevy_log", "bevy_math", "bevy_mesh", "bevy_platform", "bevy_reflect", - "bevy_render", "bevy_time", "bevy_transform", "bevy_utils", @@ -444,11 +456,44 @@ dependencies = [ "uuid", ] +[[package]] +name = "bevy_animation_macros" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aec80b84926f730f6df81b9bc07255c120f57aaf7ac577f38d12dd8e1a0268ad" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn", +] + +[[package]] +name = "bevy_anti_alias" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c1adb85fe0956d6c3b6f90777b829785bb7e29a48f58febeeefd2bad317713" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_utils", + "tracing", +] + [[package]] name = "bevy_app" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4491cc4c718ae76b4c6883df58b94cc88b32dcd894ea8d5b603c7c7da72ca967" +checksum = "9f582409b4ed3850d9b66ee94e71a0e2c20e7068121d372530060c4dfcba66fa" dependencies = [ "bevy_derive", "bevy_ecs", @@ -469,14 +514,15 @@ dependencies = [ [[package]] name = "bevy_asset" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f56111d9b88d8649f331a667d9d72163fb26bd09518ca16476d238653823db1e" +checksum = "9e6ee42e74a64a46ab91bd1c0155f8abe5b732bdb948a9b26e541456cc7940e5" dependencies = [ "async-broadcast", "async-fs", "async-lock", "atomicow", + "bevy_android", "bevy_app", "bevy_asset_macros", "bevy_ecs", @@ -484,7 +530,6 @@ dependencies = [ "bevy_reflect", "bevy_tasks", "bevy_utils", - "bevy_window", "bitflags 2.9.1", "blake3", "crossbeam-channel", @@ -509,9 +554,9 @@ dependencies = [ [[package]] name = "bevy_asset_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4cca3e67c0ec760d8889d42293d987ce5da92eaf9c592bf5d503728a63b276d" +checksum = "d03711d2c087227f64ba85dd38a99d4d6893f80d2475c2e77fb90a883760a055" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -521,27 +566,53 @@ dependencies = [ [[package]] name = "bevy_audio" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b4f6f2a5c6c0e7c6825e791d2a061c76c2d6784f114c8f24382163fabbfaaa" +checksum = "f83620c82f281848c02ed4b65133a0364512b4eca2b39cd21a171e50e2986d89" dependencies = [ "bevy_app", "bevy_asset", - "bevy_derive", "bevy_ecs", "bevy_math", "bevy_reflect", "bevy_transform", + "coreaudio-sys", "cpal", "rodio", "tracing", ] +[[package]] +name = "bevy_camera" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b70d79ccbd8bfefc79f33a104dfd82ae2f5276ce04d6df75787bfa3edc4c4c1a" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "bevy_window", + "derive_more", + "downcast-rs 2.0.1", + "serde", + "smallvec", + "thiserror 2.0.12", + "wgpu-types", +] + [[package]] name = "bevy_color" -version = "0.16.2" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c101cbe1e26b8d701eb77263b14346e2e0cbbd2a6e254b9b1aead814e5ca8d3" +checksum = "94dc78477c1c208c0cd221c64e907aba8ba165f39bebb72adc6180e1a13e8938" dependencies = [ "bevy_math", "bevy_reflect", @@ -555,29 +626,28 @@ dependencies = [ [[package]] name = "bevy_core_pipeline" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed46363cad80dc00f08254c3015232bd6f640738403961c6d63e7ecfc61625" +checksum = "0c866a2fe33ec27a612d883223d30f1857aa852766b21a9603628735dace632f" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", "bevy_derive", - "bevy_diagnostic", "bevy_ecs", "bevy_image", "bevy_math", "bevy_platform", "bevy_reflect", "bevy_render", + "bevy_shader", "bevy_transform", "bevy_utils", "bevy_window", "bitflags 2.9.1", - "bytemuck", "nonmax", "radsort", - "serde", "smallvec", "thiserror 2.0.12", "tracing", @@ -585,9 +655,9 @@ dependencies = [ [[package]] name = "bevy_derive" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b837bf6c51806b10ebfa9edf1844ad80a3a0760d6c5fac4e90761df91a8901a" +checksum = "b8c733807158f8fcac68e23222e69ed91a6492ae9410fc2c145b9bb182cfd63e" dependencies = [ "bevy_macro_utils", "quote", @@ -596,16 +666,16 @@ dependencies = [ [[package]] name = "bevy_diagnostic" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48797366f312a8f31e237d08ce3ee70162591282d2bfe7c5ad8be196fb263e55" +checksum = "f12fa32312818c08aa4035bebe9fb3f62aaf7efae33688e718dd6ee6c0147493" dependencies = [ + "atomic-waker", "bevy_app", "bevy_ecs", "bevy_platform", "bevy_tasks", "bevy_time", - "bevy_utils", "const-fnv1a-hash", "log", "serde", @@ -614,18 +684,18 @@ dependencies = [ [[package]] name = "bevy_dylib" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dc3602098b2604941b2829a04ac316de1e36aad949cbffce8861896b9b32532" +checksum = "5b7834bd6b49e3459b94fe2ee2f532de820fd8b91183976e375bf88098e48fe2" dependencies = [ "bevy_internal", ] [[package]] name = "bevy_ecs" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c2bf6521aae57a0ec3487c4bfb59e36c4a378e834b626a4bea6a885af2fdfe7" +checksum = "69d929d32190cfcde6efd2df493601c4dbc18a691fd9775a544c951c3c112e1a" dependencies = [ "arrayvec", "bevy_ecs_macros", @@ -638,12 +708,12 @@ dependencies = [ "bumpalo", "concurrent-queue", "derive_more", - "disqualified", "fixedbitset", "indexmap", "log", "nonmax", "serde", + "slotmap", "smallvec", "thiserror 2.0.12", "variadics_please", @@ -651,9 +721,9 @@ dependencies = [ [[package]] name = "bevy_ecs_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38748d6f3339175c582d751f410fb60a93baf2286c3deb7efebb0878dce7f413" +checksum = "6eeddfb80a2e000663e87be9229c26b4da92bddbc06c8776bc0d1f4a7f679079" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -663,9 +733,9 @@ dependencies = [ [[package]] name = "bevy_encase_derive" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8148f4edee470a2ea5cad010184c492a4c94c36d7a7158ea28e134ea87f274ab" +checksum = "7449e5903594a00f007732ba232af0c527ad4e6e3d29bc3e195ec78dbd20c8b2" dependencies = [ "bevy_macro_utils", "encase_derive_impl", @@ -673,16 +743,15 @@ dependencies = [ [[package]] name = "bevy_gilrs" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97efef87c631949e67d06bb5d7dfd2a5f936b3b379afb6b1485b08edbb219b87" +checksum = "28ff35087f25406006338e6d57f31f313a60f3a5e09990ab7c7b5203b0b55077" dependencies = [ "bevy_app", "bevy_ecs", "bevy_input", "bevy_platform", "bevy_time", - "bevy_utils", "gilrs", "thiserror 2.0.12", "tracing", @@ -690,22 +759,26 @@ dependencies = [ [[package]] name = "bevy_gizmos" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7823154a9682128c261d8bddb3a4d7192a188490075c527af04520c2f0f8aad6" +checksum = "0d3f174faa13041634060dd99f6f59c29997fd62f40252f0466c2ebea8603d4d" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", "bevy_core_pipeline", "bevy_ecs", "bevy_gizmos_macros", "bevy_image", + "bevy_light", "bevy_math", + "bevy_mesh", "bevy_pbr", "bevy_reflect", "bevy_render", - "bevy_sprite", + "bevy_shader", + "bevy_sprite_render", "bevy_time", "bevy_transform", "bevy_utils", @@ -715,30 +788,30 @@ dependencies = [ [[package]] name = "bevy_gizmos_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f378f3b513218ddc78254bbe76536d9de59c1429ebd0c14f5d8f2a25812131ad" +checksum = "714273aa7f285c0aaa874b7fbe37fe4e6e45355e3e6f3321aefa1b78cda259e0" dependencies = [ "bevy_macro_utils", - "proc-macro2", "quote", "syn", ] [[package]] name = "bevy_gltf" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a080237c0b8842ccc15a06d3379302c68580eeea4497b1c7387e470eda1f07" +checksum = "13d67e954b20551818f7cdb33f169ab4db64506ada66eb4d60d3cb8861103411" dependencies = [ - "base64 0.22.1", + "base64", "bevy_animation", "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", - "bevy_core_pipeline", "bevy_ecs", "bevy_image", + "bevy_light", "bevy_math", "bevy_mesh", "bevy_pbr", @@ -748,7 +821,6 @@ dependencies = [ "bevy_scene", "bevy_tasks", "bevy_transform", - "bevy_utils", "fixedbitset", "gltf", "itertools 0.14.0", @@ -762,23 +834,25 @@ dependencies = [ [[package]] name = "bevy_heavy" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ccc861fea2ff58c67f4df119512e204050bd7631a3a9c65e1a5e9d162cce28" +checksum = "a7c0651daa331c326e1460cb19ee5bf497ed2810982dafca8784db44725f5c4b" dependencies = [ "bevy_math", "bevy_reflect", + "glam_matrix_extras", ] [[package]] name = "bevy_image" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e6e900cfecadbc3149953169e36b9e26f922ed8b002d62339d8a9dc6129328" +checksum = "168de8239b2aedd2eeef9f76ae1909b2fdf859b11dcdb4d4d01b93f5f2c771be" dependencies = [ "bevy_app", "bevy_asset", "bevy_color", + "bevy_ecs", "bevy_math", "bevy_platform", "bevy_reflect", @@ -800,16 +874,15 @@ dependencies = [ [[package]] name = "bevy_input" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d6b6516433f6f7d680f648d04eb1866bb3927a1782d52f74831b62042f3cd1" +checksum = "3cf4074b2d0d6680b4deb308ded7b4e8b1b99181c0502e2632e78af815b26f01" dependencies = [ "bevy_app", "bevy_ecs", "bevy_math", "bevy_platform", "bevy_reflect", - "bevy_utils", "derive_more", "log", "smol_str", @@ -818,14 +891,15 @@ dependencies = [ [[package]] name = "bevy_input_focus" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e2d079fda74d1416e0a57dac29ea2b79ff77f420cd6b87f833d3aa29a46bc4d" +checksum = "70761eba0f616a1caa761457bff2b8ae80c9916f39d167fab8c2d5c98d2b8951" dependencies = [ "bevy_app", "bevy_ecs", "bevy_input", "bevy_math", + "bevy_picking", "bevy_reflect", "bevy_window", "log", @@ -834,15 +908,18 @@ dependencies = [ [[package]] name = "bevy_internal" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "857da8785678fde537d02944cd20dec9cafb7d4c447efe15f898dc60e733cacd" +checksum = "f43985739584f3a5d43026aa1edd772f064830be46c497518f05f7dfbc886bba" dependencies = [ "bevy_a11y", + "bevy_android", "bevy_animation", + "bevy_anti_alias", "bevy_app", "bevy_asset", "bevy_audio", + "bevy_camera", "bevy_color", "bevy_core_pipeline", "bevy_derive", @@ -854,36 +931,64 @@ dependencies = [ "bevy_image", "bevy_input", "bevy_input_focus", + "bevy_light", "bevy_log", "bevy_math", + "bevy_mesh", "bevy_pbr", "bevy_picking", "bevy_platform", + "bevy_post_process", "bevy_ptr", "bevy_reflect", "bevy_render", "bevy_scene", + "bevy_shader", "bevy_sprite", + "bevy_sprite_render", "bevy_state", "bevy_tasks", "bevy_text", "bevy_time", "bevy_transform", "bevy_ui", + "bevy_ui_render", "bevy_utils", "bevy_window", "bevy_winit", ] +[[package]] +name = "bevy_light" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cad00ab66d1e93edb928be66606a71066f3b1cbc9f414720e290ef5361eb6237" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "tracing", +] + [[package]] name = "bevy_log" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a61ee8aef17a974f5ca481dcedf0c2bd52670e231d4c4bc9ddef58328865f9" +checksum = "4ae217a035714a37b779487f82edc4c7c1223f7088d7ad94054f29f524d61c51" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", + "bevy_platform", "bevy_utils", "tracing", "tracing-log", @@ -894,30 +999,30 @@ dependencies = [ [[package]] name = "bevy_macro_utils" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052eeebcb8e7e072beea5031b227d9a290f8a7fbbb947573ab6ec81df0fb94be" +checksum = "17dbc3f8948da58b3c17767d20fd3cd35fe4721ed19a9a3204a6f1d6c9951bdd" dependencies = [ "parking_lot", "proc-macro2", "quote", "syn", - "toml_edit", + "toml_edit 0.23.7", ] [[package]] name = "bevy_math" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68553e0090fe9c3ba066c65629f636bd58e4ebd9444fdba097b91af6cd3e243f" +checksum = "f7a41e368ffa95ae2a353197d1ae3993f4d3d471444d80b65c932db667ea7b9e" dependencies = [ "approx", "bevy_reflect", "derive_more", - "glam", + "glam 0.30.9", "itertools 0.14.0", "libm", - "rand", + "rand 0.9.2", "rand_distr", "serde", "smallvec", @@ -927,10 +1032,11 @@ dependencies = [ [[package]] name = "bevy_mesh" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10399c7027001edbc0406d7d0198596b1f07206c1aae715274106ba5bdcac40" +checksum = "b6255244b71153b305fddb4e6f827cb97ed51f276b6e632f5fc46538647948f6" dependencies = [ + "bevy_app", "bevy_asset", "bevy_derive", "bevy_ecs", @@ -940,11 +1046,10 @@ dependencies = [ "bevy_platform", "bevy_reflect", "bevy_transform", - "bevy_utils", "bitflags 2.9.1", "bytemuck", + "derive_more", "hexasphere", - "serde", "thiserror 2.0.12", "tracing", "wgpu-types", @@ -952,41 +1057,40 @@ dependencies = [ [[package]] name = "bevy_mikktspace" -version = "0.16.1" +version = "0.17.0-dev" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb60c753b968a2de0fd279b76a3d19517695e771edb4c23575c7f92156315de" -dependencies = [ - "glam", -] +checksum = "7ef8e4b7e61dfe7719bb03c884dc270cd46a82efb40f93e9933b990c5c190c59" [[package]] name = "bevy_pbr" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5e0b4eb871f364a0d217f70f6c41d7fdc6f9f931fa1abbf222180c03d0ae410" +checksum = "cf8c76337a6ae9d73d50be168aeee974d05fdeda9129a413eaff719e3b7b5fea" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", "bevy_core_pipeline", "bevy_derive", "bevy_diagnostic", "bevy_ecs", "bevy_image", + "bevy_light", "bevy_math", + "bevy_mesh", "bevy_platform", "bevy_reflect", "bevy_render", + "bevy_shader", "bevy_transform", "bevy_utils", - "bevy_window", "bitflags 2.9.1", "bytemuck", "derive_more", "fixedbitset", "nonmax", "offset-allocator", - "radsort", "smallvec", "static_assertions", "thiserror 2.0.12", @@ -995,12 +1099,13 @@ dependencies = [ [[package]] name = "bevy_picking" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ed04757938655ed8094ea1efb533f99063a8b22abffc22010c694d291522850" +checksum = "3a232a8ea4dc9b83c08226f56b868acb1ead06946a95d8b9c8cbbcc860cd8090" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_derive", "bevy_ecs", "bevy_input", @@ -1008,10 +1113,8 @@ dependencies = [ "bevy_mesh", "bevy_platform", "bevy_reflect", - "bevy_render", "bevy_time", "bevy_transform", - "bevy_utils", "bevy_window", "crossbeam-channel", "tracing", @@ -1020,33 +1123,66 @@ dependencies = [ [[package]] name = "bevy_platform" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7573dc824a1b08b4c93fdbe421c53e1e8188e9ca1dd74a414455fe571facb47" +checksum = "10cf8cda162688c95250e74cffaa1c3a04597f105d4ca35554106f107308ea57" dependencies = [ - "cfg-if", "critical-section", - "foldhash", - "getrandom 0.2.16", - "hashbrown", + "foldhash 0.2.0", + "futures-channel", + "getrandom 0.3.3", + "hashbrown 0.16.0", + "js-sys", "portable-atomic", "portable-atomic-util", "serde", "spin", + "wasm-bindgen", + "wasm-bindgen-futures", "web-time", ] +[[package]] +name = "bevy_post_process" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26ee8ab6043f8bbe43e9c16bbdde0c5e7289b99e62cd8aad1a2a4166a7f2bce6" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.9.1", + "nonmax", + "radsort", + "smallvec", + "thiserror 2.0.12", + "tracing", +] + [[package]] name = "bevy_ptr" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df7370d0e46b60e071917711d0860721f5347bc958bf325975ae6913a5dfcf01" +checksum = "28ab4074e7b781bab84e9b0a41ede245d673d1f75646ce0db27643aedcfb3a85" [[package]] name = "bevy_reflect" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daeb91a63a1a4df00aa58da8cc4ddbd4b9f16ab8bb647c5553eb156ce36fa8c2" +checksum = "333df3f5947b7e62728eb5c0b51d679716b16c7c5283118fed4563f13230954e" dependencies = [ "assert_type_match", "bevy_platform", @@ -1057,8 +1193,9 @@ dependencies = [ "disqualified", "downcast-rs 2.0.1", "erased-serde", - "foldhash", - "glam", + "foldhash 0.2.0", + "glam 0.30.9", + "inventory", "petgraph", "serde", "smallvec", @@ -1071,11 +1208,12 @@ dependencies = [ [[package]] name = "bevy_reflect_derive" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ddadc55fe16b45faaa54ab2f9cb00548013c74812e8b018aa172387103cce6" +checksum = "0205dce9c5a4d8d041b263bcfd96e9d9d6f3d49416e12db347ab5778b3071fe1" dependencies = [ "bevy_macro_utils", + "indexmap", "proc-macro2", "quote", "syn", @@ -1084,13 +1222,14 @@ dependencies = [ [[package]] name = "bevy_render" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef91fed1f09405769214b99ebe4390d69c1af5cdd27967deae9135c550eb1667" +checksum = "70d6a5d47ebb247e4ecaaf4a3b0310b7c518728ff2362c69f4220d0d3228e17d" dependencies = [ "async-channel", "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", "bevy_derive", "bevy_diagnostic", @@ -1102,6 +1241,7 @@ dependencies = [ "bevy_platform", "bevy_reflect", "bevy_render_macros", + "bevy_shader", "bevy_tasks", "bevy_time", "bevy_transform", @@ -1109,22 +1249,17 @@ dependencies = [ "bevy_window", "bitflags 2.9.1", "bytemuck", - "codespan-reporting", "derive_more", "downcast-rs 2.0.1", "encase", "fixedbitset", - "futures-lite", "image", "indexmap", "js-sys", - "ktx2", "naga", - "naga_oil", "nonmax", "offset-allocator", "send_wrapper", - "serde", "smallvec", "thiserror 2.0.12", "tracing", @@ -1136,9 +1271,9 @@ dependencies = [ [[package]] name = "bevy_render_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abd42cf6c875bcf38da859f8e731e119a6aff190d41dd0a1b6000ad57cf2ed3d" +checksum = "a7e8b553adf0a4f9f059c5c2dcb52d9ac09abede1c322a92b43b9f4bb11c3843" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1148,17 +1283,17 @@ dependencies = [ [[package]] name = "bevy_scene" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c52ca165200995fe8afd2a1a6c03e4ffee49198a1d4653d32240ea7f217d4ab" +checksum = "e601ffeebbdaba1193f823dbdc9fc8787a24cf83225a72fee4def5c27a18778a" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_derive", "bevy_ecs", "bevy_platform", "bevy_reflect", - "bevy_render", "bevy_transform", "bevy_utils", "derive_more", @@ -1167,41 +1302,85 @@ dependencies = [ "uuid", ] +[[package]] +name = "bevy_shader" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cef8f8e53776d286eb62bb60164f30671f07005ff407e94ec1176e9426d1477" +dependencies = [ + "bevy_asset", + "bevy_platform", + "bevy_reflect", + "naga", + "naga_oil", + "serde", + "thiserror 2.0.12", + "tracing", + "wgpu-types", +] + [[package]] name = "bevy_sprite" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ccae7bab2cb956fb0434004c359e432a3a1a074a6ef4eb471f1fb099f0b620b" +checksum = "74bb52fa52caa1cc8d95acf45e52efc0c72b59755c2f0801a30fdab367921db0" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", - "bevy_core_pipeline", "bevy_derive", "bevy_ecs", "bevy_image", "bevy_math", + "bevy_mesh", "bevy_picking", + "bevy_reflect", + "bevy_text", + "bevy_transform", + "bevy_window", + "radsort", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_sprite_render" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31bb90a9139b04568bd30b2492ba61234092d95a7f7e3c84b55369b16d7e261b" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", "bevy_platform", "bevy_reflect", "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_text", "bevy_transform", "bevy_utils", - "bevy_window", "bitflags 2.9.1", "bytemuck", "derive_more", "fixedbitset", "nonmax", - "radsort", "tracing", ] [[package]] name = "bevy_state" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155d3cd97b900539008cdcaa702f88b724d94b08977b8e591a32536ce66faa8c" +checksum = "fe4e955f36cdc7b31556e4619a653dcf65d46967d90d36fb788f746c8e89257e" dependencies = [ "bevy_app", "bevy_ecs", @@ -1215,43 +1394,39 @@ dependencies = [ [[package]] name = "bevy_state_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2481c1304fd2a1851a0d4cb63a1ce6421ae40f3f0117cbc9882963ee4c9bb609" +checksum = "5c3e4e32b1b96585740a2b447661af7db1b9d688db5e4d96da50461cd8f5ce63" dependencies = [ "bevy_macro_utils", - "proc-macro2", "quote", "syn", ] [[package]] name = "bevy_tasks" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b674242641cab680688fc3b850243b351c1af49d4f3417a576debd6cca8dcf5" +checksum = "18839182775f30d26f0f84d9de85d25361bb593c99517a80b64ede6cbaf41adc" dependencies = [ "async-channel", "async-executor", "async-task", "atomic-waker", "bevy_platform", - "cfg-if", "concurrent-queue", "crossbeam-queue", "derive_more", - "futures-channel", "futures-lite", "heapless", "pin-project", - "wasm-bindgen-futures", ] [[package]] name = "bevy_text" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d76c85366159f5f54110f33321c76d8429cfd8f39638f26793a305dae568b60" +checksum = "cc1b759cf2ed8992132bd541ebb9ffcfa777d2faf3596d418fb25984bc6677d8" dependencies = [ "bevy_app", "bevy_asset", @@ -1263,25 +1438,21 @@ dependencies = [ "bevy_math", "bevy_platform", "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_transform", "bevy_utils", - "bevy_window", "cosmic-text", "serde", "smallvec", "sys-locale", "thiserror 2.0.12", "tracing", - "unicode-bidi", + "wgpu-types", ] [[package]] name = "bevy_time" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc98eb356c75be04fbbc77bb3d8ffa24c8bacd99f76111cee23d444be6ac8c9c" +checksum = "1a52edd3d30ed94074f646ba1c9914e407af9abe5b6fb7a4322c855341a536cc" dependencies = [ "bevy_app", "bevy_ecs", @@ -1294,9 +1465,9 @@ dependencies = [ [[package]] name = "bevy_transform" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df218e440bb9a19058e1b80a68a031c887bcf7bd3a145b55f361359a2fa3100d" +checksum = "7995ae14430b1a268d1e4f098ab770e8af880d2df5e4e37161b47d8d9e9625bd" dependencies = [ "bevy_app", "bevy_ecs", @@ -1312,25 +1483,25 @@ dependencies = [ [[package]] name = "bevy_transform_interpolation" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c7c6c4e6a3d5415b3a29a17bd20c17cd0e2f068b96b24e263316d58d5346ea" +checksum = "284738382605476667bbe80cf0959f4dffb61adbdb0149e22e67f4dbf97a5bc2" dependencies = [ "bevy", ] [[package]] name = "bevy_ui" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a4d2ba51865bc3039af29a26b4f52c48b54cc758369f52004caf4b6f03770" +checksum = "cc999815a67a6b2fc911df9eea27af703ff656aed6fd31d8606dced701f07fd6" dependencies = [ "accesskit", "bevy_a11y", "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", - "bevy_core_pipeline", "bevy_derive", "bevy_ecs", "bevy_image", @@ -1339,61 +1510,91 @@ dependencies = [ "bevy_picking", "bevy_platform", "bevy_reflect", - "bevy_render", "bevy_sprite", "bevy_text", "bevy_transform", "bevy_utils", "bevy_window", - "bytemuck", "derive_more", - "nonmax", "smallvec", "taffy", "thiserror 2.0.12", "tracing", + "uuid", +] + +[[package]] +name = "bevy_ui_render" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adae9770089e04339d003afe7abe7153fe71600d81c828f964c7ac329b04d5b9" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_sprite_render", + "bevy_text", + "bevy_transform", + "bevy_ui", + "bevy_utils", + "bytemuck", + "derive_more", + "tracing", ] [[package]] name = "bevy_utils" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f7a8905a125d2017e8561beefb7f2f5e67e93ff6324f072ad87c5fd6ec3b99" +checksum = "080254083c74d5f6eb0649d7cd6181bda277e8fe3c509ec68990a5d56ec23f24" dependencies = [ "bevy_platform", + "disqualified", "thread_local", ] [[package]] name = "bevy_window" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df7e8ad0c17c3cc23ff5566ae2905c255e6986037fb041f74c446216f5c38431" +checksum = "f582478606d6b6e5c53befbe7612f038fdfb73f8a27f7aae644406637347acd4" dependencies = [ - "android-activity", "bevy_app", + "bevy_asset", "bevy_ecs", + "bevy_image", "bevy_input", "bevy_math", "bevy_platform", "bevy_reflect", - "bevy_utils", "log", "raw-window-handle", "serde", - "smol_str", ] [[package]] name = "bevy_winit" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a5e7f00c6b3b6823df5ec2a5e9067273607208919bc8c211773ebb9643c87f0" +checksum = "eb0ccf2faca4b4c156a26284d1bbf90a8cac8568a273adcd6c1a270c1342f3df" dependencies = [ "accesskit", "accesskit_winit", "approx", "bevy_a11y", + "bevy_android", "bevy_app", "bevy_asset", "bevy_derive", @@ -1406,12 +1607,9 @@ dependencies = [ "bevy_platform", "bevy_reflect", "bevy_tasks", - "bevy_utils", "bevy_window", "bytemuck", "cfg-if", - "crossbeam-channel", - "raw-window-handle", "tracing", "wasm-bindgen", "web-sys", @@ -1419,26 +1617,6 @@ dependencies = [ "winit", ] -[[package]] -name = "bindgen" -version = "0.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" -dependencies = [ - "bitflags 2.9.1", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn", -] - [[package]] name = "bindgen" version = "0.72.0" @@ -1457,30 +1635,15 @@ dependencies = [ "syn", ] -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec 0.6.3", -] - [[package]] name = "bit-set" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ - "bit-vec 0.8.0", + "bit-vec", ] -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - [[package]] name = "bit-vec" version = "0.8.0" @@ -1499,6 +1662,7 @@ version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" dependencies = [ + "bytemuck", "serde", ] @@ -1678,10 +1842,11 @@ dependencies = [ [[package]] name = "codespan-reporting" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" dependencies = [ + "serde", "termcolor", "unicode-width", ] @@ -1783,7 +1948,7 @@ checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation 0.9.4", - "core-graphics-types", + "core-graphics-types 0.1.3", "foreign-types", "libc", ] @@ -1799,6 +1964,17 @@ dependencies = [ "libc", ] +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.10.1", + "libc", +] + [[package]] name = "coreaudio-rs" version = "0.11.3" @@ -1816,14 +1992,14 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ceec7a6067e62d6f931a2baf6f3a751f4a892595bcec1461a3c94ef9949864b6" dependencies = [ - "bindgen 0.72.0", + "bindgen", ] [[package]] name = "cosmic-text" -version = "0.13.2" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e418dd4f5128c3e93eab12246391c54a20c496811131f85754dc8152ee207892" +checksum = "da46a9d5a8905cc538a4a5bceb6a4510de7a51049c5588c0114efce102bcbbe8" dependencies = [ "bitflags 2.9.1", "fontdb", @@ -1959,18 +2135,18 @@ checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "derive_more" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", @@ -2043,30 +2219,30 @@ dependencies = [ [[package]] name = "encase" -version = "0.10.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0a05902cf601ed11d564128448097b98ebe3c6574bd7b6a653a3d56d54aa020" +checksum = "02ba239319a4f60905966390f5e52799d868103a533bb7e27822792332504ddd" dependencies = [ "const_panic", "encase_derive", - "glam", - "thiserror 1.0.69", + "glam 0.30.9", + "thiserror 2.0.12", ] [[package]] name = "encase_derive" -version = "0.10.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "181d475b694e2dd56ae919ce7699d344d1fd259292d590c723a50d1189a2ea85" +checksum = "5223d6c647f09870553224f6e37261fe5567bc5a4f4cf13ed337476e79990f2f" dependencies = [ "encase_derive_impl", ] [[package]] name = "encase_derive_impl" -version = "0.10.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f97b51c5cc57ef7c5f7a0c57c250251c49ee4c28f819f87ac32f4aceabc36792" +checksum = "1796db3d892515842ca2dfb11124c4bb4a9e58d9f2c5c1072e5bca1b2334507b" dependencies = [ "proc-macro2", "quote", @@ -2172,6 +2348,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "font-types" version = "0.9.0" @@ -2276,7 +2458,7 @@ dependencies = [ "indoc", "itertools 0.14.0", "lipsum", - "rand", + "rand 0.8.5", "serde", "thiserror 2.0.12", "walkdir", @@ -2299,79 +2481,180 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi 0.11.1+wasi-snapshot-preview1", - "wasm-bindgen", ] [[package]] name = "getrandom" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasi 0.14.2+wasi-0.2.4", -] +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", +] + +[[package]] +name = "gilrs" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb2c998745a3c1ac90f64f4f7b3a54219fd3612d7705e7798212935641ed18f" +dependencies = [ + "fnv", + "gilrs-core", + "log", + "uuid", + "vec_map", +] + +[[package]] +name = "gilrs-core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6d95ae10ce5aa99543a28cf74e41c11f3b9e3c14f0452bbde46024753cd683e" +dependencies = [ + "core-foundation 0.10.1", + "inotify", + "io-kit-sys", + "js-sys", + "libc", + "libudev-sys", + "log", + "nix 0.29.0", + "uuid", + "vec_map", + "wasm-bindgen", + "web-sys", + "windows 0.61.3", +] + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glam" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "333928d5eb103c5d4050533cec0384302db6be8ef7d3cebd30ec6a35350353da" + +[[package]] +name = "glam" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3abb554f8ee44336b72d522e0a7fe86a29e09f839a36022fa869a7dfe941a54b" + +[[package]] +name = "glam" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4126c0479ccf7e8664c36a2d719f5f2c140fbb4f9090008098d2c291fa5b3f16" + +[[package]] +name = "glam" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01732b97afd8508eee3333a541b9f7610f454bb818669e66e90f5f57c93a776" + +[[package]] +name = "glam" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525a3e490ba77b8e326fb67d4b44b4bd2f920f44d4cc73ccec50adc68e3bee34" + +[[package]] +name = "glam" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b8509e6791516e81c1a630d0bd7fbac36d2fa8712a9da8662e716b52d5051ca" + +[[package]] +name = "glam" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43e957e744be03f5801a55472f593d43fabdebf25a4585db250f04d86b1675f" + +[[package]] +name = "glam" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "518faa5064866338b013ff9b2350dc318e14cc4fcd6cb8206d7e7c9886c98815" + +[[package]] +name = "glam" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f597d56c1bd55a811a1be189459e8fad2bbc272616375602443bdfb37fa774" + +[[package]] +name = "glam" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e4afd9ad95555081e109fe1d21f2a30c691b5f0919c67dfa690a2e1eb6bd51c" + +[[package]] +name = "glam" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" [[package]] -name = "gilrs" -version = "0.11.0" +name = "glam" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb2c998745a3c1ac90f64f4f7b3a54219fd3612d7705e7798212935641ed18f" -dependencies = [ - "fnv", - "gilrs-core", - "log", - "uuid", - "vec_map", -] +checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" [[package]] -name = "gilrs-core" -version = "0.6.4" +name = "glam" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d95ae10ce5aa99543a28cf74e41c11f3b9e3c14f0452bbde46024753cd683e" -dependencies = [ - "core-foundation 0.10.1", - "inotify", - "io-kit-sys", - "js-sys", - "libc", - "libudev-sys", - "log", - "nix 0.29.0", - "uuid", - "vec_map", - "wasm-bindgen", - "web-sys", - "windows 0.61.3", -] +checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" [[package]] -name = "gl_generator" -version = "0.14.0" +name = "glam" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" -dependencies = [ - "khronos_api", - "log", - "xml-rs", -] +checksum = "779ae4bf7e8421cf91c0b3b64e7e8b40b862fba4d393f59150042de7c4965a94" [[package]] name = "glam" version = "0.29.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee" + +[[package]] +name = "glam" +version = "0.30.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46" dependencies = [ + "approx", "bytemuck", "libm", - "rand", - "serde", + "rand 0.9.2", + "serde_core", +] + +[[package]] +name = "glam_matrix_extras" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb141d04d0bbebc52c325352ae0c930a6d42c77ccd02b7c591a73bd7bc1d859" +dependencies = [ + "bevy_reflect", + "glam 0.30.9", ] [[package]] @@ -2476,7 +2759,7 @@ checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ "bitflags 2.9.1", "gpu-descriptor-types", - "hashbrown", + "hashbrown 0.15.4", ] [[package]] @@ -2512,6 +2795,7 @@ checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ "cfg-if", "crunchy", + "num-traits", ] [[package]] @@ -2531,7 +2815,17 @@ checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" dependencies = [ "allocator-api2", "equivalent", - "foldhash", + "foldhash 0.1.5", +] + +[[package]] +name = "hashbrown" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +dependencies = [ + "equivalent", + "foldhash 0.2.0", "serde", ] @@ -2546,12 +2840,6 @@ dependencies = [ "stable_deref_trait", ] -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "hermit-abi" version = "0.5.2" @@ -2560,12 +2848,12 @@ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hexasphere" -version = "15.1.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c9e718d32b6e6b2b32354e1b0367025efdd0b11d6a740b905ddf5db1074679" +checksum = "29a164ceff4500f2a72b1d21beaa8aa8ad83aec2b641844c659b190cb3ea2e0b" dependencies = [ "constgebra", - "glam", + "glam 0.30.9", "tinyvec", ] @@ -2611,24 +2899,16 @@ dependencies = [ "png", ] -[[package]] -name = "immutable-chunkmap" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578" -dependencies = [ - "arrayvec", -] - [[package]] name = "indexmap" -version = "2.9.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.16.0", "serde", + "serde_core", ] [[package]] @@ -2663,6 +2943,15 @@ dependencies = [ "libc", ] +[[package]] +name = "inventory" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" +dependencies = [ + "rustversion", +] + [[package]] name = "io-kit-sys" version = "0.4.1" @@ -2758,11 +3047,11 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" [[package]] name = "ktx2" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87d65e08a9ec02e409d27a0139eaa6b9756b4d81fe7cde71f6941a83730ce838" +checksum = "ff7f53bdf698e7aa7ec916411bbdc8078135da11b66db5182675b2227f6c0d07" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", ] [[package]] @@ -2843,8 +3132,8 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "636860251af8963cc40f6b4baadee105f02e21b28131d76eba8e40ce84ab8064" dependencies = [ - "rand", - "rand_chacha", + "rand 0.8.5", + "rand_chacha 0.3.1", ] [[package]] @@ -2923,13 +3212,13 @@ dependencies = [ [[package]] name = "metal" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" +checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" dependencies = [ "bitflags 2.9.1", "block", - "core-graphics-types", + "core-graphics-types 0.2.0", "foreign-types", "log", "objc", @@ -2954,55 +3243,71 @@ dependencies = [ [[package]] name = "naga" -version = "24.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" +checksum = "916cbc7cb27db60be930a4e2da243cf4bc39569195f22fd8ee419cd31d5b662c" dependencies = [ "arrayvec", - "bit-set 0.8.0", + "bit-set", "bitflags 2.9.1", + "cfg-if", "cfg_aliases", "codespan-reporting", + "half", + "hashbrown 0.15.4", "hexf-parse", "indexmap", + "libm", "log", + "num-traits", + "once_cell", "pp-rs", "rustc-hash 1.1.0", "spirv", - "strum", - "termcolor", "thiserror 2.0.12", - "unicode-xid", + "unicode-ident", ] [[package]] name = "naga_oil" -version = "0.17.1" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2464f7395decfd16bb4c33fb0cb3b2c645cc60d051bc7fb652d3720bfb20f18" +checksum = "1b586d3cf5c9b7e13fe2af6e114406ff70773fd80881960378933b63e76f37dd" dependencies = [ - "bit-set 0.5.3", "codespan-reporting", "data-encoding", "indexmap", "naga", - "once_cell", "regex", - "regex-syntax", "rustc-hash 1.1.0", - "thiserror 1.0.69", + "thiserror 2.0.12", "tracing", "unicode-ident", ] [[package]] name = "nalgebra" -version = "0.33.2" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b" +checksum = "c4d5b3eff5cd580f93da45e64715e8c20a3996342f1e466599cf7a267a0c2f5f" dependencies = [ "approx", - "glam", + "glam 0.14.0", + "glam 0.15.2", + "glam 0.16.0", + "glam 0.17.3", + "glam 0.18.0", + "glam 0.19.0", + "glam 0.20.5", + "glam 0.21.3", + "glam 0.22.0", + "glam 0.23.0", + "glam 0.24.2", + "glam 0.25.0", + "glam 0.27.0", + "glam 0.28.0", + "glam 0.29.3", + "glam 0.30.9", "matrixmultiply", "nalgebra-macros", "num-complex", @@ -3014,9 +3319,9 @@ dependencies = [ [[package]] name = "nalgebra-macros" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" +checksum = "973e7178a678cfd059ccec50887658d482ce16b0aa9da3888ddeab5cd5eb4889" dependencies = [ "proc-macro2", "quote", @@ -3345,6 +3650,16 @@ dependencies = [ "objc2", ] +[[package]] +name = "objc2-io-kit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71c1c64d6120e51cd86033f67176b1cb66780c2efe34dec55176f77befd93c0a" +dependencies = [ + "libc", + "objc2-core-foundation", +] + [[package]] name = "objc2-link-presentation" version = "0.2.2" @@ -3503,6 +3818,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "ordered-float" +version = "5.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4779c6901a562440c3786d08192c6fbda7c1c2060edd10006b05ee35d10f2d" +dependencies = [ + "num-traits", +] + [[package]] name = "owned_ttf_parser" version = "0.25.0" @@ -3543,108 +3867,113 @@ dependencies = [ [[package]] name = "parry2d" -version = "0.17.6" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87edd53b1639e011e4765eecfceb0fa2c486da696dcdcfbc9a38bfc3574fb7e0" +checksum = "ef681740349cec3ab9b5996b03b459b383b6998e1ffcb2804e8b57eb1e8491d9" dependencies = [ "approx", "arrayvec", "bitflags 2.9.1", - "downcast-rs 1.2.1", + "downcast-rs 2.0.1", "either", "ena", + "foldhash 0.2.0", + "hashbrown 0.16.0", "log", "nalgebra", "num-derive", "num-traits", - "ordered-float", + "ordered-float 5.1.0", "rayon", - "rustc-hash 2.1.1", "simba", "slab", "smallvec", "spade", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "parry2d-f64" -version = "0.17.6" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42dadff562001ff51eed809d7c75ac6f185d8cffc575d7b45a8bdc6ea6f1bf30" +checksum = "835d4ca2b68026b04a75ca6196da961d8c0895420eacc9cc2201f7ad54775780" dependencies = [ "approx", "arrayvec", "bitflags 2.9.1", - "downcast-rs 1.2.1", + "downcast-rs 2.0.1", "either", "ena", + "foldhash 0.2.0", + "hashbrown 0.16.0", "log", "nalgebra", "num-derive", "num-traits", - "ordered-float", + "ordered-float 5.1.0", "rayon", - "rustc-hash 2.1.1", "simba", "slab", "smallvec", "spade", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "parry3d" -version = "0.17.6" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeb9659a05b1783fb2e9bc94f48225ae5b40817eb45b62569c0e4dd767a6e51" +checksum = "e99471b7b6870f7fe406d5611dd4b4c9b07aa3e5436b1d27e1515f9832bb0c6b" dependencies = [ "approx", "arrayvec", "bitflags 2.9.1", - "downcast-rs 1.2.1", + "downcast-rs 2.0.1", "either", "ena", + "foldhash 0.2.0", + "hashbrown 0.16.0", "log", "nalgebra", "num-derive", "num-traits", - "ordered-float", + "ordered-float 5.1.0", "rayon", "rstar", - "rustc-hash 2.1.1", "simba", "slab", "smallvec", "spade", - "thiserror 1.0.69", + "static_assertions", + "thiserror 2.0.12", ] [[package]] name = "parry3d-f64" -version = "0.17.6" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4484c8ad93ff03c0e57aa1a4f3ff5406ab6301a1eb838ef6dea90e94f00a6c7" +checksum = "38fe282b81b60a2aee7f24db25ea73b3c82f6451888eeb5936b621adb87aa653" dependencies = [ "approx", "arrayvec", "bitflags 2.9.1", - "downcast-rs 1.2.1", + "downcast-rs 2.0.1", "either", "ena", + "foldhash 0.2.0", + "hashbrown 0.16.0", "log", "nalgebra", "num-derive", "num-traits", - "ordered-float", + "ordered-float 5.1.0", "rayon", "rstar", - "rustc-hash 2.1.1", "simba", "slab", "smallvec", "spade", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] @@ -3661,11 +3990,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" -version = "0.7.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", + "hashbrown 0.15.4", "indexmap", "serde", "serde_derive", @@ -3781,23 +4111,13 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" -[[package]] -name = "prettyplease" -version = "0.2.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" -dependencies = [ - "proc-macro2", - "syn", -] - [[package]] name = "proc-macro-crate" version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit", + "toml_edit 0.22.27", ] [[package]] @@ -3874,8 +4194,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", ] [[package]] @@ -3885,7 +4215,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -3897,14 +4237,23 @@ dependencies = [ "getrandom 0.2.16", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", +] + [[package]] name = "rand_distr" -version = "0.4.3" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" dependencies = [ "num-traits", - "rand", + "rand 0.9.2", ] [[package]] @@ -4038,14 +4387,15 @@ dependencies = [ [[package]] name = "ron" -version = "0.8.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" +checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" dependencies = [ - "base64 0.21.7", + "base64", "bitflags 2.9.1", "serde", "serde_derive", + "unicode-ident", ] [[package]] @@ -4198,18 +4548,28 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -4333,7 +4693,7 @@ version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a14e31a007e9f85c32784b04f89e6e194bb252a4d41b4a8ccd9e77245d901c8c" dependencies = [ - "hashbrown", + "hashbrown 0.15.4", "num-traits", "robust", "smallvec", @@ -4341,9 +4701,9 @@ dependencies = [ [[package]] name = "spin" -version = "0.9.8" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" dependencies = [ "portable-atomic", ] @@ -4381,28 +4741,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - [[package]] name = "svg_fmt" version = "0.4.5" @@ -4442,15 +4780,16 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.34.2" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b93974b3d3aeaa036504b8eefd4c039dced109171c1ae973f1dc63b2c7e4b2" +checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" dependencies = [ "libc", "memchr", "ntapi", "objc2-core-foundation", - "windows 0.54.0", + "objc2-io-kit", + "windows 0.61.3", ] [[package]] @@ -4569,6 +4908,15 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" +[[package]] +name = "toml_datetime" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" version = "0.22.27" @@ -4576,7 +4924,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap", - "toml_datetime", + "toml_datetime 0.6.11", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.23.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +dependencies = [ + "indexmap", + "toml_datetime 0.7.3", + "toml_parser", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +dependencies = [ "winnow", ] @@ -4625,15 +4994,12 @@ dependencies = [ [[package]] name = "tracing-oslog" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" +checksum = "d76902d2a8d5f9f55a81155c08971734071968c90f2d9bfe645fe700579b2950" dependencies = [ - "bindgen 0.70.1", "cc", "cfg-if", - "once_cell", - "parking_lot", "tracing-core", "tracing-subscriber", ] @@ -5030,24 +5396,25 @@ dependencies = [ [[package]] name = "wgpu" -version = "24.0.5" +version = "26.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b0b3436f0729f6cdf2e6e9201f3d39dc95813fad61d826c1ed07918b4539353" +checksum = "70b6ff82bbf6e9206828e1a3178e851f8c20f1c9028e74dd3a8090741ccd5798" dependencies = [ "arrayvec", "bitflags 2.9.1", + "cfg-if", "cfg_aliases", "document-features", + "hashbrown 0.15.4", "js-sys", "log", "naga", - "parking_lot", + "portable-atomic", "profiling", "raw-window-handle", "smallvec", "static_assertions", "wasm-bindgen", - "wasm-bindgen-futures", "web-sys", "wgpu-core", "wgpu-hal", @@ -5056,49 +5423,84 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "24.0.5" +version = "26.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f0aa306497a238d169b9dc70659105b4a096859a34894544ca81719242e1499" +checksum = "d5f62f1053bd28c2268f42916f31588f81f64796e2ff91b81293515017ca8bd9" dependencies = [ "arrayvec", - "bit-vec 0.8.0", + "bit-set", + "bit-vec", "bitflags 2.9.1", "cfg_aliases", "document-features", + "hashbrown 0.15.4", "indexmap", "log", "naga", "once_cell", "parking_lot", + "portable-atomic", "profiling", "raw-window-handle", "rustc-hash 1.1.0", "smallvec", "thiserror 2.0.12", + "wgpu-core-deps-apple", + "wgpu-core-deps-wasm", + "wgpu-core-deps-windows-linux-android", "wgpu-hal", "wgpu-types", ] +[[package]] +name = "wgpu-core-deps-apple" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18ae5fbde6a4cbebae38358aa73fcd6e0f15c6144b67ef5dc91ded0db125dbdf" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-wasm" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03b9f9e1a50686d315fc6debe4980cc45cd37b0e919351917df494e8fdc8885" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-windows-linux-android" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "720a5cb9d12b3d337c15ff0e24d3e97ed11490ff3f7506e7f3d98c68fa5d6f14" +dependencies = [ + "wgpu-hal", +] + [[package]] name = "wgpu-hal" -version = "24.0.4" +version = "26.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f112f464674ca69f3533248508ee30cb84c67cf06c25ff6800685f5e0294e259" +checksum = "a8d0e67224cc7305b3b4eb2cc57ca4c4c3afc665c1d1bee162ea806e19c47bdd" dependencies = [ "android_system_properties", "arrayvec", "ash", - "bit-set 0.8.0", + "bit-set", "bitflags 2.9.1", "block", "bytemuck", + "cfg-if", "cfg_aliases", - "core-graphics-types", + "core-graphics-types 0.2.0", "glow", "glutin_wgl_sys", "gpu-alloc", "gpu-allocator", "gpu-descriptor", + "hashbrown 0.15.4", "js-sys", "khronos-egl", "libc", @@ -5106,16 +5508,16 @@ dependencies = [ "log", "metal", "naga", - "ndk-sys 0.5.0+25.2.9519653", + "ndk-sys 0.6.0+11769913", "objc", - "once_cell", - "ordered-float", + "ordered-float 4.6.0", "parking_lot", + "portable-atomic", + "portable-atomic-util", "profiling", "range-alloc", "raw-window-handle", "renderdoc-sys", - "rustc-hash 1.1.0", "smallvec", "thiserror 2.0.12", "wasm-bindgen", @@ -5127,14 +5529,16 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "24.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" +checksum = "eca7a8d8af57c18f57d393601a1fb159ace8b2328f1b6b5f80893f7d672c9ae2" dependencies = [ "bitflags 2.9.1", + "bytemuck", "js-sys", "log", "serde", + "thiserror 2.0.12", "web-sys", ] @@ -5715,9 +6119,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.11" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index ff1f803..d276974 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,13 +23,13 @@ version = "1.0.219" features = ["derive"] [dependencies.avian3d] -version = "0.3.1" +version = "0.4.1" [dependencies.avian2d] -version = "0.3.1" +version = "0.4.1" [dependencies.bevy] -version = "0.16.1" +version = "0.17.2" features = ["wayland", "dynamic_linking"] [dev-dependencies] diff --git a/examples/demos/parallax2d.rs b/examples/demos/parallax2d.rs index 23f625e..17c6489 100644 --- a/examples/demos/parallax2d.rs +++ b/examples/demos/parallax2d.rs @@ -78,7 +78,7 @@ fn move_camera(keys: Res>, mut camera: Single<&mut Transfor } } -#[derive(Event)] +#[derive(Message)] struct CameraMovement(Vec3); fn track_camera_movement( @@ -93,7 +93,7 @@ fn track_camera_movement( } fn parallax( - mut events: EventReader, + mut events: MessageReader, mut query: Query<(&mut Transform, &ParallaxDistance)>, ) { events.read().for_each(|CameraMovement(v)| { diff --git a/examples/scroll.rs b/examples/scroll.rs index 8a4f1ee..9269503 100644 --- a/examples/scroll.rs +++ b/examples/scroll.rs @@ -14,7 +14,7 @@ fn main() { .add_systems(Update, draw_gizmos) .add_systems( Update, - event_detection.run_if(on_event::.or(on_event::)), + event_detection.run_if(on_message::.or(on_message::)), ) .add_observer(set_tree_position) .run(); @@ -88,18 +88,18 @@ fn setup( } fn set_tree_position( - trigger: Trigger, + event: On, tree_pos: Query<&TreePos>, mut commands: Commands, ) { - let TreePos(pos) = tree_pos.get(trigger.target()).unwrap(); + let TreePos(pos) = tree_pos.get(event.entity).unwrap(); let x = if (*pos) > 0 { (200.0 * (*pos) as f32) - 100.0 } else { (200.0 * (*pos) as f32) + 100.0 }; let t = Transform::from_xyz(x, 0.0, 0.0); - commands.entity(trigger.target()).insert(t); + commands.entity(event.entity).insert(t); } fn move_player( @@ -132,8 +132,8 @@ fn draw_gizmos(mut gizmos: Gizmos, play_area: Single<&GlobalTransform, With, - mut end_events: EventReader, + mut start_events: MessageReader, + mut end_events: MessageReader, player: Single<&Player>, trees: Query<&TreePos>, keyboard_input: Res>, diff --git a/examples/sensors.rs b/examples/sensors.rs index 1a7806f..8446dbd 100644 --- a/examples/sensors.rs +++ b/examples/sensors.rs @@ -191,7 +191,7 @@ impl Display for InsideArea { /// Read collision events and procss them into resource updates to be displayed to the user fn process_events( - mut events: EventReader, + mut events: MessageReader, areas: Query<&AreaMarker>, mut inside: ResMut, ) { diff --git a/examples/sync_resource_to_ui.rs b/examples/sync_resource_to_ui.rs index 5966ca5..f937f2f 100644 --- a/examples/sync_resource_to_ui.rs +++ b/examples/sync_resource_to_ui.rs @@ -9,7 +9,7 @@ fn main() { Update, ( sync_resource_to_ui::.run_if(resource_changed::), - update_foo.run_if(on_event::), + update_foo.run_if(on_message::), ), ) .run(); @@ -44,7 +44,7 @@ fn init_ui(mut commands: Commands) { )); } -fn update_foo(mut events: EventReader, mut thing: ResMut) { +fn update_foo(mut events: MessageReader, mut thing: ResMut) { events.read().for_each(|_| { thing.0 = thing.0.overflowing_add(1).0; }); diff --git a/examples/ui.rs b/examples/ui.rs index ecc7d5d..d14bdb7 100644 --- a/examples/ui.rs +++ b/examples/ui.rs @@ -15,7 +15,7 @@ fn main() { Update, ( hide_menu, - control_menu.run_if(on_event::>.or(on_event::>)), + control_menu.run_if(on_message::>.or(on_message::>)), ), ); app.run(); @@ -129,8 +129,8 @@ fn hide_menu(mut nodes: Query<(&mut Visibility, &NavState), Changed>) // When you pointer goes off of the '+' or any of it's children make the entire menu invisible fn control_menu( - mut over_events: EventReader>, - mut out_events: EventReader>, + mut over_events: MessageReader>, + mut out_events: MessageReader>, children: Query<&ChildOf>, parents: Query<&Children>, mut nav: Query<&mut NavState>, diff --git a/src/bin/flappy/main.rs b/src/bin/flappy/main.rs index bf6ba65..601b565 100644 --- a/src/bin/flappy/main.rs +++ b/src/bin/flappy/main.rs @@ -99,8 +99,8 @@ fn main() { (update_tooltip, debug_trail).run_if(in_state(DebuggingState::On)), // TODO: Add run_if to this system update_batch_position.run_if(any_component_changed::), - move_batches.run_if(on_event::.or(on_event::)), - manage_score.run_if(on_event::.or(on_event::)), + move_batches.run_if(on_message::.or(on_message::)), + manage_score.run_if(on_message::.or(on_message::)), shimmer_button::.run_if(in_state(PlayerState::Stasis)), shimmer_button::.run_if(in_state(PlayerState::Pause)), ), @@ -265,20 +265,20 @@ fn init_first_batches(mut commands: Commands) { /// * The pipe obstacle /// * The pipe scoring sensor /// -/// These are all populated via `OnAdd` observers for the respected components. +/// These are all populated via `On` observers for the respected components. /// This makes it much more concise to spawn each part of the environment. fn populate_batch( - trigger: Trigger, + event: On, batches: Query<&Batch>, children: Query<&ChildOf>, mut commands: Commands, ) { // Only run this for top level batch entities, // not children containing a reference to their batch, like hitboxes - if !children.contains(trigger.target()) { - let Batch(batch_id) = batches.get(trigger.target()).unwrap(); + if !children.contains(event.entity) { + let Batch(batch_id) = batches.get(event.entity).unwrap(); commands - .entity(trigger.target()) + .entity(event.entity) .insert(( Transform::from_xyz(500.0 * (*batch_id) as f32, 0.0, 0.0), Visibility::Inherited, @@ -313,14 +313,14 @@ fn update_batch_position( } fn populate_ground( - trigger: Trigger, + event: On, grounds: Query<&Ground>, ground_assets: Res, mut commands: Commands, ) { - let Ground(idx) = grounds.get(trigger.target()).unwrap(); + let Ground(idx) = grounds.get(event.entity).unwrap(); debug!("populating ground {:?}", idx); - commands.entity(trigger.target()).insert(( + commands.entity(event.entity).insert(( ground_assets.material.clone(), ground_assets.mesh.clone(), Name::new("ground"), @@ -331,14 +331,14 @@ fn populate_ground( } fn populate_ceiling( - trigger: Trigger, + event: On, ceiling: Query<&Ceiling>, ceiling_assets: Res, mut commands: Commands, ) { - let Ceiling(idx) = ceiling.get(trigger.target()).unwrap(); + let Ceiling(idx) = ceiling.get(event.entity).unwrap(); debug!("populating ceiling{:?}", idx); - commands.entity(trigger.target()).insert(( + commands.entity(event.entity).insert(( ceiling_assets.material.clone(), ceiling_assets.mesh.clone(), Name::new("ceiling"), @@ -349,11 +349,11 @@ fn populate_ceiling( } fn move_pipe( - trigger: Trigger, + event: On, mut pipes: Query<(&Batch, &Pipe, &mut Transform)>, rand: Res, ) { - if let Ok((Batch(id), pipe, mut pipe_t)) = pipes.get_mut(trigger.target()) { + if let Ok((Batch(id), pipe, mut pipe_t)) = pipes.get_mut(event.entity) { *pipe_t = { let offset = { @@ -382,14 +382,14 @@ fn move_pipe( /// Based on if this is a Top or Bottom pipe the placement changes /// Otherwise this just spawns in the center of the batch. fn populate_pipe( - trigger: Trigger, + event: On, pipes: Query<(&Batch, &Pipe)>, pipe_assets: Res, mut commands: Commands, rand: Res, ) { let pipe_t = { - let (Batch(id), pipe) = pipes.get(trigger.target()).unwrap(); + let (Batch(id), pipe) = pipes.get(event.entity).unwrap(); let offset = { let val = rand.0.hash_one(id); @@ -413,7 +413,7 @@ fn populate_pipe( } }; - commands.entity(trigger.target()).insert(( + commands.entity(event.entity).insert(( pipe_t, pipe_assets.material.clone(), pipe_assets.mesh.clone(), @@ -425,8 +425,8 @@ fn populate_pipe( /// The hitbox should cover the entire height of the screen so if the player /// passes between the pipes it registers a point -fn populate_hitbox(trigger: Trigger, mut commands: Commands) { - commands.entity(trigger.target()).insert(( +fn populate_hitbox(event: On, mut commands: Commands) { + commands.entity(event.entity).insert(( RigidBody::Static, Collider::rectangle(1.0, 10.0), Sensor, @@ -517,7 +517,7 @@ fn init_ui(mut commands: Commands, server: Res) { }, BorderRadius::all(Val::Px(5.0)), BackgroundColor(Color::WHITE), - BorderColor(BLACK.into()), + BorderColor::all(BLACK), PlayerState::Stasis, )) .with_children(|parent| { @@ -569,7 +569,7 @@ fn init_ui(mut commands: Commands, server: Res) { },)) .with_children(|parent| { fn show_credits( - _trigger: Trigger>, + _event: On>, mut state: ResMut>, ) { state.set(PlayerState::Credits); @@ -579,7 +579,7 @@ fn init_ui(mut commands: Commands, server: Res) { .spawn(( Button, BorderRadius::all(Val::Px(5.0)), - BorderColor(BLACK.into()), + BorderColor::all(BLACK), Node { ..default() }, children![(TextColor(BLACK.into()), Text::new("Credits")),], )) @@ -588,7 +588,7 @@ fn init_ui(mut commands: Commands, server: Res) { #[cfg(not(target_arch = "wasm32"))] { fn quit_game( - _trigger: Trigger>, + _event: On>, mut exit: EventWriter, ) { warn!("Quitting game"); @@ -598,7 +598,7 @@ fn init_ui(mut commands: Commands, server: Res) { parent .spawn(( BorderRadius::all(Val::Px(5.0)), - BorderColor(BLACK.into()), + BorderColor::all(BLACK), Button, Node { ..default() }, children![(Text::new("Quit"), TextColor(BLACK.into()))], @@ -608,7 +608,7 @@ fn init_ui(mut commands: Commands, server: Res) { }); }); - fn hide_credits(_trigger: Trigger>, mut state: ResMut>) { + fn hide_credits(_event: On>, mut state: ResMut>) { state.set(PlayerState::Stasis) } @@ -624,7 +624,7 @@ fn init_ui(mut commands: Commands, server: Res) { }, BorderRadius::all(Val::Px(5.0)), BackgroundColor(WHITE.into()), - BorderColor(BLACK.into()), + BorderColor::all(BLACK), PlayerState::Credits, children![( Text::new(credits_str), @@ -639,7 +639,7 @@ fn init_ui(mut commands: Commands, server: Res) { ..default() }, BorderRadius::all(Val::Px(5.0)), - BorderColor(BLACK.into()), + BorderColor::all(BLACK), Button, children![(Text::new("Close"), TextColor(BLACK.into()))], )); @@ -679,7 +679,7 @@ fn init_ui(mut commands: Commands, server: Res) { ..default() }, BorderRadius::all(Val::Px(5.0)), - BorderColor(BLACK.into()), + BorderColor::all(BLACK), Text::new("(paused)"), TextColor(BLACK.into()), ) @@ -714,7 +714,7 @@ fn init_ui(mut commands: Commands, server: Res) { ..default() }, BorderRadius::all(Val::Px(5.0)), - BorderColor(BLACK.into()), + BorderColor::all(BLACK), BackgroundColor(Color::WHITE.with_alpha(0.9)), Button, RewindButton, @@ -757,7 +757,7 @@ fn init_ui(mut commands: Commands, server: Res) { ..default() }, BorderRadius::all(Val::Px(5.0)), - BorderColor(BLACK.into()), + BorderColor::all(BLACK), BackgroundColor(Color::WHITE.with_alpha(0.9)), Button, FlapButton, @@ -792,7 +792,7 @@ fn init_ui(mut commands: Commands, server: Res) { }, BorderRadius::all(Val::Px(5.0)), BackgroundColor(Color::WHITE), - BorderColor(BLACK.into()), + BorderColor::all(BLACK), children![( SyncResource::::default(), Text::default(), @@ -845,16 +845,16 @@ fn init_background( } } -fn start_rewind(_trigger: Trigger>, mut next: ResMut>) { +fn start_rewind(_event: On>, mut next: ResMut>) { next.set(PlayerState::Rewind); } -fn end_rewind(_trigger: Trigger>, mut next: ResMut>) { +fn end_rewind(_event: On>, mut next: ResMut>) { next.set(PlayerState::Alive); } fn flap_button( - _trigger: Trigger>, + _event: On>, mut commands: Commands, bird: Single>, curr: Res>, @@ -865,7 +865,7 @@ fn flap_button( } let e = *bird; debug!("Flapping {:?}", e); - commands.trigger_targets(Flap, e); + commands.event_targets(Flap, e); } /// Pause the game when the player presses "Escape" @@ -877,21 +877,21 @@ fn un_pause_game(mut next: ResMut>) { next.set(PlayerState::Alive); } -#[derive(Component, Clone, Event)] +#[derive(Component, Clone, Message)] struct Flap; // Observer for flapping fn flap( - trigger: Trigger, + event: On, mut bird: Query<&mut ExternalImpulse, With>, mut flaps: ResMut, ) { - debug!("real flap for {:?}", trigger.target()); + debug!("real flap for {:?}", event.entity); // Increment flap stat flaps.0 += 1; // Flap birds wings - if let Ok(mut f) = bird.get_mut(trigger.target()) { + if let Ok(mut f) = bird.get_mut(event.entity) { f.apply_impulse(Vec2::Y * 5000.0 + Vec2::X * 1000.0); } } @@ -916,7 +916,7 @@ fn flap_kb( birds.iter().for_each(|e| { debug!("Flapping {:?}", e); - commands.trigger_targets(Flap, e); + commands.event_targets(Flap, e); }); } @@ -1138,8 +1138,8 @@ impl Display for Deaths { } fn manage_score( - mut start: EventReader, - mut end: EventReader, + mut start: MessageReader, + mut end: MessageReader, state: Res>, hitboxes: Query<&Batch, With>, mut score: ResMut, @@ -1182,8 +1182,8 @@ fn manage_score( /// Finally we iterate over all entities with the old batch ID and upsert the new batch ID /// This includes root batch entities as well as pipes and hitboxes fn move_batches( - mut start: EventReader, - mut end: EventReader, + mut start: MessageReader, + mut end: MessageReader, hitboxes: Query>, batches: Query<(Entity, &Batch)>, state: Res>, diff --git a/src/bin/tetris/main.rs b/src/bin/tetris/main.rs index 9138b79..76aab0c 100644 --- a/src/bin/tetris/main.rs +++ b/src/bin/tetris/main.rs @@ -53,7 +53,7 @@ fn main() { .add_systems( Update, ( - kb_input.run_if(on_event::), + kb_input.run_if(on_message::), toggle_state_visibility::.run_if(state_changed::), ), ) @@ -510,7 +510,7 @@ fn init_ui(mut commands: Commands, output_images: Res, images: Res border: UiRect::all(Val::Px(5.0)), ..default() }, - BorderColor(WHITE.into()), + BorderColor(WHITE), )) .with_children(|parent| { let img = images.get(&output_images.tetris).unwrap(); @@ -536,7 +536,7 @@ fn init_ui(mut commands: Commands, output_images: Res, images: Res border: UiRect::all(Val::Px(5.0)), ..default() }, - BorderColor(WHITE.into()), + BorderColor(WHITE), )) .with_children(|parent| { let img = images.get(&output_images.battler).unwrap(); @@ -773,7 +773,7 @@ impl Shape { } } -// TODO: move to trigger +// TODO: move to event fn update_position( mut changed: Query< (Entity, &GridPosition, &mut Transform), @@ -792,7 +792,7 @@ fn update_position( }); } -// TODO: Move to trigger +// TODO: Move to event fn update_shape_blocks( query: Query< (Entity, &Shape, &GridPosition), @@ -832,7 +832,7 @@ fn update_shape_blocks( } fn kb_input( - mut events: EventReader, + mut events: MessageReader, mut query: Query<(Entity, &mut Shape)>, curr: Res>, mut next: ResMut>, @@ -848,22 +848,22 @@ fn kb_input( // Up arrow should rotate if in falling mode // Only move up if in falling::off mode KeyCode::ArrowUp => { - commands.entity(e).trigger(Movement::Rotate); + commands.entity(e).event(Movement::Rotate); } KeyCode::ArrowDown => { - commands.entity(e).trigger(Movement::Down); + commands.entity(e).event(Movement::Down); } KeyCode::ArrowLeft => { - commands.entity(e).trigger(Movement::Left); + commands.entity(e).event(Movement::Left); } KeyCode::ArrowRight => { - commands.entity(e).trigger(Movement::Right); + commands.entity(e).event(Movement::Right); } KeyCode::Enter => { - commands.entity(e).trigger(Movement::Skip); + commands.entity(e).event(Movement::Skip); } KeyCode::Space => { - commands.entity(e).trigger(Swap); + commands.entity(e).event(Swap); } KeyCode::Escape => next.set(match curr.get() { GameState::Falling => GameState::Pause, @@ -887,7 +887,7 @@ fn kb_input( fn falling(mut shape: Query>, mut commands: Commands) { shape.iter_mut().for_each(|e| { debug!("Making {:?} fall", e); - commands.entity(e).trigger(Movement::Down); + commands.entity(e).event(Movement::Down); }); } @@ -1003,11 +1003,11 @@ fn adjust_block_lines( } /// Swap the current piece out -#[derive(Event, Copy, Clone, PartialEq)] +#[derive(Message, Copy, Clone, PartialEq)] struct Swap; -/// Movement events triggered on the piece -#[derive(Event, Copy, Clone, PartialEq)] +/// Movement events evented on the piece +#[derive(Message, Copy, Clone, PartialEq)] enum Movement { Down, Left, @@ -1018,7 +1018,7 @@ enum Movement { // TODO: When out of bounds left/right, try to move piece away from wall fn movement( - trigger: Trigger, + event: On, mut grid_positions: Query< &mut GridPosition, Or<(With, With, Without)>, @@ -1028,10 +1028,10 @@ fn movement( mut commands: Commands, ) { if let (Ok(this_shape), Ok(center)) = ( - shape.get_mut(trigger.target()), - grid_positions.get(trigger.target()), + shape.get_mut(event.entity), + grid_positions.get(event.entity), ) { - let new_positions = match trigger.event() { + let new_positions = match event.event() { Movement::Down => vec![center.with_offset(0, -1)], Movement::Left => vec![center.with_offset(-1, 0)], Movement::Right => vec![center.with_offset(1, 0)], @@ -1040,7 +1040,7 @@ fn movement( .map(|i| center.with_offset(0, -(i as isize))) .collect(), }; - let new_shape = match trigger.event() { + let new_shape = match event.event() { Movement::Down | Movement::Left | Movement::Right | Movement::Skip => *this_shape, Movement::Rotate => this_shape.rotated(), }; @@ -1053,7 +1053,7 @@ fn movement( match position { Err(GameError::OutOfBoundsLeft) | Err(GameError::OutOfBoundsRight) => (), // Do nothing Err(GameError::OutOfBoundsDown) => { - commands.entity(trigger.target()).remove::(); + commands.entity(event.entity).remove::(); } Err(GameError::Collision) => panic!("This shouldn't happen!"), Ok(new_center) => { @@ -1064,7 +1064,7 @@ fn movement( return; } // Do nothing Err(GameError::OutOfBoundsDown) => { - commands.entity(trigger.target()).remove::(); + commands.entity(event.entity).remove::(); return; } Err(GameError::Collision) => panic!("This shouldn't happen!"), @@ -1073,9 +1073,9 @@ fn movement( // If there would be a collision between blocks if gp == *other_gp { // And we are moving down - if *trigger.event() == Movement::Down { + if *event.event() == Movement::Down { // De-activate this piece - commands.entity(trigger.target()).remove::(); + commands.entity(event.entity).remove::(); } // Regardless, cancel the move return; @@ -1087,22 +1087,22 @@ fn movement( debug!("Checks passed for {position:?}, committing change"); // Update center - let mut gp = grid_positions.get_mut(trigger.target()).unwrap(); + let mut gp = grid_positions.get_mut(event.entity).unwrap(); *gp = new_center; // Update shape/rotation - let mut s = shape.get_mut(trigger.target()).unwrap(); + let mut s = shape.get_mut(event.entity).unwrap(); *s = new_shape; } } } } else { - warn!("Triggered movement on non-shape entity"); + warn!("Oned movement on non-shape entity"); } } fn swap( - trigger: Trigger, + event: On, mut shapes: Query<&mut Shape>, mut store: ResMut, mut commands: Commands, @@ -1112,16 +1112,16 @@ fn swap( None => { // Copy current shape into store // De-activate entity - store.0 = Some(*shapes.get(trigger.target()).unwrap()); + store.0 = Some(*shapes.get(event.entity).unwrap()); commands - .entity(trigger.target()) + .entity(event.entity) .despawn_related::() .despawn(); } Some(inner) => { // Copy current shape into store // Copy old shape into entity - let mut curr = shapes.get_mut(trigger.target()).unwrap(); + let mut curr = shapes.get_mut(event.entity).unwrap(); std::mem::swap(&mut (*inner), &mut (*curr)); } } @@ -1209,16 +1209,16 @@ fn sync_health( }) } -#[derive(Event)] +#[derive(Message)] struct Damage { quantity: f32 } fn deal_damage( - trigger: Trigger, + event: On, mut healths: Query<&mut Health> ) { - healths.get_mut(trigger.target()).unwrap().0 -= trigger.event().quantity + healths.get_mut(event.entity).unwrap().0 -= event.event().quantity } fn damage_on_place_shape( @@ -1228,7 +1228,7 @@ fn damage_on_place_shape( ) { events.read().for_each(|_| { enemies.iter().for_each(|e| { - commands.entity(e).trigger(Damage { quantity: 1.0 }); + commands.entity(e).event(Damage { quantity: 1.0 }); }); }); } @@ -1240,7 +1240,7 @@ fn damage_on_clear_line( ) { events.read().for_each(|_| { enemies.iter().for_each(|e| { - commands.entity(e).trigger(Damage { quantity: 1.0 }); + commands.entity(e).event(Damage { quantity: 1.0 }); }); }); } @@ -1249,5 +1249,5 @@ fn damage_over_time( protagonist: Single>, mut commands: Commands, ) { - commands.entity(*protagonist).trigger(Damage { quantity: 1.0 }); + commands.entity(*protagonist).event(Damage { quantity: 1.0 }); } diff --git a/src/bin/trees/debug.rs b/src/bin/trees/debug.rs index ea965d4..09645d7 100644 --- a/src/bin/trees/debug.rs +++ b/src/bin/trees/debug.rs @@ -8,15 +8,15 @@ impl Plugin for TreesDebugPlugin { .add_systems( Update, ( - (spawn_debug_buttons.run_if(on_event::>),), + (spawn_debug_buttons.run_if(on_message::>),), ( monologue_asset_tooltip - .run_if(on_event::>.or(on_event::>)), + .run_if(on_message::>.or(on_message::>)), hide_menu.run_if(any_component_changed::), clear_monologue.run_if(any_component_changed::), - control_menu.run_if(on_event::>.or(on_event::>)), - delete_tree.run_if(on_event::>), - drag_tree.run_if(on_event::>), + control_menu.run_if(on_message::>.or(on_message::>)), + delete_tree.run_if(on_message::>), + drag_tree.run_if(on_message::>), ) .run_if(in_state(DebuggingState::On)), ), @@ -35,7 +35,7 @@ struct MonologuesList; struct MonologuePreview; fn drag_tree( - mut events: EventReader>, + mut events: MessageReader>, state: Res>, mut query: Query<&mut Transform, With>, camera: Single<(&Camera, &GlobalTransform), With>, @@ -154,8 +154,8 @@ fn init_debug_ui(mut commands: Commands) { // When you pointer goes off of the '+' or any of it's children make the entire menu invisible fn control_menu( - mut over_events: EventReader>, - mut out_events: EventReader>, + mut over_events: MessageReader>, + mut out_events: MessageReader>, nav_children: Query<&NavParent>, children: Query<&ChildOf>, nav_parents: Query<&NavChildren>, @@ -207,9 +207,9 @@ fn control_menu( /// 1. Add the Button component /// 2. Change the color to Orange /// 3. Add observers for click (select) and hover (change color) -fn add_dialog_option(trigger: Trigger, mut commands: Commands) { +fn add_dialog_option(event: On, mut commands: Commands) { commands - .entity(trigger.target()) + .entity(event.entity) .insert(Button) .insert(Node { width: Val::Percent(100.0), @@ -223,16 +223,16 @@ fn add_dialog_option(trigger: Trigger, mut commands: Comman } fn assign_monologue_event( - trigger: Trigger>, + event: On>, mut events: EventWriter, monologues: Query<&TreeMonologue>, ) { - let TreeMonologue(handle) = monologues.get(trigger.target()).unwrap(); + let TreeMonologue(handle) = monologues.get(event.entity).unwrap(); events.write(AssignMonologue(handle.clone())); } /// Observer for the "Plant a new tree" button in the debug UI -fn spawn_tree(_trigger: Trigger>, mut events: EventWriter) { +fn spawn_tree(_event: On>, mut events: EventWriter) { events.write(PlantTree(None)); } @@ -261,7 +261,7 @@ fn hide_menu(mut nodes: Query<(&mut Visibility, &NavState), Changed>) } fn delete_tree( - mut events: EventReader>, + mut events: MessageReader>, mut commands: Commands, query: Query>, ) { @@ -275,21 +275,21 @@ fn delete_tree( /// Add the "script: path/to/file.mono" tooltip info fn monologue_asset_tooltip( - mut over_events: EventReader>, - mut out_events: EventReader>, + mut over_events: MessageReader>, + mut out_events: MessageReader>, mut tooltip: ResMut, trees: Query<(&Tree, Option<&TreeMonologue>)>, ) { out_events .read() - .filter_map(|Pointer { target, .. }| trees.contains(*target).then_some(*target)) + .filter_map(|Pointer { entity, .. }| trees.contains(*entity).then_some(*entity)) .for_each(|_| { tooltip.remove("Script"); }); over_events .read() - .filter_map(|Pointer { target, .. }| trees.contains(*target).then_some(*target)) + .filter_map(|Pointer { entity, .. }| trees.contains(*entity).then_some(*entity)) .for_each(|e| match trees.get(e) { Ok((_tree, Some(TreeMonologue(handle)))) => match handle.path() { Some(p) => tooltip.insert("Script", format!("{p}")), @@ -304,14 +304,14 @@ fn monologue_asset_tooltip( /// When a dialog option is chosen (clicked on) we do the following: fn choose_dialog_option( - trigger: Trigger>, + event: On>, mut dialog_events: EventWriter, mut commands: Commands, texts: Query<&Text>, options: Query>, dialog_box: Single>, ) { - debug!("Choosing dialog {:?}", trigger.target()); + debug!("Choosing dialog {:?}", event.entity); debug!("Despawning dialog options"); options.iter().for_each(|e| { @@ -319,25 +319,25 @@ fn choose_dialog_option( }); debug!("Inserting dialog line"); - if let Ok(t) = texts.get(trigger.target()) { + if let Ok(t) = texts.get(event.entity) { commands.entity(*dialog_box).with_children(|parent| { parent.spawn((t.clone(), DialogLine)); }); } - // trigger the next dialog line + // event the next dialog line dialog_events.write(DialogEvent::NextBatch); } fn preview_monologue( - trigger: Trigger>, + event: On>, container: Single, Without