From 9e0ce328a410c48d8a388223061330369d663253 Mon Sep 17 00:00:00 2001 From: Steveplays28 Date: Mon, 12 May 2025 15:42:59 +0200 Subject: [PATCH 1/6] refactor: :arrow_up: Update Bevy to v0.16 --- Cargo.lock | 1275 +++++++++++++++------------ Cargo.toml | 16 +- crates/bevy_bvh_anim/src/lib.rs | 3 - src/bvh_manager/bvh_gizmos.rs | 4 +- src/bvh_manager/bvh_library.rs | 3 +- src/bvh_manager/bvh_player.rs | 6 +- src/camera.rs | 2 +- src/motion/motion_player.rs | 2 +- src/motion_matching.rs | 14 +- src/motion_matching/kdtree_match.rs | 2 +- src/motion_matching/kmeans_match.rs | 2 +- src/player.rs | 5 +- src/ui.rs | 6 +- src/ui/builder.rs | 2 +- src/ui/config.rs | 4 +- src/ui/play_mode.rs | 12 +- src/visualization.rs | 4 +- 17 files changed, 737 insertions(+), 625 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7f4de5a..ae070c6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,15 +20,19 @@ 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" +dependencies = [ + "enumn", + "serde", +] [[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 +41,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 +55,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 +70,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", @@ -96,8 +100,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if 1.0.0", - "const-random", - "getrandom", + "getrandom 0.2.15", "once_cell", "version_check", "zerocopy", @@ -131,7 +134,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37fe60779335388a88c01ac6c3be40304d1e349de3ada3b15f7808bb90fa9dce" dependencies = [ "alsa-sys", - "bitflags 2.6.0", + "bitflags 2.9.0", "libc", ] @@ -152,7 +155,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.6.0", + "bitflags 2.9.0", "cc", "cesu8", "jni", @@ -163,7 +166,7 @@ dependencies = [ "ndk-context", "ndk-sys 0.6.0+11769913", "num_enum", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -286,12 +289,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]] @@ -336,7 +341,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 5.3.1", + "event-listener", "event-listener-strategy", "pin-project-lite", ] @@ -346,12 +351,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" @@ -402,32 +413,31 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bevy" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eaad7fe854258047680c51c3cacb804468553c04241912f6254c841c67c0198" +checksum = "2a5cd3b24a5adb7c7378da7b3eea47639877643d11b6b087fc8a8094f2528615" dependencies = [ "bevy_internal", ] [[package]] name = "bevy-inspector-egui" -version = "0.29.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d3ea87310d78bacc94471bcf5a8b63ead43e7263d404571832c2297458b856" +checksum = "4971e763f289921fd4616418628458bec26a6fc13fe4299c0e4066f39d7ceaa2" dependencies = [ "bevy-inspector-egui-derive", "bevy_app", "bevy_asset", "bevy_color", - "bevy_core", "bevy_core_pipeline", "bevy_ecs", - "bevy_egui 0.32.0", - "bevy_hierarchy", + "bevy_egui", "bevy_image", "bevy_log", "bevy_math", "bevy_pbr", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_state", @@ -436,7 +446,7 @@ dependencies = [ "bevy_window", "bytemuck", "disqualified", - "egui 0.30.0", + "egui", "fuzzy-matcher", "image", "smallvec 1.13.2", @@ -446,9 +456,9 @@ dependencies = [ [[package]] name = "bevy-inspector-egui-derive" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7259e525c7844b23f10fd2b2efaa3eea57996f101cc30e833070d139e2b4e4d" +checksum = "2656316165dbe2af6b3acaa763332f5dbdd12f809d59f5bf4304e0642a8005c9" dependencies = [ "proc-macro2", "quote", @@ -457,73 +467,80 @@ dependencies = [ [[package]] name = "bevy_a11y" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245a938f754f70a380687b89f1c4dac75b62d58fae90ae969fcfb8ecd91ed879" +checksum = "91ed969a58fbe449ef35ebec58ab19578302537f34ee8a35d04e5a038b3c40f5" dependencies = [ "accesskit", "bevy_app", "bevy_derive", "bevy_ecs", "bevy_reflect", + "serde", ] [[package]] name = "bevy_animation" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41e2b3e4e6cb4df085b941b105f2c790901e34c8571e02342f8e96acdf7cf7d1" +checksum = "3647b67c6bfd456922b2720ccef980dec01742d155d0eb454dc3d8fdc65e7aff" 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", "bevy_transform", "bevy_utils", "blake3", - "derive_more 1.0.0", - "downcast-rs", + "derive_more", + "downcast-rs 2.0.1", "either", "petgraph", "ron", "serde", "smallvec 1.13.2", + "thiserror 2.0.12", "thread_local", + "tracing", "uuid", ] [[package]] name = "bevy_app" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ac033a388b8699d241499a43783a09e6a3bab2430f1297c6bd4974095efb3f" +checksum = "a2b6267ac23a9947d5b2725ff047a1e1add70076d85fa9fb73d044ab9bea1f3c" dependencies = [ "bevy_derive", "bevy_ecs", + "bevy_platform", "bevy_reflect", "bevy_tasks", "bevy_utils", + "cfg-if 1.0.0", "console_error_panic_hook", "ctrlc", - "derive_more 1.0.0", - "downcast-rs", + "downcast-rs 2.0.1", + "log", + "thiserror 2.0.12", + "variadics_please", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_asset" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fd901b3be016088c4dda2f628bda96b7cb578b9bc8ae684bbf30bec0a9483e" +checksum = "0698040d63199391ea77fd02e039630748e3e335c3070c6d932fd96cbf80f5d6" dependencies = [ "async-broadcast", "async-fs", @@ -532,16 +549,17 @@ dependencies = [ "bevy_app", "bevy_asset_macros", "bevy_ecs", + "bevy_platform", "bevy_reflect", "bevy_tasks", "bevy_utils", "bevy_window", - "bitflags 2.6.0", + "bitflags 2.9.0", "blake3", "crossbeam-channel", - "derive_more 1.0.0", + "derive_more", "disqualified", - "downcast-rs", + "downcast-rs 2.0.1", "either", "futures-io", "futures-lite", @@ -551,6 +569,8 @@ dependencies = [ "ron", "serde", "stackfuture", + "thiserror 2.0.12", + "tracing", "uuid", "wasm-bindgen", "wasm-bindgen-futures", @@ -559,9 +579,9 @@ dependencies = [ [[package]] name = "bevy_asset_macros" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6725a785789ece8d8c73bba25fdac5e50494d959530e89565bbcea9f808b7181" +checksum = "0bf8c00b5d532f8e5ac7b49af10602f9f7774a2d522cf0638323b5dfeee7b31c" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -571,21 +591,20 @@ dependencies = [ [[package]] name = "bevy_audio" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30af4b6a91c8e08f623b0cdc53ce5b8f731c78af6ef728cdfc06dc61eda164c4" +checksum = "74e54154e6369abdbaf5098e20424d59197c9b701d4f79fe8d0d2bde03d25f12" dependencies = [ "bevy_app", "bevy_asset", "bevy_derive", "bevy_ecs", - "bevy_hierarchy", "bevy_math", "bevy_reflect", "bevy_transform", - "bevy_utils", "cpal", "rodio", + "tracing", ] [[package]] @@ -595,71 +614,60 @@ dependencies = [ "bevy", "bvh_anim", "serde", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "bevy_color" -version = "0.15.4" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a87b7137ffa9844ae542043769fb98c35efbf2f8a8429ff2a73d8ef30e58baaa" +checksum = "ddf6a5ad35496bbc41713efbcf06ab72b9a310fabcab0f9db1debb56e8488c6e" dependencies = [ "bevy_math", "bevy_reflect", "bytemuck", - "derive_more 1.0.0", + "derive_more", "encase", "serde", + "thiserror 2.0.12", "wgpu-types", ] -[[package]] -name = "bevy_core" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9ce8da8e4016f63c1d361b52e61aaf4348c569829c74f1a5bbedfd8d3d57a3" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "serde", - "uuid", -] - [[package]] name = "bevy_core_pipeline" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee0ff0f4723f30a5a6578915dbfe0129f2befaec8438dde70ac1fb363aee01f5" +checksum = "55c2310717b9794e4a45513ee5946a7be0838852a4c1e185884195e1a8688ff3" 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.6.0", - "derive_more 1.0.0", + "bitflags 2.9.0", + "bytemuck", "nonmax", "radsort", "serde", "smallvec 1.13.2", + "thiserror 2.0.12", + "tracing", ] [[package]] name = "bevy_derive" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d94761ce947b0a2402fd949fe1e7a5b1535293130ba4cd9893be6295d4680a" +checksum = "f626531b9c05c25a758ede228727bd11c2c2c8498ecbed9925044386d525a2a3" dependencies = [ "bevy_macro_utils", "quote", @@ -668,48 +676,55 @@ dependencies = [ [[package]] name = "bevy_diagnostic" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e83c65979f063b593917ab9b1d7328c5854dba4b6ddf1ab78156c0105831fdf" +checksum = "048a1ff3944a534b8472516866284181eef0a75b6dd4d39b6e5925715e350766" dependencies = [ "bevy_app", - "bevy_core", "bevy_ecs", + "bevy_platform", "bevy_tasks", "bevy_time", "bevy_utils", "const-fnv1a-hash", + "log", + "serde", "sysinfo", ] [[package]] name = "bevy_ecs" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1597106cc01e62e6217ccb662e0748b2ce330893f27c7dc17bac33e0bb99bca9" +checksum = "d9e807b5d9aab3bb8dfe47e7a44c9ff088bad2ceefe299b80ac77609a87fe9d4" dependencies = [ "arrayvec 0.7.6", "bevy_ecs_macros", + "bevy_platform", "bevy_ptr", "bevy_reflect", "bevy_tasks", "bevy_utils", - "bitflags 2.6.0", + "bitflags 2.9.0", + "bumpalo", "concurrent-queue", - "derive_more 1.0.0", + "derive_more", "disqualified", - "fixedbitset 0.5.7", + "fixedbitset", + "indexmap", + "log", "nonmax", - "petgraph", "serde", "smallvec 1.13.2", + "thiserror 2.0.12", + "variadics_please", ] [[package]] name = "bevy_ecs_macros" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f453adf07712b39826bc5845e5b0887ce03204ee8359bbe6b40a9afda60564a1" +checksum = "467d7bb98aeb8dd30f36e6a773000c12a891d4f1bee2adc3841ec89cc8eaf54e" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -719,9 +734,9 @@ dependencies = [ [[package]] name = "bevy_egui" -version = "0.32.0" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4b8df063d7c4d4171bc853e5ea0d67c7f1b5edd3b014d43acbfe3042dd6cf4" +checksum = "3a3d58a8afdb6100bca50251043a85320391742cae125d559f6cca3a16b84cdd" dependencies = [ "arboard", "bevy_app", @@ -733,50 +748,15 @@ dependencies = [ "bevy_log", "bevy_math", "bevy_picking", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_time", - "bevy_utils", "bevy_window", "bevy_winit", "bytemuck", "crossbeam-channel", - "egui 0.30.0", - "encase", - "js-sys", - "thread_local", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "wgpu-types", - "winit", -] - -[[package]] -name = "bevy_egui" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45fa3f22e775175244a36b50615c0c71df9e0847e297283e5ec62ec5f99439a0" -dependencies = [ - "arboard", - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_image", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_picking", - "bevy_reflect", - "bevy_render", - "bevy_time", - "bevy_utils", - "bevy_window", - "bevy_winit", - "bytemuck", - "crossbeam-channel", - "egui 0.31.1", + "egui", "encase", "image", "js-sys", @@ -791,9 +771,9 @@ dependencies = [ [[package]] name = "bevy_encase_derive" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f37ad69d36bb9e8479a88d481ef9748f5d7ab676040531d751d3a44441dcede7" +checksum = "b8bb31dc1090c6f8fabbf6b21994d19a12766e786885ee48ffc547f0f1fa7863" dependencies = [ "bevy_macro_utils", "encase_derive_impl", @@ -801,24 +781,26 @@ dependencies = [ [[package]] name = "bevy_gilrs" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a737451ccd6be5da68fbba5d984328b8a82eebd16c1fda0bec840090a3d454fd" +checksum = "950c84596dbff8a9691a050c37bb610ef9398af56369c2c2dd6dc41ef7b717a5" dependencies = [ "bevy_app", "bevy_ecs", "bevy_input", + "bevy_platform", "bevy_time", "bevy_utils", - "derive_more 1.0.0", "gilrs", + "thiserror 2.0.12", + "tracing", ] [[package]] name = "bevy_gizmos" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1614516d0922ad60e87cc39658422286ed684aaf4b3162d25051bc105eed814" +checksum = "54af8145b35ab2a830a6dd1058e23c1e1ddc4b893db79d295259ef82f51c7520" dependencies = [ "bevy_app", "bevy_asset", @@ -836,13 +818,14 @@ dependencies = [ "bevy_transform", "bevy_utils", "bytemuck", + "tracing", ] [[package]] name = "bevy_gizmos_macros" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edb9e0dca64e0fc9d6b1d9e6e2178396e339e3e2b9f751e2504e3ea4ddf4508" +checksum = "40137ace61f092b7a09eba41d7d1e6aef941f53a7818b06ef86dcce7b6a1fd3f" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -852,95 +835,107 @@ dependencies = [ [[package]] name = "bevy_gltf" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa8364f34bc08fe067ce32418e22ee96e177101dbf1bc00803aaeb2b262615be" +checksum = "aa25b809ee024ef2682bafc1ca22ca8275552edb549dc6f69a030fdffd976c63" 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 1.13.2", -] - -[[package]] -name = "bevy_hierarchy" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ced04e04437d0a439fe4722544c2a4678c1fe3412b57ee489d817c11884045" -dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", - "disqualified", - "smallvec 1.13.2", + "thiserror 2.0.12", + "tracing", ] [[package]] name = "bevy_image" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b384d1ce9c87f6151292a76233897a628c2a50b3560487c4d74472225d49826" +checksum = "840b25f7f58894c641739f756959028a04f519c448db7e2cd3e2e29fc5fd188d" dependencies = [ + "bevy_app", "bevy_asset", "bevy_color", "bevy_math", + "bevy_platform", "bevy_reflect", "bevy_utils", - "bitflags 2.6.0", + "bitflags 2.9.0", "bytemuck", - "derive_more 1.0.0", "futures-lite", + "guillotiere", + "half", "image", "ktx2", + "rectangle-pack", "ruzstd", "serde", - "wgpu", + "thiserror 2.0.12", + "tracing", + "wgpu-types", ] [[package]] name = "bevy_input" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52589939ca09695c69d629d166c5edf1759feaaf8f2078904aae9c33d08f5c3" +checksum = "763410715714f3d4d2dcdf077af276e2e4ea93fd8081b183d446d060ea95baaa" dependencies = [ "bevy_app", - "bevy_core", "bevy_ecs", "bevy_math", + "bevy_platform", "bevy_reflect", "bevy_utils", - "derive_more 1.0.0", + "derive_more", + "log", "serde", "smol_str", + "thiserror 2.0.12", +] + +[[package]] +name = "bevy_input_focus" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7e7b4ed65e10927a39a987cf85ef98727dd319aafb6e6835f2cb05b883c6d66" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_reflect", + "bevy_window", + "log", + "thiserror 2.0.12", ] [[package]] name = "bevy_internal" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e0c1d980d276e11558184d0627c8967ad8b70dab3e54a0f377bb53b98515b6" +checksum = "526ffd64c58004cb97308826e896c07d0e23dc056c243b97492e31cdf72e2830" dependencies = [ "bevy_a11y", "bevy_animation", @@ -948,7 +943,6 @@ dependencies = [ "bevy_asset", "bevy_audio", "bevy_color", - "bevy_core", "bevy_core_pipeline", "bevy_derive", "bevy_diagnostic", @@ -956,13 +950,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 +976,15 @@ dependencies = [ [[package]] name = "bevy_log" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381a22e01f24af51536ef1eace94298dd555d06ffcf368125d16317f5f179cb" +checksum = "7156df8d2f11135cf71c03eb4c11132b65201fd4f51648571e59e39c9c9ee2f6" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", "bevy_utils", + "tracing", "tracing-log", "tracing-oslog", "tracing-subscriber", @@ -997,10 +993,11 @@ dependencies = [ [[package]] name = "bevy_macro_utils" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb6ded1ddc124ea214f6a2140e47a78d1fe79b0638dad39419cdeef2e1133f1" +checksum = "7a2473db70d8785b5c75d6dd951a2e51e9be2c2311122db9692c79c9d887517b" dependencies = [ + "parking_lot", "proc-macro2", "quote", "syn", @@ -1009,25 +1006,29 @@ dependencies = [ [[package]] name = "bevy_math" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2650169161b64f9a93e41f13253701fdf971dc95265ed667d17bea6d2a334f" +checksum = "f1a3a926d02dc501c6156a047510bdb538dcb1fa744eeba13c824b73ba88de55" dependencies = [ + "approx", "bevy_reflect", - "derive_more 1.0.0", + "derive_more", "glam", - "itertools 0.13.0", + "itertools 0.14.0", + "libm", "rand", "rand_distr", "serde", "smallvec 1.13.2", + "thiserror 2.0.12", + "variadics_please", ] [[package]] name = "bevy_mesh" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760f3c41b4c61a5f0d956537f454c49f79b8ed0fd0781b1a879ead8e69d95283" +checksum = "12af58280c7453e32e2f083d86eaa4c9b9d03ea8683977108ded8f1930c539f2" dependencies = [ "bevy_asset", "bevy_derive", @@ -1035,22 +1036,24 @@ dependencies = [ "bevy_image", "bevy_math", "bevy_mikktspace", + "bevy_platform", "bevy_reflect", "bevy_transform", "bevy_utils", - "bitflags 2.6.0", + "bitflags 2.9.0", "bytemuck", - "derive_more 1.0.0", "hexasphere", "serde", - "wgpu", + "thiserror 2.0.12", + "tracing", + "wgpu-types", ] [[package]] name = "bevy_mikktspace" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226f663401069ded4352ed1472a85bb1f43e2b7305d6a50e53a4f6508168e380" +checksum = "75e0258423c689f764556e36b5d9eebdbf624b29a1fd5b33cd9f6c42dcc4d5f3" dependencies = [ "glam", ] @@ -1062,8 +1065,9 @@ dependencies = [ "bevy", "bevy-inspector-egui", "bevy_bvh_anim", - "bevy_egui 0.33.0", + "bevy_egui", "bevy_gltf", + "bevy_platform", "clustering", "csv", "egui_extras", @@ -1073,52 +1077,57 @@ dependencies = [ "peak_alloc", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "bevy_pbr" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4d54c840d4352dac51f2a27cf915ac99b2f93db008d8fb1be8d23b09d522acf" +checksum = "d9fe0de43b68bf9e5090a33efc963f125e9d3f9d97be9ebece7bcfdde1b6da80" 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", "bevy_utils", "bevy_window", - "bitflags 2.6.0", + "bitflags 2.9.0", "bytemuck", - "derive_more 1.0.0", - "fixedbitset 0.5.7", + "derive_more", + "fixedbitset", "nonmax", + "offset-allocator", "radsort", "smallvec 1.13.2", "static_assertions 1.1.0", + "thiserror 2.0.12", + "tracing", ] [[package]] name = "bevy_picking" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2091a495c0f9c8962abb1e30f9d99696296c332b407e1f6fe1fe28aab96a8629" +checksum = "f73674f62b1033006bd75c89033f5d3516386cfd7d43bb9f7665012c0ab14d22" 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", @@ -1126,42 +1135,66 @@ dependencies = [ "bevy_utils", "bevy_window", "crossbeam-channel", + "tracing", "uuid", ] +[[package]] +name = "bevy_platform" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704db2c11b7bc31093df4fbbdd3769f9606a6a5287149f4b51f2680f25834ebc" +dependencies = [ + "cfg-if 1.0.0", + "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.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89fe0b0b919146939481a3a7c38864face2c6d0fd2c73ab3d430dc693ecd9b11" +checksum = "86f1275dfb4cfef4ffc90c3fa75408964864facf833acc932413d52aa5364ba4" [[package]] name = "bevy_reflect" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ddbca0a39e88eff2c301dc794ee9d73a53f4b08d47b2c9b5a6aac182fae6217" +checksum = "607ebacc31029cf2f39ac330eabf1d4bc411b159528ec08dbe6b0593eaccfd41" dependencies = [ "assert_type_match", + "bevy_platform", "bevy_ptr", "bevy_reflect_derive", "bevy_utils", - "derive_more 1.0.0", + "derive_more", "disqualified", - "downcast-rs", + "downcast-rs 2.0.1", "erased-serde", + "foldhash", "glam", "petgraph", "serde", "smallvec 1.13.2", "smol_str", + "thiserror 2.0.12", "uuid", + "variadics_please", + "wgpu-types", ] [[package]] name = "bevy_reflect_derive" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d62affb769db17d34ad0b75ff27eca94867e2acc8ea350c5eca97d102bd98709" +checksum = "cf35e45e4eb239018369f63f2adc2107a54c329f9276d020e01eee1625b0238b" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1172,23 +1205,22 @@ dependencies = [ [[package]] name = "bevy_render" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4aa9d7df5c2b65540093b8402aceec0a55d67b54606e57ce2969abe280b4c48" +checksum = "85a7306235b3343b032801504f3e884b93abfb7ba58179fc555c479df509f349" 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", @@ -1196,13 +1228,16 @@ dependencies = [ "bevy_transform", "bevy_utils", "bevy_window", + "bitflags 2.9.0", "bytemuck", "codespan-reporting", - "derive_more 1.0.0", - "downcast-rs", + "derive_more", + "downcast-rs 2.0.1", "encase", + "fixedbitset", "futures-lite", "image", + "indexmap", "js-sys", "ktx2", "naga", @@ -1212,6 +1247,9 @@ dependencies = [ "send_wrapper", "serde", "smallvec 1.13.2", + "thiserror 2.0.12", + "tracing", + "variadics_please", "wasm-bindgen", "web-sys", "wgpu", @@ -1219,9 +1257,9 @@ dependencies = [ [[package]] name = "bevy_render_macros" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3469307d1b5ca5c37b7f9269be033845357412ebad33eace46826e59da592f66" +checksum = "b85c4fb26b66d3a257b655485d11b9b6df9d3c85026493ba8092767a5edfc1b2" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1231,29 +1269,30 @@ dependencies = [ [[package]] name = "bevy_scene" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfe819202aa97bbb206d79fef83504b34d45529810563aafc2fe02cc10e3ee4" +checksum = "e7b628f560f2d2fe9f35ecd4526627ba3992f082de03fd745536e4053a0266fe" 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", + "derive_more", "serde", + "thiserror 2.0.12", "uuid", ] [[package]] name = "bevy_sprite" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27411a31704117002787c9e8cc1f2f89babf5e67572508aa029366d4643f8d01" +checksum = "01f97bf54fb1c37a1077139b59bb32bc77f7ca53149cfcaa512adbb69a2d492c" dependencies = [ "bevy_app", "bevy_asset", @@ -1264,41 +1303,42 @@ dependencies = [ "bevy_image", "bevy_math", "bevy_picking", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_transform", "bevy_utils", "bevy_window", - "bitflags 2.6.0", + "bitflags 2.9.0", "bytemuck", - "derive_more 1.0.0", - "fixedbitset 0.5.7", - "guillotiere", + "derive_more", + "fixedbitset", "nonmax", "radsort", - "rectangle-pack", - "serde", + "tracing", ] [[package]] name = "bevy_state" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243a72266f81452412f7a3859e5d11473952a25767dc29c8d285660330f007ba" +checksum = "682c343c354b191fe6669823bce3b0695ee1ae4ac36f582e29c436a72b67cdd5" 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.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022eb069dfd64090fd92ba4a7f235383e49aa1c0f4320dab4999b23f67843b36" +checksum = "55b4bf3970c4f0e60572901df4641656722172c222d71a80c430d36b0e31426c" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1308,33 +1348,41 @@ dependencies = [ [[package]] name = "bevy_tasks" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028630ddc355563bd567df1076db3515858aa26715ddf7467d2086f9b40e5ab1" +checksum = "444c450b65e108855f42ecb6db0c041a56ea7d7f10cc6222f0ca95e9536a7d19" dependencies = [ "async-channel", "async-executor", + "async-task", + "atomic-waker", + "bevy_platform", + "cfg-if 1.0.0", "concurrent-queue", + "crossbeam-queue", + "derive_more", "futures-channel", "futures-lite", + "heapless", "pin-project", "wasm-bindgen-futures", ] [[package]] name = "bevy_text" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "872b0b627cedf6d1bd97b75bc4d59c16f67afdd4f2fed8f7d808a258d6cb982e" +checksum = "8ef071262c5a9afbc39caba4c0b282c7d045fbb5cf33bdab1924bd2343403833" 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", @@ -1342,47 +1390,52 @@ dependencies = [ "bevy_utils", "bevy_window", "cosmic-text", - "derive_more 1.0.0", "serde", "smallvec 1.13.2", "sys-locale", + "thiserror 2.0.12", + "tracing", "unicode-bidi", ] [[package]] name = "bevy_time" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2051ec56301b994f7c182a2a6eb1490038149ad46d95eee715e1a922acdfd9" +checksum = "456369ca10f8e039aaf273332744674844827854833ee29e28f9e161702f2f55" dependencies = [ "bevy_app", "bevy_ecs", + "bevy_platform", "bevy_reflect", - "bevy_utils", "crossbeam-channel", + "log", "serde", ] [[package]] name = "bevy_transform" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8109b1234b0e58931f51df12bc8895daa69298575cf92da408848f79a4ce201" +checksum = "8479cdd5461246943956a7c8347e4e5d6ff857e57add889fb50eee0b5c26ab48" dependencies = [ "bevy_app", "bevy_ecs", - "bevy_hierarchy", + "bevy_log", "bevy_math", "bevy_reflect", - "derive_more 1.0.0", + "bevy_tasks", + "bevy_utils", + "derive_more", "serde", + "thiserror 2.0.12", ] [[package]] name = "bevy_ui" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e534590222d044c875bf3511e5d0b3da78889bb21ad797953484ce011af77b46" +checksum = "110dc5d0059f112263512be8cd7bfe0466dfb7c26b9bf4c74529355249fd23f9" dependencies = [ "accesskit", "bevy_a11y", @@ -1392,11 +1445,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", @@ -1405,53 +1458,40 @@ dependencies = [ "bevy_utils", "bevy_window", "bytemuck", - "derive_more 1.0.0", + "derive_more", "nonmax", "serde", "smallvec 1.13.2", "taffy", + "thiserror 2.0.12", + "tracing", ] [[package]] name = "bevy_utils" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63c2174d43a0de99f863c98a472370047a2bfa7d1e5cec8d9d647fb500905d9d" +checksum = "ac2da3b3c1f94dadefcbe837aaa4aa119fcea37f7bdc5307eb05b4ede1921e24" dependencies = [ - "ahash", - "bevy_utils_proc_macros", - "getrandom", - "hashbrown 0.14.5", + "bevy_platform", "thread_local", - "tracing", - "web-time", -] - -[[package]] -name = "bevy_utils_proc_macros" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94847541f6dd2e28f54a9c2b0e857da5f2631e2201ebc25ce68781cdcb721391" -dependencies = [ - "proc-macro2", - "quote", - "syn", ] [[package]] name = "bevy_window" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e1e7c6713c04404a3e7cede48a9c47b76c30efc764664ec1246147f6fb9878" +checksum = "0d83327cc5584da463d12b7a88ddb97f9e006828832287e1564531171fffdeb4" 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", @@ -1459,9 +1499,9 @@ dependencies = [ [[package]] name = "bevy_winit" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e158a73d6d896b1600a61bc115017707ecb467d1a5ad49231c5e58294f6f6e13" +checksum = "57b14928923ae4274f4b867dce3d0e7b2c8a31bebcb0f6e65a4261c3e0765064" dependencies = [ "accesskit", "accesskit_winit", @@ -1471,11 +1511,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", @@ -1485,6 +1526,7 @@ dependencies = [ "crossbeam-channel", "raw-window-handle", "serde", + "tracing", "wasm-bindgen", "web-sys", "wgpu-types", @@ -1497,7 +1539,7 @@ version = "0.69.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "cexpr", "clang-sys", "itertools 0.12.1", @@ -1517,7 +1559,7 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "cexpr", "clang-sys", "itertools 0.13.0", @@ -1575,9 +1617,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" dependencies = [ "serde", ] @@ -1709,12 +1751,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "log", "polling", "rustix", "slab", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1777,12 +1819,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - [[package]] name = "cfg_aliases" version = "0.2.1" @@ -1851,6 +1887,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", + "portable-atomic", ] [[package]] @@ -1869,26 +1906,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", - "once_cell", - "tiny-keccak", -] - [[package]] name = "const_panic" version = "0.2.8" @@ -1988,18 +2005,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.6.0", + "bitflags 2.9.0", "fontdb", "log", "rangemap", - "rayon", "rustc-hash", "rustybuzz", "self_cell", + "smol_str", "swash", "sys-locale", "ttf-parser 0.21.1", @@ -2041,6 +2058,12 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -2069,6 +2092,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.20" @@ -2125,21 +2157,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" [[package]] -name = "data-encoding" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" - -[[package]] -name = "derive_more" -version = "0.99.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +name = "data-encoding" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "derive_more" @@ -2198,6 +2219,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downcast-rs" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea8a8b81cacc08888170eef4d13b775126db426d0b348bee9d18c2c1eaf123cf" + [[package]] name = "dpi" version = "0.1.1" @@ -2222,16 +2249,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15401da73a9ed8c80e3b2d4dc05fe10e7b72d7243b9f614e516a44fa99986e88" -[[package]] -name = "ecolor" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d72e9c39f6e11a2e922d04a34ec5e7ef522ea3f5a1acfca7a19d16ad5fe50f5" -dependencies = [ - "bytemuck", - "emath 0.30.0", -] - [[package]] name = "ecolor" version = "0.31.1" @@ -2239,20 +2256,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc4feb366740ded31a004a0e4452fbf84e80ef432ecf8314c485210229672fd1" dependencies = [ "bytemuck", - "emath 0.31.1", -] - -[[package]] -name = "egui" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "252d52224d35be1535d7fd1d6139ce071fb42c9097773e79f7665604f5596b5e" -dependencies = [ - "ahash", - "emath 0.30.0", - "epaint 0.30.0", - "nohash-hasher", - "profiling", + "emath", ] [[package]] @@ -2262,9 +2266,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25dd34cec49ab55d85ebf70139cb1ccd29c977ef6b6ba4fe85489d6877ee9ef3" dependencies = [ "ahash", - "bitflags 2.6.0", - "emath 0.31.1", - "epaint 0.31.1", + "bitflags 2.9.0", + "emath", + "epaint", "nohash-hasher", "profiling", ] @@ -2276,7 +2280,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624659a2e972a46f4d5f646557906c55f1cd5a0836eddbe610fdf1afba1b4226" dependencies = [ "ahash", - "egui 0.31.1", + "egui", "enum-map", "log", "mime_guess2", @@ -2285,13 +2289,13 @@ dependencies = [ [[package]] name = "egui_plot" -version = "0.31.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1794c66fb727dac28dffed2e4b548e5118d1cccc331d368a35411d68725dde71" +checksum = "14ae092b46ea532f6c69d3e71036fb3b688fd00fd09c2a1e43d17051a8ae43e6" dependencies = [ "ahash", - "egui 0.31.1", - "emath 0.31.1", + "egui", + "emath", ] [[package]] @@ -2300,15 +2304,6 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" -[[package]] -name = "emath" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4fe73c1207b864ee40aa0b0c038d6092af1030744678c60188a05c28553515d" -dependencies = [ - "bytemuck", -] - [[package]] name = "emath" version = "0.31.1" @@ -2327,7 +2322,7 @@ dependencies = [ "const_panic", "encase_derive", "glam", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2372,20 +2367,14 @@ dependencies = [ ] [[package]] -name = "epaint" -version = "0.30.0" +name = "enumn" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5666f8d25236293c966fbb3635eac18b04ad1914e3bab55bc7d44b9980cafcac" +checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ - "ab_glyph", - "ahash", - "bytemuck", - "ecolor 0.30.0", - "emath 0.30.0", - "epaint_default_fonts 0.30.0", - "nohash-hasher", - "parking_lot", - "profiling", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -2397,20 +2386,14 @@ dependencies = [ "ab_glyph", "ahash", "bytemuck", - "ecolor 0.31.1", - "emath 0.31.1", - "epaint_default_fonts 0.31.1", + "ecolor", + "emath", + "epaint_default_fonts", "nohash-hasher", "parking_lot", "profiling", ] -[[package]] -name = "epaint_default_fonts" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66f6ddac3e6ac6fd4c3d48bb8b1943472f8da0f43a4303bcd8a18aa594401c80" - [[package]] name = "epaint_default_fonts" version = "0.31.1" @@ -2435,12 +2418,12 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2458,12 +2441,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.3.1" @@ -2481,7 +2458,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.1", + "event-listener", "pin-project-lite", ] @@ -2536,12 +2513,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[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" @@ -2572,9 +2543,9 @@ checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "font-types" -version = "0.7.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492" +checksum = "02a596f5713680923a2080d86de50fe472fb290693cf0f701187a1c8b36996b7" dependencies = [ "bytemuck", ] @@ -2709,10 +2680,22 @@ dependencies = [ "cfg-if 1.0.0", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + [[package]] name = "gif" version = "0.13.1" @@ -2743,7 +2726,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0383b9f5df02975b56f25775330ba2f70ff181fe1091f698c8737868696eb856" dependencies = [ "core-foundation 0.10.0", - "inotify 0.11.0", + "inotify", "io-kit-sys", "js-sys", "libc", @@ -2770,11 +2753,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", "serde", ] @@ -2787,9 +2771,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[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", @@ -2848,7 +2832,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "gpu-alloc-types", ] @@ -2858,7 +2842,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", ] [[package]] @@ -2869,7 +2853,7 @@ checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" dependencies = [ "log", "presser", - "thiserror", + "thiserror 1.0.69", "windows 0.58.0", ] @@ -2879,7 +2863,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "gpu-descriptor-types", "hashbrown 0.14.5", ] @@ -2890,14 +2874,14 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", ] [[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" @@ -2919,6 +2903,15 @@ dependencies = [ "crunchy", ] +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.14.5" @@ -2927,7 +2920,6 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", - "serde", ] [[package]] @@ -2936,7 +2928,20 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ + "equivalent", "foldhash", + "serde", +] + +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "portable-atomic", + "stable_deref_trait", ] [[package]] @@ -3037,12 +3042,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.6" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.2", + "serde", ] [[package]] @@ -3051,24 +3057,13 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" -[[package]] -name = "inotify" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" -dependencies = [ - "bitflags 1.3.2", - "inotify-sys", - "libc", -] - [[package]] name = "inotify" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "inotify-sys", "libc", ] @@ -3082,15 +3077,6 @@ dependencies = [ "libc", ] -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if 1.0.0", -] - [[package]] name = "interpolate_name" version = "0.2.4" @@ -3130,6 +3116,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.11" @@ -3147,7 +3142,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] @@ -3190,7 +3185,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0a0e9f770b65bac9aad00f97a67ab5c5319effed07f6da385da3c2115e47ba" dependencies = [ "num-traits", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3253,16 +3248,15 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "leafwing-input-manager" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89e71d2afcb4afae71f5f064fe709d15a379bb6b42397ef4d89cb9d5bd0f5bf" +checksum = "5e5921290ac62f78a4f2f2f9fe3a31c73bbf4309b013bf25f91514ac111e3976" dependencies = [ "bevy", - "derive_more 0.99.18", "dyn-clone", "dyn-eq", "dyn-hash", - "itertools 0.13.0", + "itertools 0.14.0", "leafwing_input_manager_macros", "serde", "serde_flexitos", @@ -3270,9 +3264,9 @@ dependencies = [ [[package]] name = "leafwing_input_manager_macros" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30df0fc3244190ab3b651f27a0e626b0d5e279768740437886a5d32ec5ac099" +checksum = "2226cb83129176a6c634f2ce0828c2c29896ea0898fc198636f98696b8056890" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -3359,7 +3353,7 @@ version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "libc", "redox_syscall 0.4.1", ] @@ -3471,11 +3465,11 @@ 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.6.0", + "bitflags 2.9.0", "block", "core-graphics-types", "foreign-types", @@ -3539,20 +3533,20 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] [[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 0.7.6", "bit-set 0.8.0", - "bitflags 2.6.0", - "cfg_aliases 0.1.1", + "bitflags 2.9.0", + "cfg_aliases", "codespan-reporting", "hexf-parse", "indexmap", @@ -3560,16 +3554,17 @@ dependencies = [ "pp-rs", "rustc-hash", "spirv", + "strum", "termcolor", - "thiserror", + "thiserror 2.0.12", "unicode-xid", ] [[package]] name = "naga_oil" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ea1f080bb359927cd5404d0af1e5e6758f4f2d82ecfbebb0a0c434764e40f1" +checksum = "0ca507a365f886f95f74420361b75442a3709c747a8a6e8b6c45b8667f45a82c" dependencies = [ "bit-set 0.5.3", "codespan-reporting", @@ -3580,7 +3575,7 @@ dependencies = [ "regex", "regex-syntax 0.8.4", "rustc-hash", - "thiserror", + "thiserror 1.0.69", "tracing", "unicode-ident", ] @@ -3591,12 +3586,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "jni-sys", "log", "ndk-sys 0.5.0+25.2.9519653", "num_enum", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3605,13 +3600,13 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "jni-sys", "log", "ndk-sys 0.6.0+11769913", "num_enum", "raw-window-handle", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3650,9 +3645,9 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "cfg-if 1.0.0", - "cfg_aliases 0.2.1", + "cfg_aliases", "libc", ] @@ -3692,28 +3687,28 @@ checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" [[package]] name = "notify" -version = "7.0.0" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c533b4c39709f9ba5005d8002048266593c1cfaf3c5f0739d5b8ab0c6c504009" +checksum = "2fee8403b3d66ac7b26aee6e40a897d85dc5ce26f44da36b8b73e987cc52e943" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "filetime", "fsevent-sys", - "inotify 0.10.2", + "inotify", "kqueue", "libc", "log", "mio", "notify-types", "walkdir", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "notify-debouncer-full" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dcf855483228259b2353f89e99df35fc639b2b2510d1166e4858e3f67ec1afb" +checksum = "d2d88b1a7538054351c8258338df7c931a590513fb3745e8c15eb9ff4199b8d1" dependencies = [ "file-id", "log", @@ -3724,12 +3719,9 @@ dependencies = [ [[package]] name = "notify-types" -version = "1.0.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585d3cb5e12e01aed9e8a1f70d5c6b5e86fe2a6e48fc8cd0b3e0b8df6f6eb174" -dependencies = [ - "instant", -] +checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" [[package]] name = "ntapi" @@ -3853,7 +3845,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2", "libc", "objc2", @@ -3869,7 +3861,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2", "objc2", "objc2-core-location", @@ -3893,12 +3885,21 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2", "objc2", "objc2-foundation", ] +[[package]] +name = "objc2-core-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" +dependencies = [ + "bitflags 2.9.0", +] + [[package]] name = "objc2-core-image" version = "0.2.2" @@ -3935,7 +3936,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2", "dispatch", "libc", @@ -3960,7 +3961,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2", "objc2", "objc2-foundation", @@ -3972,7 +3973,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2", "objc2", "objc2-foundation", @@ -3995,7 +3996,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2", "objc2", "objc2-cloud-kit", @@ -4027,7 +4028,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "block2", "objc2", "objc2-core-location", @@ -4091,6 +4092,15 @@ dependencies = [ "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 = "overload" version = "0.1.1" @@ -4155,11 +4165,11 @@ 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", @@ -4236,6 +4246,21 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "portable-atomic" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" + +[[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 = "pp-rs" version = "0.2.1" @@ -4324,9 +4349,9 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quick-xml" -version = "0.34.0" +version = "0.37.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f24d770aeca0eacb81ac29dfbc55ebcc09312fdd1f8bbecdc7e4a84e000e3b4" +checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" dependencies = [ "memchr", ] @@ -4340,6 +4365,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radsort" version = "0.1.0" @@ -4373,7 +4404,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -4428,7 +4459,7 @@ dependencies = [ "rand_chacha", "simd_helpers", "system-deps", - "thiserror", + "thiserror 1.0.69", "v_frame", "wasm-bindgen", ] @@ -4476,9 +4507,9 @@ dependencies = [ [[package]] name = "read-fonts" -version = "0.22.7" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69aacb76b5c29acfb7f90155d39759a29496aebb49395830e928a9703d2eec2f" +checksum = "5ce8e2ca6b24313587a03ca61bb74c384e2a815bd90cf2866cfc9f5fb7a11fa0" dependencies = [ "bytemuck", "font-types", @@ -4505,7 +4536,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", ] [[package]] @@ -4566,13 +4597,12 @@ checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" [[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", ] [[package]] @@ -4582,7 +4612,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64 0.21.7", - "bitflags 2.6.0", + "bitflags 2.9.0", "serde", "serde_derive", ] @@ -4610,15 +4640,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4633,7 +4663,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "bytemuck", "libm", "smallvec 1.13.2", @@ -4646,11 +4676,10 @@ dependencies = [ [[package]] name = "ruzstd" -version = "0.7.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5022b253619b1ba797f243056276bed8ed1a73b0f5a7ce7225d524067644bf8f" +checksum = "3640bec8aad418d7d03c72ea2de10d5c646a598f9883c7babc160d91e3c1b26c" dependencies = [ - "byteorder", "twox-hash", ] @@ -4803,9 +4832,9 @@ dependencies = [ [[package]] name = "skrifa" -version = "0.22.3" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" +checksum = "bbe6666ab11018ab91ff7b03f1a3b9fdbecfb610848436fefa5ce50343d3d913" dependencies = [ "bytemuck", "read-fonts", @@ -4853,7 +4882,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "calloop", "calloop-wayland-source", "cursor-icon", @@ -4861,7 +4890,7 @@ dependencies = [ "log", "memmap2", "rustix", - "thiserror", + "thiserror 1.0.69", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -4881,15 +4910,30 @@ dependencies = [ "serde", ] +[[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" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "stackfuture" version = "0.3.0" @@ -4914,6 +4958,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 = "svg_fmt" version = "0.4.3" @@ -4922,9 +4988,9 @@ checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca" [[package]] name = "swash" -version = "0.1.19" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2" +checksum = "5dce3f0af95643c855cdc449fbaa17d8c2cd08e0b00a49a6babcbe6e71667f3d" dependencies = [ "skrifa", "yazi", @@ -4953,14 +5019,14 @@ 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.54.0", ] @@ -4979,13 +5045,12 @@ dependencies = [ [[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 0.7.6", "grid", - "num-traits", "serde", "slotmap", ] @@ -5011,7 +5076,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -5025,6 +5099,17 @@ dependencies = [ "syn", ] +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "thread_local" version = "1.1.8" @@ -5046,15 +5131,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" @@ -5241,13 +5317,9 @@ checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" [[package]] name = "twox-hash" -version = "1.6.3" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if 1.0.0", - "static_assertions 1.1.0", -] +checksum = "e7b17f197b3050ba473acf9181f7b1d3b66d1cf7356c6cc57886662276e65908" [[package]] name = "typeid" @@ -5343,12 +5415,14 @@ dependencies = [ [[package]] name = "uuid" -version = "1.12.1" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" dependencies = [ - "getrandom", + "getrandom 0.3.3", + "js-sys", "serde", + "wasm-bindgen", ] [[package]] @@ -5368,6 +5442,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[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" @@ -5402,6 +5487,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.100" @@ -5475,12 +5569,12 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.6" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90e11ce2ca99c97b940ee83edbae9da2d56a08f9ea8158550fd77fa31722993" +checksum = "fe770181423e5fc79d3e2a7f4410b7799d5aab1de4372853de3c6aa13ca24121" dependencies = [ "cc", - "downcast-rs", + "downcast-rs 1.2.1", "rustix", "scoped-tls", "smallvec 1.13.2", @@ -5489,11 +5583,11 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.5" +version = "0.31.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e321577a0a165911bdcfb39cf029302479d7527b517ee58ab0f6ad09edf0943" +checksum = "978fa7c67b0847dbd6a9f350ca2569174974cd4082737054dbb7fbb79d7d9a61" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "rustix", "wayland-backend", "wayland-scanner", @@ -5505,7 +5599,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "cursor-icon", "wayland-backend", ] @@ -5523,11 +5617,11 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.32.3" +version = "0.32.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62989625a776e827cc0f15d41444a3cea5205b963c3a25be48ae1b52d6b4daaa" +checksum = "779075454e1e9a521794fed15886323ea0feda3f8b0fc1390f5398141310422a" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -5535,11 +5629,11 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.3.3" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f79f2d57c7fcc6ab4d602adba364bf59a5c24de57bd194486bf9b8360e06bfc4" +checksum = "4fd38cdad69b56ace413c6bcc1fbf5acc5e2ef4af9d5f8f1f9570c0c83eae175" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5552,7 +5646,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd993de54a40a40fbe5601d9f1fbcaef0aebcc5fda447d7dc8f6dcbaae4f8953" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5561,9 +5655,9 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.4" +version = "0.31.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7b56f89937f1cf2ee1f1259cf2936a17a1f45d8f0aa1019fae6d470d304cfa6" +checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484" dependencies = [ "proc-macro2", "quick-xml", @@ -5572,9 +5666,9 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.4" +version = "0.31.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43676fe2daf68754ecf1d72026e4e6c15483198b5d24e888b74d3f22f887a148" +checksum = "dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615" dependencies = [ "dlib", "log", @@ -5628,12 +5722,13 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "23.0.1" +version = "24.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" +checksum = "35904fb00ba2d2e0a4d002fcbbb6e1b89b574d272a50e5fc95f6e81cf281c245" dependencies = [ "arrayvec 0.7.6", - "cfg_aliases 0.1.1", + "bitflags 2.9.0", + "cfg_aliases", "document-features", "js-sys", "log", @@ -5653,14 +5748,14 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "23.0.1" +version = "24.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" +checksum = "671c25545d479b47d3f0a8e373aceb2060b67c6eb841b24ac8c32348151c7a0c" dependencies = [ "arrayvec 0.7.6", "bit-vec 0.8.0", - "bitflags 2.6.0", - "cfg_aliases 0.1.1", + "bitflags 2.9.0", + "cfg_aliases", "document-features", "indexmap", "log", @@ -5671,25 +5766,25 @@ dependencies = [ "raw-window-handle", "rustc-hash", "smallvec 1.13.2", - "thiserror", + "thiserror 2.0.12", "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 0.7.6", "ash", "bit-set 0.8.0", - "bitflags 2.6.0", + "bitflags 2.9.0", "block", "bytemuck", - "cfg_aliases 0.1.1", + "cfg_aliases", "core-graphics-types", "glow", "glutin_wgl_sys", @@ -5706,6 +5801,7 @@ dependencies = [ "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", + "ordered-float", "parking_lot", "profiling", "range-alloc", @@ -5713,7 +5809,7 @@ dependencies = [ "renderdoc-sys", "rustc-hash", "smallvec 1.13.2", - "thiserror", + "thiserror 2.0.12", "wasm-bindgen", "web-sys", "wgpu-types", @@ -5723,12 +5819,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.6.0", + "bitflags 2.9.0", "js-sys", + "log", + "serde", "web-sys", ] @@ -6072,18 +6170,18 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winit" -version = "0.30.4" +version = "0.30.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4225ddd8ab67b8b59a2fee4b34889ebf13c0460c1c3fa297c58e21eb87801b33" +checksum = "b0d05bd8908e14618c9609471db04007e644fd9cce6529756046cfc577f9155e" dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.6.0", + "bitflags 2.9.0", "block2", "bytemuck", "calloop", - "cfg_aliases 0.2.1", + "cfg_aliases", "concurrent-queue", "core-foundation 0.9.4", "core-graphics", @@ -6140,6 +6238,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.0", +] + [[package]] name = "x11-dl" version = "2.21.0" @@ -6184,7 +6291,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.9.0", "dlib", "log", "once_cell", @@ -6205,15 +6312,15 @@ checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "yazi" -version = "0.1.6" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" +checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" [[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" diff --git a/Cargo.toml b/Cargo.toml index b763390..d069bf1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,9 +9,10 @@ license = "MIT OR Apache-2.0" repository = "https://github.com/nixon-voxell/bevy_motion_matching" [workspace.dependencies] -bevy = { version = "0.15", features = ["asset_processor"] } -bevy_gltf = "0.15" -bevy_egui = "0.33" +bevy = { version = "0.16", features = ["asset_processor"] } +bevy_gltf = "0.16" +bevy_egui = "0.34" +bevy_platform = "0.16" serde_json = "1.0" serde = "1.0" bvh_anim = "0.4" @@ -43,23 +44,24 @@ bevy_bvh_anim = { path = "crates/bevy_bvh_anim" } bevy = { workspace = true } bevy_gltf = { workspace = true } bevy_egui = { workspace = true } +bevy_platform = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } egui_extras = "0.31.1" -egui_plot = "0.31.0" -leafwing-input-manager = "0.16.0" +egui_plot = "0.32.1" +leafwing-input-manager = "0.17" # Debug editor (run with debug feature to enable it) -bevy-inspector-egui = { version = "0.29", optional = true } +bevy-inspector-egui = { version = "0.31", optional = true } kdtree = "0.7.0" peak_alloc = "0.2.1" clustering = "0.2.1" csv = "1.3.0" [dev-dependencies] -bevy-inspector-egui = { version = "0.29" } +bevy-inspector-egui = { version = "0.31" } [lints] workspace = true diff --git a/crates/bevy_bvh_anim/src/lib.rs b/crates/bevy_bvh_anim/src/lib.rs index 45054db..96d7bc8 100644 --- a/crates/bevy_bvh_anim/src/lib.rs +++ b/crates/bevy_bvh_anim/src/lib.rs @@ -26,7 +26,6 @@ pub trait FrameExt { } impl FrameExt for Frame { - #[must_use] fn get_pos_rot(&self, joint_data: &JointData) -> (Vec3, Quat) { let mut pos = Vec3::ZERO; let mut euler = Vec3::ZERO; @@ -52,7 +51,6 @@ impl FrameExt for Frame { ) } - #[must_use] fn get_pos(&self, joint_data: &JointData) -> Vec3 { let mut pos = Vec3::ZERO; @@ -72,7 +70,6 @@ impl FrameExt for Frame { pos } - #[must_use] fn get_rot(&self, joint_data: &JointData) -> Quat { let mut euler = Vec3::ZERO; diff --git a/src/bvh_manager/bvh_gizmos.rs b/src/bvh_manager/bvh_gizmos.rs index 778074b..49dc74f 100644 --- a/src/bvh_manager/bvh_gizmos.rs +++ b/src/bvh_manager/bvh_gizmos.rs @@ -72,7 +72,7 @@ fn armature_gizmos( } if let Ok(children) = q_children.get(parent) { - for &child in children.iter() { + for child in children.iter() { if let Ok(transform) = q_transforms.get(child) { let child_translation = transform.translation(); @@ -99,7 +99,7 @@ fn armature_gizmos( } } - if let Ok((entity, transform)) = q_character.get_single() { + if let Ok((entity, transform)) = q_character.single() { recursive_draw( 0, entity, diff --git a/src/bvh_manager/bvh_library.rs b/src/bvh_manager/bvh_library.rs index 1837a05..41b75df 100644 --- a/src/bvh_manager/bvh_library.rs +++ b/src/bvh_manager/bvh_library.rs @@ -1,7 +1,8 @@ use std::{fs, path::PathBuf, str::FromStr}; -use bevy::{prelude::*, utils::HashSet}; +use bevy::prelude::*; use bevy_bvh_anim::prelude::*; +use bevy_platform::collections::HashSet; pub const BVH_FOLDER: &str = "bvh"; pub const BVH_MAP_FOLDER: &str = "bvh_map"; diff --git a/src/bvh_manager/bvh_player.rs b/src/bvh_manager/bvh_player.rs index d056915..9f1e8b3 100644 --- a/src/bvh_manager/bvh_player.rs +++ b/src/bvh_manager/bvh_player.rs @@ -1,7 +1,7 @@ use bevy::{ asset::{DependencyLoadState, LoadState, RecursiveDependencyLoadState}, + platform::collections::HashMap, prelude::*, - utils::hashbrown::HashMap, }; use bevy_bvh_anim::{bvh_anim::ChannelType, prelude::*}; @@ -35,7 +35,7 @@ fn generate_bone_map( server: Res, mut asset_loaded: Local, ) { - let Ok((entity, scene_root)) = q_character.get_single() else { + let Ok((entity, scene_root)) = q_character.single() else { return; }; @@ -64,7 +64,7 @@ fn generate_bone_map( q_transforms: &Query<&Transform>, ) { if let Ok(children) = q_children.get(parent) { - for &child in children.iter() { + for child in children.iter() { for _ in 0..indent { print!("| "); } diff --git a/src/camera.rs b/src/camera.rs index 91d8617..f09696b 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -188,7 +188,7 @@ fn pan_orbit_camera( { if is_focus { camera_focus.clear(); - } else if let Ok(entity) = q_main_scene.get_single() { + } else if let Ok(entity) = q_main_scene.single() { camera_focus.set(entity); } } diff --git a/src/motion/motion_player.rs b/src/motion/motion_player.rs index df101d6..000e994 100644 --- a/src/motion/motion_player.rs +++ b/src/motion/motion_player.rs @@ -73,7 +73,7 @@ fn _test( // if input.just_pressed(KeyCode::Space) { // for entity in q_entities.iter() { - // jump_evw.send(JumpToPose { + // jump_evw.write(JumpToPose { // motion_pose: MotionPose { // chunk_index: 0, // time: 3.0, diff --git a/src/motion_matching.rs b/src/motion_matching.rs index 8ee367b..57d0651 100644 --- a/src/motion_matching.rs +++ b/src/motion_matching.rs @@ -91,7 +91,7 @@ fn flow( let index = motion_player.target_pair_index(); let Some(traj_pose) = &traj_pose_pair[index] else { // Find a new animation to play. - traj_match_evw.send(TrajectoryMatch(entity)); + traj_match_evw.write(TrajectoryMatch(entity)); continue; }; @@ -101,7 +101,7 @@ fn flow( continue; } false => { - pred_match_evw.send(PredictionMatch { + pred_match_evw.write(PredictionMatch { motion_pose: *traj_pose.motion_pose(), entity, }); @@ -154,7 +154,7 @@ fn prediction_match( trajectory_data.get_chunk(pred_match.chunk_index), pose_data.is_chunk_loopable(pred_match.chunk_index), ) else { - traj_match_evw.send(TrajectoryMatch(pred_match.entity)); + traj_match_evw.write(TrajectoryMatch(pred_match.entity)); continue; }; @@ -163,7 +163,7 @@ fn prediction_match( match loopable { true => chunk_offset = 0, false => { - traj_match_evw.send(TrajectoryMatch(pred_match.entity)); + traj_match_evw.write(TrajectoryMatch(pred_match.entity)); continue; } } @@ -186,7 +186,7 @@ fn prediction_match( .collect::>(); if traj.distance(&data_traj) > match_config.pred_match_threshold { - traj_match_evw.send(TrajectoryMatch(pred_match.entity)); + traj_match_evw.write(TrajectoryMatch(pred_match.entity)); } } } @@ -301,7 +301,7 @@ fn trajectory_match( / runs as f64; motion_matching_result.matching_result.runs = runs; - nearest_trajectories_evw.send(NearestTrajectories { + nearest_trajectories_evw.write(NearestTrajectories { trajectories: nearest_trajs, entity, }); @@ -378,7 +378,7 @@ fn pose_match( motion_matching_result.selected_trajectory = best_traj_index; let best_traj = &trajs[best_traj_index]; - jump_evw.send(JumpToPose { + jump_evw.write(JumpToPose { motion_pose: MotionPose { chunk_index: best_traj.chunk_index, time: motion_asset diff --git a/src/motion_matching/kdtree_match.rs b/src/motion_matching/kdtree_match.rs index 40f41e9..25bc0d7 100644 --- a/src/motion_matching/kdtree_match.rs +++ b/src/motion_matching/kdtree_match.rs @@ -152,7 +152,7 @@ fn trajectory_match_with_kdtree( / runs as f64; motion_matching_result.matching_result.runs = runs; - nearest_trajectories_evw.send(NearestTrajectories { + nearest_trajectories_evw.write(NearestTrajectories { trajectories: nearest_trajs, entity, }); diff --git a/src/motion_matching/kmeans_match.rs b/src/motion_matching/kmeans_match.rs index 0ad4a68..7f2e4ab 100644 --- a/src/motion_matching/kmeans_match.rs +++ b/src/motion_matching/kmeans_match.rs @@ -198,7 +198,7 @@ fn trajectory_match_with_kmeans( motion_matching_result.matching_result.runs = runs; nearest_trajs.sort_by(|t0, t1| t0.distance.total_cmp(&t1.distance)); - nearest_trajectories_evw.send(NearestTrajectories { + nearest_trajectories_evw.write(NearestTrajectories { trajectories: nearest_trajs, entity, }); diff --git a/src/player.rs b/src/player.rs index c0276a2..9a6c5e0 100644 --- a/src/player.rs +++ b/src/player.rs @@ -101,7 +101,10 @@ fn movement_direction( if **run_preset_direction { return; } - let camera_transform = q_camera.single(); + let Ok(camera_transform) = q_camera.single() else { + return; + }; + let mut action_axis = action .clamped_axis_pair(&PlayerAction::Walk) .normalize_or_zero(); diff --git a/src/ui.rs b/src/ui.rs index 99ecb23..d704a56 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -24,7 +24,9 @@ impl Plugin for UiPlugin { #[cfg(feature = "debug")] app.add_plugins(WorldInspectorPlugin::new()); #[cfg(not(feature = "debug"))] - app.add_plugins(EguiPlugin); + app.add_plugins(EguiPlugin { + enable_multipass_for_primary_context: true, + }); app.init_resource::() .init_resource::() @@ -95,7 +97,7 @@ fn right_panel( if ui.button("Reset Player").clicked() { let mut evw_reset_player = reset_player.get_mut(world); - evw_reset_player.send(ResetPlayer); + evw_reset_player.write(ResetPlayer); } egui::ScrollArea::vertical().show(ui, |ui| match *page { diff --git a/src/ui/builder.rs b/src/ui/builder.rs index f333bed..7f93858 100644 --- a/src/ui/builder.rs +++ b/src/ui/builder.rs @@ -2,9 +2,9 @@ use std::io::Write; use bevy::ecs::system::SystemState; use bevy::prelude::*; -use bevy::utils::{HashMap, HashSet}; use bevy_bvh_anim::prelude::*; use bevy_egui::egui; +use bevy_platform::collections::{HashMap, HashSet}; use crate::bvh_manager::bvh_library::BvhLibrary; use crate::motion::motion_asset::MotionAsset; diff --git a/src/ui/config.rs b/src/ui/config.rs index 8556eea..51282fc 100644 --- a/src/ui/config.rs +++ b/src/ui/config.rs @@ -120,7 +120,7 @@ fn bvh_trail_config(ui: &mut egui::Ui, world: &mut World) { fn show_character_checkbox(ui: &mut egui::Ui, world: &mut World) { let mut q_main_scene = world.query_filtered::<&mut Visibility, With>(); - let Ok(mut main_scene_vis) = q_main_scene.get_single_mut(world) else { + let Ok(mut main_scene_vis) = q_main_scene.single_mut(world) else { return; }; @@ -144,7 +144,7 @@ fn draw_trajectory_checkbox(ui: &mut egui::Ui, world: &mut World) { fn show_ground_checkbox(ui: &mut egui::Ui, world: &mut World) { let mut q_ground = world.query_filtered::<&mut Visibility, With>(); - let Ok(mut vis) = q_ground.get_single_mut(world) else { + let Ok(mut vis) = q_ground.single_mut(world) else { return; }; diff --git a/src/ui/play_mode.rs b/src/ui/play_mode.rs index 4b2d899..95391a9 100644 --- a/src/ui/play_mode.rs +++ b/src/ui/play_mode.rs @@ -188,20 +188,20 @@ fn trajectory_matching_visualization(ui: &mut egui::Ui, world: &mut World) { // Asset data's trajectory. let data_traj_arrows = Arrows::new( + "Data Trajectory (Matched)", PlotPoints::from_iter(data_traj[..data_traj.len() - 2].iter().cloned()), PlotPoints::from_iter(data_traj[1..].iter().cloned()), ) - .color(Color32::LIGHT_YELLOW) - .name("Data Trajectory (Matched)"); + .color(Color32::LIGHT_YELLOW); // Entity's trajectory. if traj_plot.len() >= 2 { let traj_arrows = Arrows::new( + "Trajectory", PlotPoints::from_iter(traj_plot[..traj_plot.len() - 2].iter().cloned()), PlotPoints::from_iter(traj_plot[1..].iter().cloned()), ) - .color(Color32::LIGHT_BLUE) - .name("Trajectory"); + .color(Color32::LIGHT_BLUE); // Plot the graph. Plot::new("trajectory_match_viz") @@ -214,12 +214,12 @@ fn trajectory_matching_visualization(ui: &mut egui::Ui, world: &mut World) { .show(ui, |plot_ui| { // x-axis plot_ui.line( - Line::new(PlotPoints::from_iter([[0.0, 0.0], [0.2, 0.0]])) + Line::new("X", PlotPoints::from_iter([[0.0, 0.0], [0.2, 0.0]])) .color(Color32::RED), ); // y-axis plot_ui.line( - Line::new(PlotPoints::from_iter([[0.0, 0.0], [0.0, 0.2]])) + Line::new("Y", PlotPoints::from_iter([[0.0, 0.0], [0.0, 0.2]])) .color(Color32::GREEN), ); plot_ui.arrows(data_traj_arrows); diff --git a/src/visualization.rs b/src/visualization.rs index 892f445..ab8319f 100644 --- a/src/visualization.rs +++ b/src/visualization.rs @@ -49,7 +49,7 @@ fn draw_nearest_traj_arrow( return; }; - let Ok(player_transform) = q_player_transform.get_single() else { + let Ok(player_transform) = q_player_transform.single() else { return; }; @@ -130,7 +130,7 @@ fn draw_nearest_pose_armature( return; }; - let Ok(player_transform) = q_player_transform.get_single() else { + let Ok(player_transform) = q_player_transform.single() else { return; }; From 1d186dae72a83d1d7395cba03390454c48d64d17 Mon Sep 17 00:00:00 2001 From: Steveplays28 Date: Tue, 13 May 2025 15:48:20 +0200 Subject: [PATCH 2/6] fix: :bug: Fix crash due to the UI side panel being updated in the wrong schedule --- src/ui.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ui.rs b/src/ui.rs index d704a56..3c0667e 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -1,7 +1,7 @@ use bevy::{ecs::system::SystemState, prelude::*}; use bevy_egui::{ egui::{self, Color32}, - EguiContexts, + EguiContextPass, EguiContexts, }; #[cfg(not(feature = "debug"))] @@ -38,7 +38,7 @@ impl Plugin for UiPlugin { .init_resource::() .init_resource::() .add_systems(PreUpdate, reset_mouse_in_ui) - .add_systems(Update, right_panel.in_set(UiSystemSet)); + .add_systems(EguiContextPass, right_panel.in_set(UiSystemSet)); } } From 25cd9a9ff43e9db6755975909f636dfad1322246 Mon Sep 17 00:00:00 2001 From: Steveplays28 Date: Tue, 13 May 2025 15:51:33 +0200 Subject: [PATCH 3/6] refactor: :recycle: Re-add `#[must_use]` on `FrameExt` trait method definitions --- crates/bevy_bvh_anim/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/bevy_bvh_anim/src/lib.rs b/crates/bevy_bvh_anim/src/lib.rs index 96d7bc8..bc8c303 100644 --- a/crates/bevy_bvh_anim/src/lib.rs +++ b/crates/bevy_bvh_anim/src/lib.rs @@ -18,10 +18,13 @@ pub mod joint_matrices; pub mod joint_traits; pub trait FrameExt { + #[must_use] fn get_pos_rot(&self, joint_data: &JointData) -> (Vec3, Quat); + #[must_use] fn get_pos(&self, joint_data: &JointData) -> Vec3; + #[must_use] fn get_rot(&self, joint_data: &JointData) -> Quat; } From be2ac9ea82298e5032c6afed5c1f8d6925d00cf6 Mon Sep 17 00:00:00 2001 From: Steveplays28 Date: Tue, 13 May 2025 16:07:26 +0200 Subject: [PATCH 4/6] fix: :bug: Fix panic on window close --- src/ui.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ui.rs b/src/ui.rs index 3c0667e..10ea14c 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -76,12 +76,14 @@ fn right_panel( reset_player: &mut SystemState>, ) { let (mut contexts, mut page) = params.get_mut(world); - - let ctx = contexts.ctx_mut().clone(); + let Some(context) = contexts.try_ctx_mut() else { + return; + }; + let context = context.clone(); egui::SidePanel::left("left_panel") .resizable(true) - .show(&ctx, |ui| { + .show(&context, |ui| { ui.add_space(10.0); ui.horizontal(|ui| { if ui.button("Config").clicked() { @@ -110,7 +112,7 @@ fn right_panel( }); }); - if ctx.is_pointer_over_area() { + if context.is_pointer_over_area() { let mut mouse_in_ui = world.resource_mut::(); mouse_in_ui.set_is_inside(); } From 99f490ca0f9fd3c5d76bbdaf0f63eab2d6ace23e Mon Sep 17 00:00:00 2001 From: Steveplays28 Date: Tue, 13 May 2025 16:08:14 +0200 Subject: [PATCH 5/6] fix: :bug: Fix Peak Alloc panic --- Cargo.lock | 3 +-- Cargo.toml | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ae070c6..63e37bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4154,8 +4154,7 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "peak_alloc" version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c4e8e2dd832fd76346468f822e4e600d30ba4e5aa545a128abf12cfae7ea3e" +source = "git+https://github.com/Steveplays28/peak_alloc?branch=fix-usize-overflow#4054fdbbc56940759362566f69f97c2e8c759cd0" [[package]] name = "percent-encoding" diff --git a/Cargo.toml b/Cargo.toml index d069bf1..8b41d20 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [workspace] resolver = "2" -members = ["crates/*", ] +members = ["crates/*"] [workspace.package] version = "0.1.0" @@ -56,7 +56,7 @@ leafwing-input-manager = "0.17" # Debug editor (run with debug feature to enable it) bevy-inspector-egui = { version = "0.31", optional = true } kdtree = "0.7.0" -peak_alloc = "0.2.1" +peak_alloc = { git = "https://github.com/Steveplays28/peak_alloc", branch = "fix-usize-overflow" } clustering = "0.2.1" csv = "1.3.0" From 0d588a41da72daa06e9c98e825275ade22e76ba7 Mon Sep 17 00:00:00 2001 From: Steveplays28 Date: Tue, 13 May 2025 16:12:12 +0200 Subject: [PATCH 6/6] docs: :memo: Add development information to the readme --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index eb3f00f..03d8e62 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ Motion matching enables characters to smoothly transition between animations by finding the best matching pose and trajectory from an extensive database, without the need to create state machines. Gameplay logic can be embedded side by side with motion matching by querying animations with the desired attributes. +## Showcase + ### Configuration ![config](./.github/assets/config.png) @@ -16,6 +18,29 @@ Gameplay logic can be embedded side by side with motion matching by querying ani ![play-mode](./.github/assets/play-mode.png) +## Development + +### Prerequisites + +- Rust + - MSRV: v1.85.0 +- Cargo +- Linux: [Bevy dependencies](https://github.com/bevyengine/bevy/blob/main/docs/linux_dependencies.md) +- Optional, for the Visual Studio Code `start` task: `cargo-watch` + - `cargo install cargo-watch` or `cargo binstall cargo-watch` + +### Building + +```bash +cargo build +``` + +### Running + +```bash +cargo run --features bevy/dynamic_linking +``` + ## Reference - [Learned Motion Matching](https://static-wordpress.ubisoft.com/montreal.ubisoft.com/wp-content/uploads/2020/07/09154101/Learned_Motion_Matching.pdf)