diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 58f3a51..806cdc0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,4 +44,7 @@ jobs: - name: Tests run: | - cargo test + cargo test --lib shared --no-default-features --features client + cargo test --lib shared --no-default-features --features server + cargo test --bin hedz_reloaded --no-default-features --features shared/client + cargo test --bin server --no-default-features --features shared/server diff --git a/Cargo.lock b/Cargo.lock index 4174305..6a24e14 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,9 +20,9 @@ checksum = "b2187590a23ab1e3df8681afdf0987c48504d80291f002fcdb651f0ef5e25169" [[package]] name = "accesskit" -version = "0.18.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "becf0eb5215b6ecb0a739c31c21bd83c4f326524c9b46b7e882d77559b60a529" +checksum = "cf203f9d3bd8f29f98833d1fbef628df18f759248a547e7e01cfbf63cda36a99" dependencies = [ "enumn", "serde", @@ -30,20 +30,19 @@ dependencies = [ [[package]] name = "accesskit_consumer" -version = "0.27.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0bf66a7bf0b7ea4fd7742d50b64782a88f99217cf246b3f93b4162528dde520" +checksum = "bdd06f5fea9819250fffd4debf926709f3593ac22f8c1541a2573e5ee0ca01cd" dependencies = [ "accesskit", "hashbrown 0.15.4", - "immutable-chunkmap", ] [[package]] name = "accesskit_macos" -version = "0.19.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09e230718177753b4e4ad9e1d9f6cfc2f4921212d4c1c480b253f526babb258d" +checksum = "93fbaf15815f39084e0cb24950c232f0e3634702c2dfbf182ae3b4919a4a1d45" dependencies = [ "accesskit", "accesskit_consumer", @@ -55,24 +54,23 @@ dependencies = [ [[package]] name = "accesskit_windows" -version = "0.25.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65178f3df98a51e4238e584fcb255cb1a4f9111820848eeddd37663be40a625f" +checksum = "792991159fa9ba57459de59e12e918bb90c5346fea7d40ac1a11f8632b41e63a" dependencies = [ "accesskit", "accesskit_consumer", "hashbrown 0.15.4", - "paste", "static_assertions", - "windows 0.58.0", - "windows-core 0.58.0", + "windows 0.61.3", + "windows-core 0.61.2", ] [[package]] name = "accesskit_winit" -version = "0.25.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d941bb8c414caba6e206de669c7dc0dbeb305640ea890772ee422a40e6b89f" +checksum = "cd9db0ea66997e3f4eae4a5f2c6b6486cf206642639ee629dbbb860ace1dec87" dependencies = [ "accesskit", "accesskit_macos", @@ -108,9 +106,9 @@ dependencies = [ [[package]] name = "aeronet_io" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e134b14c8fa623e55c24e047abf185f180dc076c89499235a57e9f1d75600b76" +checksum = "10fd12c8d1f4949bc06329c0d358c57f55953830111748bfb998121bf738a984" dependencies = [ "anyhow", "bevy_app", @@ -118,15 +116,15 @@ dependencies = [ "bevy_platform", "bevy_reflect", "bytes", - "derive_more 2.0.1", + "derive_more", "log", ] [[package]] name = "aeronet_steam" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19982a08403545f4f8f462e2ff12cf2aeaf0c10980a96e82704cefae938df280" +checksum = "f90b2cb304473ed9da08a74066d75347e976432529e947585b0bae1e274b317e" dependencies = [ "aeronet_io", "anyhow", @@ -135,18 +133,18 @@ dependencies = [ "bevy_platform", "blocking", "bytes", - "derive_more 2.0.1", + "derive_more", "oneshot", - "steamworks 0.12.2", + "steamworks", "sync_wrapper", "tracing", ] [[package]] name = "aeronet_websocket" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f370349279eafa2fcd1e195918dba2f65934f2107ac7eb9fab4d503b1e53544" +checksum = "b41cd2aeaa0d4a7b699132c8d4ff99aec043181e0678fa0e1bffc9a4618e8763" dependencies = [ "aeronet_io", "bevy_app", @@ -154,7 +152,7 @@ dependencies = [ "bevy_platform", "bytes", "cfg-if", - "derive_more 2.0.1", + "derive_more", "futures", "js-sys", "rcgen", @@ -171,9 +169,9 @@ dependencies = [ [[package]] name = "aeronet_webtransport" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c9f0dd0b75f47b0d8ba48eb2dd5b9d44d88e4e6a2a5d6afa305f8bef2169d5" +checksum = "b3bd1516ba16702fffbd372370ce9e1dd1b74d15c4038330d437cad6c0ba4d84" dependencies = [ "aeronet_io", "anyhow", @@ -184,7 +182,7 @@ dependencies = [ "bevy_reflect", "bytes", "cfg-if", - "derive_more 2.0.1", + "derive_more", "futures", "gloo-timers", "js-sys", @@ -222,15 +220,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "aligned-vec" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b" -dependencies = [ - "equator", -] - [[package]] name = "allocator-api2" version = "0.2.21" @@ -372,12 +361,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "arbitrary" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" - [[package]] name = "arboard" version = "3.6.0" @@ -398,17 +381,6 @@ dependencies = [ "x11rb", ] -[[package]] -name = "arg_enum_proc_macro" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "arrayref" version = "0.3.9" @@ -580,26 +552,13 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" -[[package]] -name = "av1-grain" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8" -dependencies = [ - "anyhow", - "arrayvec", - "log", - "nom", - "num-rational", - "v_frame", -] - [[package]] name = "avian2d" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7133547d9cc068d527d91fdcb8c8017c89b26ce05dbd30daef9f1ca64824495d" +checksum = "9a09520bf5896787549454bfefee896fd24cca34ec0ce4c7d9c00b6402322edf" dependencies = [ + "approx", "arrayvec", "avian_derive", "bevy", @@ -607,30 +566,41 @@ dependencies = [ "bevy_math", "bevy_transform_interpolation", "bitflags 2.9.1", - "derive_more 1.0.0", + "derive_more", + "disqualified", + "glam_matrix_extras", "itertools 0.13.0", "nalgebra", "parry2d", + "slab", + "smallvec", + "thiserror 2.0.12", ] [[package]] name = "avian3d" -version = "0.3.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0feaf6ed522e3e55130d820bfa2a3f3395092cbee2c986cfc1a464b60b50b4ca" +checksum = "e09c07567e520b22bd6890a055877cd584fc3fd4317e4a0ba599f4833a4b61bc" dependencies = [ + "approx", "avian_derive", "bevy", "bevy_heavy", "bevy_math", "bevy_transform_interpolation", "bitflags 2.9.1", - "derive_more 1.0.0", + "derive_more", + "disqualified", + "glam_matrix_extras", "itertools 0.13.0", "nalgebra", "parry3d", "parry3d-f64", "serde", + "slab", + "smallvec", + "thiserror 2.0.12", "thread_local", ] @@ -646,15 +616,6 @@ dependencies = [ "syn", ] -[[package]] -name = "avif-serialize" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ea8ef51aced2b9191c08197f55450d830876d9933f8f48a429b354f1d496b42" -dependencies = [ - "arrayvec", -] - [[package]] name = "aws-lc-rs" version = "1.14.1" @@ -671,7 +632,7 @@ version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee74396bee4da70c2e27cf94762714c911725efe69d9e2672f998512a67a4ce4" dependencies = [ - "bindgen 0.72.0", + "bindgen", "cc", "cmake", "dunce", @@ -714,29 +675,32 @@ checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bevy" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8369c16b7c017437021341521f8b4a0d98e1c70113fb358c3258ae7d661d79" +checksum = "342f7e9335416dc98642d5747c4ed8a6ad9f7244a36d5b2b7a1b7910e4d8f524" dependencies = [ "bevy_internal", ] [[package]] name = "bevy-inspector-egui" -version = "0.31.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4971e763f289921fd4616418628458bec26a6fc13fe4299c0e4066f39d7ceaa2" +checksum = "c0d5b2dcce63a8f20cc5df7ec28630a7a8124a9210dfa3bb4e4636dae67731fe" dependencies = [ "bevy-inspector-egui-derive", "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", "bevy_core_pipeline", "bevy_ecs", "bevy_egui", "bevy_image", + "bevy_light", "bevy_log", "bevy_math", + "bevy_mesh", "bevy_pbr", "bevy_platform", "bevy_reflect", @@ -750,6 +714,7 @@ dependencies = [ "egui", "fuzzy-matcher", "image", + "opener", "smallvec", "uuid", "winit", @@ -757,9 +722,9 @@ dependencies = [ [[package]] name = "bevy-inspector-egui-derive" -version = "0.31.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2656316165dbe2af6b3acaa763332f5dbdd12f809d59f5bf4304e0642a8005c9" +checksum = "428bb0621707f70099d4697516ea17c16cc0a215253540119cbec4d2f97a24be" dependencies = [ "proc-macro2", "quote", @@ -768,31 +733,20 @@ dependencies = [ [[package]] name = "bevy-steamworks" -version = "0.13.0" -source = "git+https://github.com/HouraiTeahouse/bevy_steamworks.git?rev=1933e5d#1933e5d841cabe7d3649aa9665d13498e487aef2" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "337bd586c459365734d261253adf0b6f526cc932464c2c9c8465b66f7801bb5e" dependencies = [ "bevy_app", "bevy_ecs", - "bevy_log", - "bevy_utils", - "steamworks 0.11.0", -] - -[[package]] -name = "bevy-ui-gradients" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e2cf7ddce7d6f0b28a4176237bc243ce9b984f97f0af96a8d1b5f4d19bfdb74" -dependencies = [ - "bevy", - "bytemuck", + "steamworks", ] [[package]] name = "bevy_a11y" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3561712cf49074d89e9989bfc2e6c6add5d33288f689db9a0c333300d2d004" +checksum = "3917cd35096fb2fe176632740b68a4b53cb61006cfff13d66ef47ee2c2478d53" dependencies = [ "accesskit", "bevy_app", @@ -803,31 +757,39 @@ dependencies = [ ] [[package]] -name = "bevy_animation" -version = "0.16.1" +name = "bevy_android" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49796627726d0b9a722ad9a0127719e7c1868f474d6575ec0f411e8299c4d7bb" +checksum = "c2a9dd9488c77fa2ea31b5da2f978aab7f1cc82e6d2c3be0adf637d9fd7cb6c8" dependencies = [ + "android-activity", +] + +[[package]] +name = "bevy_animation" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00d2eadb9c20d87ab3a5528a8df483492d5b8102d3f2d61c7b1ed23f40a79166" +dependencies = [ + "bevy_animation_macros", "bevy_app", "bevy_asset", "bevy_color", "bevy_derive", "bevy_ecs", - "bevy_log", "bevy_math", "bevy_mesh", "bevy_platform", "bevy_reflect", - "bevy_render", "bevy_time", "bevy_transform", "bevy_utils", "blake3", - "derive_more 1.0.0", + "derive_more", "downcast-rs 2.0.1", "either", "petgraph", - "ron", + "ron 0.10.1", "serde", "smallvec", "thiserror 2.0.12", @@ -837,10 +799,43 @@ dependencies = [ ] [[package]] -name = "bevy_app" -version = "0.16.1" +name = "bevy_animation_macros" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4491cc4c718ae76b4c6883df58b94cc88b32dcd894ea8d5b603c7c7da72ca967" +checksum = "aec80b84926f730f6df81b9bc07255c120f57aaf7ac577f38d12dd8e1a0268ad" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn", +] + +[[package]] +name = "bevy_anti_alias" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38c1adb85fe0956d6c3b6f90777b829785bb7e29a48f58febeeefd2bad317713" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_utils", + "tracing", +] + +[[package]] +name = "bevy_app" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f582409b4ed3850d9b66ee94e71a0e2c20e7068121d372530060c4dfcba66fa" dependencies = [ "bevy_derive", "bevy_ecs", @@ -861,14 +856,15 @@ dependencies = [ [[package]] name = "bevy_asset" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f56111d9b88d8649f331a667d9d72163fb26bd09518ca16476d238653823db1e" +checksum = "9e6ee42e74a64a46ab91bd1c0155f8abe5b732bdb948a9b26e541456cc7940e5" dependencies = [ "async-broadcast", "async-fs", "async-lock", "atomicow", + "bevy_android", "bevy_app", "bevy_asset_macros", "bevy_ecs", @@ -876,11 +872,10 @@ dependencies = [ "bevy_reflect", "bevy_tasks", "bevy_utils", - "bevy_window", "bitflags 2.9.1", "blake3", "crossbeam-channel", - "derive_more 1.0.0", + "derive_more", "disqualified", "downcast-rs 2.0.1", "either", @@ -888,7 +883,7 @@ dependencies = [ "futures-lite", "js-sys", "parking_lot", - "ron", + "ron 0.10.1", "serde", "stackfuture", "thiserror 2.0.12", @@ -901,21 +896,28 @@ dependencies = [ [[package]] name = "bevy_asset_loader" -version = "0.23.0" +version = "0.24.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653857e8685ba3c6f237a7aa67620ae440c87e975f8a843ef098c90c49b9dde6" +checksum = "e56df6f9fe3d4fd545e5f589425f335e0fad791d2a4fb88ba13ffab19d847ab7" dependencies = [ "anyhow", - "bevy", + "bevy_app", + "bevy_asset", "bevy_asset_loader_derive", + "bevy_ecs", + "bevy_log", + "bevy_platform", + "bevy_reflect", + "bevy_state", + "bevy_utils", "path-slash", ] [[package]] name = "bevy_asset_loader_derive" -version = "0.23.0" +version = "0.24.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea90451960d44a9908e95de892511dead119b909da68e56b92527efcfac8691" +checksum = "24f3cb09b9d0b15f5a5a914b737aee6ba3292e878dafd8f22a4e174fe06efb64" dependencies = [ "proc-macro2", "quote", @@ -924,9 +926,9 @@ dependencies = [ [[package]] name = "bevy_asset_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4cca3e67c0ec760d8889d42293d987ce5da92eaf9c592bf5d503728a63b276d" +checksum = "d03711d2c087227f64ba85dd38a99d4d6893f80d2475c2e77fb90a883760a055" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -936,17 +938,17 @@ dependencies = [ [[package]] name = "bevy_audio" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b4f6f2a5c6c0e7c6825e791d2a061c76c2d6784f114c8f24382163fabbfaaa" +checksum = "f83620c82f281848c02ed4b65133a0364512b4eca2b39cd21a171e50e2986d89" dependencies = [ "bevy_app", "bevy_asset", - "bevy_derive", "bevy_ecs", "bevy_math", "bevy_reflect", "bevy_transform", + "coreaudio-sys", "cpal", "rodio", "tracing", @@ -954,23 +956,48 @@ dependencies = [ [[package]] name = "bevy_ballistic" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "856e5ed7691e67e910dcec97464b67d4e68db7b07fbda49085f99311d487a20b" +version = "0.5.0" +source = "git+https://github.com/rustunit/bevy_ballistic.git?rev=b08ffec#b08ffec06cc3b8a01528ad8d0a9bd7474ac9f065" dependencies = [ "bevy_math", ] [[package]] -name = "bevy_color" -version = "0.16.2" +name = "bevy_camera" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c101cbe1e26b8d701eb77263b14346e2e0cbbd2a6e254b9b1aead814e5ca8d3" +checksum = "b70d79ccbd8bfefc79f33a104dfd82ae2f5276ce04d6df75787bfa3edc4c4c1a" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "bevy_window", + "derive_more", + "downcast-rs 2.0.1", + "serde", + "smallvec", + "thiserror 2.0.12", + "wgpu-types", +] + +[[package]] +name = "bevy_color" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94dc78477c1c208c0cd221c64e907aba8ba165f39bebb72adc6180e1a13e8938" dependencies = [ "bevy_math", "bevy_reflect", "bytemuck", - "derive_more 1.0.0", + "derive_more", "encase", "serde", "thiserror 2.0.12", @@ -979,43 +1006,42 @@ dependencies = [ [[package]] name = "bevy_common_assets" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a18527525acb0a131ecad38eecbd0e578aefb55959304a37ab44b474b67734b" +checksum = "bf2d95660d90ec38e1259afa5fe95c5b9f72d822d4dfd2dbfa6ef4c176d3078f" dependencies = [ "anyhow", "bevy", "csv", - "ron", + "ron 0.11.0", "serde", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "bevy_core_pipeline" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed46363cad80dc00f08254c3015232bd6f640738403961c6d63e7ecfc61625" +checksum = "0c866a2fe33ec27a612d883223d30f1857aa852766b21a9603628735dace632f" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", "bevy_derive", - "bevy_diagnostic", "bevy_ecs", "bevy_image", "bevy_math", "bevy_platform", "bevy_reflect", "bevy_render", + "bevy_shader", "bevy_transform", "bevy_utils", "bevy_window", "bitflags 2.9.1", - "bytemuck", "nonmax", "radsort", - "serde", "smallvec", "thiserror 2.0.12", "tracing", @@ -1023,9 +1049,8 @@ dependencies = [ [[package]] name = "bevy_debug_log" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "482fafd097f56f789a533bddd39011c25e75b379b5e44b898acfe6912aa66291" +version = "0.7.0" +source = "git+https://github.com/rustunit/bevy_debug_log.git?rev=86051a0#86051a018549a827b615812572225124e0477f1a" dependencies = [ "bevy", "bevy_input", @@ -1037,9 +1062,9 @@ dependencies = [ [[package]] name = "bevy_derive" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b837bf6c51806b10ebfa9edf1844ad80a3a0760d6c5fac4e90761df91a8901a" +checksum = "b8c733807158f8fcac68e23222e69ed91a6492ae9410fc2c145b9bb182cfd63e" dependencies = [ "bevy_macro_utils", "quote", @@ -1048,16 +1073,16 @@ dependencies = [ [[package]] name = "bevy_diagnostic" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48797366f312a8f31e237d08ce3ee70162591282d2bfe7c5ad8be196fb263e55" +checksum = "f12fa32312818c08aa4035bebe9fb3f62aaf7efae33688e718dd6ee6c0147493" dependencies = [ + "atomic-waker", "bevy_app", "bevy_ecs", "bevy_platform", "bevy_tasks", "bevy_time", - "bevy_utils", "const-fnv1a-hash", "log", "serde", @@ -1066,9 +1091,9 @@ dependencies = [ [[package]] name = "bevy_ecs" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c2bf6521aae57a0ec3487c4bfb59e36c4a378e834b626a4bea6a885af2fdfe7" +checksum = "69d929d32190cfcde6efd2df493601c4dbc18a691fd9775a544c951c3c112e1a" dependencies = [ "arrayvec", "bevy_ecs_macros", @@ -1080,13 +1105,13 @@ dependencies = [ "bitflags 2.9.1", "bumpalo", "concurrent-queue", - "derive_more 1.0.0", - "disqualified", + "derive_more", "fixedbitset", "indexmap", "log", "nonmax", "serde", + "slotmap", "smallvec", "thiserror 2.0.12", "variadics_please", @@ -1094,9 +1119,9 @@ dependencies = [ [[package]] name = "bevy_ecs_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38748d6f3339175c582d751f410fb60a93baf2286c3deb7efebb0878dce7f413" +checksum = "6eeddfb80a2e000663e87be9229c26b4da92bddbc06c8776bc0d1f4a7f679079" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1106,44 +1131,55 @@ dependencies = [ [[package]] name = "bevy_egui" -version = "0.34.1" +version = "0.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a3d58a8afdb6100bca50251043a85320391742cae125d559f6cca3a16b84cdd" +checksum = "9fb0e8ece8ab22670307b166a1737a64eb82d4b63e1db927994ed5cf67a55fb0" dependencies = [ "arboard", "bevy_app", "bevy_asset", + "bevy_camera", + "bevy_core_pipeline", "bevy_derive", "bevy_ecs", "bevy_image", "bevy_input", "bevy_log", "bevy_math", + "bevy_mesh", + "bevy_picking", "bevy_platform", "bevy_reflect", "bevy_render", + "bevy_shader", "bevy_time", + "bevy_transform", + "bevy_ui_render", + "bevy_utils", "bevy_window", "bevy_winit", "bytemuck", "crossbeam-channel", "egui", "encase", + "getrandom 0.3.3", "image", + "itertools 0.14.0", "js-sys", "thread_local", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webbrowser", "wgpu-types", "winit", ] [[package]] name = "bevy_encase_derive" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8148f4edee470a2ea5cad010184c492a4c94c36d7a7158ea28e134ea87f274ab" +checksum = "7449e5903594a00f007732ba232af0c527ad4e6e3d29bc3e195ec78dbd20c8b2" dependencies = [ "bevy_macro_utils", "encase_derive_impl", @@ -1151,9 +1187,9 @@ dependencies = [ [[package]] name = "bevy_enhanced_input" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce252225d74b43f7f1e6cef76258ca9c5619bde8eeb40f8355d0728c962f2fea" +checksum = "1a5b83e6193cad8ff98a226547402ae63f0ee32fb9963839d0c6d1060e479fa1" dependencies = [ "bevy", "bevy_enhanced_input_macros", @@ -1166,36 +1202,26 @@ dependencies = [ [[package]] name = "bevy_enhanced_input_macros" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ed8306506ca9c22517b5ff8ae75167fe5efad42374da47837179165091e368" +checksum = "9acf2a10e98305d234852bd60bd17fdf42c651b25f926e4985c56f19a08680d0" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "bevy_fix_gltf_coordinate_system" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d322f8addff6f04423ea6bbd4ab37a5fb08c9c14aec426bf1aae01bee128e1" -dependencies = [ - "bevy", -] - [[package]] name = "bevy_gilrs" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97efef87c631949e67d06bb5d7dfd2a5f936b3b379afb6b1485b08edbb219b87" +checksum = "28ff35087f25406006338e6d57f31f313a60f3a5e09990ab7c7b5203b0b55077" dependencies = [ "bevy_app", "bevy_ecs", "bevy_input", "bevy_platform", "bevy_time", - "bevy_utils", "gilrs", "thiserror 2.0.12", "tracing", @@ -1203,22 +1229,26 @@ dependencies = [ [[package]] name = "bevy_gizmos" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7823154a9682128c261d8bddb3a4d7192a188490075c527af04520c2f0f8aad6" +checksum = "0d3f174faa13041634060dd99f6f59c29997fd62f40252f0466c2ebea8603d4d" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", "bevy_core_pipeline", "bevy_ecs", "bevy_gizmos_macros", "bevy_image", + "bevy_light", "bevy_math", + "bevy_mesh", "bevy_pbr", "bevy_reflect", "bevy_render", - "bevy_sprite", + "bevy_shader", + "bevy_sprite_render", "bevy_time", "bevy_transform", "bevy_utils", @@ -1228,30 +1258,30 @@ dependencies = [ [[package]] name = "bevy_gizmos_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f378f3b513218ddc78254bbe76536d9de59c1429ebd0c14f5d8f2a25812131ad" +checksum = "714273aa7f285c0aaa874b7fbe37fe4e6e45355e3e6f3321aefa1b78cda259e0" dependencies = [ "bevy_macro_utils", - "proc-macro2", "quote", "syn", ] [[package]] name = "bevy_gltf" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a080237c0b8842ccc15a06d3379302c68580eeea4497b1c7387e470eda1f07" +checksum = "13d67e954b20551818f7cdb33f169ab4db64506ada66eb4d60d3cb8861103411" dependencies = [ "base64 0.22.1", "bevy_animation", "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", - "bevy_core_pipeline", "bevy_ecs", "bevy_image", + "bevy_light", "bevy_math", "bevy_mesh", "bevy_pbr", @@ -1261,7 +1291,6 @@ dependencies = [ "bevy_scene", "bevy_tasks", "bevy_transform", - "bevy_utils", "fixedbitset", "gltf", "itertools 0.14.0", @@ -1275,24 +1304,26 @@ dependencies = [ [[package]] name = "bevy_heavy" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ccc861fea2ff58c67f4df119512e204050bd7631a3a9c65e1a5e9d162cce28" +checksum = "a7c0651daa331c326e1460cb19ee5bf497ed2810982dafca8784db44725f5c4b" dependencies = [ "bevy_math", "bevy_reflect", + "glam_matrix_extras", "serde", ] [[package]] name = "bevy_image" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e6e900cfecadbc3149953169e36b9e26f922ed8b002d62339d8a9dc6129328" +checksum = "168de8239b2aedd2eeef9f76ae1909b2fdf859b11dcdb4d4d01b93f5f2c771be" dependencies = [ "bevy_app", "bevy_asset", "bevy_color", + "bevy_ecs", "bevy_math", "bevy_platform", "bevy_reflect", @@ -1314,17 +1345,16 @@ dependencies = [ [[package]] name = "bevy_input" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d6b6516433f6f7d680f648d04eb1866bb3927a1782d52f74831b62042f3cd1" +checksum = "3cf4074b2d0d6680b4deb308ded7b4e8b1b99181c0502e2632e78af815b26f01" dependencies = [ "bevy_app", "bevy_ecs", "bevy_math", "bevy_platform", "bevy_reflect", - "bevy_utils", - "derive_more 1.0.0", + "derive_more", "log", "serde", "smol_str", @@ -1333,14 +1363,15 @@ dependencies = [ [[package]] name = "bevy_input_focus" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e2d079fda74d1416e0a57dac29ea2b79ff77f420cd6b87f833d3aa29a46bc4d" +checksum = "70761eba0f616a1caa761457bff2b8ae80c9916f39d167fab8c2d5c98d2b8951" dependencies = [ "bevy_app", "bevy_ecs", "bevy_input", "bevy_math", + "bevy_picking", "bevy_reflect", "bevy_window", "log", @@ -1349,15 +1380,18 @@ dependencies = [ [[package]] name = "bevy_internal" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "857da8785678fde537d02944cd20dec9cafb7d4c447efe15f898dc60e733cacd" +checksum = "f43985739584f3a5d43026aa1edd772f064830be46c497518f05f7dfbc886bba" dependencies = [ "bevy_a11y", + "bevy_android", "bevy_animation", + "bevy_anti_alias", "bevy_app", "bevy_asset", "bevy_audio", + "bevy_camera", "bevy_color", "bevy_core_pipeline", "bevy_derive", @@ -1369,36 +1403,64 @@ dependencies = [ "bevy_image", "bevy_input", "bevy_input_focus", + "bevy_light", "bevy_log", "bevy_math", + "bevy_mesh", "bevy_pbr", "bevy_picking", "bevy_platform", + "bevy_post_process", "bevy_ptr", "bevy_reflect", "bevy_render", "bevy_scene", + "bevy_shader", "bevy_sprite", + "bevy_sprite_render", "bevy_state", "bevy_tasks", "bevy_text", "bevy_time", "bevy_transform", "bevy_ui", + "bevy_ui_render", "bevy_utils", "bevy_window", "bevy_winit", ] [[package]] -name = "bevy_log" -version = "0.16.1" +name = "bevy_light" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a61ee8aef17a974f5ca481dcedf0c2bd52670e231d4c4bc9ddef58328865f9" +checksum = "cad00ab66d1e93edb928be66606a71066f3b1cbc9f414720e290ef5361eb6237" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "tracing", +] + +[[package]] +name = "bevy_log" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae217a035714a37b779487f82edc4c7c1223f7088d7ad94054f29f524d61c51" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", + "bevy_platform", "bevy_utils", "tracing", "tracing-log", @@ -1409,22 +1471,22 @@ dependencies = [ [[package]] name = "bevy_macro_utils" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052eeebcb8e7e072beea5031b227d9a290f8a7fbbb947573ab6ec81df0fb94be" +checksum = "17dbc3f8948da58b3c17767d20fd3cd35fe4721ed19a9a3204a6f1d6c9951bdd" dependencies = [ "parking_lot", "proc-macro2", "quote", "syn", - "toml_edit", + "toml_edit 0.23.5", ] [[package]] name = "bevy_materialize" -version = "0.6.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff1a0c12cc52b1e856e1c947af8b38be511fd863f53878a959833819f9dbc46" +checksum = "2848f77a7033fb2807246c4a57767c57be3f7b5e685f9fd5fb50a9422a0f556f" dependencies = [ "bevy", "serde", @@ -1434,17 +1496,17 @@ dependencies = [ [[package]] name = "bevy_math" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68553e0090fe9c3ba066c65629f636bd58e4ebd9444fdba097b91af6cd3e243f" +checksum = "f7a41e368ffa95ae2a353197d1ae3993f4d3d471444d80b65c932db667ea7b9e" dependencies = [ "approx", "bevy_reflect", - "derive_more 1.0.0", - "glam", + "derive_more", + "glam 0.30.8", "itertools 0.14.0", "libm", - "rand 0.8.5", + "rand 0.9.1", "rand_distr", "serde", "smallvec", @@ -1454,10 +1516,11 @@ dependencies = [ [[package]] name = "bevy_mesh" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10399c7027001edbc0406d7d0198596b1f07206c1aae715274106ba5bdcac40" +checksum = "b6255244b71153b305fddb4e6f827cb97ed51f276b6e632f5fc46538647948f6" dependencies = [ + "bevy_app", "bevy_asset", "bevy_derive", "bevy_ecs", @@ -1467,9 +1530,9 @@ dependencies = [ "bevy_platform", "bevy_reflect", "bevy_transform", - "bevy_utils", "bitflags 2.9.1", "bytemuck", + "derive_more", "hexasphere", "serde", "thiserror 2.0.12", @@ -1479,41 +1542,40 @@ dependencies = [ [[package]] name = "bevy_mikktspace" -version = "0.16.1" +version = "0.17.0-dev" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb60c753b968a2de0fd279b76a3d19517695e771edb4c23575c7f92156315de" -dependencies = [ - "glam", -] +checksum = "7ef8e4b7e61dfe7719bb03c884dc270cd46a82efb40f93e9933b990c5c190c59" [[package]] name = "bevy_pbr" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5e0b4eb871f364a0d217f70f6c41d7fdc6f9f931fa1abbf222180c03d0ae410" +checksum = "cf8c76337a6ae9d73d50be168aeee974d05fdeda9129a413eaff719e3b7b5fea" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", "bevy_core_pipeline", "bevy_derive", "bevy_diagnostic", "bevy_ecs", "bevy_image", + "bevy_light", "bevy_math", + "bevy_mesh", "bevy_platform", "bevy_reflect", "bevy_render", + "bevy_shader", "bevy_transform", "bevy_utils", - "bevy_window", "bitflags 2.9.1", "bytemuck", - "derive_more 1.0.0", + "derive_more", "fixedbitset", "nonmax", "offset-allocator", - "radsort", "smallvec", "static_assertions", "thiserror 2.0.12", @@ -1522,12 +1584,13 @@ dependencies = [ [[package]] name = "bevy_picking" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ed04757938655ed8094ea1efb533f99063a8b22abffc22010c694d291522850" +checksum = "3a232a8ea4dc9b83c08226f56b868acb1ead06946a95d8b9c8cbbcc860cd8090" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_derive", "bevy_ecs", "bevy_input", @@ -1535,10 +1598,8 @@ dependencies = [ "bevy_mesh", "bevy_platform", "bevy_reflect", - "bevy_render", "bevy_time", "bevy_transform", - "bevy_utils", "bevy_window", "crossbeam-channel", "tracing", @@ -1547,45 +1608,79 @@ dependencies = [ [[package]] name = "bevy_platform" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7573dc824a1b08b4c93fdbe421c53e1e8188e9ca1dd74a414455fe571facb47" +checksum = "10cf8cda162688c95250e74cffaa1c3a04597f105d4ca35554106f107308ea57" dependencies = [ - "cfg-if", "critical-section", - "foldhash", - "getrandom 0.2.16", - "hashbrown 0.15.4", + "foldhash 0.2.0", + "futures-channel", + "getrandom 0.3.3", + "hashbrown 0.16.0", + "js-sys", "portable-atomic", "portable-atomic-util", "serde", "spin", + "wasm-bindgen", + "wasm-bindgen-futures", "web-time", ] [[package]] -name = "bevy_ptr" -version = "0.16.1" +name = "bevy_post_process" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df7370d0e46b60e071917711d0860721f5347bc958bf325975ae6913a5dfcf01" +checksum = "26ee8ab6043f8bbe43e9c16bbdde0c5e7289b99e62cd8aad1a2a4166a7f2bce6" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.9.1", + "nonmax", + "radsort", + "smallvec", + "thiserror 2.0.12", + "tracing", +] + +[[package]] +name = "bevy_ptr" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28ab4074e7b781bab84e9b0a41ede245d673d1f75646ce0db27643aedcfb3a85" [[package]] name = "bevy_reflect" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daeb91a63a1a4df00aa58da8cc4ddbd4b9f16ab8bb647c5553eb156ce36fa8c2" +checksum = "333df3f5947b7e62728eb5c0b51d679716b16c7c5283118fed4563f13230954e" dependencies = [ "assert_type_match", "bevy_platform", "bevy_ptr", "bevy_reflect_derive", "bevy_utils", - "derive_more 1.0.0", + "derive_more", "disqualified", "downcast-rs 2.0.1", "erased-serde", - "foldhash", - "glam", + "foldhash 0.2.0", + "glam 0.30.8", + "inventory", "petgraph", "serde", "smallvec", @@ -1598,11 +1693,12 @@ dependencies = [ [[package]] name = "bevy_reflect_derive" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ddadc55fe16b45faaa54ab2f9cb00548013c74812e8b018aa172387103cce6" +checksum = "0205dce9c5a4d8d041b263bcfd96e9d9d6f3d49416e12db347ab5778b3071fe1" dependencies = [ "bevy_macro_utils", + "indexmap", "proc-macro2", "quote", "syn", @@ -1611,13 +1707,14 @@ dependencies = [ [[package]] name = "bevy_render" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef91fed1f09405769214b99ebe4390d69c1af5cdd27967deae9135c550eb1667" +checksum = "70d6a5d47ebb247e4ecaaf4a3b0310b7c518728ff2362c69f4220d0d3228e17d" dependencies = [ "async-channel", "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", "bevy_derive", "bevy_diagnostic", @@ -1629,6 +1726,7 @@ dependencies = [ "bevy_platform", "bevy_reflect", "bevy_render_macros", + "bevy_shader", "bevy_tasks", "bevy_time", "bevy_transform", @@ -1636,22 +1734,17 @@ dependencies = [ "bevy_window", "bitflags 2.9.1", "bytemuck", - "codespan-reporting", - "derive_more 1.0.0", + "derive_more", "downcast-rs 2.0.1", "encase", "fixedbitset", - "futures-lite", "image", "indexmap", "js-sys", - "ktx2", "naga", - "naga_oil", "nonmax", "offset-allocator", "send_wrapper", - "serde", "smallvec", "thiserror 2.0.12", "tracing", @@ -1663,9 +1756,9 @@ dependencies = [ [[package]] name = "bevy_render_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abd42cf6c875bcf38da859f8e731e119a6aff190d41dd0a1b6000ad57cf2ed3d" +checksum = "a7e8b553adf0a4f9f059c5c2dcb52d9ac09abede1c322a92b43b9f4bb11c3843" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1675,69 +1768,113 @@ dependencies = [ [[package]] name = "bevy_scene" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c52ca165200995fe8afd2a1a6c03e4ffee49198a1d4653d32240ea7f217d4ab" +checksum = "e601ffeebbdaba1193f823dbdc9fc8787a24cf83225a72fee4def5c27a18778a" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", "bevy_derive", "bevy_ecs", "bevy_platform", "bevy_reflect", - "bevy_render", "bevy_transform", "bevy_utils", - "derive_more 1.0.0", + "derive_more", "serde", "thiserror 2.0.12", "uuid", ] [[package]] -name = "bevy_sprite" -version = "0.16.1" +name = "bevy_shader" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ccae7bab2cb956fb0434004c359e432a3a1a074a6ef4eb471f1fb099f0b620b" +checksum = "3cef8f8e53776d286eb62bb60164f30671f07005ff407e94ec1176e9426d1477" +dependencies = [ + "bevy_asset", + "bevy_platform", + "bevy_reflect", + "naga", + "naga_oil", + "serde", + "thiserror 2.0.12", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_sprite" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74bb52fa52caa1cc8d95acf45e52efc0c72b59755c2f0801a30fdab367921db0" dependencies = [ "bevy_app", "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_picking", + "bevy_reflect", + "bevy_text", + "bevy_transform", + "bevy_window", + "radsort", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_sprite3d" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66683d51a25c4f28089bda87ece5ccf8ef2c71334fd9a9eba78b352d5f4bed51" +dependencies = [ + "bevy", +] + +[[package]] +name = "bevy_sprite_render" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31bb90a9139b04568bd30b2492ba61234092d95a7f7e3c84b55369b16d7e261b" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", "bevy_color", "bevy_core_pipeline", "bevy_derive", "bevy_ecs", "bevy_image", "bevy_math", - "bevy_picking", + "bevy_mesh", "bevy_platform", "bevy_reflect", "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_text", "bevy_transform", "bevy_utils", - "bevy_window", "bitflags 2.9.1", "bytemuck", - "derive_more 1.0.0", + "derive_more", "fixedbitset", "nonmax", - "radsort", "tracing", ] -[[package]] -name = "bevy_sprite3d" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aab6a643739da6d576c28d7e20f78aa4dc00406eefcf92f1a5e1f30fad367079" -dependencies = [ - "bevy", -] - [[package]] name = "bevy_state" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155d3cd97b900539008cdcaa702f88b724d94b08977b8e591a32536ce66faa8c" +checksum = "fe4e955f36cdc7b31556e4619a653dcf65d46967d90d36fb788f746c8e89257e" dependencies = [ "bevy_app", "bevy_ecs", @@ -1751,43 +1888,39 @@ dependencies = [ [[package]] name = "bevy_state_macros" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2481c1304fd2a1851a0d4cb63a1ce6421ae40f3f0117cbc9882963ee4c9bb609" +checksum = "5c3e4e32b1b96585740a2b447661af7db1b9d688db5e4d96da50461cd8f5ce63" dependencies = [ "bevy_macro_utils", - "proc-macro2", "quote", "syn", ] [[package]] name = "bevy_tasks" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b674242641cab680688fc3b850243b351c1af49d4f3417a576debd6cca8dcf5" +checksum = "18839182775f30d26f0f84d9de85d25361bb593c99517a80b64ede6cbaf41adc" dependencies = [ "async-channel", "async-executor", "async-task", "atomic-waker", "bevy_platform", - "cfg-if", "concurrent-queue", "crossbeam-queue", - "derive_more 1.0.0", - "futures-channel", + "derive_more", "futures-lite", "heapless", "pin-project", - "wasm-bindgen-futures", ] [[package]] name = "bevy_text" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d76c85366159f5f54110f33321c76d8429cfd8f39638f26793a305dae568b60" +checksum = "cc1b759cf2ed8992132bd541ebb9ffcfa777d2faf3596d418fb25984bc6677d8" dependencies = [ "bevy_app", "bevy_asset", @@ -1799,25 +1932,21 @@ dependencies = [ "bevy_math", "bevy_platform", "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_transform", "bevy_utils", - "bevy_window", "cosmic-text", "serde", "smallvec", "sys-locale", "thiserror 2.0.12", "tracing", - "unicode-bidi", + "wgpu-types", ] [[package]] name = "bevy_time" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc98eb356c75be04fbbc77bb3d8ffa24c8bacd99f76111cee23d444be6ac8c9c" +checksum = "1a52edd3d30ed94074f646ba1c9914e407af9abe5b6fb7a4322c855341a536cc" dependencies = [ "bevy_app", "bevy_ecs", @@ -1830,9 +1959,9 @@ dependencies = [ [[package]] name = "bevy_transform" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df218e440bb9a19058e1b80a68a031c887bcf7bd3a145b55f361359a2fa3100d" +checksum = "7995ae14430b1a268d1e4f098ab770e8af880d2df5e4e37161b47d8d9e9625bd" dependencies = [ "bevy_app", "bevy_ecs", @@ -1841,16 +1970,16 @@ dependencies = [ "bevy_reflect", "bevy_tasks", "bevy_utils", - "derive_more 1.0.0", + "derive_more", "serde", "thiserror 2.0.12", ] [[package]] name = "bevy_transform_interpolation" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c7c6c4e6a3d5415b3a29a17bd20c17cd0e2f068b96b24e263316d58d5346ea" +checksum = "284738382605476667bbe80cf0959f4dffb61adbdb0149e22e67f4dbf97a5bc2" dependencies = [ "bevy", "serde", @@ -1858,19 +1987,18 @@ dependencies = [ [[package]] name = "bevy_trenchbroom" -version = "0.8.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daaf78e57d834d0e774fc09f9810e1628e4b880a5b1ca63bd209690251a83aa2" +checksum = "b4b93cad2bec187722efc0b053469b494df51e87e242db9a46d06211bd695653" dependencies = [ "anyhow", "atomicow", - "avian3d", "bevy", - "bevy_fix_gltf_coordinate_system", "bevy_materialize", "bevy_mesh", "bevy_reflect", "bevy_trenchbroom_macros", + "bytemuck", "default-struct-builder", "disjoint-sets", "enumflags2", @@ -1883,18 +2011,30 @@ dependencies = [ "quake-util", "serde", "serde_json", - "strum 0.27.1", + "strum", "thiserror 2.0.12", "wgpu-types", ] [[package]] -name = "bevy_trenchbroom_macros" -version = "0.8.1" +name = "bevy_trenchbroom_avian" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb625b904edcdf999dad92ff7443ef4744b94cf5af98aa38b9a2e9a5d43cc41" +checksum = "9a053fe2d61bcd96f9e93ffa0c4b630c2663fe484e15b3b70df8f1c06662f30a" dependencies = [ - "heck", + "avian3d", + "bevy", + "bevy_trenchbroom", +] + +[[package]] +name = "bevy_trenchbroom_macros" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3542bde1ff424a7cba679620b509af443302ff6cb7f90c1479ed7de2e8bf266" +dependencies = [ + "deluxe", + "heck 0.5.0", "proc-macro2", "quote", "syn", @@ -1902,16 +2042,16 @@ dependencies = [ [[package]] name = "bevy_ui" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea4a4d2ba51865bc3039af29a26b4f52c48b54cc758369f52004caf4b6f03770" +checksum = "cc999815a67a6b2fc911df9eea27af703ff656aed6fd31d8606dced701f07fd6" dependencies = [ "accesskit", "bevy_a11y", "bevy_app", "bevy_asset", + "bevy_camera", "bevy_color", - "bevy_core_pipeline", "bevy_derive", "bevy_ecs", "bevy_image", @@ -1920,75 +2060,106 @@ dependencies = [ "bevy_picking", "bevy_platform", "bevy_reflect", - "bevy_render", "bevy_sprite", "bevy_text", "bevy_transform", "bevy_utils", "bevy_window", - "bytemuck", - "derive_more 1.0.0", - "nonmax", + "derive_more", "serde", "smallvec", "taffy", "thiserror 2.0.12", "tracing", + "uuid", +] + +[[package]] +name = "bevy_ui_render" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adae9770089e04339d003afe7abe7153fe71600d81c828f964c7ac329b04d5b9" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_sprite_render", + "bevy_text", + "bevy_transform", + "bevy_ui", + "bevy_utils", + "bytemuck", + "derive_more", + "tracing", ] [[package]] name = "bevy_utils" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f7a8905a125d2017e8561beefb7f2f5e67e93ff6324f072ad87c5fd6ec3b99" +checksum = "080254083c74d5f6eb0649d7cd6181bda277e8fe3c509ec68990a5d56ec23f24" dependencies = [ "bevy_platform", + "disqualified", "thread_local", ] [[package]] name = "bevy_web_keepalive" -version = "0.3.5" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f4be8bd4c2677d2fb8ce985d218f75ce862747ceaa810fef6f86cb57346daa" +checksum = "13adcc34b12e13f30b1838e40ed9fb48ddcdb811742c432df695971d5bca3bdd" dependencies = [ "bevy_app", "bevy_ecs", "bevy_time", + "bevy_winit", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_window" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df7e8ad0c17c3cc23ff5566ae2905c255e6986037fb041f74c446216f5c38431" +checksum = "f582478606d6b6e5c53befbe7612f038fdfb73f8a27f7aae644406637347acd4" dependencies = [ - "android-activity", "bevy_app", + "bevy_asset", "bevy_ecs", + "bevy_image", "bevy_input", "bevy_math", "bevy_platform", "bevy_reflect", - "bevy_utils", "log", "raw-window-handle", "serde", - "smol_str", ] [[package]] name = "bevy_winit" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a5e7f00c6b3b6823df5ec2a5e9067273607208919bc8c211773ebb9643c87f0" +checksum = "eb0ccf2faca4b4c156a26284d1bbf90a8cac8568a273adcd6c1a270c1342f3df" dependencies = [ "accesskit", "accesskit_winit", "approx", "bevy_a11y", + "bevy_android", "bevy_app", "bevy_asset", "bevy_derive", @@ -2001,13 +2172,9 @@ dependencies = [ "bevy_platform", "bevy_reflect", "bevy_tasks", - "bevy_utils", "bevy_window", "bytemuck", "cfg-if", - "crossbeam-channel", - "raw-window-handle", - "serde", "tracing", "wasm-bindgen", "web-sys", @@ -2025,26 +2192,6 @@ dependencies = [ "unty", ] -[[package]] -name = "bindgen" -version = "0.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" -dependencies = [ - "bitflags 2.9.1", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn", -] - [[package]] name = "bindgen" version = "0.72.0" @@ -2065,42 +2212,21 @@ dependencies = [ "syn", ] -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec 0.6.3", -] - [[package]] name = "bit-set" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ - "bit-vec 0.8.0", + "bit-vec", ] -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - [[package]] name = "bit-vec" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" -[[package]] -name = "bit_field" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" - [[package]] name = "bitflags" version = "1.3.2" @@ -2113,15 +2239,10 @@ version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" dependencies = [ + "bytemuck", "serde", ] -[[package]] -name = "bitstream-io" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" - [[package]] name = "blake3" version = "1.8.2" @@ -2173,10 +2294,15 @@ dependencies = [ ] [[package]] -name = "built" -version = "0.7.7" +name = "bstr" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" +checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +dependencies = [ + "memchr", + "regex-automata", + "serde", +] [[package]] name = "bumpalo" @@ -2278,16 +2404,6 @@ dependencies = [ "nom", ] -[[package]] -name = "cfg-expr" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" -dependencies = [ - "smallvec", - "target-lexicon", -] - [[package]] name = "cfg-if" version = "1.0.1" @@ -2335,7 +2451,7 @@ dependencies = [ "js-sys", "num-traits", "wasm-bindgen", - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -2379,7 +2495,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim", + "strsim 0.11.1", ] [[package]] @@ -2388,7 +2504,7 @@ version = "4.5.47" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "syn", @@ -2420,20 +2536,15 @@ dependencies = [ [[package]] name = "codespan-reporting" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" dependencies = [ + "serde", "termcolor", "unicode-width", ] -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - [[package]] name = "colorchoice" version = "1.0.4" @@ -2543,7 +2654,7 @@ checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation 0.9.4", - "core-graphics-types", + "core-graphics-types 0.1.3", "foreign-types", "libc", ] @@ -2559,6 +2670,17 @@ dependencies = [ "libc", ] +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.9.1", + "core-foundation 0.10.1", + "libc", +] + [[package]] name = "coreaudio-rs" version = "0.11.3" @@ -2576,14 +2698,14 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ceec7a6067e62d6f931a2baf6f3a751f4a892595bcec1461a3c94ef9949864b6" dependencies = [ - "bindgen 0.72.0", + "bindgen", ] [[package]] name = "cosmic-text" -version = "0.13.2" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e418dd4f5128c3e93eab12246391c54a20c496811131f85754dc8152ee207892" +checksum = "da46a9d5a8905cc538a4a5bceb6a4510de7a51049c5588c0114efce102bcbbe8" dependencies = [ "bitflags 2.9.1", "fontdb", @@ -2766,7 +2888,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim", + "strsim 0.11.1", "syn", ] @@ -2819,6 +2941,47 @@ dependencies = [ "syn", ] +[[package]] +name = "deluxe" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ed332aaf752b459088acf3dd4eca323e3ef4b83c70a84ca48fb0ec5305f1488" +dependencies = [ + "deluxe-core", + "deluxe-macros", + "once_cell", + "proc-macro2", + "syn", +] + +[[package]] +name = "deluxe-core" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddada51c8576df9d6a8450c351ff63042b092c9458b8ac7d20f89cbd0ffd313" +dependencies = [ + "arrayvec", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn", +] + +[[package]] +name = "deluxe-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87546d9c837f0b7557e47b8bd6eae52c3c223141b76aa233c345c9ab41d9117" +dependencies = [ + "deluxe-core", + "heck 0.4.1", + "if_chain", + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "der" version = "0.7.10" @@ -2897,34 +3060,13 @@ dependencies = [ "syn", ] -[[package]] -name = "derive_more" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" -dependencies = [ - "derive_more-impl 1.0.0", -] - [[package]] name = "derive_more" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ - "derive_more-impl 2.0.1", -] - -[[package]] -name = "derive_more-impl" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "unicode-xid", + "derive_more-impl", ] [[package]] @@ -3050,9 +3192,9 @@ checksum = "15401da73a9ed8c80e3b2d4dc05fe10e7b72d7243b9f614e516a44fa99986e88" [[package]] name = "ecolor" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc4feb366740ded31a004a0e4452fbf84e80ef432ecf8314c485210229672fd1" +checksum = "94bdf37f8d5bd9aa7f753573fdda9cf7343afa73dd28d7bfe9593bd9798fc07e" dependencies = [ "bytemuck", "emath", @@ -3060,9 +3202,9 @@ dependencies = [ [[package]] name = "egui" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd34cec49ab55d85ebf70139cb1ccd29c977ef6b6ba4fe85489d6877ee9ef3" +checksum = "5d5d0306cd61ca75e29682926d71f2390160247f135965242e904a636f51c0dc" dependencies = [ "ahash", "bitflags 2.9.1", @@ -3070,6 +3212,8 @@ dependencies = [ "epaint", "nohash-hasher", "profiling", + "smallvec", + "unicode-segmentation", ] [[package]] @@ -3080,9 +3224,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "emath" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e4cadcff7a5353ba72b7fea76bf2122b5ebdbc68e8155aa56dfdea90083fe1b" +checksum = "45fd7bc25f769a3c198fe1cf183124bf4de3bd62ef7b4f1eaf6b08711a3af8db" dependencies = [ "bytemuck", ] @@ -3098,36 +3242,42 @@ dependencies = [ [[package]] name = "encase" -version = "0.10.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0a05902cf601ed11d564128448097b98ebe3c6574bd7b6a653a3d56d54aa020" +checksum = "02ba239319a4f60905966390f5e52799d868103a533bb7e27822792332504ddd" dependencies = [ "const_panic", "encase_derive", - "glam", - "thiserror 1.0.69", + "glam 0.30.8", + "thiserror 2.0.12", ] [[package]] name = "encase_derive" -version = "0.10.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "181d475b694e2dd56ae919ce7699d344d1fd259292d590c723a50d1189a2ea85" +checksum = "5223d6c647f09870553224f6e37261fe5567bc5a4f4cf13ed337476e79990f2f" dependencies = [ "encase_derive_impl", ] [[package]] name = "encase_derive_impl" -version = "0.10.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f97b51c5cc57ef7c5f7a0c57c250251c49ee4c28f819f87ac32f4aceabc36792" +checksum = "1796db3d892515842ca2dfb11124c4bb4a9e58d9f2c5c1072e5bca1b2334507b" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "endian-type" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" + [[package]] name = "enum_dispatch" version = "0.3.13" @@ -3173,9 +3323,9 @@ dependencies = [ [[package]] name = "epaint" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fcc0f5a7c613afd2dee5e4b30c3e6acafb8ad6f0edb06068811f708a67c562" +checksum = "63adcea970b7a13094fe97a36ab9307c35a750f9e24bf00bb7ef3de573e0fddb" dependencies = [ "ab_glyph", "ahash", @@ -3190,29 +3340,9 @@ dependencies = [ [[package]] name = "epaint_default_fonts" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7e7a64c02cf7a5b51e745a9e45f60660a286f151c238b9d397b3e923f5082f" - -[[package]] -name = "equator" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc" -dependencies = [ - "equator-macro", -] - -[[package]] -name = "equator-macro" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "1537accc50c9cab5a272c39300bdd0dd5dca210f6e5e8d70be048df9596e7ca2" [[package]] name = "equivalent" @@ -3276,21 +3406,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "exr" -version = "1.73.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" -dependencies = [ - "bit_field", - "half", - "lebe", - "miniz_oxide", - "rayon-core", - "smallvec", - "zune-inflate", -] - [[package]] name = "fastrand" version = "2.3.0" @@ -3346,6 +3461,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + [[package]] name = "font-types" version = "0.9.0" @@ -3584,16 +3705,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "gif" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b" -dependencies = [ - "color_quant", - "weezl", -] - [[package]] name = "gilrs" version = "0.11.0" @@ -3645,15 +3756,117 @@ dependencies = [ "xml-rs", ] +[[package]] +name = "glam" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "333928d5eb103c5d4050533cec0384302db6be8ef7d3cebd30ec6a35350353da" + +[[package]] +name = "glam" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3abb554f8ee44336b72d522e0a7fe86a29e09f839a36022fa869a7dfe941a54b" + +[[package]] +name = "glam" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4126c0479ccf7e8664c36a2d719f5f2c140fbb4f9090008098d2c291fa5b3f16" + +[[package]] +name = "glam" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01732b97afd8508eee3333a541b9f7610f454bb818669e66e90f5f57c93a776" + +[[package]] +name = "glam" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525a3e490ba77b8e326fb67d4b44b4bd2f920f44d4cc73ccec50adc68e3bee34" + +[[package]] +name = "glam" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b8509e6791516e81c1a630d0bd7fbac36d2fa8712a9da8662e716b52d5051ca" + +[[package]] +name = "glam" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43e957e744be03f5801a55472f593d43fabdebf25a4585db250f04d86b1675f" + +[[package]] +name = "glam" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "518faa5064866338b013ff9b2350dc318e14cc4fcd6cb8206d7e7c9886c98815" + +[[package]] +name = "glam" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f597d56c1bd55a811a1be189459e8fad2bbc272616375602443bdfb37fa774" + +[[package]] +name = "glam" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e4afd9ad95555081e109fe1d21f2a30c691b5f0919c67dfa690a2e1eb6bd51c" + +[[package]] +name = "glam" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" + +[[package]] +name = "glam" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" + +[[package]] +name = "glam" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" + +[[package]] +name = "glam" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "779ae4bf7e8421cf91c0b3b64e7e8b40b862fba4d393f59150042de7c4965a94" + [[package]] name = "glam" version = "0.29.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee" + +[[package]] +name = "glam" +version = "0.30.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e12d847aeb25f41be4c0ec9587d624e9cd631bc007a8fd7ce3f5851e064c6460" dependencies = [ + "approx", "bytemuck", "libm", - "rand 0.8.5", + "rand 0.9.1", + "serde_core", +] + +[[package]] +name = "glam_matrix_extras" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a321595865557fc1ec990c8eb289b25f0cb1d058997cc0034a17f507704f3183" +dependencies = [ + "bevy_reflect", + "glam 0.30.8", "serde", ] @@ -3830,12 +4043,13 @@ checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ "cfg-if", "crunchy", + "num-traits", ] [[package]] name = "happy_feet" version = "0.1.0" -source = "git+https://github.com/atornity/happy_feet.git?rev=1b24ed95f166e63af35e7b6f9f0053d6d28e1f1a#1b24ed95f166e63af35e7b6f9f0053d6d28e1f1a" +source = "git+https://github.com/PROMETHIA-27/happy_feet.git?rev=48a96cc#48a96cc9aedd417448d0a0b82011a66827112740" dependencies = [ "avian3d", "bevy", @@ -3856,10 +4070,6 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] [[package]] name = "hashbrown" @@ -3869,8 +4079,7 @@ checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" dependencies = [ "allocator-api2", "equivalent", - "foldhash", - "serde", + "foldhash 0.1.5", ] [[package]] @@ -3878,6 +4087,11 @@ name = "hashbrown" version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" +dependencies = [ + "equivalent", + "foldhash 0.2.0", + "serde", +] [[package]] name = "heapless" @@ -3890,6 +4104,12 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + [[package]] name = "heck" version = "0.5.0" @@ -3904,21 +4124,21 @@ dependencies = [ "bevy", "bevy-inspector-egui", "bevy-steamworks", - "bevy-ui-gradients", "bevy_asset_loader", "bevy_ballistic", "bevy_common_assets", "bevy_debug_log", "bevy_sprite3d", "bevy_trenchbroom", + "bevy_trenchbroom_avian", "happy_feet", "lightyear", "nil 0.14.0", "rand 0.8.5", - "ron", + "ron 0.8.1", "serde", "shared", - "steamworks 0.11.0", + "steamworks", "vergen-gitcl", ] @@ -3930,12 +4150,12 @@ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hexasphere" -version = "15.1.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c9e718d32b6e6b2b32354e1b0367025efdd0b11d6a740b905ddf5db1074679" +checksum = "29a164ceff4500f2a72b1d21beaa8aa8ad83aec2b641844c659b190cb3ea2e0b" dependencies = [ "constgebra", - "glam", + "glam 0.30.8", "tinyvec", ] @@ -4105,6 +4325,12 @@ dependencies = [ "icu_properties", ] +[[package]] +name = "if_chain" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd62e6b5e86ea8eeeb8db1de02880a6abc01a397b2ebb64b5d74ac255318f5cb" + [[package]] name = "image" version = "0.25.6" @@ -4113,44 +4339,9 @@ checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a" dependencies = [ "bytemuck", "byteorder-lite", - "color_quant", - "exr", - "gif", - "image-webp", "num-traits", "png", - "qoi", - "ravif", - "rayon", - "rgb", "tiff", - "zune-core", - "zune-jpeg", -] - -[[package]] -name = "image-webp" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6970fe7a5300b4b42e62c52efa0187540a5bef546c60edaf554ef595d2e6f0b" -dependencies = [ - "byteorder-lite", - "quick-error", -] - -[[package]] -name = "imgref" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408" - -[[package]] -name = "immutable-chunkmap" -version = "2.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578" -dependencies = [ - "arrayvec", ] [[package]] @@ -4200,14 +4391,12 @@ dependencies = [ ] [[package]] -name = "interpolate_name" -version = "0.2.4" +name = "inventory" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" dependencies = [ - "proc-macro2", - "quote", - "syn", + "rustversion", ] [[package]] @@ -4237,15 +4426,6 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.13.0" @@ -4343,11 +4523,11 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" [[package]] name = "ktx2" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87d65e08a9ec02e409d27a0139eaa6b9756b4d81fe7cde71f6941a83730ce838" +checksum = "ff7f53bdf698e7aa7ec916411bbdc8078135da11b66db5182675b2227f6c0d07" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", ] [[package]] @@ -4358,9 +4538,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "leafwing-input-manager" -version = "0.17.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ac3ba8262c0e42b22bb917c18ef9dbe773e2b6b279c61a4a520c5d960b5e1a" +checksum = "565d500780e26557b099b5f058d71c32ad6e92a7caac2cf4718d1078d97aa8b5" dependencies = [ "bevy", "dyn-clone", @@ -4378,18 +4558,12 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2226cb83129176a6c634f2ce0828c2c29896ea0898fc198636f98696b8056890" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", "syn", ] -[[package]] -name = "lebe" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" - [[package]] name = "lewton" version = "0.10.2" @@ -4407,16 +4581,6 @@ version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" -[[package]] -name = "libfuzzer-sys" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404" -dependencies = [ - "arbitrary", - "cc", -] - [[package]] name = "libloading" version = "0.8.8" @@ -4456,8 +4620,9 @@ dependencies = [ [[package]] name = "lightyear" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b27c71484ff74fe439442afd55147f49e33f1c8617e39e4b9e845a6d879c118d" dependencies = [ "aeronet_io", "bevy_app", @@ -4486,6 +4651,7 @@ dependencies = [ "lightyear_sync", "lightyear_transport", "lightyear_udp", + "lightyear_ui", "lightyear_utils", "lightyear_websocket", "lightyear_webtransport", @@ -4496,8 +4662,9 @@ dependencies = [ [[package]] name = "lightyear_aeronet" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "102c42548b7d42bf682d8e9a3447bc6c7ec6f1a018802b0fb20546b00b4b4b0d" dependencies = [ "aeronet_io", "bevy_app", @@ -4510,8 +4677,9 @@ dependencies = [ [[package]] name = "lightyear_avian2d" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46d0e4c738835ff126a603224edc1ad61370feef78a4ca20c43c5e744acda976" dependencies = [ "avian2d", "bevy_app", @@ -4531,13 +4699,15 @@ dependencies = [ [[package]] name = "lightyear_avian3d" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54f61ced92e2e48345145aec2cd3806a7d5081449737ab36a072dbec72281901" dependencies = [ "avian3d", "bevy_app", "bevy_ecs", "bevy_math", + "bevy_time", "bevy_transform", "bevy_utils", "lightyear_core", @@ -4551,8 +4721,9 @@ dependencies = [ [[package]] name = "lightyear_connection" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "155263f4b9327745bbfd10b8ef1d73ae7b584539e01a7f2f54fceac9c629f89a" dependencies = [ "bevy_app", "bevy_ecs", @@ -4570,8 +4741,9 @@ dependencies = [ [[package]] name = "lightyear_core" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6861dd5d2c571d4bd847ea56c15fa2eb40c51d876d227316e7136aaac4496738" dependencies = [ "bevy_app", "bevy_derive", @@ -4588,13 +4760,15 @@ dependencies = [ [[package]] name = "lightyear_frame_interpolation" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fce46dae79b88933e385a1baa9d28abc88a71d8c8e0dc3bcaf9c80bb61c97c32" dependencies = [ "bevy_app", "bevy_ecs", "bevy_time", "bevy_transform", + "bevy_utils", "lightyear_connection", "lightyear_core", "lightyear_interpolation", @@ -4604,13 +4778,15 @@ dependencies = [ [[package]] name = "lightyear_inputs" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c14dd0514a4b8c50f4595f6cccd51406832b1f4046efcee9972408899385398e" dependencies = [ "bevy_app", "bevy_ecs", "bevy_platform", "bevy_reflect", + "bevy_utils", "lightyear_connection", "lightyear_core", "lightyear_interpolation", @@ -4626,31 +4802,30 @@ dependencies = [ [[package]] name = "lightyear_inputs_bei" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "412cec608ad53efe6e45d9346f5b2638536a4bdfea7488ec20d3c4805c74d4e4" dependencies = [ "bevy_app", "bevy_ecs", "bevy_enhanced_input", - "bevy_platform", "bevy_reflect", + "bevy_utils", "lightyear_connection", "lightyear_core", "lightyear_inputs", "lightyear_link", - "lightyear_prediction", "lightyear_replication", "lightyear_serde", - "lightyear_utils", "serde", - "thiserror 2.0.12", "tracing", ] [[package]] name = "lightyear_inputs_leafwing" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fe6ff8d32b7e38e7473c2f46edd92ab33828b4d24cd3a2b49ec8d6b40169c49" dependencies = [ "bevy_app", "bevy_derive", @@ -4659,6 +4834,7 @@ dependencies = [ "bevy_math", "bevy_platform", "bevy_reflect", + "bevy_utils", "leafwing-input-manager", "lightyear_core", "lightyear_inputs", @@ -4668,8 +4844,9 @@ dependencies = [ [[package]] name = "lightyear_inputs_native" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da7fc079616fc2d40624fa5e3962ddb1343d433d99e2772bf2aa945df9905c96" dependencies = [ "bevy_app", "bevy_derive", @@ -4683,8 +4860,9 @@ dependencies = [ [[package]] name = "lightyear_interpolation" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "906066d29ade3a60f3ca986fed5c2dbf7b50a39d15af320b7bfcc02249e38bbf" dependencies = [ "bevy_app", "bevy_derive", @@ -4707,12 +4885,14 @@ dependencies = [ [[package]] name = "lightyear_link" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39b16fa6acea520fa3c3f93cae916753c70ab9600110bf2b1f01e7e14bcd4da9" dependencies = [ "bevy_app", "bevy_ecs", "bevy_reflect", + "bevy_utils", "bytes", "lightyear_core", "lightyear_utils", @@ -4722,12 +4902,14 @@ dependencies = [ [[package]] name = "lightyear_messages" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbd0e3a0d1ad3993eee6c6f31fcb9379864e570094f45c9e672dc1aaaee903b8" dependencies = [ "bevy_app", "bevy_ecs", "bevy_reflect", + "bevy_utils", "bytes", "lightyear_connection", "lightyear_core", @@ -4742,8 +4924,9 @@ dependencies = [ [[package]] name = "lightyear_netcode" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139c5bd6c609388aa9a48282846bc4b67ae0cfef59592914638fba764b75186f" dependencies = [ "aeronet_io", "bevy_app", @@ -4767,8 +4950,9 @@ dependencies = [ [[package]] name = "lightyear_prediction" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c917f6caa9be74561043635e532693235c3b9ab820f1444bca7961c2a38751" dependencies = [ "bevy_app", "bevy_derive", @@ -4778,14 +4962,13 @@ dependencies = [ "bevy_platform", "bevy_reflect", "bevy_time", + "bevy_utils", "lightyear_connection", "lightyear_core", "lightyear_frame_interpolation", "lightyear_interpolation", - "lightyear_link", "lightyear_messages", "lightyear_replication", - "lightyear_serde", "lightyear_sync", "lightyear_utils", "parking_lot", @@ -4796,27 +4979,34 @@ dependencies = [ [[package]] name = "lightyear_replication" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08b6e6d159226d84fa2662be58553f85d18baf4f66e2008581a3e1db339c2d36" dependencies = [ "avian2d", "avian3d", "bevy_app", + "bevy_derive", "bevy_ecs", + "bevy_math", "bevy_platform", "bevy_ptr", "bevy_reflect", "bevy_time", "bevy_transform", + "bevy_utils", "bytes", "dashmap", + "indexmap", "lightyear_connection", "lightyear_core", "lightyear_link", "lightyear_messages", "lightyear_serde", + "lightyear_sync", "lightyear_transport", "lightyear_utils", + "seahash", "serde", "smallvec", "thiserror 2.0.12", @@ -4825,14 +5015,16 @@ dependencies = [ [[package]] name = "lightyear_serde" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "739083df47ce4476eb14f9c2acbf8ea38a0fe34b3760fcb929b47aca8d1cf3df" dependencies = [ "bevy_derive", "bevy_ecs", "bevy_platform", "bevy_ptr", "bevy_reflect", + "bevy_utils", "bincode", "bytes", "no_std_io2", @@ -4844,8 +5036,9 @@ dependencies = [ [[package]] name = "lightyear_steam" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a967f6ac1ce7faf7c7e4a0be410ae570c9f148c98d1d04081ec6def526c4ffc" dependencies = [ "aeronet_io", "aeronet_steam", @@ -4861,8 +5054,9 @@ dependencies = [ [[package]] name = "lightyear_sync" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a344b3169a7013500794647200cad15b9e59f4bc98a231525b4afad47e905450" dependencies = [ "bevy_app", "bevy_derive", @@ -4884,8 +5078,9 @@ dependencies = [ [[package]] name = "lightyear_transport" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e3712946802f153d01008b35ef9bdb7c9fa8a0bdae67803b617fac464679b84" dependencies = [ "bevy_app", "bevy_ecs", @@ -4912,8 +5107,9 @@ dependencies = [ [[package]] name = "lightyear_udp" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6b0a5c3e555da7439a704c8812c811f764f53aa455329bdb8da7ab933fd8aa0" dependencies = [ "aeronet_io", "bevy_app", @@ -4926,23 +5122,47 @@ dependencies = [ "tracing", ] +[[package]] +name = "lightyear_ui" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bf5b6948915eb29695a477dcbfe30f3a185a5f2e368a10828ef94c2dbbab5e5" +dependencies = [ + "bevy_app", + "bevy_color", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_text", + "bevy_time", + "bevy_ui", + "bevy_utils", + "metrics", + "metrics-util", + "tracing", +] + [[package]] name = "lightyear_utils" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1888ca0e182f1e2eb89eb621d3c998f5e2cd2b178dcafc12b25198affcca2167" dependencies = [ "bevy_ecs", "bevy_platform", "bevy_reflect", + "bevy_utils", "hashbrown 0.16.0", "paste", "seahash", + "tracing", ] [[package]] name = "lightyear_websocket" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cba5df5880378cedef65a97f62869975726b254ab869678ca3e50f3afbfc708" dependencies = [ "aeronet_io", "aeronet_websocket", @@ -4957,8 +5177,9 @@ dependencies = [ [[package]] name = "lightyear_webtransport" -version = "0.24.2" -source = "git+https://github.com/cBournhonesque/lightyear?rev=69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d#69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fae258b142ac20c0da066eeeb7d7459addd26ac3cf213c804e3a5018dddcb3a" dependencies = [ "aeronet_io", "aeronet_webtransport", @@ -5011,15 +5232,6 @@ version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" -[[package]] -name = "loop9" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" -dependencies = [ - "imgref", -] - [[package]] name = "lru-slab" version = "0.1.2" @@ -5046,11 +5258,11 @@ dependencies = [ [[package]] name = "matchers" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "regex-automata 0.1.10", + "regex-automata", ] [[package]] @@ -5063,16 +5275,6 @@ dependencies = [ "rawpointer", ] -[[package]] -name = "maybe-rayon" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" -dependencies = [ - "cfg-if", - "rayon", -] - [[package]] name = "memchr" version = "2.7.5" @@ -5090,19 +5292,49 @@ dependencies = [ [[package]] name = "metal" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" +checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" dependencies = [ "bitflags 2.9.1", "block", - "core-graphics-types", + "core-graphics-types 0.2.0", "foreign-types", "log", "objc", "paste", ] +[[package]] +name = "metrics" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25dea7ac8057892855ec285c440160265225438c3c45072613c25a4b26e98ef5" +dependencies = [ + "ahash", + "portable-atomic", +] + +[[package]] +name = "metrics-util" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe8db7a05415d0f919ffb905afa37784f71901c9a773188876984b4f769ab986" +dependencies = [ + "aho-corasick", + "crossbeam-epoch", + "crossbeam-utils", + "hashbrown 0.15.4", + "indexmap", + "metrics", + "ordered-float 4.6.0", + "quanta", + "radix_trie", + "rand 0.9.1", + "rand_xoshiro", + "sketches-ddsketch", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -5132,55 +5364,71 @@ dependencies = [ [[package]] name = "naga" -version = "24.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" +checksum = "916cbc7cb27db60be930a4e2da243cf4bc39569195f22fd8ee419cd31d5b662c" dependencies = [ "arrayvec", - "bit-set 0.8.0", + "bit-set", "bitflags 2.9.1", + "cfg-if", "cfg_aliases", "codespan-reporting", + "half", + "hashbrown 0.15.4", "hexf-parse", "indexmap", + "libm", "log", + "num-traits", + "once_cell", "pp-rs", "rustc-hash 1.1.0", "spirv", - "strum 0.26.3", - "termcolor", "thiserror 2.0.12", - "unicode-xid", + "unicode-ident", ] [[package]] name = "naga_oil" -version = "0.17.1" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2464f7395decfd16bb4c33fb0cb3b2c645cc60d051bc7fb652d3720bfb20f18" +checksum = "1b586d3cf5c9b7e13fe2af6e114406ff70773fd80881960378933b63e76f37dd" dependencies = [ - "bit-set 0.5.3", "codespan-reporting", "data-encoding", "indexmap", "naga", - "once_cell", "regex", - "regex-syntax 0.8.5", "rustc-hash 1.1.0", - "thiserror 1.0.69", + "thiserror 2.0.12", "tracing", "unicode-ident", ] [[package]] name = "nalgebra" -version = "0.33.2" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b" +checksum = "c4d5b3eff5cd580f93da45e64715e8c20a3996342f1e466599cf7a267a0c2f5f" dependencies = [ "approx", - "glam", + "glam 0.14.0", + "glam 0.15.2", + "glam 0.16.0", + "glam 0.17.3", + "glam 0.18.0", + "glam 0.19.0", + "glam 0.20.5", + "glam 0.21.3", + "glam 0.22.0", + "glam 0.23.0", + "glam 0.24.2", + "glam 0.25.0", + "glam 0.27.0", + "glam 0.28.0", + "glam 0.29.3", + "glam 0.30.8", "matrixmultiply", "nalgebra-macros", "num-complex", @@ -5193,9 +5441,9 @@ dependencies = [ [[package]] name = "nalgebra-macros" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" +checksum = "973e7178a678cfd059ccec50887658d482ce16b0aa9da3888ddeab5cd5eb4889" dependencies = [ "proc-macro2", "quote", @@ -5265,10 +5513,13 @@ dependencies = [ ] [[package]] -name = "new_debug_unreachable" -version = "1.0.6" +name = "nibble_vec" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" +checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" +dependencies = [ + "smallvec", +] [[package]] name = "nil" @@ -5354,10 +5605,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" [[package]] -name = "noop_proc_macro" -version = "0.3.0" +name = "normpath" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" +checksum = "bf23ab2b905654b4cb177e30b629937b3868311d4e1cba859f899c041046e69b" +dependencies = [ + "windows-sys 0.61.2", +] [[package]] name = "ntapi" @@ -5370,12 +5624,11 @@ dependencies = [ [[package]] name = "nu-ansi-term" -version = "0.46.0" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "overload", - "winapi", + "windows-sys 0.61.2", ] [[package]] @@ -5461,7 +5714,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn", @@ -5652,6 +5905,16 @@ dependencies = [ "objc2-core-foundation", ] +[[package]] +name = "objc2-io-kit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71c1c64d6120e51cd86033f67176b1cb66780c2efe34dec55176f77befd93c0a" +dependencies = [ + "libc", + "objc2-core-foundation", +] + [[package]] name = "objc2-io-surface" version = "0.3.1" @@ -5845,6 +6108,17 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +[[package]] +name = "opener" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb9024962ab91e00c89d2a14352a8d0fc1a64346bf96f1839b45c09149564e47" +dependencies = [ + "bstr", + "normpath", + "windows-sys 0.60.2", +] + [[package]] name = "openssl-probe" version = "0.1.6" @@ -5870,10 +6144,13 @@ dependencies = [ ] [[package]] -name = "overload" -version = "0.1.1" +name = "ordered-float" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +checksum = "7f4779c6901a562440c3786d08192c6fbda7c1c2060edd10006b05ee35d10f2d" +dependencies = [ + "num-traits", +] [[package]] name = "owned_ttf_parser" @@ -5915,83 +6192,89 @@ dependencies = [ [[package]] name = "parry2d" -version = "0.17.6" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87edd53b1639e011e4765eecfceb0fa2c486da696dcdcfbc9a38bfc3574fb7e0" +checksum = "22f1eacf164abb056951c5fa8e0836c2390f13d0f4c2084c09477112cf37d54b" dependencies = [ "approx", "arrayvec", "bitflags 2.9.1", - "downcast-rs 1.2.1", + "downcast-rs 2.0.1", "either", "ena", + "foldhash 0.2.0", + "hashbrown 0.16.0", "log", "nalgebra", "num-derive", "num-traits", - "ordered-float", - "rustc-hash 2.1.1", + "ordered-float 5.1.0", "simba", "slab", "smallvec", "spade", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] name = "parry3d" -version = "0.17.6" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeb9659a05b1783fb2e9bc94f48225ae5b40817eb45b62569c0e4dd767a6e51" +checksum = "e6f02d098003d45982f41f9884941438e7e90eadf5e542389e7188e5b404d5ab" dependencies = [ "approx", "arrayvec", "bitflags 2.9.1", - "downcast-rs 1.2.1", + "downcast-rs 2.0.1", "either", "ena", + "foldhash 0.2.0", + "hashbrown 0.16.0", "log", "nalgebra", "num-derive", "num-traits", - "ordered-float", + "ordered-float 5.1.0", "rayon", "rstar", - "rustc-hash 2.1.1", "serde", + "serde_arrays", "simba", "slab", "smallvec", "spade", - "thiserror 1.0.69", + "static_assertions", + "thiserror 2.0.12", ] [[package]] name = "parry3d-f64" -version = "0.17.6" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4484c8ad93ff03c0e57aa1a4f3ff5406ab6301a1eb838ef6dea90e94f00a6c7" +checksum = "003e47e8173eb6fca6427a14e29f835b5aacfa5ba89bc5632641cf4748985e7c" dependencies = [ "approx", "arrayvec", "bitflags 2.9.1", - "downcast-rs 1.2.1", + "downcast-rs 2.0.1", "either", "ena", + "foldhash 0.2.0", + "hashbrown 0.16.0", "log", "nalgebra", "num-derive", "num-traits", - "ordered-float", + "ordered-float 5.1.0", "rayon", "rstar", - "rustc-hash 2.1.1", "serde", + "serde_arrays", "simba", "slab", "smallvec", "spade", - "thiserror 1.0.69", + "thiserror 2.0.12", ] [[package]] @@ -6033,11 +6316,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" -version = "0.7.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", + "hashbrown 0.15.4", "indexmap", "serde", "serde_derive", @@ -6195,13 +6479,23 @@ dependencies = [ "syn", ] +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + [[package]] name = "proc-macro-crate" version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit", + "toml_edit 0.22.27", ] [[package]] @@ -6240,37 +6534,12 @@ name = "profiling" version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" -dependencies = [ - "profiling-procmacros", -] - -[[package]] -name = "profiling-procmacros" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "qoi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" -dependencies = [ - "bytemuck", -] [[package]] name = "quake-util" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3776ea3cbcfa988676241b4e656e1f33f0b53eb9b7e9abb9f8f013dcbad668a" -dependencies = [ - "hashbrown 0.14.5", -] +checksum = "663a8931940a7bf465a672f54ad19864b91d761695f64c18cbe6cb9782d40023" [[package]] name = "quanta" @@ -6287,12 +6556,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - [[package]] name = "quick-xml" version = "0.37.5" @@ -6372,6 +6635,16 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "radix_trie" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" +dependencies = [ + "endian-type", + "nibble_vec", +] + [[package]] name = "radsort" version = "0.1.1" @@ -6439,12 +6712,21 @@ dependencies = [ [[package]] name = "rand_distr" -version = "0.4.3" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.9.1", +] + +[[package]] +name = "rand_xoshiro" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" +dependencies = [ + "rand_core 0.9.3", ] [[package]] @@ -6459,56 +6741,6 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" -[[package]] -name = "rav1e" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" -dependencies = [ - "arbitrary", - "arg_enum_proc_macro", - "arrayvec", - "av1-grain", - "bitstream-io", - "built", - "cfg-if", - "interpolate_name", - "itertools 0.12.1", - "libc", - "libfuzzer-sys", - "log", - "maybe-rayon", - "new_debug_unreachable", - "noop_proc_macro", - "num-derive", - "num-traits", - "once_cell", - "paste", - "profiling", - "rand 0.8.5", - "rand_chacha 0.3.1", - "simd_helpers", - "system-deps", - "thiserror 1.0.69", - "v_frame", - "wasm-bindgen", -] - -[[package]] -name = "ravif" -version = "0.11.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5825c26fddd16ab9f515930d49028a630efec172e903483c94796cfe31893e6b" -dependencies = [ - "avif-serialize", - "imgref", - "loop9", - "quick-error", - "rav1e", - "rayon", - "rgb", -] - [[package]] name = "raw-cpuid" version = "11.5.0" @@ -6605,17 +6837,8 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", + "regex-automata", + "regex-syntax", ] [[package]] @@ -6626,15 +6849,9 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax", ] -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - [[package]] name = "regex-syntax" version = "0.8.5" @@ -6647,12 +6864,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" -[[package]] -name = "rgb" -version = "0.8.51" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a457e416a0f90d246a4c3288bd7a25b2304ca727f253f95be383dd17af56be8f" - [[package]] name = "ring" version = "0.17.14" @@ -6701,6 +6912,32 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "ron" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" +dependencies = [ + "base64 0.22.1", + "bitflags 2.9.1", + "serde", + "serde_derive", + "unicode-ident", +] + +[[package]] +name = "ron" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468" +dependencies = [ + "base64 0.22.1", + "bitflags 2.9.1", + "serde", + "serde_derive", + "unicode-ident", +] + [[package]] name = "roxmltree" version = "0.20.0" @@ -6963,18 +7200,37 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_arrays" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94a16b99c5ea4fe3daccd14853ad260ec00ea043b2708d1fd1da3106dcd8d9df" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", @@ -7005,11 +7261,11 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.9" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -7019,18 +7275,18 @@ dependencies = [ "avian3d", "bevy", "bevy-steamworks", - "bevy-ui-gradients", "bevy_common_assets", "bevy_sprite3d", "bevy_trenchbroom", + "bevy_trenchbroom_avian", "clap", "happy_feet", "lightyear", - "lightyear_avian3d", - "ron", + "rand 0.8.5", + "ron 0.8.1", "serde", "shared", - "steamworks 0.11.0", + "steamworks", ] [[package]] @@ -7072,7 +7328,6 @@ dependencies = [ "bevy", "bevy-inspector-egui", "bevy-steamworks", - "bevy-ui-gradients", "bevy_asset_loader", "bevy_ballistic", "bevy_common_assets", @@ -7084,9 +7339,9 @@ dependencies = [ "lightyear_serde", "nil 0.14.0", "rand 0.8.5", - "ron", + "ron 0.8.1", "serde", - "steamworks 0.11.0", + "steamworks", ] [[package]] @@ -7115,13 +7370,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] -name = "simd_helpers" -version = "0.1.0" +name = "sketches-ddsketch" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" -dependencies = [ - "quote", -] +checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" [[package]] name = "skrifa" @@ -7221,14 +7473,15 @@ dependencies = [ "hashbrown 0.15.4", "num-traits", "robust", + "serde", "smallvec", ] [[package]] name = "spin" -version = "0.9.8" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" dependencies = [ "portable-atomic", ] @@ -7280,18 +7533,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "steamworks" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a79d6f059322f73a4586cc2d0ca595ce1583104b2b1574ae1bb87f2c05bf4c67" -dependencies = [ - "bitflags 1.3.2", - "lazy_static", - "steamworks-sys 0.11.0", - "thiserror 1.0.69", -] - [[package]] name = "steamworks" version = "0.12.2" @@ -7300,16 +7541,10 @@ checksum = "722f54c70818b8debdc25b18618b77a0a69fa280012c29e7904d32f9136299fc" dependencies = [ "bitflags 2.9.1", "paste", - "steamworks-sys 0.12.2", + "steamworks-sys", "thiserror 2.0.12", ] -[[package]] -name = "steamworks-sys" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef6b00f8fe8eaaaff22cb9b70822a48c1a5d772bc682c202a57c0b438175845" - [[package]] name = "steamworks-sys" version = "0.12.2" @@ -7322,41 +7557,25 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + [[package]] name = "strsim" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros 0.26.4", -] - [[package]] name = "strum" version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" dependencies = [ - "strum_macros 0.27.1", -] - -[[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", + "strum_macros", ] [[package]] @@ -7365,7 +7584,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", @@ -7434,28 +7653,16 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.34.2" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b93974b3d3aeaa036504b8eefd4c039dced109171c1ae973f1dc63b2c7e4b2" +checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" dependencies = [ "libc", "memchr", "ntapi", "objc2-core-foundation", - "windows 0.57.0", -] - -[[package]] -name = "system-deps" -version = "6.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" -dependencies = [ - "cfg-expr", - "heck", - "pkg-config", - "toml", - "version-compare", + "objc2-io-kit", + "windows 0.61.3", ] [[package]] @@ -7470,12 +7677,6 @@ dependencies = [ "slotmap", ] -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - [[package]] name = "termcolor" version = "1.4.1" @@ -7707,14 +7908,17 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.23" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" +checksum = "ae2a4cf385da23d1d53bc15cdfa5c2109e93d8d362393c801e87da2f72f0e201" dependencies = [ - "serde", + "indexmap", + "serde_core", "serde_spanned", - "toml_datetime", - "toml_edit", + "toml_datetime 0.7.3", + "toml_parser", + "toml_writer", + "winnow 0.7.11", ] [[package]] @@ -7722,8 +7926,25 @@ name = "toml_datetime" version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" + +[[package]] +name = "toml_datetime" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" dependencies = [ - "serde", + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime 0.6.11", + "winnow 0.5.40", ] [[package]] @@ -7733,18 +7954,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "toml_write", - "winnow", + "toml_datetime 0.6.11", + "winnow 0.7.11", ] [[package]] -name = "toml_write" -version = "0.1.2" +name = "toml_edit" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +checksum = "c2ad0b7ae9cfeef5605163839cb9221f453399f15cfb5c10be9885fcf56611f9" +dependencies = [ + "indexmap", + "toml_datetime 0.7.3", + "toml_parser", + "winnow 0.7.11", +] + +[[package]] +name = "toml_parser" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +dependencies = [ + "winnow 0.7.11", +] + +[[package]] +name = "toml_writer" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" [[package]] name = "tracing" @@ -7791,29 +8030,26 @@ dependencies = [ [[package]] name = "tracing-oslog" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" +checksum = "d76902d2a8d5f9f55a81155c08971734071968c90f2d9bfe645fe700579b2950" dependencies = [ - "bindgen 0.70.1", "cc", "cfg-if", - "once_cell", - "parking_lot", "tracing-core", "tracing-subscriber", ] [[package]] name = "tracing-subscriber" -version = "0.3.19" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" dependencies = [ "matchers", "nu-ansi-term", "once_cell", - "regex", + "regex-automata", "sharded-slab", "smallvec", "thread_local", @@ -8011,17 +8247,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "v_frame" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2" -dependencies = [ - "aligned-vec", - "num-traits", - "wasm-bindgen", -] - [[package]] name = "valuable" version = "0.1.1" @@ -8082,12 +8307,6 @@ dependencies = [ "rustversion", ] -[[package]] -name = "version-compare" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" - [[package]] name = "version_check" version = "0.9.5" @@ -8193,13 +8412,13 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe770181423e5fc79d3e2a7f4410b7799d5aab1de4372853de3c6aa13ca24121" +checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35" dependencies = [ "cc", "downcast-rs 1.2.1", - "rustix 0.38.44", + "rustix 1.0.7", "scoped-tls", "smallvec", "wayland-sys", @@ -8207,12 +8426,12 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.10" +version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978fa7c67b0847dbd6a9f350ca2569174974cd4082737054dbb7fbb79d7d9a61" +checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" dependencies = [ "bitflags 2.9.1", - "rustix 0.38.44", + "rustix 1.0.7", "wayland-backend", "wayland-scanner", ] @@ -8230,20 +8449,20 @@ dependencies = [ [[package]] name = "wayland-cursor" -version = "0.31.10" +version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a65317158dec28d00416cb16705934070aef4f8393353d41126c54264ae0f182" +checksum = "447ccc440a881271b19e9989f75726d60faa09b95b0200a9b7eb5cc47c3eeb29" dependencies = [ - "rustix 0.38.44", + "rustix 1.0.7", "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.32.8" +version = "0.32.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779075454e1e9a521794fed15886323ea0feda3f8b0fc1390f5398141310422a" +checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" dependencies = [ "bitflags 2.9.1", "wayland-backend", @@ -8253,9 +8472,9 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fd38cdad69b56ace413c6bcc1fbf5acc5e2ef4af9d5f8f1f9570c0c83eae175" +checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" dependencies = [ "bitflags 2.9.1", "wayland-backend", @@ -8266,9 +8485,9 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cb6cdc73399c0e06504c437fe3cf886f25568dd5454473d565085b36d6a8bbf" +checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" dependencies = [ "bitflags 2.9.1", "wayland-backend", @@ -8279,9 +8498,9 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.6" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "896fdafd5d28145fce7958917d69f2fd44469b1d4e861cb5961bcbeebc6d1484" +checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3" dependencies = [ "proc-macro2", "quick-xml", @@ -8290,13 +8509,12 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.6" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbcebb399c77d5aa9fa5db874806ee7b4eba4e73650948e8f93963f128896615" +checksum = "34949b42822155826b41db8e5d0c1be3a2bd296c747577a43a3e6daefc296142" dependencies = [ "dlib", "log", - "once_cell", "pkg-config", ] @@ -8358,6 +8576,22 @@ dependencies = [ "web-sys", ] +[[package]] +name = "webbrowser" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaf4f3c0ba838e82b4e5ccc4157003fb8c324ee24c058470ffb82820becbde98" +dependencies = [ + "core-foundation 0.10.1", + "jni", + "log", + "ndk-context", + "objc2 0.6.1", + "objc2-foundation 0.3.1", + "url", + "web-sys", +] + [[package]] name = "weezl" version = "0.1.10" @@ -8366,24 +8600,25 @@ checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3" [[package]] name = "wgpu" -version = "24.0.5" +version = "26.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b0b3436f0729f6cdf2e6e9201f3d39dc95813fad61d826c1ed07918b4539353" +checksum = "70b6ff82bbf6e9206828e1a3178e851f8c20f1c9028e74dd3a8090741ccd5798" dependencies = [ "arrayvec", "bitflags 2.9.1", + "cfg-if", "cfg_aliases", "document-features", + "hashbrown 0.15.4", "js-sys", "log", "naga", - "parking_lot", + "portable-atomic", "profiling", "raw-window-handle", "smallvec", "static_assertions", "wasm-bindgen", - "wasm-bindgen-futures", "web-sys", "wgpu-core", "wgpu-hal", @@ -8392,49 +8627,84 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "24.0.5" +version = "26.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f0aa306497a238d169b9dc70659105b4a096859a34894544ca81719242e1499" +checksum = "d5f62f1053bd28c2268f42916f31588f81f64796e2ff91b81293515017ca8bd9" dependencies = [ "arrayvec", - "bit-vec 0.8.0", + "bit-set", + "bit-vec", "bitflags 2.9.1", "cfg_aliases", "document-features", + "hashbrown 0.15.4", "indexmap", "log", "naga", "once_cell", "parking_lot", + "portable-atomic", "profiling", "raw-window-handle", "rustc-hash 1.1.0", "smallvec", "thiserror 2.0.12", + "wgpu-core-deps-apple", + "wgpu-core-deps-wasm", + "wgpu-core-deps-windows-linux-android", "wgpu-hal", "wgpu-types", ] [[package]] -name = "wgpu-hal" -version = "24.0.4" +name = "wgpu-core-deps-apple" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f112f464674ca69f3533248508ee30cb84c67cf06c25ff6800685f5e0294e259" +checksum = "18ae5fbde6a4cbebae38358aa73fcd6e0f15c6144b67ef5dc91ded0db125dbdf" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-wasm" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03b9f9e1a50686d315fc6debe4980cc45cd37b0e919351917df494e8fdc8885" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-windows-linux-android" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "720a5cb9d12b3d337c15ff0e24d3e97ed11490ff3f7506e7f3d98c68fa5d6f14" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-hal" +version = "26.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df2c64ac282a91ad7662c90bc4a77d4a2135bc0b2a2da5a4d4e267afc034b9e" dependencies = [ "android_system_properties", "arrayvec", "ash", - "bit-set 0.8.0", + "bit-set", "bitflags 2.9.1", "block", "bytemuck", + "cfg-if", "cfg_aliases", - "core-graphics-types", + "core-graphics-types 0.2.0", "glow", "glutin_wgl_sys", "gpu-alloc", "gpu-allocator", "gpu-descriptor", + "hashbrown 0.15.4", "js-sys", "khronos-egl", "libc", @@ -8442,16 +8712,16 @@ dependencies = [ "log", "metal", "naga", - "ndk-sys 0.5.0+25.2.9519653", + "ndk-sys 0.6.0+11769913", "objc", - "once_cell", - "ordered-float", + "ordered-float 4.6.0", "parking_lot", + "portable-atomic", + "portable-atomic-util", "profiling", "range-alloc", "raw-window-handle", "renderdoc-sys", - "rustc-hash 1.1.0", "smallvec", "thiserror 2.0.12", "wasm-bindgen", @@ -8463,14 +8733,16 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "24.0.0" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" +checksum = "eca7a8d8af57c18f57d393601a1fb159ace8b2328f1b6b5f80893f7d672c9ae2" dependencies = [ "bitflags 2.9.1", + "bytemuck", "js-sys", "log", "serde", + "thiserror 2.0.12", "web-sys", ] @@ -8525,16 +8797,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" -dependencies = [ - "windows-core 0.57.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.58.0" @@ -8554,7 +8816,7 @@ dependencies = [ "windows-collections", "windows-core 0.61.2", "windows-future", - "windows-link", + "windows-link 0.1.3", "windows-numerics", ] @@ -8577,18 +8839,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" -dependencies = [ - "windows-implement 0.57.0", - "windows-interface 0.57.0", - "windows-result 0.1.2", - "windows-targets 0.52.6", -] - [[package]] name = "windows-core" version = "0.58.0" @@ -8610,7 +8860,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement 0.60.0", "windows-interface 0.59.1", - "windows-link", + "windows-link 0.1.3", "windows-result 0.3.4", "windows-strings 0.4.2", ] @@ -8622,21 +8872,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ "windows-core 0.61.2", - "windows-link", + "windows-link 0.1.3", "windows-threading", ] -[[package]] -name = "windows-implement" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-implement" version = "0.58.0" @@ -8659,17 +8898,6 @@ dependencies = [ "syn", ] -[[package]] -name = "windows-interface" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-interface" version = "0.58.0" @@ -8698,6 +8926,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-numerics" version = "0.2.0" @@ -8705,7 +8939,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ "windows-core 0.61.2", - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -8732,7 +8966,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -8751,7 +8985,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -8790,6 +9024,15 @@ dependencies = [ "windows-targets 0.53.2", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -8858,7 +9101,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" dependencies = [ - "windows-link", + "windows-link 0.1.3", ] [[package]] @@ -9093,6 +9336,15 @@ dependencies = [ "xkbcommon-dl", ] +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "winnow" version = "0.7.11" @@ -9419,27 +9671,3 @@ dependencies = [ "quote", "syn", ] - -[[package]] -name = "zune-core" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" - -[[package]] -name = "zune-inflate" -version = "0.2.54" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "zune-jpeg" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9e525af0a6a658e031e95f14b7f889976b74a11ba0eca5a5fc9ac8a1c43a6a" -dependencies = [ - "zune-core", -] diff --git a/Cargo.toml b/Cargo.toml index 53a9f49..628ba16 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ resolver = "3" members = ["crates/*"] [workspace.dependencies] -avian3d = { version = "0.3", default-features = false, features = [ +avian3d = { version = "0.4.0", default-features = false, features = [ "3d", "f32", "parry-f32", @@ -13,7 +13,7 @@ avian3d = { version = "0.3", default-features = false, features = [ "parallel", "serialize", ] } -bevy = { version = "0.16.0", default-features = false, features = [ +bevy = { version = "0.17.0", default-features = false, features = [ "animation", "async_executor", "bevy_asset", @@ -49,21 +49,22 @@ bevy = { version = "0.16.0", default-features = false, features = [ "x11", "track_location", ] } -bevy-inspector-egui = { version = "0.31" } -bevy-steamworks = "0.13.0" -bevy-ui-gradients = "0.4.0" -bevy_asset_loader = "0.23.0-rc.3" -bevy_ballistic = "0.4.0" -bevy_common_assets = { version = "0.13.0", features = ["ron"] } -bevy_debug_log = "0.6.0" -bevy_sprite3d = "5.0.0" -bevy_trenchbroom = { version = "0.8.1", default-features = false, features = [ - "avian", +bevy-inspector-egui = "0.34" +bevy-steamworks = "0.15.0" +bevy_asset_loader = "=0.24.0-rc.1" +bevy_ballistic = { git = "https://github.com/rustunit/bevy_ballistic.git", rev = "b08ffec" } +bevy_common_assets = { version = "0.14.0", features = ["ron"] } +bevy_debug_log = { git = "https://github.com/rustunit/bevy_debug_log.git", rev = "86051a0" } +bevy_sprite3d = "7.0.0" +bevy_trenchbroom = { version = "0.10", default-features = false, features = [ + "physics-integration", ] } -happy_feet = { git = "https://github.com/atornity/happy_feet.git", rev = "1b24ed95f166e63af35e7b6f9f0053d6d28e1f1a", features = [ +bevy_trenchbroom_avian = "0.10" +happy_feet = { git = "https://github.com/PROMETHIA-27/happy_feet.git", rev = "48a96cc", features = [ "serde", ] } -lightyear = { version = "0.24", git = "https://github.com/cBournhonesque/lightyear", rev = "69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d", default-features = false, features = [ +lightyear = { version = "0.25", default-features = false, features = [ + "avian3d", "input_native", "interpolation", "netcode", @@ -71,18 +72,15 @@ lightyear = { version = "0.24", git = "https://github.com/cBournhonesque/lightye "replication", "std", "udp", + "frame_interpolation", ] } -lightyear_avian3d = { git = "https://github.com/cBournhonesque/lightyear", rev = "69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" } -lightyear_serde = { git = "https://github.com/cBournhonesque/lightyear", rev = "69675e5f7b305ae02c3c2c3cd320bbc3e442ee4d" } +lightyear_serde = "0.25" nil = "0.14.0" rand = "=0.8.5" ron = "0.8" serde = { version = "1.0.219", features = ["derive"] } shared = { path = "crates/shared" } -steamworks = "0.11" +steamworks = "0.12" [profile.dev.package."*"] opt-level = 3 - -[patch.crates-io] -bevy-steamworks = { git = "https://github.com/HouraiTeahouse/bevy_steamworks.git", rev = "1933e5d" } diff --git a/build/macos/libsteam_api.dylib b/build/macos/libsteam_api.dylib index 2d8957f..c493b2b 100644 Binary files a/build/macos/libsteam_api.dylib and b/build/macos/libsteam_api.dylib differ diff --git a/build/steamos/redist/libsteam_api.so b/build/steamos/redist/libsteam_api.so index 85f66c6..8783570 100644 Binary files a/build/steamos/redist/libsteam_api.so and b/build/steamos/redist/libsteam_api.so differ diff --git a/build/steamosdevkit/libsteam_api.so b/build/steamosdevkit/libsteam_api.so index 85f66c6..8783570 100644 Binary files a/build/steamosdevkit/libsteam_api.so and b/build/steamosdevkit/libsteam_api.so differ diff --git a/build/win/steam_api64.dll b/build/win/steam_api64.dll index ce20eea..6d11825 100644 Binary files a/build/win/steam_api64.dll and b/build/win/steam_api64.dll differ diff --git a/build/win/steam_api64.lib b/build/win/steam_api64.lib index 845cf57..1f1c623 100644 Binary files a/build/win/steam_api64.lib and b/build/win/steam_api64.lib differ diff --git a/crates/client/Cargo.toml b/crates/client/Cargo.toml index 1a8953e..84c9f61 100644 --- a/crates/client/Cargo.toml +++ b/crates/client/Cargo.toml @@ -17,13 +17,13 @@ bevy = { workspace = true, default-features = false, features = [ ] } bevy-inspector-egui = { workspace = true, optional = true } bevy-steamworks = { workspace = true } -bevy-ui-gradients = { workspace = true } bevy_asset_loader = { workspace = true } bevy_ballistic = { workspace = true } bevy_common_assets = { workspace = true } bevy_debug_log = { workspace = true } bevy_sprite3d = { workspace = true } bevy_trenchbroom = { workspace = true, features = ["client"] } +bevy_trenchbroom_avian = { workspace = true } happy_feet = { workspace = true } lightyear = { workspace = true } nil = { workspace = true } diff --git a/crates/client/src/backpack/backpack_ui.rs b/crates/client/src/backpack/backpack_ui.rs index 8a31140..62cef1f 100644 --- a/crates/client/src/backpack/backpack_ui.rs +++ b/crates/client/src/backpack/backpack_ui.rs @@ -54,7 +54,7 @@ fn setup(mut commands: Commands, assets: Res) { ..default() }, TextColor(HEDZ_GREEN.into()), - TextLayout::new_with_justify(JustifyText::Center), + TextLayout::new_with_justify(Justify::Center), Node { position_type: PositionType::Absolute, top: Val::Px(20.0), diff --git a/crates/client/src/client.rs b/crates/client/src/client.rs index dc63426..d393038 100644 --- a/crates/client/src/client.rs +++ b/crates/client/src/client.rs @@ -1,12 +1,13 @@ use avian3d::prelude::{ - Collider, ColliderAabb, ColliderDensity, ColliderMarker, ColliderMassProperties, - CollisionEventsEnabled, CollisionLayers, Sensor, + Collider, ColliderAabb, ColliderDensity, ColliderMarker, ColliderOf, ColliderTransform, + CollisionEventsEnabled, CollisionLayers, Position, Rotation, Sensor, }; use bevy::{ - ecs::bundle::BundleFromComponents, prelude::*, scene::SceneInstance, utils::synccell::SyncCell, + ecs::bundle::BundleFromComponents, platform::cell::SyncCell, prelude::*, scene::SceneInstance, }; use bevy_trenchbroom::geometry::Brushes; use lightyear::{ + frame_interpolation::FrameInterpolate, link::{LinkConditioner, prelude::*}, netcode::Key, prelude::{ @@ -48,16 +49,22 @@ pub fn plugin(app: &mut App) { ); app.add_systems(Last, close_server_processes); app.add_systems(Update, despawn_absent_map_entities); + app.add_systems( + PreUpdate, + (migrate_remote_entities, ApplyDeferred) + .chain() + .after(ReplicationSystems::Receive), + ); global_observer!(app, on_connecting); global_observer!(app, on_connection_failed); global_observer!(app, on_connection_succeeded); global_observer!(app, temp_give_player_marker); global_observer!(app, connect_on_local_server_started); - global_observer!(app, received_remote_map_entity); + global_observer!(app, add_visual_interpolation_components); } -fn close_server_processes(mut app_exit: EventReader) { +fn close_server_processes(mut app_exit: MessageReader) { if app_exit.read().next().is_some() { let mut lock = SERVER_PROCESSES.lock(); for mut process in lock.drain(..) { @@ -114,21 +121,22 @@ fn attempt_connection(mut commands: Commands) -> Result { }, )?, UdpIo::default(), + PredictionManager::default(), InputTimeline(Timeline::from(Input::new( sync_config, InputDelayConfig::balanced(), ))), )) - .trigger(Connect); + .trigger(|entity| Connect { entity }); Ok(()) } fn on_connection_succeeded( - _trigger: Trigger, + _trigger: On, state: Res>, mut change_state: ResMut>, - mut sender: Single<&mut TriggerSender>, + mut sender: Single<&mut EventSender>, ) { if *state == GameState::Connecting { change_state.set(GameState::Playing); @@ -141,21 +149,21 @@ fn on_connection_succeeded( #[derive(Component)] struct ClientActive; -fn on_connecting(trigger: Trigger, mut commands: Commands) { - commands.entity(trigger.target()).insert(ClientActive); +fn on_connecting(trigger: On, mut commands: Commands) { + commands.entity(trigger.event().entity).insert(ClientActive); } #[derive(Resource)] struct LocalServerStdout(SyncCell>); fn on_connection_failed( - trigger: Trigger, + trigger: On, disconnected: Query<&Disconnected>, mut commands: Commands, client_active: Query<&ClientActive>, mut opened_server: Local, ) -> Result { - let disconnected = disconnected.get(trigger.target()).unwrap(); + let disconnected = disconnected.get(trigger.event().entity).unwrap(); if *opened_server { panic!( "failed to connect to local server: {:?}", @@ -163,7 +171,7 @@ fn on_connection_failed( ); } - let client = trigger.target(); + let client = trigger.event().entity; if client_active.contains(client) { commands.entity(client).remove::(); @@ -223,73 +231,87 @@ fn parse_local_server_stdout(mut commands: Commands, mut stdout: ResMut, + _trigger: On, state: Res>, mut commands: Commands, client: Single>, ) { if *state == GameState::Connecting { - commands.entity(*client).trigger(Connect); + commands + .entity(*client) + .trigger(|entity| Connect { entity }); } } -fn temp_give_player_marker(trigger: Trigger, mut commands: Commands) { +fn temp_give_player_marker(trigger: On, mut commands: Commands) { commands - .entity(trigger.target()) + .entity(trigger.event().entity) .insert(InputMarker::::default()); } -fn received_remote_map_entity( - trigger: Trigger, - world: &mut World, - mut child_buffer: Local>, +#[allow(clippy::type_complexity)] +fn migrate_remote_entities( + query: Query<(Entity, &TbMapEntityId), (Added, With)>, + children: Query<&Children>, + mut commands: Commands, + mut mapping: ResMut, ) { - let serverside = trigger.target(); - - if world.get::(serverside).is_none() { - return; + for (serverside, tb_id) in query.iter() { + received_remote_map_entity(serverside, tb_id.id, &children, &mut mapping, &mut commands); } +} - let id = *world.get::(serverside).unwrap(); - - let Some(clientside) = world.resource_mut::().0.remove(&id.id) else { - warn!("received unknown MapEntity ID `{id:?}`"); +fn received_remote_map_entity( + serverside: Entity, + tb_id: u64, + children: &Query<&Children>, + mapping: &mut TbMapEntityMapping, + commands: &mut Commands, +) { + let Some(clientside) = mapping.0.remove(&tb_id) else { + warn!("received unknown MapEntity ID `{tb_id:?}`"); return; }; // cannot just use `take` directly with a bundle because then any missing component would cause // the entire bundle to fail - move_component::(world, clientside, serverside); + move_component::(commands, clientside, serverside); move_component::<( Collider, ColliderAabb, ColliderDensity, ColliderMarker, - ColliderMassProperties, CollisionLayers, - )>(world, clientside, serverside); - move_component::(world, clientside, serverside); - move_component::(world, clientside, serverside); - move_component::(world, clientside, serverside); - move_component::(world, clientside, serverside); - move_component::(world, clientside, serverside); - move_component::(world, clientside, serverside); + )>(commands, clientside, serverside); + move_component::(commands, clientside, serverside); + move_component::(commands, clientside, serverside); + move_component::(commands, clientside, serverside); + move_component::(commands, clientside, serverside); + move_component::(commands, clientside, serverside); + move_component::(commands, clientside, serverside); + move_component::(commands, clientside, serverside); + move_component::(commands, clientside, serverside); - if let Some(children) = world.get::(clientside) { - child_buffer.extend(children.iter()); - for child in child_buffer.drain(..) { - world.entity_mut(child).insert(ChildOf(serverside)); + if let Ok(children) = children.get(clientside) { + for child in children.iter() { + commands.entity(child).insert(ChildOf(serverside)); } } - world.entity_mut(clientside).despawn(); + commands.entity(clientside).despawn(); } -fn move_component(world: &mut World, from: Entity, to: Entity) { - let comp = world.entity_mut(from).take::(); - if let Some(comp) = comp { - world.entity_mut(to).insert(comp); - } +fn move_component( + commands: &mut Commands, + from: Entity, + to: Entity, +) { + commands.queue(move |world: &mut World| { + let comp = world.entity_mut(from).take::(); + if let Some(comp) = comp { + world.entity_mut(to).insert(comp); + } + }); } fn despawn_absent_map_entities( @@ -309,3 +331,22 @@ fn despawn_absent_map_entities( } } } + +fn add_visual_interpolation_components(trigger: On, mut commands: Commands) { + commands.entity(trigger.entity).insert(( + FrameInterpolate:: { + // We must trigger change detection on visual interpolation + // to make sure that child entities (sprites, meshes, text) + // are also interpolated + trigger_change_detection: true, + ..default() + }, + FrameInterpolate:: { + // We must trigger change detection on visual interpolation + // to make sure that child entities (sprites, meshes, text) + // are also interpolated + trigger_change_detection: true, + ..default() + }, + )); +} diff --git a/crates/client/src/control/controller_flying.rs b/crates/client/src/control/controller_flying.rs new file mode 100644 index 0000000..c15a0de --- /dev/null +++ b/crates/client/src/control/controller_flying.rs @@ -0,0 +1,54 @@ +use bevy::prelude::*; +use lightyear::prelude::input::native::ActionState; +use shared::{ + GameState, + control::{ControlState, ControllerSet, LookDirMovement}, + player::PlayerBodyMesh, +}; +use std::f32::consts::PI; + +pub fn plugin(app: &mut App) { + app.add_systems( + FixedUpdate, + rotate_rig + .before(shared::control::controller_flying::apply_controls) + .in_set(ControllerSet::ApplyControlsFly) + .run_if(in_state(GameState::Playing)), + ); +} + +fn rotate_rig( + actions: Query<&ActionState>, + look_dir: Res, + mut player: Query<(&mut Transform, &ChildOf), With>, +) { + for (mut rig_transform, child_of) in player.iter_mut() { + let controls = actions.get(child_of.parent()).unwrap(); + + if controls.view_mode { + continue; + } + + let look_dir = look_dir.0; + + // todo: Make consistent with the running controller + let sensitivity = 0.001; + let max_pitch = 35.0 * PI / 180.0; + let min_pitch = -25.0 * PI / 180.0; + + rig_transform.rotate_y(look_dir.x * -sensitivity); + + let euler_rot = rig_transform.rotation.to_euler(EulerRot::YXZ); + let yaw = euler_rot.0; + let pitch = euler_rot.1 + look_dir.y * -sensitivity; + + let pitch_clamped = pitch.clamp(min_pitch, max_pitch); + rig_transform.rotation = Quat::from_euler(EulerRot::YXZ, yaw, pitch_clamped, 0.0); + + // The following can be used to limit the amount of rotation per frame + // let target_rotation = rig_transform.rotation + // * Quat::from_rotation_x(controls.keyboard_state.look_dir.y * sensitivity); + // let clamped_rotation = rig_transform.rotation.rotate_towards(target_rotation, 0.01); + // rig_transform.rotation = clamped_rotation; + } +} diff --git a/crates/client/src/control/controls.rs b/crates/client/src/control/controls.rs index 314f660..1419dde 100644 --- a/crates/client/src/control/controls.rs +++ b/crates/client/src/control/controls.rs @@ -1,4 +1,4 @@ -use super::Controls; +use super::{ControlState, Controls}; use crate::{GameState, control::CharacterInputEnabled}; use bevy::{ input::{ @@ -9,10 +9,13 @@ use bevy::{ prelude::*, }; use lightyear::{ - input::client::InputSet, + input::client::InputSystems, prelude::input::native::{ActionState, InputMarker}, }; -use shared::control::{ControlState, ControllerSet}; +use shared::{ + control::{ControllerSet, LookDirMovement}, + player::PlayerBodyMesh, +}; use std::{collections::HashMap, hash::Hash}; pub fn plugin(app: &mut App) { @@ -26,18 +29,20 @@ pub fn plugin(app: &mut App) { app.add_systems( FixedPreUpdate, ( + reset_lookdir, gamepad_controls, keyboard_controls, mouse_rotate, mouse_click, - gamepad_connections.run_if(on_event::), + gamepad_connections.run_if(on_message::), combine_controls, + get_lookdir, clear_keyboard_just, clear_gamepad_just, ) .chain() .in_set(ControllerSet::CollectInputs) - .before(InputSet::WriteClientInputs) + .before(InputSystems::WriteClientInputs) .run_if( in_state(GameState::Playing) .and(resource_exists_and_equals(CharacterInputEnabled::On)), @@ -45,7 +50,7 @@ pub fn plugin(app: &mut App) { ) .add_systems( FixedPreUpdate, - buffer_inputs.in_set(InputSet::WriteClientInputs), + buffer_inputs.in_set(InputSystems::WriteClientInputs), ); app.add_systems( @@ -63,6 +68,10 @@ fn buffer_inputs( player.0 = *controls; } +fn reset_lookdir(mut look_dir: ResMut) { + look_dir.0 = Vec2::ZERO; +} + /// Reset character inputs to default when character input is disabled. fn reset_control_state_on_disable( state: Res, @@ -71,7 +80,10 @@ fn reset_control_state_on_disable( ) { if state.is_changed() && matches!(*state, CharacterInputEnabled::Off) { *controls = Controls::default(); - *control_state = ControlState::default(); + *control_state = ControlState { + look_dir: control_state.look_dir, + ..default() + }; } } @@ -165,7 +177,7 @@ fn combine_controls(controls: Res, mut combined_controls: ResMut, mut combined_controls: ResMut, + rig_transform: Option>>, +) { + controls.look_dir = if let Some(ref rig_transform) = rig_transform { + rig_transform.forward() + } else { + Dir3::NEG_Z + }; +} + /// Applies a square deadzone to a Vec2 fn deadzone_square(v: Vec2, min: f32) -> Vec2 { Vec2::new( @@ -192,6 +215,7 @@ fn deadzone_square(v: Vec2, min: f32) -> Vec2 { fn gamepad_controls( gamepads: Query<(Entity, &Gamepad, &InputStateCache)>, mut controls: ResMut, + mut look_dir: ResMut, ) { let Some((_e, gamepad, cache)) = gamepads.iter().next() else { if controls.gamepad_state.is_some() { @@ -208,7 +232,7 @@ fn gamepad_controls( .unwrap_or_default(); // 8BitDo Ultimate wireless Controller for PC - let look_dir = if gamepad.vendor_id() == Some(11720) && gamepad.product_id() == Some(12306) { + look_dir.0 = if gamepad.vendor_id() == Some(11720) && gamepad.product_id() == Some(12306) { const EPSILON: f32 = 0.015; Vec2::new( if rotate < 0.5 - EPSILON { @@ -224,9 +248,11 @@ fn gamepad_controls( deadzone_square(gamepad.right_stick(), deadzone_right_stick) * 40. }; + let move_dir = deadzone_square(gamepad.left_stick(), deadzone_left_stick); + let state = ControlState { - move_dir: deadzone_square(gamepad.left_stick(), deadzone_left_stick), - look_dir, + move_dir, + look_dir: Dir3::NEG_Z, jump: gamepad.pressed(GamepadButton::South), view_mode: gamepad.pressed(GamepadButton::LeftTrigger2), trigger: gamepad.pressed(GamepadButton::RightTrigger2), @@ -251,11 +277,9 @@ fn gamepad_controls( } /// Collect mouse movement input -fn mouse_rotate(mut mouse: EventReader, mut controls: ResMut) { - controls.keyboard_state.look_dir = Vec2::ZERO; - +fn mouse_rotate(mut mouse: MessageReader, mut look_dir: ResMut) { for ev in mouse.read() { - controls.keyboard_state.look_dir += ev.delta; + look_dir.0 += ev.delta; } } @@ -292,7 +316,7 @@ fn keyboard_controls( } /// Collect mouse button input when pressed -fn mouse_click(mut events: EventReader, mut controls: ResMut) { +fn mouse_click(mut events: MessageReader, mut controls: ResMut) { controls.keyboard_state.just_triggered = false; for ev in events.read() { @@ -318,7 +342,7 @@ fn mouse_click(mut events: EventReader, mut controls: ResMut) { +fn gamepad_connections(mut evr_gamepad: MessageReader) { for ev in evr_gamepad.read() { if let GamepadEvent::Connection(connection) = ev { match &connection.connection { diff --git a/crates/client/src/control/mod.rs b/crates/client/src/control/mod.rs index ad889b2..b7349b1 100644 --- a/crates/client/src/control/mod.rs +++ b/crates/client/src/control/mod.rs @@ -2,6 +2,7 @@ use crate::GameState; use bevy::prelude::*; use shared::control::{ControlState, ControllerSet}; +mod controller_flying; pub mod controls; #[derive(Resource, Debug, Default)] @@ -19,7 +20,7 @@ pub enum CharacterInputEnabled { pub fn plugin(app: &mut App) { app.insert_resource(CharacterInputEnabled::On); - app.add_plugins(controls::plugin); + app.add_plugins((controller_flying::plugin, controls::plugin)); app.configure_sets( FixedPreUpdate, diff --git a/crates/client/src/debug.rs b/crates/client/src/debug.rs index 058d3e1..8e01139 100644 --- a/crates/client/src/debug.rs +++ b/crates/client/src/debug.rs @@ -28,7 +28,7 @@ fn setup(mut commands: Commands) { font_size: 12.0, ..default() }, - TextLayout::new_with_justify(JustifyText::Left), + TextLayout::new_with_justify(Justify::Left), Node { position_type: PositionType::Absolute, top: Val::Px(5.0), diff --git a/crates/client/src/heal_effect.rs b/crates/client/src/heal_effect.rs index f37e091..c0b753d 100644 --- a/crates/client/src/heal_effect.rs +++ b/crates/client/src/heal_effect.rs @@ -67,16 +67,16 @@ fn on_added( } fn on_removed( - trigger: Trigger, + trigger: On, mut commands: Commands, effects: Query<&HasHealingEffects>, ) { - let Ok(has_effects) = effects.get(trigger.target()) else { + let Ok(has_effects) = effects.get(trigger.event().entity) else { return; }; commands.entity(has_effects.effects).try_despawn(); commands - .entity(trigger.target()) + .entity(trigger.event().entity) .remove::(); } diff --git a/crates/client/src/main.rs b/crates/client/src/main.rs index 0db79bb..cd11d60 100644 --- a/crates/client/src/main.rs +++ b/crates/client/src/main.rs @@ -19,10 +19,13 @@ use bevy::{ use bevy_common_assets::ron::RonAssetPlugin; use bevy_sprite3d::Sprite3dPlugin; use bevy_trenchbroom::prelude::*; -use bevy_ui_gradients::UiGradientsPlugin; +use bevy_trenchbroom_avian::AvianPhysicsBackend; use camera::MainCamera; use heads_database::HeadDatabaseAsset; -use lightyear::prelude::client::ClientPlugins; +use lightyear::{ + avian3d::plugin::LightyearAvianPlugin, frame_interpolation::FrameInterpolationPlugin, + prelude::client::ClientPlugins, +}; use loading_assets::AudioAssets; use shared::*; use std::time::Duration; @@ -55,6 +58,7 @@ fn main() { level: bevy::log::Level::INFO, // provide custom log layer to receive logging events custom_layer: bevy_debug_log::log_capture_layer, + ..default() }), ); @@ -64,22 +68,37 @@ fn main() { bevy_debug_log::LogViewerPlugin::default() .auto_open_threshold(bevy::log::tracing::level_filters::LevelFilter::OFF), ); - app.add_plugins(PhysicsPlugins::default()); + app.add_plugins( + PhysicsPlugins::default() + .build() + // TODO: This plugin is *not* disabled on the server. This is to solve a bug related to collider transform inheritance. See the + // LightyearAvianPlugin below. + // Periwink is looking into it at the moment. This **must** be disabled on the client, or positions break for NPCs and some other things. + .disable::() + // FrameInterpolation handles interpolating Position and Rotation + .disable::(), + ); + // TODO: This plugin is *not* inserted on the server. This is to solve a bug related to collider transform inheritance. See the + // `.disable::()` above. + // Periwink is looking into it at the moment. This **must** be inserted on the client, or positions break for NPCs and some other things. + app.add_plugins(LightyearAvianPlugin::default()); + app.add_plugins(FrameInterpolationPlugin::::default()); + app.add_plugins(FrameInterpolationPlugin::::default()); app.add_plugins(ClientPlugins { tick_duration: Duration::from_secs_f64(1.0 / 60.0), }); app.add_plugins(Sprite3dPlugin); app.add_plugins(TrenchBroomPlugins( - TrenchBroomConfig::new("hedz").icon(None), + TrenchBroomConfig::new("hedz") + .icon(None) + .default_solid_spawn_hooks(|| SpawnHooks::new().convex_collider()), )); - app.add_plugins(UiGradientsPlugin); + app.add_plugins(TrenchBroomPhysicsPlugin::new(AvianPhysicsBackend)); app.add_plugins(RonAssetPlugin::::new(&["headsdb.ron"])); #[cfg(feature = "dbg")] { - app.add_plugins(bevy_inspector_egui::bevy_egui::EguiPlugin { - enable_multipass_for_primary_context: true, - }); + app.add_plugins(bevy_inspector_egui::bevy_egui::EguiPlugin::default()); app.add_plugins(bevy_inspector_egui::quick::WorldInspectorPlugin::new()); app.add_plugins(PhysicsDebugPlugin::default()); diff --git a/crates/client/src/player.rs b/crates/client/src/player.rs index 421144e..8cf518d 100644 --- a/crates/client/src/player.rs +++ b/crates/client/src/player.rs @@ -82,7 +82,7 @@ pub enum PlayerAssignmentState { pub struct LocalPlayer; fn on_update_head_mesh( - trigger: Trigger, + trigger: On, mut commands: Commands, body_mesh: Single<(Entity, &Children), With>, head_db: Res, diff --git a/crates/client/src/sounds.rs b/crates/client/src/sounds.rs index 8b87e2f..f3ead87 100644 --- a/crates/client/src/sounds.rs +++ b/crates/client/src/sounds.rs @@ -7,7 +7,7 @@ pub fn plugin(app: &mut App) { } fn on_spawn_sounds( - trigger: Trigger, + trigger: On, mut commands: Commands, // settings: SettingsRead, assets: Res, diff --git a/crates/client/src/steam.rs b/crates/client/src/steam.rs index c180ca3..698157e 100644 --- a/crates/client/src/steam.rs +++ b/crates/client/src/steam.rs @@ -13,7 +13,7 @@ pub fn plugin(app: &mut App) { ); } -fn log_steam_events(mut events: EventReader) { +fn log_steam_events(mut events: MessageReader) { for e in events.read() { info!("steam ev: {:?}", e); } diff --git a/crates/client/src/ui/pause.rs b/crates/client/src/ui/pause.rs index 007c569..2b2922b 100644 --- a/crates/client/src/ui/pause.rs +++ b/crates/client/src/ui/pause.rs @@ -69,7 +69,7 @@ fn setup(mut commands: Commands, assets: Res) { ..default() }, BackgroundColor(Color::linear_rgba(0., 0., 0., 0.6)), - StateScoped(PauseMenuState::Open), + DespawnOnExit(PauseMenuState::Open), children![ spawn_progress(ProgressBar::Music, 100, assets.font.clone()), spawn_progress(ProgressBar::Sound, 80, assets.font.clone()) @@ -91,7 +91,7 @@ fn spawn_progress(bar: ProgressBar, value: u8, font: Handle) -> impl Bundl }, BackgroundColor(BLACK.into()), BorderRadius::all(Val::Px(100.)), - BorderColor(HEDZ_PURPLE.into()), + BorderColor::all(HEDZ_PURPLE), BoxShadow::new( BLACK.into(), Val::Px(2.), @@ -117,7 +117,7 @@ fn spawn_progress(bar: ProgressBar, value: u8, font: Handle) -> impl Bundl ..Default::default() }, TextColor(HEDZ_GREEN.into()), - TextLayout::new_with_justify(JustifyText::Left), + TextLayout::new_with_justify(Justify::Left), ), ( Node { @@ -131,7 +131,7 @@ fn spawn_progress(bar: ProgressBar, value: u8, font: Handle) -> impl Bundl ..Default::default() }, TextColor(HEDZ_GREEN.into()), - TextLayout::new_with_justify(JustifyText::Left).with_no_wrap(), + TextLayout::new_with_justify(Justify::Left).with_no_wrap(), ), ( Text::new(format!("{value}",)), @@ -141,7 +141,7 @@ fn spawn_progress(bar: ProgressBar, value: u8, font: Handle) -> impl Bundl ..Default::default() }, TextColor(HEDZ_GREEN.into()), - TextLayout::new_with_justify(JustifyText::Left).with_no_wrap(), + TextLayout::new_with_justify(Justify::Left).with_no_wrap(), ), ( Node { @@ -155,7 +155,7 @@ fn spawn_progress(bar: ProgressBar, value: u8, font: Handle) -> impl Bundl ..Default::default() }, TextColor(HEDZ_GREEN.into()), - TextLayout::new_with_justify(JustifyText::Left).with_no_wrap(), + TextLayout::new_with_justify(Justify::Left).with_no_wrap(), ) ], ) @@ -176,11 +176,11 @@ fn selection_changed( ) { if state.is_changed() { for (mut border, bar) in query.iter_mut() { - border.0 = if *bar == state.0 { - HEDZ_GREEN.into() + *border = BorderColor::all(if *bar == state.0 { + HEDZ_GREEN } else { - HEDZ_PURPLE.into() - } + HEDZ_PURPLE + }) } } } diff --git a/crates/server/Cargo.toml b/crates/server/Cargo.toml index 281aa36..5fed98a 100644 --- a/crates/server/Cargo.toml +++ b/crates/server/Cargo.toml @@ -11,14 +11,14 @@ dbg = ["avian3d/debug-plugin", "shared/dbg"] avian3d = { workspace = true } bevy = { workspace = true, default-features = false } bevy-steamworks = { workspace = true } -bevy-ui-gradients = { workspace = true } bevy_common_assets = { workspace = true } bevy_sprite3d = { workspace = true } bevy_trenchbroom = { workspace = true } +bevy_trenchbroom_avian = { workspace = true } clap = { version = "=4.5.47", features = ["derive"] } happy_feet = { workspace = true } lightyear = { workspace = true } -lightyear_avian3d = { workspace = true } +rand = { workspace = true } ron = { workspace = true } serde = { workspace = true } shared = { workspace = true } diff --git a/crates/server/src/head_drop.rs b/crates/server/src/head_drop.rs new file mode 100644 index 0000000..45801ab --- /dev/null +++ b/crates/server/src/head_drop.rs @@ -0,0 +1,115 @@ +use avian3d::prelude::*; +use bevy::{ + ecs::{relationship::RelatedSpawner, spawn::SpawnWith}, + prelude::*, +}; +use lightyear::prelude::{NetworkTarget, Replicate}; +use shared::{ + global_observer, + head_drop::{HeadCollected, HeadDrop, HeadDropEnableTime, HeadDrops, SecretHeadMarker}, + heads_database::HeadsDatabase, + physics_layers::GameLayer, + player::Player, + protocol::{GltfSceneRoot, PlaySound}, + utils::{ + billboards::Billboard, one_shot_force::OneShotForce, squish_animation::SquishAnimation, + }, +}; +use std::f32::consts::PI; + +pub fn plugin(app: &mut App) { + global_observer!(app, on_head_drop); +} + +fn on_head_drop( + trigger: On, + mut commands: Commands, + heads_db: Res, + time: Res