diff --git a/Cargo.lock b/Cargo.lock index a1f47f9..9890e8c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,12 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "accesskit" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cf780eb737f2d4a49ffbd512324d53ad089070f813f7be7f99dbd5123a7f448" - [[package]] name = "addr2line" version = "0.24.2" @@ -30,6 +24,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "const-random", "getrandom", "once_cell", "version_check", @@ -57,6 +52,17 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" +[[package]] +name = "assert_type_match" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "async-executor" version = "1.13.1" @@ -110,30 +116,18 @@ dependencies = [ [[package]] name = "bevy" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043c9ad4b6fc4ca52d779873a8ca792a4e37842d07fce95363c9e17e36a1d8a0" +checksum = "b6a01cd51a5cd310e4e7aa6e1560b1aabf29efc6a095a01e6daa8bf0a19f1fea" dependencies = [ "bevy_internal", ] -[[package]] -name = "bevy_a11y" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1a976cb539d6a5a3ff579cdb78187a6bcfbffa7e8224ea28f23d8b983d9389" -dependencies = [ - "accesskit", - "bevy_app", - "bevy_derive", - "bevy_ecs", -] - [[package]] name = "bevy_app" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5361d0f8a8677a5d0102cfe7321a7ecd2a8b9a4f887ce0dde1059311cf9cd42" +checksum = "652574e4c10efcfa70f98036709dd5b67e5cb8d46c58087ef48c2ac6b62df9da" dependencies = [ "bevy_derive", "bevy_ecs", @@ -141,17 +135,18 @@ dependencies = [ "bevy_tasks", "bevy_utils", "console_error_panic_hook", + "ctrlc", + "derive_more", "downcast-rs", - "thiserror", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_core" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de706862871a1fe99ea619bff2f99d73e43ad82f19ef866a9e19a14c957c8537" +checksum = "ecccf7be33330f58d4c7033b212a25c414d388e3a8d55b61331346da5dbabf22" dependencies = [ "bevy_app", "bevy_ecs", @@ -163,9 +158,9 @@ dependencies = [ [[package]] name = "bevy_derive" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbfc33a4c6b80760bb8bf850a2cc65a1e031da62fd3ca8b552189104dc98514" +checksum = "e141b7eda52a23bb88740b37a291e26394524cb9ee3b034c7014669671fc2bb5" dependencies = [ "bevy_macro_utils", "quote", @@ -174,9 +169,9 @@ dependencies = [ [[package]] name = "bevy_diagnostic" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebb154e0cc78e3bbfbfdb42fb502b14c1cd47e72f16e6d4228dfe6233ba6cbd" +checksum = "fa97748337405089edfb2857f7608f21bcc648a7ad272c9209808aad252ed542" dependencies = [ "bevy_app", "bevy_core", @@ -189,9 +184,9 @@ dependencies = [ [[package]] name = "bevy_ecs" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee4222406637f3c8e3991a99788cfcde76097bf997c311f1b6297364057483f" +checksum = "cb4c4b60d2a712c6d5cbe610bac7ecf0838fc56a095fd5b15f30230873e84f15" dependencies = [ "bevy_ecs_macros", "bevy_ptr", @@ -200,18 +195,20 @@ dependencies = [ "bevy_utils", "bitflags", "concurrent-queue", + "derive_more", + "disqualified", "fixedbitset 0.5.7", "nonmax", "petgraph", "serde", - "thiserror", + "smallvec", ] [[package]] name = "bevy_ecs_macros" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36b573430b67aff7bde8292257494f39343401379bfbda64035ba4918bba7b20" +checksum = "cb4296b3254b8bd29769f6a4512731b2e6c4b163343ca18b72316927315b6096" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -221,40 +218,41 @@ dependencies = [ [[package]] name = "bevy_hierarchy" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88b912b37e1bc4dbb2aa40723199f74c8b06c4fbb6da0bb4585131df28ef66e" +checksum = "6fe0b538beea7edbf30a6062242b99e67ff3bfa716566aacf91d5b5e027f02a2" dependencies = [ "bevy_app", "bevy_core", "bevy_ecs", "bevy_reflect", "bevy_utils", + "disqualified", "smallvec", ] [[package]] name = "bevy_input" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd3a54e67cc3ba17971de7b1a7e64eda84493c1e7bb6bfa11c6cf8ac124377b" +checksum = "46b4ea60095d1a1851e40cb12481ad3d5d234e14376d6b73142a85586c266b74" dependencies = [ "bevy_app", + "bevy_core", "bevy_ecs", "bevy_math", "bevy_reflect", "bevy_utils", + "derive_more", "smol_str", - "thiserror", ] [[package]] name = "bevy_internal" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45d435cac77c568f3aef65f786a5fee0e53c81950c5258182dd2c1d6cd6c4fec" +checksum = "d4237e6e9b03902321032f00f931f18a4a211093bd9a7cf81276a0228a2a4417" dependencies = [ - "bevy_a11y", "bevy_app", "bevy_core", "bevy_derive", @@ -270,29 +268,29 @@ dependencies = [ "bevy_time", "bevy_transform", "bevy_utils", - "bevy_window", ] [[package]] name = "bevy_log" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67240c7596c8f0653e50fce35a60196516817449235193246599facba9002e02" +checksum = "1a0bdb42b00ac3752f0d6f531fbda8abf313603157a7b3163da8529412119a0a" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", "bevy_utils", "tracing-log", + "tracing-oslog", "tracing-subscriber", "tracing-wasm", ] [[package]] name = "bevy_macro_utils" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfc65e570012e64a21f3546df68591aaede8349e6174fb500071677f54f06630" +checksum = "3954dbb56a66a6c09c783e767f6ceca0dc0492c22e536e2aeaefb5545eac33c6" dependencies = [ "proc-macro2", "quote", @@ -302,47 +300,51 @@ dependencies = [ [[package]] name = "bevy_math" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5421792749dda753ab3718e77d27bfce38443daf1850b836b97530b6245a4581" +checksum = "9ae26f952598e293acac783d947b21af1809673cbeba25d76b969a56f287160b" dependencies = [ "bevy_reflect", + "derive_more", "glam", + "itertools", "rand", + "rand_distr", "serde", "smallvec", - "thiserror", ] [[package]] name = "bevy_ptr" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61baa1bdc1f4a7ac2c18217570a7cc04e1cd54d38456e91782f0371c79afe0a8" +checksum = "2af9e30b40fb3f0a80a658419f670f2de1e743efcaca1952c43cdcc923287944" [[package]] name = "bevy_reflect" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2508785a4a5809f25a237eec4fee2c91a4dbcf81324b2bbc2d6c52629e603781" +checksum = "52a37e2ae5ed62df4a0e3f958076effe280b39bc81fe878587350897a89332a2" dependencies = [ + "assert_type_match", "bevy_ptr", "bevy_reflect_derive", "bevy_utils", + "derive_more", + "disqualified", "downcast-rs", "erased-serde", "glam", "serde", "smallvec", "smol_str", - "thiserror", ] [[package]] name = "bevy_reflect_derive" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "967d5da1882ec3bb3675353915d3da909cafac033cbf31e58727824a1ad2a288" +checksum = "94c683fc68c75fc26f90bb1e529590095380d7cec66f6610dbe6b93d9fd26f94" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -353,7 +355,7 @@ dependencies = [ [[package]] name = "bevy_slinet" -version = "0.12.0" +version = "0.13.0" dependencies = [ "async-trait", "bevy", @@ -369,48 +371,49 @@ dependencies = [ [[package]] name = "bevy_tasks" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77865f310b1fc48fb05b7c4adbe76607ec01d0c14f8ab4caba4d714c86439946" +checksum = "5171c605b462b4e3249e01986505e62e3933aa27642a9f793c841814fcbbfb4f" dependencies = [ "async-executor", + "futures-channel", "futures-lite", + "pin-project", "wasm-bindgen-futures", ] [[package]] name = "bevy_time" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e4d53ec32a1b16492396951d04de0d2d90e924bf9adcb8d1adacab5ab6c17c" +checksum = "291b6993b899c04554fc034ebb9e0d7fde9cb9b2fb58dcd912bfa6247abdedbb" dependencies = [ "bevy_app", "bevy_ecs", "bevy_reflect", "bevy_utils", "crossbeam-channel", - "thiserror", ] [[package]] name = "bevy_transform" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5493dce84427d00a9266e8e4386d738a72ee8640423b62dfcecb6dfccbfe0d2" +checksum = "dc35665624d0c728107ab0920d5ad2d352362b906a8c376eaf375ec9c751faf4" dependencies = [ "bevy_app", "bevy_ecs", "bevy_hierarchy", "bevy_math", "bevy_reflect", - "thiserror", + "derive_more", ] [[package]] name = "bevy_utils" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb0ec333b5965771153bd746f92ffd8aeeb9d008a8620ffd9ed474859381a5e" +checksum = "a0a48bad33c385a7818b7683a16c8b5c6930eded05cd3f176264fc1f5acea473" dependencies = [ "ahash", "bevy_utils_proc_macros", @@ -423,9 +426,9 @@ dependencies = [ [[package]] name = "bevy_utils_proc_macros" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f1ab8f2f6f58439d260081d89a42b02690e5fdd64f814edc9417d33fcf2857" +checksum = "3dfd8d4a525b8f04f85863e45ccad3e922d4c11ed4a8d54f7f62a40bf83fb90f" dependencies = [ "proc-macro2", "quote", @@ -433,28 +436,32 @@ dependencies = [ ] [[package]] -name = "bevy_window" -version = "0.14.2" +name = "bincode" +version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89e88a20db64ea8204540afb4699295947c454738fd50293f7b32ab8be857a6" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" dependencies = [ - "bevy_a11y", - "bevy_app", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_utils", - "raw-window-handle", - "smol_str", + "serde", ] [[package]] -name = "bincode" -version = "1.3.3" +name = "bindgen" +version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "serde", + "bitflags", + "cexpr", + "clang-sys", + "itertools", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn", ] [[package]] @@ -487,12 +494,47 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +[[package]] +name = "cc" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" +dependencies = [ + "shlex", +] + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading", +] + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -518,6 +560,26 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom", + "once_cell", + "tiny-keccak", +] + [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -533,6 +595,22 @@ version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "ctrlc" +version = "3.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +dependencies = [ + "nix", + "windows-sys 0.59.0", +] + [[package]] name = "dashmap" version = "6.1.0" @@ -547,12 +625,45 @@ dependencies = [ "parking_lot_core", ] +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "disqualified" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" + [[package]] name = "downcast-rs" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + [[package]] name = "equivalent" version = "1.0.1" @@ -710,15 +821,21 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glam" -version = "0.27.0" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" +checksum = "dc46dd3ec48fdd8e693a98d2b8bafae273a2d54c1de02a2a7e3d57d501f39677" dependencies = [ "bytemuck", "rand", "serde", ] +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + [[package]] name = "hashbrown" version = "0.14.5" @@ -752,6 +869,15 @@ dependencies = [ "hashbrown 0.15.2", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "js-sys" version = "0.3.72" @@ -773,6 +899,22 @@ version = "0.2.165" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb4d3d38eab6c5239a362fa8bae48c03baf980a6e7079f063942d563ef3533e" +[[package]] +name = "libloading" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +dependencies = [ + "cfg-if", + "windows-targets", +] + +[[package]] +name = "libm" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + [[package]] name = "lock_api" version = "0.4.12" @@ -804,6 +946,12 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.8.0" @@ -822,7 +970,29 @@ dependencies = [ "hermit-abi", "libc", "wasi", - "windows-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", ] [[package]] @@ -841,6 +1011,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + [[package]] name = "object" version = "0.36.5" @@ -868,6 +1048,16 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + [[package]] name = "parking_lot_core" version = "0.9.10" @@ -891,6 +1081,26 @@ dependencies = [ "indexmap", ] +[[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", +] + [[package]] name = "pin-project-lite" version = "0.2.15" @@ -903,6 +1113,25 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "prettyplease" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +dependencies = [ + "proc-macro2", + "syn", +] + [[package]] name = "proc-macro2" version = "1.0.92" @@ -927,6 +1156,18 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", "rand_core", ] @@ -935,12 +1176,19 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] [[package]] -name = "raw-window-handle" -version = "0.6.2" +name = "rand_distr" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand", +] [[package]] name = "redox_syscall" @@ -1001,6 +1249,12 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + [[package]] name = "scopeguard" version = "1.2.0" @@ -1036,6 +1290,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "slab" version = "0.4.9" @@ -1067,7 +1327,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1081,26 +1341,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "thread_local" version = "1.1.8" @@ -1111,6 +1351,15 @@ dependencies = [ "once_cell", ] +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + [[package]] name = "tokio" version = "1.41.1" @@ -1124,7 +1373,7 @@ dependencies = [ "pin-project-lite", "socket2", "tokio-macros", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -1198,6 +1447,21 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-oslog" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" +dependencies = [ + "bindgen", + "cc", + "cfg-if", + "once_cell", + "parking_lot", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "tracing-subscriber" version = "0.3.18" @@ -1239,6 +1503,12 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + [[package]] name = "uuid" version = "1.11.0" @@ -1384,6 +1654,15 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -1463,6 +1742,7 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] diff --git a/Cargo.toml b/Cargo.toml index 331bad4..b9fe3de 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bevy_slinet" -version = "0.12.0" +version = "0.13.0" authors = [ "Sliman4 <4sliman4@gmail.com>", "aggyomfg " @@ -25,7 +25,7 @@ features = [ ] [dependencies] -bevy = { version = "0.14", default-features = false } +bevy = { version = "0.15", default-features = false } serde = { version = "1", features = ["derive"] } byteorder = "1" bincode = { version = "1", optional = true } diff --git a/README.md b/README.md index 60f662e..9a29b40 100644 --- a/README.md +++ b/README.md @@ -56,8 +56,8 @@ fn main() { App::new() .add_plugins(MinimalPlugins) .add_plugins(ClientPlugin::::connect("127.0.0.1:3000")) - .observe(connection_establish_system) - .observe(packet_receive_system) + .add_observer(connection_establish_system) + .add_observer(packet_receive_system) .run() } @@ -119,8 +119,8 @@ fn main() { App::new() .add_plugins(MinimalPlugins) .add_plugins(ServerPlugin::::bind("127.0.0.1:3000").unwrap()) - .observe(new_connection_system) - .observe(packet_receive_system) + .add_observer(new_connection_system) + .add_observer(packet_receive_system) .run() } @@ -165,4 +165,6 @@ Note: you should implement keep-alive and disconnection systems yourself, or loo | `0.9` | `0.13` | | `0.10` | `0.13` | | `0.11` | `0.14` | -| `main` | `0.14` | +| `0.12` | `0.14` | +| `0.13` | `0.15` | +| `main` | `0.15` | diff --git a/examples/hello_world_tcp.rs b/examples/hello_world_tcp.rs index 1a8df0d..24be395 100644 --- a/examples/hello_world_tcp.rs +++ b/examples/hello_world_tcp.rs @@ -54,8 +54,8 @@ fn main() { let server = std::thread::spawn(move || { App::new() .add_plugins((MinimalPlugins, ServerPlugin::::bind(server_addr))) - .observe(server_new_connection_system) - .observe(server_packet_receive_system) + .add_observer(server_new_connection_system) + .add_observer(server_packet_receive_system) .run(); }); println!("Waiting 1000ms to make sure the server side has started"); @@ -64,7 +64,7 @@ fn main() { App::new() .add_plugins(MinimalPlugins) .add_plugins(ClientPlugin::::connect(server_addr)) - .observe(client_packet_receive_system) + .add_observer(client_packet_receive_system) .run(); }); server.join().unwrap(); diff --git a/examples/hello_world_tcp_encrypted.rs b/examples/hello_world_tcp_encrypted.rs index 54b5778..dac012c 100644 --- a/examples/hello_world_tcp_encrypted.rs +++ b/examples/hello_world_tcp_encrypted.rs @@ -58,8 +58,8 @@ fn main() { let server = std::thread::spawn(move || { App::new() .add_plugins((MinimalPlugins, ServerPlugin::::bind(server_addr))) - .observe(server_new_connection_system) - .observe(server_packet_receive_system) + .add_observer(server_new_connection_system) + .add_observer(server_packet_receive_system) .run(); }); println!("Waiting 1000ms to make sure the server side has started"); @@ -68,14 +68,14 @@ fn main() { App::new() .add_plugins(MinimalPlugins) .add_plugins(ClientPlugin::::connect(server_addr)) - .observe(client_packet_receive_system) + .add_observer(client_packet_receive_system) .run(); }); let client2 = std::thread::spawn(move || { App::new() .add_plugins(MinimalPlugins) .add_plugins(ClientPlugin::::connect(server_addr)) - .observe(client2_packet_receive_system) + .add_observer(client2_packet_receive_system) .run(); }); server.join().unwrap(); diff --git a/examples/hello_world_udp.rs b/examples/hello_world_udp.rs index f276cb1..eba13ac 100644 --- a/examples/hello_world_udp.rs +++ b/examples/hello_world_udp.rs @@ -54,8 +54,8 @@ fn main() { let server = std::thread::spawn(move || { App::new() .add_plugins((MinimalPlugins, ServerPlugin::::bind(server_addr))) - .observe(server_new_connection_system) - .observe(server_packet_receive_system) + .add_observer(server_new_connection_system) + .add_observer(server_packet_receive_system) .run(); }); println!("Waiting 1000ms to make sure the server side has started"); @@ -64,7 +64,7 @@ fn main() { App::new() .add_plugins(MinimalPlugins) .add_plugins(ClientPlugin::::connect(server_addr)) - .observe(client_packet_receive_system) + .add_observer(client_packet_receive_system) .run(); }); server.join().unwrap(); diff --git a/examples/lobby_and_battle_servers.rs b/examples/lobby_and_battle_servers.rs index 87523b3..55289aa 100644 --- a/examples/lobby_and_battle_servers.rs +++ b/examples/lobby_and_battle_servers.rs @@ -169,12 +169,12 @@ fn main() { .add_plugins((LogPlugin::default(), MinimalPlugins)) // Lobby server .add_plugins(ServerPlugin::::bind(LOBBY_SERVER)) - .observe(lobby_server_accept_new_connections) - .observe(lobby_server_packet_handler) + .add_observer(lobby_server_accept_new_connections) + .add_observer(lobby_server_packet_handler) // Battle server .add_plugins(ServerPlugin::::bind(BATTLE_SERVER)) - .observe(battle_server_accept_new_connections) - .observe(battle_server_packet_handler) + .add_observer(battle_server_accept_new_connections) + .add_observer(battle_server_packet_handler) // Keep-alive packets .init_resource::() .init_resource::>() @@ -190,19 +190,19 @@ fn main() { ) // Lobby client .add_plugins(ClientPlugin::::connect(LOBBY_SERVER)) - .observe(lobby_client_connect_handler) - .observe(lobby_client_packet_handler) + .add_observer(lobby_client_connect_handler) + .add_observer(lobby_client_packet_handler) // Battle client (doesn't connect immediately) .add_plugins(ClientPlugin::::new()) - .observe(battle_client_connect_handler) - .observe(battle_client_packet_handler) + .add_observer(battle_client_connect_handler) + .add_observer(battle_client_packet_handler) // Reconnection handlers - .observe(lobby_client_reconnect_if_error) - .observe(battle_client_reconnect_if_error) - .observe(lobby_client_keepalive_handler) - .observe(battle_client_keepalive_handler) - .observe(lobby_server_keepalive_handler) - .observe(battle_server_keepalive_handler) + .add_observer(lobby_client_reconnect_if_error) + .add_observer(battle_client_reconnect_if_error) + .add_observer(lobby_client_keepalive_handler) + .add_observer(battle_client_keepalive_handler) + .add_observer(lobby_server_keepalive_handler) + .add_observer(battle_server_keepalive_handler) .run(); } diff --git a/examples/multiple_connections.rs b/examples/multiple_connections.rs index 30b4705..db89b0c 100644 --- a/examples/multiple_connections.rs +++ b/examples/multiple_connections.rs @@ -60,8 +60,8 @@ fn main() { MinimalPlugins, ServerPlugin::::bind("127.0.0.1:3000"), )) - .observe(server_new_connection_system) - .observe(server_packet_receive_system) + .add_observer(server_new_connection_system) + .add_observer(server_packet_receive_system) .run(); }); println!("Waiting 1000ms to make sure the server has started"); @@ -74,7 +74,7 @@ fn main() { ClientPlugin::::connect("127.0.0.1:3000"), )) .insert_resource(ClientId(id)) - .observe(client_packet_receive_system) + .add_observer(client_packet_receive_system) .run(); }); } diff --git a/src/client.rs b/src/client.rs index d0bcd10..6bc2cab 100644 --- a/src/client.rs +++ b/src/client.rs @@ -206,7 +206,7 @@ fn setup_system(mut commands: Commands) { commands.insert_resource(ConnectionReceiver::(conn_rx)); commands.insert_resource(DisconnectionReceiver::(disc_rx, PhantomData)); commands.insert_resource(PacketReceiver::(pack_rx)); - commands.spawn(Observer::new(connection_request_system::)); + commands.add_observer(connection_request_system::); // Connection let disc_tx2 = disc_tx.clone(); diff --git a/src/server.rs b/src/server.rs index ef3fba0..c4d1572 100644 --- a/src/server.rs +++ b/src/server.rs @@ -82,7 +82,7 @@ impl Plugin for ServerPlugin { PostUpdate, (remove_connections::.in_set(SystemSets::ServerRemoveConnections),), ) - .observe(connection_add_system::); + .add_observer(connection_add_system::); } } diff --git a/src/tests.rs b/src/tests.rs index dad6ebf..691eaad 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -101,16 +101,16 @@ fn tcp_packets() { app_server.insert_resource(ReceivedPackets::::default()); app_server.insert_resource(ServerToClientPacketResource(server_to_client_packet)); - app_server.observe(server_new_connection_system); - app_server.observe(server_packet_receive_system); + app_server.add_observer(server_new_connection_system); + app_server.add_observer(server_packet_receive_system); let mut app_client = App::new(); app_client.add_plugins(ClientPlugin::::connect(server_addr)); app_client.insert_resource(ReceivedPackets::::default()); app_client.insert_resource(ClientToServerPacketResource(client_to_server_packet)); - app_client.observe(client_connection_establish_system); - app_client.observe(client_packet_receive_system); + app_client.add_observer(client_connection_establish_system); + app_client.add_observer(client_packet_receive_system); app_server.update(); // bind app_client.update(); // connect diff --git a/src/tests_mut_serializer.rs b/src/tests_mut_serializer.rs index 404b4e2..19d95af 100644 --- a/src/tests_mut_serializer.rs +++ b/src/tests_mut_serializer.rs @@ -113,8 +113,8 @@ fn tcp_encrypted_packets() { server_to_client_packet.clone(), )); - app_server.observe(server_new_connection_system); - app_server.observe(server_packet_receive_system); + app_server.add_observer(server_new_connection_system); + app_server.add_observer(server_packet_receive_system); let mut app_client = App::new(); app_client.add_plugins(ClientPlugin::::connect(server_addr)); @@ -123,8 +123,8 @@ fn tcp_encrypted_packets() { client_to_server_packet.clone(), )); - app_client.observe(client_connection_establish_system); - app_client.observe(client_packet_receive_system); + app_client.add_observer(client_connection_establish_system); + app_client.add_observer(client_packet_receive_system); app_server.update(); // bind app_client.update(); // connect