diff --git a/rs/Cargo.lock b/rs/Cargo.lock index b65c4c1..7e99555 100644 --- a/rs/Cargo.lock +++ b/rs/Cargo.lock @@ -24,51 +24,59 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74a4b14f3d99c1255dcba8f45621ab1a2e7540a0009652d33989005a4d0bfc6b" +[[package]] +name = "accesskit" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cf780eb737f2d4a49ffbd512324d53ad089070f813f7be7f99dbd5123a7f448" + [[package]] name = "accesskit_consumer" -version = "0.16.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c17cca53c09fbd7288667b22a201274b9becaa27f0b91bf52a526db95de45e6" +checksum = "3bdfa1638ddd6eb9c752def95568df8b3ad832df252e9156d2eb783b201ca8a9" dependencies = [ - "accesskit", + "accesskit 0.14.0", + "immutable-chunkmap", ] [[package]] name = "accesskit_macos" -version = "0.10.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3b6ae1eabbfbced10e840fd3fce8a93ae84f174b3e4ba892ab7bcb42e477a7" +checksum = "c236a84ff1111defc280cee755eaa953d0b24398786851b9d28322c6d3bb1ebd" dependencies = [ - "accesskit", + "accesskit 0.14.0", "accesskit_consumer", - "objc2 0.3.0-beta.3.patch-leaks.3", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", ] [[package]] name = "accesskit_windows" -version = "0.15.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcae27ec0974fc7c3b0b318783be89fd1b2e66dd702179fe600166a38ff4a0b" +checksum = "5d7f43d24b16b3e76bef248124fbfd2493c3a9860edb5aae1010c890e826de5e" dependencies = [ - "accesskit", + "accesskit 0.14.0", "accesskit_consumer", - "once_cell", "paste", "static_assertions", - "windows 0.48.0", + "windows 0.54.0", ] [[package]] name = "accesskit_winit" -version = "0.17.0" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45f8f7c9f66d454d5fd8e344c8c8c7324b57194e1041b955519fc58a01e77a25" +checksum = "755535e6bf711a42dac28b888b884b10fc00ff4010d9d3bd871c5f5beae5aa78" dependencies = [ - "accesskit", + "accesskit 0.14.0", "accesskit_macos", "accesskit_windows", - "raw-window-handle 0.6.0", + "raw-window-handle", "winit", ] @@ -129,9 +137,9 @@ dependencies = [ [[package]] name = "android-activity" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", "bitflags 2.5.0", @@ -141,9 +149,9 @@ dependencies = [ "jni-sys", "libc", "log", - "ndk", + "ndk 0.9.0", "ndk-context", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", "thiserror", ] @@ -192,7 +200,7 @@ checksum = "a2041f1943049c7978768d84e6d0fd95de98b76d6c4727b09e78ec253d29fa58" dependencies = [ "clipboard-win", "core-graphics", - "image", + "image 0.24.9", "log", "objc", "objc-foundation", @@ -261,11 +269,10 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.8.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" dependencies = [ - "async-lock 3.3.0", "async-task", "concurrent-queue", "fastrand", @@ -395,53 +402,63 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "bevy" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea370412c322af887c9115442d8f2ec991b652f163a1d8920ecaf08cae63f2bc" +checksum = "043c9ad4b6fc4ca52d779873a8ca792a4e37842d07fce95363c9e17e36a1d8a0" dependencies = [ - "bevy_internal", + "bevy_internal 0.14.2", ] [[package]] name = "bevy-inspector-egui" -version = "0.23.4" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb36c3adb02afa4496085250d437217b2a5280d8dd464937c6c5b21bc88830c0" +checksum = "cac12a22e5de801323bc5bc344949de086b9b8db02c34e109f128ffd41514e5d" dependencies = [ "bevy-inspector-egui-derive", - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", - "bevy_core", + "bevy_color", + "bevy_core 0.14.2", "bevy_core_pipeline", - "bevy_ecs", - "bevy_egui", - "bevy_hierarchy", - "bevy_log", - "bevy_math", + "bevy_ecs 0.14.2", + "bevy_egui 0.30.1", + "bevy_hierarchy 0.14.2", + "bevy_log 0.14.2", + "bevy_math 0.14.2", "bevy_pbr", - "bevy_reflect", + "bevy_reflect 0.14.2", "bevy_render", - "bevy_time", - "bevy_utils", - "bevy_window", - "egui", - "image", - "once_cell", + "bevy_state", + "bevy_time 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", + "bytemuck", + "egui 0.29.1", + "fuzzy-matcher", + "image 0.25.5", "pretty-type-name", "smallvec", + "winit", ] [[package]] name = "bevy-inspector-egui-derive" -version = "0.23.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3c488161a04a123e10273e16d4533945943fcfcf345f066242790e8977aee2d" +checksum = "89f3be3ba88a25445c0c10684709b1ccd07e37f5f6b5d1b8dcf11d34548f1d61" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -450,29 +467,52 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6192db480a04d4a0ad5d89a2fbd78ccca5ce902829a49ec2d1dbc213222ed8b1" dependencies = [ - "accesskit", - "bevy_app", - "bevy_derive", - "bevy_ecs", + "accesskit 0.12.3", + "bevy_app 0.13.1", + "bevy_derive 0.13.1", + "bevy_ecs 0.13.1", +] + +[[package]] +name = "bevy_a11y" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1a976cb539d6a5a3ff579cdb78187a6bcfbffa7e8224ea28f23d8b983d9389" +dependencies = [ + "accesskit 0.14.0", + "bevy_app 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", ] [[package]] name = "bevy_animation" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef3bbaf9233c428d8dd4b66a41b5381e41c67da860d9dc2118a8e6610ec874c" +checksum = "93aef7d21a0342c24b05059493aa31d58f1798d34a2236569a8789b74df5a475" dependencies = [ - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", - "bevy_core", - "bevy_ecs", - "bevy_hierarchy", - "bevy_math", - "bevy_reflect", + "bevy_color", + "bevy_core 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_log 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "bevy_render", - "bevy_time", - "bevy_transform", - "bevy_utils", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "blake3", + "fixedbitset 0.5.7", + "petgraph", + "ron", + "serde", + "thiserror", + "thread_local", + "uuid", ] [[package]] @@ -481,32 +521,49 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b508824497f3a3a2fab8398dc3944a4d4adddcc30ee25cd6d45b0a57336549ce" dependencies = [ - "bevy_derive", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_derive 0.13.1", + "bevy_ecs 0.13.1", + "bevy_reflect 0.13.1", + "bevy_tasks 0.13.1", + "bevy_utils 0.13.1", "downcast-rs", "wasm-bindgen", "web-sys", ] +[[package]] +name = "bevy_app" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5361d0f8a8677a5d0102cfe7321a7ecd2a8b9a4f887ce0dde1059311cf9cd42" +dependencies = [ + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", + "console_error_panic_hook", + "downcast-rs", + "thiserror", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "bevy_asset" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf224b57fb65e1cde921afe0b343c2d595531dbf882c41abad01bbc665a05c4" +checksum = "60ec5ea257e1ebd3d411f669e29acf60beb715bebc7e1f374c17f49cd3aad46c" dependencies = [ "async-broadcast", "async-fs", "async-lock 3.3.0", - "bevy_app", + "bevy_app 0.14.2", "bevy_asset_macros", - "bevy_ecs", - "bevy_log", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", "bevy_winit", "blake3", "crossbeam-channel", @@ -519,6 +576,7 @@ dependencies = [ "ron", "serde", "thiserror", + "uuid", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -526,70 +584,103 @@ dependencies = [ [[package]] name = "bevy_asset_macros" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684c855651e7734740b76ada0e7daed116c46d393f9031cc45c4fe9ad5829548" +checksum = "c9eb05ce838d282f09d83380b4d6432aec7519d421dee8c75cc20e6148237e6e" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] name = "bevy_audio" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0af1796b7e56c2f49de5be72fb2aadb8f9310d6173d70040fd2eff1c7cb29009" +checksum = "8ee31312a0e67f288fe12a1d9aa679dd0ba8a49e1e6fe5fcd2ba1aa1ea34e5ed" dependencies = [ - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_transform", - "bevy_utils", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "cpal", "rodio", ] +[[package]] +name = "bevy_color" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04842e9d38a93f0c75ab46f7f404ea24ef57ad83dbd159e5b4b35318b02257bb" +dependencies = [ + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bytemuck", + "encase", + "serde", + "thiserror", + "wgpu-types", +] + [[package]] name = "bevy_core" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1a8f4722fb978d308b6311f3dd61f6885165055ad05ce3dfc1b2fd001bb017e" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_app 0.13.1", + "bevy_ecs 0.13.1", + "bevy_math 0.13.1", + "bevy_reflect 0.13.1", + "bevy_tasks 0.13.1", + "bevy_utils 0.13.1", "bytemuck", +] + +[[package]] +name = "bevy_core" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de706862871a1fe99ea619bff2f99d73e43ad82f19ef866a9e19a14c957c8537" +dependencies = [ + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", "serde", + "uuid", ] [[package]] name = "bevy_core_pipeline" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568659c43c8f1805f434b5fc0f8e700c263391403f899312bb0e4bc8d8b9ca70" +checksum = "2f6e1e122ada4cd811442e083fb5ad3e325c59a87271d5ef57193f1c2cad7f8c" dependencies = [ - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", - "bevy_core", - "bevy_derive", - "bevy_ecs", - "bevy_log", - "bevy_math", - "bevy_reflect", + "bevy_color", + "bevy_core 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "bitflags 2.5.0", + "nonmax", "radsort", "serde", + "smallvec", + "thiserror", ] [[package]] @@ -598,9 +689,20 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7de77523d154e220a740e568a89f52fac7de481374bdecbbbeb283a37580ba34" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.13.1", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "bevy_derive" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbfc33a4c6b80760bb8bf850a2cc65a1e031da62fd3ca8b552189104dc98514" +dependencies = [ + "bevy_macro_utils 0.14.2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -609,32 +711,47 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b5b031eeafc17bed997313ca15c8e4ed8b97fe2e9ef48e980833e4bf5cfa0e7" dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_log", - "bevy_time", - "bevy_utils", + "bevy_app 0.13.1", + "bevy_core 0.13.1", + "bevy_ecs 0.13.1", + "bevy_log 0.13.1", + "bevy_time 0.13.1", + "bevy_utils 0.13.1", "const-fnv1a-hash", "sysinfo", ] +[[package]] +name = "bevy_diagnostic" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bebb154e0cc78e3bbfbfdb42fb502b14c1cd47e72f16e6d4228dfe6233ba6cbd" +dependencies = [ + "bevy_app 0.14.2", + "bevy_core 0.14.2", + "bevy_ecs 0.14.2", + "bevy_tasks 0.14.2", + "bevy_time 0.14.2", + "bevy_utils 0.14.2", + "const-fnv1a-hash", +] + [[package]] name = "bevy_dylib" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2e57c27c2ea4b35a7eb3d8c1ded793139f13607697ee8c60629020d30bd7179" dependencies = [ - "bevy_internal", + "bevy_internal 0.13.1", ] [[package]] name = "bevy_dynamic_plugin" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da33859afbe97772ee4cb9b2160987b68844d324dbe1953f3f287ee7f1dfe6ae" +checksum = "088cd137821bfe30db9e512f657c9b82b79f4c2595b2ee9b87946e0170d5c7d9" dependencies = [ - "bevy_app", + "bevy_app 0.14.2", "libloading 0.8.3", "thiserror", ] @@ -646,132 +763,209 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a027175613f630a51273c0f8ae909dd54ea3ce72eb573f456056553f79918ac" dependencies = [ "async-channel", - "bevy_ecs_macros", - "bevy_ptr", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_ecs_macros 0.13.1", + "bevy_ptr 0.13.1", + "bevy_reflect 0.13.1", + "bevy_tasks 0.13.1", + "bevy_utils 0.13.1", "downcast-rs", - "fixedbitset", - "rustc-hash", + "fixedbitset 0.4.2", + "rustc-hash 1.1.0", "serde", "thiserror", "thread_local", ] +[[package]] +name = "bevy_ecs" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ee4222406637f3c8e3991a99788cfcde76097bf997c311f1b6297364057483f" +dependencies = [ + "arrayvec", + "bevy_ecs_macros 0.14.2", + "bevy_ptr 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", + "bitflags 2.5.0", + "concurrent-queue", + "fixedbitset 0.5.7", + "nonmax", + "petgraph", + "serde", + "thiserror", +] + [[package]] name = "bevy_ecs_macros" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55dbbb6300f08cef5983497970db8545d3cbda6ee4f410a6c6742b7b6bbfd3af" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.13.1", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "bevy_ecs_macros" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36b573430b67aff7bde8292257494f39343401379bfbda64035ba4918bba7b20" +dependencies = [ + "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] name = "bevy_egui" -version = "0.25.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84bfb8d4104a1467910cf2090bc6a6d394ebde39c0dbc02397b45aa9ef88e80" +checksum = "5e4a90f30f2849a07d91e393b10c0cc05df09b5773c010ddde57dd8b583be230" dependencies = [ "arboard", "bevy", - "egui", + "bytemuck", + "console_log", + "crossbeam-channel", + "egui 0.28.1", + "js-sys", + "log", "thread_local", + "wasm-bindgen", + "wasm-bindgen-futures", "web-sys", "webbrowser", + "winit", +] + +[[package]] +name = "bevy_egui" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c451b97a7e934b2d31b39e1f68923c0a30894d23e39a2d2d90dbd50aa24d472e" +dependencies = [ + "arboard", + "bevy_app 0.14.2", + "bevy_asset", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_input 0.14.2", + "bevy_log 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render", + "bevy_time 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", + "bevy_winit", + "bytemuck", + "crossbeam-channel", + "egui 0.29.1", + "encase", + "js-sys", + "log", + "thread_local", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webbrowser", + "wgpu-types", + "winit", ] [[package]] name = "bevy_encase_derive" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df72ac1273fcdb8105736c42815442ae1291f1f577e34cb7e9d18f732103e2f0" +checksum = "d06c9693847a2a6ea61d6b86288dd4d8b6a79f05d4bf6e27b96d4f5c8d552fe4" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", "encase_derive_impl", ] [[package]] name = "bevy_gilrs" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02146d8a92ac322717185005a17b488e74b2ec08ca3f9eb8a7cadb7f0486cb70" +checksum = "0422ccb3ce0f79b264100cf064fdc5ef65cef5c7d51bf6378058f9b96fea4183" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_input", - "bevy_log", - "bevy_time", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_input 0.14.2", + "bevy_time 0.14.2", + "bevy_utils 0.14.2", "gilrs", "thiserror", ] [[package]] name = "bevy_gizmos" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66e9965860d505e2ea4144850904cefd8b528f59477061df8563194dc954ad58" +checksum = "dfe32af0666d8d8a7fd6eb6b5e41eceefdc6f2e5441c74b812e8f0902a9d7f52" dependencies = [ - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", - "bevy_core", + "bevy_color", "bevy_core_pipeline", - "bevy_ecs", + "bevy_ecs 0.14.2", "bevy_gizmos_macros", - "bevy_log", - "bevy_math", + "bevy_math 0.14.2", "bevy_pbr", - "bevy_reflect", + "bevy_reflect 0.14.2", "bevy_render", "bevy_sprite", - "bevy_transform", - "bevy_utils", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bytemuck", ] [[package]] name = "bevy_gizmos_macros" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e689be764256a5a0d1f01c5f1dbaa3439e98a1338bf88b496db184d28e00c9" +checksum = "906b052f8cf3f3983f0f6df625fb10cbd9b27d44e362a327dc1ed51300d362bc" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] name = "bevy_gltf" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0cd8fd1c1ce3a57ca96eaee05f406ad65865efd02606e5f288b5f7767d8c6f" +checksum = "d6adbd325b90e3c700d0966b5404e226c7deec1b8bda8f36832788d7b435b9b8" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bevy_animation", - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", - "bevy_core", + "bevy_color", + "bevy_core 0.14.2", "bevy_core_pipeline", - "bevy_ecs", - "bevy_hierarchy", - "bevy_log", - "bevy_math", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_math 0.14.2", "bevy_pbr", - "bevy_reflect", + "bevy_reflect 0.14.2", "bevy_render", "bevy_scene", - "bevy_tasks", - "bevy_transform", - "bevy_utils", + "bevy_tasks 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "gltf", "percent-encoding", "serde", "serde_json", + "smallvec", "thiserror", ] @@ -781,12 +975,26 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b2999d1e5bb877b475c9b2d17643d5fb47fc4cc49ea48ba3ab5a6b00ed850a6" dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_log", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.13.1", + "bevy_core 0.13.1", + "bevy_ecs 0.13.1", + "bevy_log 0.13.1", + "bevy_reflect 0.13.1", + "bevy_utils 0.13.1", +] + +[[package]] +name = "bevy_hierarchy" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a88b912b37e1bc4dbb2aa40723199f74c8b06c4fbb6da0bb4585131df28ef66e" +dependencies = [ + "bevy_app 0.14.2", + "bevy_core 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", + "smallvec", ] [[package]] @@ -795,11 +1003,26 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c22481e4290e2eca68b0c1f5f0a826f185d8f5e40e05c86bb6044dcfe3a04b3" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.13.1", + "bevy_ecs 0.13.1", + "bevy_math 0.13.1", + "bevy_reflect 0.13.1", + "bevy_utils 0.13.1", + "smol_str", + "thiserror", +] + +[[package]] +name = "bevy_input" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd3a54e67cc3ba17971de7b1a7e64eda84493c1e7bb6bfa11c6cf8ac124377b" +dependencies = [ + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", "serde", "smol_str", "thiserror", @@ -811,45 +1034,72 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ac9275cc7f4bce41dff1e62b853933e242f9e5c076d89f06156cf743097d6a0" dependencies = [ - "bevy_a11y", + "bevy_a11y 0.13.1", + "bevy_app 0.13.1", + "bevy_core 0.13.1", + "bevy_derive 0.13.1", + "bevy_diagnostic 0.13.1", + "bevy_ecs 0.13.1", + "bevy_hierarchy 0.13.1", + "bevy_input 0.13.1", + "bevy_log 0.13.1", + "bevy_math 0.13.1", + "bevy_ptr 0.13.1", + "bevy_reflect 0.13.1", + "bevy_tasks 0.13.1", + "bevy_time 0.13.1", + "bevy_transform 0.13.1", + "bevy_utils 0.13.1", + "bevy_window 0.13.1", +] + +[[package]] +name = "bevy_internal" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45d435cac77c568f3aef65f786a5fee0e53c81950c5258182dd2c1d6cd6c4fec" +dependencies = [ + "bevy_a11y 0.14.2", "bevy_animation", - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", "bevy_audio", - "bevy_core", + "bevy_color", + "bevy_core 0.14.2", "bevy_core_pipeline", - "bevy_derive", - "bevy_diagnostic", + "bevy_derive 0.14.2", + "bevy_diagnostic 0.14.2", "bevy_dynamic_plugin", - "bevy_ecs", + "bevy_ecs 0.14.2", "bevy_gilrs", "bevy_gizmos", "bevy_gltf", - "bevy_hierarchy", - "bevy_input", - "bevy_log", - "bevy_math", + "bevy_hierarchy 0.14.2", + "bevy_input 0.14.2", + "bevy_log 0.14.2", + "bevy_math 0.14.2", "bevy_pbr", - "bevy_ptr", - "bevy_reflect", + "bevy_ptr 0.14.2", + "bevy_reflect 0.14.2", "bevy_render", "bevy_scene", "bevy_sprite", - "bevy_tasks", + "bevy_state", + "bevy_tasks 0.14.2", "bevy_text", - "bevy_time", - "bevy_transform", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", "bevy_ui", - "bevy_utils", - "bevy_window", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "bevy_winit", ] [[package]] name = "bevy_kira_audio" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf58fed4b6fd13df35e77002821cf459948131de4ac262c3b6a175d8fe28fd3" +checksum = "180a9cb47545ec53a9bb0b4b2fc79af325f86334c7370722fceea90c765af5d9" dependencies = [ "anyhow", "bevy", @@ -866,15 +1116,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20c7b4e2443654d68b6f8c54e5f1ce3a16c8a9af10f4832390dcae36c1323307" dependencies = [ "android_log-sys", - "bevy_app", - "bevy_ecs", - "bevy_utils", + "bevy_app 0.13.1", + "bevy_ecs 0.13.1", + "bevy_utils 0.13.1", "console_error_panic_hook", "tracing-log 0.1.4", "tracing-subscriber", "tracing-wasm", ] +[[package]] +name = "bevy_log" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67240c7596c8f0653e50fce35a60196516817449235193246599facba9002e02" +dependencies = [ + "android_log-sys", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_utils 0.14.2", + "tracing-log 0.2.0", + "tracing-subscriber", + "tracing-wasm", +] + [[package]] name = "bevy_macro_utils" version = "0.13.1" @@ -883,63 +1148,91 @@ checksum = "3bbbf88fc577a21ee9994feed2253ee9838b63fb976783b7a549edfbe07c6764" dependencies = [ "proc-macro2", "quote", - "rustc-hash", - "syn 2.0.53", + "rustc-hash 1.1.0", + "syn 2.0.90", "toml_edit 0.21.1", ] +[[package]] +name = "bevy_macro_utils" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfc65e570012e64a21f3546df68591aaede8349e6174fb500071677f54f06630" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", + "toml_edit 0.22.12", +] + [[package]] name = "bevy_math" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d30721f36a0b5f9ad39deb140c50b85cbbaefebab8d10bd20d9de1c9572f968" dependencies = [ - "glam", + "glam 0.25.0", "serde", ] +[[package]] +name = "bevy_math" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5421792749dda753ab3718e77d27bfce38443daf1850b836b97530b6245a4581" +dependencies = [ + "bevy_reflect 0.14.2", + "glam 0.27.0", + "rand 0.8.5", + "serde", + "smallvec", + "thiserror", +] + [[package]] name = "bevy_mikktspace" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc081a695c3513f09fdc640bf7f66cd73c47eb479da50312bf9710ee6927729d" +checksum = "66cf695a264b043f2c4edb92dd5c742e6892180d2b30dac870012d153f8557ea" dependencies = [ - "glam", + "glam 0.27.0", ] [[package]] name = "bevy_pbr" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d90401eb58acb1c9627f11f75b076bfdeab2af9a4aea4540cb525efc5782b613" +checksum = "4dccaa3c945f19834dcf7cd8eb358236dbf0fc4000dacbc7710564e7856714db" dependencies = [ - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", + "bevy_color", "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "bevy_render", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "bitflags 2.5.0", "bytemuck", - "fixedbitset", + "fixedbitset 0.5.7", + "nonmax", "radsort", "smallvec", - "thread_local", + "static_assertions", ] [[package]] name = "bevy_pkv" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9189591339842b064c67ba28a39b5fdda17863385453b9e2f2762fabd43ca40" +checksum = "e95604d940e830747345e4bdd3218222ca393a4ccc1dfb8b031a11188ceb5b3c" dependencies = [ - "bevy_ecs", - "cfg_aliases", + "bevy_ecs 0.14.2", + "cfg_aliases 0.2.1", "directories", "redb", "rmp-serde", @@ -956,11 +1249,17 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea003584000ef02b73800cc7cb62ee74792fff431e6a8df36863c43bf56fb491" +[[package]] +name = "bevy_ptr" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61baa1bdc1f4a7ac2c18217570a7cc04e1cd54d38456e91782f0371c79afe0a8" + [[package]] name = "bevy_rapier3d" -version = "0.25.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ac2b344d110e8aff2dab7ca6ed428dfcbbfeeb8f20827825996538f24e7fcdf" +checksum = "863f0fa7a944d8fa49dde5b89793f4deecf8476f25d61f336063fe71db7743bd" dependencies = [ "bevy", "bitflags 2.5.0", @@ -975,55 +1274,89 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1101dbd44ae35e5c66802e46cfba1182e49f6163c824bee380d4acab5b2f640" dependencies = [ - "bevy_math", - "bevy_ptr", - "bevy_reflect_derive", - "bevy_utils", + "bevy_math 0.13.1", + "bevy_ptr 0.13.1", + "bevy_reflect_derive 0.13.1", + "bevy_utils 0.13.1", "downcast-rs", "erased-serde", - "glam", + "glam 0.25.0", "serde", "smol_str", "thiserror", ] +[[package]] +name = "bevy_reflect" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2508785a4a5809f25a237eec4fee2c91a4dbcf81324b2bbc2d6c52629e603781" +dependencies = [ + "bevy_ptr 0.14.2", + "bevy_reflect_derive 0.14.2", + "bevy_utils 0.14.2", + "downcast-rs", + "erased-serde", + "glam 0.27.0", + "petgraph", + "serde", + "smallvec", + "smol_str", + "thiserror", + "uuid", +] + [[package]] name = "bevy_reflect_derive" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2a8791d5841a6db862571f709d7ee70c2a5eb1634c3a4329817d04f0e307c2d" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.13.1", + "proc-macro2", + "quote", + "syn 2.0.90", + "uuid", +] + +[[package]] +name = "bevy_reflect_derive" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "967d5da1882ec3bb3675353915d3da909cafac033cbf31e58727824a1ad2a288" +dependencies = [ + "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", "uuid", ] [[package]] name = "bevy_render" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75bbb48471f8cd06f5253e271f9b793695f5b821fc9d39a875497905578d9867" +checksum = "836cf8a513db013cbe7d55a331060088efd407e49fd5b05c8404700cd82e7619" dependencies = [ "async-channel", - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", - "bevy_core", - "bevy_derive", - "bevy_ecs", + "bevy_color", + "bevy_core 0.14.2", + "bevy_derive 0.14.2", + "bevy_diagnostic 0.14.2", + "bevy_ecs 0.14.2", "bevy_encase_derive", - "bevy_hierarchy", - "bevy_log", - "bevy_math", + "bevy_hierarchy 0.14.2", + "bevy_math 0.14.2", "bevy_mikktspace", - "bevy_reflect", + "bevy_reflect 0.14.2", "bevy_render_macros", - "bevy_tasks", - "bevy_time", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_tasks 0.14.2", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "bitflags 2.5.0", "bytemuck", "codespan-reporting", @@ -1031,15 +1364,17 @@ dependencies = [ "encase", "futures-lite", "hexasphere", - "image", + "image 0.25.5", "js-sys", "ktx2", "naga", "naga_oil", + "nonmax", "ruzstd", + "send_wrapper", "serde", + "smallvec", "thiserror", - "thread_local", "wasm-bindgen", "web-sys", "wgpu", @@ -1047,31 +1382,31 @@ dependencies = [ [[package]] name = "bevy_render_macros" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffd61a89e7a1b55c78a0aef1fcadd0247fe74a101c00f831791db73d63465051" +checksum = "cbc24e0e95061a38a7744218b9c7e52e4c08b53f1499f33480e2b749f3864432" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] name = "bevy_scene" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368b989251241efb590976e309e4778ed9d04eb896c37ea6b874a374432a0b3e" +checksum = "8ec57a72d75273bdbb6154390688fd07ba79ae9f6f99476d1937f799c736c2da" dependencies = [ - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_reflect", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_reflect 0.14.2", "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "serde", "thiserror", "uuid", @@ -1079,30 +1414,56 @@ dependencies = [ [[package]] name = "bevy_sprite" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f52d807086d2c92bc37ee770aa6dbb442b62cdc5665b9c6dd32629b8fae05e4" +checksum = "e045b4d8cc8e7422a4c29b1eadbe224f5cc42f170b88d43e7535892fcede3840" dependencies = [ - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", + "bevy_color", "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_log", - "bevy_math", - "bevy_reflect", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "bitflags 2.5.0", "bytemuck", - "fixedbitset", + "fixedbitset 0.5.7", "guillotiere", "radsort", "rectangle-pack", "thiserror", ] +[[package]] +name = "bevy_state" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25335bfa58cc22371182335c3b133017293bc9b6d3308402fd4d1f978b83f937" +dependencies = [ + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_reflect 0.14.2", + "bevy_state_macros", + "bevy_utils 0.14.2", +] + +[[package]] +name = "bevy_state_macros" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee600b659c739f1911f997a81611fec0a1832cf731727956e5fa4e7532b4dd5" +dependencies = [ + "bevy_macro_utils 0.14.2", + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "bevy_svg" version = "0.13.0" @@ -1133,23 +1494,37 @@ dependencies = [ "wasm-bindgen-futures", ] +[[package]] +name = "bevy_tasks" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77865f310b1fc48fb05b7c4adbe76607ec01d0c14f8ab4caba4d714c86439946" +dependencies = [ + "async-channel", + "async-executor", + "concurrent-queue", + "futures-lite", + "wasm-bindgen-futures", +] + [[package]] name = "bevy_text" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f0e51919e13c0c39ecdffcf843e8a8d95fd8861023b02b3ee486d3fa4b6003" +checksum = "b661db828fd423fc41a4ccf43aa4d1b8e50e75057ec40453317d0d761e8ad62d" dependencies = [ "ab_glyph", - "bevy_app", + "bevy_app 0.14.2", "bevy_asset", - "bevy_ecs", - "bevy_math", - "bevy_reflect", + "bevy_color", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "bevy_render", "bevy_sprite", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "glyph_brush_layout", "serde", "thiserror", @@ -1161,10 +1536,24 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06fc48cf59acd2b1c52e61787b5bb3db1a0f923cc6ccc68c0d8ab2b5894cfd28" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.13.1", + "bevy_ecs 0.13.1", + "bevy_reflect 0.13.1", + "bevy_utils 0.13.1", + "crossbeam-channel", + "thiserror", +] + +[[package]] +name = "bevy_time" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e4d53ec32a1b16492396951d04de0d2d90e924bf9adcb8d1adacab5ab6c17c" +dependencies = [ + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", "crossbeam-channel", "serde", "thiserror", @@ -1176,40 +1565,56 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b962ae4253f5413b64a839ab8e8d63bc3e3db45f41d06b6ddc7886acdcb5d0f5" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_hierarchy", - "bevy_math", - "bevy_reflect", + "bevy_app 0.13.1", + "bevy_ecs 0.13.1", + "bevy_hierarchy 0.13.1", + "bevy_math 0.13.1", + "bevy_reflect 0.13.1", + "thiserror", +] + +[[package]] +name = "bevy_transform" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5493dce84427d00a9266e8e4386d738a72ee8640423b62dfcecb6dfccbfe0d2" +dependencies = [ + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "serde", "thiserror", ] [[package]] name = "bevy_ui" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3449b963573a56b484cf4f8883f1b5b8eaccaaeda8f28a70c006e3291450f77" +checksum = "56d2cba6603b39a3765f043212ae530e25550af168a7eec6b23b9b93c19bc5f7" dependencies = [ - "bevy_a11y", - "bevy_app", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", "bevy_asset", + "bevy_color", "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_reflect", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_input 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "bevy_render", "bevy_sprite", "bevy_text", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "bytemuck", + "nonmax", "serde", + "smallvec", "taffy", "thiserror", ] @@ -1221,7 +1626,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac758c2e8509a4a260b7a91f920be3beee6ab9e76e388494240ac5d672779159" dependencies = [ "ahash", - "bevy_utils_proc_macros", + "bevy_utils_proc_macros 0.13.1", "getrandom 0.2.12", "hashbrown", "nonmax", @@ -1233,6 +1638,21 @@ dependencies = [ "web-time 0.2.4", ] +[[package]] +name = "bevy_utils" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb0ec333b5965771153bd746f92ffd8aeeb9d008a8620ffd9ed474859381a5e" +dependencies = [ + "ahash", + "bevy_utils_proc_macros 0.14.2", + "getrandom 0.2.12", + "hashbrown", + "thread_local", + "tracing", + "web-time 1.1.0", +] + [[package]] name = "bevy_utils_proc_macros" version = "0.13.1" @@ -1241,47 +1661,78 @@ checksum = "014c80f466ed01821a2e602d63cd5076915c1af5de5fa3c074cc4a9ca898ada7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", +] + +[[package]] +name = "bevy_utils_proc_macros" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f1ab8f2f6f58439d260081d89a42b02690e5fdd64f814edc9417d33fcf2857" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "bevy_window" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa0c2a1e580b3b0ad0c928a5e250c8375c6a8a70d8b0f483b23d3bf5b670cc1a" +dependencies = [ + "bevy_a11y 0.13.1", + "bevy_app 0.13.1", + "bevy_ecs 0.13.1", + "bevy_input 0.13.1", + "bevy_math 0.13.1", + "bevy_reflect 0.13.1", + "bevy_utils 0.13.1", + "raw-window-handle", + "smol_str", ] [[package]] name = "bevy_window" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0c2a1e580b3b0ad0c928a5e250c8375c6a8a70d8b0f483b23d3bf5b670cc1a" +checksum = "c89e88a20db64ea8204540afb4699295947c454738fd50293f7b32ab8be857a6" dependencies = [ - "bevy_a11y", - "bevy_app", - "bevy_ecs", - "bevy_input", - "bevy_math", - "bevy_reflect", - "bevy_utils", - "raw-window-handle 0.6.0", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", + "raw-window-handle", "serde", "smol_str", ] [[package]] name = "bevy_winit" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2c408d459172758a4cfa37e3452d4ea0898101ec2b6d92aa3eb698511bef389" +checksum = "d0bef8ec3e4b45db943ad4d1c0bf59b09e382ce0651a706e2f33a70fa955303c" dependencies = [ "accesskit_winit", "approx", - "bevy_a11y", - "bevy_app", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_math", - "bevy_tasks", - "bevy_utils", - "bevy_window", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_input 0.14.2", + "bevy_log 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", + "cfg-if", "crossbeam-channel", - "raw-window-handle 0.6.0", + "raw-window-handle", + "serde", "wasm-bindgen", "web-sys", "winit", @@ -1302,15 +1753,15 @@ dependencies = [ "bitflags 2.5.0", "cexpr", "clang-sys", - "itertools", + "itertools 0.12.1", "lazy_static", "lazycell", "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -1365,42 +1816,13 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" -[[package]] -name = "block-sys" -version = "0.1.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" -dependencies = [ - "objc-sys 0.2.0-beta.2", -] - -[[package]] -name = "block-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" -dependencies = [ - "objc-sys 0.3.2", -] - [[package]] name = "block2" -version = "0.2.0-alpha.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" -dependencies = [ - "block-sys 0.1.0-beta.1", - "objc2-encode 2.0.0-pre.2", -] - -[[package]] -name = "block2" -version = "0.3.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "block-sys 0.2.1", - "objc2 0.4.1", + "objc2", ] [[package]] @@ -1427,9 +1849,9 @@ checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" [[package]] name = "bytemuck" -version = "1.15.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" +checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" dependencies = [ "bytemuck_derive", ] @@ -1442,7 +1864,7 @@ checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -1451,6 +1873,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.5.0" @@ -1459,9 +1887,9 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "calloop" -version = "0.12.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ "bitflags 2.5.0", "log", @@ -1471,6 +1899,18 @@ dependencies = [ "thiserror", ] +[[package]] +name = "calloop-wayland-source" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" +dependencies = [ + "calloop", + "rustix", + "wayland-backend", + "wayland-client", +] + [[package]] name = "cc" version = "1.0.90" @@ -1508,6 +1948,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "clang-sys" version = "1.7.0" @@ -1614,6 +2060,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "console_log" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" +dependencies = [ + "log", + "web-sys", +] + [[package]] name = "const-fnv1a-hash" version = "1.1.0" @@ -1736,7 +2192,7 @@ dependencies = [ "js-sys", "libc", "mach2", - "ndk", + "ndk 0.8.0", "ndk-context", "oboe", "wasm-bindgen", @@ -1818,9 +2274,9 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307" +checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" dependencies = [ "bitflags 2.5.0", "libloading 0.8.3", @@ -1892,39 +2348,80 @@ dependencies = [ "libloading 0.8.3", ] +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", +] + [[package]] name = "downcast-rs" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +[[package]] +name = "dpi" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" + +[[package]] +name = "ecolor" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e6b451ff1143f6de0f33fc7f1b68fecfd2c7de06e104de96c4514de3f5396f8" +dependencies = [ + "bytemuck", + "emath 0.28.1", +] + [[package]] name = "ecolor" -version = "0.26.2" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03cfe80b1890e1a8cdbffc6044d6872e814aaf6011835a2a5e2db0e5c5c4ef4e" +checksum = "775cfde491852059e386c4e1deb4aef381c617dc364184c6f6afee99b87c402b" dependencies = [ "bytemuck", + "emath 0.29.1", +] + +[[package]] +name = "egui" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20c97e70a2768de630f161bb5392cbd3874fcf72868f14df0e002e82e06cb798" +dependencies = [ + "ahash", + "emath 0.28.1", + "epaint 0.28.1", + "nohash-hasher", ] [[package]] name = "egui" -version = "0.26.2" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180f595432a5b615fc6b74afef3955249b86cfea72607b40740a4cd60d5297d0" +checksum = "53eafabcce0cb2325a59a98736efe0bf060585b437763f8c476957fb274bb974" dependencies = [ "ahash", - "epaint", + "emath 0.29.1", + "epaint 0.29.1", "nohash-hasher", ] [[package]] name = "egui_plot" -version = "0.26.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "803bfcb1ad294dd7f106e26ac9199730d16051496ddb66b10fdb6529eb43df58" +checksum = "d8dca4871c15d51aadb79534dcf51a8189e5de3426ee7b465eb7db9a0a81ea67" dependencies = [ - "egui", + "ahash", + "egui 0.29.1", + "emath 0.29.1", ] [[package]] @@ -1935,43 +2432,52 @@ checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "emath" -version = "0.26.2" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6a21708405ea88f63d8309650b4d77431f4bc28fb9d8e6f77d3963b51249e6" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "emath" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6916301ecf80448f786cdf3eb51d9dbdd831538732229d49119e2d4312eaaf09" +checksum = "b1fe0049ce51d0fb414d029e668dd72eb30bc2b739bf34296ed97bd33df544f3" dependencies = [ "bytemuck", ] [[package]] name = "encase" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ed933078d2e659745df651f4c180511cd582e5b9414ff896e7d50d207e3103" +checksum = "5a9299a95fa5671ddf29ecc22b00e121843a65cb9ff24911e394b4ae556baf36" dependencies = [ "const_panic", "encase_derive", - "glam", + "glam 0.27.0", "thiserror", ] [[package]] name = "encase_derive" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ce1449c7d19eba6cc0abd231150ad81620a8dce29601d7f8d236e5d431d72a" +checksum = "07e09decb3beb1fe2db6940f598957b2e1f7df6206a804d438ff6cb2a9cddc10" dependencies = [ "encase_derive_impl", ] [[package]] name = "encase_derive_impl" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92959a9e8d13eaa13b8ae8c7b583c3bf1669ca7a8e7708a088d12587ba86effc" +checksum = "fd31dbbd9743684d339f907a87fe212cb7b51d75b9e8e74181fe363199ee9b47" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -1985,19 +2491,41 @@ dependencies = [ [[package]] name = "epaint" -version = "0.26.2" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f0dcc0a0771e7500e94cd1cb797bd13c9f23b9409bdc3c824e2cbc562b7fa01" +dependencies = [ + "ab_glyph", + "ahash", + "bytemuck", + "ecolor 0.28.1", + "emath 0.28.1", + "nohash-hasher", + "parking_lot", +] + +[[package]] +name = "epaint" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b9fdf617dd7f58b0c8e6e9e4a1281f730cde0831d40547da446b2bb76a47af" +checksum = "a32af8da821bd4f43f2c137e295459ee2e1661d87ca8779dfa0eaf45d870e20f" dependencies = [ "ab_glyph", "ahash", "bytemuck", - "ecolor", - "emath", + "ecolor 0.29.1", + "emath 0.29.1", + "epaint_default_fonts", "nohash-hasher", "parking_lot", ] +[[package]] +name = "epaint_default_fonts" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483440db0b7993cf77a20314f08311dbe95675092405518c0677aa08c151a3ea" + [[package]] name = "equivalent" version = "1.0.1" @@ -2118,7 +2646,7 @@ checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall", "windows-sys 0.52.0", ] @@ -2128,6 +2656,12 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + [[package]] name = "flate2" version = "1.0.28" @@ -2173,7 +2707,7 @@ checksum = "8131752b3f3b876a20f42b3d08233ad177d6e7ec6d18aaa6954489a201071be5" dependencies = [ "fontconfig-parser", "log", - "memmap2", + "memmap2 0.5.10", "ttf-parser 0.17.1", ] @@ -2195,7 +2729,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -2247,6 +2781,15 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "fuzzy-matcher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +dependencies = [ + "thread_local", +] + [[package]] name = "gethostname" version = "0.4.3" @@ -2337,6 +2880,17 @@ dependencies = [ "serde", ] +[[package]] +name = "glam" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" +dependencies = [ + "bytemuck", + "rand 0.8.5", + "serde", +] + [[package]] name = "glob" version = "0.3.1" @@ -2376,7 +2930,7 @@ dependencies = [ "inflections", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -2445,9 +2999,9 @@ dependencies = [ [[package]] name = "gpu-descriptor" -version = "0.2.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" +checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ "bitflags 2.5.0", "gpu-descriptor-types", @@ -2456,18 +3010,18 @@ dependencies = [ [[package]] name = "gpu-descriptor-types" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" +checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ "bitflags 2.5.0", ] [[package]] name = "grid" -version = "0.10.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eec1c01eb1de97451ee0d60de7d81cf1e72aabefb021616027f3d1c3ec1c723c" +checksum = "be136d9dacc2a13cc70bb6c8f902b414fb2641f8db1314637c6b7933411a8f82" [[package]] name = "guillotiere" @@ -2507,12 +3061,12 @@ dependencies = [ [[package]] name = "hexasphere" -version = "10.0.0" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f33ddb7f7143d9e703c072e88b98cd8b9719f174137a671429351bd2ee43c02a" +checksum = "edd6b038160f086b0a7496edae34169ae22f328793cbe2b627a5a3d8373748ec" dependencies = [ "constgebra", - "glam", + "glam 0.27.0", ] [[package]] @@ -2530,17 +3084,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "icrate" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" -dependencies = [ - "block2 0.3.0", - "dispatch", - "objc2 0.4.1", -] - [[package]] name = "idna" version = "0.5.0" @@ -2565,12 +3108,33 @@ dependencies = [ "tiff", ] +[[package]] +name = "image" +version = "0.25.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" +dependencies = [ + "bytemuck", + "byteorder-lite", + "num-traits", + "png", +] + [[package]] name = "imagesize" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df19da1e92fbfec043ca97d622955381b1f3ee72a180ec999912df31b1ccd951" +[[package]] +name = "immutable-chunkmap" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578" +dependencies = [ + "arrayvec", +] + [[package]] name = "indexmap" version = "2.2.5" @@ -2649,6 +3213,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.10" @@ -2726,7 +3299,7 @@ checksum = "8968f1eda49cdf4f6406fd5ffe590c3ca2778a1b0e50b5684974b138a99dfb2f" dependencies = [ "atomic-arena", "cpal", - "glam", + "glam 0.25.0", "mint", "ringbuf", "send_wrapper", @@ -2794,14 +3367,14 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "leafwing-input-manager" -version = "0.13.3" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def515aa1461ed6ed5d55d53cea6c7149a3076c331cfea1d920682884bfaf839" +checksum = "bebb7f3227809906ca7ccc981aedf7805b5edb422b4265290cc749316c0faba4" dependencies = [ "bevy", - "bevy_egui", + "bevy_egui 0.28.0", "derive_more", - "itertools", + "itertools 0.13.0", "leafwing_input_manager_macros", "serde", ] @@ -2815,7 +3388,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -2869,7 +3442,7 @@ checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ "bitflags 2.5.0", "libc", - "redox_syscall 0.4.1", + "redox_syscall", ] [[package]] @@ -2880,7 +3453,7 @@ checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ "bitflags 2.5.0", "libc", - "redox_syscall 0.4.1", + "redox_syscall", ] [[package]] @@ -2910,7 +3483,7 @@ checksum = "adf157a4dc5a29b7b464aa8fe7edeff30076e07e13646a1c3874f58477dc99f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -2919,6 +3492,12 @@ version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "lock_api" version = "0.4.11" @@ -3019,11 +3598,20 @@ dependencies = [ "libc", ] +[[package]] +name = "memmap2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +dependencies = [ + "libc", +] + [[package]] name = "metal" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" dependencies = [ "bitflags 2.5.0", "block", @@ -3070,10 +3658,11 @@ dependencies = [ [[package]] name = "naga" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e3524642f53d9af419ab5e8dd29d3ba155708267667c2f3f06c88c9e130843" +checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" dependencies = [ + "arrayvec", "bit-set", "bitflags 2.5.0", "codespan-reporting", @@ -3082,7 +3671,7 @@ dependencies = [ "log", "num-traits", "pp-rs", - "rustc-hash", + "rustc-hash 1.1.0", "spirv", "termcolor", "thiserror", @@ -3091,9 +3680,9 @@ dependencies = [ [[package]] name = "naga_oil" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ea62ae0f2787456afca7209ca180522b41f00cbe159ee369eba1e07d365cd1" +checksum = "275d9720a7338eedac966141089232514c84d76a246a58ef501af88c5edf402f" dependencies = [ "bit-set", "codespan-reporting", @@ -3103,7 +3692,7 @@ dependencies = [ "once_cell", "regex", "regex-syntax 0.8.2", - "rustc-hash", + "rustc-hash 1.1.0", "thiserror", "tracing", "unicode-ident", @@ -3111,12 +3700,12 @@ dependencies = [ [[package]] name = "nalgebra" -version = "0.32.4" +version = "0.33.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4541eb06dce09c0241ebbaab7102f0a01a0c8994afed2e5d0d66775016e25ac2" +checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b" dependencies = [ "approx", - "glam", + "glam 0.27.0", "matrixmultiply", "nalgebra-macros", "num-complex", @@ -3129,13 +3718,13 @@ dependencies = [ [[package]] name = "nalgebra-macros" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" +checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.90", ] [[package]] @@ -3156,9 +3745,23 @@ dependencies = [ "bitflags 2.5.0", "jni-sys", "log", - "ndk-sys", + "ndk-sys 0.5.0+25.2.9519653", + "num_enum", + "thiserror", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.5.0", + "jni-sys", + "log", + "ndk-sys 0.6.0+11769913", "num_enum", - "raw-window-handle 0.6.0", + "raw-window-handle", "thiserror", ] @@ -3177,6 +3780,15 @@ dependencies = [ "jni-sys", ] +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", +] + [[package]] name = "nix" version = "0.28.0" @@ -3185,7 +3797,7 @@ checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ "bitflags 2.5.0", "cfg-if", - "cfg_aliases", + "cfg_aliases 0.1.1", "libc", ] @@ -3292,7 +3904,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -3343,7 +3955,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -3353,7 +3965,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] [[package]] @@ -3368,60 +3979,206 @@ dependencies = [ ] [[package]] -name = "objc-sys" -version = "0.2.0-beta.2" +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.5.0", + "block2", + "libc", + "objc2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", +] + +[[package]] +name = "objc2-encode" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.5.0", + "block2", + "dispatch", + "libc", + "objc2", +] [[package]] -name = "objc-sys" -version = "0.3.2" +name = "objc2-link-presentation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] [[package]] -name = "objc2" -version = "0.3.0-beta.3.patch-leaks.3" +name = "objc2-metal" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "block2 0.2.0-alpha.6", - "objc-sys 0.2.0-beta.2", - "objc2-encode 2.0.0-pre.2", + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-foundation", ] [[package]] -name = "objc2" -version = "0.4.1" +name = "objc2-quartz-core" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "objc-sys 0.3.2", - "objc2-encode 3.0.0", + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", ] [[package]] -name = "objc2-encode" -version = "2.0.0-pre.2" +name = "objc2-symbols" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" dependencies = [ - "objc-sys 0.2.0-beta.2", + "objc2", + "objc2-foundation", ] [[package]] -name = "objc2-encode" -version = "3.0.0" +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] [[package]] -name = "objc_exception" -version = "0.1.2" +name = "objc2-user-notifications" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "cc", + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", ] [[package]] @@ -3440,7 +4197,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" dependencies = [ "jni", - "ndk", + "ndk 0.8.0", "ndk-context", "num-derive", "num-traits", @@ -3534,31 +4291,34 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall", "smallvec", "windows-targets 0.48.5", ] [[package]] name = "parry3d" -version = "0.13.6" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d0bdaf533851feec5cba9af11cefcc753ecefba05f758cf6abe886086bc3f5" +checksum = "ec1d9cc5a359352e2be7e47270cef9f9e175794c03302553353804a436228e7f" dependencies = [ "approx", "arrayvec", - "bitflags 1.3.2", + "bitflags 2.5.0", "downcast-rs", "either", + "log", "nalgebra", "num-derive", "num-traits", - "rustc-hash", + "ordered-float", + "rustc-hash 2.1.0", "serde", "simba", "slab", "smallvec", "spade", + "thiserror", ] [[package]] @@ -3579,8 +4339,10 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ - "fixedbitset", + "fixedbitset 0.4.2", "indexmap", + "serde", + "serde_derive", ] [[package]] @@ -3589,6 +4351,26 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" +[[package]] +name = "pin-project" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "pin-project-lite" version = "0.2.13" @@ -3686,9 +4468,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -3699,6 +4481,15 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" +[[package]] +name = "quick-xml" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +dependencies = [ + "memchr", +] + [[package]] name = "quote" version = "1.0.35" @@ -3811,32 +4602,29 @@ checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" [[package]] name = "rapier3d" -version = "0.18.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d07a833e0aa3bc57010caaa50bf75fa78afc03a74207607db740da4e4579a1" +checksum = "bdfa17fa28a7a4cfaebf669f57ca34dce0e758b295bd8a2aa1fbac4e054fb836" dependencies = [ "approx", "arrayvec", "bit-vec", - "bitflags 1.3.2", + "bitflags 2.5.0", "crossbeam", "downcast-rs", "instant", + "log", "nalgebra", "num-derive", "num-traits", + "ordered-float", "parry3d", - "rustc-hash", + "rustc-hash 2.1.0", "serde", "simba", + "thiserror", ] -[[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - [[package]] name = "raw-window-handle" version = "0.6.0" @@ -3870,15 +4658,6 @@ dependencies = [ "libc", ] -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -3988,12 +4767,13 @@ checksum = "cbf4a6aa5f6d6888f39e980649f3ad6b666acdce1d78e95b8a2cb076e687ae30" [[package]] name = "rodio" -version = "0.17.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b1bb7b48ee48471f55da122c0044fcc7600cfcc85db88240b89cb832935e611" +checksum = "d1fceb9d127d515af1586d8d0cc601e1245bdb0af38e75c865a156290184f5b3" dependencies = [ "cpal", "lewton", + "thiserror", ] [[package]] @@ -4029,6 +4809,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" + [[package]] name = "rustix" version = "0.38.31" @@ -4060,12 +4846,10 @@ dependencies = [ [[package]] name = "ruzstd" -version = "0.5.0" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d" +checksum = "fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f" dependencies = [ - "byteorder", - "derive_more", "twox-hash", ] @@ -4093,12 +4877,31 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sctk-adwaita" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" +dependencies = [ + "ab_glyph", + "log", + "memmap2 0.9.5", + "smithay-client-toolkit", + "tiny-skia", +] + [[package]] name = "send_wrapper" version = "0.6.0" @@ -4122,7 +4925,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -4162,9 +4965,9 @@ dependencies = [ [[package]] name = "simba" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +checksum = "b3a386a501cd104797982c15ae17aafe8b9261315b5d07e3ec803f2ea26be0fa" dependencies = [ "approx", "num-complex", @@ -4221,6 +5024,31 @@ dependencies = [ "serde", ] +[[package]] +name = "smithay-client-toolkit" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" +dependencies = [ + "bitflags 2.5.0", + "calloop", + "calloop-wayland-source", + "cursor-icon", + "libc", + "log", + "memmap2 0.9.5", + "rustix", + "thiserror", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + [[package]] name = "smol_str" version = "0.2.1" @@ -4234,7 +5062,7 @@ dependencies = [ name = "sond-bevy-enum-components" version = "0.1.0" dependencies = [ - "bevy_ecs", + "bevy_ecs 0.14.2", "sond-bevy-enum-components-macros", ] @@ -4274,6 +5102,7 @@ dependencies = [ "rand_xorshift 0.3.0", "rapier3d", "serde", + "smallvec", "sond-bevy-enum-components", "sond-bevy-particles", "sond-has-engine", @@ -4330,6 +5159,7 @@ dependencies = [ "rapier3d", "ron", "serde", + "smallvec", "smol_str", "sond-bevy-particles", "sond-has-macros", @@ -4351,7 +5181,7 @@ dependencies = [ "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -4499,9 +5329,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.53" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -4524,13 +5354,14 @@ dependencies = [ [[package]] name = "taffy" -version = "0.3.18" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c2287b6d7f721ada4cddf61ade5e760b2c6207df041cac9bfaa192897362fd3" +checksum = "9cb893bff0f80ae17d3a57e030622a967b8dbc90e38284d9b4b1442e23873c94" dependencies = [ "arrayvec", "grid", "num-traits", + "serde", "slotmap", ] @@ -4545,22 +5376,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -4584,6 +5415,31 @@ dependencies = [ "weezl", ] +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -4613,7 +5469,7 @@ checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ "indexmap", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] @@ -4624,7 +5480,18 @@ checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap", "toml_datetime", - "winnow", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow 0.6.20", ] [[package]] @@ -4646,7 +5513,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] [[package]] @@ -4917,7 +5784,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", "wasm-bindgen-shared", ] @@ -4951,7 +5818,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4962,6 +5829,115 @@ version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +[[package]] +name = "wayland-backend" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" +dependencies = [ + "cc", + "downcast-rs", + "rustix", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" +dependencies = [ + "bitflags 2.5.0", + "rustix", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.5.0", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b08bc3aafdb0035e7fe0fdf17ba0c09c268732707dca4ae098f60cb28c9e4c" +dependencies = [ + "rustix", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.32.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e" +dependencies = [ + "bitflags 2.5.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b31cab548ee68c7eb155517f2212049dc151f7cd7910c2b66abfd31c3ee12bd" +dependencies = [ + "bitflags 2.5.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "782e12f6cd923c3c316130d56205ebab53f55d6666b7faddfad36cecaeeb4022" +dependencies = [ + "bitflags 2.5.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3" +dependencies = [ + "proc-macro2", + "quick-xml", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + [[package]] name = "web-sys" version = "0.3.69" @@ -4994,17 +5970,18 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.13" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1b04c569c83a9bb971dd47ec6fd48753315f4bf989b9b04a2e7ca4d7f0dc950" +checksum = "425ba64c1e13b1c6e8c5d2541c8fac10022ca584f33da781db01b5756aef1f4e" dependencies = [ + "block2", "core-foundation", "home", "jni", "log", "ndk-context", - "objc", - "raw-window-handle 0.5.2", + "objc2", + "objc2-foundation", "url", "web-sys", ] @@ -5017,19 +5994,20 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "0.19.3" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b1213b52478a7631d6e387543ed8f642bc02c578ef4e3b49aca2a29a7df0cb" +checksum = "90e37c7b9921b75dfd26dd973fdcbce36f13dfa6e2dc82aece584e0ed48c355c" dependencies = [ "arrayvec", "cfg-if", - "cfg_aliases", + "cfg_aliases 0.1.1", + "document-features", "js-sys", "log", "naga", "parking_lot", "profiling", - "raw-window-handle 0.6.0", + "raw-window-handle", "smallvec", "static_assertions", "wasm-bindgen", @@ -5042,23 +6020,24 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.19.3" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f6b033c2f00ae0bc8ea872c5989777c60bc241aac4e58b24774faa8b391f78" +checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" dependencies = [ "arrayvec", "bit-vec", "bitflags 2.5.0", - "cfg_aliases", + "cfg_aliases 0.1.1", "codespan-reporting", + "document-features", "indexmap", "log", "naga", "once_cell", "parking_lot", "profiling", - "raw-window-handle 0.6.0", - "rustc-hash", + "raw-window-handle", + "rustc-hash 1.1.0", "smallvec", "thiserror", "web-sys", @@ -5068,9 +6047,9 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.19.3" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f972c280505ab52ffe17e94a7413d9d54b58af0114ab226b9fc4999a47082e" +checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222" dependencies = [ "android_system_properties", "arrayvec", @@ -5078,7 +6057,7 @@ dependencies = [ "bit-set", "bitflags 2.5.0", "block", - "cfg_aliases", + "cfg_aliases 0.1.1", "core-graphics-types", "d3d12", "glow", @@ -5094,15 +6073,15 @@ dependencies = [ "log", "metal", "naga", - "ndk-sys", + "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", "parking_lot", "profiling", "range-alloc", - "raw-window-handle 0.6.0", + "raw-window-handle", "renderdoc-sys", - "rustc-hash", + "rustc-hash 1.1.0", "smallvec", "thiserror", "wasm-bindgen", @@ -5113,9 +6092,9 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b671ff9fb03f78b46ff176494ee1ebe7d603393f42664be55b64dc8d53969805" +checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" dependencies = [ "bitflags 2.5.0", "js-sys", @@ -5169,17 +6148,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-targets 0.48.5", -] - [[package]] name = "windows" version = "0.52.0" @@ -5197,6 +6165,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" dependencies = [ "windows-core 0.54.0", + "windows-implement", + "windows-interface", "windows-targets 0.52.4", ] @@ -5221,24 +6191,24 @@ dependencies = [ [[package]] name = "windows-implement" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" +checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.90", ] [[package]] name = "windows-interface" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" +checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.90", ] [[package]] @@ -5450,39 +6420,51 @@ checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" [[package]] name = "winit" -version = "0.29.15" +version = "0.30.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" +checksum = "0be9e76a1f1077e04a411f0b989cbd3c93339e1771cb41e71ac4aee95bfd2c67" dependencies = [ + "ahash", "android-activity", "atomic-waker", "bitflags 2.5.0", + "block2", "bytemuck", "calloop", - "cfg_aliases", + "cfg_aliases 0.2.1", + "concurrent-queue", "core-foundation", "core-graphics", "cursor-icon", - "icrate", + "dpi", "js-sys", "libc", - "log", - "ndk", - "ndk-sys", - "objc2 0.4.1", - "once_cell", + "memmap2 0.9.5", + "ndk 0.9.0", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", "orbclient", "percent-encoding", - "raw-window-handle 0.6.0", - "redox_syscall 0.3.5", + "pin-project", + "raw-window-handle", + "redox_syscall", "rustix", + "sctk-adwaita", + "smithay-client-toolkit", "smol_str", + "tracing", "unicode-segmentation", "wasm-bindgen", "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", "web-sys", - "web-time 0.2.4", - "windows-sys 0.48.0", + "web-time 1.1.0", + "windows-sys 0.52.0", "x11-dl", "x11rb", "xkbcommon-dl", @@ -5497,6 +6479,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +dependencies = [ + "memchr", +] + [[package]] name = "x11-dl" version = "2.21.0" @@ -5529,6 +6520,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" +[[package]] +name = "xcursor" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61" + [[package]] name = "xi-unicode" version = "0.3.0" @@ -5589,5 +6586,5 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.53", + "syn 2.0.90", ] diff --git a/rs/Cargo.toml b/rs/Cargo.toml index aa69859..c4722e9 100644 --- a/rs/Cargo.toml +++ b/rs/Cargo.toml @@ -20,7 +20,7 @@ default = [ ] [workspace.dependencies.bevy] -version = "0.13.1" +version = "0.14.2" default-features = false features = [ # "asset_processor", # only on desktop @@ -37,7 +37,7 @@ features = [ "bevy_sprite", "bevy_text", # "bevy_ui", # Will be making my own game UI - "multi-threaded", + "multi_threaded", "png", "hdr", "ktx2", @@ -50,8 +50,12 @@ features = [ "tonemapping_luts", # "default_font", # For editor, but probably not in-game "webgl2", # Needed so it doesn't default to WebGPU + "bevy_state", ] +[workspace.dependencies.bevy_asset] +features = ["multi_threaded"] + [workspace.dependencies] # Mine engine = { package = "sond-has-engine", path = "engine" } @@ -61,10 +65,10 @@ macros = { package = "sond-has-macros", path = "engine/macros" } # Engine bevy_dylib = "0.13.0" -bevy_rapier3d = { version = "0.25.0", default-features = false, features = ["dim3"] } -rapier3d = { version = "*", features = ["wasm-bindgen", "serde-serialize"] } -bevy_kira_audio = "0.19.0" -leafwing-input-manager = "0.13.0" +bevy_rapier3d = { version = "0.27.0", default-features = false, features = ["dim3"] } +rapier3d = { version = "0.21.0", features = ["wasm-bindgen", "serde-serialize"] } +bevy_kira_audio = "0.20.0" +leafwing-input-manager = "0.14.0" bevy_quickmenu = "0.2.0" bevy_common_assets = { version = "0.10.0", features = ["ron"] } @@ -72,7 +76,7 @@ bevy_common_assets = { version = "0.10.0", features = ["ron"] } ab_glyph = "0.2.26" array-init = "2.1.0" base64 = "0.21.7" -bevy_pkv = "0.10.0" # settings +bevy_pkv = "0.11.0" # settings bevy_svg = { version = "0.13.0", path = "../vend/bevy_svg" } bytemuck = "1.14.1" # mostly for seeds crossbeam = "0.8.2" @@ -90,12 +94,13 @@ rand_xorshift = "0.3.0" ron = "0.8.1" static_assertions = "1.1.0" serde = "1" +smallvec = "*" # same as bevy smol_str = "0.2.1" web-time = "1.0.0" # Debugging/Editor -bevy-inspector-egui = "0.23" -egui_plot = "0.26.2" +bevy-inspector-egui = "0.27.0" +egui_plot = "0.29.0" # Testing linkme = "0.3.22" @@ -119,6 +124,7 @@ nanorand = { workspace = true } rand = { workspace = true } rand_xorshift = { workspace = true } serde = { workspace = true } +smallvec = { workspace = true } web-time = { workspace = true } # Debugging diff --git a/rs/assets/globals.scn.ron b/rs/assets/globals.scn.ron index e59db1e..d18a636 100644 --- a/rs/assets/globals.scn.ron +++ b/rs/assets/globals.scn.ron @@ -31,8 +31,8 @@ minor_resolution: 3, ), antigrav_pulse_mat: ( - base_color: Rgba( red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0 ), - emissive: Rgba( red: 0.0, green: 120.0, blue: 72.0, alpha: 1.0 ), + base_color: LinearRgba(( red: 0.0, green: 0.0, blue: 0.0, alpha: 0.0 )), + emissive: ( red: 0.0, green: 120.0, blue: 72.0, alpha: 1.0 ), reflectance: 0.0, ), arm_particle_radius: 0.1, @@ -41,16 +41,16 @@ subdivisions: 2, ), arm_mats: ( - Rgba( red: 0.0, green: 60.0, blue: 0.0, alpha: 1.0 ), - Rgba( red: 30.0, green: 30.0, blue: 30.0, alpha: 1.0 ), - Rgba( red: 0.0, green: 60.0, blue: 60.0, alpha: 1.0 ), + ( red: 0.0, green: 60.0, blue: 0.0, alpha: 1.0 ), + ( red: 30.0, green: 30.0, blue: 30.0, alpha: 1.0 ), + ( red: 0.0, green: 60.0, blue: 60.0, alpha: 1.0 ), ), crosshair_mesh: ( major_radius: 0.5, minor_radius: 0.1, ), crosshair_mat: ( - base_color: Rgba( red: 1.0, green: 1.0, blue: 0.0, alpha: 1.0 ), + base_color: LinearRgba(( red: 1.0, green: 1.0, blue: 0.0, alpha: 1.0 )), depth_bias: inf, unlit: true, ), diff --git a/rs/assets/pickups/pickup_material.mat.ron b/rs/assets/pickups/pickup_material.mat.ron index 8c6287d..8471f11 100644 --- a/rs/assets/pickups/pickup_material.mat.ron +++ b/rs/assets/pickups/pickup_material.mat.ron @@ -1,6 +1,6 @@ ExtendedMaterial( extension: BubbleMaterial( - glow_color: Rgba ( red: 4.0, green: 1.0, blue: 0.0, alpha: 0.12 ), + glow_color: ( red: 4.0, green: 1.0, blue: 0.0, alpha: 0.12 ), ), base: ExtendedMaterial( extension: (), base: StandardMaterial( specular_transmission: 1.0, diff --git a/rs/assets/shaders/skybox.wgsl b/rs/assets/shaders/skybox.wgsl index 92d3ed5..baa41f0 100644 --- a/rs/assets/shaders/skybox.wgsl +++ b/rs/assets/shaders/skybox.wgsl @@ -3,7 +3,7 @@ struct SkyCube { face_index: u32, - face_width: f32, + face_width: u32, face_rotation: mat3x3, rotation: mat3x3, time_of_day: f32, @@ -15,7 +15,7 @@ struct SkyCube { @group(0) @binding(2) var globals: Globals; fn ray_dir(position: vec2) -> vec3 { - return cube.face_rotation * normalize(vec3((position / (cube.face_width * 0.5)) - vec2(1.0), 1.0)); + return cube.face_rotation * normalize(vec3((position / (f32(cube.face_width) * 0.5)) - vec2(1.0), 1.0)); } struct VertexOutput { diff --git a/rs/assets/shaders/terrain.mat.ron b/rs/assets/shaders/terrain.mat.ron index 35b0483..2e7869e 100644 --- a/rs/assets/shaders/terrain.mat.ron +++ b/rs/assets/shaders/terrain.mat.ron @@ -1,7 +1,7 @@ ExtendedMaterial( extension: ( near_start: 0.0 ), base: StandardMaterial( - base_color: Rgba ( red: 0.1, green: 0.1, blue: 0.1, alpha: 1.0), + base_color: LinearRgba(( red: 0.1, green: 0.1, blue: 0.1, alpha: 1.0 )), reflectance: 0.3, perceptual_roughness: 0.0, ), diff --git a/rs/engine/Cargo.toml b/rs/engine/Cargo.toml index 6f9444b..5df004a 100644 --- a/rs/engine/Cargo.toml +++ b/rs/engine/Cargo.toml @@ -37,6 +37,7 @@ ordered-float = { workspace = true } rand = { workspace = true } ron = { workspace = true } serde = { workspace = true } +smallvec = { workspace = true } smol_str = { workspace = true } web-time = { workspace = true } diff --git a/rs/engine/src/anim.rs b/rs/engine/src/anim.rs index e9d2c17..0467fa9 100644 --- a/rs/engine/src/anim.rs +++ b/rs/engine/src/anim.rs @@ -280,6 +280,7 @@ impl ComponentDelta { pub type DynApply = dyn FnOnce(Mut, f32) + Send + Sync + 'static; +#[derive(Component)] pub struct Delta { /// Current progress the animation has made. Return a finite number if progress can /// be determined and the animation should be blended. Any non-finite number, such diff --git a/rs/engine/src/draw.rs b/rs/engine/src/draw.rs index 84f21c2..6416de9 100644 --- a/rs/engine/src/draw.rs +++ b/rs/engine/src/draw.rs @@ -8,7 +8,7 @@ use bevy::{ }, }; use std::f32::consts::{FRAC_PI_2, PI, TAU}; -use bevy::utils::smallvec::{smallvec, SmallVec}; +use smallvec::{smallvec, SmallVec}; /// The corners of a square with dimensions [1.0, 1.0], centered around the origin. #[inline] @@ -84,7 +84,7 @@ pub struct PlanarPolyLine { /// Also, if any inner `Vec` is empty, the last color from the previous one will be used. /// If the outer `Vec` is shorter than `points`, the last color will also be repeated for /// all remaining vertices. - pub colors: SmallVec<[SmallVec<[Color; 1]>; 2]>, + pub colors: SmallVec<[SmallVec<[LinearRgba; 1]>; 2]>, /// If `true`, the last point will be connected to the first, closing the shape. /// /// Defaults to `true`. @@ -114,8 +114,8 @@ impl FromIterator for PlanarPolyLine { /// Construct a `PlanarPolyLine` with a square cross-section and a single /// color at each corner. -impl FromIterator<(Vec2, Color)> for PlanarPolyLine { - fn from_iter>(iter: T) -> Self { +impl FromIterator<(Vec2, LinearRgba)> for PlanarPolyLine { + fn from_iter>(iter: T) -> Self { let (points, colors) = iter .into_iter() .map(|(point, color)| (point, smallvec![color])) @@ -129,9 +129,10 @@ impl FromIterator<(Vec2, Color)> for PlanarPolyLine { } impl Meshable for PlanarPolyLine { - type Output = Mesh; + type Output = PlanarPolylineMeshBuilder; fn mesh(&self) -> Self::Output { + // FIXME: Move this impl to `PlanarPolylineMeshBuilder::build fn point_to_3d(p: Vec2) -> Vec3 { Vec3::new(p.x, 0.0, p.y) } @@ -143,7 +144,7 @@ impl Meshable for PlanarPolyLine { Vec::new() }; let mut normals = Vec::with_capacity(verts.len()); - let mut color = Color::BLACK.as_rgba_f32(); + let mut color = Color::BLACK.to_linear().to_f32_array(); let mut colors = self.colors.iter(); if !self.closed { for (b, c) in @@ -175,7 +176,7 @@ impl Meshable for PlanarPolyLine { verts.push(vert); normals.push(normal); if let Some(new_color) = colors.next() { - color = new_color.as_rgba_f32(); + color = new_color.to_f32_array(); } if self.colors.len() > 0 { vert_colors.push(color); @@ -217,13 +218,13 @@ impl Meshable for PlanarPolyLine { if self.colors.len() > 0 { mesh.insert_attribute(Mesh::ATTRIBUTE_COLOR, vert_colors); } - mesh + PlanarPolylineMeshBuilder(mesh) } } impl From for Mesh { fn from(value: PlanarPolyLine) -> Self { - value.mesh() + value.mesh().build() } } @@ -246,3 +247,12 @@ impl PlanarPolyLine { } } } + +pub struct PlanarPolylineMeshBuilder(Mesh); + +impl MeshBuilder for PlanarPolylineMeshBuilder { + fn build(&self) -> Mesh { + // FIXME: Should move `mesh` impl here instead + self.0.clone() + } +} \ No newline at end of file diff --git a/rs/engine/src/input.rs b/rs/engine/src/input.rs index d8deb3c..e59058e 100644 --- a/rs/engine/src/input.rs +++ b/rs/engine/src/input.rs @@ -6,6 +6,7 @@ use bevy::{ ButtonState, }, prelude::*, + state::state::States, utils::HashMap, }; use leafwing_input_manager::{buttonlike::MouseMotionDirection, prelude::*}; diff --git a/rs/engine/src/input/map/detect.rs b/rs/engine/src/input/map/detect.rs index d2021dd..6ac2ee7 100644 --- a/rs/engine/src/input/map/detect.rs +++ b/rs/engine/src/input/map/detect.rs @@ -25,9 +25,10 @@ use crate::{ }; use bevy::{ prelude::*, - utils::{smallvec::SmallVec, HashMap}, + utils::HashMap, }; -use bevy::utils::smallvec::smallvec; +use bevy::color::palettes::css::AQUAMARINE; +use smallvec::{smallvec, SmallVec}; use bevy_svg::prelude::Origin; pub struct DetectBindingPopupPlugin; @@ -87,14 +88,15 @@ pub fn setup( meshes.add( PlanarPolyLine { colors: smallvec![ - smallvec![Color::rgba(0.0, 0.2, 0.2, 0.6)], - smallvec![Color::rgba(0.0, 0.4, 0.1, 0.6)], - smallvec![Color::rgba(0.0, 0.2, 0.2, 0.6)], - smallvec![Color::rgba(0.0, 0.1, 0.4, 0.6)], + smallvec![LinearRgba::new(0.0, 0.2, 0.2, 0.6)], + smallvec![LinearRgba::new(0.0, 0.4, 0.1, 0.6)], + smallvec![LinearRgba::new(0.0, 0.2, 0.2, 0.6)], + smallvec![LinearRgba::new(0.0, 0.1, 0.4, 0.6)], ], ..PlanarPolyLine::rect(8.0, 6.0, 0.25) } .mesh() + .build() .with_duplicated_vertices() .with_computed_flat_normals(), ), @@ -121,7 +123,7 @@ pub fn setup( extension: default(), base: Matter { extension: DistanceDither::ui(), - base: Color::AQUAMARINE.into(), + base: Color::from(AQUAMARINE).into(), }, }), transform: Transform { diff --git a/rs/engine/src/lib.rs b/rs/engine/src/lib.rs index 02cf1c5..fbf281b 100644 --- a/rs/engine/src/lib.rs +++ b/rs/engine/src/lib.rs @@ -29,10 +29,10 @@ impl Plugin for EnginePlugin { fn build(&self, app: &mut App) { app.add_plugins((ui::UiPlugin, input::InputPlugin, SvgPlugin)); DEBUG_COMPONENTS - .set(app.world.register_system(debug_component_names)) + .set(app.world_mut().register_system(debug_component_names)) .expect("`DEBUG_COMPONENTS` shouldn't already be set"); ERROR_COMPONENTS - .set(app.world.register_system(error_component_names)) + .set(app.world_mut().register_system(error_component_names)) .expect("`ERROR_COMPONENTS` shouldn't already be set"); } } diff --git a/rs/engine/src/mats.rs b/rs/engine/src/mats.rs index 9fffc47..a7878dc 100644 --- a/rs/engine/src/mats.rs +++ b/rs/engine/src/mats.rs @@ -3,6 +3,7 @@ use bevy::{ prelude::*, render::render_resource::{AsBindGroup, ShaderRef}, }; +use bevy::color::palettes::basic::GRAY; use serde::{Deserialize, Serialize}; use crate::{ @@ -28,7 +29,7 @@ pub struct MatsPlugin; impl Plugin for MatsPlugin { fn build(&self, app: &mut App) { Box::leak(Box::new( - app.world + app.world() .resource::() .load::("shaders/util.wgsl"), )); @@ -40,7 +41,7 @@ impl Plugin for MatsPlugin { MaterialPlugin::>::default(), )); - let registry = app.world.get_resource::().unwrap().clone(); + let registry = app.world().get_resource::().unwrap().clone(); { let mut reg = registry.write(); reg.register::(); @@ -57,13 +58,13 @@ impl Plugin for MatsPlugin { #[reflect(Default)] pub struct BubbleMaterial { #[uniform(200)] - pub glow_color: Color, + pub glow_color: LinearRgba, } impl Default for BubbleMaterial { fn default() -> Self { Self { - glow_color: Color::GRAY, + glow_color: GRAY.into(), } } } diff --git a/rs/engine/src/mats/fog.rs b/rs/engine/src/mats/fog.rs index fa5e3a0..5add012 100644 --- a/rs/engine/src/mats/fog.rs +++ b/rs/engine/src/mats/fog.rs @@ -40,7 +40,7 @@ impl Plugin for MatterPlugin { )) .add_systems(Update, (update_matter_globals,)); - let registry = app.world.get_resource::().unwrap().clone(); + let registry = app.world().get_resource::().unwrap().clone(); { let mut reg = registry.write(); reg.register::(); @@ -53,7 +53,7 @@ impl Plugin for MatterPlugin { } fn finish(&self, app: &mut App) { - let mut assets = app.world.resource_mut::>(); + let mut assets = app.world_mut().resource_mut::>(); let image = Image::from_buffer( include_bytes!("bayer16.png").as_ref(), @@ -78,7 +78,7 @@ impl Plugin for MatterPlugin { ) .unwrap(); - assets.insert(BAYER_HANDLE, image); + assets.insert(BAYER_HANDLE.id(), image); } } diff --git a/rs/engine/src/planet/sky.rs b/rs/engine/src/planet/sky.rs index 8ddca08..e4a3f77 100644 --- a/rs/engine/src/planet/sky.rs +++ b/rs/engine/src/planet/sky.rs @@ -28,7 +28,7 @@ use bevy::{ Render, RenderApp, RenderSet, }, }; - +use bevy::render::texture::GpuImage; use crate::planet::day_night::DayNightCycle; pub struct SkyPlugin; @@ -279,7 +279,7 @@ fn prepare_sky_bind_groups( pipeline: Res, view_uniforms: Res, globals: Res, - images: Res>, + images: Res>, fallback_image: Res, render_device: Res, views: Query<(Entity, &Skybox)>, @@ -355,7 +355,7 @@ pub struct SkyCubeUniforms { #[uniform(0)] face_index: u32, #[uniform(0)] - face_width: f32, + face_width: u32, #[uniform(0)] face_rotation: Mat3, #[uniform(0)] diff --git a/rs/engine/src/ui.rs b/rs/engine/src/ui.rs index ad2cb8a..2a2e953 100644 --- a/rs/engine/src/ui.rs +++ b/rs/engine/src/ui.rs @@ -20,7 +20,7 @@ use crate::{ }; use bevy::{ a11y::Focus, - asset::{io::Reader, AssetLoader, BoxedFuture, LoadContext, StrongHandle}, + asset::{io::Reader, AssetLoader, LoadContext, StrongHandle}, core_pipeline::{experimental::taa::TemporalAntiAliasBundle, fxaa::Fxaa}, diagnostic::{DiagnosticsStore, FrameTimeDiagnosticsPlugin}, ecs::{ @@ -49,7 +49,9 @@ use std::{ ops::{Add, ControlFlow::Break, Mul}, sync::Arc, }; -use bevy::utils::smallvec::smallvec; +use bevy::color::palettes::basic::{AQUA, BLUE, FUCHSIA, GREEN, RED, WHITE, YELLOW}; +use bevy::color::palettes::css::ORANGE; +use smallvec::smallvec; pub mod a11y; #[cfg(feature = "debugging")] @@ -60,9 +62,8 @@ pub mod mouse; pub mod text; pub mod widgets; -pub const GLOBAL_UI_LAYER: Layer = (RenderLayers::TOTAL_LAYERS - 1) as Layer; +pub const GLOBAL_UI_LAYER: Layer = 31 as Layer; pub const GLOBAL_UI_RENDER_LAYERS: RenderLayers = RenderLayers::layer(GLOBAL_UI_LAYER); -pub const ALL_UI_RENDER_LAYERS: RenderLayers = RenderLayers::all().without(0); pub type UiMat = ExtMat; @@ -84,14 +85,14 @@ impl Plugin for UiPlugin { .run_if(input_toggle_active(false, KeyCode::KeyG)) .after(CheckVisibility), ) - .insert_gizmo_group( + .insert_gizmo_config( widgets::WidgetGizmos::, GizmoConfig { render_layers: GLOBAL_UI_RENDER_LAYERS, ..default() }, ) - .insert_gizmo_group( + .insert_gizmo_config( focus::FocusGizmos::, GizmoConfig { line_width: 6.0, @@ -153,11 +154,11 @@ impl Plugin for UiPlugin { } fn finish(&self, app: &mut App) { - let srv = app.world.resource::(); + let srv = app.world().resource::(); let mono = srv.load("ui/fonts/Noto_Sans_Mono/static/NotoSansMono-Bold.ttf"); app.insert_resource(UiFonts { mono }); - app.world.resource_mut::>().insert( - Handle::weak_from_u128(widgets::UNLIT_MATERIAL_ID), + app.world_mut().resource_mut::>().insert( + Handle::weak_from_u128(widgets::UNLIT_MATERIAL_ID).id(), new_unlit_material(), ); } @@ -192,7 +193,7 @@ pub fn spawn_ui_camera( VisibilityBundle::default(), MenuStack::default(), PrevFocus::default(), - layers, + layers.clone(), )) .with_children(|cmds| { cmds.spawn(( @@ -203,7 +204,7 @@ pub fn spawn_ui_camera( ..default() }), VisibilityBundle::default(), - layers, + layers.clone(), )); let mut cam = cmds.spawn(( @@ -236,7 +237,7 @@ pub fn spawn_ui_camera( }, TemporalAntiAliasBundle::default(), Fxaa::default(), - layers, + layers.clone(), )); cam.start_animation::(cam_idle_animation(animation_time_offset)); @@ -264,7 +265,7 @@ pub fn spawn_ui_camera( }, ..default() }, - layers, + layers.clone(), )); let blue_light_pos = cam_pos + Vec3::new(-2.0, 0.0, 4.0); cmds.spawn(( @@ -288,7 +289,7 @@ pub fn spawn_ui_camera( }, ..default() }, - layers, + layers.clone(), )); cmds.spawn(( @@ -309,7 +310,7 @@ pub fn spawn_ui_camera( }, ..default() }, - layers, + layers.clone(), )); }); } @@ -572,7 +573,7 @@ pub fn show_fps( TextStyle { font: ui_fonts.mono.clone(), font_size: 24.0, - color: Color::YELLOW, + color: YELLOW.into(), }, ), style: Style { @@ -659,6 +660,7 @@ impl MenuStack { pub fn pop_on_back(layers: RenderLayers, fade_secs: f32) -> InteractHandlers { InteractHandlers::on_back(move |cmds| { cmds.fade_out_secs(fade_secs); + let layers = layers.clone(); cmds.commands().add(move |world: &mut World| { let mut q = world.query::<(&mut MenuStack, &RenderLayers)>(); let Some((mut stack, _)) = q @@ -833,7 +835,7 @@ pub fn propagate_fade>( } let mut set_fade = |handle: &Handle| { - let Some(mut mat) = mats.get_mut(handle.clone()) else { + let Some(mut mat) = mats.get_mut(handle) else { warn!("missing {handle:?}"); return; }; @@ -1074,16 +1076,16 @@ fn spawn_test_menu( points: polygon_points(6, 6.0, i as f32), cross_section: polygon_points(3, 0.25, 0.5), colors: smallvec![ - smallvec![Color::WHITE], - smallvec![Color::RED], - smallvec![Color::BLUE], - smallvec![Color::GREEN], - smallvec![Color::CYAN], - smallvec![Color::FUCHSIA], + smallvec![WHITE.into()], + smallvec![RED.into()], + smallvec![BLUE.into()], + smallvec![GREEN.into()], + smallvec![AQUA.into()], + smallvec![FUCHSIA.into()], ], closed: false, ..default() - }.mesh().with_duplicated_vertices().with_computed_flat_normals()), + }.mesh().build().with_duplicated_vertices().with_computed_flat_normals()), border_mat.clone(), LineUpChildren { relative_positions: Vec3::NEG_Z * 1.25, @@ -1112,7 +1114,7 @@ fn spawn_test_menu( 0.5, ), ..default() }, mesh: meshes.add(Capsule3d::new(0.5, 5.0)), - material: mats.add(UiMatBuilder::from(Color::ORANGE)), + material: mats.add(UiMatBuilder::from(Color::from(ORANGE))), transform: Transform { rotation: Quat::from_rotation_z(-std::f32::consts::FRAC_PI_2), ..default() diff --git a/rs/engine/src/ui/focus.rs b/rs/engine/src/ui/focus.rs index 6fd3f21..e6ecdd7 100644 --- a/rs/engine/src/ui/focus.rs +++ b/rs/engine/src/ui/focus.rs @@ -22,6 +22,7 @@ use std::{ str::{FromStr, Split}, sync::Arc, }; +use bevy::color::palettes::css::SEA_GREEN; /// Tells [handle_focus_actions] how to find the next entity to focus. /// @@ -455,7 +456,7 @@ pub fn highlight_focus( "widgets should have a uniform scale -- only drawing using `scale.x`" ) } - shape.draw_gizmo(&mut gizmos, pos, rot, scale.x, Color::SEA_GREEN); + shape.draw_gizmo(&mut gizmos, pos, rot, scale.x, SEA_GREEN); } Err(e) => { error!("couldn't get focused entity: {e}"); diff --git a/rs/engine/src/ui/layout.rs b/rs/engine/src/ui/layout.rs index 6546f24..cc9e414 100644 --- a/rs/engine/src/ui/layout.rs +++ b/rs/engine/src/ui/layout.rs @@ -7,10 +7,12 @@ use bevy_rapier3d::parry::{ }; use rapier3d::{ na::Vector3, - parry::query::{time_of_impact, Ray}, + parry::query::Ray, }; use serde::{Deserialize, Serialize}; use std::f32::consts::{PI, TAU}; +use bevy_rapier3d::parry::query::cast_shapes; +use bevy_rapier3d::prelude::ShapeCastOptions; #[derive(Component, Clone, Copy, Debug, Reflect, Serialize, Deserialize)] #[reflect(Component, Serialize, Deserialize)] @@ -191,7 +193,7 @@ fn compute_separation(desired_relative: Vec3, a: &WidgetShape, b: &WidgetShape) let iso_rel = b.isometry.translation.vector - a.isometry.translation.vector; let start_dist = a_len + b_len + Vec3::from(iso_rel).length(); let b_start = dir * start_dist; - let Ok(toi) = time_of_impact( + let Ok(toi) = cast_shapes( &a.isometry, &Vector::zeros(), &*a.shape.0, @@ -201,8 +203,10 @@ fn compute_separation(desired_relative: Vec3, a: &WidgetShape, b: &WidgetShape) }, &-dir, &*b.shape.0, - start_dist, - true, + ShapeCastOptions { + max_time_of_impact: start_dist, + ..default() + } ) else { if cfg!(debug_assertions) { panic!("ToI between {a:?} and {b:?} unsupported"); @@ -212,12 +216,12 @@ fn compute_separation(desired_relative: Vec3, a: &WidgetShape, b: &WidgetShape) } }; - let Some(toi) = toi else { + let Some(hit) = toi else { warn!(?a, ?b, "Unable to find contact between shapes"); return Vec3::ZERO; }; let dir = Vec3::from(dir); - ((start_dist - toi.toi) * dir) + (desired_relative - dir) + ((start_dist - hit.time_of_impact) * dir) + (desired_relative - dir) } #[derive(Component, Clone, Debug, Reflect, Serialize, Deserialize)] diff --git a/rs/engine/src/ui/widgets.rs b/rs/engine/src/ui/widgets.rs index a136737..7c5a1bc 100644 --- a/rs/engine/src/ui/widgets.rs +++ b/rs/engine/src/ui/widgets.rs @@ -38,7 +38,8 @@ use std::{ ops::ControlFlow, sync::{Arc, Mutex}, }; -use bevy::utils::smallvec::{smallvec, SmallVec}; +use bevy::color::palettes::basic::PURPLE; +use smallvec::{smallvec, SmallVec}; use web_time::Duration; use crate::ui::widgets::borders::Border; @@ -159,7 +160,7 @@ impl Default for PanelBundle { #[reflect(Component)] pub struct CuboidPanel { pub size: Vec3, - pub colors: Option>>, + pub colors: Option>>, pub translation: Vec3, pub rotation: Quat, pub mesh_margin: Vec3, @@ -225,7 +226,8 @@ impl CuboidPanel { size.y - mesh_margin.y, size.z - mesh_margin.z, ) - .mesh(); + .mesh() + .build(); offset_mesh_positions(&mut mesh, *translation, *rotation); if let Some(colors) = colors { mesh.insert_attribute( @@ -233,7 +235,7 @@ impl CuboidPanel { colors .into_iter() .flatten() - .map(Color::as_rgba_f32) + .map(LinearRgba::to_f32_array) .collect::>(), ) } @@ -772,7 +774,7 @@ pub fn draw_widget_shape_gizmos( &RenderLayers, )>, ) { - let color = Color::PURPLE; + let color = PURPLE; for (id, xform, shape, vis, layers) in &q { if !**vis { continue; @@ -801,7 +803,7 @@ impl WidgetShape { global_position: Vec3, rotation: Quat, scale: f32, - color: Color, + color: impl Into, ) { let translation = global_position + Vec3::from(self.isometry.translation); let rotation = rotation * Quat::from(self.isometry.rotation); @@ -824,6 +826,7 @@ impl WidgetShape { TypedShape::Capsule(capsule) => { let a = xform * Vec3::from(capsule.segment.a); let b = xform * Vec3::from(capsule.segment.b); + let color = color.into(); cylinder_gizmo(gizmos, a, b, capsule.radius * scale, color); let dir = (b - a).normalize(); let a_rot = Quat::from_rotation_arc(Vec3::Z, dir); @@ -839,12 +842,14 @@ impl WidgetShape { TypedShape::Triangle(tri) => { let [a, b, c]: [Vec3; 3] = [tri.a.into(), tri.b.into(), tri.c.into()]; let [a, b, c] = [xform * a, xform * b, xform * c]; + let color = color.into(); gizmos.line(a, b, color); gizmos.line(b, c, color); gizmos.line(c, a, color); } TypedShape::TriMesh(_) => todo_warn!("Gizmo for WidgetShape(TriMesh)"), TypedShape::Polyline(lines) => { + let color = color.into(); for [ia, ib] in lines.indices() { let a = xform * Vec3::from(lines.vertices()[*ia as usize]); let b = xform * Vec3::from(lines.vertices()[*ib as usize]); @@ -862,7 +867,7 @@ impl WidgetShape { TypedShape::Cylinder(cylinder) => { let a = xform * Vec3::Y * cylinder.half_height; let b = xform * Vec3::NEG_Y * cylinder.half_height; - cylinder_gizmo(gizmos, a, b, cylinder.radius * scale, color); + cylinder_gizmo(gizmos, a, b, cylinder.radius * scale, color.into()); } TypedShape::Cone(_) => todo_warn!("Gizmo for WidgetShape(Cone)"), TypedShape::RoundCuboid(round_cuboid) => { @@ -890,7 +895,7 @@ fn cylinder_gizmo( r: f32, color: Color, ) { - let dir = Direction3d::new(b - a) + let dir = Dir3::new(b - a) .expect("capsule or cylinder WidgetShape should be created with non-zero, finite length"); gizmos.circle(a, dir, r, color); gizmos.circle(b, dir, r, color); @@ -987,7 +992,7 @@ pub fn focus_state_colors(unfocused: Color, focused: Color) -> CowArc<'static, I ) } -pub fn focus_state_emissive(unfocused: Color, focused: Color) -> CowArc<'static, InteractHandler> { +pub fn focus_state_emissive(unfocused: LinearRgba, focused: LinearRgba) -> CowArc<'static, InteractHandler> { focus_with_asset::( move |mat| mat.base.base.emissive = focused, move |mat| mat.base.base.emissive = unfocused, @@ -1018,7 +1023,7 @@ pub fn focus_with_asset( }; entity.world_scope(move |world| { let mut mats = world.resource_mut::>(); - let Some(mat) = mats.get_mut(handle.clone()) else { + let Some(mat) = mats.get_mut(handle.id()) else { error!(?handle, "can't handle focus -- missing asset for handle"); return; }; diff --git a/rs/engine/src/ui/widgets/borders.rs b/rs/engine/src/ui/widgets/borders.rs index cbbd859..6ab008e 100644 --- a/rs/engine/src/ui/widgets/borders.rs +++ b/rs/engine/src/ui/widgets/borders.rs @@ -1,5 +1,5 @@ use bevy::prelude::*; -use bevy::utils::smallvec::{smallvec, SmallVec}; +use smallvec::{smallvec, SmallVec}; use crate::draw::{rect_points, rect_points_offset, PlanarPolyLine}; use crate::ui::widgets::{CuboidContainer, CuboidPanel}; use crate::util::Flat; @@ -15,7 +15,7 @@ impl Plugin for WidgetBordersPlugin { #[derive(Component, Debug, Clone)] pub struct Border { pub cross_section: SmallVec<[Vec2; 4]>, - pub colors: SmallVec<[SmallVec<[Color; 1]>; 2]>, + pub colors: SmallVec<[SmallVec<[LinearRgba; 1]>; 2]>, pub margin: Vec2, } diff --git a/rs/engine/src/util.rs b/rs/engine/src/util.rs index 939dfa9..e8d4325 100644 --- a/rs/engine/src/util.rs +++ b/rs/engine/src/util.rs @@ -11,13 +11,13 @@ use std::{ }; use bevy::{ - asset::{io::Reader, AssetLoader, AsyncReadExt, BoxedFuture, LoadContext}, + asset::{io::Reader, AssetLoader, AsyncReadExt, LoadContext}, ecs::{ component::ComponentInfo, query::{QueryEntityError, QueryFilter}, - schedule::run_enter_schedule, system::{EntityCommands, StaticSystemParam, SystemId, SystemParam, SystemParamItem}, }, + math::Dir2, prelude::*, reflect::{serde::TypedReflectDeserializer, TypeRegistration, Typed}, render::{ @@ -27,6 +27,7 @@ use bevy::{ scene::{SceneLoaderError, SceneLoaderError::RonSpannedError}, utils::tracing::event, }; +use bevy::state::state::FreelyMutableState; use num_traits::NumCast; use ron::Error::InvalidValueForType; use serde::{de::DeserializeSeed, Deserialize, Serialize}; @@ -344,15 +345,14 @@ impl AssetLoader for RonReflectAssetLoader type Settings = (); type Error = SceneLoaderError; - fn load<'a>( + async fn load<'a>( &'a self, - reader: &'a mut Reader, + reader: &'a mut Reader<'_>, _settings: &'a Self::Settings, - _load_context: &'a mut LoadContext, - ) -> BoxedFuture<'a, Result> { + _load_context: &'a mut LoadContext<'_>, + ) -> Result { let registration = self.registration.clone(); let registry = self.registry.clone(); - Box::pin(async move { let mut buf = Vec::new(); reader.read_to_end(&mut buf).await?; let registry = registry.read(); @@ -367,7 +367,6 @@ impl AssetLoader for RonReflectAssetLoader found: format!("{e:?}"), })) }) - }) } fn extensions(&self) -> &[&str] { @@ -787,7 +786,7 @@ impl FromWorld for StateStack { } } -pub fn set_state_to_top_of_stack( +pub fn set_state_to_top_of_stack( mut stack: ResMut>, curr: Res>, mut next: ResMut>, @@ -798,31 +797,31 @@ pub fn set_state_to_top_of_stack( } let top = stack.last().unwrap(); if **curr != *top { - next.0 = Some(top.clone()); + *next = NextState::Pending(top.clone()); } } pub trait AppExt { - fn insert_state_stack(&mut self, init: S) -> &mut Self; - fn init_state_stack(&mut self) -> &mut Self; + fn insert_state_stack(&mut self, init: S) -> &mut Self; + fn init_state_stack(&mut self) -> &mut Self; } impl AppExt for App { - fn insert_state_stack(&mut self, init: S) -> &mut Self { + fn insert_state_stack(&mut self, init: S) -> &mut Self { self.insert_state::(init.clone()) .insert_resource(StateStack(vec![init])) .add_systems( StateTransition, - set_state_to_top_of_stack::.before(run_enter_schedule::), + set_state_to_top_of_stack::.before(EnterSchedules::::default()), ) } - fn init_state_stack(&mut self) -> &mut Self { + fn init_state_stack(&mut self) -> &mut Self { self.init_state::() .init_resource::>() .add_systems( StateTransition, - set_state_to_top_of_stack::.before(run_enter_schedule::), + set_state_to_top_of_stack::.before(EnterSchedules::::default()), ) } } @@ -1138,19 +1137,19 @@ impl CompassDirection { ]; #[inline] - pub fn direction(self) -> Direction2d { + pub fn direction(self) -> Dir2 { use std::f32::consts::FRAC_1_SQRT_2; match self { - Self::North => Direction2d::Y, - Self::NorthEast => Direction2d::new_unchecked(Vec2::new(FRAC_1_SQRT_2, FRAC_1_SQRT_2)), - Self::East => Direction2d::X, - Self::SouthEast => Direction2d::new_unchecked(Vec2::new(FRAC_1_SQRT_2, -FRAC_1_SQRT_2)), - Self::South => Direction2d::NEG_Y, + Self::North => Dir2::Y, + Self::NorthEast => Dir2::new_unchecked(Vec2::new(FRAC_1_SQRT_2, FRAC_1_SQRT_2)), + Self::East => Dir2::X, + Self::SouthEast => Dir2::new_unchecked(Vec2::new(FRAC_1_SQRT_2, -FRAC_1_SQRT_2)), + Self::South => Dir2::NEG_Y, Self::SouthWest => { - Direction2d::new_unchecked(Vec2::new(-FRAC_1_SQRT_2, -FRAC_1_SQRT_2)) + Dir2::new_unchecked(Vec2::new(-FRAC_1_SQRT_2, -FRAC_1_SQRT_2)) } - Self::West => Direction2d::NEG_X, - Self::NorthWest => Direction2d::new_unchecked(Vec2::new(-FRAC_1_SQRT_2, FRAC_1_SQRT_2)), + Self::West => Dir2::NEG_X, + Self::NorthWest => Dir2::new_unchecked(Vec2::new(-FRAC_1_SQRT_2, FRAC_1_SQRT_2)), } } diff --git a/rs/src/enemies/dummy.rs b/rs/src/enemies/dummy.rs index e6386d0..52cf1c1 100644 --- a/rs/src/enemies/dummy.rs +++ b/rs/src/enemies/dummy.rs @@ -4,6 +4,7 @@ use bevy::{ ecs::system::{EntityCommands, SystemParamItem}, prelude::*, }; +use bevy::color::palettes::basic::YELLOW; use bevy_kira_audio::{Audio, AudioControl}; use bevy_rapier3d::{ dynamics::LockedAxes, @@ -52,7 +53,7 @@ fn setup( half_length: 4.0, ..default() }); - let material = materials.add(Color::YELLOW); + let material = materials.add(Color::from(YELLOW)); let collider = Collider::capsule(Vect::NEG_Y * 2.0, Vect::Y * 2.0, 2.0); let locked_axes = LockedAxes::ROTATION_LOCKED | LockedAxes::TRANSLATION_LOCKED_X @@ -163,7 +164,7 @@ pub fn handle_hits( ) { for event in events.read() { if let Ok((id, global)) = dummies.get(event.victim) { - let Some(toi) = event.toi.details else { + let Some(toi) = event.hit.details else { continue; }; if let Some(body) = ctx diff --git a/rs/src/lib.rs b/rs/src/lib.rs index bd3c421..0750c44 100644 --- a/rs/src/lib.rs +++ b/rs/src/lib.rs @@ -106,7 +106,7 @@ pub fn game_plugin(app: &mut App) -> &mut App { time_scale: 1.0, substeps: 1, }, - ..default() + ..RapierConfiguration::new(1.0) }) .add_plugins(( RapierPhysicsPlugin::<()>::default().in_schedule(Update), diff --git a/rs/src/main.rs b/rs/src/main.rs index a8d486f..361988c 100644 --- a/rs/src/main.rs +++ b/rs/src/main.rs @@ -9,7 +9,7 @@ use sond_has::util::IntoFnPlugin; pub(crate) use sond_has::*; #[bevy_main] -pub fn main() { +pub fn main() -> AppExit { let mut app = App::new(); let default_plugins = DefaultPlugins .set(WindowPlugin { diff --git a/rs/src/player.rs b/rs/src/player.rs index 626a6f9..d19f75e 100644 --- a/rs/src/player.rs +++ b/rs/src/player.rs @@ -32,10 +32,7 @@ use rapier3d::{math::Point, prelude::Aabb}; use camera::spawn_cameras; use ctrl::{CtrlState, CtrlVel}; -use engine::{ - planet::terrain::NeedsTerrain, - ui::{focus, layout::LineUpChildren, Fade, GLOBAL_UI_LAYER}, -}; +use engine::{planet::terrain::NeedsTerrain, todo_warn, ui::{focus, layout::LineUpChildren, Fade, GLOBAL_UI_LAYER}}; use player_entity::*; use prefs::PlayerPrefs; @@ -62,10 +59,10 @@ pub mod tune; const G1: Group = Group::GROUP_1; pub const fn player_ui_layer(player: PlayerId) -> Layer { - GLOBAL_UI_LAYER - (player.get() * 2) + 1 + GLOBAL_UI_LAYER - (player.get() as Layer * 2) + 1 } pub const fn player_hud_layer(player: PlayerId) -> Layer { - GLOBAL_UI_LAYER - (player.get() * 2) + GLOBAL_UI_LAYER - (player.get() as Layer * 2) } pub fn plugin(app: &mut App) -> &mut App { @@ -84,14 +81,14 @@ pub fn plugin(app: &mut App) -> &mut App { .run_if(input_toggle_active(false, KeyCode::KeyG)) .after(bevy::render::view::VisibilitySystems::CheckVisibility), ) - .insert_gizmo_group( + .insert_gizmo_config( engine::ui::widgets::WidgetGizmos::<$i>, GizmoConfig { - render_layers: layers, + render_layers: layers.clone(), ..default() }, ) - .insert_gizmo_group( + .insert_gizmo_config( focus::FocusGizmos::<$i>, GizmoConfig { line_width: 6.0, @@ -241,30 +238,30 @@ pub fn update_player_spawn_data( if let Some(mut data) = data { data.ship_scene = asset_server.load(ship_scene); *meshes - .get_mut(data.antigrav_pulse_mesh.clone_weak()) + .get_mut(data.antigrav_pulse_mesh.id()) .unwrap() = TorusMeshBuilder::from(antigrav_pulse_mesh).into(); *std_mats - .get_mut(data.antigrav_pulse_mat.clone_weak()) + .get_mut(data.antigrav_pulse_mat.id()) .unwrap() = antigrav_pulse_mat; - *meshes.get_mut(data.arm_mesh.clone_weak()).unwrap() = + *meshes.get_mut(data.arm_mesh.id()).unwrap() = SphereMeshBuilder::from(arm_mesh).into(); - *meshes.get_mut(data.arm_particle_mesh.clone_weak()).unwrap() = + *meshes.get_mut(data.arm_particle_mesh.id()).unwrap() = RegularPolygon::new(arm_particle_radius, 3).into(); - *std_mats.get_mut(data.arm_mats[0].clone_weak()).unwrap() = StandardMaterial { + *std_mats.get_mut(data.arm_mats[0].id()).unwrap() = StandardMaterial { emissive: arm_mats.0, ..arm_mat_template.clone() }; - *std_mats.get_mut(data.arm_mats[1].clone_weak()).unwrap() = StandardMaterial { + *std_mats.get_mut(data.arm_mats[1].id()).unwrap() = StandardMaterial { emissive: arm_mats.1, ..arm_mat_template.clone() }; - *std_mats.get_mut(data.arm_mats[2].clone_weak()).unwrap() = StandardMaterial { + *std_mats.get_mut(data.arm_mats[2].id()).unwrap() = StandardMaterial { emissive: arm_mats.2, ..arm_mat_template.clone() }; - *meshes.get_mut(data.crosshair_mesh.clone_weak()).unwrap() = + *meshes.get_mut(data.crosshair_mesh.id()).unwrap() = TorusMeshBuilder::from(crosshair_mesh).into(); - *std_mats.get_mut(data.crosshair_mat.clone_weak()).unwrap() = crosshair_mat; + *std_mats.get_mut(data.crosshair_mat.id()).unwrap() = crosshair_mat; return; } // else insert spawn data @@ -330,7 +327,9 @@ impl Default for ReflectTorus { }, minor_resolution, major_resolution, + angle_range, } = Torus::default().mesh(); + todo_warn!("use angle_range"); Self { minor_radius, major_radius, @@ -342,6 +341,7 @@ impl Default for ReflectTorus { impl From for TorusMeshBuilder { fn from(value: ReflectTorus) -> Self { + todo_warn!("add angle_range to ReflectTorus\n\t-- or even better, use remote reflection in 0.15"); Self { torus: Torus { major_radius: value.major_radius, @@ -349,6 +349,7 @@ impl From for TorusMeshBuilder { }, major_resolution: value.major_resolution, minor_resolution: value.minor_resolution, + angle_range: Self::default().angle_range } } } @@ -380,14 +381,14 @@ impl From for SphereMeshBuilder { } #[derive(Clone, Default, Resource, Reflect)] -#[reflect(Resource, from_reflect = false)] +#[reflect(Resource, Default)] pub struct PlayerAssets { pub ship_scene: AssetPath<'static>, pub antigrav_pulse_mesh: ReflectTorus, pub antigrav_pulse_mat: StandardMaterial, pub arm_mesh: ReflectIcosphere, pub arm_particle_radius: f32, - pub arm_mats: (Color, Color, Color), + pub arm_mats: (LinearRgba, LinearRgba, LinearRgba), pub crosshair_mesh: ReflectTorus, pub crosshair_mat: StandardMaterial, } diff --git a/rs/src/player/abilities.rs b/rs/src/player/abilities.rs index dc7f7bf..f759b4f 100644 --- a/rs/src/player/abilities.rs +++ b/rs/src/player/abilities.rs @@ -6,8 +6,9 @@ use bevy_rapier3d::{ geometry::CollisionGroups, pipeline::QueryFilter, plugin::RapierContext, - prelude::{Collider, Toi}, + prelude::{Collider, ShapeCastHit}, }; +use bevy_rapier3d::prelude::ShapeCastOptions; use enum_components::{ERef, WithVariant}; use leafwing_input_manager::{ action_state::ActionState, axislike::DualAxisData, systems::update_action_state, @@ -518,7 +519,7 @@ impl<'a> From<&'a HurtboxFilter> for QueryFilter<'a> { #[derive(Event, Copy, Clone, Debug)] pub struct Hurt { pub hurtbox: Entity, - pub toi: Toi, + pub hit: ShapeCastHit, pub victim: Entity, } @@ -548,15 +549,18 @@ pub fn hit_stuff( prev.rotation.slerp(xform.rotation, 0.5), // Average I guess? *shrugs* vel, col, - vel.length() * 1.05, - false, + ShapeCastOptions { + max_time_of_impact: vel.length() * 1.05, + stop_at_penetration: false, + ..default() + }, filter.map_or_else(QueryFilter::default, |filter| filter.into()), ) else { continue; }; events.send(Hurt { hurtbox: id, - toi, + hit: toi, victim: other, }); } diff --git a/rs/src/player/camera.rs b/rs/src/player/camera.rs index b5846e1..f0ecf03 100644 --- a/rs/src/player/camera.rs +++ b/rs/src/player/camera.rs @@ -13,12 +13,14 @@ use bevy::{ }, }, }; +use bevy::color::palettes::basic::FUCHSIA; use bevy_rapier3d::{ geometry::{Collider, CollisionGroups, Group}, math::Vect, pipeline::QueryFilter, plugin::RapierContext, }; +use bevy_rapier3d::prelude::ShapeCastOptions; use engine::ui::spawn_ui_camera; use enum_components::{EntityEnumCommands, WithVariant}; @@ -100,7 +102,7 @@ pub fn spawn_cameras( for chunk in tex.data.chunks_mut(16) { // Displays fuchsia if shader/custom pipeline aren't working chunk.copy_from_slice(unsafe { - &*(&Color::FUCHSIA.as_rgba_f32() as *const [f32; 4] as *const [u8; 16]) + &*(&FUCHSIA.to_f32_array() as *const [f32; 4] as *const [u8; 16]) }); } @@ -221,12 +223,14 @@ pub fn position_target( -rot, dir, col, - MAX_CAM_DIST - MIN_CAM_DIST, - true, + ShapeCastOptions { + max_time_of_impact: MAX_CAM_DIST - MIN_CAM_DIST, + ..default() + }, filter, ); - let toi = if let Some((_, toi)) = result { - let toi = toi.toi; + let toi = if let Some((_, hit)) = result { + let toi = hit.time_of_impact; if toi == 0.0 { if ctx .cast_shape( @@ -234,8 +238,11 @@ pub fn position_target( -rot, -dir, col, - (MAX_CAM_DIST - MIN_CAM_DIST) * 0.3, // Don't want enormous object right in front of camera if possible - true, + ShapeCastOptions { + // Don't want enormous object right in front of camera if possible + max_time_of_impact: (MAX_CAM_DIST - MIN_CAM_DIST) * 0.3, + ..default() + }, filter, ) .is_some() diff --git a/rs/src/player/ctrl.rs b/rs/src/player/ctrl.rs index f623b62..3b60bb6 100644 --- a/rs/src/player/ctrl.rs +++ b/rs/src/player/ctrl.rs @@ -92,8 +92,10 @@ pub fn player_repel_ground( global.rotation, -UP, col, - max_toi, - true, + ShapeCastOptions { + max_time_of_impact: max_toi, + ..default() + }, QueryFilter::new() .exclude_sensors() .exclude_rigid_body(**body_id) @@ -102,8 +104,8 @@ pub fn player_repel_ground( if let Some(( id, - Toi { - toi, + ShapeCastHit { + time_of_impact: toi, details: Some(details), .. }, @@ -278,14 +280,16 @@ pub fn move_player( body_global.rotation, dir, col, - rem * (1.0 + BUFFER), - true, + ShapeCastOptions { + max_time_of_impact: rem * (1.0 + BUFFER), + ..default() + }, filter, ) { Some(( _, - Toi { - toi, + ShapeCastHit { + time_of_impact: toi, details: Some(hit), status: _status, }, @@ -335,8 +339,8 @@ pub fn move_player( } Some(( _, - Toi { - status: TOIStatus::Penetrating, + ShapeCastHit { + status: ShapeCastStatus::PenetratingOrWithinTargetDist, .. }, )) => { diff --git a/rs/src/player/tune.rs b/rs/src/player/tune.rs index edb0284..22c97c7 100644 --- a/rs/src/player/tune.rs +++ b/rs/src/player/tune.rs @@ -11,7 +11,7 @@ use crate::{ /// Global game tuning parameters that will be effectively constant in releases. /// Implemented as an Asset for easy reloading during development. #[derive(Default, Resource, Serialize, Deserialize, Clone, Debug, Reflect)] -#[reflect(Resource)] +#[reflect(Resource, Default)] pub struct PlayerParams { pub abil: AbilityParams, pub phys: PlayerPhysicsParams, diff --git a/rs/src/ui/pause_menu.rs b/rs/src/ui/pause_menu.rs index b515b2f..e81fe02 100644 --- a/rs/src/ui/pause_menu.rs +++ b/rs/src/ui/pause_menu.rs @@ -43,7 +43,9 @@ use enum_components::{EntityEnumCommands, EnumComponent, WithVariant}; use leafwing_input_manager::action_state::ActionState; use rapier3d::geometry::SharedShape; use std::ops::ControlFlow; -use bevy::utils::smallvec::smallvec; +use bevy::color::palettes::basic::{GRAY, TEAL}; +use bevy::color::palettes::css::{LIMEGREEN, ORANGE_RED}; +use smallvec::smallvec; use web_time::Duration; use engine::ui::layout::ExpandToFitChildren; use engine::ui::widgets::borders::Border; @@ -160,7 +162,7 @@ pub fn setup( material: mats.add(UiMatBuilder { std: StandardMaterial { base_color: Color::BLACK, - emissive: Color::LIME_GREEN * 16.0, + emissive: LinearRgba::from(LIMEGREEN) * 16.0, ..default() }, ..default() @@ -173,7 +175,7 @@ pub fn setup( }); ControlFlow::Break(()) }), - focus_state_colors(Color::BLACK, Color::LIME_GREEN), + focus_state_colors(Color::BLACK, Color::from(LIMEGREEN)), ].into(), adjacent: AdjacentWidgets::vertical_siblings(), ..default() @@ -203,7 +205,7 @@ pub fn setup( material: mats.add(UiMatBuilder { std: StandardMaterial { base_color: Color::BLACK, - emissive: Color::TEAL * 20.0, + emissive: LinearRgba::from(TEAL) * 20.0, ..default() }, ..default() @@ -224,7 +226,7 @@ pub fn setup( }); ControlFlow::Break(()) }), - focus_state_emissive(Color::TEAL * 20.0, Color::TEAL * 30.0), + focus_state_emissive(LinearRgba::from(TEAL) * 20.0, LinearRgba::from(TEAL) * 30.0), ].into(), ..default() }, @@ -255,7 +257,7 @@ pub fn setup( material: mats.add(UiMatBuilder { std: StandardMaterial { base_color: Color::BLACK, - emissive: Color::GRAY * 16.0, + emissive: LinearRgba::from(GRAY) * 16.0, ..default() }, ..default() @@ -275,7 +277,7 @@ pub fn setup( }); ControlFlow::Break(()) }), - focus_state_colors(Color::BLACK, Color::GRAY), + focus_state_colors(Color::BLACK, Color::from(GRAY)), ].into(), adjacent: AdjacentWidgets::vertical_siblings(), ..default() @@ -307,7 +309,7 @@ pub fn setup( material: mats.add(UiMatBuilder { std: StandardMaterial { base_color: Color::BLACK, - emissive: Color::ORANGE_RED * 16.0, + emissive: LinearRgba::from(ORANGE_RED) * 16.0, ..default() }, ..default() @@ -317,11 +319,11 @@ pub fn setup( on_ok(|cmds| { cmds.commands().add(|world: &mut World| { world.resource_mut::>() - .send(AppExit); + .send(AppExit::Success); }); ControlFlow::Break(()) }), - focus_state_colors(Color::BLACK, Color::ORANGE_RED), + focus_state_colors(Color::BLACK, Color::from(ORANGE_RED)), ].into(), adjacent: AdjacentWidgets::vertical_siblings(), ..default() diff --git a/rs/src/ui/prefs_menu.rs b/rs/src/ui/prefs_menu.rs index dcaefb2..d0daed9 100644 --- a/rs/src/ui/prefs_menu.rs +++ b/rs/src/ui/prefs_menu.rs @@ -1,3 +1,4 @@ +use bevy::color::palettes::basic::PURPLE; use bevy::prelude::*; use engine::entity_tree; use engine::ui::{Fade, MenuStack, UiMat, UiMatBuilder, GLOBAL_UI_RENDER_LAYERS}; @@ -27,7 +28,7 @@ pub fn setup( translation: Vec3::new(0.0, -32.0, 24.0), ..default() }, - material: mats.add(UiMatBuilder::from(Color::PURPLE)), + material: mats.add(UiMatBuilder::from(Color::from(PURPLE))), handlers: MenuStack::pop_on_back(GLOBAL_UI_RENDER_LAYERS, 0.7), ..default() }, diff --git a/rs/src/ui/settings_menu.rs b/rs/src/ui/settings_menu.rs index dff2517..4d65cb2 100644 --- a/rs/src/ui/settings_menu.rs +++ b/rs/src/ui/settings_menu.rs @@ -23,7 +23,9 @@ use std::{ f32::consts::{FRAC_PI_2, FRAC_PI_3, FRAC_PI_6}, ops::{ControlFlow, ControlFlow::Break}, }; -use bevy::utils::smallvec::smallvec; +use bevy::color::palettes::basic::{AQUA, BLUE, FUCHSIA, GRAY, GREEN, RED, YELLOW}; +use bevy::color::palettes::css::DARK_GRAY; +use smallvec::smallvec; use engine::draw::rect_points; use engine::ui::widgets::borders::Border; use engine::ui::widgets::focus_toggle_border; @@ -150,10 +152,10 @@ pub fn setup( }, meshes.add(PlanarPolyLine { points: polygon_points(6, 10.5, 0.0), - colors: smallvec![smallvec![Color::GRAY]], + colors: smallvec![smallvec![LinearRgba::from(GRAY)]], ..default() }.flat()), - mats.add(UiMatBuilder::from(Color::DARK_GRAY)), + mats.add(UiMatBuilder::from(Color::from(DARK_GRAY))), RadialChildren { radius: 7.0, arrangement: RadialArrangement::Manual { @@ -174,7 +176,7 @@ pub fn setup( size: Vec3::new(5.0, 1.0, 1.5), ..default() }, - material: mats.add(UiMatBuilder::from(Color::CYAN.with_a(0.4))), + material: mats.add(UiMatBuilder::from(Color::from(AQUA.with_alpha(0.4)))), adjacent: adjacent.clone(), handlers: focus_toggle_border.clone(), ..default() @@ -203,7 +205,7 @@ pub fn setup( size: Vec3::new(5.0, 1.0, 1.5), ..default() }, - material: mats.add(UiMatBuilder::from(Color::YELLOW.with_a(0.4))), + material: mats.add(UiMatBuilder::from(Color::from(YELLOW.with_alpha(0.4)))), adjacent: adjacent.clone(), handlers: focus_toggle_border.clone(), ..default() @@ -232,7 +234,7 @@ pub fn setup( size: Vec3::new(5.0, 1.0, 1.5), ..default() }, - material: mats.add(UiMatBuilder::from(Color::FUCHSIA.with_a(0.4))), + material: mats.add(UiMatBuilder::from(Color::from(FUCHSIA.with_alpha(0.40)))), adjacent: adjacent.clone(), handlers: focus_toggle_border.clone(), ..default() @@ -261,7 +263,7 @@ pub fn setup( size: Vec3::new(5.0, 1.0, 1.5), ..default() }, - material: mats.add(UiMatBuilder::from(Color::RED.with_a(0.4))), + material: mats.add(UiMatBuilder::from(Color::from(RED.with_alpha(0.4)))), adjacent: adjacent.clone(), handlers: focus_toggle_border.clone(), ..default() @@ -290,7 +292,7 @@ pub fn setup( size: Vec3::new(5.0, 1.0, 1.5), ..default() }, - material: mats.add(UiMatBuilder::from(Color::GREEN.with_a(0.4))), + material: mats.add(UiMatBuilder::from(Color::from(GREEN.with_alpha(0.4)))), handlers: focus_toggle_border.clone() .and([on_ok(|cmds| { cmds.commands().add(|world: &mut World| { @@ -328,7 +330,7 @@ pub fn setup( size: Vec3::new(5.0, 1.0, 1.5), ..default() }, - material: mats.add(UiMatBuilder::from(Color::BLUE.with_a(0.4))), + material: mats.add(UiMatBuilder::from(Color::from(BLUE.with_alpha(0.4)))), adjacent: adjacent.clone(), handlers: focus_toggle_border.clone(), ..default() diff --git a/rs/src/ui/settings_menu/ctrls_menu.rs b/rs/src/ui/settings_menu/ctrls_menu.rs index 3b46809..3cf5ff7 100644 --- a/rs/src/ui/settings_menu/ctrls_menu.rs +++ b/rs/src/ui/settings_menu/ctrls_menu.rs @@ -36,8 +36,10 @@ use std::{ ops::{ControlFlow, ControlFlow::Break}, sync::Arc, }; +use bevy::color::palettes::basic::{GRAY, GREEN}; +use bevy::color::palettes::css::DARK_GRAY; use bevy::utils::CowArc; -use bevy::utils::smallvec::smallvec; +use smallvec::smallvec; use engine::draw::{square_points, PlanarPolyLine}; use engine::input::ActionExt; use engine::ui::widgets::borders::Border; @@ -60,7 +62,7 @@ pub fn setup( let entry_btn_mat = mats.add(UiMatBuilder::from(StandardMaterial { reflectance: 0.2, - ..StandardMaterial::from(Color::DARK_GRAY.with_a(0.5)) + ..StandardMaterial::from(Color::from(DARK_GRAY.with_alpha(0.5))) })); fn bindings_entries( @@ -176,7 +178,7 @@ pub fn setup( .collect::>() } - let entry_focus_border_mat = mats.add(UiMatBuilder::from(Color::GRAY)); + let entry_focus_border_mat = mats.add(UiMatBuilder::from(Color::from(GRAY))); //FIXME: Temporary till per-player Options menu is implemented let owner = BelongsToPlayer::new(1); @@ -226,7 +228,7 @@ pub fn setup( ..default() }, Node3dBundle::default(), - mats.add(UiMatBuilder::from(Color::DARK_GRAY)), + mats.add(UiMatBuilder::from(Color::from(DARK_GRAY))), ); let bindings_section_inner_components = ( @@ -256,7 +258,7 @@ pub fn setup( size: Vec3::new(10.0, 0.25, 0.25), ..default() }, - material: mats.add(UiMatBuilder::from(Color::DARK_GRAY)), + material: mats.add(UiMatBuilder::from(Color::from(DARK_GRAY))), ..default() } ); @@ -384,7 +386,7 @@ pub fn setup( ..default() }, font: ui_fonts.mono.clone(), - material: mats.add(UiMatBuilder::from(Color::GREEN)), + material: mats.add(UiMatBuilder::from(Color::from(GREEN))), ..default() } ), diff --git a/sond-bevy-enum-components b/sond-bevy-enum-components index c23cea6..d5d1885 160000 --- a/sond-bevy-enum-components +++ b/sond-bevy-enum-components @@ -1 +1 @@ -Subproject commit c23cea650accb0d159751db683d69a8c11f9c403 +Subproject commit d5d1885d3ed67d1f689a7f29b0f00ab9113f5c8c diff --git a/sond-bevy-particles b/sond-bevy-particles index 0ed1929..675e8bb 160000 --- a/sond-bevy-particles +++ b/sond-bevy-particles @@ -1 +1 @@ -Subproject commit 0ed192963080b30fae435083636b982d7f984c8b +Subproject commit 675e8bb555256262bfbfefafd445aed0b1f7d8aa diff --git a/vend/bevy_svg b/vend/bevy_svg index ec94ab4..1b76b8e 160000 --- a/vend/bevy_svg +++ b/vend/bevy_svg @@ -1 +1 @@ -Subproject commit ec94ab44edf129629c9cb58e0d5e93c708aa5621 +Subproject commit 1b76b8e366a817ab6b0288685805f1be27a97bb2