diff --git a/Cargo.lock b/Cargo.lock index f1e66c16..2d60c89e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,21 +2,11 @@ # It is not intended for manual editing. version = 3 -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "ab_glyph" -version = "0.2.18" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcdbc68024b653943864d436fe8a24b028095bc1cf91a8926f8241e4aaffe59" +checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", @@ -24,63 +14,115 @@ dependencies = [ [[package]] name = "ab_glyph_rasterizer" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330223a1aecc308757b9926e9391c9b47f8ef2dbd8aea9df88312aea18c5e8d6" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] -name = "adler" -version = "1.0.2" +name = "accesskit" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "76eb1adf08c5bcaa8490b9851fd53cca27fa9880076f178ea9d29f05196728a8" [[package]] -name = "adler32" -version = "1.2.0" +name = "accesskit_consumer" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" +checksum = "04bb4d9e4772fe0d47df57d0d5dbe5d85dd05e2f37ae1ddb6b105e76be58fb00" +dependencies = [ + "accesskit", +] [[package]] -name = "ahash" -version = "0.7.6" +name = "accesskit_macos" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "134d0acf6acb667c89d3332999b1a5df4edbc8d6113910f392ebb73f2b03bb56" dependencies = [ - "getrandom", + "accesskit", + "accesskit_consumer", + "objc2", "once_cell", - "version_check", ] +[[package]] +name = "accesskit_windows" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eac0a7f2d7cd7a93b938af401d3d8e8b7094217989a7c25c55a953023436e31" +dependencies = [ + "accesskit", + "accesskit_consumer", + "arrayvec", + "once_cell", + "paste", + "windows 0.48.0", +] + +[[package]] +name = "accesskit_winit" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "825d23acee1bd6d25cbaa3ca6ed6e73faf24122a774ec33d52c5c86c6ab423c0" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_windows", + "winit", +] + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "ahash" -version = "0.8.2" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf6ccdb167abbf410dcb915cabd428929d7f6a04980b54a11f26a39f1c7f7107" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "getrandom", "once_cell", "version_check", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "0.7.20" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + [[package]] name = "alsa" -version = "0.6.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5915f52fe2cf65e83924d037b6c5290b7cee097c6b5c8700746e6168a343fd6b" +checksum = "37fe60779335388a88c01ac6c3be40304d1e349de3ada3b15f7808bb90fa9dce" dependencies = [ "alsa-sys", - "bitflags", + "bitflags 2.5.0", "libc", - "nix 0.23.2", ] [[package]] @@ -94,23 +136,35 @@ dependencies = [ ] [[package]] -name = "android_log-sys" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85965b6739a430150bdd138e2374a98af0c3ee0d030b3bb7fc3bddff58d0102e" - -[[package]] -name = "android_logger" -version = "0.11.3" +name = "android-activity" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8619b80c242aa7bd638b5c7ddd952addeecb71f69c75e33f1d47b2804f8f883a" +checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0" dependencies = [ - "android_log-sys", - "env_logger", + "android-properties", + "bitflags 1.3.2", + "cc", + "jni-sys", + "libc", "log", - "once_cell", + "ndk 0.7.0", + "ndk-context", + "ndk-sys 0.4.1+23.1.7779620", + "num_enum 0.6.1", ] +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + +[[package]] +name = "android_log-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -131,9 +185,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.68" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" [[package]] name = "approx" @@ -146,92 +200,79 @@ dependencies = [ [[package]] name = "arboard" -version = "2.1.1" +version = "3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc120354d1b5ec6d7aaf4876b602def75595937b5e15d356eb554ab5177e08bb" +checksum = "a2041f1943049c7978768d84e6d0fd95de98b76d6c4727b09e78ec253d29fa58" dependencies = [ "clipboard-win", - "core-graphics", - "image 0.23.14", + "core-graphics 0.23.1", + "image", "log", "objc", "objc-foundation", "objc_id", "parking_lot", "thiserror", - "winapi", + "windows-sys 0.48.0", "x11rb", ] [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "ash" -version = "0.37.1+1.3.235" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911015c962d56e2e4052f40182ca5462ba60a3d2ff04e827c365a0ab3d65726d" -dependencies = [ - "libloading", -] - -[[package]] -name = "ast_node" -version = "0.8.6" +version = "0.37.3+1.3.251" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf94863c5fdfee166d0907c44e5fee970123b2b7307046d35d1e671aa93afbba" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" dependencies = [ - "darling", - "pmutil", - "proc-macro2", - "quote", - "swc_macros_common", - "syn", + "libloading 0.7.4", ] [[package]] name = "async-channel" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ - "concurrent-queue 2.0.0", - "event-listener", + "concurrent-queue", + "event-listener 2.5.3", "futures-core", ] [[package]] name = "async-executor" -version = "1.5.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" +checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" dependencies = [ "async-lock", "async-task", - "concurrent-queue 2.0.0", - "fastrand", - "futures-lite", + "concurrent-queue", + "fastrand 2.0.2", + "futures-lite 2.3.0", "slab", ] [[package]] name = "async-lock" -version = "2.6.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ - "event-listener", - "futures-lite", + "event-listener 4.0.3", + "event-listener-strategy", + "pin-project-lite", ] [[package]] name = "async-task" -version = "4.3.0" +version = "4.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" +checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" [[package]] name = "atomic-arena" @@ -241,9 +282,9 @@ checksum = "5450eca8ce5abcfd5520727e975ebab30ccca96030550406b0ca718b224ead10" [[package]] name = "atomic_refcell" -version = "0.1.8" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b5e5f48b927f04e952dedc932f31995a65a0bf65ec971c74436e51bf6e970d" +checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c" [[package]] name = "atty" @@ -251,108 +292,118 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi 0.1.19", + "hermit-abi", "libc", "winapi", ] [[package]] name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "base-x" -version = "0.2.11" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] -name = "base64" -version = "0.11.0" +name = "backtrace" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] [[package]] name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "better_scoped_tls" -version = "0.1.0" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73e8ecdec39e98aa3b19e8cd0b8ed8f77ccb86a6b0b2dc7cd86d105438a2123" -dependencies = [ - "scoped-tls", -] +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "bevy" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dae99b246505811f5bc19d2de1e406ec5d2816b421d58fa223779eb576f472c9" +checksum = "91c6d3ec4f89e85294dc97334c5b271ddc301fdf67ac9bb994fe44d9273e6ed7" dependencies = [ "bevy_internal", ] [[package]] name = "bevy-inspector-egui" -version = "0.15.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd4c06a380d02588eac43f8a56d2d370614fe6b2e7467041e57b064e93ec7620" +checksum = "fd2523be5ae7d482e5435dc75509b80a320989175768fb4b711603b9d2ab8fff" dependencies = [ - "bevy", "bevy-inspector-egui-derive", + "bevy_app", + "bevy_asset", + "bevy_core", + "bevy_core_pipeline", + "bevy_ecs", "bevy_egui", - "image 0.24.5", - "nalgebra 0.31.4", + "bevy_hierarchy", + "bevy_log", + "bevy_math", + "bevy_pbr", + "bevy_reflect", + "bevy_render", + "bevy_utils", + "bevy_window", + "egui", + "image", + "once_cell", "pretty-type-name", + "smallvec", ] [[package]] name = "bevy-inspector-egui-derive" -version = "0.15.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6a0ceb52115321ef304a5a875e975bba5bbf2ceb802e1dfa07221e8bbc8178" +checksum = "0edba455601861b8e8b76128ae5d46dd968114edde60f0ac3d2c21535a947548" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] -name = "bevy-inspector-egui-rapier" -version = "0.9.0" +name = "bevy-parallax" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61093d6ab0ae326c80ddc12c13a540f3bee247b2e214f2f39a8147124f5a09c0" +checksum = "5943d4d2f06b10eee372099c7c7ce44d4485455b88c95451c1c15e2ced9c53c9" dependencies = [ "bevy", - "bevy-inspector-egui", - "bevy_rapier2d 0.19.0", + "serde", ] [[package]] -name = "bevy-parallax" -version = "0.3.0" +name = "bevy_a11y" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43fff43976f20c3bd9d92280c7976b5afcda5359e711e01a8e4842317e200e0" +checksum = "132c9e35a77c5395951f6d25fa2c52ee92296353426df4f961e60f3ff47e2e42" dependencies = [ - "bevy", - "serde", + "accesskit", + "bevy_app", + "bevy_derive", + "bevy_ecs", ] [[package]] name = "bevy_app" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "536e4d0018347478545ed8b6cb6e57b9279ee984868e81b7c0e78e0fb3222e42" +checksum = "f557a7d59e1e16892d7544fc37316506ee598cb5310ef0365125a30783c11531" dependencies = [ "bevy_derive", "bevy_ecs", "bevy_reflect", + "bevy_tasks", "bevy_utils", "downcast-rs", "wasm-bindgen", @@ -361,11 +412,12 @@ dependencies = [ [[package]] name = "bevy_asset" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db1bb550168304df69c867c09125e1aae7ff51cf21575396e1598bf293442c4" +checksum = "9714af523da4cdf58c42a317e5ed40349708ad954a18533991fd64c8ae0a6f68" dependencies = [ "anyhow", + "async-channel", "bevy_app", "bevy_diagnostic", "bevy_ecs", @@ -373,11 +425,11 @@ dependencies = [ "bevy_reflect", "bevy_tasks", "bevy_utils", + "bevy_winit", "crossbeam-channel", "downcast-rs", - "fastrand", + "fastrand 1.9.0", "js-sys", - "ndk-glue", "notify", "parking_lot", "serde", @@ -389,9 +441,9 @@ dependencies = [ [[package]] name = "bevy_core" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96299aceb3c8362cb4aa39ff81c7ef758a5f4e768d16b5046a91628eff114ac0" +checksum = "3d5272321be5fcf5ce2fb16023bc825bb10dfcb71611117296537181ce950f48" dependencies = [ "bevy_app", "bevy_ecs", @@ -405,12 +457,13 @@ dependencies = [ [[package]] name = "bevy_core_pipeline" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc128a9860aadf16fb343ae427f2768986fd91dce64d945455acda9759c48014" +checksum = "67382fa9c96ce4f4e5833ed7cedd9886844a8f3284b4a717bd4ac738dcdea0c3" dependencies = [ "bevy_app", "bevy_asset", + "bevy_core", "bevy_derive", "bevy_ecs", "bevy_math", @@ -418,27 +471,27 @@ dependencies = [ "bevy_render", "bevy_transform", "bevy_utils", - "bitflags", + "bitflags 2.5.0", "radsort", "serde", ] [[package]] name = "bevy_derive" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7baf73c58d41c353c6fd08e6764a2e7420c9f19e8227b391c50981db6d0282a6" +checksum = "a44e4e2784a81430199e4157e02903a987a32127c773985506f020e7d501b62e" dependencies = [ "bevy_macro_utils", "quote", - "syn", + "syn 2.0.55", ] [[package]] name = "bevy_diagnostic" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63bf96ec7980fa25b77ff6c72dfafada477936c0dab76c1edf6c028c0e5fe0e4" +checksum = "6babb230dc383c98fdfc9603e3a7a2a49e1e2879dbe8291059ef37dca897932e" dependencies = [ "bevy_app", "bevy_core", @@ -446,13 +499,14 @@ dependencies = [ "bevy_log", "bevy_time", "bevy_utils", + "sysinfo", ] [[package]] name = "bevy_ecs" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c071d7c6bc9801253485e05d0c257284150de755391902746837ba21c0cf74" +checksum = "266144b36df7e834d5198049e037ecdf2a2310a76ce39ed937d1b0a6a2c4e8c6" dependencies = [ "async-channel", "bevy_ecs_macros", @@ -461,41 +515,31 @@ dependencies = [ "bevy_tasks", "bevy_utils", "downcast-rs", - "event-listener", + "event-listener 2.5.3", "fixedbitset", - "fxhash", + "rustc-hash", "serde", + "thiserror", "thread_local", ] -[[package]] -name = "bevy_ecs_dynamic" -version = "0.1.0" -source = "git+https://github.com/jakobhellermann/bevy_ecs_dynamic?rev=dc68a95#dc68a95ad94ec69570c19c734ba5710913cb6465" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "fixedbitset", -] - [[package]] name = "bevy_ecs_macros" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15bd45438eeb681ad74f2d205bb07a5699f98f9524462a30ec764afab2742ce" +checksum = "7157a9c3be038d5008ee3f114feb6cf6b39c1d3d32ee21a7cacb8f81fccdfa80" dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] name = "bevy_egui" -version = "0.18.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93fab81b00d664b7fd09c74eadcc8ab4a608649af1fb355647cd43f95f38ec6" +checksum = "1a73a93a8cf6b8c744281d1b88f5b0fa278d608e909af9bbf4eb491a7cb1ad2c" dependencies = [ "arboard", "bevy", @@ -506,9 +550,9 @@ dependencies = [ [[package]] name = "bevy_encase_derive" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "962b6bb0d30e92ec2e6c29837acce9e55b920733a634e7c3c5fd5a514bea7a24" +checksum = "d0ac0f55ad6bca1be7b0f35bbd5fc95ed3d31e4e9db158fee8e5327f59006001" dependencies = [ "bevy_macro_utils", "encase_derive_impl", @@ -516,9 +560,9 @@ dependencies = [ [[package]] name = "bevy_fluent" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b76fd2fd9c24ecf87bdf6c41bef009825d380c6e260016dac1e6d428d9e0dc69" +checksum = "34e59cfd5ebf486092bbe21501df2f60d67f8126740d90c30015a3c17a825512" dependencies = [ "anyhow", "bevy", @@ -526,7 +570,7 @@ dependencies = [ "fluent-langneg", "fluent_content", "globset", - "indexmap", + "indexmap 2.2.6", "intl-memoizer", "ron", "serde", @@ -539,22 +583,44 @@ dependencies = [ [[package]] name = "bevy_gilrs" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4af552dad82f854b2fae24f36a389fd8ee99d65fe86ae876e854e70d53ff16d9" +checksum = "65f4d79c55829f8016014593a42453f61a564ffb06ef79460d25696ccdfac67b" dependencies = [ "bevy_app", "bevy_ecs", "bevy_input", + "bevy_log", + "bevy_time", "bevy_utils", "gilrs", + "thiserror", +] + +[[package]] +name = "bevy_gizmos" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e286a3e7276431963f4aa29165ea5429fa7dbbc6d5c5ba0c531e7dd44ecc88a2" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_core", + "bevy_core_pipeline", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_sprite", + "bevy_transform", + "bevy_utils", ] [[package]] name = "bevy_hierarchy" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd6d50c48c6e1bcb5e08a768b765323292bb3bf3a439b992754c57ffb85b23a" +checksum = "103f8f58416ac6799b8c7f0b418f1fac9eba44fa924df3b0e16b09256b897e3d" dependencies = [ "bevy_app", "bevy_core", @@ -567,9 +633,9 @@ dependencies = [ [[package]] name = "bevy_input" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3378b5171284f4c4c0e8307081718a9fe458f846444616bd82d69110dcabca51" +checksum = "ffbd935401101ac8003f3c3aea70788c65ad03f7a32716a10608bedda7a648bc" dependencies = [ "bevy_app", "bevy_ecs", @@ -582,10 +648,11 @@ dependencies = [ [[package]] name = "bevy_internal" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c46014b7e885b1311de06b6039e448454a4db55b8d35464798ba88faa186e11" +checksum = "e0e35a9b2bd29aa784b3cc416bcbf2a298f69f00ca51fd042ea39d9af7fad37e" dependencies = [ + "bevy_a11y", "bevy_app", "bevy_asset", "bevy_core", @@ -594,32 +661,29 @@ dependencies = [ "bevy_diagnostic", "bevy_ecs", "bevy_gilrs", + "bevy_gizmos", "bevy_hierarchy", "bevy_input", "bevy_log", "bevy_math", - "bevy_pbr", "bevy_ptr", "bevy_reflect", "bevy_render", "bevy_scene", "bevy_sprite", "bevy_tasks", - "bevy_text", "bevy_time", "bevy_transform", - "bevy_ui", "bevy_utils", "bevy_window", "bevy_winit", - "ndk-glue", ] [[package]] name = "bevy_kira_audio" -version = "0.13.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b310ffe1c870e6ca5f0db228953f68af5a861302ec759edae43450f5835a0ece" +checksum = "7fc50583e632d0173437cb618077f957c1eb7a9eef9bce107fbf9f90b22e4f84" dependencies = [ "anyhow", "bevy", @@ -630,98 +694,71 @@ dependencies = [ [[package]] name = "bevy_log" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c480bac54cf4ae76edc3ae9ae3fa7c5e1b385e7f2111ef5ec3fd00cf3a7998b" +checksum = "07dcc615ff4f617b06c3f9522fca3c55d56f9644db293318f8ab68fcdea5d4fe" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", "bevy_utils", "console_error_panic_hook", - "tracing-log", + "tracing-log 0.1.4", "tracing-subscriber", "tracing-wasm", ] [[package]] name = "bevy_macro_utils" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022bb69196deeea691b6997414af85bbd7f2b34a8914c4aa7a7ff4dfa44f7677" +checksum = "23ddc18d489b4e57832d4958cde7cd2f349f0ad91e5892ac9e2f2ee16546b981" dependencies = [ "quote", - "syn", - "toml", + "rustc-hash", + "syn 2.0.55", + "toml_edit 0.19.15", ] [[package]] name = "bevy_math" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d434c77ab766c806ed9062ef8a7285b3b02b47df51f188d4496199c3ac062eaf" +checksum = "78286a81fead796dc4b45ab14f4f02fe29a94423d3587bcfef872b2a8e0a474b" dependencies = [ - "glam", + "glam 0.24.2", "serde", ] [[package]] name = "bevy_mikktspace" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfb5908d33fd613069be516180b8f138aaaf6e41c36b1fd98c6c29c00c24a13" +checksum = "6cfc2a21ea47970a9b1f0f4735af3256a8f204815bd756110051d10f9d909497" dependencies = [ - "glam", + "glam 0.24.2", ] [[package]] name = "bevy_mod_debugdump" -version = "0.6.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab7bd2b3324588ed47c8514081866e5d9a9d5d3aede8062f922502c4d6133ecf" +checksum = "85741df1a1a2aa03ecd2d9f70ba8787846c6b2b91b82ef85f71ed56f87591b15" dependencies = [ "bevy_app", "bevy_ecs", "bevy_render", + "bevy_utils", + "once_cell", + "petgraph", "pretty-type-name", ] -[[package]] -name = "bevy_mod_js_scripting" -version = "0.1.0" -source = "git+https://github.com/jakobhellermann/bevy_mod_js_scripting.git#538274e871c0e1cd7b697b6230bf98a0e5e3d3c8" -dependencies = [ - "anyhow", - "bevy", - "bevy_ecs_dynamic", - "bevy_reflect", - "bevy_reflect_fns", - "deno_core", - "fixedbitset", - "indexmap", - "js-sys", - "pollster", - "serde", - "serde-wasm-bindgen", - "serde_json", - "slotmap", - "swc_atoms", - "swc_common", - "swc_ecma_codegen", - "swc_ecma_parser", - "swc_ecma_transforms_base", - "swc_ecma_transforms_typescript", - "swc_ecma_visit", - "type-map 0.5.0", - "wasm-bindgen", - "wasm_mutex", -] - [[package]] name = "bevy_pbr" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310b1f260a475d81445623e138e1b7245759a42310bc1f84b550a3f4ff8763bf" +checksum = "63ca796a619e61cd43a0a3b11fde54644f7f0732a1fba1eef5d406248c6eba85" dependencies = [ "bevy_app", "bevy_asset", @@ -734,48 +771,36 @@ dependencies = [ "bevy_transform", "bevy_utils", "bevy_window", - "bitflags", + "bitflags 2.5.0", "bytemuck", + "naga_oil", "radsort", ] [[package]] name = "bevy_ptr" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ec44f7655039546bc5d34d98de877083473f3e9b2b81d560c528d6d74d3eff4" +checksum = "72c7586401a46f7d8e436028225c1df5288f2e0082d066b247a82466fea155c6" [[package]] name = "bevy_rapier2d" -version = "0.19.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe53a4fefd2d8bade79f2e5260bd206643bfcc951a3c5f86b3b7a0273eb19e0" +checksum = "7e8ffc72387774ca14a98c8c820a32d9d9f37b33c4c862362e89cbfde1620bfa" dependencies = [ "bevy", - "bitflags", + "bitflags 1.3.2", "log", - "nalgebra 0.31.4", - "rapier2d 0.16.1", + "nalgebra", + "rapier2d", ] [[package]] -name = "bevy_rapier2d" -version = "0.20.0" +name = "bevy_reflect" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459c99492ef202f535305fc4e279240c2d47c3645220100c56ec71e735fc03f3" -dependencies = [ - "bevy", - "bitflags", - "log", - "nalgebra 0.32.2", - "rapier2d 0.17.2", -] - -[[package]] -name = "bevy_reflect" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6deae303a7f69dc243b2fa35b5e193cc920229f448942080c8eb2dbd9de6d37a" +checksum = "0778197a1eb3e095a71417c74b7152ede02975cdc95b5ea4ddc5251ed00a2eb5" dependencies = [ "bevy_math", "bevy_ptr", @@ -783,44 +808,37 @@ dependencies = [ "bevy_utils", "downcast-rs", "erased-serde", - "glam", + "glam 0.24.2", "once_cell", "parking_lot", "serde", "smallvec", + "smol_str", "thiserror", ] [[package]] name = "bevy_reflect_derive" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bf4cb9cd5acb4193f890f36cb63679f1502e2de025e66a63b194b8b133d018" +checksum = "342a4b2d09db22c48607d23ad59a056aff1ee004549050a51d490d375ba29528" dependencies = [ "bevy_macro_utils", "bit-set", "proc-macro2", "quote", - "syn", + "syn 2.0.55", "uuid", ] -[[package]] -name = "bevy_reflect_fns" -version = "0.1.0" -source = "git+https://github.com/jakobhellermann/bevy_reflect_fns?rev=bb28740#bb287401a59e851dc04bdea90ddce8285c112417" -dependencies = [ - "bevy_reflect", - "thiserror", -] - [[package]] name = "bevy_render" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e3282a8f8779d2aced93207fbed73f740937c6c2bd27bd84f0799b081c7fca5" +checksum = "39df4824b760928c27afc7b00fb649c7a63c9d76661ab014ff5c86537ee906cb" dependencies = [ "anyhow", + "async-channel", "bevy_app", "bevy_asset", "bevy_core", @@ -833,46 +851,51 @@ dependencies = [ "bevy_mikktspace", "bevy_reflect", "bevy_render_macros", + "bevy_tasks", "bevy_time", "bevy_transform", "bevy_utils", "bevy_window", - "bitflags", + "bitflags 2.5.0", + "bytemuck", "codespan-reporting", "downcast-rs", "encase", - "futures-lite", - "hex", + "futures-lite 1.13.0", "hexasphere", - "image 0.24.5", + "image", + "js-sys", "naga", - "once_cell", + "naga_oil", "parking_lot", "regex", "serde", "smallvec", "thiserror", "thread_local", + "wasm-bindgen", + "web-sys", "wgpu", + "wgpu-hal", ] [[package]] name = "bevy_render_macros" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7acae697776ac05bea523e1725cf2660c91c53abe72c66782ea1e1b9eedb572" +checksum = "0bd08c740aac73363e32fb45af869b10cec65bcb76fe3e6cd0f8f7eebf4c36c9" dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] name = "bevy_scene" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9c66a628c833d53bae54fe94cbc0d3f12c29e9d2e6c3f2356d45ad57db0c8c" +checksum = "bd47e1263506153bef3a8be97fe2d856f206d315668c4f97510ca6cc181d9681" dependencies = [ "anyhow", "bevy_app", @@ -892,9 +915,9 @@ dependencies = [ [[package]] name = "bevy_sprite" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ec01c7db7f698d95bcb70708527c3ae6bcdc78fc247abe74f935cae8f0a1145" +checksum = "68a8ca824fad75c6ef74cfbbba0a4ce3ccc435fa23d6bf3f003f260548813397" dependencies = [ "bevy_app", "bevy_asset", @@ -907,7 +930,7 @@ dependencies = [ "bevy_render", "bevy_transform", "bevy_utils", - "bitflags", + "bitflags 2.5.0", "bytemuck", "fixedbitset", "guillotiere", @@ -917,47 +940,23 @@ dependencies = [ [[package]] name = "bevy_tasks" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "680b16b53df9c9f24681dd95f4d772d83760bd19adf8bca00f358a3aad997853" +checksum = "c73bbb847c83990d3927005090df52f8ac49332e1643d2ad9aac3cd2974e66bf" dependencies = [ "async-channel", "async-executor", "async-task", - "concurrent-queue 1.2.4", - "futures-lite", - "once_cell", + "concurrent-queue", + "futures-lite 1.13.0", "wasm-bindgen-futures", ] -[[package]] -name = "bevy_text" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60c74c1bdaabde7db28f6728aa13bc7b1d744a2201b2bbfd83d2224404c57f5c" -dependencies = [ - "ab_glyph", - "anyhow", - "bevy_app", - "bevy_asset", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_transform", - "bevy_utils", - "bevy_window", - "glyph_brush_layout", - "serde", - "thiserror", -] - [[package]] name = "bevy_time" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c38a6d3ea929c7f81e6adf5a6c62cf7e8c40f5106c2174d6057e9d8ea624d" +checksum = "3d58d6dbae9c8225d8c0e0f04d2c5dbb71d22adc01ecd5ab3cebc364139e4a6d" dependencies = [ "bevy_app", "bevy_ecs", @@ -965,13 +964,14 @@ dependencies = [ "bevy_utils", "crossbeam-channel", "serde", + "thiserror", ] [[package]] name = "bevy_transform" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba13c57a040b89767191a6f6d720a635b7792793628bfa41a9e38b7026484aec" +checksum = "3b9b0ac0149a57cd846cb357a35fc99286f9848e53d4481954608ac9552ed2d4" dependencies = [ "bevy_app", "bevy_ecs", @@ -982,53 +982,38 @@ dependencies = [ ] [[package]] -name = "bevy_ui" -version = "0.9.1" +name = "bevy_utils" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e82ace6156f11fcdf2319102ff8fb8367b82d1e32b7d05d387a1963602f965" +checksum = "08d9484e32434ea84dc548cff246ce0c6f756c1336f5ea03f24ac120a48595c7" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_text", - "bevy_transform", - "bevy_utils", - "bevy_window", - "bytemuck", - "serde", - "smallvec", - "taffy", + "ahash", + "bevy_utils_proc_macros", + "getrandom", + "hashbrown 0.14.3", + "instant", + "petgraph", "thiserror", + "tracing", + "uuid", ] [[package]] -name = "bevy_utils" -version = "0.9.1" +name = "bevy_utils_proc_macros" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16750aae52cd35bd7b60eb61cee883420b250e11b4a290b8d44b2b2941795739" +checksum = "5391b242c36f556db01d5891444730c83aa9dd648b6a8fd2b755d22cb3bddb57" dependencies = [ - "ahash 0.7.6", - "getrandom", - "hashbrown", - "instant", - "tracing", - "uuid", + "proc-macro2", + "quote", + "syn 2.0.55", ] [[package]] name = "bevy_window" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a44d3f3bd54a2261f4f57f614bf7bccc8d2832761493c0cd7dab81d98cc151e" +checksum = "bd584c0da7c4ada6557b09f57f30fb7cff21ccedc641473fc391574b4c9b7944" dependencies = [ "bevy_app", "bevy_ecs", @@ -1036,25 +1021,30 @@ dependencies = [ "bevy_math", "bevy_reflect", "bevy_utils", - "raw-window-handle 0.5.0", + "raw-window-handle", "serde", ] [[package]] name = "bevy_winit" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7b7e647ecd0b3577468da37767dcdd7c26ca9f80da0060b2ec4c77336b6d2e1" +checksum = "bfdc044abdb95790c20053e6326760f0a2985f0dcd78613d397bf35f16039d53" dependencies = [ + "accesskit_winit", "approx", + "bevy_a11y", "bevy_app", + "bevy_derive", "bevy_ecs", + "bevy_hierarchy", "bevy_input", "bevy_math", + "bevy_tasks", "bevy_utils", "bevy_window", "crossbeam-channel", - "raw-window-handle 0.5.0", + "raw-window-handle", "wasm-bindgen", "web-sys", "winit", @@ -1062,22 +1052,22 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.61.0" +version = "0.69.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a022e58a142a46fea340d68012b9201c094e93ec3d033a944a24f8fd4a4f09a" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" dependencies = [ - "bitflags", + "bitflags 2.5.0", "cexpr", "clang-sys", + "itertools 0.12.1", "lazy_static", "lazycell", - "peeking_take_while", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn", + "syn 2.0.55", ] [[package]] @@ -1101,6 +1091,15 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +dependencies = [ + "serde", +] + [[package]] name = "block" version = "0.1.6" @@ -1108,74 +1107,80 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] -name = "block-buffer" -version = "0.10.3" +name = "block-sys" +version = "0.1.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.2.0-alpha.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" dependencies = [ - "generic-array", + "block-sys", + "objc2-encode", ] [[package]] name = "bstr" -version = "0.2.17" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ "memchr", + "serde", ] [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" [[package]] name = "bytemuck" -version = "1.12.3" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" +checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.3.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe233b960f12f8007e3db2d136e3cb1c291bfd7396e384ee76025fc1a3932b4" +checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" - -[[package]] -name = "cache-padded" -version = "1.2.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "cc" -version = "1.0.78" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -1207,13 +1212,13 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "clang-sys" -version = "1.4.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" dependencies = [ "glob", "libc", - "libloading", + "libloading 0.8.3", ] [[package]] @@ -1224,8 +1229,8 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", - "strsim 0.8.0", + "bitflags 1.3.2", + "strsim", "textwrap", "unicode-width", "vec_map", @@ -1233,44 +1238,11 @@ dependencies = [ [[package]] name = "clipboard-win" -version = "4.4.2" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4ab1b92798304eedc095b53942963240037c0516452cb11aeba709d420b2219" +checksum = "d517d4b86184dbb111d3556a10f1c8a04da7428d2987bf1081602bf11c3aa9ee" dependencies = [ "error-code", - "str-buf", - "winapi", -] - -[[package]] -name = "cocoa" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" -dependencies = [ - "bitflags", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics", - "foreign-types", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" -dependencies = [ - "bitflags", - "block", - "core-foundation", - "core-graphics-types", - "foreign-types", - "libc", - "objc", ] [[package]] @@ -1289,6 +1261,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +[[package]] +name = "com-rs" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642" + [[package]] name = "combine" version = "4.6.6" @@ -1301,18 +1279,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "1.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c" -dependencies = [ - "cache-padded", -] - -[[package]] -name = "concurrent-queue" -version = "2.0.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b" +checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" dependencies = [ "crossbeam-utils", ] @@ -1329,21 +1298,30 @@ dependencies = [ [[package]] name = "const_panic" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58baae561b85ca19b3122a9ddd35c8ec40c3bcd14fe89921824eae73f7baffbf" +checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" [[package]] -name = "convert_case" -version = "0.4.0" +name = "const_soft_float" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" + +[[package]] +name = "constgebra" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +checksum = "e1aaf9b65849a68662ac6c0810c8893a765c960b907dd7cfab9c4a50bf764fbc" +dependencies = [ + "const_soft_float", +] [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1351,9 +1329,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core-graphics" @@ -1361,94 +1339,95 @@ version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" dependencies = [ - "bitflags", + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types 0.3.2", + "libc", +] + +[[package]] +name = "core-graphics" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +dependencies = [ + "bitflags 1.3.2", "core-foundation", "core-graphics-types", - "foreign-types", + "foreign-types 0.5.0", "libc", ] [[package]] name = "core-graphics-types" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", - "foreign-types", "libc", ] [[package]] name = "coreaudio-rs" -version = "0.10.0" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11894b20ebfe1ff903cbdc52259693389eea03b94918a2def2c30c3bf227ad88" +checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" dependencies = [ - "bitflags", + "bitflags 1.3.2", + "core-foundation-sys", "coreaudio-sys", ] [[package]] name = "coreaudio-sys" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9444b94b8024feecc29e01a9706c69c1e26bfee480221c90764200cfd778fb" +checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9" dependencies = [ "bindgen", ] [[package]] name = "cpal" -version = "0.14.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f342c1b63e185e9953584ff2199726bf53850d96610a310e3aca09e9405a2d0b" +checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" dependencies = [ "alsa", "core-foundation-sys", "coreaudio-rs", - "jni 0.19.0", + "dasp_sample", + "jni", "js-sys", "libc", - "mach", - "ndk 0.7.0", + "mach2", + "ndk 0.8.0", "ndk-context", "oboe", - "once_cell", - "parking_lot", - "stdweb", - "thiserror", "wasm-bindgen", + "wasm-bindgen-futures", "web-sys", - "windows 0.37.0", -] - -[[package]] -name = "cpufeatures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" -dependencies = [ - "libc", + "windows 0.54.0", ] [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" dependencies = [ - "cfg-if", "crossbeam-channel", "crossbeam-deque", "crossbeam-epoch", @@ -1458,261 +1437,117 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.6" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.2" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.13" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset 0.7.1", - "scopeguard", ] [[package]] name = "crossbeam-queue" -version = "0.3.8" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.14" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" -dependencies = [ - "cfg-if", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] -name = "crypto-common" -version = "0.1.6" +name = "d3d12" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "d8f0de2f5a8e7bd4a9eec0e3c781992a4ce1724f68aec7d7a3715344de8b39da" dependencies = [ - "generic-array", - "typenum", + "bitflags 1.3.2", + "libloading 0.7.4", + "winapi", ] [[package]] -name = "cty" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" - -[[package]] -name = "d3d12" -version = "0.5.0" +name = "dasp_sample" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "827914e1f53b1e0e025ecd3d967a7836b7bcb54520f90e21ef8df7b4d88a2759" -dependencies = [ - "bitflags", - "libloading", - "winapi", -] +checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" [[package]] -name = "darling" -version = "0.13.4" +name = "data-encoding" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core", - "darling_macro", -] +checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] -name = "darling_core" -version = "0.13.4" +name = "derive_more" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "fnv", - "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", - "syn", + "syn 1.0.109", ] [[package]] -name = "darling_macro" -version = "0.13.4" +name = "directories" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" dependencies = [ - "darling_core", - "quote", - "syn", + "dirs-sys", ] [[package]] -name = "dashmap" -version = "5.4.0" +name = "dirs-sys" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ - "cfg-if", - "hashbrown", - "lock_api", - "once_cell", - "parking_lot_core", + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", ] [[package]] -name = "debug_unreachable" -version = "0.1.1" +name = "dispatch" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a032eac705ca39214d169f83e3d3da290af06d8d1d344d1baad2fd002dca4b3" -dependencies = [ - "unreachable", -] - -[[package]] -name = "deflate" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" -dependencies = [ - "adler32", - "byteorder", -] - -[[package]] -name = "deno_core" -version = "0.146.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88475da37fe0544b7372fd4705560df496498eb5eeb40ce19bfe7787ed0600ca" -dependencies = [ - "anyhow", - "deno_ops", - "futures", - "indexmap", - "libc", - "log", - "once_cell", - "parking_lot", - "pin-project", - "serde", - "serde_json", - "serde_v8", - "sourcemap", - "url", - "v8", -] - -[[package]] -name = "deno_ops" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e217fd2f9a61bc581f6b13868a46ef800efb7532348fd86cc4fe49204d203ea6" -dependencies = [ - "once_cell", - "proc-macro-crate", - "proc-macro2", - "quote", - "regex", - "syn", -] - -[[package]] -name = "derive_more" -version = "0.99.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version 0.4.0", - "syn", -] - -[[package]] -name = "digest" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "directories" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "discard" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" - -[[package]] -name = "dispatch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] name = "displaydoc" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] @@ -1723,29 +1558,29 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "ecolor" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b601108bca3af7650440ace4ca55b2daf52c36f2635be3587d77b16efd8d0691" +checksum = "2e479a7fa3f23d4e794f8b2f8b3568dd4e47886ad1b12c9c095e141cb591eb63" dependencies = [ "bytemuck", ] [[package]] name = "egui" -version = "0.20.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65a5e883a316e53866977450eecfbcac9c48109c2ab3394af29feb83fcde4ea9" +checksum = "a3aef8ec3ae1b772f340170c65bf27d5b8c28f543a0116c844d2ac08d01123e7" dependencies = [ - "ahash 0.8.2", + "ahash", "epaint", "nohash-hasher", ] [[package]] name = "egui_extras" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1975cd88ff7430f93b29e6b9868b648a8ff6a43b08b9ff8474ee0a648bd8f9a6" +checksum = "9278f4337b526f0d57e5375e5a7340a311fa6ee8f9fcc75721ac50af13face02" dependencies = [ "egui", "serde", @@ -1753,90 +1588,68 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "emath" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5277249c8c3430e7127e4f2c40a77485e7baf11ae132ce9b3253a8ed710df0a0" +checksum = "3857d743a6e0741cdd60b622a74c7a36ea75f5f8f11b793b41d905d2c9721a4b" dependencies = [ "bytemuck", ] [[package]] name = "encase" -version = "0.4.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ec50086547d597b5c871a78399ec04a14828a6a5c445a61ed4687c540edec6" +checksum = "8fce2eeef77fd4a293a54b62aa00ac9daebfbcda4bf8998c5a815635b004aa1c" dependencies = [ "const_panic", "encase_derive", - "glam", + "glam 0.24.2", "thiserror", ] [[package]] name = "encase_derive" -version = "0.4.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda93e9714c7683c474f49a461a2ae329471d2bda43c4302d41c6d8339579e92" +checksum = "0e520cde08cbf4f7cc097f61573ec06ce467019803de8ae82fb2823fa1554a0e" dependencies = [ "encase_derive_impl", ] [[package]] name = "encase_derive_impl" -version = "0.4.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec27b639e942eb0297513b81cc6d87c50f6c77dc8c37af00a39ed5db3b9657ee" +checksum = "3fe2568f851fd6144a45fa91cfed8fe5ca8fc0b56ba6797bfc1ed2771b90e37c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] name = "encoding_rs" -version = "0.8.31" +version = "0.8.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" dependencies = [ "cfg-if", ] -[[package]] -name = "enum_kind" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b940da354ae81ef0926c5eaa428207b8f4f091d3956c891dfbd124162bed99" -dependencies = [ - "pmutil", - "proc-macro2", - "swc_macros_common", - "syn", -] - -[[package]] -name = "env_logger" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" -dependencies = [ - "log", - "regex", -] - [[package]] name = "epaint" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de14b65fe5e423e0058f77a8beb2c863b056d0566d6c4ce0d097aa5814cb705a" +checksum = "09333964d4d57f40a85338ba3ca5ed4716070ab184dcfed966b35491c5c64f3b" dependencies = [ "ab_glyph", - "ahash 0.8.2", + "ahash", "atomic_refcell", "bytemuck", "ecolor", @@ -1845,30 +1658,42 @@ dependencies = [ "parking_lot", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "erased-serde" -version = "0.3.24" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ca605381c017ec7a5fef5e548f1cfaa419ed0f6df6367339300db74c92aa7d" +checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c" dependencies = [ "serde", ] [[package]] -name = "error-code" -version = "2.3.1" +name = "errno" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", - "str-buf", + "windows-sys 0.52.0", ] +[[package]] +name = "error-code" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" + [[package]] name = "euclid" -version = "0.22.7" +version = "0.22.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b52c2ef4a78da0ba68fbe1fd920627411096d2ac478f7f4c9f3a54ba6705bade" +checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" dependencies = [ "num-traits", ] @@ -1879,25 +1704,61 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite", +] + [[package]] name = "fastrand" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ "instant", ] +[[package]] +name = "fastrand" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" + +[[package]] +name = "fdeflate" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" +dependencies = [ + "simd-adler32", +] + [[package]] name = "filetime" -version = "0.2.19" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall", - "windows-sys 0.42.0", + "redox_syscall 0.4.1", + "windows-sys 0.52.0", ] [[package]] @@ -1908,12 +1769,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.25" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", - "miniz_oxide 0.6.2", + "miniz_oxide", ] [[package]] @@ -1937,7 +1798,7 @@ dependencies = [ "intl-memoizer", "intl_pluralrules", "rustc-hash", - "self_cell", + "self_cell 0.10.3", "smallvec", "unic-langid", ] @@ -1962,9 +1823,9 @@ dependencies = [ [[package]] name = "fluent_content" -version = "0.0.3" +version = "0.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a582c297515a2fb08cbaa1166498dd18b11ba0e4d7c9cad5b10386a6a2208c8a" +checksum = "38dc4630a89c85160410fd062826b505218a0ca68121f92d9fbd9a0e71c1a148" dependencies = [ "fluent", "fluent-langneg", @@ -1986,110 +1847,79 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ - "foreign-types-shared", + "foreign-types-shared 0.1.1", ] [[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.1.0" +name = "foreign-types" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ - "percent-encoding", + "foreign-types-macros", + "foreign-types-shared 0.3.1", ] [[package]] -name = "from_variant" -version = "0.1.4" +name = "foreign-types-macros" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0981e470d2ab9f643df3921d54f1952ea100c39fdb6a3fdc820e20d2291df6c" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ - "pmutil", "proc-macro2", - "swc_macros_common", - "syn", + "quote", + "syn 2.0.55", ] [[package]] -name = "fsevent-sys" -version = "4.1.0" +name = "foreign-types-shared" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" -dependencies = [ - "libc", -] +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] -name = "fslock" -version = "0.1.8" +name = "foreign-types-shared" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57eafdd0c16f57161105ae1b98a1238f97645f2f588438b2949c99a2af9616bf" -dependencies = [ - "libc", - "winapi", -] +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" [[package]] -name = "futures" -version = "0.3.25" +name = "form_urlencoded" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", + "percent-encoding", ] [[package]] -name = "futures-channel" -version = "0.3.25" +name = "fsevent-sys" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" dependencies = [ - "futures-core", - "futures-sink", + "libc", ] [[package]] name = "futures-core" -version = "0.3.25" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" - -[[package]] -name = "futures-executor" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-io" -version = "0.3.25" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ - "fastrand", + "fastrand 1.9.0", "futures-core", "futures-io", "memchr", @@ -2099,80 +1929,33 @@ dependencies = [ ] [[package]] -name = "futures-macro" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" - -[[package]] -name = "futures-task" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" - -[[package]] -name = "futures-util" -version = "0.3.25" +name = "futures-lite" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "futures-channel", + "fastrand 2.0.2", "futures-core", "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", + "parking", "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "generic-array" -version = "0.14.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" -dependencies = [ - "typenum", - "version_check", ] [[package]] name = "gethostname" -version = "0.2.3" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" dependencies = [ "libc", - "winapi", + "windows-targets 0.48.5", ] [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "js-sys", @@ -2183,9 +1966,9 @@ dependencies = [ [[package]] name = "gilrs" -version = "0.10.1" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d0342acdc7b591d171212e17c9350ca02383b86d5f9af33c6e3598e03a6c57e" +checksum = "499067aa54af19f88732dc418f61f23d5912de1518665bb0eca034ca0d07574c" dependencies = [ "fnv", "gilrs-core", @@ -2196,58 +1979,74 @@ dependencies = [ [[package]] name = "gilrs-core" -version = "0.5.2" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6789d356476c3280a4e15365d23f62b4b4f1bcdac81fdd552f65807bce4666dd" +checksum = "85c132270a155f2548e67d66e731075c336c39098afc555752f3df8f882c720e" dependencies = [ "core-foundation", + "inotify 0.10.2", "io-kit-sys", "js-sys", "libc", "libudev-sys", "log", - "nix 0.25.1", + "nix", "uuid", "vec_map", "wasm-bindgen", "web-sys", - "windows 0.43.0", + "windows 0.54.0", ] +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" + [[package]] name = "glam" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f597d56c1bd55a811a1be189459e8fad2bbc272616375602443bdfb37fa774" +checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" dependencies = [ "bytemuck", "serde", ] +[[package]] +name = "glam" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" +dependencies = [ + "mint", +] + [[package]] name = "glob" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.9" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick", "bstr", - "fnv", "log", - "regex", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", ] [[package]] name = "glow" -version = "0.11.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8bd5877156a19b8ac83a29b2306fe20537429d318f3ff0a1a2119f8d9c61919" +checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728" dependencies = [ "js-sys", "slotmap", @@ -2256,53 +2055,55 @@ dependencies = [ ] [[package]] -name = "glyph_brush_layout" -version = "0.2.3" +name = "gpu-alloc" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc32c2334f00ca5ac3695c5009ae35da21da8c62d255b5b96d56e2597a637a38" +checksum = "22beaafc29b38204457ea030f6fb7a84c9e4dd1b86e311ba0542533453d87f62" dependencies = [ - "ab_glyph", - "approx", - "xi-unicode", + "bitflags 1.3.2", + "gpu-alloc-types", ] [[package]] -name = "gpu-alloc" -version = "0.5.3" +name = "gpu-alloc-types" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc59e5f710e310e76e6707f86c561dd646f69a8876da9131703b2f717de818d" +checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5" dependencies = [ - "bitflags", - "gpu-alloc-types", + "bitflags 1.3.2", ] [[package]] -name = "gpu-alloc-types" -version = "0.2.0" +name = "gpu-allocator" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5" +checksum = "ce95f9e2e11c2c6fadfce42b5af60005db06576f231f5c92550fdded43c423e8" dependencies = [ - "bitflags", + "backtrace", + "log", + "thiserror", + "winapi", + "windows 0.44.0", ] [[package]] name = "gpu-descriptor" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a" +checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ - "bitflags", + "bitflags 2.5.0", "gpu-descriptor-types", - "hashbrown", + "hashbrown 0.14.3", ] [[package]] name = "gpu-descriptor-types" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126" +checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" dependencies = [ - "bitflags", + "bitflags 2.5.0", ] [[package]] @@ -2316,33 +2117,35 @@ dependencies = [ ] [[package]] -name = "hash32" -version = "0.2.1" +name = "hashbrown" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" -dependencies = [ - "byteorder", -] +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] -name = "hash32-derive" -version = "0.1.1" +name = "hashbrown" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59d2aba832b60be25c1b169146b27c64115470981b128ed84c8db18c1b03c6ff" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "proc-macro2", - "quote", - "syn", + "ahash", + "allocator-api2", + "serde", ] [[package]] -name = "hashbrown" -version = "0.12.3" +name = "hassle-rs" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0" dependencies = [ - "ahash 0.7.6", - "serde", + "bitflags 1.3.2", + "com-rs", + "libc", + "libloading 0.7.4", + "thiserror", + "widestring", + "winapi", ] [[package]] @@ -2363,29 +2166,14 @@ dependencies = [ "libc", ] -[[package]] -name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - [[package]] name = "hexasphere" -version = "8.0.0" +version = "9.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "619ce654558681d7d0a7809e1b20249c7032ff13ee6baa7bb7ff64f7f28a906a" +checksum = "7cb3df16a7bcb1b5bc092abd55e14f77ca70aea14445026e264586fc62889a10" dependencies = [ - "glam", - "once_cell", + "constgebra", + "glam 0.24.2", ] [[package]] @@ -2395,65 +2183,56 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" [[package]] -name = "ident_case" -version = "1.0.1" +name = "home" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] [[package]] name = "idna" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", ] -[[package]] -name = "if_chain" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" - [[package]] name = "image" -version = "0.23.14" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" dependencies = [ "bytemuck", "byteorder", "color_quant", - "num-iter", - "num-rational 0.3.2", "num-traits", - "png 0.16.8", + "png", "tiff", ] [[package]] -name = "image" -version = "0.24.5" +name = "indexmap" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "num-rational 0.4.1", - "num-traits", - "png 0.17.7", + "autocfg", + "hashbrown 0.12.3", ] [[package]] name = "indexmap" -version = "1.9.2" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ - "autocfg", - "hashbrown", + "equivalent", + "hashbrown 0.14.3", "serde", ] @@ -2463,7 +2242,18 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" dependencies = [ - "bitflags", + "bitflags 1.3.2", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" +dependencies = [ + "bitflags 1.3.2", "inotify-sys", "libc", ] @@ -2495,7 +2285,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f" dependencies = [ - "type-map 0.4.0", + "type-map", "unic-langid", ] @@ -2510,80 +2300,52 @@ dependencies = [ [[package]] name = "io-kit-sys" -version = "0.2.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7789f7f3c9686f96164f5109d69152de759e76e284f736bd57661c6df5091919" +checksum = "617ee6cf8e3f66f3b4ea67a4058564628cde41901316e19f559e14c7c72c5e7b" dependencies = [ "core-foundation-sys", - "mach", + "mach2", ] [[package]] -name = "is-macro" -version = "0.2.1" +name = "itertools" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c068d4c6b922cd6284c609cfa6dec0e41615c9c5a1a4ba729a970d8daba05fb" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" dependencies = [ - "Inflector", - "pmutil", - "proc-macro2", - "quote", - "syn", + "either", ] [[package]] name = "itertools" -version = "0.10.5" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" - -[[package]] -name = "iyes_loopless" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c47fd2cbdb1d7f295c25e6bfccfd78a84b6eef3055bc9f01b34ae861721b01ee" -dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_time", - "bevy_utils", -] - -[[package]] -name = "jni" -version = "0.19.0" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" -dependencies = [ - "cesu8", - "combine", - "jni-sys", - "log", - "thiserror", - "walkdir", -] +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jni" -version = "0.20.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ "cesu8", + "cfg-if", "combine", "jni-sys", "log", "thiserror", "walkdir", + "windows-sys 0.45.0", ] [[package]] @@ -2594,24 +2356,24 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" dependencies = [ "libc", ] [[package]] name = "jpeg-decoder" -version = "0.1.22" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2" +checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -2623,27 +2385,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3" dependencies = [ "libc", - "libloading", + "libloading 0.7.4", "pkg-config", ] [[package]] name = "kira" -version = "0.7.1" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec4348608a23d372acceb18871ed6be4aa2036f135d48eabffe59258368e1fd" +checksum = "8968f1eda49cdf4f6406fd5ffe590c3ca2778a1b0e50b5684974b138a99dfb2f" dependencies = [ "atomic-arena", "cpal", + "glam 0.25.0", + "mint", "ringbuf", + "send_wrapper", "symphonia", ] [[package]] name = "kqueue" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98" +checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" dependencies = [ "kqueue-sys", "libc", @@ -2651,11 +2416,11 @@ dependencies = [ [[package]] name = "kqueue-sys" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587" +checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" dependencies = [ - "bitflags", + "bitflags 1.3.2", "libc", ] @@ -2673,125 +2438,86 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "leafwing-input-manager" -version = "0.7.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbad9c683a5a2527e8cb3abc57d03af52e22ab9be1cc9b51e780c73e4a244be" +checksum = "b56a6f71e8f5beefc8d3841ffa6ea9bbb1123956fa7c75fd673e69b65a8ca62f" dependencies = [ "bevy", "derive_more", - "itertools", + "fixedbitset", + "itertools 0.11.0", "leafwing_input_manager_macros", + "once_cell", "petitset", "serde", ] [[package]] name = "leafwing_input_manager_macros" -version = "0.7.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ec3d0a4b25f0e6a66547cc3a1eb98b8477814db58de8035063f3db42353a7de" +checksum = "11aefabfcc9ef0a78bc97eea053d2f1bb050d5278a4134bdc1b769064a90064a" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "lexical" -version = "6.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7aefb36fd43fef7003334742cbf77b243fcd36418a1d1bdd480d613a67968f6" -dependencies = [ - "lexical-core", -] - -[[package]] -name = "lexical-core" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" -dependencies = [ - "lexical-parse-float", - "lexical-parse-integer", - "lexical-util", - "lexical-write-float", - "lexical-write-integer", + "syn 1.0.109", ] [[package]] -name = "lexical-parse-float" -version = "0.8.5" +name = "libc" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" -dependencies = [ - "lexical-parse-integer", - "lexical-util", - "static_assertions", -] +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] -name = "lexical-parse-integer" -version = "0.8.6" +name = "libloading" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ - "lexical-util", - "static_assertions", + "cfg-if", + "winapi", ] [[package]] -name = "lexical-util" -version = "0.8.5" +name = "libloading" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ - "static_assertions", + "cfg-if", + "windows-targets 0.52.4", ] [[package]] -name = "lexical-write-float" -version = "0.8.5" +name = "libm" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" -dependencies = [ - "lexical-util", - "lexical-write-integer", - "static_assertions", -] +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] -name = "lexical-write-integer" -version = "0.8.5" +name = "libredox" +version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ - "lexical-util", - "static_assertions", + "bitflags 2.5.0", + "libc", + "redox_syscall 0.4.1", ] [[package]] -name = "libc" -version = "0.2.139" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" - -[[package]] -name = "libloading" -version = "0.7.4" +name = "libredox" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ - "cfg-if", - "winapi", + "bitflags 2.5.0", + "libc", + "redox_syscall 0.4.1", ] -[[package]] -name = "libm" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" - [[package]] name = "libudev-sys" version = "0.1.4" @@ -2802,11 +2528,17 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "linux-raw-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" + [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -2814,18 +2546,15 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] -name = "mach" -version = "0.3.2" +name = "mach2" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" dependencies = [ "libc", ] @@ -2845,41 +2574,24 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "regex-automata", + "regex-automata 0.1.10", ] [[package]] name = "matrixmultiply" -version = "0.3.2" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" +checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" dependencies = [ + "autocfg", "rawpointer", ] [[package]] name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "metal" @@ -2887,10 +2599,10 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" dependencies = [ - "bitflags", + "bitflags 1.3.2", "block", "core-graphics-types", - "foreign-types", + "foreign-types 0.3.2", "log", "objc", ] @@ -2903,58 +2615,45 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" -dependencies = [ - "adler32", -] - -[[package]] -name = "miniz_oxide" -version = "0.4.4" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", - "autocfg", + "simd-adler32", ] [[package]] -name = "miniz_oxide" -version = "0.6.2" +name = "mint" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -dependencies = [ - "adler", -] +checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" [[package]] name = "mio" -version = "0.8.5" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", "wasi", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] name = "naga" -version = "0.10.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "262d2840e72dbe250e8cf2f522d080988dfca624c4112c096238a4845f591707" +checksum = "bbcc2e0513220fd2b598e6068608d4462db20322c0e77e47f6f488dfcfc279cb" dependencies = [ "bit-set", - "bitflags", + "bitflags 1.3.2", "codespan-reporting", "hexf-parse", - "indexmap", + "indexmap 1.9.3", "log", "num-traits", - "petgraph", "pp-rs", "rustc-hash", "spirv", @@ -2964,85 +2663,78 @@ dependencies = [ ] [[package]] -name = "nalgebra" -version = "0.31.4" +name = "naga_oil" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20bd243ab3dbb395b39ee730402d2e5405e448c75133ec49cc977762c4cba3d1" +checksum = "8be942a5c21c58b9b0bf4d9b99db3634ddb7a916f8e1d1d0b71820cc4150e56b" dependencies = [ - "approx", - "glam", - "matrixmultiply", - "nalgebra-macros 0.1.0", - "num-complex", - "num-rational 0.4.1", - "num-traits", - "simba 0.7.3", - "typenum", + "bit-set", + "codespan-reporting", + "data-encoding", + "indexmap 1.9.3", + "naga", + "once_cell", + "regex", + "regex-syntax 0.6.29", + "rustc-hash", + "thiserror", + "tracing", + "unicode-ident", ] [[package]] name = "nalgebra" -version = "0.32.2" +version = "0.32.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d68d47bba83f9e2006d117a9a33af1524e655516b8919caac694427a6fb1e511" +checksum = "3ea4908d4f23254adda3daa60ffef0f1ac7b8c3e9a864cf3cc154b251908a2ef" dependencies = [ "approx", - "glam", + "glam 0.24.2", "matrixmultiply", - "nalgebra-macros 0.2.0", + "nalgebra-macros", "num-complex", - "num-rational 0.4.1", + "num-rational", "num-traits", - "simba 0.8.0", + "simba", "typenum", ] [[package]] name = "nalgebra-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "nalgebra-macros" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232c68884c0c99810a5a4d333ef7e47689cfd0edc85efc9e54e1e6bf5212766" +checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "ndk" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" +checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" dependencies = [ - "bitflags", + "bitflags 1.3.2", "jni-sys", - "ndk-sys 0.3.0", - "num_enum", + "ndk-sys 0.4.1+23.1.7779620", + "num_enum 0.5.11", + "raw-window-handle", "thiserror", ] [[package]] name = "ndk" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ - "bitflags", + "bitflags 2.5.0", "jni-sys", - "ndk-sys 0.4.1+23.1.7779620", - "num_enum", - "raw-window-handle 0.5.0", + "log", + "ndk-sys 0.5.0+25.2.9519653", + "num_enum 0.7.2", "thiserror", ] @@ -3052,45 +2744,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" -[[package]] -name = "ndk-glue" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0434fabdd2c15e0aab768ca31d5b7b333717f03cf02037d5a0a3ff3c278ed67f" -dependencies = [ - "android_logger", - "libc", - "log", - "ndk 0.7.0", - "ndk-context", - "ndk-macro", - "ndk-sys 0.4.1+23.1.7779620", - "once_cell", - "parking_lot", -] - -[[package]] -name = "ndk-macro" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0df7ac00c4672f9d5aece54ee3347520b7e20f158656c7db2e6de01902eb7a6c" -dependencies = [ - "darling", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "ndk-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" -dependencies = [ - "jni-sys", -] - [[package]] name = "ndk-sys" version = "0.4.1+23.1.7779620" @@ -3101,46 +2754,23 @@ dependencies = [ ] [[package]] -name = "new_debug_unreachable" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" - -[[package]] -name = "nix" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" -dependencies = [ - "bitflags", - "cc", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - -[[package]] -name = "nix" -version = "0.23.2" +name = "ndk-sys" +version = "0.5.0+25.2.9519653" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" dependencies = [ - "bitflags", - "cc", - "cfg-if", - "libc", - "memoffset 0.6.5", + "jni-sys", ] [[package]] name = "nix" -version = "0.25.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "autocfg", - "bitflags", + "bitflags 2.5.0", "cfg-if", + "cfg_aliases", "libc", ] @@ -3152,9 +2782,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.2" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", "minimal-lexical", @@ -3162,19 +2792,29 @@ dependencies = [ [[package]] name = "notify" -version = "5.0.0" +version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2c66da08abae1c024c01d635253e402341b4060a12e99b31c7594063bf490a" +checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags", + "bitflags 2.5.0", "crossbeam-channel", "filetime", "fsevent-sys", - "inotify", + "inotify 0.9.6", "kqueue", "libc", + "log", "mio", "walkdir", + "windows-sys 0.48.0", +] + +[[package]] +name = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ "winapi", ] @@ -3189,52 +2829,50 @@ dependencies = [ ] [[package]] -name = "num-bigint" -version = "0.4.3" +name = "num-complex" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" dependencies = [ - "autocfg", - "num-integer", "num-traits", - "serde", ] [[package]] -name = "num-complex" -version = "0.4.2" +name = "num-derive" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] name = "num-derive" -version = "0.3.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] -name = "num-iter" -version = "0.1.43" +name = "num-rational" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", "num-integer", @@ -3242,66 +2880,76 @@ dependencies = [ ] [[package]] -name = "num-rational" -version = "0.3.2" +name = "num-traits" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", - "num-integer", - "num-traits", + "libm", ] [[package]] -name = "num-rational" -version = "0.4.1" +name = "num_enum" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "num_enum_derive 0.5.11", ] [[package]] -name = "num-traits" -version = "0.2.15" +name = "num_enum" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" dependencies = [ - "autocfg", - "libm", + "num_enum_derive 0.6.1", ] [[package]] -name = "num_cpus" -version = "1.15.0" +name = "num_enum" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" dependencies = [ - "hermit-abi 0.2.6", - "libc", + "num_enum_derive 0.7.2", ] [[package]] -name = "num_enum" -version = "0.5.7" +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num_enum_derive" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ - "num_enum_derive", + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 2.0.55", ] [[package]] name = "num_enum_derive" -version = "0.5.7" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] @@ -3325,6 +2973,32 @@ dependencies = [ "objc_id", ] +[[package]] +name = "objc-sys" +version = "0.2.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" + +[[package]] +name = "objc2" +version = "0.3.0-beta.3.patch-leaks.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" +dependencies = [ + "block2", + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "2.0.0-pre.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +dependencies = [ + "objc-sys", +] + [[package]] name = "objc_exception" version = "0.1.2" @@ -3343,40 +3017,58 @@ dependencies = [ "objc", ] +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "memchr", +] + [[package]] name = "oboe" -version = "0.4.6" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27f63c358b4fa0fbcfefd7c8be5cfc39c08ce2389f5325687e7762a48d30a5c1" +checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" dependencies = [ - "jni 0.19.0", - "ndk 0.6.0", + "jni", + "ndk 0.8.0", "ndk-context", - "num-derive", + "num-derive 0.4.2", "num-traits", "oboe-sys", ] [[package]] name = "oboe-sys" -version = "0.4.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3370abb7372ed744232c12954d920d1a40f1c4686de9e79e800021ef492294bd" +checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" dependencies = [ "cc", ] [[package]] name = "once_cell" -version = "1.17.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] -name = "optional" -version = "0.5.0" +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "orbclient" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978aa494585d3ca4ad74929863093e87cac9790d81fe7aba2b3dc2890643a0fc" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" +dependencies = [ + "libredox 0.0.2", +] [[package]] name = "overload" @@ -3386,18 +3078,18 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "owned_ttf_parser" -version = "0.17.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18904d3c65493a9f0d7542293d1a7f69bfdc309a6b9ef4f46dc3e58b0577edc5" +checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" dependencies = [ "ttf-parser", ] [[package]] name = "parking" -version = "2.0.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" @@ -3411,54 +3103,33 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.5" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if", "libc", - "redox_syscall", - "smallvec", - "windows-sys 0.42.0", -] - -[[package]] -name = "parry2d" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2451e4bf2c6ba705bf584f94bb51772e22977e37c82575ce2445dd797eb35a9" -dependencies = [ - "approx", - "arrayvec", - "bitflags", - "downcast-rs", - "either", - "nalgebra 0.31.4", - "num-derive", - "num-traits", - "rustc-hash", - "simba 0.7.3", - "slab", + "redox_syscall 0.4.1", "smallvec", - "spade", + "windows-targets 0.48.5", ] [[package]] name = "parry2d" -version = "0.13.1" +version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d47e1c37cdc185e5df1979e98c900f5209c9023a4dd79f64ae4ea6465010c4df" +checksum = "a996b83a7a12522b395c54f4ba59593b782e8004794c0212a2f487ed7ac6e419" dependencies = [ "approx", "arrayvec", - "bitflags", + "bitflags 1.3.2", "downcast-rs", "either", - "nalgebra 0.32.2", - "num-derive", + "nalgebra", + "num-derive 0.4.2", "num-traits", "rustc-hash", - "simba 0.8.0", + "simba", "slab", "smallvec", "spade", @@ -3466,30 +3137,24 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" - -[[package]] -name = "peeking_take_while" -version = "0.1.2" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" -version = "0.6.2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 2.2.6", ] [[package]] @@ -3501,129 +3166,31 @@ dependencies = [ "serde", ] -[[package]] -name = "phf" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" -dependencies = [ - "phf_macros", - "phf_shared", - "proc-macro-hack", -] - -[[package]] -name = "phf_generator" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" -dependencies = [ - "phf_shared", - "rand", -] - -[[package]] -name = "phf_macros" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" -dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pin-project" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pkg-config" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" - -[[package]] -name = "pmutil" -version = "0.5.3" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3894e5d549cccbe44afecf72922f277f603cd4bb0219c8342631ef18fffbe004" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "png" -version = "0.16.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" -dependencies = [ - "bitflags", - "crc32fast", - "deflate", - "miniz_oxide 0.3.7", -] +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "png" -version = "0.17.7" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" dependencies = [ - "bitflags", + "bitflags 1.3.2", "crc32fast", + "fdeflate", "flate2", - "miniz_oxide 0.6.2", + "miniz_oxide", ] -[[package]] -name = "pollster" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da3b0203fd7ee5720aa0b5e790b591aa5d3f41c3ed2c34a3a393382198af2f7" - [[package]] name = "pp-rs" version = "0.2.1" @@ -3640,26 +3207,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] -name = "precomputed-hash" -version = "0.1.1" +name = "pretty-type-name" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +checksum = "f0f73cdaf19b52e6143685c3606206e114a4dfa969d6b14ec3894c88eb38bd4b" [[package]] -name = "pretty-type-name" -version = "1.0.0" +name = "proc-macro-crate" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8815d101cfb4cb491154896bdab292a395a7ac9ab185a9941a2f5be0135900d" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "once_cell", - "thiserror", - "toml", + "toml_edit 0.21.1", ] [[package]] @@ -3671,7 +3240,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "version_check", ] @@ -3686,26 +3255,20 @@ dependencies = [ "version_check", ] -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - [[package]] name = "proc-macro2" -version = "1.0.49" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] [[package]] name = "profiling" -version = "1.0.7" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74605f360ce573babfe43964cbe520294dcb081afbf8c108fc6e23036b4da2df" +checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" [[package]] name = "punchy" @@ -3715,20 +3278,17 @@ dependencies = [ "async-channel", "bevy", "bevy-inspector-egui", - "bevy-inspector-egui-rapier", "bevy-parallax", "bevy_egui", "bevy_fluent", "bevy_kira_audio", "bevy_mod_debugdump", - "bevy_mod_js_scripting", - "bevy_rapier2d 0.20.0", + "bevy_rapier2d", "directories", "egui_extras", "fluent", "fluent_content", "getrandom", - "iyes_loopless", "leafwing-input-manager", "once_cell", "punchy_macros", @@ -3748,14 +3308,14 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "quote" -version = "1.0.23" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -3798,29 +3358,9 @@ dependencies = [ [[package]] name = "range-alloc" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e935c45e09cc6dcf00d2f0b2d630a58f4095320223d47fc68918722f0538b6" - -[[package]] -name = "rapier2d" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b1c1ed75065adaf01adb8c46a1dad3922fb28de8225dc981481e3584f3af07" -dependencies = [ - "approx", - "arrayvec", - "bit-vec", - "bitflags", - "crossbeam", - "downcast-rs", - "nalgebra 0.31.4", - "num-derive", - "num-traits", - "parry2d 0.11.1", - "rustc-hash", - "simba 0.7.3", -] +checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" [[package]] name = "rapier2d" @@ -3831,34 +3371,22 @@ dependencies = [ "approx", "arrayvec", "bit-vec", - "bitflags", + "bitflags 1.3.2", "crossbeam", "downcast-rs", - "nalgebra 0.32.2", - "num-derive", + "nalgebra", + "num-derive 0.3.3", "num-traits", - "parry2d 0.13.1", + "parry2d", "rustc-hash", - "simba 0.8.0", -] - -[[package]] -name = "raw-window-handle" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41" -dependencies = [ - "cty", + "simba", ] [[package]] name = "raw-window-handle" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7e3d950b66e19e0c372f3fa3fbbcf85b1746b571f74e0c2af6042a5c93420a" -dependencies = [ - "cty", -] +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "rawpointer" @@ -3874,33 +3402,43 @@ checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" [[package]] name = "redox_syscall" -version = "0.2.16" +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" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ "getrandom", - "redox_syscall", + "libredox 0.0.1", "thiserror", ] [[package]] name = "regex" -version = "1.7.0" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", ] [[package]] @@ -3909,82 +3447,101 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "regex-syntax", + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.3", ] [[package]] name = "regex-syntax" -version = "0.6.28" +version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "renderdoc-sys" -version = "0.7.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1382d1f0a252c4bf97dc20d979a2fdd05b024acd7c2ed0f7595d7817666a157" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "ringbuf" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e68dd9c1d8f7bb0c664e1556b1521809bc6fa62d92bb3b813adf8611caa0eb" +checksum = "79abed428d1fd2a128201cec72c5f6938e2da607c6f3745f769fabea399d950a" dependencies = [ "crossbeam-utils", ] [[package]] name = "robust" -version = "0.2.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5864e7ef1a6b7bcf1d6ca3f655e65e724ed3b52546a0d0a663c991522f552ea" +checksum = "cbf4a6aa5f6d6888f39e980649f3ad6b666acdce1d78e95b8a2cb076e687ae30" [[package]] name = "ron" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bff" +checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ - "base64 0.13.1", - "bitflags", + "base64", + "bitflags 2.5.0", "serde", + "serde_derive", ] [[package]] -name = "rustc-hash" -version = "1.1.0" +name = "rustc-demangle" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] -name = "rustc_version" -version = "0.2.3" +name = "rustc-hash" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] -name = "rustc_version" -version = "0.4.0" +name = "rustix" +version = "0.38.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" dependencies = [ - "semver 1.0.16", + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", ] [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "safe_arch" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794821e4ccb0d9f979512f9c1973480123f9bd62a90d74ab0f9426fcf8f4a529" +checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" dependencies = [ "bytemuck", ] @@ -3998,144 +3555,66 @@ 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.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "self_cell" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af" - -[[package]] -name = "semver" -version = "0.9.0" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +checksum = "e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d" dependencies = [ - "semver-parser", + "self_cell 1.0.3", ] [[package]] -name = "semver" -version = "1.0.16" +name = "self_cell" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" +checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba" [[package]] -name = "semver-parser" -version = "0.7.0" +name = "send_wrapper" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.152" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] -[[package]] -name = "serde-wasm-bindgen" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b4c031cd0d9014307d82b8abf653c0290fbdaeb4c02d00c63cf52f728628bf" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_bytes" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718dc5fff5b36f99093fc49b280cfc96ce6fc824317783bff5a1fed0c7a64819" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" -version = "1.0.152" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" -dependencies = [ - "indexmap", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_v8" -version = "0.57.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3c3efa9cff97d5a543df0508c37af619e422fb92eb525f38d255d46df7a0eb7" -dependencies = [ - "bytes", - "derive_more", - "serde", - "serde_bytes", - "smallvec", - "v8", + "syn 2.0.55", ] [[package]] name = "serde_yaml" -version = "0.9.16" +version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92b5b431e8907b50339b51223b97d102db8d987ced36f6e4d03621db9316c834" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap", + "indexmap 2.2.6", "itoa", "ryu", "serde", "unsafe-libyaml", ] -[[package]] -name = "sha-1" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha1" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770" -dependencies = [ - "sha1_smol", -] - [[package]] name = "sha1_smol" version = "1.0.0" @@ -4144,37 +3623,24 @@ checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] [[package]] name = "shlex" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" - -[[package]] -name = "simba" -version = "0.7.3" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f3fd720c48c53cace224ae62bef1bbff363a70c68c4802a78b5cc6159618176" -dependencies = [ - "approx", - "num-complex", - "num-traits", - "paste", - "wide", -] +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "simba" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50582927ed6f77e4ac020c057f37a268fc6aebc29225050365aacbb9deeeddc4" +checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" dependencies = [ "approx", "num-complex", @@ -4184,63 +3650,55 @@ dependencies = [ ] [[package]] -name = "siphasher" -version = "0.3.10" +name = "simd-adler32" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] name = "slab" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "slotmap" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" dependencies = [ - "serde", "version_check", ] [[package]] name = "smallvec" -version = "1.10.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" dependencies = [ "serde", ] [[package]] -name = "sourcemap" -version = "6.0.1" +name = "smol_str" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e031f2463ecbdd5f34c950f89f5c1e1032f22c0f8e3dc4bdb2e8b6658cf61eb" +checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49" dependencies = [ - "base64 0.11.0", - "if_chain", - "lazy_static", - "regex", - "rustc_version 0.2.3", "serde", - "serde_json", - "url", ] [[package]] name = "spade" -version = "2.1.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1190e0e8f4eb17fc3dbb2d20e1142676e56aaac3daede39f64a3302d687b80f3" +checksum = "61addf9117b11d1f5b4bf6fe94242ba25f59d2d4b2080544b771bd647024fd00" dependencies = [ + "hashbrown 0.14.3", "num-traits", - "optional", "robust", "smallvec", ] @@ -4251,128 +3709,22 @@ version = "0.2.0+1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" dependencies = [ - "bitflags", + "bitflags 1.3.2", "num-traits", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "static_assertions" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "stdweb" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" -dependencies = [ - "discard", - "rustc_version 0.2.3", - "stdweb-derive", - "stdweb-internal-macros", - "stdweb-internal-runtime", - "wasm-bindgen", -] - -[[package]] -name = "stdweb-derive" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "serde_derive", - "syn", -] - -[[package]] -name = "stdweb-internal-macros" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" -dependencies = [ - "base-x", - "proc-macro2", - "quote", - "serde", - "serde_derive", - "serde_json", - "sha1", - "syn", -] - -[[package]] -name = "stdweb-internal-runtime" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" - -[[package]] -name = "str-buf" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" - -[[package]] -name = "string_cache" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared", - "precomputed-hash", - "serde", -] - -[[package]] -name = "string_cache_codegen" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" -dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro2", - "quote", -] - -[[package]] -name = "string_enum" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "994453cd270ad0265796eb24abf5540091ed03e681c5f3c12bc33e4db33253e1" -dependencies = [ - "pmutil", - "proc-macro2", - "quote", - "swc_macros_common", - "syn", -] - [[package]] name = "strsim" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "structopt" version = "0.3.26" @@ -4394,310 +3746,20 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "svg_fmt" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2" - -[[package]] -name = "swc_atoms" -version = "0.4.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ad59af21529fcd3f4f8fa6b1ae399c2b183ec42c68347d76d68d6e5b657956e" -dependencies = [ - "once_cell", - "rustc-hash", - "serde", - "string_cache", - "string_cache_codegen", - "triomphe", -] - -[[package]] -name = "swc_common" -version = "0.27.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b0b6107e44797d0549bdb5b47a97682c3b914140269c01d2acdb16a1b885f6" -dependencies = [ - "ahash 0.7.6", - "ast_node", - "better_scoped_tls", - "cfg-if", - "debug_unreachable", - "either", - "from_variant", - "num-bigint", - "once_cell", - "rustc-hash", - "serde", - "siphasher", - "string_cache", - "swc_atoms", - "swc_eq_ignore_macros", - "swc_visit", - "tracing", - "unicode-width", - "url", -] - -[[package]] -name = "swc_config" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4de36224eb9498fccd4e68971f0b83326ccf8592c2d424f257f3a1c76b2b211" -dependencies = [ - "indexmap", - "serde", - "serde_json", - "swc_config_macro", -] - -[[package]] -name = "swc_config_macro" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb64bc03d90fd5c90d6ab917bb2b1d7fbd31957df39e31ea24a3f554b4372251" -dependencies = [ - "pmutil", - "proc-macro2", - "quote", - "swc_macros_common", - "syn", -] - -[[package]] -name = "swc_ecma_ast" -version = "0.90.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f712949db06518bec7b7e050aa3bcde749a74fbf79f4f520ab179d0445b63593" -dependencies = [ - "bitflags", - "is-macro", - "num-bigint", - "scoped-tls", - "serde", - "string_enum", - "swc_atoms", - "swc_common", - "unicode-id", -] - -[[package]] -name = "swc_ecma_codegen" -version = "0.121.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa47424bed05de6077eda3271d6764f87c2735a8f3798dea23c95898e5e0deb" -dependencies = [ - "memchr", - "num-bigint", - "once_cell", - "rustc-hash", - "serde", - "sourcemap", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_codegen_macros", - "tracing", -] - -[[package]] -name = "swc_ecma_codegen_macros" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0159c99f81f52e48fe692ef7af1b0990b45d3006b14c6629be0b1ffee1b23aea" -dependencies = [ - "pmutil", - "proc-macro2", - "quote", - "swc_macros_common", - "syn", -] - -[[package]] -name = "swc_ecma_parser" -version = "0.117.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d88ffca99514bc8bfa8bf4f2d74fb673caa844e521b55035b8cfd10472b801d4" -dependencies = [ - "either", - "enum_kind", - "lexical", - "num-bigint", - "serde", - "smallvec", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "tracing", - "typed-arena", -] - -[[package]] -name = "swc_ecma_transforms_base" -version = "0.103.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aad7af4a1ae307e547a0f5ab6b081ffa6a22af89abe2f8a953a735a398ba9d" -dependencies = [ - "better_scoped_tls", - "bitflags", - "num_cpus", - "once_cell", - "phf", - "rustc-hash", - "serde", - "smallvec", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_parser", - "swc_ecma_utils", - "swc_ecma_visit", - "tracing", -] - -[[package]] -name = "swc_ecma_transforms_macros" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebf907935ec5492256b523ae7935a824d9fdc0368dcadc41375bad0dca91cd8b" -dependencies = [ - "pmutil", - "proc-macro2", - "quote", - "swc_macros_common", - "syn", -] - -[[package]] -name = "swc_ecma_transforms_react" -version = "0.141.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b57461fea819904faf5aeac39e49229995701a31fa5041929b7909885a69cc0a" -dependencies = [ - "ahash 0.7.6", - "base64 0.13.1", - "dashmap", - "indexmap", - "once_cell", - "regex", - "serde", - "sha-1", - "string_enum", - "swc_atoms", - "swc_common", - "swc_config", - "swc_ecma_ast", - "swc_ecma_parser", - "swc_ecma_transforms_base", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_transforms_typescript" -version = "0.145.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc0cba6d14b04900e5068d69c7492149c4e9320a9fcf79fca0e7224811c1d14" -dependencies = [ - "serde", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base", - "swc_ecma_transforms_react", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_utils" -version = "0.99.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d92cff624945ded0b2bb07e9dfb44d57745abcc415b6025c6c3d2dc3a7af5396" -dependencies = [ - "indexmap", - "once_cell", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_visit", - "tracing", - "unicode-id", -] - -[[package]] -name = "swc_ecma_visit" -version = "0.76.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da9fbd418ce4dc3c7b10e74a919ecc6f56c376d63a6a03766655c6c2283475d" -dependencies = [ - "num-bigint", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_visit", - "tracing", -] - -[[package]] -name = "swc_eq_ignore_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c20468634668c2bbab581947bb8c75c97158d5a6959f4ba33df20983b20b4f6" -dependencies = [ - "pmutil", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "swc_macros_common" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4be988307882648d9bc7c71a6a73322b7520ef0211e920489a98f8391d8caa2" -dependencies = [ - "pmutil", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "swc_visit" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82f2bcb7223e185c4c7cbf5e0c1207dec6d2bfd5e72e3fb7b3e8d179747e9130" -dependencies = [ - "either", - "swc_visit_macros", -] - -[[package]] -name = "swc_visit_macros" -version = "0.5.4" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb1f3561674d84947694d41fb6d5737d19539222779baeac1b3a071a2b29428" -dependencies = [ - "Inflector", - "pmutil", - "proc-macro2", - "quote", - "swc_macros_common", - "syn", -] +checksum = "f83ba502a3265efb76efb89b0a2f7782ad6f2675015d4ce37e4b547dda42b499" [[package]] name = "symphonia" -version = "0.5.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17033fe05e4f7f10a6ad602c272bafd2520b2e5cdd9feb61494d9cdce08e002f" +checksum = "815c942ae7ee74737bb00f965fa5b5a2ac2ce7b6c01c0cc169bbeaf7abd5f5a9" dependencies = [ "lazy_static", "symphonia-bundle-mp3", @@ -4709,11 +3771,10 @@ dependencies = [ [[package]] name = "symphonia-bundle-mp3" -version = "0.5.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db5d3d53535ae2b7d0e39e82f683cac5398a6c8baca25ff1183e107d13959d3e" +checksum = "c01c2aae70f0f1fb096b6f0ff112a930b1fb3626178fba3ae68b09dce71706d4" dependencies = [ - "bitflags", "lazy_static", "log", "symphonia-core", @@ -4722,9 +3783,9 @@ dependencies = [ [[package]] name = "symphonia-codec-vorbis" -version = "0.5.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "323b94435a1a807e1001e29490aeaef2660fb72b145d47497e8429a6cb1d67c3" +checksum = "5a98765fb46a0a6732b007f7e2870c2129b6f78d87db7987e6533c8f164a9f30" dependencies = [ "log", "symphonia-core", @@ -4733,12 +3794,12 @@ dependencies = [ [[package]] name = "symphonia-core" -version = "0.5.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199a6417cd4115bac79289b64b859358ea050b7add0ceb364dc991f628c5b347" +checksum = "798306779e3dc7d5231bd5691f5a813496dc79d3f56bf82e25789f2094e022c3" dependencies = [ "arrayvec", - "bitflags", + "bitflags 1.3.2", "bytemuck", "lazy_static", "log", @@ -4746,9 +3807,9 @@ dependencies = [ [[package]] name = "symphonia-format-ogg" -version = "0.5.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d2f741469a0f103607ed1f2605f7f00b13ba044ea9ddc616764558c6d3d9b7d" +checksum = "ada3505789516bcf00fc1157c67729eded428b455c27ca370e41f4d785bfa931" dependencies = [ "log", "symphonia-core", @@ -4758,9 +3819,9 @@ dependencies = [ [[package]] name = "symphonia-metadata" -version = "0.5.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed71acf6b5e6e8bee1509597b86365a06b78c1d73218df47357620a6fe5997b" +checksum = "bc622b9841a10089c5b18e99eb904f4341615d5aa55bbf4eedde1be721a4023c" dependencies = [ "encoding_rs", "lazy_static", @@ -4770,9 +3831,9 @@ dependencies = [ [[package]] name = "symphonia-utils-xiph" -version = "0.5.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73cbb0766ce77a8aef535f9438db645e7b6f1b2c4cf3be9bf246b4e11a7d5531" +checksum = "484472580fa49991afda5f6550ece662237b00c6f562c7d9638d1b086ed010fe" dependencies = [ "symphonia-core", "symphonia-metadata", @@ -4780,9 +3841,20 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.107" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" dependencies = [ "proc-macro2", "quote", @@ -4791,35 +3863,32 @@ dependencies = [ [[package]] name = "sys-locale" -version = "0.2.3" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3358acbb4acd4146138b9bda219e904a6bb5aaaa237f8eed06f4d6bc1580ecee" +checksum = "e801cf239ecd6ccd71f03d270d67dd53d13e90aab208bf4b8fe4ad957ea949b0" dependencies = [ - "js-sys", "libc", - "wasm-bindgen", - "web-sys", - "winapi", ] [[package]] -name = "taffy" -version = "0.1.0" +name = "sysinfo" +version = "0.29.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec27dea659b100d489dffa57cf0efc6d7bfefb119af817b92cc14006c0b214e3" +checksum = "cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666" dependencies = [ - "arrayvec", - "hash32", - "hash32-derive", - "num-traits", - "typenum", + "cfg-if", + "core-foundation-sys", + "libc", + "ntapi", + "once_cell", + "winapi", ] [[package]] name = "termcolor" -version = "1.1.3" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] @@ -4835,49 +3904,50 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ + "cfg-if", "once_cell", ] [[package]] name = "tiff" -version = "0.6.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" dependencies = [ + "flate2", "jpeg-decoder", - "miniz_oxide 0.4.4", "weezl", ] [[package]] name = "tinystr" -version = "0.7.0" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8aeafdfd935e4a7fe16a91ab711fa52d54df84f9c8f7ca5837a9d1d902ef4c2" +checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece" dependencies = [ "displaydoc", ] @@ -4893,26 +3963,44 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml_datetime" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] -name = "toml" -version = "0.5.10" +name = "toml_edit" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "serde", + "indexmap 2.2.6", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.2.6", + "toml_datetime", + "winnow", ] [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4920,20 +4008,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.55", ] [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -4941,20 +4029,31 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" -version = "0.3.16" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -4965,7 +4064,7 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log", + "tracing-log 0.2.0", ] [[package]] @@ -4979,21 +4078,11 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "triomphe" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" -dependencies = [ - "serde", - "stable_deref_trait", -] - [[package]] name = "ttf-parser" -version = "0.17.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375812fa44dab6df41c195cd2f7fecb488f6c09fbaafb62807488cefab642bff" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" [[package]] name = "type-map" @@ -5004,41 +4093,26 @@ dependencies = [ "rustc-hash", ] -[[package]] -name = "type-map" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" -dependencies = [ - "rustc-hash", -] - -[[package]] -name = "typed-arena" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0685c84d5d54d1c26f7d3eb96cd41550adb97baed141a761cf335d3d33bcd0ae" - [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unic-langid" -version = "0.9.1" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "398f9ad7239db44fd0f80fe068d12ff22d78354080332a5077dc6f52f14dcf2f" +checksum = "238722e6d794ed130f91f4ea33e01fcff4f188d92337a21297892521c72df516" dependencies = [ "unic-langid-impl", ] [[package]] name = "unic-langid-impl" -version = "0.9.1" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35bfd2f2b8796545b55d7d3fd3e89a0613f68a0d1c8bc28cb7ff96b411a35ff" +checksum = "4bd55a2063fdea4ef1f8633243a7b0524cbeef1905ae04c31a1c9b9775c55bc6" dependencies = [ "serde", "tinystr", @@ -5046,42 +4120,36 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" - -[[package]] -name = "unicode-id" -version = "0.3.3" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d70b6494226b36008c8366c288d77190b3fad2eb4c10533139c1c1f461127f1a" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode-xid" @@ -5089,57 +4157,34 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" -[[package]] -name = "unreachable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91" -dependencies = [ - "void", -] - [[package]] name = "unsafe-libyaml" -version = "0.2.5" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7ed8ba44ca06be78ea1ad2c3682a43349126c8818054231ee6f4748012aed2" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" [[package]] name = "url" -version = "2.3.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", "percent-encoding", - "serde", ] [[package]] name = "uuid" -version = "1.2.2" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ "getrandom", "serde", "sha1_smol", ] -[[package]] -name = "v8" -version = "0.47.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be156dece7a023d5959a72dc0d398d6c95100ec601a2cea10d868da143e85166" -dependencies = [ - "bitflags", - "fslock", - "lazy_static", - "libc", - "which", -] - [[package]] name = "valuable" version = "0.1.0" @@ -5158,26 +4203,19 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - [[package]] name = "waker-fn" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", - "winapi", "winapi-util", ] @@ -5189,9 +4227,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -5199,24 +4237,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn", + "syn 2.0.55", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.33" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -5226,9 +4264,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5236,37 +4274,39 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.55", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] -name = "wasm_mutex" -version = "0.1.5" +name = "wayland-scanner" +version = "0.29.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd58278a2d9b33ae3e134252dc229751f2bdf9e5792f2288af3873b699240a1b" +checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" dependencies = [ - "serde", + "proc-macro2", + "quote", + "xml-rs", ] [[package]] name = "web-sys" -version = "0.3.60" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -5274,40 +4314,41 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.4" +version = "0.8.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e74f5ff7786c4c21f61ba8e30ea29c9745f06fca0a4a02d083b3c662583399e8" +checksum = "d1b04c569c83a9bb971dd47ec6fd48753315f4bf989b9b04a2e7ca4d7f0dc950" dependencies = [ "core-foundation", - "dirs", - "jni 0.20.0", + "home", + "jni", "log", "ndk-context", "objc", - "raw-window-handle 0.5.0", + "raw-window-handle", "url", "web-sys", - "windows 0.43.0", ] [[package]] name = "weezl" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" +checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "0.14.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81f643110d228fd62a60c5ed2ab56c4d5b3704520bd50561174ec4ec74932937" +checksum = "480c965c9306872eb6255fa55e4b4953be55a8b64d57e61d7ff840d3dcc051cd" dependencies = [ "arrayvec", + "cfg-if", "js-sys", "log", "naga", "parking_lot", - "raw-window-handle 0.5.0", + "profiling", + "raw-window-handle", "smallvec", "static_assertions", "wasm-bindgen", @@ -5320,21 +4361,20 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.14.2" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6000d1284ef8eec6076fd5544a73125fd7eb9b635f18dceeb829d826f41724ca" +checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2" dependencies = [ "arrayvec", "bit-vec", - "bitflags", - "cfg_aliases", + "bitflags 2.5.0", "codespan-reporting", - "fxhash", "log", "naga", "parking_lot", "profiling", - "raw-window-handle 0.5.0", + "raw-window-handle", + "rustc-hash", "smallvec", "thiserror", "web-sys", @@ -5344,26 +4384,28 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.14.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cc320a61acb26be4f549c9b1b53405c10a223fbfea363ec39474c32c348d12f" +checksum = "1ecb3258078e936deee14fd4e0febe1cfe9bbb5ffef165cb60218d2ee5eb4448" dependencies = [ "android_system_properties", "arrayvec", "ash", "bit-set", - "bitflags", + "bitflags 2.5.0", "block", "core-graphics-types", "d3d12", - "foreign-types", - "fxhash", + "foreign-types 0.3.2", "glow", "gpu-alloc", + "gpu-allocator", "gpu-descriptor", + "hassle-rs", "js-sys", "khronos-egl", - "libloading", + "libc", + "libloading 0.8.3", "log", "metal", "naga", @@ -5371,8 +4413,9 @@ dependencies = [ "parking_lot", "profiling", "range-alloc", - "raw-window-handle 0.5.0", + "raw-window-handle", "renderdoc-sys", + "rustc-hash", "smallvec", "thiserror", "wasm-bindgen", @@ -5383,34 +4426,31 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb6b28ef22cac17b9109b25b3bf8c9a103eeb293d7c5f78653979b09140375f6" -dependencies = [ - "bitflags", -] - -[[package]] -name = "which" -version = "4.3.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" +checksum = "d0c153280bb108c2979eb5c7391cb18c56642dd3c072e55f52065e13e2a1252a" dependencies = [ - "either", - "libc", - "once_cell", + "bitflags 2.5.0", + "js-sys", + "web-sys", ] [[package]] name = "wide" -version = "0.7.5" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae41ecad2489a1655c8ef8489444b0b113c0a0c795944a3572a0931cf7d2525c" +checksum = "89beec544f246e679fc25490e3f8e08003bc4bf612068f325120dad4cea02c1c" dependencies = [ "bytemuck", "safe_arch", ] +[[package]] +name = "widestring" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" + [[package]] name = "winapi" version = "0.3.9" @@ -5429,240 +4469,377 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] [[package]] -name = "winapi-wsapoll" -version = "0.1.1" +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" +checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" dependencies = [ - "winapi", + "windows-targets 0.42.2", ] [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "windows" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-targets 0.48.5", +] [[package]] name = "windows" -version = "0.37.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" dependencies = [ - "windows_aarch64_msvc 0.37.0", - "windows_i686_gnu 0.37.0", - "windows_i686_msvc 0.37.0", - "windows_x86_64_gnu 0.37.0", - "windows_x86_64_msvc 0.37.0", + "windows-core", + "windows-targets 0.52.4", ] [[package]] -name = "windows" -version = "0.43.0" +name = "windows-core" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +dependencies = [ + "windows-result", + "windows-targets 0.52.4", +] + +[[package]] +name = "windows-implement" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "windows-interface" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "windows-result" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd19df78e5168dfb0aedc343d1d1b8d422ab2db6756d2dc3fef75035402a3f64" +dependencies = [ + "windows-targets 0.52.4", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04662ed0e3e5630dfa9b26e4cb823b817f1a9addda855d973a9458c236556244" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows-targets 0.42.2", ] [[package]] name = "windows-sys" -version = "0.36.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", + "windows-targets 0.48.5", ] [[package]] name = "windows-sys" -version = "0.42.0" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.4", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc 0.42.0", - "windows_i686_gnu 0.42.0", - "windows_i686_msvc 0.42.0", - "windows_x86_64_gnu 0.42.0", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc 0.42.0", + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.0" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" [[package]] name = "windows_aarch64_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" -version = "0.37.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.42.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" [[package]] name = "windows_i686_gnu" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" -version = "0.37.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.42.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" [[package]] name = "windows_i686_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" -version = "0.37.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.42.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" [[package]] name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" -version = "0.37.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.42.0" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" [[package]] name = "windows_x86_64_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.37.0" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.42.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" [[package]] name = "winit" -version = "0.27.5" +version = "0.28.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb796d6fbd86b2fd896c9471e6f04d39d750076ebe5680a3958f00f5ab97657c" +checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94" dependencies = [ - "bitflags", - "cocoa", + "android-activity", + "bitflags 1.3.2", + "cfg_aliases", "core-foundation", - "core-graphics", + "core-graphics 0.22.3", "dispatch", "instant", "libc", "log", "mio", "ndk 0.7.0", - "ndk-glue", - "objc", + "objc2", "once_cell", - "parking_lot", + "orbclient", "percent-encoding", - "raw-window-handle 0.4.3", - "raw-window-handle 0.5.0", + "raw-window-handle", + "redox_syscall 0.3.5", "wasm-bindgen", + "wayland-scanner", "web-sys", - "windows-sys 0.36.1", + "windows-sys 0.45.0", "x11-dl", ] +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "x11-dl" -version = "2.20.1" +version = "2.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1536d6965a5d4e573c7ef73a2c15ebcd0b2de3347bdf526c34c297c00ac40f0" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" dependencies = [ - "lazy_static", "libc", + "once_cell", "pkg-config", ] [[package]] name = "x11rb" -version = "0.9.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e99be55648b3ae2a52342f9a870c0e138709a3493261ce9b469afe6e4df6d8a" +checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" dependencies = [ "gethostname", - "nix 0.22.3", - "winapi", - "winapi-wsapoll", + "rustix", + "x11rb-protocol", ] [[package]] -name = "xi-unicode" -version = "0.3.0" +name = "x11rb-protocol" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" + +[[package]] +name = "xml-rs" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.55", +] diff --git a/Cargo.toml b/Cargo.toml index a010cd4c..78e882b7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,62 +1,60 @@ [package] -authors = ["The Fish Folk Game & Spicy Lobster Developers"] +authors = ["The Fish Folk Game & Spicy Lobster Developers"] description = "A 2.5D side-scroller beatemup" -edition = "2021" -license = "MIT OR Apache-2.0" -name = "punchy" -version = "0.1.0" +edition = "2021" +license = "MIT OR Apache-2.0" +name = "punchy" +version = "0.1.0" [workspace] members = [".", "macros"] [dependencies.bevy] default-features = false -features = ["x11", "png", "filesystem_watcher", "bevy_gilrs"] -version = "0.9" +features = ["x11", "png", "filesystem_watcher", "bevy_gilrs"] +version = "0.11.0" [dependencies] punchy_macros = { path = "./macros" } -anyhow = "1.0.58" -bevy-parallax = "0.3.0" -bevy_egui = "0.18.0" -bevy_kira_audio = { version = "0.13.0", features = ["mp3"] } -bevy_rapier2d = { version = "0.20.0", features = ["debug-render-2d"] } -egui_extras = "0.20.0" -getrandom = { version = "0.2", features = ["js"] } -iyes_loopless = { version = "0.9.0", features = ["states"] } -rand = "0.8.5" -serde = { version = "1.0.137", features = ["derive"] } -serde_yaml = "0.9.2" -structopt = "0.3.26" -thiserror = "1.0.31" +bevy-parallax = "0.6.1" +anyhow = "1.0.72" +bevy_egui = "0.21.0" +bevy_kira_audio = { version = "0.16.0", features = ["mp3"] } +bevy_rapier2d = { version = "0.22.0", features = ["debug-render-2d"] } +egui_extras = "0.22.0" +getrandom = { version = "0.2", features = ["js"] } +rand = "0.8.5" +serde = { version = "1.0.180", features = ["derive"] } +serde_yaml = "0.9.2" +structopt = "0.3.26" +thiserror = "1.0.44" -async-channel = "1.6.1" -bevy_fluent = "0.5.0" -bevy_mod_js_scripting = { git = "https://github.com/jakobhellermann/bevy_mod_js_scripting.git" } -directories = "4.0.1" -fluent = "0.16.0" -fluent_content = "0.0.3" -leafwing-input-manager = { version = "0.7", default-features = false } -once_cell = "1.13.0" -sys-locale = "0.2.1" -unic-langid = "0.9.0" +async-channel = "1.9.0" +bevy_fluent = "0.7.0" +directories = "5.0.1" +fluent = "0.16.0" +fluent_content = "0.0.5" +leafwing-input-manager = { version = "0.10", default-features = false } +once_cell = "1.13.0" +sys-locale = "0.3.0" +unic-langid = "0.9.0" # Debug tools -bevy-inspector-egui = { version = "0.15.0" } -bevy-inspector-egui-rapier = { version = "0.9.0", features = ["rapier2d"] } -bevy_mod_debugdump = { version = "0.6.0", optional = true } +bevy-inspector-egui = { version = "0.19.0" } +# bevy-inspector-egui-rapier = { version = "0.9.0", features = ["rapier2d"] } +bevy_mod_debugdump = { version = "0.8.0", optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] web-sys = { version = "0.3", features = ["Window", "Location", "Storage"] } [features] -default = [] +default = [] schedule_graph = ["bevy_mod_debugdump"] # Enable optimizations for dependencies but not for our code [profile.dev.package."*"] -debug = false +debug = false opt-level = 3 [profile.dev] @@ -69,5 +67,5 @@ opt-level = 3 # slower than opt-level=0. [profile.release] -codegen-units = 1 # Improves physics performance for release builds -lto = true +codegen-units = 1 # Improves physics performance for release builds +lto = true diff --git a/assets/default.game.yaml b/assets/default.game.yaml index 9a728e46..bf357201 100644 --- a/assets/default.game.yaml +++ b/assets/default.game.yaml @@ -4,10 +4,6 @@ camera_height: 448 # For simplicity, this value can also be used for movement limitation calculations. camera_move_right_boundary: 150. -scripts: - # Enable our demo script - # - scripts/demo_script.ts - main_menu: title_font: family: ark @@ -34,21 +30,26 @@ default_settings: axis_type: !Gamepad LeftStickY positive_low: 0.1 negative_low: -1.0 + inverted: false left: !SingleAxis axis_type: !Gamepad LeftStickX positive_low: 1.0 negative_low: -0.1 + inverted: false down: !SingleAxis axis_type: !Gamepad LeftStickY positive_low: 1.0 negative_low: -0.1 + inverted: false right: !SingleAxis axis_type: !Gamepad LeftStickX positive_low: 0.1 negative_low: -1.0 + inverted: false + flop_attack: !GamepadButton South shoot: !GamepadButton East throw: !GamepadButton West @@ -72,7 +73,7 @@ default_settings: left: !Keyboard Left right: !Keyboard Right flop_attack: !Keyboard Comma - shoot: !Keyboard RShift + shoot: !Keyboard ShiftRight throw: !Keyboard Period ui_theme: @@ -227,4 +228,4 @@ translations: default_locale: en-US locales: - locales/en-US/en-US.ftl.yml - - locales/fr-FR/fr-FR.ftl.yml + - locales/fr-FR/fr-FR.ftl.yml \ No newline at end of file diff --git a/assets/levels/1_beach/beach.level.yaml b/assets/levels/1_beach/beach.level.yaml index b5c82bcb..513574d1 100644 --- a/assets/levels/1_beach/beach.level.yaml +++ b/assets/levels/1_beach/beach.level.yaml @@ -9,7 +9,6 @@ parallax_background: rows: 1 z: 0 scale: 0.9 - transition_factor: 0.9 - speed: 0.9 path: background_02.2.png tile_size: [960, 540] @@ -17,7 +16,6 @@ parallax_background: rows: 1 z: 1 scale: 0.9 - transition_factor: 0.9 - speed: 0.82 path: background_03.png tile_size: [960, 540] @@ -25,7 +23,6 @@ parallax_background: rows: 1 z: 2 scale: 0.9 - transition_factor: 0.9 - speed: 0.74 path: background_04.2.png tile_size: [960, 540] @@ -33,7 +30,6 @@ parallax_background: rows: 1 z: 3 scale: 0.9 - transition_factor: 0.9 - speed: 0 path: background_05.2.png tile_size: [960, 540] @@ -41,7 +37,6 @@ parallax_background: rows: 1 z: 4 scale: 0.9 - transition_factor: 0.9 players: # - fighter: /fighters/fishy/fishy.fighter.yaml @@ -87,19 +82,19 @@ enemies: stop_points: [500, 1000] items: - - item: &health /items/health/health.item.yaml - location: [50, -70, 0] + # - item: &health /items/health/health.item.yaml + # location: [50, -70, 0] - item: &bottle /items/bottle/bottle.item.yaml location: [100, -20, 0] - - item: &fishfood /items/fishfood/fishfood.item.yaml - location: [100, -70, 0] - - item: &pellets /items/pellets/pellets.item.yaml - location: [200, -70, 0] - - item: &poison /items/poison/poison.item.yaml - location: [100, -50, 0] + # - item: &fishfood /items/fishfood/fishfood.item.yaml + # location: [100, -70, 0] + # - item: &pellets /items/pellets/pellets.item.yaml + # location: [200, -70, 0] + # - item: &poison /items/poison/poison.item.yaml + # location: [100, -50, 0] - item: &sword /items/sword/sword.item.yaml location: [-100, -20, 0] - item: &box /items/box/box.item.yaml location: [30, 60, 0] - item: &musket /items/musket/musket.item.yaml - location: [-20, -20, 0] + location: [-20, -20, 0] \ No newline at end of file diff --git a/src/animation.rs b/src/animation.rs index d52f1546..ebb82cfa 100644 --- a/src/animation.rs +++ b/src/animation.rs @@ -7,7 +7,7 @@ use bevy::{ time::{Time, Timer}, utils::HashMap, }; -use iyes_loopless::condition::ConditionSet; +// use iyes_loopless::condition::ConditionSet; use serde::{de::SeqAccess, Deserializer}; pub struct AnimationPlugin; @@ -18,21 +18,25 @@ impl Plugin for AnimationPlugin { // Register reflect types .register_type::() // Add systems - .add_system_set_to_stage( - CoreStage::Last, - ConditionSet::new() - .run_in_state(GameState::InGame) - .with_system(animation_flipping) - .with_system(animation_cycling) - .into(), + // should probably be postupdate? + .add_systems( + Last, + (animation_flipping, animation_cycling).run_if(in_state(GameState::InGame)), ); + // .add_system_set_to_stage( + // CoreStage::Last, + // ConditionSet::new() + // .run_in_state(GameState::InGame) + // .with_system(animation_flipping) + // .with_system(animation_cycling) + // .into(), + // ); } } /// Bundle for animated sprite sheets #[derive(Bundle, Clone)] pub struct AnimatedSpriteSheetBundle { - #[bundle] pub sprite_sheet: SpriteSheetBundle, pub animation: Animation, } diff --git a/src/assets.rs b/src/assets.rs index a8a11035..f5e60eb5 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -4,7 +4,7 @@ use bevy::{ asset::{Asset, AssetLoader, AssetPath, LoadedAsset}, prelude::AddAsset, prelude::*, - reflect::TypeUuid, + reflect::{TypePath, TypeUuid}, utils::HashMap, }; use bevy_egui::egui; @@ -155,13 +155,13 @@ impl AssetLoader for GameMetaLoader { .insert(font_name.clone(), font_handle); } - // Load the script handles - for script_relative_path in &meta.scripts { - let (script_path, script_handle) = - get_relative_asset(load_context, &self_path, script_relative_path); - dependencies.push(script_path); - meta.script_handles.push(script_handle); - } + // // Load the script handles + // for script_relative_path in &meta.scripts { + // let (script_path, script_handle) = + // get_relative_asset(load_context, &self_path, script_relative_path); + // dependencies.push(script_path); + // meta.script_handles.push(script_handle); + // } load_context.set_default_asset(LoadedAsset::new(meta).with_dependencies(dependencies)); @@ -432,15 +432,15 @@ impl AssetLoader for ItemLoader { spritesheet.atlas_handle.push(atlas_handle); } } - ItemKind::Script { - script, - ref mut script_handle, - } => { - let (script_path, loaded_script_handle) = - get_relative_asset(load_context, load_context.path(), script); - dependencies.push(script_path); - *script_handle = loaded_script_handle; - } + // ItemKind::Script { + // script, + // ref mut script_handle, + // } => { + // let (script_path, loaded_script_handle) = + // get_relative_asset(load_context, load_context.path(), script); + // dependencies.push(script_path); + // *script_handle = loaded_script_handle; + // } ItemKind::Bomb { spritesheet, .. } => { for (index, image) in spritesheet.image.iter().enumerate() { let (texture_path, texture_handle) = @@ -475,7 +475,7 @@ impl AssetLoader for ItemLoader { } } -#[derive(Debug, Clone, TypeUuid)] +#[derive(Debug, Clone, TypeUuid, TypePath)] #[uuid = "da277340-574f-4069-907c-7571b8756200"] pub struct EguiFont(pub egui::FontData); diff --git a/src/attack.rs b/src/attack.rs index 95383971..91e53c76 100644 --- a/src/attack.rs +++ b/src/attack.rs @@ -1,13 +1,7 @@ use std::time::Duration; -use bevy::{ - hierarchy::DespawnRecursiveExt, - math::Vec2, - prelude::*, - reflect::{FromReflect, Reflect}, -}; +use bevy::{hierarchy::DespawnRecursiveExt, math::Vec2, prelude::*, reflect::Reflect}; use bevy_rapier2d::prelude::*; -use iyes_loopless::prelude::*; use serde::Deserialize; @@ -30,17 +24,18 @@ impl Plugin for AttackPlugin { // Register reflect types .register_type::() // Add systems - .add_system_set( - ConditionSet::new() - .run_in_state(GameState::InGame) - .with_system(activate_hitbox) - .with_system(deactivate_hitbox) - .with_system(breakable_system) - .with_system(damage_flash) - .into(), + .add_systems( + Update, + ( + activate_hitbox, + deactivate_hitbox, + breakable_system, + damage_flash, + ) + .run_if(in_state(GameState::InGame)), ) // Attack damage is run in PostUpdate to make sure it runs after rapier generates collision events - .add_system_to_stage(CoreStage::PostUpdate, attack_damage_system) + .add_systems(PostUpdate, attack_damage_system) // Event for when Breakable breaks .add_event::(); } @@ -89,6 +84,7 @@ impl Breakable { } } +#[derive(Event)] pub struct BrokeEvent { pub drop: Option, pub transform: Option, @@ -100,7 +96,7 @@ pub struct BrokeEvent { /// Must be added to an entity that is a child of an entity with an [`Animation`] and an [`Attack`] /// and will be used to spawn a collider for that attack during the `active` frames. /// Each field is an index refering to an animation frame -#[derive(Component, Debug, Clone, Copy, Deserialize, Reflect, FromReflect)] +#[derive(Component, Debug, Clone, Copy, Deserialize, Reflect)] pub struct AttackFrames { pub startup: usize, pub active: usize, diff --git a/src/audio.rs b/src/audio.rs index e8b4ad5b..9e50a335 100644 --- a/src/audio.rs +++ b/src/audio.rs @@ -2,10 +2,10 @@ // Also for cleanness (named channels have evident function), we don't use the default channel. use rand::{prelude::SliceRandom, thread_rng}; -use bevy::{prelude::*, utils::HashMap}; -use bevy_egui::{egui::output::OutputEvent, EguiContext}; +use bevy::{prelude::*, utils::HashMap, window::PrimaryWindow}; +use bevy_egui::{egui::output::OutputEvent, EguiOutput}; use bevy_kira_audio::{AudioApp, AudioChannel, AudioControl, AudioSource}; -use iyes_loopless::prelude::*; +// use iyes_loopless::prelude::*; use crate::{ animation::Animation, @@ -35,15 +35,15 @@ pub struct AudioPlugin; impl Plugin for AudioPlugin { fn build(&self, app: &mut App) { - app.add_plugin(bevy_kira_audio::AudioPlugin) + app.add_plugins(bevy_kira_audio::AudioPlugin) .add_audio_channel::() .add_audio_channel::() - .add_startup_system(set_audio_channels_volume) - .add_enter_system(GameState::InGame, play_level_music) - .add_exit_system(GameState::InGame, stop_level_music) - .add_system_to_stage( - CoreStage::PostUpdate, - animation_audio_playback.run_in_state(GameState::InGame), + .add_systems(Startup, set_audio_channels_volume) + .add_systems(OnEnter(GameState::InGame), play_level_music) + .add_systems(OnExit(GameState::InGame), stop_level_music) + .add_systems( + PostUpdate, + animation_audio_playback.run_if(in_state(GameState::InGame)), ); } } @@ -99,26 +99,30 @@ pub fn animation_audio_playback( /// Plays main menu sounds pub fn main_menu_sounds( game: Res, - mut context: ResMut, + // mut context: Query<&EguiContext, With>, + mut egui_output: Query<&EguiOutput, With>, effects_channel: Res>, ) { - for event in &context.ctx_mut().output().events { - if let OutputEvent::Clicked(info) = event { - // if let Ok(info.label.as_ref()) {} - if let Some(label_ref) = info.label.as_ref() { - if label_ref == "Start Game" { - // == "Start Game" { - //Play down_play_button - effects_channel.play(game.main_menu.play_button_sound_handle.clone_weak()); - } else { - //Play one of the down button audios, except down_play_button - effects_channel.play( - game.main_menu - .button_sound_handles - .choose(&mut thread_rng()) - .expect("No button sounds") - .clone_weak(), - ); + if let Ok(output) = egui_output.get_single_mut() { + for event in output.platform_output.events.as_slice() { + // for event in &context.get_single_mut().unwrap().get_mut().output().events { + if let OutputEvent::Clicked(info) = event { + // if let Ok(info.label.as_ref()) {} + if let Some(label_ref) = info.label.as_ref() { + if label_ref == "Start Game" { + // == "Start Game" { + //Play down_play_button + effects_channel.play(game.main_menu.play_button_sound_handle.clone_weak()); + } else { + //Play one of the down button audios, except down_play_button + effects_channel.play( + game.main_menu + .button_sound_handles + .choose(&mut thread_rng()) + .expect("No button sounds") + .clone_weak(), + ); + } } } } diff --git a/src/camera.rs b/src/camera.rs index 49d67617..dc2f91c0 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -1,6 +1,5 @@ use bevy::prelude::*; use bevy_parallax::ParallaxMoveEvent; -use iyes_loopless::prelude::*; use crate::{consts, metadata::GameMeta, movement::VelocitySystems, GameState, Player}; @@ -12,14 +11,11 @@ impl Plugin for CameraPlugin { // Register reflect types .register_type::() // Add systems - .add_system_set_to_stage( - CoreStage::PostUpdate, - ConditionSet::new() - .run_in_state(GameState::InGame) - .after(VelocitySystems) - .with_system(camera_follow_player) - .with_system(y_sort) - .into(), + .add_systems( + PostUpdate, + (camera_follow_player, y_sort) + .run_if(in_state(GameState::InGame)) + .after(VelocitySystems), ); } } @@ -42,7 +38,7 @@ pub fn y_sort(mut query: Query<(&mut Transform, &YSort)>) { /// limitations of any kind - that's up to the players movement logic (e.g. max distance). pub fn camera_follow_player( player_query: Query<&Transform, With>, - camera_query: Query<&Transform, (With, Without)>, + camera_query: Query<(Entity, &Transform), (With, Without)>, mut move_event_writer: EventWriter, game_meta: Res, ) { @@ -52,17 +48,21 @@ pub fn camera_follow_player( .max_by(|ax, bx| ax.total_cmp(bx)); if let Some(max_player_x) = max_player_x { - let camera = camera_query.single(); + let (camera, camera_transform) = camera_query.single(); let max_player_x_diff = - max_player_x - camera.translation.x - game_meta.camera_move_right_boundary; + max_player_x - camera_transform.translation.x - game_meta.camera_move_right_boundary; if max_player_x_diff > 0. { // The x axis is handled by the parallax plugin. // The y axis value doesn't change. move_event_writer.send(ParallaxMoveEvent { - camera_move_speed: max_player_x_diff * consts::CAMERA_SPEED, + camera_move_speed: Vec2 { + x: max_player_x_diff * consts::CAMERA_SPEED, + y: 0.0, + }, + camera, }); } } diff --git a/src/damage.rs b/src/damage.rs index 323e63d6..e9df66d0 100644 --- a/src/damage.rs +++ b/src/damage.rs @@ -27,6 +27,7 @@ impl Default for Damageable { } /// Event emitted when an entity is damaged +#[derive(Event)] pub struct DamageEvent { pub damage_velocity: Vec2, pub damageing_entity: Entity, diff --git a/src/enemy.rs b/src/enemy.rs index 18cc3947..b140d23e 100644 --- a/src/enemy.rs +++ b/src/enemy.rs @@ -26,7 +26,6 @@ pub struct EnemyBundle { enemy: Enemy, facing: Facing, spawn_location_x: SpawnLocationX, - #[bundle] transform_bundle: TransformBundle, fighter_handle: Handle, trip_point_x: TripPointX, diff --git a/src/fighter.rs b/src/fighter.rs index 3b2fed91..178ddca0 100644 --- a/src/fighter.rs +++ b/src/fighter.rs @@ -22,7 +22,7 @@ pub struct FighterPlugin; impl Plugin for FighterPlugin { fn build(&self, app: &mut App) { app.register_type::() - .add_system_to_stage(CoreStage::PostUpdate, attachment_system); + .add_systems(PostUpdate, attachment_system); } } @@ -30,7 +30,6 @@ impl Plugin for FighterPlugin { #[derive(Bundle)] pub struct ActiveFighterBundle { pub name: Name, - #[bundle] pub animated_spritesheet_bundle: AnimatedSpriteSheetBundle, // #[bundle] // pub physics_bundle: PhysicsBundle, @@ -225,7 +224,9 @@ pub fn attachment_system( //Sync animation if attached.sync_animation { animation.current_frame = parent_animation.current_frame; - animation.current_animation = parent_animation.current_animation.clone(); + animation + .current_animation + .clone_from(&parent_animation.current_animation); animation.timer = parent_animation.timer.clone(); animation.played_once = parent_animation.played_once; } diff --git a/src/fighter_state.rs b/src/fighter_state.rs index 38b64d4f..33edb7a7 100644 --- a/src/fighter_state.rs +++ b/src/fighter_state.rs @@ -1,9 +1,7 @@ use std::{collections::VecDeque, time::Duration}; use bevy::{prelude::*, reflect::FromType, utils::HashSet}; -use bevy_mod_js_scripting::ActiveScripts; use bevy_rapier2d::prelude::CollisionGroups; -use iyes_loopless::prelude::*; use leafwing_input_manager::{plugin::InputManagerSystem, prelude::ActionState}; use rand::Rng; @@ -18,10 +16,7 @@ use crate::{ enemy_ai, fighter::{Attached, AvailableAttacks, Inventory}, input::PlayerAction, - item::{ - AnimatedProjectile, Drop, Explodable, Item, ItemBundle, Projectile, ScriptItemGrabEvent, - ScriptItemThrowEvent, - }, + item::{AnimatedProjectile, Drop, Explodable, Item, ItemBundle, Projectile}, lifetime::Lifetime, metadata::{AttackMeta, AudioMeta, FighterMeta, ItemKind, ItemMeta, ItemSpawnMeta}, movement::{AngularVelocity, Force, LinearVelocity}, @@ -33,65 +28,67 @@ use crate::{ pub struct FighterStatePlugin; /// The system set that fighter state change intents are collected -#[derive(Clone, SystemLabel)] +#[derive(SystemSet, Clone, Debug, PartialEq, Eq, Hash)] pub struct FighterStateCollectSystems; impl Plugin for FighterStatePlugin { fn build(&self, app: &mut App) { app // The collect systems - .add_system_set_to_stage( - CoreStage::PreUpdate, - ConditionSet::new() - .label(FighterStateCollectSystems) - .after(InputManagerSystem::Update) - .run_in_state(GameState::InGame) - .with_system(collect_fighter_eliminations) - .with_system(collect_hitstuns) - .with_system(collect_player_actions) - .with_system( - enemy_ai::set_move_target_near_player.pipe(enemy_ai::emit_enemy_intents), + .add_systems( + PreUpdate, + ( + collect_fighter_eliminations, + collect_hitstuns, + collect_player_actions, + ( + enemy_ai::set_move_target_near_player, + enemy_ai::emit_enemy_intents, ) - .into(), + .chain(), + ) + .in_set(FighterStateCollectSystems) + .after(InputManagerSystem::Update) + .run_if(in_state(GameState::InGame)), ) // The transition systems - .add_system_set_to_stage( - CoreStage::PreUpdate, - ConditionSet::new() + .add_systems( + PreUpdate, + ( + transition_from_idle, + transition_from_chain, + transition_from_flopping, + transition_from_punching, + transition_from_ground_slam, + transition_from_hitstun, + transition_from_melee_attacking, + transition_from_shooting, + transition_from_bomb_throw, + transition_from_proj_attacking, + ) .after(FighterStateCollectSystems) - .run_in_state(GameState::InGame) - .with_system(transition_from_idle) - .with_system(transition_from_chain) - .with_system(transition_from_flopping) - .with_system(transition_from_punching) - .with_system(transition_from_ground_slam) - .with_system(transition_from_hitstun) - .with_system(transition_from_melee_attacking) - .with_system(transition_from_shooting) - .with_system(transition_from_bomb_throw) - .with_system(transition_from_proj_attacking) - .into(), + .run_if(in_state(GameState::InGame)), ) // State handler systems - .add_system_set_to_stage( - CoreStage::Update, - ConditionSet::new() - .run_in_state(GameState::InGame) - .with_system(idling) - .with_system(chaining) - .with_system(flopping) - .with_system(punching) - .with_system(ground_slam) - .with_system(moving) - .with_system(throwing) - .with_system(grabbing) - .with_system(hitstun) - .with_system(dying) - .with_system(melee_attacking) - .with_system(shooting) - .with_system(bomb_throw) - .with_system(projectile_attacking) - .into(), + .add_systems( + Update, + ( + idling, + chaining, + flopping, + punching, + ground_slam, + moving, + throwing, + grabbing, + hitstun, + dying, + melee_attacking, + shooting, + bomb_throw, + projectile_attacking, + ) + .run_if(in_state(GameState::InGame)), ); } } @@ -141,7 +138,7 @@ impl StateTransition { commands.add(move |world: &mut World| { // Insert the component stored in this state transition onto the entity self.reflect_component - .insert(world, entity, self.data.as_reflect()); + .insert(&mut world.entity_mut(entity), self.data.as_reflect()); }); self.is_additive @@ -517,6 +514,21 @@ fn collect_fighter_eliminations( // // Transition states systems // +// +// + +fn transition_from( + mut commands: Commands, + mut fighters: Query<(Entity, &mut StateTransitionIntents), With>, +) { + for (entity, mut transition_intents) in &mut fighters { + transition_intents.transition_to_higher_priority_states::( + entity, + Idling::PRIORITY, + &mut commands, + ); + } +} /// Initiate any transitions from the idling state fn transition_from_idle( @@ -1578,8 +1590,6 @@ fn throwing( weapon_held: Query<(Entity, &Parent), With>, pweapon_held: Query<(Entity, &Parent), With>, mut items_assets: ResMut>, - mut active_scripts: ResMut, - mut script_item_throw_events: ResMut>, ) { for (entity, fighter_transform, facing, mut inventory, available_attacks) in &mut fighters { // If the player has an item in their inventory @@ -1599,12 +1609,6 @@ fn throwing( false, )); } - ItemKind::Script { script_handle, .. } => { - script_item_throw_events.send(ScriptItemThrowEvent { - fighter: entity, - script_handle: script_handle.clone_weak(), - }); - } ItemKind::BreakableBox { ref item_handle, .. } => { @@ -1640,12 +1644,7 @@ fn throwing( item_handle: items_assets.add(item_meta.clone()), }; let item_commands = commands.spawn(ItemBundle::new(&item_spawn_meta)); - ItemBundle::spawn( - item_commands, - &item_spawn_meta, - &mut items_assets, - &mut active_scripts, - ); + ItemBundle::spawn(item_commands, &item_spawn_meta, &mut items_assets); if let Some(mut available_attacks) = available_attacks { available_attacks.attacks.pop(); @@ -1668,12 +1667,7 @@ fn throwing( item_handle: items_assets.add(item_meta.clone()), }; let item_commands = commands.spawn(ItemBundle::new(&item_spawn_meta)); - ItemBundle::spawn( - item_commands, - &item_spawn_meta, - &mut items_assets, - &mut active_scripts, - ); + ItemBundle::spawn(item_commands, &item_spawn_meta, &mut items_assets); if let Some(mut available_attacks) = available_attacks { available_attacks.attacks.pop(); @@ -1766,7 +1760,6 @@ fn grabbing( >, items_query: Query<(Entity, &Transform, &Handle), With>, items_assets: Res>, - mut script_item_grab_events: ResMut>, ) { // We need to track the picked items, otherwise, in theory, two players could pick the same item. let mut picked_item_ids = HashSet::new(); @@ -1793,13 +1786,13 @@ fn grabbing( // And our fighter isn't carrying another item if fighter_inventory.is_none() { match &items_assets.get(item).unwrap().kind { - ItemKind::Script { script_handle, .. } => { - script_item_grab_events.send(ScriptItemGrabEvent { - fighter: fighter_ent, - script_handle: script_handle.clone_weak(), - }); - commands.entity(item_ent).despawn_recursive(); - } + // ItemKind::Script { script_handle, .. } => { + // script_item_grab_events.send(ScriptItemGrabEvent { + // fighter: fighter_ent, + // script_handle: script_handle.clone_weak(), + // }); + // commands.entity(item_ent).despawn_recursive(); + // } ItemKind::Throwable { damage: _, .. } => { // If its throwable, pick up the item picked_item_ids.insert(item_ent); diff --git a/src/input.rs b/src/input.rs index aeba0a66..0bcb2a5a 100644 --- a/src/input.rs +++ b/src/input.rs @@ -1,7 +1,8 @@ +use bevy::reflect::TypePath; use leafwing_input_manager::Actionlike; use serde::Deserialize; -#[derive(Debug, Copy, Clone, Actionlike, Deserialize, Eq, PartialEq, Hash)] +#[derive(Debug, Copy, Clone, Actionlike, Deserialize, Eq, PartialEq, Hash, TypePath)] pub enum PlayerAction { Move, // Attacks @@ -10,7 +11,7 @@ pub enum PlayerAction { Shoot, } -#[derive(Debug, Copy, Clone, Actionlike, Deserialize, Eq, PartialEq, Hash)] +#[derive(Debug, Copy, Clone, Actionlike, Deserialize, Eq, PartialEq, Hash, TypePath)] pub enum MenuAction { Up, Down, diff --git a/src/item.rs b/src/item.rs index 6a292170..e6703d5c 100644 --- a/src/item.rs +++ b/src/item.rs @@ -1,5 +1,5 @@ use bevy::{ecs::system::EntityCommands, prelude::*}; -use bevy_mod_js_scripting::{ActiveScripts, JsScript}; +// use bevy_mod_js_scripting::{ActiveScripts, JsScript}; use bevy_rapier2d::prelude::*; use rand::Rng; @@ -18,25 +18,10 @@ pub struct ItemPlugin; impl Plugin for ItemPlugin { fn build(&self, app: &mut App) { - app.add_system(drop_system) - .add_system(explodable_system) - .add_event::() - .add_event::(); + app.add_systems(Update, (drop_system, explodable_system)); } } -#[derive(Reflect, Clone)] -pub struct ScriptItemThrowEvent { - pub fighter: Entity, - pub script_handle: Handle, -} - -#[derive(Reflect, Clone)] -pub struct ScriptItemGrabEvent { - pub fighter: Entity, - pub script_handle: Handle, -} - #[derive(Component)] pub struct Item { /// Prevent the spawning of a Sprite component by load_items by setting this to false @@ -64,7 +49,7 @@ impl ItemBundle { mut commands: EntityCommands, item_spawn_meta: &ItemSpawnMeta, items_assets: &mut ResMut>, - active_scripts: &mut ActiveScripts, + // active_scripts: &mut ActiveScripts, ) { let ground_offset = Vec3::new(0.0, consts::GROUND_Y, consts::ITEM_LAYER); let transform_bundle = TransformBundle::from_transform(Transform::from_translation( @@ -91,9 +76,9 @@ impl ItemBundle { commands.insert((physics_bundle, Breakable::new(*hits, false))); } - ItemKind::Script { script_handle, .. } => { - active_scripts.insert(script_handle.clone()); - } + // ItemKind::Script { script_handle, .. } => { + // active_scripts.insert(script_handle.clone()); + // } _ => (), } @@ -107,7 +92,6 @@ impl ItemBundle { #[derive(Bundle)] pub struct Projectile { - #[bundle] sprite_bundle: SpriteBundle, velocity: LinearVelocity, angular_velocity: AngularVelocity, @@ -217,7 +201,7 @@ fn drop_system( mut commands: Commands, mut broke_event: EventReader, mut lifetime_event: EventReader, - mut active_scripts: ResMut, + // mut active_scripts: ResMut, ) { let mut drops = vec![]; for event in lifetime_event.iter() { @@ -244,7 +228,7 @@ fn drop_system( item_commands, &item_spawn_meta, &mut items_assets, - &mut active_scripts, + // &mut active_scripts, ); } } @@ -378,7 +362,6 @@ fn explodable_system( #[derive(Bundle)] pub struct AnimatedProjectile { - #[bundle] sprite_bundle: AnimatedSpriteSheetBundle, velocity: LinearVelocity, angular_velocity: AngularVelocity, diff --git a/src/lifetime.rs b/src/lifetime.rs index 01b58fbb..0b2f00df 100644 --- a/src/lifetime.rs +++ b/src/lifetime.rs @@ -6,7 +6,7 @@ pub struct LifetimePlugin; impl Plugin for LifetimePlugin { fn build(&self, app: &mut App) { - app.add_system_to_stage(CoreStage::Last, lifetime_system) + app.add_systems(Last, lifetime_system) .add_event::(); } } @@ -35,6 +35,7 @@ fn lifetime_system( } } +#[derive(Event)] pub struct LifetimeExpired { pub drop: Option, pub transform: Option, diff --git a/src/loading.rs b/src/loading.rs index 74cf9086..e9234436 100644 --- a/src/loading.rs +++ b/src/loading.rs @@ -1,7 +1,5 @@ -use bevy::prelude::*; -use bevy_mod_js_scripting::ActiveScripts; -use bevy_parallax::ParallaxResource; -use iyes_loopless::{prelude::*, state::NextState}; +use bevy::{prelude::*, window::PrimaryWindow}; +use bevy_parallax::CreateParallaxEvent; use rand::seq::SliceRandom; @@ -23,7 +21,7 @@ use crate::{ }; use bevy::{ecs::system::SystemParam, render::camera::ScalingMode}; -use bevy_egui::{egui, EguiContext}; +use bevy_egui::{egui, EguiContexts}; use bevy_fluent::Locale; use bevy_parallax::ParallaxCameraComponent; use leafwing_input_manager::{ @@ -40,31 +38,24 @@ pub struct LoadingPlugin; impl Plugin for LoadingPlugin { fn build(&self, app: &mut App) { - app.add_system(load_level.run_in_state(GameState::LoadingLevel)) - .add_system( + app.add_systems(Update, load_level.run_if(in_state(GameState::LoadingLevel))) + .add_systems( + Update, load_game - .run_in_state(GameState::LoadingGame) + .run_if(in_state(GameState::LoadingGame)) .run_if(game_assets_loaded), ) - .add_system_set( - ConditionSet::new() - .run_in_state(GameState::InGame) - .with_system(load_fighters) - .with_system(load_items) - .into(), + .add_systems( + Update, + (load_fighters, load_items).run_if(in_state(GameState::InGame)), ); // Configure hot reload if ENGINE_CONFIG.hot_reload { - app.add_system_to_stage(CoreStage::Last, hot_reload_game) - .add_system_set_to_stage( - CoreStage::Last, - ConditionSet::new() - .run_in_state(GameState::InGame) - .with_system(hot_reload_level) - .with_system(hot_reload_fighters) - .into(), - ); + app.add_systems(Last, hot_reload_game).add_systems( + Last, + (hot_reload_level, hot_reload_fighters).run_if(in_state(GameState::InGame)), + ); } } } @@ -99,9 +90,9 @@ pub struct GameLoader<'w, 's> { commands: Commands<'w, 's>, game_handle: Res<'w, GameHandle>, assets: ResMut<'w, Assets>, - egui_ctx: ResMut<'w, EguiContext>, + egui_ctx: EguiContexts<'w, 's>, events: EventReader<'w, 's, AssetEvent>, - active_scripts: ResMut<'w, ActiveScripts>, + next_state: ResMut<'w, NextState>, } impl<'w, 's> GameLoader<'w, 's> { @@ -124,7 +115,8 @@ impl<'w, 's> GameLoader<'w, 's> { game_handle, mut assets, mut egui_ctx, - mut active_scripts, + // + mut next_state, .. } = self; @@ -140,9 +132,6 @@ impl<'w, 's> GameLoader<'w, 's> { // event, we need to skip the next update event. *skip_next_asset_update_event = true; - // Clear the active scripts - active_scripts.clear(); - // One-time initialization } else { // Initialize empty fonts for all game fonts. @@ -157,7 +146,8 @@ impl<'w, 's> GameLoader<'w, 's> { commands.insert_resource(EguiFontDefinitions(egui_fonts)); // Transition to the main menu when we are done - commands.insert_resource(NextState(GameState::MainMenu)); + // commands.insert_resource(NextState(GameState::MainMenu)); + next_state.set(GameState::MainMenu); } // Set the locale resource @@ -174,7 +164,7 @@ impl<'w, 's> GameLoader<'w, 's> { ScalingMode::FixedVertical(game.camera_height as f32); commands.spawn(( camera_bundle, - ParallaxCameraComponent, + ParallaxCameraComponent::default(), InputManagerBundle { input_map: menu_input_map(), ..default() @@ -201,11 +191,6 @@ impl<'w, 's> GameLoader<'w, 's> { } } - // Set the active scripts - for script_handle in &game.script_handles { - active_scripts.insert(script_handle.clone_weak()); - } - // Insert the game resource commands.insert_resource(game.clone()); @@ -253,6 +238,7 @@ fn menu_input_map() -> InputMap { positive_low: 0.5, negative_low: -1.0, value: None, + inverted: false, }, MenuAction::Up, ) @@ -265,6 +251,7 @@ fn menu_input_map() -> InputMap { positive_low: 1.0, negative_low: -0.5, value: None, + inverted: false, }, MenuAction::Left, ) @@ -277,6 +264,7 @@ fn menu_input_map() -> InputMap { positive_low: 1.0, negative_low: -0.5, value: None, + inverted: false, }, MenuAction::Down, ) @@ -289,6 +277,7 @@ fn menu_input_map() -> InputMap { positive_low: 0.5, negative_low: -1.0, value: None, + inverted: false, }, MenuAction::Right, ) @@ -327,14 +316,16 @@ fn load_level( mut commands: Commands, assets: Res>, mut items_assets: ResMut>, - mut parallax: ResMut, - mut texture_atlases: ResMut>, - asset_server: Res, + // mut parallax: ResMut, + mut create_parallax: EventWriter, + _texture_atlases: ResMut>, + _asset_server: Res, game: Res, - windows: Res, + _window_query: Query<&Window, With>, mut storage: ResMut, loading_resources: LoadingResources, - mut active_scripts: ResMut, + mut next_state: ResMut>, + camera_query: Query>, ) { if let Some(level) = assets.get(&level_handle) { // Track load progress @@ -350,12 +341,17 @@ fn load_level( return; } - let window = windows.primary(); + // let window = window_query.get_single().unwrap(); + let camera = camera_query.get_single().unwrap(); // Setup the parallax background - *parallax = level.parallax_background.get_resource(); - parallax.window_size = Vec2::new(window.width(), window.height()); - parallax.create_layers(&mut commands, &asset_server, &mut texture_atlases); + create_parallax.send(CreateParallaxEvent { + layers_data: level.parallax_background.get_layer_data(), + camera, + }); + // * parallax = level.parallax_background.get_resource(); + // parallax.window_size = Vec2::new(window.width(), window.height()); + // parallax.create_layers(&mut commands, &asset_server, &mut texture_atlases); // Set the clear color commands.insert_resource(ClearColor(level.background_color())); @@ -382,16 +378,11 @@ fn load_level( // Spawn the items for item_spawn_meta in &level.items { let item_commands = commands.spawn(ItemBundle::new(item_spawn_meta)); - ItemBundle::spawn( - item_commands, - item_spawn_meta, - &mut items_assets, - &mut active_scripts, - ) + ItemBundle::spawn(item_commands, item_spawn_meta, &mut items_assets) } commands.insert_resource(level.clone()); - commands.insert_resource(NextState(GameState::InGame)); + next_state.set(GameState::InGame); } else { trace!("Awaiting level load"); } @@ -400,24 +391,32 @@ fn load_level( /// Hot reloads level asset data fn hot_reload_level( mut commands: Commands, - mut parallax: ResMut, + // mut parallax: ResMut, + mut create_parallax: EventWriter, mut events: EventReader>, - mut texture_atlases: ResMut>, + _texture_atlases: ResMut>, level_handle: Res, assets: Res>, - asset_server: Res, - windows: Res, + _asset_server: Res, + window_query: Query<&Window, With>, + camera_query: Query>, ) { for event in events.iter() { if let AssetEvent::Modified { handle } = event { let level = assets.get(handle).unwrap(); if handle == &**level_handle { // Update the level background - let window = windows.primary(); - parallax.despawn_layers(&mut commands); - *parallax = level.parallax_background.get_resource(); - parallax.window_size = Vec2::new(window.width(), window.height()); - parallax.create_layers(&mut commands, &asset_server, &mut texture_atlases); + let _window = window_query.get_single().unwrap(); + let camera = camera_query.get_single().unwrap(); + create_parallax.send(CreateParallaxEvent { + layers_data: level.parallax_background.get_layer_data(), + camera, + }); + + // parallax.despawn_layers(&mut commands); + // *parallax = level.parallax_background.get_resource(); + // parallax.window_size = Vec2::new(window.width(), window.height()); + // parallax.create_layers(&mut commands, &asset_server, &mut texture_atlases); commands.insert_resource(ClearColor(level.background_color())); } diff --git a/src/localization.rs b/src/localization.rs index 59f4bc7a..a1c833ec 100644 --- a/src/localization.rs +++ b/src/localization.rs @@ -10,11 +10,11 @@ pub struct LocalizationPlugin; impl Plugin for LocalizationPlugin { fn build(&self, app: &mut App) { - app.add_plugin(FluentPlugin) + app.add_plugins(FluentPlugin) .init_resource::() .insert_resource(Localization::new()); - app.add_system(load_locales); + app.add_systems(Update, load_locales); } } diff --git a/src/main.rs b/src/main.rs index fe891b22..773bcf6b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,17 +2,19 @@ #![allow(clippy::forget_non_drop)] #![allow(clippy::too_many_arguments)] -use bevy::prelude::*; -use bevy_parallax::{ParallaxPlugin, ParallaxResource}; +use std::time::Duration; + +use bevy::{asset::ChangeWatcher, prelude::*, window::WindowResolution}; +use bevy_parallax::ParallaxPlugin; use bevy_rapier2d::prelude::*; use fighter::Stats; use input::MenuAction; -use iyes_loopless::prelude::*; +// use iyes_loopless::prelude::*; use leafwing_input_manager::prelude::*; use player::*; -use bevy_inspector_egui::{WorldInspectorParams, WorldInspectorPlugin}; -use bevy_inspector_egui_rapier::InspectableRapierPlugin; +use bevy_inspector_egui::quick::WorldInspectorPlugin; +// use bevy_inspector_egui_rapier::InspectableRapierPlugin; mod animation; mod assets; @@ -36,7 +38,7 @@ mod metadata; mod movement; mod platform; mod player; -mod scripting; +// mod scripting; mod ui; mod utils; @@ -53,11 +55,12 @@ use crate::{ damage::DamagePlugin, fighter::FighterPlugin, fighter_state::FighterStatePlugin, input::PlayerAction, item::ItemPlugin, lifetime::LifetimePlugin, loading::LoadingPlugin, localization::LocalizationPlugin, metadata::GameHandle, movement::MovementPlugin, - platform::PlatformPlugin, scripting::ScriptingPlugin, ui::debug_tools::YSortDebugPlugin, + platform::PlatformPlugin, ui::debug_tools::YSortDebugPlugin, }; -#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -enum GameState { +#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, States)] +pub enum GameState { + #[default] LoadingStorage, LoadingGame, MainMenu, @@ -80,22 +83,29 @@ fn main() { // Configure Window builder = builder .set(WindowPlugin { - window: WindowDescriptor { + primary_window: Some(Window { title: "Fish Folk Punchy".to_string(), - scale_factor_override: Some(1.0), + // scale_factor_override: Some(1.0), + resolution: WindowResolution::default(), + // resolution: WindowResolution::set_scale_factor_override, ..default() - }, + }), ..default() }) .set(ImagePlugin::default_nearest()); + let watch_for_changes = if engine_config.hot_reload { + ChangeWatcher::with_delay(Duration::from_millis(200)) + } else { + None + }; // Configure asset server let mut asset_plugin = AssetPlugin { - watch_for_changes: engine_config.hot_reload, + watch_for_changes, ..default() }; if let Some(asset_folder) = &engine_config.asset_dir { - asset_plugin.asset_folder = asset_folder.clone(); + asset_plugin.asset_folder.clone_from(asset_folder); } builder = builder.set(asset_plugin); @@ -116,42 +126,56 @@ fn main() { // Add other systems and resources app.insert_resource(ClearColor(Color::BLACK)) - .add_loopless_state(GameState::LoadingStorage) - .add_plugin(ScriptingPlugin) - .add_plugin(PlatformPlugin) - .add_plugin(LocalizationPlugin) - .add_plugin(LoadingPlugin) - .add_plugin(RapierPhysicsPlugin::::default()) - .add_plugin(InputManagerPlugin::::default()) - .add_plugin(InputManagerPlugin::::default()) - .add_plugin(AttackPlugin) - .add_plugin(AnimationPlugin) - .add_plugin(ParallaxPlugin) - .add_plugin(UIPlugin) - .add_plugin(FighterStatePlugin) - .add_plugin(MovementPlugin) - .add_plugin(AudioPlugin) - .add_plugin(DamagePlugin) - .add_plugin(LifetimePlugin) - .add_plugin(CameraPlugin) - .add_plugin(ItemPlugin) - .add_plugin(FighterPlugin) - .insert_resource(ParallaxResource::default()) - .add_system_set_to_stage( - CoreStage::PostUpdate, - ConditionSet::new() - .run_in_state(GameState::InGame) - .with_system(game_over_on_players_death) - .into(), - ) - //this should be moved to AudioPlugin, it also causes a panic in egui_inspector when - //using the color picker widget currently - .add_system_to_stage( - CoreStage::PostUpdate, - main_menu_sounds - .run_if_resource_exists::() - .before(bevy_egui::EguiSystem::ProcessOutput), + .add_state::() + // .add_loopless_state(GameState::LoadingStorage) + // .add_plugin(ScriptingPlugin) + .add_plugins(( + PlatformPlugin, + LocalizationPlugin, + LoadingPlugin, + RapierPhysicsPlugin::::default(), + InputManagerPlugin::::default(), + InputManagerPlugin::::default(), + ( + AttackPlugin, + AnimationPlugin, + ParallaxPlugin, + UIPlugin, + FighterStatePlugin, + MovementPlugin, + AudioPlugin, + DamagePlugin, + LifetimePlugin, + CameraPlugin, + ItemPlugin, + FighterPlugin, + ), + )) + // .insert_resource(ParallaxResource::default()) + .add_systems( + PostUpdate, + ( + game_over_on_players_death.run_if(in_state(GameState::InGame)), + main_menu_sounds + .run_if(resource_exists::()) + .before(bevy_egui::EguiSet::ProcessOutput), + ), ); + // .add_system_set_to_stage( + // CoreStage::PostUpdate, + // ConditionSet::new() + // .run_in_state(GameState::InGame) + // .with_system(game_over_on_players_death) + // .into(), + // ) + //this should be moved to AudioPlugin, it also causes a panic in egui_inspector when + //using the color picker widget currently + // .add_system_to_stage( + // CoreStage::PostUpdate, + // main_menu_sounds + // .run_if_resource_exists::() + // .before(bevy_egui::EguiSystem::ProcessOutput), + // ); // Register reflect types that don't come from plugins app.register_type::().register_type::(); @@ -162,13 +186,14 @@ fn main() { enabled: false, ..default() }) - .add_plugin(YSortDebugPlugin) - .add_plugin(InspectableRapierPlugin) - .insert_resource(WorldInspectorParams { - enabled: false, - ..default() - }) - .add_plugin(WorldInspectorPlugin::new()); + .add_plugins(YSortDebugPlugin) + // .add_plugins(InspectableRapierPlugin) + //TODO: now need to configure worldinspector to be disabled by default + // .insert_resource(WorldInspectorParams { + // enabled: false, + // ..default() + // }) + .add_plugins(WorldInspectorPlugin::new()); } // Register assets and loaders @@ -193,12 +218,14 @@ fn main() { /// Transition back to main menu and reset world when all players have died fn game_over_on_players_death( - mut commands: Commands, + // mut commands: Commands, query: Query<(), With>, reset_controller: ResetController, + mut next_state: ResMut>, ) { if query.is_empty() { - commands.insert_resource(NextState(GameState::MainMenu)); + next_state.set(GameState::MainMenu); + // commands.insert_resource(NextState(GameState::MainMenu)); reset_controller.reset_world(); } diff --git a/src/metadata.rs b/src/metadata.rs index 07804e76..4e8efd20 100644 --- a/src/metadata.rs +++ b/src/metadata.rs @@ -1,14 +1,13 @@ use bevy::{ math::{UVec2, Vec2, Vec3}, prelude::{Color, Component, Deref, DerefMut, Handle, Image, Resource}, - reflect::{FromReflect, Reflect, TypeUuid}, + reflect::{Reflect, TypePath, TypeUuid}, sprite::TextureAtlas, - utils::HashMap, + utils::{default, HashMap}, }; use bevy_egui::egui; use bevy_kira_audio::AudioSource; -use bevy_mod_js_scripting::JsScript; -use bevy_parallax::{LayerData, ParallaxResource}; +use bevy_parallax::{LayerData, LayerSpeed}; use punchy_macros::HasLoadProgress; use serde::Deserialize; @@ -26,7 +25,7 @@ pub use localization::TranslationsMeta; #[derive(Resource, Deref, DerefMut)] pub struct GameHandle(pub Handle); -#[derive(Resource, HasLoadProgress, TypeUuid, Deserialize, Clone, Debug)] +#[derive(Resource, HasLoadProgress, TypeUuid, Deserialize, Clone, Debug, TypePath)] #[serde(deny_unknown_fields)] #[uuid = "eb28180f-ef68-44a0-8479-a299a3cef66e"] pub struct GameMeta { @@ -40,10 +39,6 @@ pub struct GameMeta { pub default_settings: Settings, pub translations: TranslationsMeta, - #[serde(default)] - pub scripts: Vec, - #[serde(skip)] - pub script_handles: Vec>, } #[derive(HasLoadProgress, Deserialize, Clone, Debug)] @@ -74,7 +69,7 @@ pub struct ImageMeta { #[derive(Resource, Deref, DerefMut)] pub struct LevelHandle(pub Handle); -#[derive(Resource, HasLoadProgress, TypeUuid, Deserialize, Clone, Debug)] +#[derive(Resource, HasLoadProgress, TypeUuid, Deserialize, Clone, Debug, TypePath)] #[serde(deny_unknown_fields)] #[uuid = "32111f6e-bb9a-4ea7-8988-1220b923a059"] pub struct LevelMeta { @@ -99,7 +94,7 @@ impl LevelMeta { } } -#[derive(TypeUuid, Deserialize, Clone, Debug, Component)] +#[derive(TypeUuid, Deserialize, Clone, Debug, Component, TypePath)] #[serde(deny_unknown_fields)] #[uuid = "d5e040c4-3de7-4b8a-b6c2-27f82f58d8f0"] pub struct FighterMeta { @@ -117,7 +112,7 @@ pub struct FighterMeta { pub attachment: Option, } -#[derive(TypeUuid, Deserialize, Clone, Debug, Component, Reflect, FromReflect)] +#[derive(TypeUuid, Deserialize, Clone, Debug, Component, Reflect)] #[serde(deny_unknown_fields)] #[uuid = "45a912f4-ea5c-4eba-9ba9-f1a726140f28"] pub struct AttackMeta { @@ -132,7 +127,7 @@ pub struct AttackMeta { pub item_handle: Handle, } -#[derive(TypeUuid, Deserialize, Clone, Debug, Component)] +#[derive(TypeUuid, Deserialize, Clone, Debug, Component, TypePath)] #[serde(deny_unknown_fields)] #[uuid = "5e2db270-ec2e-013a-92a8-2cf05d71216b"] pub struct ItemMeta { @@ -181,12 +176,12 @@ pub enum ItemKind { ammo: usize, shoot_delay: f32, }, - Script { - /// The relative asset path to the script for this item - script: String, - #[serde(skip)] - script_handle: Handle, - }, + // Script { + // /// The relative asset path to the script for this item + // script: String, + // #[serde(skip)] + // script_handle: Handle, + // }, Bomb { spritesheet: FighterSpritesheetMeta, attack_frames: AttackFrames, @@ -259,8 +254,8 @@ pub struct ParallaxMeta { } impl ParallaxMeta { - pub fn get_resource(&self) -> ParallaxResource { - ParallaxResource::new(self.layers.iter().cloned().map(Into::into).collect()) + pub fn get_layer_data(&self) -> Vec { + self.layers.iter().cloned().map(Into::into).collect() } } @@ -276,7 +271,6 @@ pub struct ParallaxLayerMeta { pub rows: usize, pub scale: f32, pub z: f32, - pub transition_factor: f32, #[serde(default)] pub position: Vec2, } @@ -284,20 +278,20 @@ pub struct ParallaxLayerMeta { impl From for LayerData { fn from(meta: ParallaxLayerMeta) -> Self { Self { - speed: meta.speed, + speed: LayerSpeed::Horizontal(meta.speed), path: meta.path, tile_size: meta.tile_size, cols: meta.cols, rows: meta.rows, scale: meta.scale, z: meta.z, - transition_factor: meta.transition_factor, position: meta.position, + ..default() } } } -#[derive(HasLoadProgress, Deserialize, Default, Copy, Clone, Debug, Reflect, FromReflect)] +#[derive(HasLoadProgress, Deserialize, Default, Copy, Clone, Debug, Reflect)] #[serde(deny_unknown_fields)] pub struct ColliderMeta { //TODO: Add type of collider with different properties. diff --git a/src/movement.rs b/src/movement.rs index 728dfd7f..d9c9f0bc 100644 --- a/src/movement.rs +++ b/src/movement.rs @@ -3,7 +3,6 @@ use bevy::{ prelude::*, time::Time, }; -use iyes_loopless::prelude::*; use crate::{ consts::{self, LEFT_BOUNDARY_MAX_DISTANCE}, @@ -15,10 +14,10 @@ use crate::{ /// Plugin handling movement and rotation through velocities and torques. pub struct MovementPlugin; -#[derive(Clone, SystemLabel)] +#[derive(SystemSet, Clone, Debug, PartialEq, Eq, Hash)] pub struct ForceSystems; -#[derive(Clone, SystemLabel)] +#[derive(SystemSet, Clone, Debug, PartialEq, Eq, Hash)] pub struct VelocitySystems; impl Plugin for MovementPlugin { @@ -32,32 +31,24 @@ impl Plugin for MovementPlugin { // Init resources .init_resource::() // Add systems that modify velocity based on forces - .add_system_set_to_stage( - CoreStage::PostUpdate, - ConditionSet::new() - .label(ForceSystems) - .run_in_state(GameState::InGame) - .with_system(force_system) - .with_system(torque_system) - .into(), + .add_systems( + PostUpdate, + (force_system, torque_system) + .in_set(ForceSystems) + .run_if(in_state(GameState::InGame)), ) // Add systems that modify translation and rotation based on velocity - .add_system_set_to_stage( - CoreStage::PostUpdate, - ConditionSet::new() - .label(VelocitySystems) - .after(ForceSystems) - .run_in_state(GameState::InGame) - .with_system( - // Here we add a chain of systems that act as constraints on movements, ending - // the chain with the velocity system itself which applies the velocities to the - // entities. - update_left_movement_boundary - .pipe(constrain_player_movement) - .pipe(velocity_system), - ) - .with_system(angular_velocity_system) - .into(), + .add_systems( + PostUpdate, + ( + update_left_movement_boundary, + constrain_player_movement, + velocity_system, + ) + .chain() + .in_set(VelocitySystems) + .run_if(in_state(GameState::InGame)) + .after(ForceSystems), ); } } diff --git a/src/platform.rs b/src/platform.rs index 45be2eef..d3f9dff4 100644 --- a/src/platform.rs +++ b/src/platform.rs @@ -4,7 +4,6 @@ use async_channel::{Receiver, Sender}; use bevy::{prelude::*, tasks::IoTaskPool, utils::HashMap}; -use iyes_loopless::prelude::*; use serde::{de::DeserializeOwned, Serialize}; #[cfg(not(target_arch = "wasm32"))] @@ -22,8 +21,10 @@ impl Plugin for PlatformPlugin { #[cfg(target_arch = "wasm32")] app.add_system(wasm::update_canvas_size); - app.init_resource::() - .add_system(load_storage.run_in_state(GameState::LoadingStorage)); + app.init_resource::().add_systems( + Update, + load_storage.run_if(in_state(GameState::LoadingStorage)), + ); } } @@ -33,8 +34,9 @@ impl Plugin for PlatformPlugin { /// Will transition to [`GameState::LoadingGame`] when finished. pub fn load_storage( mut started: Local, - mut commands: Commands, + _commands: Commands, mut storage: ResMut, + mut next_state: ResMut>, ) { // If we haven't started loading if !*started { @@ -47,7 +49,7 @@ pub fn load_storage( } else if storage.is_loaded() { debug!("Platform storage loaded"); // Load game - commands.insert_resource(NextState(GameState::LoadingGame)); + next_state.set(GameState::LoadingGame); } } diff --git a/src/player.rs b/src/player.rs index 1ff0f906..296aa3a3 100644 --- a/src/player.rs +++ b/src/player.rs @@ -21,10 +21,8 @@ pub struct PlayerBundle { index: PlayerIndex, facing: Facing, inventory: Inventory, - #[bundle] transform_bundle: TransformBundle, fighter_handle: Handle, - #[bundle] input_manager_bundle: InputManagerBundle, } diff --git a/src/ui.rs b/src/ui.rs index f74d29a6..724b35ac 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -1,6 +1,9 @@ -use bevy::{prelude::*, utils::HashMap, window::WindowId}; -use bevy_egui::{egui, EguiContext, EguiPlugin, EguiRenderInputContainer, EguiSettings}; -use iyes_loopless::prelude::*; +use bevy::{ + prelude::*, + utils::HashMap, + window::{PrimaryWindow, WindowMode}, +}; +use bevy_egui::{egui, EguiContexts, EguiInput, EguiPlugin, EguiSettings}; use leafwing_input_manager::prelude::ActionState; use crate::{ @@ -27,55 +30,84 @@ pub struct UIPlugin; impl Plugin for UIPlugin { fn build(&self, app: &mut App) { app.init_resource::() - .add_plugin(EguiPlugin) - .add_system(handle_menu_input.run_if_resource_exists::()) - .add_enter_system(GameState::MainMenu, main_menu::spawn_main_menu_background) - .add_enter_system(GameState::MainMenu, audio::play_menu_music) - .add_exit_system(GameState::MainMenu, main_menu::despawn_main_menu_background) - .add_exit_system(GameState::MainMenu, audio::stop_menu_music) - .add_system(unpause.run_in_state(GameState::Paused)) - .add_system_set( - ConditionSet::new() - .run_in_state(GameState::InGame) - .with_system(hud::render_hud) - .with_system(pause) - .into(), + .add_plugins(EguiPlugin) + // .add_system(handle_menu_input.run_if_resource_exists::()) + .add_systems( + OnEnter(GameState::MainMenu), + ( + main_menu::spawn_main_menu_background, + audio::play_menu_music, + ), + ) + // .add_enter_system(GameState::MainMenu, main_menu::spawn_main_menu_background) + // .add_enter_system(GameState::MainMenu, audio::play_menu_music) + .add_systems( + OnExit(GameState::MainMenu), + ( + main_menu::despawn_main_menu_background, + audio::stop_menu_music, + ), + ) + // .add_exit_system(GameState::MainMenu, main_menu::despawn_main_menu_background) + // .add_exit_system(GameState::MainMenu, audio::stop_menu_music) + .add_systems(Update, unpause.run_if(in_state(GameState::Paused))) + .add_systems( + Update, + (hud::render_hud, pause).run_if(in_state(GameState::InGame)), ) - .add_system(update_egui_fonts) - .add_system(update_ui_scale.run_if_resource_exists::()) - .add_system_set( - ConditionSet::new() - .run_in_state(GameState::Paused) - .with_system(pause_menu::pause_menu) - .into(), + // .add_system_set( + // ConditionSet::new() + // .run_in_state(GameState::InGame) + // .with_system(hud::render_hud) + // .with_system(pause) + // .into(), + // ) + .add_systems(Update, update_egui_fonts) + .add_systems( + Update, + (update_ui_scale, handle_menu_input).run_if(resource_exists::()), ) - .add_system_set( - ConditionSet::new() - .run_in_state(GameState::MainMenu) - .with_system(main_menu::main_menu_system) - .into(), + .add_systems( + Update, + pause_menu::pause_menu.run_if(in_state(GameState::Paused)), + ) + // .add_system_set( + // ConditionSet::new() + // .run_in_state(GameState::Paused) + // .with_system(pause_menu::pause_menu) + // .into(), + // ) + .add_systems( + Update, + main_menu::main_menu_system.run_if(in_state(GameState::MainMenu)), ); + // .add_system_set( + // ConditionSet::new() + // .run_in_state(GameState::MainMenu) + // .with_system(main_menu::main_menu_system) + // .into(), + // ); if ENGINE_CONFIG.debug_tools { - app.add_system(debug_tools::debug_tools_window) - .add_system_to_stage(CoreStage::Last, debug_tools::rapier_debug_render); + // app.add_systems(Update, debug_tools::debug_tools_window) + // add_systems(Last, debug_tools::rapier_debug_render); } } } /// Transition game to pause state -fn pause(mut commands: Commands, input: Query<&ActionState>) { +fn pause(input: Query<&ActionState>, mut next_state: ResMut>) { let input = input.single(); if input.just_pressed(MenuAction::Pause) { - commands.insert_resource(NextState(GameState::Paused)); + next_state.set(GameState::Paused); } } // Transition game out of paused state -fn unpause(mut commands: Commands, input: Query<&ActionState>) { +fn unpause(input: Query<&ActionState>, mut next_state: ResMut>) { let input = input.single(); if input.just_pressed(MenuAction::Pause) { - commands.insert_resource(NextState(GameState::InGame)); + next_state.set(GameState::Paused); } } @@ -151,31 +183,36 @@ impl<'a> WidgetAdjacencyEntry<'a> { } fn handle_menu_input( - mut windows: ResMut, + // mut windows: ResMut, + mut windows: Query<&mut Window, With>, input: Query<&ActionState>, - mut egui_inputs: ResMut, + mut egui_input: Query<&mut EguiInput, With>, + // mut egui_inputs: ResMut, adjacencies: Res, - mut egui_ctx: ResMut, + // mut egui_ctx: Query<&EguiContext, With>, + mut egui_contexts: EguiContexts, ) { let input = input.single(); // Handle fullscreen toggling if input.just_pressed(MenuAction::ToggleFullscreen) { - if let Some(window) = windows.get_primary_mut() { - window.set_mode(match window.mode() { - WindowMode::BorderlessFullscreen => WindowMode::Windowed, - _ => WindowMode::BorderlessFullscreen, - }); - } + // let mut window: &mut bevy::prelude::Window = windows.get_single_mut().unwrap(); + let mut window = windows.get_single_mut().unwrap(); + window.mode = match window.mode { + WindowMode::BorderlessFullscreen => WindowMode::Windowed, + _ => WindowMode::BorderlessFullscreen, + }; } - let events = &mut egui_inputs.get_mut(&WindowId::primary()).unwrap().0.events; + // let events = &mut egui_inputs.get_mut(&WindowId::primary()).unwrap().0.events; + let events = &mut egui_input.get_single_mut().unwrap().0.events; if input.just_pressed(MenuAction::Confirm) { events.push(egui::Event::Key { key: egui::Key::Enter, pressed: true, modifiers: egui::Modifiers::NONE, + repeat: false, }); } @@ -187,39 +224,44 @@ fn handle_menu_input( key: egui::Key::Tab, pressed: true, modifiers: egui::Modifiers::SHIFT, + repeat: false, }); } else if input.just_pressed(MenuAction::Down) || input.just_pressed(MenuAction::Right) { events.push(egui::Event::Key { key: egui::Key::Tab, pressed: true, modifiers: egui::Modifiers::NONE, + repeat: false, }); } }; - let mut memory = egui_ctx.ctx_mut().memory(); - if let Some(adjacency) = memory.focus().and_then(|id| adjacencies.get(&id)) { + let ctx = egui_contexts.ctx_mut(); + if let Some(adjacency) = ctx.memory(|memory| memory.focus().and_then(|id| adjacencies.get(&id))) + { + // let mut memory = egui_ctx.ctx_mut().memory(); + // if let Some(adjacency) = memory.focus().and_then(|id| adjacencies.get(&id)) { if input.just_pressed(MenuAction::Up) { if let Some(adjacent) = adjacency.up { - memory.request_focus(adjacent); + ctx.memory_mut(|memory| memory.request_focus(adjacent)); } else { tab_fallback() } } else if input.just_pressed(MenuAction::Down) { if let Some(adjacent) = adjacency.down { - memory.request_focus(adjacent); + ctx.memory_mut(|memory| memory.request_focus(adjacent)); } else { tab_fallback() } } else if input.just_pressed(MenuAction::Left) { if let Some(adjacent) = adjacency.left { - memory.request_focus(adjacent); + ctx.memory_mut(|memory| memory.request_focus(adjacent)); } else { tab_fallback() } } else if input.just_pressed(MenuAction::Right) { if let Some(adjacent) = adjacency.right { - memory.request_focus(adjacent); + ctx.memory_mut(|memory| memory.request_focus(adjacent)); } else { tab_fallback() } @@ -233,7 +275,8 @@ fn handle_menu_input( /// [`GameMeta`], inserting the font data into the egui context. fn update_egui_fonts( mut font_queue: Local>>, - mut egui_ctx: ResMut, + // mut egui_ctx: Query<&EguiContext, With>, + mut egui_contexts: EguiContexts, egui_font_definitions: Option>, game: Option>, mut events: EventReader>, @@ -267,7 +310,7 @@ fn update_egui_fonts( // Get the font asset if let Some(font) = assets.get(&handle) { // And insert it into the Egui font definitions - let ctx = egui_ctx.ctx_mut(); + let ctx = egui_contexts.ctx_mut(); egui_font_definitions .font_data .insert(font_name.clone(), font.0.clone()); @@ -289,10 +332,10 @@ fn update_egui_fonts( /// will be the same size as a pixel in our sprites. fn update_ui_scale( mut egui_settings: ResMut, - windows: Res, + window_query: Query<&Window, With>, projection: Query<&OrthographicProjection, With>, ) { - if let Some(window) = windows.get_primary() { + if let Ok(window) = window_query.get_single() { if let Ok(projection) = projection.get_single() { match projection.scaling_mode { bevy::render::camera::ScalingMode::FixedVertical(height) => { @@ -305,9 +348,7 @@ fn update_ui_scale( let scale = window_width / width; egui_settings.scale_factor = scale as f64; } - bevy::render::camera::ScalingMode::Auto { .. } => (), - bevy::render::camera::ScalingMode::None => (), - bevy::render::camera::ScalingMode::WindowSize => (), + _ => (), } } } diff --git a/src/ui/debug_tools.rs b/src/ui/debug_tools.rs index 8599ede7..99b360ea 100644 --- a/src/ui/debug_tools.rs +++ b/src/ui/debug_tools.rs @@ -1,116 +1,113 @@ use bevy::prelude::*; use bevy_egui::*; -use bevy_fluent::Localization; -use bevy_inspector_egui::{ - egui::{Color32, Stroke}, - WorldInspectorParams, -}; + +use bevy_inspector_egui::egui::{Color32, Stroke}; use bevy_rapier2d::{ plugin::RapierContext, - prelude::{ColliderDebugColor, DebugRenderContext}, + prelude::ColliderDebugColor, rapier::{ math::{Point, Real}, prelude::{DebugRenderBackend, DebugRenderObject}, }, }; -use crate::{camera::YSort, localization::LocalizationExt, metadata::FighterMeta}; +use crate::localization::LocalizationExt; /// System that renders the debug tools window which can be toggled by pressing F12 -pub fn debug_tools_window( - mut visible: Local, - mut egui_context: ResMut, - localization: Res, - input: Res>, - mut rapier_debug: ResMut, - mut inspector: ResMut, - mut ysort_debug: ResMut, -) { - let ctx = egui_context.ctx_mut(); - - // Toggle debug window visibility - if input.just_pressed(KeyCode::F12) { - *visible = !*visible; - } - - // Shortcut to toggle collision shapes without having to use the menu - if input.just_pressed(KeyCode::F10) { - rapier_debug.enabled = !rapier_debug.enabled; - } - // Shortcut to toggle the inspector without having to use the menu - if input.just_pressed(KeyCode::F9) { - inspector.enabled = !inspector.enabled; - } - - // Shortcut to toggle y-sorting debug lines without having to use the menu - if input.just_pressed(KeyCode::F8) { - ysort_debug.enabled = !ysort_debug.enabled; - } - - // Display debug tool window - egui::Window::new(localization.get("debug-tools")) - // ID is needed because title comes from localizaition which can change - .id(egui::Id::new("debug_tools")) - .open(&mut visible) - .show(ctx, |ui| { - // Show collision shapes - ui.checkbox( - &mut rapier_debug.enabled, - format!("{} ( F10 )", localization.get("show-collision-shapes")), - ); - - // Show world inspector - ui.checkbox( - &mut inspector.enabled, - format!("{} ( F9 )", localization.get("show-world-inspector")), - ); - - // Show sorting lines - ui.checkbox( - &mut ysort_debug.enabled, - format!("{} ( F8 )", localization.get("show-ysort-lines")), - ); - }); -} +// pub fn debug_tools_window( +// mut visible: Local, +// mut egui_context: ResMut, +// localization: Res, +// input: Res>, +// mut rapier_debug: ResMut, +// mut inspector: ResMut, +// mut ysort_debug: ResMut, +// ) { +// let ctx = egui_context.ctx_mut(); +// +// // Toggle debug window visibility +// if input.just_pressed(KeyCode::F12) { +// *visible = !*visible; +// } +// +// // Shortcut to toggle collision shapes without having to use the menu +// if input.just_pressed(KeyCode::F10) { +// rapier_debug.enabled = !rapier_debug.enabled; +// } +// // Shortcut to toggle the inspector without having to use the menu +// if input.just_pressed(KeyCode::F9) { +// inspector.enabled = !inspector.enabled; +// } +// +// // Shortcut to toggle y-sorting debug lines without having to use the menu +// if input.just_pressed(KeyCode::F8) { +// ysort_debug.enabled = !ysort_debug.enabled; +// } +// +// // Display debug tool window +// egui::Window::new(localization.get("debug-tools")) +// // ID is needed because title comes from localizaition which can change +// .id(egui::Id::new("debug_tools")) +// .open(&mut visible) +// .show(ctx, |ui| { +// // Show collision shapes +// ui.checkbox( +// &mut rapier_debug.enabled, +// format!("{} ( F10 )", localization.get("show-collision-shapes")), +// ); +// +// // Show world inspector +// ui.checkbox( +// &mut inspector.enabled, +// format!("{} ( F9 )", localization.get("show-world-inspector")), +// ); +// +// // Show sorting lines +// ui.checkbox( +// &mut ysort_debug.enabled, +// format!("{} ( F8 )", localization.get("show-ysort-lines")), +// ); +// }); +// } /// Renders the rapier debug display -pub fn rapier_debug_render( - rapier_context: Res, - mut egui_context: ResMut, - mut rapier_debug: ResMut, - camera: Query<(&Camera, &GlobalTransform)>, - custom_colors: Query<&ColliderDebugColor>, -) { - if !rapier_debug.enabled { - return; - } - let (camera, camera_transform) = camera.single(); - - // Create a frameless panel to allow us to render over anywhere on the screen - egui::CentralPanel::default() - .frame(egui::Frame::none()) - .show(egui_context.ctx_mut(), |ui| { - let painter = ui.painter(); - - let mut backend = RapierEguiRenderBackend { - egui_size: ui.available_size(), - camera, - camera_transform, - custom_colors, - context: &rapier_context, - painter, - }; - - rapier_debug.pipeline.render( - &mut backend, - &rapier_context.bodies, - &rapier_context.colliders, - &rapier_context.impulse_joints, - &rapier_context.multibody_joints, - &rapier_context.narrow_phase, - ); - }); -} +// pub fn rapier_debug_render( +// rapier_context: Res, +// mut egui_context: ResMut, +// mut rapier_debug: ResMut, +// camera: Query<(&Camera, &GlobalTransform)>, +// custom_colors: Query<&ColliderDebugColor>, +// ) { +// if !rapier_debug.enabled { +// return; +// } +// let (camera, camera_transform) = camera.single(); +// +// // Create a frameless panel to allow us to render over anywhere on the screen +// egui::CentralPanel::default() +// .frame(egui::Frame::none()) +// .show(egui_context.ctx_mut(), |ui| { +// let painter = ui.painter(); +// +// let mut backend = RapierEguiRenderBackend { +// egui_size: ui.available_size(), +// camera, +// camera_transform, +// custom_colors, +// context: &rapier_context, +// painter, +// }; +// +// rapier_debug.pipeline.render( +// &mut backend, +// &rapier_context.bodies, +// &rapier_context.colliders, +// &rapier_context.impulse_joints, +// &rapier_context.multibody_joints, +// &rapier_context.narrow_phase, +// ); +// }); +// } /// Rapier debug rendering backend that uses Egui to draw the lines struct RapierEguiRenderBackend<'world, 'state, 'a, 'b, 'c> { @@ -187,8 +184,8 @@ impl Plugin for YSortDebugPlugin { app.insert_resource(YSortDebug { enabled: false, stroke: Stroke::new(1.0, Color32::LIGHT_GREEN), - }) - .add_system(draw_ysort_lines); + }); + // .add_system(draw_ysort_lines); } } @@ -198,57 +195,57 @@ pub struct YSortDebug { stroke: egui::Stroke, } -/// Renders the ysort debug line -fn draw_ysort_lines( - ysort_debug: Res, - mut egui_context: ResMut, - query: Query<(&YSort, &Handle, &Transform)>, - camera_query: Query<(&Camera, &GlobalTransform)>, - fighter_assets: Res>, -) { - if !ysort_debug.enabled { - return; - } - - if let Ok((camera, camera_transform)) = camera_query.get_single() { - for (ysort, fighter_meta, transform) in query.iter() { - //If the fighter meta is not loaded default to 16.0 - let half_width = if let Some(meta) = fighter_assets.get(fighter_meta) { - meta.spritesheet.tile_size.x as f32 / 2. - } else { - 16.0 - }; - - egui::CentralPanel::default() - .frame(egui::Frame::none()) - .show(egui_context.ctx_mut(), |ui| { - let mut a = transform.translation; - a.x += half_width; - a.y -= ysort.0; - a.z = 0.; - - let mut b = transform.translation; - b.x -= half_width; - b.y -= ysort.0; - b.z = 0.; - - let a = camera.world_to_ndc(camera_transform, a); - let b = camera.world_to_ndc(camera_transform, b); - - if let (Some(a), Some(b)) = (a, b) { - // Invert y and convert to egui vec2 - let a = egui::Vec2::new(a.x, -a.y); - let b = egui::Vec2::new(b.x, -b.y); - - // Map NDC coordinates to egui points - let half_size = ui.available_size() / 2.0; - let a = a * half_size + half_size; - let b = b * half_size + half_size; - - ui.painter() - .line_segment([a.to_pos2(), b.to_pos2()], ysort_debug.stroke); - } - }); - } - } -} +// Renders the ysort debug line +// fn draw_ysort_lines( +// ysort_debug: Res, +// mut egui_context: ResMut, +// query: Query<(&YSort, &Handle, &Transform)>, +// camera_query: Query<(&Camera, &GlobalTransform)>, +// fighter_assets: Res>, +// ) { +// if !ysort_debug.enabled { +// return; +// } +// +// if let Ok((camera, camera_transform)) = camera_query.get_single() { +// for (ysort, fighter_meta, transform) in query.iter() { +// //If the fighter meta is not loaded default to 16.0 +// let half_width = if let Some(meta) = fighter_assets.get(fighter_meta) { +// meta.spritesheet.tile_size.x as f32 / 2. +// } else { +// 16.0 +// }; +// +// egui::CentralPanel::default() +// .frame(egui::Frame::none()) +// .show(egui_context.ctx_mut(), |ui| { +// let mut a = transform.translation; +// a.x += half_width; +// a.y -= ysort.0; +// a.z = 0.; +// +// let mut b = transform.translation; +// b.x -= half_width; +// b.y -= ysort.0; +// b.z = 0.; +// +// let a = camera.world_to_ndc(camera_transform, a); +// let b = camera.world_to_ndc(camera_transform, b); +// +// if let (Some(a), Some(b)) = (a, b) { +// // Invert y and convert to egui vec2 +// let a = egui::Vec2::new(a.x, -a.y); +// let b = egui::Vec2::new(b.x, -b.y); +// +// // Map NDC coordinates to egui points +// let half_size = ui.available_size() / 2.0; +// let a = a * half_size + half_size; +// let b = b * half_size + half_size; +// +// ui.painter() +// .line_segment([a.to_pos2(), b.to_pos2()], ysort_debug.stroke); +// } +// }); +// } +// } +// } diff --git a/src/ui/extensions.rs b/src/ui/extensions.rs index 267ff84f..6235897e 100644 --- a/src/ui/extensions.rs +++ b/src/ui/extensions.rs @@ -10,7 +10,7 @@ pub trait EguiContextExt { impl EguiContextExt for &egui::Context { fn clear_focus(self) { - self.memory().request_focus(egui::Id::null()); + self.memory_mut(|m| m.request_focus(egui::Id::null())); } } @@ -22,8 +22,8 @@ pub trait EguiResponseExt { impl EguiResponseExt for egui::Response { fn focus_by_default(self, ui: &mut egui::Ui) -> egui::Response { - if ui.ctx().memory().focus().is_none() { - ui.ctx().memory().request_focus(self.id); + if ui.ctx().memory_mut(|m| m.focus().is_none()) { + ui.ctx().memory_mut(|m| m.request_focus(self.id)); self } else { diff --git a/src/ui/hud.rs b/src/ui/hud.rs index 19abfd27..d5bbbc0d 100644 --- a/src/ui/hud.rs +++ b/src/ui/hud.rs @@ -1,7 +1,7 @@ //! In-game HUD use bevy::prelude::*; -use bevy_egui::{egui, EguiContext}; +use bevy_egui::{egui, EguiContexts}; use crate::{ damage::Health, @@ -13,7 +13,9 @@ use crate::{ }; pub fn render_hud( - mut egui_context: ResMut, + // mut egui_context: ResMut, + mut egui_contexts: EguiContexts, + // egui_context: Query<&EguiContext, With>, players: Query< ( &PlayerIndex, @@ -46,6 +48,8 @@ pub fn render_hud( // Collect player info let mut players = players.iter().collect::>(); players.sort_by_key(|(player_i, _, _, _, _)| player_i.0); + // let egui_context = egui_context.get_single_mut().unwrap(); + // let egui_context = egui_contexts.ctx_mut(); let player_infos = players .into_iter() @@ -55,11 +59,11 @@ pub fn render_hud( PlayerInfo { name: fighter.name.clone(), life: **health as f32 / stats.max_health as f32, - portrait_texture_id: egui_context + portrait_texture_id: egui_contexts .add_image(fighter.hud.portrait.image_handle.clone_weak()), portrait_size: egui::Vec2::new(portrait_size.x, portrait_size.y), item: inventory.as_ref().map(|item_meta| ItemInfo { - texture_id: egui_context + texture_id: egui_contexts .add_image(item_meta.image.image_handle.clone_weak()), size: egui::Vec2::new( item_meta.image.image_size.x, @@ -82,7 +86,7 @@ pub fn render_hud( egui::CentralPanel::default() .frame(egui::Frame::none()) - .show(egui_context.ctx_mut(), |ui| { + .show(egui_contexts.ctx_mut(), |ui| { ui.add_space(10.0); ui.horizontal(|ui| { for player in player_infos { diff --git a/src/ui/main_menu.rs b/src/ui/main_menu.rs index 1fb26b68..a7938c67 100644 --- a/src/ui/main_menu.rs +++ b/src/ui/main_menu.rs @@ -1,10 +1,16 @@ -use bevy::{app::AppExit, ecs::system::SystemParam, prelude::*}; +use bevy::{ + app::AppExit, + ecs::system::SystemParam, + input::gamepad::{GamepadAxisChangedEvent, GamepadEvent}, + prelude::*, + window::PrimaryWindow, +}; use bevy_egui::{egui::style::Margin, *}; use bevy_fluent::Localization; use egui_extras::Column; -use iyes_loopless::state::NextState; use leafwing_input_manager::{ - axislike::SingleAxis, prelude::ActionState, user_input::InputKind, Actionlike, + axislike::AxisType, axislike::SingleAxis, prelude::ActionState, user_input::InputKind, + Actionlike, }; use crate::{ @@ -28,9 +34,9 @@ pub struct MainMenuBackground; pub fn spawn_main_menu_background( mut commands: Commands, game: Res, - windows: Res, + window_query: Query<&Window, With>, ) { - let window = windows.primary(); + let window = window_query.get_single().unwrap(); let bg_handle = game.main_menu.background_image.image_handle.clone(); let img_size = game.main_menu.background_image.image_size; let ratio = img_size.x / img_size.y; @@ -103,27 +109,29 @@ pub struct MenuSystemParams<'w, 's> { game: Res<'w, GameMeta>, localization: Res<'w, Localization>, menu_input: Query<'w, 's, &'static mut ActionState>, - app_exit: EventWriter<'w, 's, AppExit>, + app_exit: EventWriter<'w, AppExit>, storage: ResMut<'w, Storage>, adjacencies: ResMut<'w, WidgetAdjacencies>, control_inputs: ControlInputBindingEvents<'w, 's>, + next_state: ResMut<'w, NextState>, } /// Render the main menu UI -pub fn main_menu_system(mut params: MenuSystemParams, mut egui_context: ResMut) { +pub fn main_menu_system(mut params: MenuSystemParams, mut egui_contexts: EguiContexts) { let menu_input = params.menu_input.single(); + let egui_context = egui_contexts.ctx_mut(); // Go to previous menu if back button is pressed if menu_input.pressed(MenuAction::Back) { if let MenuPage::Settings { .. } = *params.menu_page { *params.menu_page = MenuPage::Main; - egui_context.ctx_mut().clear_focus(); + egui_context.clear_focus(); } } egui::CentralPanel::default() .frame(egui::Frame::none()) - .show(egui_context.ctx_mut(), |ui| { + .show(egui_context, |ui| { let screen_rect = ui.max_rect(); // Calculate a margin @@ -165,6 +173,7 @@ fn main_menu_ui(params: &mut MenuSystemParams, ui: &mut egui::Ui) { localization, app_exit, storage, + next_state, .. } = params; @@ -189,7 +198,7 @@ fn main_menu_ui(params: &mut MenuSystemParams, ui: &mut egui::Ui) { if start_button.clicked() || ENGINE_CONFIG.auto_start { commands.insert_resource(LevelHandle(game.start_level_handle.clone())); - commands.insert_resource(NextState(GameState::LoadingLevel)); + next_state.set(GameState::LoadingLevel); } // Settings button @@ -697,6 +706,7 @@ pub struct ControlInputBindingEvents<'w, 's> { keys: Res<'w, Input>, gamepad_buttons: Res<'w, Input>, gamepad_events: EventReader<'w, 's, GamepadEvent>, + gamepad_axis_events: EventReader<'w, 's, GamepadAxisChangedEvent>, } /// The kind of input binding to listen for. @@ -728,31 +738,40 @@ impl<'w, 's> ControlInputBindingEvents<'w, 's> { if let Some(&button) = self.gamepad_buttons.get_just_pressed().next() { Some(button.button_type.into()) - // If we can't find a button pressed + //something weird going on here, whey do we need direct access to bevy gamepad + //axis and also LWIM axis events? + // If we can't find a button pressed } else { // Look for axes tilted more than 0.5 in either direction. - for gamepad_event in self.gamepad_events.iter() { - if let GamepadEventType::AxisChanged(axis, value) = gamepad_event.event_type + for event in self.gamepad_axis_events.iter() { + let GamepadAxisChangedEvent { + gamepad: _, + axis_type, + value, + } = event; { + let axis_type = AxisType::from(*axis_type); // Create an axis positive movement binding - if value > 0.5 { + if *value > 0.5 { return Ok(Some( SingleAxis { - axis_type: axis.into(), + axis_type, positive_low: 0.1, negative_low: -1.0, value: None, + inverted: false, } .into(), )); - // Create an axis negative movement binding - } else if value < -0.5 { + // Create an axis negative movement binding + } else if *value < -0.5 { return Ok(Some( SingleAxis { - axis_type: axis.into(), + axis_type, positive_low: 1.0, negative_low: -0.1, value: None, + inverted: false, } .into(), )); diff --git a/src/ui/pause_menu.rs b/src/ui/pause_menu.rs index 4b245ef9..eec7f9b2 100644 --- a/src/ui/pause_menu.rs +++ b/src/ui/pause_menu.rs @@ -1,7 +1,6 @@ -use bevy::prelude::*; +use bevy::{prelude::*, window::PrimaryWindow}; use bevy_egui::*; use bevy_fluent::Localization; -use iyes_loopless::state::NextState; use crate::{ localization::LocalizationExt, @@ -16,17 +15,20 @@ use super::{ }; pub fn pause_menu( - mut commands: Commands, - mut egui_context: ResMut, + _commands: Commands, + // mut egui_context: ResMut, + mut egui_context: Query<&mut EguiContext, With>, game: Res, localization: Res, reset_controller: ResetController, + mut next_state: ResMut>, ) { let ui_theme = &game.ui_theme; + let mut egui_context = egui_context.get_single_mut().unwrap(); egui::CentralPanel::default() .frame(egui::Frame::none()) - .show(egui_context.ctx_mut(), |ui| { + .show(egui_context.get_mut(), |ui| { let screen_rect = ui.max_rect(); let pause_menu_width = 300.0; @@ -61,12 +63,13 @@ pub fn pause_menu( .show(ui); // Focus continue button by default - if ui.memory().focus().is_none() { + if ui.memory(|i| i.focus().is_none()) { + // if ui.memory().focus().is_none() { continue_button.request_focus(); } if continue_button.clicked() { - commands.insert_resource(NextState(GameState::InGame)); + next_state.set(GameState::InGame); } if BorderedButton::themed( @@ -81,7 +84,7 @@ pub fn pause_menu( reset_controller.reset_world(); // Show the main menu - commands.insert_resource(NextState(GameState::MainMenu)); + next_state.set(GameState::MainMenu); ui.ctx().clear_focus(); } }); diff --git a/src/ui/widgets/bordered_button.rs b/src/ui/widgets/bordered_button.rs index 1abc2483..de3ee790 100644 --- a/src/ui/widgets/bordered_button.rs +++ b/src/ui/widgets/bordered_button.rs @@ -161,7 +161,9 @@ impl<'a> Widget for BorderedButton<'a> { response.widget_info(|| WidgetInfo::labeled(WidgetType::Button, text.text())); // Focus the button automatically when it is hovered and the mouse is moving - if response.hovered() && ui.ctx().input().pointer.velocity().length_sq() > 0.0 { + // if response.hovered() && ui.ctx().input().pointer.velocity().length_sq() > 0.0 { + if response.hovered() && ui.ctx().input(|input| input.pointer.velocity().length_sq()) > 0.0 + { response.request_focus(); } diff --git a/src/utils.rs b/src/utils.rs index a83b3dc0..179ca44e 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -2,7 +2,9 @@ use bevy::{ ecs::system::SystemParam, hierarchy::DespawnRecursiveExt, prelude::{Camera, Commands, Entity, Query, Transform, With, Without}, + window::PrimaryWindow, }; +use bevy_parallax::ParallaxCameraComponent; /// System parameter that can be used to reset the game world. /// @@ -12,8 +14,9 @@ use bevy::{ #[derive(SystemParam)] pub struct ResetController<'w, 's> { commands: Commands<'w, 's>, - camera_transform: Query<'w, 's, &'static mut Transform, With>, - entities_to_despawn: Query<'w, 's, Entity, Without>, + camera_transform: + Query<'w, 's, &'static mut Transform, (With, With)>, + entities_to_despawn: Query<'w, 's, Entity, (Without, Without)>, } impl<'w, 's> ResetController<'w, 's> {