diff --git a/Cargo.lock b/Cargo.lock index 1b51babb7f..ce63ee7d25 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -211,6 +211,56 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.59.0", +] + [[package]] name = "anyhow" version = "1.0.89" @@ -283,7 +333,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -295,7 +345,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", "synstructure", ] @@ -307,7 +357,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -330,7 +380,7 @@ dependencies = [ "async-task", "concurrent-queue", "fastrand 2.1.1", - "futures-lite 2.3.0", + "futures-lite 2.6.0", "slab", ] @@ -342,7 +392,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -359,7 +409,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -509,7 +559,7 @@ dependencies = [ "js-sys", "parking_lot", "serde", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -559,7 +609,7 @@ checksum = "a44e4e2784a81430199e4157e02903a987a32127c773985506f020e7d501b62e" dependencies = [ "bevy_macro_utils", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -603,7 +653,7 @@ dependencies = [ "fixedbitset", "rustc-hash 1.1.0", "serde", - "thiserror", + "thiserror 1.0.64", "thread_local", ] @@ -616,7 +666,7 @@ dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -687,7 +737,7 @@ dependencies = [ "bevy_math", "bevy_reflect", "bevy_utils", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -747,7 +797,7 @@ checksum = "23ddc18d489b4e57832d4958cde7cd2f349f0ad91e5892ac9e2f2ee16546b981" dependencies = [ "quote", "rustc-hash 1.1.0", - "syn 2.0.79", + "syn 2.0.101", "toml_edit 0.19.15", ] @@ -829,7 +879,7 @@ dependencies = [ "serde", "smallvec", "smol_str 0.2.2", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -842,7 +892,7 @@ dependencies = [ "bit-set", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", "uuid", ] @@ -886,7 +936,7 @@ dependencies = [ "regex", "serde", "smallvec", - "thiserror", + "thiserror 1.0.64", "thread_local", "wasm-bindgen", "web-sys", @@ -903,7 +953,7 @@ dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -924,7 +974,7 @@ dependencies = [ "bevy_utils", "ron", "serde", - "thiserror", + "thiserror 1.0.64", "uuid", ] @@ -950,7 +1000,7 @@ dependencies = [ "fixedbitset", "guillotiere", "rectangle-pack", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -978,7 +1028,7 @@ dependencies = [ "bevy_reflect", "bevy_utils", "crossbeam-channel", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -1006,7 +1056,7 @@ dependencies = [ "hashbrown 0.14.5", "instant", "petgraph", - "thiserror", + "thiserror 1.0.64", "tracing", "uuid", ] @@ -1019,7 +1069,7 @@ checksum = "5391b242c36f556db01d5891444730c83aa9dd648b6a8fd2b755d22cb3bddb57" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -1086,7 +1136,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -1199,7 +1249,7 @@ dependencies = [ [[package]] name = "bones_asset" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "anyhow", "append-only-vec", @@ -1208,12 +1258,12 @@ dependencies = [ "bones_schema", "bones_utils", "bs58", - "dashmap", + "dashmap 5.5.3", "ehttp", "elsa", "erased-serde 0.4.5", "event-listener 4.0.3", - "futures-lite 2.3.0", + "futures-lite 2.6.0", "notify", "once_cell", "parking_lot", @@ -1233,7 +1283,7 @@ dependencies = [ [[package]] name = "bones_bevy_renderer" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "anyhow", "bevy", @@ -1250,7 +1300,7 @@ dependencies = [ [[package]] name = "bones_ecs" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "anyhow", "atomicell", @@ -1262,13 +1312,14 @@ dependencies = [ "glam 0.24.2", "once_map", "paste", - "thiserror", + "thiserror 1.0.64", + "tracing", ] [[package]] name = "bones_ecs_macros" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "bones_ecs_macros_core", "proc-macro2", @@ -1277,17 +1328,17 @@ dependencies = [ [[package]] name = "bones_ecs_macros_core" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] name = "bones_framework" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "anyhow", "async-channel", @@ -1306,7 +1357,7 @@ dependencies = [ "either", "fluent", "fluent-langneg", - "futures-lite 2.3.0", + "futures-lite 2.6.0", "ggrs", "gilrs", "glam 0.24.2", @@ -1314,8 +1365,7 @@ dependencies = [ "image 0.24.9", "instant", "intl-memoizer", - "iroh-net", - "iroh-quinn", + "iroh", "kira", "mdns-sd", "noise", @@ -1323,14 +1373,14 @@ dependencies = [ "once_cell", "ping-rs", "postcard", - "rcgen", + "rcgen 0.12.1", "rustls 0.21.12", "send_wrapper", "serde", "serde_yaml", "smallvec", "sys-locale", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", "tracing-appender", @@ -1344,26 +1394,27 @@ dependencies = [ [[package]] name = "bones_lib" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "bones_ecs", "instant", + "tracing", "ustr", ] [[package]] name = "bones_matchmaker_proto" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ - "iroh-net", + "iroh", "serde", ] [[package]] name = "bones_schema" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "append-only-vec", "bones_schema_macros", @@ -1384,7 +1435,7 @@ dependencies = [ [[package]] name = "bones_schema_macros" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "proc-macro2", "quote", @@ -1394,13 +1445,13 @@ dependencies = [ [[package]] name = "bones_scripting" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "async-channel", "bevy_tasks", "bones_asset", "bones_lib", - "futures-lite 2.3.0", + "futures-lite 2.6.0", "gc-arena", "gc-arena-derive", "parking_lot", @@ -1413,7 +1464,7 @@ dependencies = [ [[package]] name = "bones_utils" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "bones_utils_macros", "fxhash", @@ -1428,7 +1479,7 @@ dependencies = [ [[package]] name = "bones_utils_macros" version = "0.4.0" -source = "git+https://github.com/fishfolk/bones#ba0bb88128819a1cd75b43465639a395cbb8dec5" +source = "git+https://github.com/fishfolk/bones#fc00c0c9aeceea2c2836c6568bdcf7b202c20694" dependencies = [ "quote", "venial", @@ -1478,7 +1529,7 @@ checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -1589,6 +1640,46 @@ dependencies = [ "libloading 0.8.5", ] +[[package]] +name = "clap" +version = "4.5.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "clap_lex" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" + [[package]] name = "clipboard-win" version = "5.4.0" @@ -1620,6 +1711,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + [[package]] name = "com-rs" version = "0.2.1" @@ -1714,6 +1811,16 @@ dependencies = [ "const_soft_float", ] +[[package]] +name = "cordyceps" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "688d7fbb8092b8de775ef2536f36c8c31f2bc4006ece2e8d8ad2d17d00ce0a2a" +dependencies = [ + "loom", + "tracing", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -2003,7 +2110,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -2030,6 +2137,20 @@ dependencies = [ "parking_lot_core", ] +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + [[package]] name = "dasp_sample" version = "0.11.0" @@ -2075,7 +2196,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -2105,7 +2226,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", "unicode-xid", ] @@ -2162,7 +2283,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -2197,18 +2318,6 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" -[[package]] -name = "duct" -version = "0.13.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c" -dependencies = [ - "libc", - "once_cell", - "os_pipe", - "shared_child", -] - [[package]] name = "dyn-clone" version = "1.0.17" @@ -2378,7 +2487,7 @@ dependencies = [ "const_panic", "encase_derive", "glam 0.24.2", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2398,7 +2507,7 @@ checksum = "3fe2568f851fd6144a45fa91cfed8fe5ca8fc0b56ba6797bfc1ed2771b90e37c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -2419,7 +2528,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -2440,7 +2549,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -2460,7 +2569,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -2471,7 +2580,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -2517,9 +2626,9 @@ dependencies = [ [[package]] name = "erased_set" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" +checksum = "a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5" [[package]] name = "errno" @@ -2684,7 +2793,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a530c4694a6a8d528794ee9bbd8ba0122e779629ac908d15ad5a7ae7763a33d" dependencies = [ - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -2732,7 +2841,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -2788,20 +2897,22 @@ dependencies = [ [[package]] name = "futures-buffered" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fa130f3777d0d4b0993653c20bc433026d3290627693c4ed1b18dd237357ab" +checksum = "fe940397c8b744b9c2c974791c2c08bca2c3242ce0290393249e98f215a00472" dependencies = [ + "cordyceps", "diatomic-waker", "futures-core", "pin-project-lite", + "spin", ] [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -2824,9 +2935,9 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" @@ -2841,9 +2952,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -2862,9 +2973,9 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" dependencies = [ "fastrand 2.1.1", "futures-core", @@ -2875,26 +2986,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -2904,9 +3015,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -2949,7 +3060,7 @@ checksum = "c612a69f5557a11046b77a7408d2836fe77077f842171cd211c5ef504bd3cddd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", "synstructure", ] @@ -2984,6 +3095,20 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "generator" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827" +dependencies = [ + "cc", + "cfg-if", + "libc", + "log", + "rustversion", + "windows 0.61.1", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -3125,14 +3250,15 @@ dependencies = [ [[package]] name = "governor" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +checksum = "0746aa765db78b521451ef74221663b57ba595bf83f75d0ce23cc09447c8139f" dependencies = [ "cfg-if", - "dashmap", - "futures", + "dashmap 6.1.0", + "futures-sink", "futures-timer", + "futures-util", "no-std-compat", "nonzero_ext", "parking_lot", @@ -3170,7 +3296,7 @@ checksum = "ce95f9e2e11c2c6fadfce42b5af60005db06576f231f5c92550fdded43c423e8" dependencies = [ "backtrace", "log", - "thiserror", + "thiserror 1.0.64", "winapi", "windows 0.44.0", ] @@ -3271,7 +3397,7 @@ dependencies = [ "com-rs", "libc", "libloading 0.7.4", - "thiserror", + "thiserror 1.0.64", "widestring", "winapi", ] @@ -3347,7 +3473,7 @@ dependencies = [ "ipnet", "once_cell", "rand", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tokio", "tracing", @@ -3372,7 +3498,7 @@ dependencies = [ "ipnet", "once_cell", "rand", - "thiserror", + "thiserror 1.0.64", "time", "tinyvec", "tokio", @@ -3396,7 +3522,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -3446,6 +3572,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "hostname" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56f203cd1c76362b69e3863fd987520ac36cf70a8c92627449b2f64a8cf7d65" +dependencies = [ + "cfg-if", + "libc", + "windows-link", +] + [[package]] name = "hostname-validator" version = "1.1.1" @@ -3803,11 +3940,93 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +[[package]] +name = "iroh" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80b15215aea8d0367fefb9264521e4a251dc4e113896a3d765f530378518188f" +dependencies = [ + "anyhow", + "backoff", + "base64 0.22.1", + "bytes", + "der", + "derive_more", + "futures-buffered", + "futures-concurrency", + "futures-lite 2.6.0", + "futures-sink", + "futures-util", + "genawaiter", + "governor", + "hex", + "hickory-proto 0.25.0-alpha.2", + "hickory-resolver", + "hostname 0.4.1", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "igd-next", + "iroh-base", + "iroh-metrics", + "iroh-net-report", + "iroh-quinn", + "iroh-quinn-proto", + "iroh-quinn-udp", + "iroh-relay", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-route 0.21.0", + "netlink-sys", + "netwatch", + "num_enum 0.7.3", + "once_cell", + "parking_lot", + "pin-project", + "pkarr", + "portmapper", + "postcard", + "rand", + "rcgen 0.13.2", + "reqwest", + "ring", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", + "rustls 0.23.13", + "rustls-webpki 0.102.8", + "serde", + "smallvec", + "socket2 0.5.7", + "strum 0.26.3", + "stun-rs", + "surge-ping", + "swarm-discovery", + "thiserror 2.0.12", + "time", + "tokio", + "tokio-rustls", + "tokio-stream", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", + "tokio-util", + "tracing", + "url", + "watchable", + "webpki-roots", + "windows 0.58.0", + "wmi", + "x509-parser", + "z32", +] + [[package]] name = "iroh-base" -version = "0.27.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a777d7e0b3e2fdab4ad1b21b64be87a43ac3ceb2a2ccef905e480ad3317396" +checksum = "3fd98293ce8e85e6b4f0ce09af7c6bb860f2fece8fcf9238d6e628f1e163e27a" dependencies = [ "aead", "anyhow", @@ -3823,9 +4042,8 @@ dependencies = [ "rand", "rand_core", "serde", - "serde-error", "ssh-key", - "thiserror", + "thiserror 2.0.12", "ttl_cache", "url", "zeroize", @@ -3846,9 +4064,9 @@ dependencies = [ [[package]] name = "iroh-metrics" -version = "0.27.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c78cf30022e1c7a10fc0ae0a6ba83f131b7c3b92d4876f6c97aba93fe534be6" +checksum = "a242381d5da20bb4a6cc7482b5cc687a739da8371aff0ea8c12aaf499801886b" dependencies = [ "anyhow", "erased_set", @@ -3866,88 +4084,38 @@ dependencies = [ ] [[package]] -name = "iroh-net" -version = "0.27.0" +name = "iroh-net-report" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34192d8846fc59d6669fb80a485b430215ecc1bf3c2b9df4f8a92370fe37e13a" +checksum = "b82dc449d537176fc90749ae0711c6f81479053086928a2f2bb87cb52646ba74" dependencies = [ "anyhow", - "backoff", - "base64 0.22.1", "bytes", - "der", "derive_more", - "duct", "futures-buffered", - "futures-concurrency", - "futures-lite 2.3.0", - "futures-sink", - "futures-util", - "genawaiter", - "governor", - "hex", - "hickory-proto 0.25.0-alpha.2", + "futures-lite 2.6.0", "hickory-resolver", - "hostname", - "http 1.1.0", - "http-body-util", - "hyper", - "hyper-util", - "igd-next", "iroh-base", "iroh-metrics", - "iroh-quinn", - "iroh-quinn-proto", - "iroh-quinn-udp", - "libc", - "netdev", - "netlink-packet-core", - "netlink-packet-route", - "netlink-sys", - "num_enum 0.7.3", - "once_cell", - "parking_lot", - "pin-project", - "pkarr", - "postcard", + "iroh-relay", + "netwatch", + "portmapper", "rand", - "rcgen", "reqwest", - "ring", - "rtnetlink", "rustls 0.23.13", - "rustls-webpki 0.102.8", - "serde", - "smallvec", - "socket2 0.5.7", - "strum 0.26.3", - "stun-rs", "surge-ping", - "swarm-discovery", - "thiserror", - "time", + "thiserror 1.0.64", "tokio", - "tokio-rustls", - "tokio-stream", - "tokio-tungstenite", - "tokio-tungstenite-wasm", "tokio-util", "tracing", - "tungstenite", "url", - "watchable", - "webpki-roots", - "windows 0.51.1", - "wmi", - "x509-parser", - "z32", ] [[package]] name = "iroh-quinn" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fd590a39a14cfc168efa4d894de5039d65641e62d8da4a80733018ababe3c33" +checksum = "35ba75a5c57cff299d2d7ca1ddee053f66339d1756bd79ec637bcad5aa61100e" dependencies = [ "bytes", "iroh-quinn-proto", @@ -3956,16 +4124,16 @@ dependencies = [ "rustc-hash 2.0.0", "rustls 0.23.13", "socket2 0.5.7", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] [[package]] name = "iroh-quinn-proto" -version = "0.11.6" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd0538ff12efe3d61ea1deda2d7913f4270873a519d43e6995c6e87a1558538" +checksum = "e2c869ba52683d3d067c83ab4c00a2fda18eaf13b1434d4c1352f428674d4a5d" dependencies = [ "bytes", "rand", @@ -3974,17 +4142,18 @@ dependencies = [ "rustls 0.23.13", "rustls-platform-verifier", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] [[package]] name = "iroh-quinn-udp" -version = "0.5.4" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0619b59471fdd393ac8a6c047f640171119c1c8b41f7d2927db91776dcdbc5f" +checksum = "c53afaa1049f7c83ea1331f5ebb9e6ebc5fdd69c468b7a22dd598b02c9bcc973" dependencies = [ + "cfg_aliases 0.2.1", "libc", "once_cell", "socket2 0.5.7", @@ -3993,14 +4162,81 @@ dependencies = [ ] [[package]] -name = "is_debug" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06d198e9919d9822d5f7083ba8530e04de87841eaf21ead9af8f2304efd57c89" - -[[package]] -name = "itertools" -version = "0.10.5" +name = "iroh-relay" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a0d0d7317795a01caa47ffdaeec84211d1b394530bdb31dbe15f642e58bcff" +dependencies = [ + "anyhow", + "base64 0.22.1", + "bytes", + "clap", + "derive_more", + "futures-buffered", + "futures-lite 2.6.0", + "futures-sink", + "futures-util", + "governor", + "hex", + "hickory-proto 0.25.0-alpha.2", + "hickory-resolver", + "hostname 0.4.1", + "http 1.1.0", + "http-body-util", + "hyper", + "hyper-util", + "iroh-base", + "iroh-metrics", + "iroh-quinn", + "iroh-quinn-proto", + "libc", + "num_enum 0.7.3", + "once_cell", + "parking_lot", + "pin-project", + "postcard", + "rand", + "rcgen 0.13.2", + "regex", + "reqwest", + "ring", + "rustls 0.23.13", + "rustls-pemfile", + "rustls-webpki 0.102.8", + "serde", + "smallvec", + "socket2 0.5.7", + "stun-rs", + "thiserror 2.0.12", + "time", + "tokio", + "tokio-rustls", + "tokio-rustls-acme", + "tokio-tungstenite 0.24.0", + "tokio-tungstenite-wasm", + "tokio-util", + "toml", + "tracing", + "tracing-subscriber", + "url", + "webpki-roots", +] + +[[package]] +name = "is_debug" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06d198e9919d9822d5f7083ba8530e04de87841eaf21ead9af8f2304efd57c89" + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ @@ -4023,7 +4259,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.64", "walkdir", ] @@ -4038,7 +4274,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.64", "walkdir", "windows-sys 0.45.0", ] @@ -4103,7 +4339,7 @@ dependencies = [ "shiftnanigans", "smallvec", "strum 0.25.0", - "thiserror", + "thiserror 1.0.64", "tracing", "turborand", ] @@ -4286,6 +4522,19 @@ version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +[[package]] +name = "loom" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "tracing", + "tracing-subscriber", +] + [[package]] name = "lru" version = "0.12.4" @@ -4374,7 +4623,7 @@ dependencies = [ "serde_bencode", "serde_bytes", "sha1_smol", - "thiserror", + "thiserror 1.0.64", "tracing", ] @@ -4430,12 +4679,6 @@ dependencies = [ "socket2 0.5.7", ] -[[package]] -name = "memalloc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df39d232f5c40b0891c10216992c2f250c054105cb1e56f0fc9032db6203ecc1" - [[package]] name = "memchr" version = "2.7.4" @@ -4525,7 +4768,7 @@ dependencies = [ "rustc-hash 1.1.0", "spirv", "termcolor", - "thiserror", + "thiserror 1.0.64", "unicode-xid", ] @@ -4544,7 +4787,7 @@ dependencies = [ "regex", "regex-syntax 0.6.29", "rustc-hash 1.1.0", - "thiserror", + "thiserror 1.0.64", "tracing", "unicode-ident", ] @@ -4574,7 +4817,7 @@ checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -4603,7 +4846,7 @@ dependencies = [ "ndk-sys 0.4.1+23.1.7779620", "num_enum 0.5.11", "raw-window-handle", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -4617,7 +4860,7 @@ dependencies = [ "log", "ndk-sys 0.5.0+25.2.9519653", "num_enum 0.7.3", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -4646,15 +4889,15 @@ dependencies = [ [[package]] name = "netdev" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7516ad2c46cc25da098ed7d6b9a0cbe9e1fbffbd04b1596148b95f2841179c83" +checksum = "f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d" dependencies = [ "dlopen2", + "ipnet", "libc", - "memalloc", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-sys", "once_cell", "system-configuration", @@ -4686,6 +4929,35 @@ dependencies = [ "netlink-packet-utils", ] +[[package]] +name = "netlink-packet-route" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4" +dependencies = [ + "anyhow", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + +[[package]] +name = "netlink-packet-route" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483325d4bfef65699214858f097d504eb812c38ce7077d165f301ec406c3066e" +dependencies = [ + "anyhow", + "bitflags 2.6.0", + "byteorder", + "libc", + "log", + "netlink-packet-core", + "netlink-packet-utils", +] + [[package]] name = "netlink-packet-utils" version = "0.5.2" @@ -4695,7 +4967,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -4709,7 +4981,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror", + "thiserror 1.0.64", "tokio", ] @@ -4726,6 +4998,39 @@ dependencies = [ "tokio", ] +[[package]] +name = "netwatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "304c0c1b348830b016039f2cb1c5ac8217084a78875262c5594925dd08aa77fc" +dependencies = [ + "anyhow", + "atomic-waker", + "bytes", + "derive_more", + "futures-lite 2.6.0", + "futures-sink", + "futures-util", + "iroh-quinn-udp", + "libc", + "netdev", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-sys", + "once_cell", + "rtnetlink 0.13.1", + "rtnetlink 0.14.1", + "serde", + "socket2 0.5.7", + "thiserror 2.0.12", + "time", + "tokio", + "tokio-util", + "tracing", + "windows 0.58.0", + "wmi", +] + [[package]] name = "nix" version = "0.26.4" @@ -4737,6 +5042,17 @@ dependencies = [ "libc", ] +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + [[package]] name = "nix" version = "0.29.0" @@ -4882,7 +5198,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -4973,7 +5289,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -4985,7 +5301,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -5194,6 +5510,12 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + [[package]] name = "once_map" version = "0.4.19" @@ -5242,16 +5564,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "os_pipe" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "overload" version = "0.1.1" @@ -5439,7 +5751,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.64", "ucd-trie", ] @@ -5463,7 +5775,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -5517,7 +5829,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -5541,7 +5853,7 @@ dependencies = [ "gc-arena", "hashbrown 0.14.5", "rand", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -5561,7 +5873,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -5606,7 +5918,7 @@ dependencies = [ "mainline", "self_cell 1.0.4", "simple-dns", - "thiserror", + "thiserror 1.0.64", "tracing", "ureq", "wasm-bindgen", @@ -5660,7 +5972,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -5730,6 +6042,35 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" +[[package]] +name = "portmapper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68ea24e7552a28ee4a3478ae116c89080957d6816526d0a533bee6cd67048279" +dependencies = [ + "anyhow", + "base64 0.22.1", + "bytes", + "derive_more", + "futures-lite 2.6.0", + "futures-util", + "igd-next", + "iroh-metrics", + "libc", + "netwatch", + "num_enum 0.7.3", + "rand", + "serde", + "smallvec", + "socket2 0.5.7", + "thiserror 2.0.12", + "time", + "tokio", + "tokio-util", + "tracing", + "url", +] + [[package]] name = "postcard" version = "1.0.10" @@ -5875,9 +6216,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -5908,7 +6249,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -5979,7 +6320,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls 0.23.13", "socket2 0.5.7", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -5996,7 +6337,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls 0.23.13", "slab", - "thiserror", + "thiserror 1.0.64", "tinyvec", "tracing", ] @@ -6142,6 +6483,19 @@ dependencies = [ "yasna", ] +[[package]] +name = "rcgen" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2" +dependencies = [ + "pem", + "ring", + "rustls-pki-types", + "time", + "yasna", +] + [[package]] name = "rectangle-pack" version = "0.4.2" @@ -6183,7 +6537,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox 0.1.3", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -6290,7 +6644,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ - "hostname", + "hostname 0.3.1", "quick-error", ] @@ -6376,12 +6730,30 @@ dependencies = [ "futures", "log", "netlink-packet-core", - "netlink-packet-route", + "netlink-packet-route 0.17.1", "netlink-packet-utils", "netlink-proto", "netlink-sys", "nix 0.26.4", - "thiserror", + "thiserror 1.0.64", + "tokio", +] + +[[package]] +name = "rtnetlink" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5" +dependencies = [ + "futures", + "log", + "netlink-packet-core", + "netlink-packet-route 0.19.0", + "netlink-packet-utils", + "netlink-proto", + "netlink-sys", + "nix 0.27.1", + "thiserror 1.0.64", "tokio", ] @@ -6586,6 +6958,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" @@ -6679,15 +7057,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-error" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e988182713aeed6a619a88bca186f6d6407483485ffe44c869ee264f8eabd13f" -dependencies = [ - "serde", -] - [[package]] name = "serde_bencode" version = "0.2.4" @@ -6715,7 +7084,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -6730,6 +7099,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -6815,16 +7193,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shared_child" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "shiftnanigans" version = "0.3.4" @@ -7070,6 +7438,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "struct_iterable" version = "0.1.1" @@ -7090,7 +7464,7 @@ dependencies = [ "proc-macro2", "quote", "struct_iterable_internal", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -7127,7 +7501,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -7140,7 +7514,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -7184,7 +7558,7 @@ dependencies = [ "pnet_packet", "rand", "socket2 0.5.7", - "thiserror", + "thiserror 1.0.64", "tokio", "tracing", ] @@ -7303,9 +7677,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -7340,7 +7714,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -7408,7 +7782,16 @@ version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.64", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -7419,7 +7802,18 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] @@ -7525,7 +7919,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -7539,6 +7933,34 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls-acme" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3184e8e292a828dd4bca5b2a60aba830ec5ed873a66c9ebb6e65038fa649e827" +dependencies = [ + "async-trait", + "base64 0.22.1", + "chrono", + "futures", + "log", + "num-bigint", + "pem", + "proc-macro2", + "rcgen 0.13.2", + "reqwest", + "ring", + "rustls 0.23.13", + "serde", + "serde_json", + "thiserror 2.0.12", + "time", + "tokio", + "tokio-rustls", + "webpki-roots", + "x509-parser", +] + [[package]] name = "tokio-stream" version = "0.1.16" @@ -7559,7 +7981,19 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite", + "tungstenite 0.21.0", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.24.0", ] [[package]] @@ -7573,9 +8007,9 @@ dependencies = [ "http 1.1.0", "httparse", "js-sys", - "thiserror", + "thiserror 1.0.64", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "wasm-bindgen", "web-sys", ] @@ -7595,11 +8029,26 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.22", +] + [[package]] name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -7619,6 +8068,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap 2.5.0", + "serde", + "serde_spanned", "toml_datetime", "winnow 0.6.20", ] @@ -7649,7 +8100,7 @@ checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", "parking_lot", - "thiserror", + "thiserror 1.0.64", "time", "tracing-subscriber", ] @@ -7662,7 +8113,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] @@ -7770,11 +8221,29 @@ dependencies = [ "log", "rand", "sha1", - "thiserror", + "thiserror 1.0.64", "url", "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", + "thiserror 1.0.64", + "utf-8", +] + [[package]] name = "turborand" version = "0.10.1" @@ -7992,6 +8461,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "uuid" version = "1.10.0" @@ -8101,7 +8576,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", "wasm-bindgen-shared", ] @@ -8135,7 +8610,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -8155,7 +8630,7 @@ dependencies = [ "event-listener 4.0.3", "futures-util", "parking_lot", - "thiserror", + "thiserror 1.0.64", ] [[package]] @@ -8272,7 +8747,7 @@ dependencies = [ "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror", + "thiserror 1.0.64", "web-sys", "wgpu-hal", "wgpu-types", @@ -8313,7 +8788,7 @@ dependencies = [ "renderdoc-sys", "rustc-hash 1.1.0", "smallvec", - "thiserror", + "thiserror 1.0.64", "wasm-bindgen", "web-sys", "wgpu-types", @@ -8413,16 +8888,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "windows" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" -dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", -] - [[package]] name = "windows" version = "0.54.0" @@ -8444,12 +8909,35 @@ dependencies = [ ] [[package]] -name = "windows-core" -version = "0.51.1" +name = "windows" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "7f919aee0a93304be7f62e8e5027811bbba96bcb1de84d6618be56e43f8a32a1" dependencies = [ - "windows-targets 0.48.5", + "windows-core 0.59.0", + "windows-targets 0.53.0", +] + +[[package]] +name = "windows" +version = "0.61.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5ee8f3d025738cb02bad7868bbb5f8a6327501e870bf51f1b455b0a2454a419" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", ] [[package]] @@ -8480,10 +8968,47 @@ dependencies = [ "windows-implement 0.58.0", "windows-interface 0.58.0", "windows-result 0.2.0", - "windows-strings", + "windows-strings 0.1.0", "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "810ce18ed2112484b0d4e15d022e5f598113e220c53e373fb31e67e21670c1ce" +dependencies = [ + "windows-implement 0.59.0", + "windows-interface 0.59.1", + "windows-result 0.3.4", + "windows-strings 0.3.1", + "windows-targets 0.53.0", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement 0.60.0", + "windows-interface 0.59.1", + "windows-link", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link", + "windows-threading", +] + [[package]] name = "windows-implement" version = "0.48.0" @@ -8503,7 +9028,29 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", +] + +[[package]] +name = "windows-implement" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-implement" +version = "0.60.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] @@ -8525,7 +9072,34 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", +] + +[[package]] +name = "windows-interface" +version = "0.59.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link", ] [[package]] @@ -8535,7 +9109,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ "windows-result 0.2.0", - "windows-strings", + "windows-strings 0.1.0", "windows-targets 0.52.6", ] @@ -8557,6 +9131,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-strings" version = "0.1.0" @@ -8567,6 +9150,24 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-strings" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -8642,13 +9243,38 @@ dependencies = [ "windows_aarch64_gnullvm 0.52.6", "windows_aarch64_msvc 0.52.6", "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", + "windows_i686_gnullvm 0.52.6", "windows_i686_msvc 0.52.6", "windows_x86_64_gnu 0.52.6", "windows_x86_64_gnullvm 0.52.6", "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -8667,6 +9293,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" @@ -8685,6 +9317,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + [[package]] name = "windows_i686_gnu" version = "0.42.2" @@ -8703,12 +9341,24 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + [[package]] name = "windows_i686_msvc" version = "0.42.2" @@ -8727,6 +9377,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" @@ -8745,6 +9401,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -8763,6 +9425,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" @@ -8781,6 +9449,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + [[package]] name = "winit" version = "0.28.7" @@ -8841,17 +9515,17 @@ dependencies = [ [[package]] name = "wmi" -version = "0.13.4" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00ac1309d4c462be86f03a55e409509e8bf4323ec296aeb4b381dd9aabe6ec" +checksum = "7787dacdd8e71cbc104658aade4009300777f9b5fda6a75f19145fedb8a18e71" dependencies = [ "chrono", "futures", "log", "serde", - "thiserror", - "windows 0.58.0", - "windows-core 0.58.0", + "thiserror 2.0.12", + "windows 0.59.0", + "windows-core 0.59.0", ] [[package]] @@ -8904,7 +9578,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror", + "thiserror 1.0.64", "time", ] @@ -8956,7 +9630,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.101", ] [[package]] diff --git a/src/audio.rs b/src/audio.rs index e833060cf5..21bef14d9f 100644 --- a/src/audio.rs +++ b/src/audio.rs @@ -7,12 +7,16 @@ pub use music::*; pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); - let session = match game.sessions.get_mut(SessionNames::AUDIO) { - Some(session) => session, - None => panic!("Audio plugin failed to find existing bones audio session, make sure jumpy audio plugin is installed after bones default plugins.") - }; + let modified_session = game.sessions.modify_and_replace_existing_session( + SessionNames::AUDIO, + |session: &mut SessionBuilder| { + session.stages().add_system_to_stage(First, music_system); + }, + ); - session.stages.add_system_to_stage(First, music_system); + if modified_session.is_none() { + panic!("Audio plugin failed to find existing bones audio session, make sure jumpy audio plugin is installed after bones default plugins.") + } } /// Extension of bones [`AudioCenter`]. diff --git a/src/core.rs b/src/core.rs index 3728561471..e5e702ad1a 100644 --- a/src/core.rs +++ b/src/core.rs @@ -72,7 +72,7 @@ pub struct MatchPlayerInfo { } impl SessionPlugin for MatchPlugin { - fn install(self, session: &mut Session) { + fn install(self, session: &mut SessionBuilder) { session .install_plugin(DefaultSessionPlugin) .install_plugin(LuaPluginLoaderSessionPlugin(self.plugins)); @@ -94,7 +94,7 @@ impl SessionPlugin for MatchPlugin { scoring::session_plugin(session); let current_map = self.maps.current_map; - session.world.insert_resource(self.maps); + session.insert_resource(self.maps); // Initialize LoadedMap on startup as we cannot access AssetServer during MatchPlugin install // to get map meta. @@ -105,11 +105,11 @@ impl SessionPlugin for MatchPlugin { }, ); - session.world.insert_resource(MatchInputs { + session.insert_resource(MatchInputs { players: self.player_info, }); - session.world.insert_resource(self.score); - session.runner = self.session_runner; + session.insert_resource(self.score); + session.set_session_runner(self.session_runner); } } diff --git a/src/core/attachment.rs b/src/core/attachment.rs index 9c9518d20b..e924b4dc6b 100644 --- a/src/core/attachment.rs +++ b/src/core/attachment.rs @@ -7,9 +7,8 @@ //! sure that, for example, a held item will bob up and down with the player. use crate::prelude::*; -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { session - .stages .add_system_to_stage(CoreStage::Last, update_player_body_attachments) .add_system_to_stage(CoreStage::Last, remove_player_body_attachments) .add_system_to_stage(CoreStage::Last, update_attachments); diff --git a/src/core/bullet.rs b/src/core/bullet.rs index 69edb623f0..ecbed487ee 100644 --- a/src/core/bullet.rs +++ b/src/core/bullet.rs @@ -10,7 +10,7 @@ pub fn game_plugin(game: &mut Game) { } /// Install this module. -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { Bullet::register_schema(); BulletHandle::register_schema(); diff --git a/src/core/camera.rs b/src/core/camera.rs index b853e3475b..3dad5acf03 100644 --- a/src/core/camera.rs +++ b/src/core/camera.rs @@ -3,7 +3,7 @@ use crate::prelude::*; /// Install this module. -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::Last, camera_controller); diff --git a/src/core/damage.rs b/src/core/damage.rs index e6e098279c..950e19de4b 100644 --- a/src/core/damage.rs +++ b/src/core/damage.rs @@ -7,13 +7,11 @@ use crate::prelude::*; use super::utils::Rect; /// Install this module. -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { DamageRegion::register_schema(); DamageRegionOwner::register_schema(); - session - .stages - .add_system_to_stage(CoreStage::PostUpdate, kill_players_in_damage_region); + session.add_system_to_stage(CoreStage::PostUpdate, kill_players_in_damage_region); } /// A rectangular damage region. diff --git a/src/core/debug.rs b/src/core/debug.rs index dc0b9b33ce..3ab0412b19 100644 --- a/src/core/debug.rs +++ b/src/core/debug.rs @@ -4,7 +4,7 @@ use crate::prelude::*; use rapier2d::prelude as rapier; /// Install this module. -pub fn plugin(session: &mut Session) { +pub fn plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::Last, debug_render_colliders) diff --git a/src/core/editor.rs b/src/core/editor.rs index aacf9ebefc..51f95c3ad9 100644 --- a/src/core/editor.rs +++ b/src/core/editor.rs @@ -6,7 +6,7 @@ use crate::core::map_constructor::{shiftnanigans::ShiftnanigansMapConstructor, M use crate::prelude::*; /// Install this module. -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, handle_editor_input); diff --git a/src/core/elements.rs b/src/core/elements.rs index 0448debf29..f332611316 100644 --- a/src/core/elements.rs +++ b/src/core/elements.rs @@ -284,7 +284,7 @@ impl<'a> SpawnerManager<'a> { /// Helper macro to install element game and session plugins macro_rules! install_plugins { ($($module:ident),* $(,)?) => { - pub fn session_plugin(session: &mut Session) { + pub fn session_plugin(session: &mut SessionBuilder) { ElementHandle::register_schema(); MapElementHydrated::register_schema(); DehydrateOutOfBounds::register_schema(); diff --git a/src/core/elements/buss.rs b/src/core/elements/buss.rs index 012cfc1ae1..e810e8e2e5 100644 --- a/src/core/elements/buss.rs +++ b/src/core/elements/buss.rs @@ -37,7 +37,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/cannon.rs b/src/core/elements/cannon.rs index 1dc375df80..fe04bf9c31 100644 --- a/src/core/elements/cannon.rs +++ b/src/core/elements/cannon.rs @@ -36,9 +36,8 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session - .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) .add_system_to_stage(CoreStage::PostUpdate, update); } diff --git a/src/core/elements/crab.rs b/src/core/elements/crab.rs index 71150c11e2..7290f65990 100644 --- a/src/core/elements/crab.rs +++ b/src/core/elements/crab.rs @@ -22,9 +22,8 @@ pub struct CrabMeta { pub atlas: Handle, } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session - .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) .add_system_to_stage(CoreStage::PostUpdate, update_crabs); } diff --git a/src/core/elements/crate_item.rs b/src/core/elements/crate_item.rs index a7beabf1fa..e69fa434df 100644 --- a/src/core/elements/crate_item.rs +++ b/src/core/elements/crate_item.rs @@ -33,9 +33,8 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session - .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate_crates) .add_system_to_stage(CoreStage::PostUpdate, update_idle_crates) .add_system_to_stage(CoreStage::PostUpdate, update_thrown_crates); diff --git a/src/core/elements/decoration.rs b/src/core/elements/decoration.rs index dc4002d469..6be07c3daf 100644 --- a/src/core/elements/decoration.rs +++ b/src/core/elements/decoration.rs @@ -16,7 +16,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::First, hydrate); diff --git a/src/core/elements/fish_school.rs b/src/core/elements/fish_school.rs index 341bae85be..bb772243a6 100644 --- a/src/core/elements/fish_school.rs +++ b/src/core/elements/fish_school.rs @@ -23,7 +23,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/flappy_jellyfish.rs b/src/core/elements/flappy_jellyfish.rs index 51ff22589e..5986b1f2a6 100644 --- a/src/core/elements/flappy_jellyfish.rs +++ b/src/core/elements/flappy_jellyfish.rs @@ -42,9 +42,8 @@ impl FlappyJellyfishMetaSchemaExts for SchemaBox { } } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session - .stages .add_system_to_stage(CoreStage::PostUpdate, control_flappy_jellyfish) .add_system_to_stage(CoreStage::PostUpdate, explode_flappy_jellyfish); } diff --git a/src/core/elements/grenade.rs b/src/core/elements/grenade.rs index 2f03101a3c..a8a132ece9 100644 --- a/src/core/elements/grenade.rs +++ b/src/core/elements/grenade.rs @@ -33,9 +33,8 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session - .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) .add_system_to_stage(CoreStage::PostUpdate, update_lit_grenades) .add_system_to_stage(CoreStage::PostUpdate, update_idle_grenades); diff --git a/src/core/elements/jellyfish.rs b/src/core/elements/jellyfish.rs index 007f7b2298..a4247f0228 100644 --- a/src/core/elements/jellyfish.rs +++ b/src/core/elements/jellyfish.rs @@ -31,7 +31,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/kick_bomb.rs b/src/core/elements/kick_bomb.rs index d50b5ceff3..f300926121 100644 --- a/src/core/elements/kick_bomb.rs +++ b/src/core/elements/kick_bomb.rs @@ -38,7 +38,7 @@ pub fn game_plugin(_game: &mut Game) { KickBombMeta::register_schema(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/machine_gun.rs b/src/core/elements/machine_gun.rs index a797025ef7..6145feb6a0 100644 --- a/src/core/elements/machine_gun.rs +++ b/src/core/elements/machine_gun.rs @@ -33,7 +33,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/mine.rs b/src/core/elements/mine.rs index 3d7df802a9..b00a6e813f 100644 --- a/src/core/elements/mine.rs +++ b/src/core/elements/mine.rs @@ -35,9 +35,8 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session - .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) .add_system_to_stage(CoreStage::PostUpdate, update_thrown_mines) .add_system_to_stage(CoreStage::PostUpdate, update_idle_mines); diff --git a/src/core/elements/musket.rs b/src/core/elements/musket.rs index 67e533f5f6..0e6a40f45b 100644 --- a/src/core/elements/musket.rs +++ b/src/core/elements/musket.rs @@ -35,7 +35,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/periscope.rs b/src/core/elements/periscope.rs index 961b8f55f9..a874ce1aab 100644 --- a/src/core/elements/periscope.rs +++ b/src/core/elements/periscope.rs @@ -35,9 +35,8 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session - .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) .add_system_to_stage(CoreStage::PostUpdate, update); } diff --git a/src/core/elements/player_spawner.rs b/src/core/elements/player_spawner.rs index 52a8efd266..b770ccb7d2 100644 --- a/src/core/elements/player_spawner.rs +++ b/src/core/elements/player_spawner.rs @@ -11,7 +11,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::First, hydrate) diff --git a/src/core/elements/slippery.rs b/src/core/elements/slippery.rs index 288b246c88..73e45afbd3 100644 --- a/src/core/elements/slippery.rs +++ b/src/core/elements/slippery.rs @@ -15,7 +15,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/slippery_seaweed.rs b/src/core/elements/slippery_seaweed.rs index 38867dac6b..28269b57ef 100644 --- a/src/core/elements/slippery_seaweed.rs +++ b/src/core/elements/slippery_seaweed.rs @@ -16,7 +16,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/snail.rs b/src/core/elements/snail.rs index 6efaa4dbda..54a1d68a8e 100644 --- a/src/core/elements/snail.rs +++ b/src/core/elements/snail.rs @@ -26,7 +26,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/spike.rs b/src/core/elements/spike.rs index e1cf517add..9762b358e4 100644 --- a/src/core/elements/spike.rs +++ b/src/core/elements/spike.rs @@ -16,7 +16,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/sproinger.rs b/src/core/elements/sproinger.rs index 32cea5bf0b..c3e3323f2d 100644 --- a/src/core/elements/sproinger.rs +++ b/src/core/elements/sproinger.rs @@ -17,7 +17,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/stomp_boots.rs b/src/core/elements/stomp_boots.rs index 4992a55d34..d31e221484 100644 --- a/src/core/elements/stomp_boots.rs +++ b/src/core/elements/stomp_boots.rs @@ -16,7 +16,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/sword.rs b/src/core/elements/sword.rs index b95009366b..c798fc82db 100644 --- a/src/core/elements/sword.rs +++ b/src/core/elements/sword.rs @@ -24,7 +24,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/elements/urchin.rs b/src/core/elements/urchin.rs index 0703ffb03b..554fa5c20d 100644 --- a/src/core/elements/urchin.rs +++ b/src/core/elements/urchin.rs @@ -17,7 +17,7 @@ pub fn game_plugin(game: &mut Game) { game.init_shared_resource::(); } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::PreUpdate, hydrate) diff --git a/src/core/input.rs b/src/core/input.rs index 1470411833..5cebdfcd6e 100644 --- a/src/core/input.rs +++ b/src/core/input.rs @@ -6,8 +6,8 @@ use bones_framework::input::PlayerControls; use crate::{prelude::*, MAX_PLAYERS}; -pub fn install(session: &mut Session) { - session.world.init_resource::(); +pub fn install(session: &mut SessionBuilder) { + session.init_resource::(); } /// The inputs for each player in this simulation frame. diff --git a/src/core/item.rs b/src/core/item.rs index e9c2912976..608eed9342 100644 --- a/src/core/item.rs +++ b/src/core/item.rs @@ -4,7 +4,7 @@ use crate::prelude::*; -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { Item::register_schema(); ItemThrow::register_schema(); ItemGrab::register_schema(); diff --git a/src/core/lifetime.rs b/src/core/lifetime.rs index 8115dad316..c37487b3c0 100644 --- a/src/core/lifetime.rs +++ b/src/core/lifetime.rs @@ -4,11 +4,10 @@ use std::time::Duration; use crate::{core::FPS, prelude::*}; -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { Lifetime::register_schema(); session - .stages .add_system_to_stage(CoreStage::PostUpdate, lifetime_system) .add_system_to_stage(CoreStage::PostUpdate, invincibility); } diff --git a/src/core/map.rs b/src/core/map.rs index 77042f2c22..0e477b0199 100644 --- a/src/core/map.rs +++ b/src/core/map.rs @@ -8,7 +8,7 @@ use std::{ use super::physics::collisions::{CollisionWorld, TileCollisionKind, TileDynamicCollider}; use crate::prelude::*; -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::First, spawn_map) diff --git a/src/core/physics.rs b/src/core/physics.rs index 72d5e0b519..6eb2901ef9 100644 --- a/src/core/physics.rs +++ b/src/core/physics.rs @@ -35,7 +35,7 @@ impl StageLabel for PhysicsStage { } } -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { KinematicBody::register_schema(); ColliderShape::register_schema(); diff --git a/src/core/player.rs b/src/core/player.rs index 66e33b7afc..3fb1ec2549 100644 --- a/src/core/player.rs +++ b/src/core/player.rs @@ -15,7 +15,7 @@ const PLAYER_COLORS: [Color; 4] = [ Color::rgb(1.0, 0.0, 1.0), ]; -pub fn plugin(session: &mut Session) { +pub fn plugin(session: &mut SessionBuilder) { session.install_plugin(state::plugin); // Add other player systems diff --git a/src/core/player/state.rs b/src/core/player/state.rs index 471d60ef60..65d4f564b8 100644 --- a/src/core/player/state.rs +++ b/src/core/player/state.rs @@ -19,7 +19,7 @@ pub struct PlayerState { impl PlayerState { /// Adds a system to the appropriate stage in a [`Session`] for a player state transition. pub fn add_player_state_transition_system( - session: &mut Session, + session: &mut SessionBuilder, system: impl IntoSystem>, ) { session.stages.add_system_to_stage(PlayerStateStage, system); @@ -27,7 +27,7 @@ impl PlayerState { /// Adds a system to the appropriate stage in a [`Session`] for a player state update. pub fn add_player_state_update_system( - session: &mut Session, + session: &mut SessionBuilder, system: impl IntoSystem>, ) { session @@ -36,7 +36,7 @@ impl PlayerState { } } -pub fn plugin(session: &mut Session) { +pub fn plugin(session: &mut SessionBuilder) { // Add the player state stage session .stages diff --git a/src/core/player/state/states/crouch.rs b/src/core/player/state/states/crouch.rs index c36dbbfe78..aa8d8d4a91 100644 --- a/src/core/player/state/states/crouch.rs +++ b/src/core/player/state/states/crouch.rs @@ -2,7 +2,7 @@ use super::*; pub static ID: Lazy = Lazy::new(|| ustr("core::crouch")); -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { PlayerState::add_player_state_transition_system(session, player_state_transition); PlayerState::add_player_state_update_system(session, handle_player_state); PlayerState::add_player_state_update_system(session, use_drop_or_grab_items_system(*ID)); diff --git a/src/core/player/state/states/dead.rs b/src/core/player/state/states/dead.rs index e19bb7b904..b5181598ad 100644 --- a/src/core/player/state/states/dead.rs +++ b/src/core/player/state/states/dead.rs @@ -2,7 +2,7 @@ use super::*; pub static ID: Lazy = Lazy::new(|| ustr("core::dead")); -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { PlayerState::add_player_state_transition_system(session, player_state_transition); PlayerState::add_player_state_update_system(session, handle_player_state); } diff --git a/src/core/player/state/states/default.rs b/src/core/player/state/states/default.rs index afd14b52f4..ea39a151cf 100644 --- a/src/core/player/state/states/default.rs +++ b/src/core/player/state/states/default.rs @@ -1,6 +1,6 @@ use super::*; -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { PlayerState::add_player_state_transition_system(session, player_state_transition); } diff --git a/src/core/player/state/states/drive_jellyfish.rs b/src/core/player/state/states/drive_jellyfish.rs index 3ffb79dafd..9cc8b5312d 100644 --- a/src/core/player/state/states/drive_jellyfish.rs +++ b/src/core/player/state/states/drive_jellyfish.rs @@ -2,7 +2,7 @@ use super::*; pub static ID: Lazy = Lazy::new(|| ustr("core::drive_jellyfish")); -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { PlayerState::add_player_state_transition_system(session, player_state_transition); } diff --git a/src/core/player/state/states/idle.rs b/src/core/player/state/states/idle.rs index 01c7a50e32..b7bdffe5cb 100644 --- a/src/core/player/state/states/idle.rs +++ b/src/core/player/state/states/idle.rs @@ -2,7 +2,7 @@ use super::*; pub static ID: Lazy = Lazy::new(|| ustr("core::idle")); -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { PlayerState::add_player_state_transition_system(session, player_state_transition); PlayerState::add_player_state_update_system(session, handle_player_state); PlayerState::add_player_state_update_system(session, use_drop_or_grab_items_system(*ID)); diff --git a/src/core/player/state/states/incapacitated.rs b/src/core/player/state/states/incapacitated.rs index 93d709a11f..234f632ddd 100644 --- a/src/core/player/state/states/incapacitated.rs +++ b/src/core/player/state/states/incapacitated.rs @@ -2,7 +2,7 @@ use super::*; pub static ID: Lazy = Lazy::new(|| ustr("core::incapacitated")); -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { PlayerState::add_player_state_update_system(session, handle_player_state); } diff --git a/src/core/player/state/states/midair.rs b/src/core/player/state/states/midair.rs index b68c127d3d..5a9b34fed8 100644 --- a/src/core/player/state/states/midair.rs +++ b/src/core/player/state/states/midair.rs @@ -2,7 +2,7 @@ use super::*; pub static ID: Lazy = Lazy::new(|| ustr("core::midair")); -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { PlayerState::add_player_state_transition_system(session, player_state_transition); PlayerState::add_player_state_update_system(session, handle_player_state); PlayerState::add_player_state_update_system(session, use_drop_or_grab_items_system(*ID)); diff --git a/src/core/player/state/states/ragdoll.rs b/src/core/player/state/states/ragdoll.rs index 7cd1af9580..b20389bf69 100644 --- a/src/core/player/state/states/ragdoll.rs +++ b/src/core/player/state/states/ragdoll.rs @@ -7,7 +7,7 @@ use super::*; pub static ID: Lazy = Lazy::new(|| ustr("core::ragdoll")); -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { PlayerState::add_player_state_update_system(session, handle_player_state); } diff --git a/src/core/player/state/states/walk.rs b/src/core/player/state/states/walk.rs index ce8079d4ff..fcf08718dd 100644 --- a/src/core/player/state/states/walk.rs +++ b/src/core/player/state/states/walk.rs @@ -2,7 +2,7 @@ use super::*; pub static ID: Lazy = Lazy::new(|| ustr("core::walk")); -pub fn install(session: &mut Session) { +pub fn install(session: &mut SessionBuilder) { PlayerState::add_player_state_transition_system(session, player_state_transition); PlayerState::add_player_state_update_system(session, handle_player_state); PlayerState::add_player_state_update_system(session, use_drop_or_grab_items_system(*ID)); diff --git a/src/core/random.rs b/src/core/random.rs index 027b780410..f6794267de 100644 --- a/src/core/random.rs +++ b/src/core/random.rs @@ -11,8 +11,8 @@ use bones_framework::{ }; pub use turborand::prelude::*; -pub fn plugin(session: &mut Session) { - session.world.init_resource::(); +pub fn plugin(session: &mut SessionBuilder) { + session.init_resource::(); } /// Resource that can produce deterministic, pseudo-random numbers. diff --git a/src/core/scoring.rs b/src/core/scoring.rs index e504a81fea..9c68d206e9 100644 --- a/src/core/scoring.rs +++ b/src/core/scoring.rs @@ -75,10 +75,8 @@ impl MatchScore { } } -pub fn session_plugin(session: &mut Session) { - session - .stages - .add_system_to_stage(CoreStage::PostUpdate, round_end); +pub fn session_plugin(session: &mut SessionBuilder) { + session.add_system_to_stage(CoreStage::PostUpdate, round_end); } pub fn round_end( diff --git a/src/debug.rs b/src/debug.rs index c331985fde..10cd923f28 100644 --- a/src/debug.rs +++ b/src/debug.rs @@ -7,13 +7,14 @@ use bones_framework::debug::frame_time_diagnostics_plugin; use bones_framework::networking::debug::network_debug_window; pub fn game_plugin(game: &mut Game) { - game.sessions - .create(SessionNames::DEBUG) - .install_plugin(session_plugin) - .install_plugin(frame_time_diagnostics_plugin); + game.sessions.create_with(SessionNames::DEBUG, |builder| { + builder + .install_plugin(session_plugin) + .install_plugin(frame_time_diagnostics_plugin); + }); } -fn session_plugin(session: &mut Session) { +fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::First, debug_menu); diff --git a/src/main.rs b/src/main.rs index 26a20a40e5..aecf822532 100644 --- a/src/main.rs +++ b/src/main.rs @@ -174,8 +174,9 @@ fn main() { // Create a new session for the pause menu, which sits in the background by default and only // does anything while the game is running. game.sessions - .create(SessionNames::PAUSE_MENU) - .install_plugin(ui::pause_menu::session_plugin); + .create_with(SessionNames::PAUSE_MENU, |builder| { + builder.install_plugin(ui::pause_menu::session_plugin); + }); // Set priority to ensure pause menu comes before scoring menu (drawn on top) game.sessions @@ -184,14 +185,15 @@ fn main() { .priority = 1; // Scoring menu plugin, activated by game between round tarnsitions when appropriate - game.sessions - .create(SessionNames::SCORING) - .install_plugin(ui::scoring::session_plugin); + game.sessions.create_with(SessionNames::SCORING, |builder| { + builder.install_plugin(ui::scoring::session_plugin); + }); // session for pop-ups / nofication UI game.sessions - .create(SessionNames::NOTIFICATION) - .install_plugin(ui::notification::session_plugin); + .create_with(SessionNames::NOTIFICATION, |builder| { + builder.install_plugin(ui::notification::session_plugin); + }); // Create a bevy renderer for the bones game and run it. BonesBevyRenderer { diff --git a/src/profiler.rs b/src/profiler.rs index 979a25cc7b..fde22b692d 100644 --- a/src/profiler.rs +++ b/src/profiler.rs @@ -6,12 +6,13 @@ use crate::prelude::*; pub fn game_plugin(game: &mut Game) { game.systems.add_before_system(mark_new_frame); game.sessions - .create(SessionNames::PROFILER) - .install_plugin(session_plugin); + .create_with(SessionNames::PROFILER, |builder| { + builder.install_plugin(session_plugin); + }); } /// Install the profiler UI to profiler session. -fn session_plugin(session: &mut Session) { +fn session_plugin(session: &mut SessionBuilder) { session .stages .add_system_to_stage(CoreStage::First, profiler); diff --git a/src/sessions.rs b/src/sessions.rs index 1f50fd14df..4d99eb9d0d 100644 --- a/src/sessions.rs +++ b/src/sessions.rs @@ -23,8 +23,9 @@ pub trait SessionExt { impl SessionExt for Sessions { fn start_menu(&mut self) { - self.create(SessionNames::MAIN_MENU) - .install_plugin(crate::ui::main_menu::session_plugin); + self.create_with(SessionNames::MAIN_MENU, |builder| { + builder.install_plugin(crate::ui::main_menu::session_plugin); + }); } fn end_game(&mut self) { @@ -73,21 +74,23 @@ impl SessionExt for Sessions { score }; - self.create(SessionNames::GAME) - .install_plugin(crate::core::MatchPlugin { + self.create_with(SessionNames::GAME, |builder| { + builder.install_plugin(crate::core::MatchPlugin { maps: map_pool, player_info, plugins, session_runner, score, }); + }); } else { panic!("Cannot restart game when game is not running"); } } fn start_game(&mut self, match_plugin: crate::core::MatchPlugin) { - let session = self.create(SessionNames::GAME); - session.install_plugin(match_plugin); + self.create_with(SessionNames::GAME, |builder| { + builder.install_plugin(match_plugin); + }); } } diff --git a/src/ui/main_menu.rs b/src/ui/main_menu.rs index 0dcf75a32e..6fdf2fb843 100644 --- a/src/ui/main_menu.rs +++ b/src/ui/main_menu.rs @@ -23,7 +23,7 @@ pub struct MainMenuMeta { pub menu_width: f32, } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session // Install the default bones_framework plugin for this session .install_plugin(DefaultSessionPlugin) diff --git a/src/ui/notification.rs b/src/ui/notification.rs index 8e4213198c..029ef4068c 100644 --- a/src/ui/notification.rs +++ b/src/ui/notification.rs @@ -3,7 +3,7 @@ use std::borrow::BorrowMut; use crate::prelude::*; #[allow(unused_variables)] -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { #[cfg(not(target_arch = "wasm32"))] session.add_system_to_stage(Update, network_disconnect_notify); } diff --git a/src/ui/pause_menu.rs b/src/ui/pause_menu.rs index f4d2129c46..ed9874665f 100644 --- a/src/ui/pause_menu.rs +++ b/src/ui/pause_menu.rs @@ -12,7 +12,7 @@ enum PauseMenuPage { Settings, } -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session.add_system_to_stage(Update, pause_menu_system); } @@ -137,16 +137,18 @@ fn pause_menu_system( .deref() .clone(); sessions.end_game(); - sessions.start_game(crate::core::MatchPlugin { - maps, - player_info: std::array::from_fn(|i| PlayerInput { - control: default(), - editor_input: default(), - ..match_info.players[i] - }), - plugins: meta.get_plugins(&assets), - session_runner: Box::::default(), - score: default(), + sessions.create_with(SessionNames::GAME, |builder| { + builder.install_plugin(crate::core::MatchPlugin { + maps, + player_info: std::array::from_fn(|i| PlayerInput { + control: default(), + editor_input: default(), + ..match_info.players[i] + }), + plugins: meta.get_plugins(&assets), + session_runner: Box::::default(), + score: default(), + }); }); pause_menu.menu_open = false; } diff --git a/src/ui/scoring.rs b/src/ui/scoring.rs index 0c6d327636..8899558785 100644 --- a/src/ui/scoring.rs +++ b/src/ui/scoring.rs @@ -8,7 +8,7 @@ use crate::prelude::*; use super::player_image::player_image; -pub fn session_plugin(session: &mut Session) { +pub fn session_plugin(session: &mut SessionBuilder) { session.add_system_to_stage(Update, scoring_menu_system); }