diff --git a/Cargo.lock b/Cargo.lock index d3ef22d6..ab1f23fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,15 +20,15 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.17.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" +checksum = "becf0eb5215b6ecb0a739c31c21bd83c4f326524c9b46b7e882d77559b60a529" [[package]] name = "accesskit_consumer" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459" +checksum = "d0bf66a7bf0b7ea4fd7742d50b64782a88f99217cf246b3f93b4162528dde520" dependencies = [ "accesskit", "hashbrown 0.15.2", @@ -37,9 +37,9 @@ dependencies = [ [[package]] name = "accesskit_macos" -version = "0.18.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1" +checksum = "09e230718177753b4e4ad9e1d9f6cfc2f4921212d4c1c480b253f526babb258d" dependencies = [ "accesskit", "accesskit_consumer", @@ -51,9 +51,9 @@ dependencies = [ [[package]] name = "accesskit_windows" -version = "0.24.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81" +checksum = "65178f3df98a51e4238e584fcb255cb1a4f9111820848eeddd37663be40a625f" dependencies = [ "accesskit", "accesskit_consumer", @@ -66,9 +66,9 @@ dependencies = [ [[package]] name = "accesskit_winit" -version = "0.23.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6a48dad5530b6deb9fc7a52cc6c3bf72cdd9eb8157ac9d32d69f2427a5e879" +checksum = "34d941bb8c414caba6e206de669c7dc0dbeb305640ea890772ee422a40e6b89f" dependencies = [ "accesskit", "accesskit_macos", @@ -100,7 +100,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "const-random", "getrandom 0.2.15", "once_cell", "version_check", @@ -171,12 +170,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_log-sys" version = "0.3.1" @@ -278,12 +271,14 @@ dependencies = [ [[package]] name = "async-broadcast" -version = "0.5.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" dependencies = [ - "event-listener 2.5.3", + "event-listener", + "event-listener-strategy", "futures-core", + "pin-project-lite", ] [[package]] @@ -328,7 +323,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 5.4.0", + "event-listener", "event-listener-strategy", "pin-project-lite", ] @@ -338,12 +333,18 @@ name = "async-task" version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +dependencies = [ + "portable-atomic", +] [[package]] name = "atomic-waker" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +dependencies = [ + "portable-atomic", +] [[package]] name = "atomicow" @@ -371,9 +372,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bevy" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2a21c9f3306676077a88700bb8f354be779cf9caba9c21e94da9e696751af4" +checksum = "4b8369c16b7c017437021341521f8b4a0d98e1c70113fb358c3258ae7d661d79" dependencies = [ "bevy_dylib", "bevy_internal", @@ -381,23 +382,22 @@ dependencies = [ [[package]] name = "bevy-inspector-egui" -version = "0.29.1" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d3ea87310d78bacc94471bcf5a8b63ead43e7263d404571832c2297458b856" +checksum = "a0fec4d47c4a61bc1e9f85e63fb9faa649553811aa44ef61d4c04a776c9c0b44" dependencies = [ "bevy-inspector-egui-derive", "bevy_app", "bevy_asset", "bevy_color", - "bevy_core", "bevy_core_pipeline", "bevy_ecs", "bevy_egui", - "bevy_hierarchy", "bevy_image", "bevy_log", "bevy_math", "bevy_pbr", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_state", @@ -406,7 +406,7 @@ dependencies = [ "bevy_window", "bytemuck", "disqualified", - "egui", + "egui 0.32.3", "fuzzy-matcher", "image", "smallvec", @@ -416,9 +416,9 @@ dependencies = [ [[package]] name = "bevy-inspector-egui-derive" -version = "0.29.0" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7259e525c7844b23f10fd2b2efaa3eea57996f101cc30e833070d139e2b4e4d" +checksum = "7dbc1d8bba3b647207d73d3e212669977e2259a0c2a79360812a3665b9a3acc7" dependencies = [ "proc-macro2", "quote", @@ -427,9 +427,9 @@ dependencies = [ [[package]] name = "bevy_a11y" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f96642402d2cd7c8e58c5994bbd14a2e44ca72dd7e460a2edad82aa3bf0348f9" +checksum = "ed3561712cf49074d89e9989bfc2e6c6add5d33288f689db9a0c333300d2d004" dependencies = [ "accesskit", "bevy_app", @@ -440,19 +440,19 @@ dependencies = [ [[package]] name = "bevy_animation" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03064ab96e15b2fda5bd58eac2055692d731c1fba3e211fd1ba48472cced75c3" +checksum = "49796627726d0b9a722ad9a0127719e7c1868f474d6575ec0f411e8299c4d7bb" dependencies = [ "bevy_app", "bevy_asset", "bevy_color", - "bevy_core", "bevy_derive", "bevy_ecs", - "bevy_hierarchy", "bevy_log", "bevy_math", + "bevy_mesh", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_time", @@ -460,40 +460,46 @@ dependencies = [ "bevy_utils", "blake3", "derive_more 1.0.0", - "downcast-rs", + "downcast-rs 2.0.2", "either", - "petgraph", + "petgraph 0.7.1", "ron", "serde", "smallvec", + "thiserror 2.0.11", "thread_local", + "tracing", "uuid", ] [[package]] name = "bevy_app" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "454a8cfd134864dcdcba6ee56fb958531b981021bba6bb2037c9e3df6046603c" +checksum = "4491cc4c718ae76b4c6883df58b94cc88b32dcd894ea8d5b603c7c7da72ca967" dependencies = [ "bevy_derive", "bevy_ecs", + "bevy_platform", "bevy_reflect", "bevy_tasks", "bevy_utils", + "cfg-if", "console_error_panic_hook", "ctrlc", - "derive_more 1.0.0", - "downcast-rs", + "downcast-rs 2.0.2", + "log", + "thiserror 2.0.11", + "variadics_please", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_asset" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d762dd4422fb6219fd904e514a4a5d1d451711a0a8e1d6495dea15a545f04f3" +checksum = "f56111d9b88d8649f331a667d9d72163fb26bd09518ca16476d238653823db1e" dependencies = [ "async-broadcast", "async-fs", @@ -502,6 +508,7 @@ dependencies = [ "bevy_app", "bevy_asset_macros", "bevy_ecs", + "bevy_platform", "bevy_reflect", "bevy_tasks", "bevy_utils", @@ -511,7 +518,7 @@ dependencies = [ "crossbeam-channel", "derive_more 1.0.0", "disqualified", - "downcast-rs", + "downcast-rs 2.0.2", "either", "futures-io", "futures-lite", @@ -520,6 +527,8 @@ dependencies = [ "ron", "serde", "stackfuture", + "thiserror 2.0.11", + "tracing", "uuid", "wasm-bindgen", "wasm-bindgen-futures", @@ -528,9 +537,9 @@ dependencies = [ [[package]] name = "bevy_asset_macros" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8db6957e3f9649d415ee613901cf487898d0339455aa9c3a2525fc37facee920" +checksum = "a4cca3e67c0ec760d8889d42293d987ce5da92eaf9c592bf5d503728a63b276d" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -540,28 +549,27 @@ dependencies = [ [[package]] name = "bevy_audio" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d13715401172d7616b376362a46bba125ec9ccc73ab262153a43a2402537ca" +checksum = "f2b4f6f2a5c6c0e7c6825e791d2a061c76c2d6784f114c8f24382163fabbfaaa" dependencies = [ "bevy_app", "bevy_asset", "bevy_derive", "bevy_ecs", - "bevy_hierarchy", "bevy_math", "bevy_reflect", "bevy_transform", - "bevy_utils", "cpal", "rodio", + "tracing", ] [[package]] name = "bevy_color" -version = "0.15.2" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00aa2966c7ca0c7dd39f5ba8f3b1eaa5c2005a93ffdefb7a4090150d8327678" +checksum = "5c101cbe1e26b8d701eb77263b14346e2e0cbbd2a6e254b9b1aead814e5ca8d3" dependencies = [ "bevy_math", "bevy_reflect", @@ -569,56 +577,45 @@ dependencies = [ "derive_more 1.0.0", "encase", "serde", + "thiserror 2.0.11", "wgpu-types", ] -[[package]] -name = "bevy_core" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ff28118f5ae3193f7f6cab30d4fd4246ba1802776910ab256dc7c20e8696381" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "serde", - "uuid", -] - [[package]] name = "bevy_core_pipeline" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c0eea548a55fd04acf01d351bd16da4d1198037cb9c7b98dea6519f5d7dade" +checksum = "59ed46363cad80dc00f08254c3015232bd6f640738403961c6d63e7ecfc61625" dependencies = [ "bevy_app", "bevy_asset", "bevy_color", - "bevy_core", "bevy_derive", + "bevy_diagnostic", "bevy_ecs", "bevy_image", "bevy_math", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_transform", "bevy_utils", "bevy_window", "bitflags 2.8.0", - "derive_more 1.0.0", + "bytemuck", "nonmax", "radsort", "serde", "smallvec", + "thiserror 2.0.11", + "tracing", ] [[package]] name = "bevy_derive" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b962df2a1bef274ae76ec75279eb6f8ef0ffd85b5e4c43433f5d08ba57b3d071" +checksum = "1b837bf6c51806b10ebfa9edf1844ad80a3a0760d6c5fac4e90761df91a8901a" dependencies = [ "bevy_macro_utils", "quote", @@ -627,57 +624,64 @@ dependencies = [ [[package]] name = "bevy_diagnostic" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21fe41b22fdf47bf11f0a3ca3e61975b003e86fa44d87e070f2dc7e752dd99f5" +checksum = "48797366f312a8f31e237d08ce3ee70162591282d2bfe7c5ad8be196fb263e55" dependencies = [ "bevy_app", - "bevy_core", "bevy_ecs", + "bevy_platform", "bevy_tasks", "bevy_time", "bevy_utils", "const-fnv1a-hash", + "log", + "serde", "sysinfo", ] [[package]] name = "bevy_dylib" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b120f96b1f18f3aac28729b6d7765114486b64df4c2af3314fe2bf30d4eb11c3" +checksum = "1dc3602098b2604941b2829a04ac316de1e36aad949cbffce8861896b9b32532" dependencies = [ "bevy_internal", ] [[package]] name = "bevy_ecs" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b747210d7db09dfacc237707d4fd31c8b43d7744cd5e5829e2c4ca86b9e47baf" +checksum = "3c2bf6521aae57a0ec3487c4bfb59e36c4a378e834b626a4bea6a885af2fdfe7" dependencies = [ "arrayvec", "bevy_ecs_macros", + "bevy_platform", "bevy_ptr", "bevy_reflect", "bevy_tasks", "bevy_utils", "bitflags 2.8.0", + "bumpalo", "concurrent-queue", "derive_more 1.0.0", "disqualified", - "fixedbitset 0.5.7", + "fixedbitset", + "indexmap", + "log", "nonmax", - "petgraph", "serde", "smallvec", + "thiserror 2.0.11", + "variadics_please", ] [[package]] name = "bevy_ecs_macros" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d36ba5874ee278d20f17b8934d2969f8fbab90f3ea3fcf8d3583814b3661ada" +checksum = "38748d6f3339175c582d751f410fb60a93baf2286c3deb7efebb0878dce7f413" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -687,13 +691,14 @@ dependencies = [ [[package]] name = "bevy_egui" -version = "0.32.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4b8df063d7c4d4171bc853e5ea0d67c7f1b5edd3b014d43acbfe3042dd6cf4" +checksum = "7a88030fa6940bb976943bee1a23271b8505cc3e07b4f699b44657bc7062ce69" dependencies = [ "arboard", "bevy_app", "bevy_asset", + "bevy_core_pipeline", "bevy_derive", "bevy_ecs", "bevy_image", @@ -701,30 +706,35 @@ dependencies = [ "bevy_log", "bevy_math", "bevy_picking", + "bevy_platform", "bevy_reflect", "bevy_render", + "bevy_tasks", "bevy_time", - "bevy_utils", + "bevy_transform", + "bevy_ui", "bevy_window", "bevy_winit", "bytemuck", "crossbeam-channel", - "egui", + "egui 0.32.3", "encase", + "image", "js-sys", "thread_local", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webbrowser", "wgpu-types", "winit", ] [[package]] name = "bevy_encase_derive" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46db3d4ebc2ab23045a7d32fa1afb4be78894ec3fbe2f52b28f6cd6e4011e400" +checksum = "8148f4edee470a2ea5cad010184c492a4c94c36d7a7158ea28e134ea87f274ab" dependencies = [ "bevy_macro_utils", "encase_derive_impl", @@ -732,11 +742,12 @@ dependencies = [ [[package]] name = "bevy_flair" -version = "0.1.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accc8cc8fd400ead2c397291902b27e1f7686ca861ce08230d27d39a6a3d47ba" +checksum = "e1936900a94a6ac965b699f0da38497a9df9d714144b87a9396407f333fb942e" dependencies = [ - "bevy", + "bevy_app", + "bevy_ecs", "bevy_flair_core", "bevy_flair_css_parser", "bevy_flair_style", @@ -744,56 +755,95 @@ dependencies = [ [[package]] name = "bevy_flair_core" -version = "0.1.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8db3251de93b8b88fb140240108679814ec4dca5244b1f09145b45d7d2fac635" +checksum = "67e64916d5ab4a2e7ec7a18489fc065d2a3b960d831dfcba8df32711f15d3784" dependencies = [ - "bevy", + "bevy_app", + "bevy_color", + "bevy_ecs", + "bevy_reflect", + "bevy_text", + "bevy_ui", + "bevy_utils", + "rustc-hash 2.1.0", "serde", "smol_str", "thiserror 2.0.11", + "tracing", ] [[package]] name = "bevy_flair_css_parser" -version = "0.1.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec42c110ebd47b845ebf4d7bbc243564aeb73a31d8a532e7221df2f320dbb7d5" +checksum = "a43c2b95653d7633b09bd5ddf8f310c527194dbc7cb182be8abb4894f1124f3a" dependencies = [ "ariadne", - "bevy", + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_ecs", "bevy_flair_core", "bevy_flair_style", + "bevy_image", + "bevy_math", + "bevy_reflect", + "bevy_text", + "bevy_ui", "cssparser", "cssparser-color", - "either", + "derive_more 2.1.1", + "linked-hash-map", + "rustc-hash 2.1.0", "selectors", + "serde", "smallvec", + "smol_str", "thiserror 2.0.11", + "tracing", ] [[package]] name = "bevy_flair_style" -version = "0.1.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0ddc56e8a4942ce7150ba540611388cbe9a4d0fa1b8b0e282a915c60f5f7804" +checksum = "6cdc819a4bc515f12e80eee10832c5e8a14a78b9e911932347c351098ae36d7c" dependencies = [ - "bevy", + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_ecs", "bevy_flair_core", + "bevy_image", + "bevy_input_focus", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_text", + "bevy_time", + "bevy_ui", + "bevy_utils", + "bevy_window", "bitflags 2.8.0", "cssparser", + "derive_more 2.1.1", + "itertools 0.14.0", "precomputed-hash", + "rustc-hash 2.1.0", "selectors", "serde", + "smallvec", "smol_str", "thiserror 2.0.11", + "tracing", ] [[package]] name = "bevy_fps_controller" -version = "0.15.0" +version = "16.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6805c3e6cc4ea1843e98ef0419da8648ccd1a4f7fadb4ca6bcab19be261a4cbf" +checksum = "22154828b046bdd0f5afd3cddce275fe119b360b70afb4d0dc4898fe949ed5d2" dependencies = [ "bevy", "bevy_rapier3d", @@ -801,24 +851,26 @@ dependencies = [ [[package]] name = "bevy_gilrs" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20320bd21f379ba4ec885b8217cb7c2c57eb0be014ba29509959e252480c3e9" +checksum = "97efef87c631949e67d06bb5d7dfd2a5f936b3b379afb6b1485b08edbb219b87" dependencies = [ "bevy_app", "bevy_ecs", "bevy_input", + "bevy_platform", "bevy_time", "bevy_utils", - "derive_more 1.0.0", "gilrs", + "thiserror 2.0.11", + "tracing", ] [[package]] name = "bevy_gizmos" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca821905afffe1f3aaf33b496903a24a0c980e4c83fa7523fb41eac16892a57a" +checksum = "7823154a9682128c261d8bddb3a4d7192a188490075c527af04520c2f0f8aad6" dependencies = [ "bevy_app", "bevy_asset", @@ -836,13 +888,14 @@ dependencies = [ "bevy_transform", "bevy_utils", "bytemuck", + "tracing", ] [[package]] name = "bevy_gizmos_macros" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19843a638c93364950ca54a879832f325be7fa9b89f226fced3b4105594afb70" +checksum = "f378f3b513218ddc78254bbe76536d9de59c1429ebd0c14f5d8f2a25812131ad" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -852,95 +905,106 @@ dependencies = [ [[package]] name = "bevy_gltf" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c38b79c0e43c6387699d6a332d12f98ed895bcf69dd70c462d5e49ad76d44d1f" +checksum = "10a080237c0b8842ccc15a06d3379302c68580eeea4497b1c7387e470eda1f07" dependencies = [ "base64 0.22.1", "bevy_animation", "bevy_app", "bevy_asset", "bevy_color", - "bevy_core", "bevy_core_pipeline", "bevy_ecs", - "bevy_hierarchy", "bevy_image", "bevy_math", + "bevy_mesh", "bevy_pbr", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_scene", "bevy_tasks", "bevy_transform", "bevy_utils", - "derive_more 1.0.0", + "fixedbitset", "gltf", + "itertools 0.14.0", "percent-encoding", "serde", "serde_json", "smallvec", -] - -[[package]] -name = "bevy_hierarchy" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9aab2cd1684d30f2eedf953b6377a6416fd6b482f8145b6c05f4684bd60c3e" -dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", - "disqualified", - "smallvec", + "thiserror 2.0.11", + "tracing", ] [[package]] name = "bevy_image" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c5942a7d681b81aa9723bb1d918135c2f88e7871331f5676119c86c01984759" +checksum = "65e6e900cfecadbc3149953169e36b9e26f922ed8b002d62339d8a9dc6129328" dependencies = [ + "bevy_app", "bevy_asset", "bevy_color", "bevy_math", + "bevy_platform", "bevy_reflect", "bevy_utils", "bitflags 2.8.0", "bytemuck", - "derive_more 1.0.0", "futures-lite", + "guillotiere", + "half", "image", "ktx2", + "rectangle-pack", "ruzstd", "serde", - "wgpu", + "thiserror 2.0.11", + "tracing", + "wgpu-types", ] [[package]] name = "bevy_input" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9bbf39c1d2d33350e03354a67bebee5c21973c5203b1456a9a4b90a5e6f8e75" +checksum = "18d6b6516433f6f7d680f648d04eb1866bb3927a1782d52f74831b62042f3cd1" dependencies = [ "bevy_app", - "bevy_core", "bevy_ecs", "bevy_math", + "bevy_platform", "bevy_reflect", "bevy_utils", "derive_more 1.0.0", - "serde", + "log", "smol_str", + "thiserror 2.0.11", +] + +[[package]] +name = "bevy_input_focus" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e2d079fda74d1416e0a57dac29ea2b79ff77f420cd6b87f833d3aa29a46bc4d" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_reflect", + "bevy_window", + "log", + "thiserror 2.0.11", ] [[package]] name = "bevy_internal" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7fc4db9a1793ee71f79abb15e7a8fcfe4e2081e5f18ed91b802bf6cf30e088" +checksum = "857da8785678fde537d02944cd20dec9cafb7d4c447efe15f898dc60e733cacd" dependencies = [ "bevy_a11y", "bevy_animation", @@ -948,7 +1012,6 @@ dependencies = [ "bevy_asset", "bevy_audio", "bevy_color", - "bevy_core", "bevy_core_pipeline", "bevy_derive", "bevy_diagnostic", @@ -956,13 +1019,14 @@ dependencies = [ "bevy_gilrs", "bevy_gizmos", "bevy_gltf", - "bevy_hierarchy", "bevy_image", "bevy_input", + "bevy_input_focus", "bevy_log", "bevy_math", "bevy_pbr", "bevy_picking", + "bevy_platform", "bevy_ptr", "bevy_reflect", "bevy_render", @@ -981,14 +1045,15 @@ dependencies = [ [[package]] name = "bevy_log" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774238dcf70a0ef4d82aa2860b24b1cffdd4633f3694d3bcbfbb05c4f17ae4fe" +checksum = "d7a61ee8aef17a974f5ca481dcedf0c2bd52670e231d4c4bc9ddef58328865f9" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", "bevy_utils", + "tracing", "tracing-log", "tracing-oslog", "tracing-subscriber", @@ -997,10 +1062,11 @@ dependencies = [ [[package]] name = "bevy_macro_utils" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bdb3a681c24abace65bf18ed467ad8befbedb42468b32e459811bfdb01e506c" +checksum = "052eeebcb8e7e072beea5031b227d9a290f8a7fbbb947573ab6ec81df0fb94be" dependencies = [ + "parking_lot", "proc-macro2", "quote", "syn", @@ -1009,25 +1075,29 @@ dependencies = [ [[package]] name = "bevy_math" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edec18d90e6bab27b5c6131ee03172ece75b7edd0abe4e482a26d6db906ec357" +checksum = "68553e0090fe9c3ba066c65629f636bd58e4ebd9444fdba097b91af6cd3e243f" dependencies = [ + "approx 0.5.1", "bevy_reflect", "derive_more 1.0.0", "glam", - "itertools", + "itertools 0.14.0", + "libm", "rand 0.8.5", "rand_distr", "serde", "smallvec", + "thiserror 2.0.11", + "variadics_please", ] [[package]] name = "bevy_mesh" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183abae7c6695a80d7408c860bd737410cd66d2a9f910dafc914485da06e43dc" +checksum = "b10399c7027001edbc0406d7d0198596b1f07206c1aae715274106ba5bdcac40" dependencies = [ "bevy_asset", "bevy_derive", @@ -1035,62 +1105,44 @@ dependencies = [ "bevy_image", "bevy_math", "bevy_mikktspace", + "bevy_platform", "bevy_reflect", "bevy_transform", "bevy_utils", "bitflags 2.8.0", "bytemuck", - "derive_more 1.0.0", "hexasphere", "serde", - "wgpu", + "thiserror 2.0.11", + "tracing", + "wgpu-types", ] [[package]] name = "bevy_mikktspace" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b53f0cf879a0682280937f515ecf00ab2140f7224881d6a621f40093a36a2ef6" +checksum = "8bb60c753b968a2de0fd279b76a3d19517695e771edb4c23575c7f92156315de" dependencies = [ "glam", ] -[[package]] -name = "bevy_mod_raycast" -version = "0.19.0" -source = "git+https://github.com/CuddlyBunion341/bevy_mod_raycast.git?branch=main#aeb2754b815882ce1625ff7cd12b47583b932bf9" -dependencies = [ - "bevy", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_derive", - "bevy_ecs", - "bevy_gizmos", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_transform", - "bevy_utils", - "bevy_window", - "crossbeam-channel", -] - [[package]] name = "bevy_pbr" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7f17067399cf00f4441e93d39fb4c391a16cc223e0d35346ac388e66712c418" +checksum = "d5e0b4eb871f364a0d217f70f6c41d7fdc6f9f931fa1abbf222180c03d0ae410" dependencies = [ "bevy_app", "bevy_asset", "bevy_color", "bevy_core_pipeline", "bevy_derive", + "bevy_diagnostic", "bevy_ecs", "bevy_image", "bevy_math", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_transform", @@ -1099,27 +1151,30 @@ dependencies = [ "bitflags 2.8.0", "bytemuck", "derive_more 1.0.0", - "fixedbitset 0.5.7", + "fixedbitset", "nonmax", + "offset-allocator", "radsort", "smallvec", "static_assertions", + "thiserror 2.0.11", + "tracing", ] [[package]] name = "bevy_picking" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "125e0c7327ec155c566c044c6eefd1a02e904134fa5dc0ba54665e06a35297b0" +checksum = "8ed04757938655ed8094ea1efb533f99063a8b22abffc22010c694d291522850" dependencies = [ "bevy_app", "bevy_asset", "bevy_derive", "bevy_ecs", - "bevy_hierarchy", "bevy_input", "bevy_math", "bevy_mesh", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_time", @@ -1127,20 +1182,39 @@ dependencies = [ "bevy_utils", "bevy_window", "crossbeam-channel", + "tracing", "uuid", ] +[[package]] +name = "bevy_platform" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7573dc824a1b08b4c93fdbe421c53e1e8188e9ca1dd74a414455fe571facb47" +dependencies = [ + "cfg-if", + "critical-section", + "foldhash", + "getrandom 0.2.15", + "hashbrown 0.15.2", + "portable-atomic", + "portable-atomic-util", + "serde", + "spin", + "web-time", +] + [[package]] name = "bevy_ptr" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa65df6a190b7dfc84d79f09cf02d47ae046fa86a613e202c31559e06d8d3710" +checksum = "df7370d0e46b60e071917711d0860721f5347bc958bf325975ae6913a5dfcf01" [[package]] name = "bevy_rapier3d" -version = "0.28.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fff77c1e3140f8fa9d08632841f42cbef06e4ad98ba61d65a6297369bad763" +checksum = "3ed7b07ace7682f96ca3860022a0dbd8080d0abd295121e8ce4a3e04dc11e32b" dependencies = [ "bevy", "bitflags 2.8.0", @@ -1151,31 +1225,36 @@ dependencies = [ [[package]] name = "bevy_reflect" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab3264acc3b6f48bc23fbd09fdfea6e5d9b7bfec142e4f3333f532acf195bca" +checksum = "daeb91a63a1a4df00aa58da8cc4ddbd4b9f16ab8bb647c5553eb156ce36fa8c2" dependencies = [ "assert_type_match", + "bevy_platform", "bevy_ptr", "bevy_reflect_derive", "bevy_utils", "derive_more 1.0.0", "disqualified", - "downcast-rs", + "downcast-rs 2.0.2", "erased-serde", + "foldhash", "glam", - "petgraph", + "petgraph 0.7.1", "serde", "smallvec", "smol_str", + "thiserror 2.0.11", "uuid", + "variadics_please", + "wgpu-types", ] [[package]] name = "bevy_reflect_derive" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f83876a322130ab38a47d5dcf75258944bf76b3387d1acdb3750920fda63e2" +checksum = "40ddadc55fe16b45faaa54ab2f9cb00548013c74812e8b018aa172387103cce6" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1186,23 +1265,22 @@ dependencies = [ [[package]] name = "bevy_render" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b14d77d8ff589743237c98502c0e47fd31059cf348ab86a265c4f90bb5e2a22" +checksum = "ef91fed1f09405769214b99ebe4390d69c1af5cdd27967deae9135c550eb1667" dependencies = [ "async-channel", "bevy_app", "bevy_asset", "bevy_color", - "bevy_core", "bevy_derive", "bevy_diagnostic", "bevy_ecs", "bevy_encase_derive", - "bevy_hierarchy", "bevy_image", "bevy_math", "bevy_mesh", + "bevy_platform", "bevy_reflect", "bevy_render_macros", "bevy_tasks", @@ -1210,13 +1288,16 @@ dependencies = [ "bevy_transform", "bevy_utils", "bevy_window", + "bitflags 2.8.0", "bytemuck", "codespan-reporting", "derive_more 1.0.0", - "downcast-rs", + "downcast-rs 2.0.2", "encase", + "fixedbitset", "futures-lite", "image", + "indexmap", "js-sys", "ktx2", "naga", @@ -1226,6 +1307,9 @@ dependencies = [ "send_wrapper", "serde", "smallvec", + "thiserror 2.0.11", + "tracing", + "variadics_please", "wasm-bindgen", "web-sys", "wgpu", @@ -1233,9 +1317,9 @@ dependencies = [ [[package]] name = "bevy_render_macros" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "285769c193b832d67c5742a716c6063db573573d5df5ce0c41aa7584ef0e348e" +checksum = "abd42cf6c875bcf38da859f8e731e119a6aff190d41dd0a1b6000ad57cf2ed3d" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1245,8 +1329,9 @@ dependencies = [ [[package]] name = "bevy_renet" -version = "1.0.0" -source = "git+https://github.com/CuddlyBunion341/renet.git#01fce875fab05aabebcb6d1e8725bf15424883a0" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f1b51bfaebc4f0cd94a7ea2fdcdfcd56ae3001795150256bfa996659d1c5fb" dependencies = [ "bevy_app", "bevy_ecs", @@ -1257,29 +1342,30 @@ dependencies = [ [[package]] name = "bevy_scene" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd00a08d01a190a826a5f6ad0fcb3dbf7bd1bd4f64ebe6108c38384691a21111" +checksum = "5c52ca165200995fe8afd2a1a6c03e4ffee49198a1d4653d32240ea7f217d4ab" dependencies = [ "bevy_app", "bevy_asset", "bevy_derive", "bevy_ecs", - "bevy_hierarchy", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_transform", "bevy_utils", "derive_more 1.0.0", "serde", + "thiserror 2.0.11", "uuid", ] [[package]] name = "bevy_sprite" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c7d22da88e562fb2ae8fe7f8cc749d3024caa4dcb57a777d070ef9141577aa" +checksum = "6ccae7bab2cb956fb0434004c359e432a3a1a074a6ef4eb471f1fb099f0b620b" dependencies = [ "bevy_app", "bevy_asset", @@ -1290,6 +1376,7 @@ dependencies = [ "bevy_image", "bevy_math", "bevy_picking", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_transform", @@ -1298,33 +1385,33 @@ dependencies = [ "bitflags 2.8.0", "bytemuck", "derive_more 1.0.0", - "fixedbitset 0.5.7", - "guillotiere", + "fixedbitset", "nonmax", "radsort", - "rectangle-pack", - "serde", + "tracing", ] [[package]] name = "bevy_state" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd10c8b01a982642596406fc4486fcd52239aa9c4aa47fed27abab93a69fba59" +checksum = "155d3cd97b900539008cdcaa702f88b724d94b08977b8e591a32536ce66faa8c" dependencies = [ "bevy_app", "bevy_ecs", - "bevy_hierarchy", + "bevy_platform", "bevy_reflect", "bevy_state_macros", "bevy_utils", + "log", + "variadics_please", ] [[package]] name = "bevy_state_macros" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23773797bf8077a6ad9299f10b063b6947f22dad311d855c4b3523102ab4381b" +checksum = "2481c1304fd2a1851a0d4cb63a1ce6421ae40f3f0117cbc9882963ee4c9bb609" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1334,33 +1421,41 @@ dependencies = [ [[package]] name = "bevy_tasks" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c28f2db2619203aa82342dbbe77e49aeea4f933212c0b7a1f285e94c4008e5b" +checksum = "5b674242641cab680688fc3b850243b351c1af49d4f3417a576debd6cca8dcf5" dependencies = [ "async-channel", "async-executor", + "async-task", + "atomic-waker", + "bevy_platform", + "cfg-if", "concurrent-queue", + "crossbeam-queue", + "derive_more 1.0.0", "futures-channel", "futures-lite", + "heapless", "pin-project", "wasm-bindgen-futures", ] [[package]] name = "bevy_text" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ee0b5f52946d222521f93773a6230f42e868548f881c4c5bddb1393a96298b" +checksum = "1d76c85366159f5f54110f33321c76d8429cfd8f39638f26793a305dae568b60" dependencies = [ "bevy_app", "bevy_asset", "bevy_color", "bevy_derive", "bevy_ecs", - "bevy_hierarchy", "bevy_image", + "bevy_log", "bevy_math", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_sprite", @@ -1368,47 +1463,52 @@ dependencies = [ "bevy_utils", "bevy_window", "cosmic-text", - "derive_more 1.0.0", "serde", "smallvec", "sys-locale", + "thiserror 2.0.11", + "tracing", "unicode-bidi", ] [[package]] name = "bevy_time" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3108ed1ef864bc40bc859ba4c9c3844213c7be3674f982203cf5d87c656848" +checksum = "bc98eb356c75be04fbbc77bb3d8ffa24c8bacd99f76111cee23d444be6ac8c9c" dependencies = [ "bevy_app", "bevy_ecs", + "bevy_platform", "bevy_reflect", - "bevy_utils", "crossbeam-channel", + "log", "serde", ] [[package]] name = "bevy_transform" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "056fabcedbf0503417af69447d47a983e18c7cfb5e6b6728636be3ec285cbcfa" +checksum = "df218e440bb9a19058e1b80a68a031c887bcf7bd3a145b55f361359a2fa3100d" dependencies = [ "bevy_app", "bevy_ecs", - "bevy_hierarchy", + "bevy_log", "bevy_math", "bevy_reflect", + "bevy_tasks", + "bevy_utils", "derive_more 1.0.0", "serde", + "thiserror 2.0.11", ] [[package]] name = "bevy_ui" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4556fc2202c6339f95e0c24ca4c96ee959854b702e23ecf73e05fb20e67d67b0" +checksum = "ea4a4d2ba51865bc3039af29a26b4f52c48b54cc758369f52004caf4b6f03770" dependencies = [ "accesskit", "bevy_a11y", @@ -1418,11 +1518,11 @@ dependencies = [ "bevy_core_pipeline", "bevy_derive", "bevy_ecs", - "bevy_hierarchy", "bevy_image", "bevy_input", "bevy_math", "bevy_picking", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_sprite", @@ -1433,51 +1533,37 @@ dependencies = [ "bytemuck", "derive_more 1.0.0", "nonmax", - "serde", "smallvec", "taffy", + "thiserror 2.0.11", + "tracing", ] [[package]] name = "bevy_utils" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f01088c048960ea50ee847c3f668942ecf49ed26be12a1585a5e59b6a941d9a" +checksum = "94f7a8905a125d2017e8561beefb7f2f5e67e93ff6324f072ad87c5fd6ec3b99" dependencies = [ - "ahash", - "bevy_utils_proc_macros", - "getrandom 0.2.15", - "hashbrown 0.14.5", + "bevy_platform", "thread_local", - "tracing", - "web-time", -] - -[[package]] -name = "bevy_utils_proc_macros" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0c3244d543cc964545b7aa074f6fb18a915a7121cf3de5d7ed37a4aae8662d" -dependencies = [ - "proc-macro2", - "quote", - "syn", ] [[package]] name = "bevy_window" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36139955777cc9e7a40a97833ff3a95b7401ce525a3dbac05fc52557968b31a7" +checksum = "df7e8ad0c17c3cc23ff5566ae2905c255e6986037fb041f74c446216f5c38431" dependencies = [ "android-activity", - "bevy_a11y", "bevy_app", "bevy_ecs", "bevy_input", "bevy_math", + "bevy_platform", "bevy_reflect", "bevy_utils", + "log", "raw-window-handle", "serde", "smol_str", @@ -1485,9 +1571,9 @@ dependencies = [ [[package]] name = "bevy_winit" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36e84e7f94583cac93de4ba641029eb0b6551d35e559c829209f2b1b9fe532d8" +checksum = "6a5e7f00c6b3b6823df5ec2a5e9067273607208919bc8c211773ebb9643c87f0" dependencies = [ "accesskit", "accesskit_winit", @@ -1497,11 +1583,12 @@ dependencies = [ "bevy_asset", "bevy_derive", "bevy_ecs", - "bevy_hierarchy", "bevy_image", "bevy_input", + "bevy_input_focus", "bevy_log", "bevy_math", + "bevy_platform", "bevy_reflect", "bevy_tasks", "bevy_utils", @@ -1510,7 +1597,7 @@ dependencies = [ "cfg-if", "crossbeam-channel", "raw-window-handle", - "serde", + "tracing", "wasm-bindgen", "web-sys", "wgpu-types", @@ -1535,7 +1622,7 @@ dependencies = [ "bitflags 2.8.0", "cexpr", "clang-sys", - "itertools", + "itertools 0.13.0", "log", "prettyplease", "proc-macro2", @@ -1570,12 +1657,6 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -[[package]] -name = "bit-vec" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" - [[package]] name = "bit-vec" version = "0.8.0" @@ -1734,17 +1815,11 @@ dependencies = [ "nom", ] -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.1.1" +[[package]] +name = "cfg-if" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cfg_aliases" @@ -1788,16 +1863,15 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.39" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -1858,6 +1932,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", + "portable-atomic", ] [[package]] @@ -1876,26 +1951,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" -[[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom 0.2.15", - "once_cell", - "tiny-keccak", -] - [[package]] name = "const_panic" version = "0.2.12" @@ -1995,18 +2050,18 @@ dependencies = [ [[package]] name = "cosmic-text" -version = "0.12.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fd57d82eb4bfe7ffa9b1cec0c05e2fd378155b47f255a67983cb4afe0e80c2" +checksum = "e418dd4f5128c3e93eab12246391c54a20c496811131f85754dc8152ee207892" dependencies = [ "bitflags 2.8.0", "fontdb", "log", "rangemap", - "rayon", "rustc-hash 1.1.0", "rustybuzz", "self_cell", + "smol_str", "swash", "sys-locale", "ttf-parser 0.21.1", @@ -2058,17 +2113,10 @@ dependencies = [ ] [[package]] -name = "crossbeam" -version = "0.8.4" +name = "critical-section" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-epoch", - "crossbeam-queue", - "crossbeam-utils", -] +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" [[package]] name = "crossbeam-channel" @@ -2132,9 +2180,9 @@ dependencies = [ [[package]] name = "cssparser" -version = "0.34.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c66d1cd8ed61bf80b38432613a7a2f09401ab8d0501110655f8b341484a3e3" +checksum = "4e901edd733a1472f944a45116df3f846f54d37e67e68640ac8bb69689aca2aa" dependencies = [ "cssparser-macros", "dtoa-short", @@ -2145,9 +2193,9 @@ dependencies = [ [[package]] name = "cssparser-color" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "698ae2b751218cfd23849bcac355aa1a36e9cc26c64c70b911714d95b0cb14e6" +checksum = "6eeef9ae8c0e112edd89eb6406b3156ffa99c7e037b3baef1dbdf4158d35c324" dependencies = [ "cssparser", ] @@ -2192,22 +2240,20 @@ checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f" [[package]] name = "derive_more" -version = "0.99.18" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "proc-macro2", - "quote", - "syn", + "derive_more-impl 1.0.0", ] [[package]] name = "derive_more" -version = "1.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" dependencies = [ - "derive_more-impl", + "derive_more-impl 2.1.1", ] [[package]] @@ -2222,12 +2268,36 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "derive_more-impl" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +dependencies = [ + "proc-macro2", + "quote", + "rustc_version", + "syn", + "unicode-xid", +] + [[package]] name = "dispatch" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "disqualified" version = "1.0.0" @@ -2258,6 +2328,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downcast-rs" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" + [[package]] name = "dpi" version = "0.1.1" @@ -2279,14 +2355,44 @@ dependencies = [ "dtoa", ] +[[package]] +name = "ecolor" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775cfde491852059e386c4e1deb4aef381c617dc364184c6f6afee99b87c402b" +dependencies = [ + "emath 0.29.1", +] + [[package]] name = "ecolor" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d72e9c39f6e11a2e922d04a34ec5e7ef522ea3f5a1acfca7a19d16ad5fe50f5" +dependencies = [ + "emath 0.30.0", +] + +[[package]] +name = "ecolor" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94bdf37f8d5bd9aa7f753573fdda9cf7343afa73dd28d7bfe9593bd9798fc07e" dependencies = [ "bytemuck", - "emath", + "emath 0.32.3", +] + +[[package]] +name = "egui" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53eafabcce0cb2325a59a98736efe0bf060585b437763f8c476957fb274bb974" +dependencies = [ + "ahash", + "emath 0.29.1", + "epaint 0.29.1", + "nohash-hasher", ] [[package]] @@ -2296,10 +2402,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "252d52224d35be1535d7fd1d6139ce071fb42c9097773e79f7665604f5596b5e" dependencies = [ "ahash", - "emath", - "epaint", + "emath 0.30.0", + "epaint 0.30.0", + "nohash-hasher", + "profiling", +] + +[[package]] +name = "egui" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5d0306cd61ca75e29682926d71f2390160247f135965242e904a636f51c0dc" +dependencies = [ + "ahash", + "bitflags 2.8.0", + "emath 0.32.3", + "epaint 0.32.3", "nohash-hasher", "profiling", + "smallvec", + "unicode-segmentation", ] [[package]] @@ -2309,8 +2431,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c226cae80a6ee10c4d3aaf9e33bd9e9b2f1c0116b6036bdc2a1cfc9d2d0dcc10" dependencies = [ "ahash", - "egui", - "emath", + "egui 0.30.0", + "emath 0.30.0", ] [[package]] @@ -2319,11 +2441,23 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +[[package]] +name = "emath" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1fe0049ce51d0fb414d029e668dd72eb30bc2b739bf34296ed97bd33df544f3" + [[package]] name = "emath" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4fe73c1207b864ee40aa0b0c038d6092af1030744678c60188a05c28553515d" + +[[package]] +name = "emath" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45fd7bc25f769a3c198fe1cf183124bf4de3bd62ef7b4f1eaf6b08711a3af8db" dependencies = [ "bytemuck", ] @@ -2369,18 +2503,48 @@ dependencies = [ "syn", ] +[[package]] +name = "epaint" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a32af8da821bd4f43f2c137e295459ee2e1661d87ca8779dfa0eaf45d870e20f" +dependencies = [ + "ab_glyph", + "ahash", + "ecolor 0.29.1", + "emath 0.29.1", + "epaint_default_fonts 0.29.1", + "nohash-hasher", + "parking_lot", +] + [[package]] name = "epaint" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5666f8d25236293c966fbb3635eac18b04ad1914e3bab55bc7d44b9980cafcac" +dependencies = [ + "ab_glyph", + "ahash", + "ecolor 0.30.0", + "emath 0.30.0", + "nohash-hasher", + "parking_lot", + "profiling", +] + +[[package]] +name = "epaint" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63adcea970b7a13094fe97a36ab9307c35a750f9e24bf00bb7ef3de573e0fddb" dependencies = [ "ab_glyph", "ahash", "bytemuck", - "ecolor", - "emath", - "epaint_default_fonts", + "ecolor 0.32.3", + "emath 0.32.3", + "epaint_default_fonts 0.32.3", "nohash-hasher", "parking_lot", "profiling", @@ -2388,9 +2552,15 @@ dependencies = [ [[package]] name = "epaint_default_fonts" -version = "0.30.0" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483440db0b7993cf77a20314f08311dbe95675092405518c0677aa08c151a3ea" + +[[package]] +name = "epaint_default_fonts" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66f6ddac3e6ac6fd4c3d48bb8b1943472f8da0f43a4303bcd8a18aa594401c80" +checksum = "1537accc50c9cab5a272c39300bdd0dd5dca210f6e5e8d70be048df9596e7ca2" [[package]] name = "equivalent" @@ -2433,12 +2603,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - [[package]] name = "event-listener" version = "5.4.0" @@ -2456,7 +2620,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ - "event-listener 5.4.0", + "event-listener", "pin-project-lite", ] @@ -2475,12 +2639,6 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "fixedbitset" version = "0.5.7" @@ -2511,9 +2669,9 @@ checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "font-types" -version = "0.7.3" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492" +checksum = "39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5" dependencies = [ "bytemuck", ] @@ -2568,6 +2726,15 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + [[package]] name = "futures-channel" version = "0.3.31" @@ -2712,11 +2879,12 @@ dependencies = [ [[package]] name = "glam" -version = "0.29.2" +version = "0.29.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc46dd3ec48fdd8e693a98d2b8bafae273a2d54c1de02a2a7e3d57d501f39677" +checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee" dependencies = [ "bytemuck", + "libm", "rand 0.8.5", "serde", ] @@ -2729,9 +2897,9 @@ checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "glow" -version = "0.14.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483" +checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" dependencies = [ "js-sys", "slotmap", @@ -2837,9 +3005,9 @@ dependencies = [ [[package]] name = "grid" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be136d9dacc2a13cc70bb6c8f902b414fb2641f8db1314637c6b7933411a8f82" +checksum = "36119f3a540b086b4e436bb2b588cf98a68863470e0e880f4d0842f112a3183a" [[package]] name = "guillotiere" @@ -2851,6 +3019,17 @@ dependencies = [ "svg_fmt", ] +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy 0.8.33", +] + [[package]] name = "hash32" version = "0.3.1" @@ -2868,7 +3047,6 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", - "serde", ] [[package]] @@ -2877,7 +3055,9 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ + "equivalent", "foldhash", + "serde", ] [[package]] @@ -2887,9 +3067,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" dependencies = [ "hash32", + "portable-atomic", "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.4.0" @@ -2913,6 +3100,15 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" +[[package]] +name = "home" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" +dependencies = [ + "windows-sys 0.61.2", +] + [[package]] name = "iana-time-zone" version = "0.1.61" @@ -2936,6 +3132,108 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + [[package]] name = "image" version = "0.25.5" @@ -2966,6 +3264,7 @@ checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", + "serde", ] [[package]] @@ -3022,6 +3321,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.14" @@ -3030,8 +3338,9 @@ checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "iyes_perf_ui" -version = "0.4.0-rc.1" -source = "git+https://github.com/IyesGames/iyes_perf_ui.git?branch=main#d8f3cbb2ec486b85a86b21e1aa32dcebd26ac884" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e4468c51a47d2422a3a3e01b45cb47ed0fbce520495dd7de495bcfe8ce0f856" dependencies = [ "bevy", "chrono", @@ -3130,9 +3439,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.169" +version = "0.2.180" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libloading" @@ -3171,12 +3480,24 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + [[package]] name = "linux-raw-sys" version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + [[package]] name = "litrs" version = "0.4.1" @@ -3253,9 +3574,9 @@ dependencies = [ [[package]] name = "metal" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" dependencies = [ "bitflags 2.8.0", "block", @@ -3284,14 +3605,14 @@ dependencies = [ [[package]] name = "naga" -version = "23.1.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "364f94bc34f61332abebe8cad6f6cd82a5b65cff22c828d05d0968911462ca4f" +checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" dependencies = [ "arrayvec", "bit-set 0.8.0", "bitflags 2.8.0", - "cfg_aliases 0.1.1", + "cfg_aliases", "codespan-reporting", "hexf-parse", "indexmap", @@ -3299,16 +3620,17 @@ dependencies = [ "pp-rs", "rustc-hash 1.1.0", "spirv", + "strum", "termcolor", - "thiserror 1.0.69", + "thiserror 2.0.11", "unicode-xid", ] [[package]] name = "naga_oil" -version = "0.16.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ea1f080bb359927cd5404d0af1e5e6758f4f2d82ecfbebb0a0c434764e40f1" +checksum = "f2464f7395decfd16bb4c33fb0cb3b2c645cc60d051bc7fb652d3720bfb20f18" dependencies = [ "bit-set 0.5.3", "codespan-reporting", @@ -3419,7 +3741,7 @@ checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ "bitflags 2.8.0", "cfg-if", - "cfg_aliases 0.2.1", + "cfg_aliases", "libc", ] @@ -3633,6 +3955,15 @@ dependencies = [ "objc2-foundation", ] +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.8.0", +] + [[package]] name = "objc2-core-image" version = "0.2.2" @@ -3834,14 +4165,23 @@ version = "0.3.48" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43" dependencies = [ - "libredox", + "libredox", +] + +[[package]] +name = "ordered-float" +version = "4.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" +dependencies = [ + "num-traits", ] [[package]] name = "ordered-float" -version = "4.6.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" +checksum = "7f4779c6901a562440c3786d08192c6fbda7c1c2060edd10006b05ee35d10f2d" dependencies = [ "num-traits", ] @@ -3892,28 +4232,29 @@ dependencies = [ [[package]] name = "parry3d" -version = "0.17.5" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5d6c81f7d291d5ba572951242779a672f73ed605fe5520045c0bccdb381e913" +checksum = "5e0877164c86c741f30fcb13e551a37f5805ffc053710644af3ef8080e526f68" dependencies = [ "approx 0.5.1", "arrayvec", "bitflags 2.8.0", - "downcast-rs", + "downcast-rs 2.0.2", "either", "ena", + "hashbrown 0.15.2", "log", "nalgebra", "num-derive", "num-traits", - "ordered-float", + "ordered-float 5.1.0", "rstar", - "rustc-hash 2.1.0", "simba", "slab", "smallvec", "spade", - "thiserror 1.0.69", + "static_assertions", + "thiserror 2.0.11", ] [[package]] @@ -3930,16 +4271,28 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ - "fixedbitset 0.4.2", + "fixedbitset", "indexmap", "serde", "serde_derive", ] +[[package]] +name = "petgraph" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" +dependencies = [ + "fixedbitset", + "hashbrown 0.15.2", + "indexmap", + "serde", +] + [[package]] name = "phf" version = "0.11.3" @@ -4074,6 +4427,30 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + [[package]] name = "pp-rs" version = "0.2.1" @@ -4137,6 +4514,19 @@ name = "profiling" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" +dependencies = [ + "quote", + "syn", +] [[package]] name = "quick-xml" @@ -4149,9 +4539,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.38" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" +checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" dependencies = [ "proc-macro2", ] @@ -4181,7 +4571,7 @@ checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", - "zerocopy 0.8.21", + "zerocopy 0.8.33", ] [[package]] @@ -4255,25 +4645,29 @@ checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" [[package]] name = "rapier3d" -version = "0.22.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87360935d1a54802efe0ddf908489436bb49c84865c36c930131843c7b1dc97d" +checksum = "b274764d058e242961750c11aff7433255321f621bb98220bb0a82beff1f9897" dependencies = [ "approx 0.5.1", "arrayvec", - "bit-vec 0.7.0", + "bit-vec 0.8.0", "bitflags 2.8.0", - "crossbeam", - "downcast-rs", + "downcast-rs 2.0.2", "log", "nalgebra", "num-derive", "num-traits", - "ordered-float", + "ordered-float 5.1.0", "parry3d", + "petgraph 0.8.3", + "profiling", "rustc-hash 2.1.0", "simba", - "thiserror 1.0.69", + "smallvec", + "thiserror 2.0.11", + "vec_map", + "wide", ] [[package]] @@ -4310,9 +4704,9 @@ dependencies = [ [[package]] name = "read-fonts" -version = "0.22.7" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69aacb76b5c29acfb7f90155d39759a29496aebb49395830e928a9703d2eec2f" +checksum = "6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358" dependencies = [ "bytemuck", "font-types", @@ -4394,8 +4788,9 @@ checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "renet" -version = "1.0.0" -source = "git+https://github.com/CuddlyBunion341/renet.git#01fce875fab05aabebcb6d1e8725bf15424883a0" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "639816fa1a50f8a3a20e823a0c63a3481295c2d4bf7b0606e84d7a46820ce5e9" dependencies = [ "bevy_ecs", "bytes", @@ -4405,8 +4800,9 @@ dependencies = [ [[package]] name = "renet_netcode" -version = "1.0.0" -source = "git+https://github.com/CuddlyBunion341/renet.git#01fce875fab05aabebcb6d1e8725bf15424883a0" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63860bdfd2bd7db57690a78b941e535cce9a87058c05407d5f37a92ae83c4143" dependencies = [ "bevy_ecs", "log", @@ -4417,17 +4813,18 @@ dependencies = [ [[package]] name = "renet_visualizer" version = "1.0.0" -source = "git+https://github.com/CuddlyBunion341/renet.git#01fce875fab05aabebcb6d1e8725bf15424883a0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3000d08a1d1682a01bc76a7b8d4d8172f5e7ea3eee18546d7c22c76eb36c609b" dependencies = [ - "bevy_ecs", - "egui", + "egui 0.29.1", "renet", ] [[package]] name = "renetcode" version = "1.0.0" -source = "git+https://github.com/CuddlyBunion341/renet.git#01fce875fab05aabebcb6d1e8725bf15424883a0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "118d456f815f7fd5bd12713a9e69a0b0f8b45806bd515e05bb60146f1867310d" dependencies = [ "chacha20poly1305", "log", @@ -4441,13 +4838,12 @@ checksum = "cbf4a6aa5f6d6888f39e980649f3ad6b666acdce1d78e95b8a2cb076e687ae30" [[package]] name = "rodio" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6006a627c1a38d37f3d3a85c6575418cfe34a5392d60a686d0071e1c8d427acb" +checksum = "e7ceb6607dd738c99bc8cb28eff249b7cd5c8ec88b9db96c0608c1480d140fb1" dependencies = [ "cpal", "lewton", - "thiserror 1.0.69", ] [[package]] @@ -4474,9 +4870,10 @@ version = "0.1.1" dependencies = [ "bevy", "bevy-inspector-egui", + "bevy_diagnostic", + "bevy_egui", "bevy_flair", "bevy_fps_controller", - "bevy_mod_raycast", "bevy_rapier3d", "bevy_renet", "bincode", @@ -4516,6 +4913,15 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + [[package]] name = "rustix" version = "0.38.43" @@ -4554,19 +4960,13 @@ dependencies = [ [[package]] name = "ruzstd" -version = "0.7.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f" +checksum = "e5ff0cc5e135c8870a775d3320910cd9b564ec036b4dc0b8741629020be63f01" dependencies = [ "twox-hash", ] -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - [[package]] name = "safe_arch" version = "0.7.4" @@ -4612,13 +5012,13 @@ dependencies = [ [[package]] name = "selectors" -version = "0.26.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd568a4c9bb598e291a08244a5c1f5a8a6650bee243b5b0f8dbb3d9cc1d87fe8" +checksum = "3df44ba8a7ca7a4d28c589e04f526266ed76b6cc556e33fe69fa25de31939a65" dependencies = [ "bitflags 2.8.0", "cssparser", - "derive_more 0.99.18", + "derive_more 2.1.1", "fxhash", "log", "new_debug_unreachable", @@ -4635,6 +5035,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2fdfc24bc566f839a2da4c4295b82db7d25a24253867d5c64355abb5799bdbe" +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + [[package]] name = "send_wrapper" version = "0.6.0" @@ -4643,10 +5049,11 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.217" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -4659,11 +5066,20 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -4672,14 +5088,15 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.137" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", + "serde_core", + "zmij", ] [[package]] @@ -4733,9 +5150,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "skrifa" -version = "0.22.3" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" +checksum = "8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841" dependencies = [ "bytemuck", "read-fonts", @@ -4761,12 +5178,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -dependencies = [ - "serde", -] +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "smithay-client-toolkit" @@ -4814,6 +5228,15 @@ dependencies = [ "smallvec", ] +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "portable-atomic", +] + [[package]] name = "spirv" version = "0.3.0+sdk-1.3.268.0" @@ -4847,6 +5270,28 @@ 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 = "subtle" version = "2.6.1" @@ -4861,9 +5306,9 @@ checksum = "ce5d813d71d82c4cbc1742135004e4a79fd870214c155443451c139c9470a0aa" [[package]] name = "swash" -version = "0.1.19" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2" +checksum = "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a" dependencies = [ "skrifa", "yazi", @@ -4872,15 +5317,26 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.96" +version = "2.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sys-locale" version = "0.3.2" @@ -4892,26 +5348,25 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.32.1" +version = "0.34.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c33cd241af0f2e9e3b5c32163b873b29956890b5342e6745b917ce9d490f4af" +checksum = "a4b93974b3d3aeaa036504b8eefd4c039dced109171c1ae973f1dc63b2c7e4b2" dependencies = [ - "core-foundation-sys", "libc", "memchr", "ntapi", + "objc2-core-foundation", "windows 0.57.0", ] [[package]] name = "taffy" -version = "0.5.2" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cb893bff0f80ae17d3a57e030622a967b8dbc90e38284d9b4b1442e23873c94" +checksum = "ab4f4d046dd956a47a7e1a2947083d7ac3e6aa3cfaaead36173ceaa5ab11878c" dependencies = [ "arrayvec", "grid", - "num-traits", "serde", "slotmap", ] @@ -4986,15 +5441,6 @@ dependencies = [ "weezl", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tiny-skia" version = "0.11.4" @@ -5020,6 +5466,16 @@ dependencies = [ "strict-num", ] +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.8.1" @@ -5159,13 +5615,9 @@ checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" [[package]] name = "twox-hash" -version = "1.6.3" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" [[package]] name = "typeid" @@ -5249,14 +5701,33 @@ dependencies = [ "subtle", ] +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "uuid" -version = "1.12.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744018581f9a3454a9e15beb8a33b017183f1e7c0cd170232a2d1453b23a51c4" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ - "getrandom 0.2.15", - "serde", + "getrandom 0.3.1", + "js-sys", + "serde_core", + "wasm-bindgen", ] [[package]] @@ -5265,6 +5736,17 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" +[[package]] +name = "variadics_please" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "vec_map" version = "0.8.2" @@ -5380,7 +5862,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" dependencies = [ "cc", - "downcast-rs", + "downcast-rs 1.2.1", "rustix", "scoped-tls", "smallvec", @@ -5502,6 +5984,24 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webbrowser" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea9fe1ebb156110ff855242c1101df158b822487e4957b0556d9ffce9db0f535" +dependencies = [ + "block2", + "core-foundation 0.10.0", + "home", + "jni", + "log", + "ndk-context", + "objc2", + "objc2-foundation", + "url", + "web-sys", +] + [[package]] name = "weezl" version = "0.1.8" @@ -5510,12 +6010,13 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "23.0.1" +version = "24.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" +checksum = "6b0b3436f0729f6cdf2e6e9201f3d39dc95813fad61d826c1ed07918b4539353" dependencies = [ "arrayvec", - "cfg_aliases 0.1.1", + "bitflags 2.8.0", + "cfg_aliases", "document-features", "js-sys", "log", @@ -5535,14 +6036,14 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "23.0.1" +version = "24.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" +checksum = "7f0aa306497a238d169b9dc70659105b4a096859a34894544ca81719242e1499" dependencies = [ "arrayvec", "bit-vec 0.8.0", "bitflags 2.8.0", - "cfg_aliases 0.1.1", + "cfg_aliases", "document-features", "indexmap", "log", @@ -5553,16 +6054,16 @@ dependencies = [ "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror 1.0.69", + "thiserror 2.0.11", "wgpu-hal", "wgpu-types", ] [[package]] name = "wgpu-hal" -version = "23.0.1" +version = "24.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" +checksum = "f112f464674ca69f3533248508ee30cb84c67cf06c25ff6800685f5e0294e259" dependencies = [ "android_system_properties", "arrayvec", @@ -5571,7 +6072,7 @@ dependencies = [ "bitflags 2.8.0", "block", "bytemuck", - "cfg_aliases 0.1.1", + "cfg_aliases", "core-graphics-types", "glow", "glutin_wgl_sys", @@ -5588,6 +6089,7 @@ dependencies = [ "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", + "ordered-float 4.6.0", "parking_lot", "profiling", "range-alloc", @@ -5595,7 +6097,7 @@ dependencies = [ "renderdoc-sys", "rustc-hash 1.1.0", "smallvec", - "thiserror 1.0.69", + "thiserror 2.0.11", "wasm-bindgen", "web-sys", "wgpu-types", @@ -5605,12 +6107,14 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "23.0.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068" +checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" dependencies = [ "bitflags 2.8.0", "js-sys", + "log", + "serde", "web-sys", ] @@ -5818,6 +6322,12 @@ dependencies = [ "syn", ] +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-result" version = "0.1.2" @@ -5900,6 +6410,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -6155,7 +6674,7 @@ dependencies = [ "block2", "bytemuck", "calloop", - "cfg_aliases 0.2.1", + "cfg_aliases", "concurrent-queue", "core-foundation 0.9.4", "core-graphics", @@ -6212,6 +6731,12 @@ dependencies = [ "bitflags 2.8.0", ] +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + [[package]] name = "x11-dl" version = "2.21.0" @@ -6283,15 +6808,38 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yazi" -version = "0.1.6" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] [[package]] name = "zeno" -version = "0.2.3" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" +checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zerocopy" @@ -6305,11 +6853,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.21" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf01143b2dd5d134f11f545cf9f1431b13b749695cb33bcce051e7568f99478" +checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" dependencies = [ - "zerocopy-derive 0.8.21", + "zerocopy-derive 0.8.33", ] [[package]] @@ -6325,13 +6873,34 @@ dependencies = [ [[package]] name = "zerocopy-derive" -version = "0.8.21" +version = "0.8.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712c8386f4f4299382c9abee219bee7084f78fb939d88b6840fcc1320d5f6da2" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", "syn", + "synstructure", ] [[package]] @@ -6339,3 +6908,42 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zmij" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fc5a66a20078bf1251bde995aa2fdcc4b800c70b5d92dd2c62abc5c60f679f8" diff --git a/Cargo.toml b/Cargo.toml index 5c7a275e..1c73ec47 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,29 +2,28 @@ name = "rsmc" version = "0.1.1" edition = "2021" -rust-version = "1.83.0" +rust-version = "1.90.0" [dependencies] -bevy = "0.15.1" -bevy_fps_controller = "0.15.0" -bevy_mod_raycast = { git = "https://github.com/CuddlyBunion341/bevy_mod_raycast.git", branch = "main" } -bevy_rapier3d = "0.28.0" +bevy = "0.16.1" +bevy_fps_controller = {version = "16.1.0", features = ["rapier"]} +bevy_rapier3d = {version ="0.31"} cgmath = "0.18.0" -iyes_perf_ui = { git = "https://github.com/IyesGames/iyes_perf_ui.git", branch = "main" } +iyes_perf_ui = "0.5.0" noise = "0.9.0" -bevy_renet = { git = "https://github.com/CuddlyBunion341/renet.git" } +bevy_renet = "2.0.1" bincode = "1.3.3" rand = {version = "0.9.0", features = ["small_rng"]} -renet = { git = "https://github.com/CuddlyBunion341/renet.git" } +renet = "1.1.0" serde = { version = "1.0.203", features = ["derive"] } serde-big-array = "0.5.1" chrono = "0.4.38" rayon = "1.10.0" -bevy_flair = "0.1.0" -bevy-inspector-egui = "0.29" -renet_visualizer = { git = "https://github.com/CuddlyBunion341/renet.git", features = [ - "bevy", -] } +bevy_flair = "0.4.0" +bevy_egui = "0.36.0" +bevy_diagnostic = "0.16.1" +bevy-inspector-egui = {version = "0.33", features = ["bevy_render"]} +renet_visualizer = "1.0.0" egui_plot = "0.30.0" [profile.dev.package."*"] @@ -45,11 +44,11 @@ name = "server" path = "src/server/main.rs" [features] -default = ["chat"] +default = ["chat", "dynamic_linking"] dynamic_linking = ["bevy/dynamic_linking"] # both -chat = ["dynamic_linking"] +chat = [] # server renet_visualizer = ["egui_layer"] diff --git a/src/client/chat/systems.rs b/src/client/chat/systems.rs index 8ccf3758..3253d36d 100644 --- a/src/client/chat/systems.rs +++ b/src/client/chat/systems.rs @@ -17,7 +17,7 @@ pub fn setup_chat_container(mut commands: Commands, asset_server: Res, mut chat_clear_writer: EventWriter, ) { - if let Ok(mut text) = chat_input_query.get_single_mut() { - let mut chat_input_value = text.0.clone(); - - for event in evr_kbd.read() { - if event.state != ButtonState::Pressed { - continue; - } + let mut text = chat_input_query + .single_mut() + .expect("chat_input doesn't exist"); + let mut chat_input_value = text.0.clone(); + + for event in evr_kbd.read() { + if event.state != ButtonState::Pressed { + continue; + } - if chat_state.just_focused { - // Hack to prevent 'T' from being added to the chat input upon focus - chat_state.just_focused = false; - continue; - } + if chat_state.just_focused { + // Hack to prevent 'T' from being added to the chat input upon focus + chat_state.just_focused = false; + continue; + } - info!("Chat state: {}", chat_input_value); + info!("Chat state: {}", chat_input_value); - let mut message = extract_message(&chat_input_value); + let mut message = extract_message(&chat_input_value); - match &event.logical_key { - Key::Enter if !message.trim().is_empty() => { - if message.trim() == "CLEAR" { - chat_clear_writer.send(chat_events::ChatClearEvent); - } else { - send_event_writer.send(ChatMessageSendEvent(message.trim().to_string())); - } - message.clear(); - } - Key::Backspace => { - message.pop(); + match &event.logical_key { + Key::Enter if !message.trim().is_empty() => { + if message.trim() == "CLEAR" { + chat_clear_writer.write(chat_events::ChatClearEvent); + } else { + send_event_writer.write(ChatMessageSendEvent(message.trim().to_string())); } - Key::Space => { - if message.len() < MAX_MESSAGE_LENGTH { - message.push(' '); - } + message.clear(); + } + Key::Backspace => { + message.pop(); + } + Key::Space => { + if message.len() < MAX_MESSAGE_LENGTH { + message.push(' '); } - Key::Character(input) => { - if message.len() < MAX_MESSAGE_LENGTH && input.chars().all(|c| !c.is_control()) - { - message.push_str(input); - } + } + Key::Character(input) => { + if message.len() < MAX_MESSAGE_LENGTH && input.chars().all(|c| !c.is_control()) { + message.push_str(input); } - _ => {} } - - chat_input_value = MESSAGE_PROMPT.to_string() + &message; + _ => {} } - text.clear(); - - text.0 += &chat_input_value; + chat_input_value = MESSAGE_PROMPT.to_string() + &message; } + + text.clear(); + + text.0 += &chat_input_value; } fn extract_message(value: &str) -> String { @@ -143,7 +143,7 @@ pub fn handle_chat_message_sync_event( ) { for event in sync_events.read() { event.0.clone().into_iter().for_each(|message| { - send_events.send(chat_events::SingleChatSendEvent(message)); + send_events.write(chat_events::SingleChatSendEvent(message)); }) } } @@ -158,19 +158,19 @@ pub fn add_message_to_chat_container_system( mut events: EventReader, ) { for event in events.read() { - if let Ok((entity, _, mut scroll_position)) = query.get_single_mut() { - // Offset does not need to be exact, just needs to be large enough to see the new message - scroll_position.offset_y += 100.0; + let (entity, _, mut scroll_position) = single_mut!(query); - commands.entity(entity).with_children(|parent| { - parent.spawn(( - Node::default(), - Name::new("chat_entry"), - chat_components::ChatMessageElement, - Text::new(event.0.message.clone()), - )); - }); - } + // Offset does not need to be exact, just needs to be large enough to see the new message + scroll_position.offset_y += 100.0; + + commands.entity(entity).with_children(|parent| { + parent.spawn(( + Node::default(), + Name::new("chat_entry"), + chat_components::ChatMessageElement, + Text::new(event.0.message.clone()), + )); + }); } } @@ -180,8 +180,8 @@ pub fn handle_chat_clear_events_system( query: Query>, ) { for _ in chat_clear_events.read() { - if let Ok(entity) = query.get_single() { - commands.entity(entity).despawn_descendants(); + if let Ok(entity) = query.single() { + commands.entity(entity).despawn_related::(); } } } @@ -202,17 +202,15 @@ pub fn unfocus_chat_system( ), >, ) { - if let (Ok(mut container_classes), Ok(mut input_classes)) = ( - chat_container_query.get_single_mut(), - chat_input_query.get_single_mut(), - ) { - info!("Handling unfocus state"); - container_classes.remove_class("focused"); - container_classes.add_class("unfocused"); - - input_classes.remove_class("focused"); - input_classes.add_class("unfocused"); - } + let mut container_classes = single_mut!(chat_container_query); + let mut input_classes = single_mut!(chat_input_query); + + info!("Handling unfocus state"); + container_classes.remove("focused"); + container_classes.add("unfocused"); + + input_classes.remove("focused"); + input_classes.add("unfocused"); } pub fn focus_chat_system( @@ -231,17 +229,15 @@ pub fn focus_chat_system( ), >, ) { - if let (Ok(mut container_classes), Ok(mut input_classes)) = ( - chat_container_query.get_single_mut(), - chat_input_query.get_single_mut(), - ) { - info!("Handling focus state"); - container_classes.add_class("focused"); - container_classes.remove_class("unfocused"); - - input_classes.add_class("focused"); - input_classes.remove_class("unfocused"); - } + let mut container_classes = single_mut!(chat_container_query); + let mut input_classes = single_mut!(chat_input_query); + + info!("Handling focus state"); + container_classes.add("focused"); + container_classes.remove("unfocused"); + + input_classes.add("focused"); + input_classes.remove("unfocused"); } #[cfg(test)] diff --git a/src/client/collider/systems.rs b/src/client/collider/systems.rs index 6143034a..c22214f1 100644 --- a/src/client/collider/systems.rs +++ b/src/client/collider/systems.rs @@ -140,7 +140,7 @@ mod tests { .world_mut() .query::<(&Transform, &collider_components::BlockCollider)>(); let world_mut = app.world_mut(); - let (collider_transform, _) = collider_query.single(world_mut); + let (collider_transform, _) = collider_query.single(world_mut).unwrap(); assert_eq!( Vec3 { x: 6.5, diff --git a/src/client/gui/systems.rs b/src/client/gui/systems.rs index 64293b45..14a7c88b 100644 --- a/src/client/gui/systems.rs +++ b/src/client/gui/systems.rs @@ -36,8 +36,7 @@ pub fn handle_debug_state_transition_system( } pub fn handle_enter_debug_state_system(mut window_query: Query<&mut Window>) { - if let Ok(mut window) = window_query.get_single_mut() { - window.cursor_options.grab_mode = CursorGrabMode::None; - window.cursor_options.visible = true; - } + let mut window = single_mut!(window_query); + window.cursor_options.grab_mode = CursorGrabMode::None; + window.cursor_options.visible = true; } diff --git a/src/client/main.rs b/src/client/main.rs index 258ef725..0a307224 100644 --- a/src/client/main.rs +++ b/src/client/main.rs @@ -21,7 +21,7 @@ mod wireframe_config { use bevy::color::palettes::css::WHITE; pub fn wireframe_plugin() -> WireframePlugin { - WireframePlugin + WireframePlugin::default() } pub fn wireframe_config() -> WireframeConfig { @@ -52,7 +52,7 @@ fn main() { FlairPlugin, #[cfg(feature = "wireframe")] wireframe_config::wireframe_plugin(), - FrameTimeDiagnosticsPlugin, + FrameTimeDiagnosticsPlugin::default(), EntityCountDiagnosticsPlugin, SystemInformationDiagnosticsPlugin, PerfUiPlugin, diff --git a/src/client/player/systems/controller.rs b/src/client/player/systems/controller.rs index a37b94e6..68d7364c 100644 --- a/src/client/player/systems/controller.rs +++ b/src/client/player/systems/controller.rs @@ -90,7 +90,9 @@ pub fn setup_controller_on_area_ready_system( .insert(player_components::Player) .id(); - let mut player = render_player.single_mut(); + let mut player = render_player + .single_mut() + .expect("Failed to query render_player"); player.logical_entity = logical_entity; player_spawned.0 = true; @@ -104,7 +106,7 @@ pub fn handle_controller_movement_system( for (_entity, _input, transform) in &mut query.iter() { let controller_position = transform.translation; if last_position.0.floor() != controller_position.floor() { - collider_events.send(collider_events::ColliderUpdateEvent { + collider_events.write(collider_events::ColliderUpdateEvent { grid_center_position: controller_position.floor().into(), }); } @@ -119,10 +121,9 @@ pub fn activate_fps_controller_system(mut controller_query: Query<&mut FpsContro } pub fn lock_cursor_system(mut window_query: Query<&mut Window>) { - if let Ok(mut window) = window_query.get_single_mut() { - window.cursor_options.grab_mode = CursorGrabMode::Locked; - window.cursor_options.visible = false; - } + let mut window = window_query.single_mut().expect("Window doesnt't exist?"); + window.cursor_options.grab_mode = CursorGrabMode::Locked; + window.cursor_options.visible = false; } pub fn deactivate_fps_controller_system(mut controller_query: Query<&mut FpsController>) { diff --git a/src/client/player/systems/keyboard.rs b/src/client/player/systems/keyboard.rs index 00b71fd1..dfdbd7b2 100644 --- a/src/client/player/systems/keyboard.rs +++ b/src/client/player/systems/keyboard.rs @@ -13,9 +13,9 @@ pub fn handle_keyboard_events_system( } if event.state.is_pressed() && event.key_code == bevy::input::keyboard::KeyCode::KeyC { - let controller_transform = camera_query.single(); + let controller_transform = single!(camera_query); println!("Handling event: {:?}", controller_transform.translation); - collider_events.send(collider_events::ColliderUpdateEvent { + collider_events.write(collider_events::ColliderUpdateEvent { grid_center_position: controller_transform.translation.into(), }); } diff --git a/src/client/player/systems/mouse.rs b/src/client/player/systems/mouse.rs index 67820bb0..4d903527 100644 --- a/src/client/player/systems/mouse.rs +++ b/src/client/player/systems/mouse.rs @@ -7,26 +7,27 @@ pub fn manage_cursor_system( mut controller_query: Query<&mut FpsController>, current_state: Res>, ) { - let mut window = window_query.single_mut(); - if btn.just_pressed(MouseButton::Left) && *current_state.get() != GameState::Debugging { - window.cursor_options.grab_mode = CursorGrabMode::Locked; - window.cursor_options.visible = false; - for mut controller in &mut controller_query { - controller.enable_input = true; + for mut window in &mut window_query { + if btn.just_pressed(MouseButton::Left) && *current_state.get() != GameState::Debugging { + window.cursor_options.grab_mode = CursorGrabMode::Locked; + window.cursor_options.visible = false; + for mut controller in &mut controller_query { + controller.enable_input = true; + } } - } - if key.just_pressed(KeyCode::Escape) { - window.cursor_options.grab_mode = CursorGrabMode::None; - window.cursor_options.visible = true; - for mut controller in &mut controller_query { - controller.enable_input = false; + if key.just_pressed(KeyCode::Escape) { + window.cursor_options.grab_mode = CursorGrabMode::None; + window.cursor_options.visible = true; + for mut controller in &mut controller_query { + controller.enable_input = false; + } } } } pub fn handle_mouse_events_system( mut block_update_events: EventWriter, - mut mouse_events: EventReader, + mouse_buttons: Res>, block_selection: Res, ) { if block_selection.normal.is_none() || block_selection.position.is_none() { @@ -36,19 +37,17 @@ pub fn handle_mouse_events_system( let position = block_selection.position.unwrap().as_ivec3(); let normal = block_selection.normal.unwrap().as_ivec3(); - for event in mouse_events.read() { - if event.button == MouseButton::Left && event.state.is_pressed() { - block_update_events.send(terrain_events::BlockUpdateEvent { - position, - block: BlockId::Air, - from_network: false, - }); - } else if event.button == MouseButton::Right && event.state.is_pressed() { - block_update_events.send(terrain_events::BlockUpdateEvent { - position: position + normal, - block: BlockId::Dirt, - from_network: false, - }); - } + if mouse_buttons.just_pressed(MouseButton::Left) { + block_update_events.write(terrain_events::BlockUpdateEvent { + position, + block: BlockId::Air, + from_network: false, + }); + } else if mouse_buttons.just_pressed(MouseButton::Right) { + block_update_events.write(terrain_events::BlockUpdateEvent { + position: position + normal, + block: BlockId::Dirt, + from_network: false, + }); } } diff --git a/src/client/player/systems/network.rs b/src/client/player/systems/network.rs index b89a5bb6..f9d209fa 100644 --- a/src/client/player/systems/network.rs +++ b/src/client/player/systems/network.rs @@ -9,8 +9,8 @@ pub fn broadcast_player_attributes_system( return; } - let (_, transform) = query.single(); - let (_, _, camera_transform) = camera_query.single(); + let (_, transform) = single!(query); + let (_, _, camera_transform) = single!(camera_query); let player_state = PlayerState { position: transform.translation, diff --git a/src/client/player/systems/selection.rs b/src/client/player/systems/selection.rs index 35017690..824bce37 100644 --- a/src/client/player/systems/selection.rs +++ b/src/client/player/systems/selection.rs @@ -1,6 +1,6 @@ use crate::prelude::*; -const RAY_DIST: Vec3 = Vec3::new(0.0, 0.0, -20.0); +const RAY_DIST: f32 = 20.0; const HIGHLIGHT_CUBE_ORIGIN: Vec3 = Vec3::new(0.0, 2.0, 0.0); pub fn setup_highlight_cube_system( @@ -13,7 +13,11 @@ pub fn setup_highlight_cube_system( commands .spawn(( Mesh3d(meshes.add(mesh)), - MeshMaterial3d(materials.add(Color::srgba(1.0, 1.0, 1.0, 0.5))), + MeshMaterial3d(materials.add(StandardMaterial { + base_color: Color::srgba(1.0, 1.0, 1.0, 0.5), + alpha_mode: AlphaMode::Blend, + ..default() + })), Transform::from_xyz(0.0, 0.0, -7.0), )) .insert(player_components::HighlightCube); @@ -21,54 +25,61 @@ pub fn setup_highlight_cube_system( #[allow(clippy::type_complexity)] pub fn raycast_system( - mut raycast: Raycast, + mut raycast: MeshRayCast, #[cfg(feature = "raycast_debug")] mut gizmos: Gizmos, raycast_origin: Query<&Transform, With>, mut selection_query: Query< - (&mut Transform, &player_components::HighlightCube), + &mut Transform, ( + With, Without, Without, ), >, - raycastable_query: Query<&Transform, With>, + raycastable_query: Query>, mut block_selection: ResMut, ) { - let camera_transform = raycast_origin.single(); - let filter = |entity| raycastable_query.get(entity).is_ok(); + let camera_transform = raycast_origin + .single() + .expect("Camera not present for raycast"); let pos = camera_transform.translation; - let dir = camera_transform.rotation.mul_vec3(Vec3::Z).normalize(); - let dir = dir * RAY_DIST.z; + let dir = camera_transform.rotation.mul_vec3(Vec3::NEG_Z).normalize(); let ray = Ray3d::new(pos, Dir3::new(dir).expect("Ray can be cast")); - let settings = RaycastSettings { - filter: &filter, - ..default() - }; - - #[cfg(feature = "raycast_debug")] - let intersections = raycast.debug_cast_ray(ray, &settings, &mut gizmos); - - #[cfg(not(feature = "raycast_debug"))] - let intersections = raycast.cast_ray(ray, &settings); - - let (mut highlight_transform, _) = selection_query.single_mut(); - let hover_position = intersections - .first() - .map(|(_, intersection)| (intersection.position() - intersection.normal() * 0.5).floor()); - - block_selection.position = hover_position; - block_selection.normal = intersections - .first() - .map(|(_, intersection)| intersection.normal()); - - if hover_position.is_none() { - highlight_transform.translation = HIGHLIGHT_CUBE_ORIGIN; - return; + + let binding = |entity| raycastable_query.contains(entity); + let settings = MeshRayCastSettings::default().with_filter(&binding); + + let hits = raycast.cast_ray(ray, &settings); + + if let Some((_, hit)) = hits.first() { + if (pos - hit.point).length() < RAY_DIST { + #[cfg(feature = "raycast_debug")] + { + gizmos.line( + hit.point + hit.normal, + hit.point, + Color::srgb(1.0, 0.0, 0.0), + ); + gizmos.sphere(hit.point, 0.1, Color::srgb(0.0, 0.0, 1.0)); + } + + const CUBE_SIZE: f32 = 1.0; + + let hover_position = (hit.point - hit.normal * (CUBE_SIZE / 2.0)).floor(); + block_selection.position = Some(hover_position); + block_selection.normal = Some(hit.normal); + + let mut highlight_transform = single_mut!(selection_query); + highlight_transform.translation = hover_position + (CUBE_SIZE / 2.0); + + return; + } } - highlight_transform.translation = hover_position.unwrap() + 0.5; + let mut highlight_transform = single_mut!(selection_query); + highlight_transform.translation = HIGHLIGHT_CUBE_ORIGIN; } #[cfg(test)] diff --git a/src/client/player/systems/terrain.rs b/src/client/player/systems/terrain.rs index 0e593062..f015ee5e 100644 --- a/src/client/player/systems/terrain.rs +++ b/src/client/player/systems/terrain.rs @@ -13,12 +13,12 @@ pub fn handle_block_update_events( .update_block(event.position, event.block) .iter() .for_each(|affected_chunk_position| { - chunk_mesh_update_events.send(terrain_events::ChunkMeshUpdateEvent { + chunk_mesh_update_events.write(terrain_events::ChunkMeshUpdateEvent { chunk_position: *affected_chunk_position, }); }); - player_collider_events.send(player_events::PlayerColliderUpdateEvent); + player_collider_events.write(player_events::PlayerColliderUpdateEvent); if !event.from_network { info!( @@ -49,7 +49,7 @@ pub fn handle_player_collider_events_system( for (transform, _) in query.iter_mut() { let player_position = transform.translation.floor(); - collider_events.send(collider_events::ColliderUpdateEvent { + collider_events.write(collider_events::ColliderUpdateEvent { grid_center_position: player_position.into(), }); } diff --git a/src/client/prelude.rs b/src/client/prelude.rs index 0a98c486..88b96e9f 100644 --- a/src/client/prelude.rs +++ b/src/client/prelude.rs @@ -12,16 +12,12 @@ pub use bevy::input::{keyboard::*, mouse::*, ButtonInput}; pub use bevy::math::{primitives::Cuboid, EulerRot, Quat, Ray3d, Vec3}; pub use bevy::pbr::*; pub use bevy::prelude::*; -pub use bevy::render::{camera::*, mesh::Mesh}; +pub use bevy::render::mesh::Mesh; pub use bevy::transform::components::Transform; pub use bevy::window::{CursorGrabMode, Window, WindowResolution}; -pub use bevy_fps_controller::controller::FpsController; -pub use bevy_fps_controller::controller::FpsControllerPlugin; pub use bevy_fps_controller::controller::*; -pub use bevy_mod_raycast::immediate::*; - pub use bevy_rapier3d::geometry::Collider; pub use bevy_rapier3d::{dynamics::*, geometry::*}; pub use bevy_rapier3d::{plugin::*, render::RapierDebugRenderPlugin}; diff --git a/src/client/remote_player/systems.rs b/src/client/remote_player/systems.rs index 4e262c76..282b6989 100644 --- a/src/client/remote_player/systems.rs +++ b/src/client/remote_player/systems.rs @@ -55,7 +55,7 @@ pub fn update_remote_player_system( } if !player_exists { - spawn_events.send(remote_player_events::RemotePlayerSpawnedEvent { + spawn_events.write(remote_player_events::RemotePlayerSpawnedEvent { client_id: *client_id, position: player_state.position, }); diff --git a/src/client/terrain/systems.rs b/src/client/terrain/systems.rs index 70b2cdaf..f2987cb7 100644 --- a/src/client/terrain/systems.rs +++ b/src/client/terrain/systems.rs @@ -49,7 +49,7 @@ pub fn generate_world_system( mut client: ResMut, mut chunk_manager: ResMut, ) { - let render_distance = IVec3::new(8, 4, 8); + let render_distance = IVec3::new(4, 4, 4); info!("Sending chunk requests for chunks"); diff --git a/src/server/main.rs b/src/server/main.rs index 9f1c01fc..5531d5c2 100644 --- a/src/server/main.rs +++ b/src/server/main.rs @@ -22,7 +22,7 @@ fn main() { #[cfg(feature = "egui_layer")] { - use bevy_inspector_egui::bevy_egui::EguiPlugin; + use bevy_egui::EguiPlugin; app.add_plugins(DefaultPlugins); app.add_plugins(EguiPlugin); } diff --git a/src/server/networking/systems.rs b/src/server/networking/systems.rs index cccb61b1..76732985 100644 --- a/src/server/networking/systems.rs +++ b/src/server/networking/systems.rs @@ -36,7 +36,7 @@ pub fn receive_message_system( NetworkingMessage::ChatMessageSend(message) => { info!("Received chat message from {}", client_id); chat_message_events - .send(chat_events::PlayerChatMessageSendEvent { client_id, message }); + .write(chat_events::PlayerChatMessageSendEvent { client_id, message }); } _ => { warn!("Received unknown message type. (ReliabelOrdered)"); @@ -122,12 +122,12 @@ pub fn handle_events_system( ); #[cfg(feature = "chat")] - chat_sync_events.send(chat_events::SyncPlayerChatMessagesEvent { + chat_sync_events.write(chat_events::SyncPlayerChatMessagesEvent { client_id: *client_id, }); #[cfg(feature = "chat")] - chat_message_events.send(chat_events::PlayerChatMessageSendEvent { + chat_message_events.write(chat_events::PlayerChatMessageSendEvent { client_id: SERVER_MESSAGE_ID, message: format!("Player {} joined the game", *client_id), }); @@ -154,7 +154,7 @@ pub fn handle_events_system( player_states.players.remove(client_id); #[cfg(feature = "chat")] - chat_message_events.send(chat_events::PlayerChatMessageSendEvent { + chat_message_events.write(chat_events::PlayerChatMessageSendEvent { client_id: SERVER_MESSAGE_ID, message: format!("Player {} left the game", client_id), }); diff --git a/src/server/prelude.rs b/src/server/prelude.rs index 5d28b783..2cecac29 100644 --- a/src/server/prelude.rs +++ b/src/server/prelude.rs @@ -6,6 +6,7 @@ pub use std::time::SystemTime; // bevy crates pub use bevy::app::{App, Plugin, Startup, Update}; pub use bevy::ecs::event::*; +pub use bevy::ecs::resource::*; pub use bevy::ecs::system::*; pub use bevy::log::{debug, error, info, warn}; pub use bevy::math::*; diff --git a/src/server/terrain/systems.rs b/src/server/terrain/systems.rs index f1cfd978..2add6965 100644 --- a/src/server/terrain/systems.rs +++ b/src/server/terrain/systems.rs @@ -201,10 +201,10 @@ mod visualizer { pub fn prepare_visualizer_texture_system( mut event_writer: EventWriter, ) { - event_writer.send(terrain_events::RegenerateHeightMapEvent(TextureType::Height)); - event_writer.send(terrain_events::RegenerateHeightMapEvent(TextureType::HeightAdjust)); - event_writer.send(terrain_events::RegenerateHeightMapEvent(TextureType::Density)); - event_writer.send(terrain_events::RegenerateHeightMapEvent(TextureType::Cave)); + event_writer.write(terrain_events::RegenerateHeightMapEvent(TextureType::Height)); + event_writer.write(terrain_events::RegenerateHeightMapEvent(TextureType::HeightAdjust)); + event_writer.write(terrain_events::RegenerateHeightMapEvent(TextureType::Density)); + event_writer.write(terrain_events::RegenerateHeightMapEvent(TextureType::Cave)); } macro_rules! add_slider { @@ -289,11 +289,11 @@ mod visualizer { } if changed { - event_writer.send(terrain_events::RegenerateHeightMapEvent(TextureType::Height)); + event_writer.write(terrain_events::RegenerateHeightMapEvent(TextureType::Height)); } if ui.button("Regenerate world").clicked() { - world_regenerate_event_writer.send(terrain_events::WorldRegenerateEvent); + world_regenerate_event_writer.write(terrain_events::WorldRegenerateEvent); } egui_plot::Plot::new("splines") @@ -360,7 +360,7 @@ mod visualizer { add_sliders_for_noise_params!(ui, &mut changed, params); if changed { - event_writer.send(terrain_events::RegenerateHeightMapEvent(texture_type.clone())); + event_writer.write(terrain_events::RegenerateHeightMapEvent(texture_type.clone())); }; ui.add(egui::widgets::Image::new(egui::load::SizedTexture::new( diff --git a/src/shared/mod.rs b/src/shared/mod.rs index abf55de5..353f5161 100644 --- a/src/shared/mod.rs +++ b/src/shared/mod.rs @@ -8,3 +8,23 @@ pub use blocks::*; pub use buffer_serializer::*; pub use chunk::*; pub use networking::*; + +#[macro_export] +macro_rules! single_mut { + ($q:expr) => { + match $q.single_mut() { + Ok(m) => m, + _ => return, + } + }; +} + +#[macro_export] +macro_rules! single { + ($q:expr) => { + match $q.single() { + Ok(m) => m, + _ => return, + } + }; +}