diff --git a/.cargo/config.toml b/.cargo/config.toml index 9f5fc8f7..6d5f0ce0 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,10 +1,10 @@ [target.wasm32-unknown-unknown] runner = "wasm-server-runner" -rustdocflags = [ +rustflags = [ "--cfg=web_sys_unstable_apis", "--cfg=getrandom_backend=\"wasm_js\"", ] -rustflags = [ +rustdocflags = [ "--cfg=web_sys_unstable_apis", "--cfg=getrandom_backend=\"wasm_js\"", ] diff --git a/Cargo.lock b/Cargo.lock index 9804a693..bb67ad70 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -29,22 +29,26 @@ dependencies = [ [[package]] name = "accesskit_consumer" -version = "0.35.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53cf47daed85312e763fbf85ceca136e0d7abc68e0a7e12abe11f48172bc3b10" +checksum = "5d10a236f96f87d70732e44520046785431ef01d5bcd6b041317bfadd2f88245" dependencies = [ "accesskit", "hashbrown 0.16.1", ] [[package]] -name = "accesskit_consumer" -version = "0.38.0" +name = "accesskit_ios" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d10a236f96f87d70732e44520046785431ef01d5bcd6b041317bfadd2f88245" +checksum = "750c4e9f6ce888dfe8a10c0f1b5ceb646a7854fd46579d74919219d1bb314083" dependencies = [ "accesskit", + "accesskit_consumer", "hashbrown 0.16.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-ui-kit", ] [[package]] @@ -54,7 +58,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce02dc63b43f0c9296af9ac946312a2dc8814427d7a64d2d600971dac55b6076" dependencies = [ "accesskit", - "accesskit_consumer 0.38.0", + "accesskit_consumer", "hashbrown 0.16.1", "objc2 0.5.2", "objc2-app-kit 0.2.2", @@ -63,12 +67,12 @@ dependencies = [ [[package]] name = "accesskit_windows" -version = "0.32.1" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff7009f1a532e917d66970a1e80c965140c6cfbbabbdde3d64e5431e6c78e21" +checksum = "106c2b961215864d1c2e703ee63269c25c4e80a577ffb2c1017b9c17dcdf83a1" dependencies = [ "accesskit", - "accesskit_consumer 0.35.0", + "accesskit_consumer", "hashbrown 0.16.1", "static_assertions", "windows", @@ -77,11 +81,12 @@ dependencies = [ [[package]] name = "accesskit_winit" -version = "0.32.2" +version = "0.33.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fe9a94394896352cc4660ca2288bd4ef883d83238853c038b44070c8f134313" +checksum = "d5b41e63a69f36d9f1f41e70464c7e5f72eee485ef26aab19f0b4f86e6c0a84c" dependencies = [ "accesskit", + "accesskit_ios", "accesskit_macos", "accesskit_windows", "raw-window-handle", @@ -136,7 +141,6 @@ dependencies = [ name = "aeronet_io" version = "0.21.0" dependencies = [ - "anyhow", "bevy_app", "bevy_ecs", "bevy_platform", @@ -187,7 +191,6 @@ name = "aeronet_steam" version = "0.21.0" dependencies = [ "aeronet_io", - "anyhow", "bevy", "bevy_app", "bevy_ecs", @@ -219,6 +222,7 @@ version = "0.21.0" dependencies = [ "aeronet_io", "arbitrary", + "bevy", "bevy_app", "bevy_ecs", "bevy_egui", @@ -231,7 +235,7 @@ dependencies = [ "document-features", "egui_plot", "either", - "itertools", + "itertools 0.14.0", "log", "octs", "ringbuf", @@ -280,8 +284,7 @@ version = "0.21.0" dependencies = [ "aeronet_io", "aeronet_tokio_runtime", - "anyhow", - "base64", + "base64 0.22.1", "bevy", "bevy_app", "bevy_ecs", @@ -419,6 +422,17 @@ dependencies = [ "libc", ] +[[package]] +name = "annotate-snippets" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f211a51805bc641f3ad5b7664c77d2547af685cc33b4cd8d31964027a46f13f1" +dependencies = [ + "anstyle", + "memchr", + "unicode-width", +] + [[package]] name = "anstream" version = "1.0.0" @@ -469,12 +483,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "anyhow" -version = "1.0.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" - [[package]] name = "approx" version = "0.5.1" @@ -510,6 +518,7 @@ dependencies = [ "parking_lot", "percent-encoding", "windows-sys 0.60.2", + "wl-clipboard-rs", "x11rb", ] @@ -540,6 +549,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" +[[package]] +name = "ascii-canvas" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1e3e699d84ab1b0911a1010c5c106aa34ae89aeac103be5ce0c3859db1e891" +dependencies = [ + "term", +] + [[package]] name = "ash" version = "0.38.0+1.3.281" @@ -558,7 +576,7 @@ dependencies = [ "asn1-rs-derive", "asn1-rs-impl", "displaydoc", - "nom", + "nom 7.1.3", "num-traits", "rusticata-macros", "thiserror 2.0.20", @@ -733,7 +751,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e2cdb6d5ed835199484bb92bb8b3edd526effe995c61732580439c1a67e2e9" dependencies = [ - "base64", + "base64 0.22.1", "http", "log", "url", @@ -791,6 +809,12 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac07cdecf99051d9a5238b80f35af32cdeba5b336e55d957b318b50137e18da5" + [[package]] name = "base64ct" version = "1.8.3" @@ -799,18 +823,18 @@ checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" [[package]] name = "bevy" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "950238d3049d81006a6fd6b898a34cfc01bb5462a7668795a54d640aed19fd0a" +checksum = "396e1587b1079514a3267154bb9f5c2988bf9a28110044738223b6a1978d0397" dependencies = [ "bevy_internal", ] [[package]] name = "bevy_a11y" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86f2cb45b000a9d121a5a7606f9af4a49e72b8b6a3885dc2acac2f0897a04f1" +checksum = "e07580818ea11f9bc4b29b5ccc2bacefb15de329680aed6b2fcee6c0c0694a1c" dependencies = [ "accesskit", "bevy_app", @@ -821,23 +845,24 @@ dependencies = [ [[package]] name = "bevy_android" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e5e2a949be318bf7184eb084622892afcc1e8b2af44973ac53ab53201756e0" +checksum = "8240a1058603a1ff814a6d2c560af651723d2c57cdb7c99f139ce85b5bdc8afb" dependencies = [ "android-activity", ] [[package]] name = "bevy_animation" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da2fcd94cc32ba1c875c62e88506c0ba4775555a413e34cd172ea95fa26098e" +checksum = "bbe401f8c7cb0168de7ed14eb94acb3a2ef32b715d5c70f0ecb28761494cff9e" dependencies = [ "bevy_animation_macros", "bevy_app", "bevy_asset", "bevy_color", + "bevy_curve", "bevy_derive", "bevy_ecs", "bevy_math", @@ -847,6 +872,7 @@ dependencies = [ "bevy_time", "bevy_transform", "bevy_utils", + "bitvec", "blake3", "derive_more", "downcast-rs 2.0.2", @@ -863,9 +889,9 @@ dependencies = [ [[package]] name = "bevy_animation_macros" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa3d816d7788e27da936b9c7ec27f9828906d53cb1d06e26c58cac5c5ee799f" +checksum = "d1bd4958be946e31fc90788173f3076854f3a648e4607f4a16745a288f19bedf" dependencies = [ "bevy_macro_utils", "quote", @@ -874,9 +900,9 @@ dependencies = [ [[package]] name = "bevy_anti_alias" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "815414ea2e11afe1f2396d89279cfa0986907ef3ec673ec936d9fa695b2bfbf9" +checksum = "7cb19ef8a301ff4ade7cf1df627735f476f339927a48fe2e922b531cf47140cb" dependencies = [ "bevy_app", "bevy_asset", @@ -885,6 +911,7 @@ dependencies = [ "bevy_derive", "bevy_diagnostic", "bevy_ecs", + "bevy_extract", "bevy_image", "bevy_math", "bevy_reflect", @@ -896,9 +923,9 @@ dependencies = [ [[package]] name = "bevy_app" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671ae6f3a8d84f9ed696c531a138558596e041231a8414b6efeafa8469e841f9" +checksum = "964978b1f1ffd37d4feeb0e5814c0ac742423dce0a84c2435fe11d97ea8d4ca9" dependencies = [ "bevy_derive", "bevy_ecs", @@ -911,16 +938,16 @@ dependencies = [ "downcast-rs 2.0.2", "log", "thiserror 2.0.20", - "variadics_please 1.1.0", + "variadics_please", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_asset" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a05907de6a362d2c609a7a1d1b4dca3b58b768f746b719ca1a3c7dfa87d391" +checksum = "a074324bb50ff2bca1d0782cc0da9d826e7b21037599a2d0b412670ba32fe7d2" dependencies = [ "async-broadcast", "async-channel", @@ -961,9 +988,9 @@ dependencies = [ [[package]] name = "bevy_asset_macros" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9444998cc37b51dfd1572c23a501865733ea65619a7d88b47aa654ae2290a4f" +checksum = "8090e18cf1225e27e29a3f40952fe1820b55d5aca4958fc22ecc861b4fbc3582" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -973,9 +1000,9 @@ dependencies = [ [[package]] name = "bevy_audio" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06af3bd91de885f2a5c024569779a7fb43349df611d92f7b795c66c8797378db" +checksum = "7fbcc4c2b0b44045fa8041e799fc086f226d52af97f5c97848ec2dd3e2193f91" dependencies = [ "bevy_app", "bevy_asset", @@ -989,9 +1016,9 @@ dependencies = [ [[package]] name = "bevy_camera" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20105c3e77c2fb391bf3ded3a473d60e4058b837c9bf4e3412225833e524c75a" +checksum = "f0eb22c483d0c030918b414832545f4b6b29e8a62837b16d0f70528f749fe2da" dependencies = [ "bevy_app", "bevy_asset", @@ -1002,6 +1029,7 @@ dependencies = [ "bevy_math", "bevy_mesh", "bevy_reflect", + "bevy_shape", "bevy_transform", "bevy_utils", "bevy_window", @@ -1015,10 +1043,11 @@ dependencies = [ [[package]] name = "bevy_clipboard" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dc5fb913f25c5a16a2a1aa2942ba3f1365a6d0f2db3c0ea5bc0be01f85dca5d" +checksum = "4987dd9dc4dfba75efdda80f0a1224cc4ec3a53d435d1c13181733e5ecda199b" dependencies = [ + "arboard", "bevy_app", "bevy_ecs", "bevy_log", @@ -1030,10 +1059,11 @@ dependencies = [ [[package]] name = "bevy_color" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e2dfc0091be6eb62fec9158b2d3e6f21b002be7bdb42dd3b8322e949c8426b0" +checksum = "e882b611596ba70052a313c36ed3b6c889bb7900f25af92dc6c81277eac71cf7" dependencies = [ + "bevy_curve", "bevy_math", "bevy_reflect", "bytemuck", @@ -1046,9 +1076,9 @@ dependencies = [ [[package]] name = "bevy_core_pipeline" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "885d640bbff6c4fa3beadbb043d0d1ae53b2fda864da18a2bf2670fb90428865" +checksum = "838602ee816ce4d6ab6226e7a39c2699a456f00a0e5f67e7e2f999a40a274753" dependencies = [ "bevy_app", "bevy_asset", @@ -1057,6 +1087,7 @@ dependencies = [ "bevy_derive", "bevy_diagnostic", "bevy_ecs", + "bevy_extract", "bevy_image", "bevy_light", "bevy_log", @@ -1073,11 +1104,26 @@ dependencies = [ "nonmax", ] +[[package]] +name = "bevy_curve" +version = "0.20.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c7244805e50e704d90863b5fc803a832c90a2d84ae592e8f223fc828e6c0e09" +dependencies = [ + "approx", + "bevy_math", + "bevy_reflect", + "itertools 0.14.0", + "serde", + "thiserror 2.0.20", + "variadics_please", +] + [[package]] name = "bevy_derive" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "293df2b2f7ed65ef2ce02b2e7359faac1a9a92a8cc96c182c9de77eb06049ae0" +checksum = "7d82daafb39a96cbe8f9db5f393d13b4c47c6505188f3e0cf324fe3ddcd63d14" dependencies = [ "bevy_macro_utils", "quote", @@ -1086,41 +1132,47 @@ dependencies = [ [[package]] name = "bevy_dev_tools" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db815000affd21545a6d6986f180a66393aee8c84330843e854d376c8537b10f" +checksum = "7c503382da3b68626f4222cdef9f19219fe86a684aec9ce1bc9c175b32fad307" dependencies = [ + "bevy_animation", "bevy_app", "bevy_asset", + "bevy_audio", "bevy_camera", "bevy_color", - "bevy_core_pipeline", "bevy_diagnostic", "bevy_ecs", + "bevy_extract", "bevy_image", "bevy_input", + "bevy_light", "bevy_log", "bevy_math", - "bevy_pbr", + "bevy_mesh", "bevy_picking", + "bevy_platform", "bevy_reflect", "bevy_render", "bevy_shader", + "bevy_sprite", "bevy_state", "bevy_text", "bevy_time", "bevy_transform", "bevy_ui", - "bevy_ui_render", + "bevy_ui_widgets", "bevy_window", + "bevy_world_serialization", "tracing", ] [[package]] name = "bevy_diagnostic" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a73e11555051f37c3e0e9ef7775e77108f2482310242996fb5bb6ef8b685b78e" +checksum = "a720a0fdb72d4f8ac65b4b16cdcce0150a07bfb34dcbff86be0baa599d01017f" dependencies = [ "atomic-waker", "bevy_app", @@ -1136,9 +1188,9 @@ dependencies = [ [[package]] name = "bevy_ecs" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4654b9b3535fa7813d2878a50e1b5ad80a361dc1c913b96ded57667f65d70a01" +checksum = "336c56027498f943ec97292fafe30f072fd2241c4da9237a735dddb91166fd81" dependencies = [ "arrayvec", "bevy_ecs_macros", @@ -1155,18 +1207,19 @@ dependencies = [ "indexmap", "log", "nonmax", + "rand", "serde", "slotmap", "smallvec", "thiserror 2.0.20", - "variadics_please 1.1.0", + "variadics_please", ] [[package]] name = "bevy_ecs_macro_logic" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee0b98a74141ce8dce4654c60020ebbaefab32646f42af6bbae55f282ae65ff7" +checksum = "0db6aea26810c09e39c094bd0cca992bb058eeb28509d14997e01d2d531377bd" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -1176,9 +1229,9 @@ dependencies = [ [[package]] name = "bevy_ecs_macros" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc958a194d226d618404e0fea99a3c8b4146207a00a3ba07fa712bf71607240" +checksum = "9c17762fae975901bef29eee67634120575bfb82765d5c283ad925fc7c1dfff7" dependencies = [ "bevy_ecs_macro_logic", "bevy_macro_utils", @@ -1189,11 +1242,11 @@ dependencies = [ [[package]] name = "bevy_egui" -version = "0.40.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7466095822999850fc52074c0b65e9f8b42da100bf7bbd10e5dc87415c6b3401" +version = "0.42.0" +source = "git+https://github.com/taboky-dev/bevy_egui.git?rev=3cd933b7fb9800cc1ccc2a66ad2b11ae06b893cb#3cd933b7fb9800cc1ccc2a66ad2b11ae06b893cb" dependencies = [ "arboard", + "bevy", "bevy_app", "bevy_asset", "bevy_camera", @@ -1211,6 +1264,7 @@ dependencies = [ "bevy_reflect", "bevy_render", "bevy_shader", + "bevy_shape", "bevy_time", "bevy_transform", "bevy_ui_render", @@ -1223,7 +1277,7 @@ dependencies = [ "encase", "getrandom 0.4.3", "image", - "itertools", + "itertools 0.15.0", "js-sys", "smithay-clipboard", "thread_local", @@ -1237,19 +1291,49 @@ dependencies = [ [[package]] name = "bevy_encase_derive" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dc5bf9e6cb46c4401a66625b5f7eb9654a7f3c8586423c428b79586a1c55cd" +checksum = "d5c689175054baf99319f9e5e379cf9ff0a77200adb42de4d97610ec03de2760" dependencies = [ "bevy_macro_utils", "encase_derive_impl", ] +[[package]] +name = "bevy_extract" +version = "0.20.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db5c0a281cb7555ca6778936d7b6e585038128667e67c977e2e67302ff36510" +dependencies = [ + "bevy_app", + "bevy_camera", + "bevy_derive", + "bevy_ecs", + "bevy_extract_macros", + "bevy_log", + "bevy_platform", + "bevy_reflect", + "bevy_time", + "bevy_utils", +] + +[[package]] +name = "bevy_extract_macros" +version = "0.20.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0faffc62b206fed5c6c83a099ea0e322eb3d32ca4c1691432f041dc8358ef1f6" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.119", +] + [[package]] name = "bevy_feathers" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e744e047f9328a9c072982569fabbbc837db0474fd902473b5f438f8688c30b6" +checksum = "c53f92b53fa12ff014fc56324963ac7e556aa49175940bda39645006d3c1f2c3" dependencies = [ "accesskit", "bevy_a11y", @@ -1279,9 +1363,9 @@ dependencies = [ [[package]] name = "bevy_gilrs" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7998fe83c89d527efa83c85c574a17f7bb6e34881d638ecb7f706d9d79e82f3c" +checksum = "9e4b4d597078d5bf0f0ef2859119d280bc112b7fd7e07629d63d44478a4369ad" dependencies = [ "bevy_app", "bevy_ecs", @@ -1295,14 +1379,15 @@ dependencies = [ [[package]] name = "bevy_gizmos" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c0cbd55cc33b6412777d60d8c24a96bee148c82a5731f35ac85b2df4a7cf957" +checksum = "9290a7947a332f18dc749246940cffebf8df198757b11ca421a52710b8bbfa02" dependencies = [ "bevy_app", "bevy_asset", "bevy_camera", "bevy_color", + "bevy_curve", "bevy_ecs", "bevy_gizmos_macros", "bevy_input", @@ -1310,6 +1395,7 @@ dependencies = [ "bevy_math", "bevy_mesh", "bevy_reflect", + "bevy_shape", "bevy_time", "bevy_transform", "bevy_utils", @@ -1318,9 +1404,9 @@ dependencies = [ [[package]] name = "bevy_gizmos_macros" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9903f2614f53bacacb92bef1e407afe3a27a4abddb500bfd479909c5d7b254df" +checksum = "e48d960180532269e05cf7d8f948f987d1b6b8194df6f62797fe4936aebe4a4f" dependencies = [ "bevy_macro_utils", "quote", @@ -1329,9 +1415,9 @@ dependencies = [ [[package]] name = "bevy_gizmos_render" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd569456c4b19bafa6d37c1bd9cc743fdadda3a2f23d79d2ceb0a088ea8d475f" +checksum = "f791ae1d08c2d31bb40a13dd17cd09defc6ddfa30465f408ae78d3d7263a1993" dependencies = [ "bevy_app", "bevy_asset", @@ -1339,6 +1425,7 @@ dependencies = [ "bevy_color", "bevy_core_pipeline", "bevy_ecs", + "bevy_extract", "bevy_gizmos", "bevy_image", "bevy_log", @@ -1349,6 +1436,7 @@ dependencies = [ "bevy_reflect", "bevy_render", "bevy_shader", + "bevy_shape", "bevy_sprite_render", "bevy_transform", "bevy_utils", @@ -1358,17 +1446,18 @@ dependencies = [ [[package]] name = "bevy_gltf" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84e21ad83b7dc8d456491ea3d50057685d8c4cca8bc52a1b4a7161c86c369842" +checksum = "a03caf767c31b308707c2a7362d3531f6aa50672c80b5264e939e925df29442b" dependencies = [ "async-lock", - "base64", + "base64 0.23.1", "bevy_animation", "bevy_app", "bevy_asset", "bevy_camera", "bevy_color", + "bevy_curve", "bevy_ecs", "bevy_image", "bevy_light", @@ -1382,7 +1471,7 @@ dependencies = [ "bevy_world_serialization", "fixedbitset", "gltf", - "itertools", + "itertools 0.14.0", "percent-encoding", "serde", "serde_json", @@ -1394,9 +1483,9 @@ dependencies = [ [[package]] name = "bevy_image" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37bc41f69a0c6ade2e7961602517545b39ab8e42bc8c4a729bd24ffee3bcd904" +checksum = "c905e33d22e359cdd63e60d9a348a4f2776a0a106ba4ec803457171499bdbca6" dependencies = [ "bevy_app", "bevy_asset", @@ -1423,9 +1512,9 @@ dependencies = [ [[package]] name = "bevy_input" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd221cf0732f5bf06caf594bdb233361ac735d4d416cf5849757b64bf4e8472a" +checksum = "c6f25a8af4c4638923dc7013d42fe2fe6a870f665ad8a6efd155cc1992616a4f" dependencies = [ "bevy_app", "bevy_ecs", @@ -1440,11 +1529,12 @@ dependencies = [ [[package]] name = "bevy_input_focus" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1a14f56c6e722048ec9dc20dbbc6f46b8037f61e319ea776829199278da166" +checksum = "fa45d4f867e98a3b97cf2a0e74932a1fd8a0ae07d9aa9be5c882ae63ac7db5c8" dependencies = [ "bevy_app", + "bevy_camera", "bevy_ecs", "bevy_input", "bevy_math", @@ -1457,9 +1547,9 @@ dependencies = [ [[package]] name = "bevy_internal" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a85632a749f956f92b7b391c31ce1f229e57b06de879d1b60a3bb91e4e240" +checksum = "bc01c57336c5c4d7ddbc56aea342e89520833a182644cc8c05ba8ca57a90ca98" dependencies = [ "bevy_a11y", "bevy_android", @@ -1472,10 +1562,12 @@ dependencies = [ "bevy_clipboard", "bevy_color", "bevy_core_pipeline", + "bevy_curve", "bevy_derive", "bevy_dev_tools", "bevy_diagnostic", "bevy_ecs", + "bevy_extract", "bevy_feathers", "bevy_gilrs", "bevy_gizmos", @@ -1498,6 +1590,7 @@ dependencies = [ "bevy_render", "bevy_scene", "bevy_shader", + "bevy_shape", "bevy_sprite", "bevy_sprite_render", "bevy_state", @@ -1516,14 +1609,15 @@ dependencies = [ [[package]] name = "bevy_light" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7b5009e9cc765c30b21daf2277ea4423cbd347b05280ea0943b50c5a80cd42" +checksum = "3f555cf297a7f8e40f3cd2c29b95b5259bdc487ef970892fd3aed2af9e21f2fd" dependencies = [ "bevy_app", "bevy_asset", "bevy_camera", "bevy_color", + "bevy_curve", "bevy_ecs", "bevy_gizmos", "bevy_image", @@ -1532,6 +1626,7 @@ dependencies = [ "bevy_mesh", "bevy_platform", "bevy_reflect", + "bevy_shape", "bevy_transform", "bevy_utils", "half", @@ -1542,9 +1637,9 @@ dependencies = [ [[package]] name = "bevy_log" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2017a5fe12ea230d00cfdca00c65c262924be26e0324f7e0033c64f8cc265888" +checksum = "3ca1f463938089fd503ff493be5c566e9ab2d873a5fe5323934451b3b0a49a58" dependencies = [ "android_log-sys", "bevy_app", @@ -1560,9 +1655,9 @@ dependencies = [ [[package]] name = "bevy_macro_utils" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "746a19912c6dc1bbe79188778573e8a253d5832c696b2fcb95578c17b29ff7ba" +checksum = "4e56c1eb75e35a61c95bf5638d52c18fb77aee91701ab809ae8224eac830d2c4" dependencies = [ "proc-macro2", "quote", @@ -1572,9 +1667,9 @@ dependencies = [ [[package]] name = "bevy_material" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "423710403b4a4d8e9ee872c6ac8108787f2396422b582d15a660a40731ddfbf0" +checksum = "acd94ed0ad8c8ffef06405c7fe778da5e81f02500c3f949fae515e68120ee1d6" dependencies = [ "bevy_asset", "bevy_derive", @@ -1589,15 +1684,15 @@ dependencies = [ "smallvec", "thiserror 2.0.20", "tracing", - "variadics_please 1.1.0", + "variadics_please", "wgpu-types", ] [[package]] name = "bevy_material_macros" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6928e167592472f6ee900f80de199cc2dafd31d4f082a86e8d594b81b973e3d" +checksum = "16006972a2a93b336ad221c215006b3b23437bfd0bb43675d3402ab5e1e8e9ff" dependencies = [ "bevy_macro_utils", "quote", @@ -1606,29 +1701,26 @@ dependencies = [ [[package]] name = "bevy_math" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c280440d2a5bc07ea393b5346b5712eec73ea30f0133097b8b13dade385beb" +checksum = "f0c8099a2a51ead7b2e3b5df25b2440afd72eec2652bbaff8a24553db2a65e5b" dependencies = [ "approx", - "arrayvec", "bevy_reflect", "derive_more", "glam", - "itertools", "libm", "rand", - "rand_distr", "serde", "thiserror 2.0.20", - "variadics_please 1.1.0", + "variadics_please", ] [[package]] name = "bevy_mesh" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59863e6f37ef0ba1f37021bce9dd940f9dc31d15e03f548cda5fd3e674f409e" +checksum = "1fbd374d868762e7f35f0a551b480e173f36042465407aa070da6a547d3b4a6c" dependencies = [ "bevy_app", "bevy_asset", @@ -1639,6 +1731,7 @@ dependencies = [ "bevy_mikktspace", "bevy_platform", "bevy_reflect", + "bevy_shape", "bevy_transform", "bitflags 2.13.1", "bytemuck", @@ -1647,6 +1740,7 @@ dependencies = [ "glam", "half", "hexasphere", + "serde", "thiserror 2.0.20", "tracing", "wgpu-types", @@ -1660,9 +1754,9 @@ checksum = "bff34eb29ff4b8a8688bc7299f14fb6b597461ca80fec03ed7d22939ab33e48f" [[package]] name = "bevy_pbr" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ebc777de2d7f45888c68e8e04949bfb8a40aee62f700283fc340f525e67f52" +checksum = "1af98f47d1a1337f709e762ed07fcae5a4db8fad5c25813b33e986bbef7490ea" dependencies = [ "arrayvec", "bevy_app", @@ -1673,6 +1767,7 @@ dependencies = [ "bevy_derive", "bevy_diagnostic", "bevy_ecs", + "bevy_extract", "bevy_gltf", "bevy_image", "bevy_light", @@ -1684,6 +1779,7 @@ dependencies = [ "bevy_reflect", "bevy_render", "bevy_shader", + "bevy_shape", "bevy_tasks", "bevy_transform", "bevy_utils", @@ -1703,9 +1799,9 @@ dependencies = [ [[package]] name = "bevy_picking" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93468ac5937f76be3af763d496f01e899edf6d9c1a1d39a87ae4ce8eba36f78b" +checksum = "e84c90cc45bddce3a48a72712647db151ce1a2e52dc0618b6ff7508ccb6acfc0" dependencies = [ "bevy_app", "bevy_asset", @@ -1717,6 +1813,7 @@ dependencies = [ "bevy_mesh", "bevy_platform", "bevy_reflect", + "bevy_shape", "bevy_time", "bevy_transform", "bevy_window", @@ -1727,10 +1824,11 @@ dependencies = [ [[package]] name = "bevy_platform" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3120670bb2308980f723477c9d82476fcda31f08be9b256c3f0acdee82a65094" +checksum = "9fea429ddbd84d2c2d83f179c101e30e4e3e9936873732fe2ad6aa599d3ca3cd" dependencies = [ + "bytemuck", "critical-section", "foldhash 0.2.0", "futures-channel", @@ -1740,7 +1838,7 @@ dependencies = [ "portable-atomic", "portable-atomic-util", "serde", - "spin 0.10.1", + "spin 0.12.3", "wasm-bindgen", "wasm-bindgen-futures", "web-time", @@ -1749,17 +1847,19 @@ dependencies = [ [[package]] name = "bevy_post_process" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57379b51aa0f1b2066c956263e1f12686d22cf8939cf9644eebf2ee42d3dd460" +checksum = "f30e87e7b160abec6c1422ff8251104a7dcb7bdad500023e6ebf576b47d44b19" dependencies = [ "bevy_app", "bevy_asset", "bevy_camera", "bevy_color", "bevy_core_pipeline", + "bevy_curve", "bevy_derive", "bevy_ecs", + "bevy_extract", "bevy_image", "bevy_math", "bevy_platform", @@ -1774,15 +1874,15 @@ dependencies = [ [[package]] name = "bevy_ptr" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b511e89f7078fd21fdea77061a0ca3e737297c7011bb10c073e0aecb17c9fea6" +checksum = "12e5f31b88040abbbb6ba5ce01a1a08c7e47b6c98e085739d3463f17b6ce43bc" [[package]] name = "bevy_reflect" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92abd59cbba1524c1847e9a50f74d94e6b7836c80a8edfa9c47e59f7fd81021d" +checksum = "fbe473c05cdeea8f27f7f3db04ed6b6fbc4c45b4f6c0f6082bdd807e1ceaf1fb" dependencies = [ "assert_type_match", "bevy_platform", @@ -1803,15 +1903,15 @@ dependencies = [ "smol_str", "thiserror 2.0.20", "uuid", - "variadics_please 1.1.0", + "variadics_please", "wgpu-types", ] [[package]] name = "bevy_reflect_derive" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fa4e6b97fd2d582dd5ed96762a70d04505a477c833cf4f69d016dcd03d2d04" +checksum = "3074678c132bf8c88edcca22ae9079f6b38b199752d0e98232a30651841887ec" dependencies = [ "bevy_macro_utils", "indexmap", @@ -1823,9 +1923,9 @@ dependencies = [ [[package]] name = "bevy_render" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89b2cc850a4c3fd12a6a088a4fc3e80118b2e1b569da8936f6d4d99ca1b6ee7" +checksum = "627187515bcd73d029da0dd8cd87cfdf25ee61b91b08a1143c97926b78399713" dependencies = [ "async-channel", "bevy_app", @@ -1836,6 +1936,8 @@ dependencies = [ "bevy_diagnostic", "bevy_ecs", "bevy_encase_derive", + "bevy_extract", + "bevy_extract_macros", "bevy_image", "bevy_log", "bevy_material", @@ -1846,6 +1948,7 @@ dependencies = [ "bevy_reflect", "bevy_render_macros", "bevy_shader", + "bevy_shape", "bevy_tasks", "bevy_time", "bevy_transform", @@ -1859,15 +1962,16 @@ dependencies = [ "glam", "image", "indexmap", - "itertools", + "itertools 0.14.0", "js-sys", - "naga", "nonmax", "offset-allocator", "send_wrapper", "smallvec", + "static_assertions", "thiserror 2.0.20", - "variadics_please 1.1.0", + "tracing", + "variadics_please", "wasm-bindgen", "weak-table", "web-sys", @@ -1877,10 +1981,11 @@ dependencies = [ [[package]] name = "bevy_render_macros" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0eb5cffe5253a6ab4e4b84b2e40a6a2f4673deb16fd63ab9dfc4a015449873a" +checksum = "0a7027c51fd679e16fcc5d0d6e5a21fe96c09358d3817ba02ee68b637b54cee4" dependencies = [ + "bevy_extract_macros", "bevy_macro_utils", "proc-macro2", "quote", @@ -1889,9 +1994,8 @@ dependencies = [ [[package]] name = "bevy_replicon" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be0faf3fdbafd7d1d658c1b8f8c05c186764765264c1d8aece2807da7f540853" +version = "0.44.1" +source = "git+https://github.com/andriyDev/bevy_replicon.git?rev=6d4fda8b2e811d87e65cc8d407903933604b63c9#6d4fda8b2e811d87e65cc8d407903933604b63c9" dependencies = [ "bevy", "bitflags 2.13.1", @@ -1904,15 +2008,15 @@ dependencies = [ "smallbitvec", "smallvec", "typeid", - "variadics_please 2.0.0", + "variadics_please", "xxhash-rust", ] [[package]] name = "bevy_scene" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a3c891148c40e1352fc41001c0e1894ba63fc4e2d3aca33447343c4122b782" +checksum = "57fccf567057b385308406f18aace2ae4138420f37ba36870c986a64619d550c" dependencies = [ "bevy_app", "bevy_asset", @@ -1926,14 +2030,14 @@ dependencies = [ "smallvec", "thiserror 2.0.20", "tracing", - "variadics_please 1.1.0", + "variadics_please", ] [[package]] name = "bevy_scene_macros" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4bc33a36a4e9e344985a96cd8b4abc816cf2c5d2fa002d72fd7bcd11396589c" +checksum = "7503865a2acb43e7cee20f1677aa2986b0d2de7db19ccdbf2e3f0223f1a50532" dependencies = [ "bevy_ecs_macro_logic", "bevy_macro_utils", @@ -1944,28 +2048,42 @@ dependencies = [ [[package]] name = "bevy_shader" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0ac51378bb6a021165ee334f846b515cd06082e24ce962adce58ad7df1c39a" +checksum = "94bc8866f33731d99365a389210419807a0979440f5a1ca4b1dcc099f7bf516b" dependencies = [ "bevy_asset", "bevy_platform", "bevy_reflect", "bevy_utils", - "naga", - "naga_oil", "serde", "thiserror 2.0.20", "tracing", - "wgpu-naga-bridge", + "wesl", "wgpu-types", ] +[[package]] +name = "bevy_shape" +version = "0.20.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dc9240094bf3ed72a29513b6ae394ad96dc20e4f8121d8480a3f42a067b8813" +dependencies = [ + "arrayvec", + "bevy_math", + "bevy_reflect", + "derive_more", + "rand", + "rand_distr", + "serde", + "thiserror 2.0.20", +] + [[package]] name = "bevy_sprite" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c679b88cc655881d403929bcdf02d30f688fd8916eb1635e6e7f8585d8ae6894" +checksum = "acb07e9215a2a01104234207beaa72afe768fc2478fd45dc401e261ce31d425c" dependencies = [ "bevy_app", "bevy_asset", @@ -1989,9 +2107,9 @@ dependencies = [ [[package]] name = "bevy_sprite_render" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a65ca9a286dd5815ca4d2d41d4f83bdbb22c8a639d10b4c33eac114b369c36" +checksum = "fb88598facefe3afc0fc85324c83b0e92e085c6dc0d93f8b46372f3dd09b538b" dependencies = [ "bevy_app", "bevy_asset", @@ -2000,6 +2118,7 @@ dependencies = [ "bevy_core_pipeline", "bevy_derive", "bevy_ecs", + "bevy_extract", "bevy_image", "bevy_material", "bevy_math", @@ -2008,6 +2127,7 @@ dependencies = [ "bevy_reflect", "bevy_render", "bevy_shader", + "bevy_shape", "bevy_sprite", "bevy_text", "bevy_transform", @@ -2017,14 +2137,16 @@ dependencies = [ "derive_more", "fixedbitset", "nonmax", + "smallvec", + "static_assertions", "tracing", ] [[package]] name = "bevy_state" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c22e694ea52e42994aea6ed2d0b378fa1e9d5a9b615db88626e33508bc03f35" +checksum = "ecff6a4bd1ea5eef961b9e1706d3e01cf538231c43205b7a2ef9c007ef52cc13" dependencies = [ "bevy_app", "bevy_ecs", @@ -2033,14 +2155,14 @@ dependencies = [ "bevy_state_macros", "bevy_utils", "log", - "variadics_please 1.1.0", + "variadics_please", ] [[package]] name = "bevy_state_macros" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835f45091fa0df1ff3cb10f4ca5a397d4e9249b550f1be6893b08a2a06d6eed7" +checksum = "c1036087e690917fdd742dd25ad2694a1d379b5d6096fb344694341038968125" dependencies = [ "bevy_macro_utils", "quote", @@ -2049,9 +2171,9 @@ dependencies = [ [[package]] name = "bevy_tasks" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa34e6b9b804851ec08a41c0346c859d82e2fa98c906d74b965ee61bbbb688e4" +checksum = "03762b1b385880529b06435f1a553ba926b4aa766f3ea3c7ef389ddf947ff036" dependencies = [ "async-channel", "async-executor", @@ -2068,9 +2190,9 @@ dependencies = [ [[package]] name = "bevy_text" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e1d7eb8b10229f424b4fc56c864a26c32ac02b8cd184e2cc25eceea7b5e892" +checksum = "67c6b0fc6d0818f3b1ce678b251985c2d6d6f21691d229e63d9e3e58d84962ac" dependencies = [ "bevy_app", "bevy_asset", @@ -2097,9 +2219,9 @@ dependencies = [ [[package]] name = "bevy_time" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c21e3be2aa4426ea1e0a7036d3d1dbbded84c319459d9f3e2a616b33563372f2" +checksum = "e4f2a496c51f709a092881eef01696bfb3fcde832df02dd3bd5f079baf3d02d0" dependencies = [ "bevy_app", "bevy_ecs", @@ -2112,9 +2234,9 @@ dependencies = [ [[package]] name = "bevy_transform" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c95fefe69c9223d10e6b52a0fdf12811bab9d0c7dcb27570cb86824b451f180d" +checksum = "d710d5ec02516f42f6313cff1c97e6034b34e8fda9ab8b1913892b0831a84982" dependencies = [ "bevy_app", "bevy_ecs", @@ -2129,9 +2251,9 @@ dependencies = [ [[package]] name = "bevy_ui" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5519c799ecf14e2eeece8b9b823250a00c9df14523e2638b647fccfe4ff0d20" +checksum = "c4fc0abf9010e467c23af71b2112d428506ffbac6230beb4d2d75a2e1a229729" dependencies = [ "accesskit", "bevy_a11y", @@ -2167,10 +2289,11 @@ dependencies = [ [[package]] name = "bevy_ui_render" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d3921936d88bd2638dd4d87bff8fc3b9908a046a50658548045102249f93e" +checksum = "d821b8189e2cb2d0fc1e970c0b8c8fbe9e50a8a107ee39b79bb556c5b6bc827c" dependencies = [ + "bevy_a11y", "bevy_app", "bevy_asset", "bevy_camera", @@ -2178,6 +2301,7 @@ dependencies = [ "bevy_core_pipeline", "bevy_derive", "bevy_ecs", + "bevy_extract", "bevy_image", "bevy_input_focus", "bevy_math", @@ -2195,14 +2319,15 @@ dependencies = [ "bytemuck", "derive_more", "indexmap", + "smallvec", "tracing", ] [[package]] name = "bevy_ui_widgets" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fc616ccc51b36dea5cb1de91ed82569b41649923388e5ba82cb7d2f1ef18d8" +checksum = "4c7206168fd6fbf71691f6713e9d347d8778b5e2c5036ede8be684d749f35f8d" dependencies = [ "accesskit", "bevy_a11y", @@ -2214,19 +2339,22 @@ dependencies = [ "bevy_log", "bevy_math", "bevy_picking", + "bevy_platform", "bevy_reflect", "bevy_text", + "bevy_time", "bevy_ui", "bevy_window", "parley", "smol_str", + "web-sys", ] [[package]] name = "bevy_utils" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aceea6c7ffdd568f866d5ca4dfe50c33440c54f7bc230c13a9ba7ab0c91aed1" +checksum = "884820c664f6fa35afa43318092f28ef8d7ed598f88886ae65ce6c1be06c00f2" dependencies = [ "async-channel", "bevy_platform", @@ -2237,9 +2365,9 @@ dependencies = [ [[package]] name = "bevy_window" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efcc255b43db156fba393b2ff8fa552aac5e7e02ae4c6298eacdbab655ddf988" +checksum = "48e1e140d997701c2befa65f38d8ee7429c1c2ed7b49fd892f2a70d929749632" dependencies = [ "bevy_app", "bevy_asset", @@ -2256,9 +2384,9 @@ dependencies = [ [[package]] name = "bevy_winit" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308c9eb04f74f340593b3def6a7c1778fd42581d779c6db836d690c7d471f94c" +checksum = "fe050542591de5077dc2905f9de622cea5cfcf2a8f28c1d30228736ea4d5875f" dependencies = [ "accesskit", "accesskit_winit", @@ -2289,9 +2417,9 @@ dependencies = [ [[package]] name = "bevy_world_serialization" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de58ae74410d4f940e3f00484f58603b4f1a53a7d84ebe3fca258d2a3aa96620" +checksum = "85dc66a86e93d5d755f8685061a469eb2390f613aff5bcf1586ede8fb1b05a7d" dependencies = [ "bevy_app", "bevy_asset", @@ -2318,6 +2446,15 @@ dependencies = [ "bit-vec 0.9.1", ] +[[package]] +name = "bit-set" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2f926cc3060f09db9ebc5b52823d85268d24bb917e472c0c4bea35780a7d" +dependencies = [ + "bit-vec 0.9.1", +] + [[package]] name = "bit-vec" version = "0.8.0" @@ -2349,6 +2486,18 @@ dependencies = [ "serde_core", ] +[[package]] +name = "bitvec" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + [[package]] name = "blake3" version = "1.8.6" @@ -2363,6 +2512,15 @@ dependencies = [ "cpufeatures 0.3.0", ] +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array 0.14.7", +] + [[package]] name = "block-buffer" version = "0.12.1" @@ -2637,25 +2795,12 @@ dependencies = [ "thiserror 2.0.20", ] -[[package]] -name = "codespan-reporting" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" -dependencies = [ - "serde", - "termcolor", - "unicode-width", -] - [[package]] name = "codespan-reporting" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681" dependencies = [ - "serde", - "termcolor", "unicode-width", ] @@ -2815,15 +2960,6 @@ dependencies = [ "libc", ] -[[package]] -name = "core_maths" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" -dependencies = [ - "libm", -] - [[package]] name = "coreaudio-rs" version = "0.14.2" @@ -3004,7 +3140,7 @@ dependencies = [ "cfg-if", "cpufeatures 0.3.0", "curve25519-dalek-derive", - "digest", + "digest 0.11.3", "fiat-crypto", "rand_core", "rustc_version", @@ -3077,7 +3213,7 @@ checksum = "07da5016415d5a3c4dd39b11ed26f915f52fc4e0dc197d87908bc916e51bc1a6" dependencies = [ "asn1-rs", "displaydoc", - "nom", + "nom 7.1.3", "num-bigint", "num-traits", "rusticata-macros", @@ -3146,13 +3282,23 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab03c107fafeb3ee9f5925686dbb7a73bc76e3932abb0d2b365cb64b169cf04c" +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "crypto-common 0.1.7", +] + [[package]] name = "digest" version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" dependencies = [ - "block-buffer", + "block-buffer 0.12.1", "const-oid", "crypto-common 0.2.2", ] @@ -3247,9 +3393,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "ecolor" -version = "0.34.3" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a05fbfa222ffb51989d5ccf33e5f7aebfcf96c5023413856b0c3618a7f79896e" +checksum = "0656a7530b9e2841ee7a5f983965bdd9840c32f4012f759cfd44b912cced6b34" dependencies = [ "bytemuck", "emath", @@ -3284,27 +3430,29 @@ dependencies = [ [[package]] name = "egui" -version = "0.34.3" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42112be0ae157289312b92b3dfaf20e911b5a3c4c65d4aab0e7c47fbc0ce16e3" +checksum = "dc938cc27cd911415e1e4d151bc56ff9df063d8db081374e87aeb805ea74b2ba" dependencies = [ "accesskit", "ahash", "bitflags 2.13.1", "emath", "epaint", + "itertools 0.15.0", "log", "nohash-hasher", "profiling", "smallvec", "unicode-segmentation", + "web-sys", ] [[package]] name = "egui_plot" -version = "0.35.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bd66213736bf9a9a53dc4888570b9194fc0db906507517a7fcc787e888ac47" +checksum = "90f3711a5032bb65a41011b23fcdc6c4bb599757b82cc0181d41e7d1de16986a" dependencies = [ "ahash", "egui", @@ -3319,9 +3467,9 @@ checksum = "9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d" [[package]] name = "emath" -version = "0.34.3" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b53f0d33a479321da6b0caa71366c9f67e8a2c149762d90bdc0d16e601ee8ecb" +checksum = "52c8d4141cf0f60fb2f7aefaf352d3ffa5171ef0ab09731c64391801e95e48f1" dependencies = [ "bytemuck", ] @@ -3338,6 +3486,15 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" +[[package]] +name = "ena" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabffdaee24bd1bf95c5ef7cec31260444317e72ea56c4c91750e8b7ee58d5f1" +dependencies = [ + "log", +] + [[package]] name = "encase" version = "0.12.0" @@ -3382,31 +3539,34 @@ dependencies = [ [[package]] name = "epaint" -version = "0.34.3" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6675898a291ec212fc3df04f537d177fce8496120244590e6359dcaa4c25da79" +checksum = "a0ec0308dc23130fc1a7d4623a8534c2ed069c6dc84e258ee4f3de99615aa1a3" dependencies = [ "ahash", "bytemuck", "ecolor", "emath", "epaint_default_fonts", - "font-types 0.11.3", + "font-types", + "harfrust", "log", "nohash-hasher", "parking_lot", "profiling", "self_cell", - "skrifa 0.40.0", + "skrifa", "smallvec", + "unicode-general-category", + "unicode-segmentation", "vello_cpu", ] [[package]] name = "epaint_default_fonts" -version = "0.34.3" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8970033a4282a7bcf899b38b5ed3a58b732fe093d03785d58648515d8d309da" +checksum = "773fa9c96dd0dbef887e39d0ed6177f141cce4d68e6041df77570aa3702dfa13" [[package]] name = "equivalent" @@ -3510,12 +3670,9 @@ dependencies = [ [[package]] name = "fearless_simd" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb2907d1f08b2b316b9223ced5b0e89d87028ba8deae9764741dba8ff7f3903" -dependencies = [ - "bytemuck", -] +checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693" [[package]] name = "fiat-crypto" @@ -3581,15 +3738,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" -[[package]] -name = "font-types" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b38ad915f6dadd993ced50848a8291a543bd41ca62bc10740d5e64e2ab4cfd7" -dependencies = [ - "bytemuck", -] - [[package]] name = "font-types" version = "0.12.2" @@ -3601,15 +3749,15 @@ dependencies = [ [[package]] name = "fontique" -version = "0.9.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c20b425addb8661e97fe1d51c4d8bcec3ec29ed6ad0db983976a7521276b8f7" +checksum = "6688bc1294fe7117d788937b6c53480169b29c566954af490830d4c09da9516a" dependencies = [ "hashbrown 0.17.1", "linebender_resource_handle", "memmap2", "parlance", - "read-fonts 0.39.2", + "read-fonts", "smallvec", ] @@ -3655,6 +3803,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futures" version = "0.3.33" @@ -3909,10 +4063,11 @@ dependencies = [ [[package]] name = "glam" -version = "0.32.1" +version = "0.33.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f70749695b063ecbf6b62949ccccde2e733ec3ecbbd71d467dca4e5c6c97cca0" +checksum = "a0990707078259d76f65619a692e87c82645be66cbee224173cd1af151e54ba2" dependencies = [ + "approx", "bytemuck", "encase", "libm", @@ -3920,6 +4075,22 @@ dependencies = [ "serde_core", ] +[[package]] +name = "glifo" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed4a1bb24121291d27230c1b1b44e07d6a9b28cefdb32fe1581dfb84e14f940a" +dependencies = [ + "bytemuck", + "foldhash 0.2.0", + "hashbrown 0.17.1", + "log", + "peniko", + "skrifa", + "smallvec", + "vello_common", +] + [[package]] name = "gloo-timers" version = "0.3.0" @@ -4003,40 +4174,13 @@ dependencies = [ "windows", ] -[[package]] -name = "gpu-descriptor" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" -dependencies = [ - "bitflags 2.13.1", - "gpu-descriptor-types", - "hashbrown 0.15.5", -] - -[[package]] -name = "gpu-descriptor-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" -dependencies = [ - "bitflags 2.13.1", -] - -[[package]] -name = "grid" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40ca9252762c466af32d0b1002e91e4e1bc5398f77455e55474deb466355ff5" - [[package]] name = "guillotiere" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" +checksum = "6b17e70c989c36bad147b27a58d148c0741c51448aa5653436547323e524d0ab" dependencies = [ "euclid", - "svg_fmt", ] [[package]] @@ -4068,19 +4212,19 @@ dependencies = [ "cfg-if", "crunchy", "num-traits", + "serde", "zerocopy", ] [[package]] name = "harfrust" -version = "0.6.2" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "551ed25397e4b444e89686602877d5cf3a7f6e3d548dcac37a8357d1e195f4df" +checksum = "c03d949a14aa089bbb282f7dd76a498a7f684428e4257202efc119ec010376f9" dependencies = [ "bitflags 2.13.1", "bytemuck", - "core_maths", - "read-fonts 0.39.2", + "read-fonts", "smallvec", ] @@ -4151,21 +4295,15 @@ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hexasphere" -version = "18.0.0" +version = "19.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177ea6330876de4ef08e184f827b98acc037614a4ce409902c5b0d53a9c2e951" +checksum = "163385eff5a0cf606ebe2c10b3a44ab02f4306e83fbd068a64f5e1d72a3049ac" dependencies = [ "constgebra", "glam", "tinyvec", ] -[[package]] -name = "hexf-parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" - [[package]] name = "hickory-net" version = "0.26.1" @@ -4346,7 +4484,7 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-channel", "futures-util", @@ -4834,6 +4972,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.18" @@ -4935,6 +5082,15 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "keccak" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" +dependencies = [ + "cpufeatures 0.2.17", +] + [[package]] name = "khronos-egl" version = "6.0.0" @@ -4974,22 +5130,118 @@ dependencies = [ ] [[package]] -name = "lazy_static" -version = "1.5.0" +name = "lalrpop" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +checksum = "98a80a963123205c7157323c99611bc4abb65dcbd62ef46dc4bac74a3941bc75" +dependencies = [ + "ascii-canvas", + "bit-set 0.9.1", + "ena", + "itertools 0.14.0", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax", + "sha3", + "string_cache", + "term", + "unicode-xid", + "walkdir", +] [[package]] -name = "lewton" -version = "0.10.2" +name = "lalrpop-util" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" +checksum = "884f3e747ed2dcee867cda1b0c31a048f9e20de2d916a248949319921a2e666e" dependencies = [ - "byteorder", + "regex-automata", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "lewton" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" +dependencies = [ + "byteorder", "ogg", "tinyvec", ] +[[package]] +name = "lexical" +version = "7.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc8a009b2ff1f419ccc62706f04fe0ca6e67b37460513964a3dfdb919bb37d6" +dependencies = [ + "lexical-core", +] + +[[package]] +name = "lexical-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" +dependencies = [ + "lexical-parse-float", + "lexical-parse-integer", + "lexical-util", + "lexical-write-float", + "lexical-write-integer", +] + +[[package]] +name = "lexical-parse-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" +dependencies = [ + "lexical-parse-integer", + "lexical-util", +] + +[[package]] +name = "lexical-parse-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" +dependencies = [ + "lexical-util", +] + +[[package]] +name = "lexical-util" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" + +[[package]] +name = "lexical-write-float" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" +dependencies = [ + "lexical-util", + "lexical-write-integer", +] + +[[package]] +name = "lexical-write-integer" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" +dependencies = [ + "lexical-util", +] + [[package]] name = "libc" version = "0.2.189" @@ -5079,6 +5331,38 @@ version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" +[[package]] +name = "logos" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2c55a318a87600ea870ff8c2012148b44bf18b74fad48d0f835c38c7d07c5f" +dependencies = [ + "logos-derive", +] + +[[package]] +name = "logos-codegen" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58b3ffaa284e1350d017a57d04ada118c4583cf260c8fb01e0fe28a2e9cf8970" +dependencies = [ + "fnv", + "proc-macro2", + "quote", + "regex-automata", + "regex-syntax", + "syn 2.0.119", +] + +[[package]] +name = "logos-derive" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52d3a9855747c17eaf4383823f135220716ab49bea5fbea7dd42cc9a92f8aa31" +dependencies = [ + "logos-codegen", +] + [[package]] name = "loom" version = "0.7.2" @@ -5261,25 +5545,24 @@ dependencies = [ [[package]] name = "naga" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bf919621e7975acb27d881bae2fb993e0d45c8e0446e85e6272971e00dc8df" +checksum = "a616d2fb8c89516ac2723a581f69d6c18576046bed761bd6b305e5618e6ae130" dependencies = [ "arrayvec", - "bit-set", + "bit-set 0.10.0", "bitflags 2.13.1", "cfg-if", "cfg_aliases", - "codespan-reporting 0.13.1", + "codespan-reporting", "half", - "hashbrown 0.16.1", - "hexf-parse", + "hashbrown 0.17.1", "indexmap", "libm", "log", + "naga-types", "num-traits", "once_cell", - "pp-rs", "rustc-hash 1.1.0", "spirv", "thiserror 2.0.20", @@ -5287,20 +5570,16 @@ dependencies = [ ] [[package]] -name = "naga_oil" -version = "0.22.0" +name = "naga-types" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "319f03062940ed85c03da020042618356bb8ca5263020322930883b05e30208e" +checksum = "590afbf58a6f4f62873cd5cff4468061844bafa1cdf399cc954537c22d768d49" dependencies = [ - "codespan-reporting 0.12.0", - "data-encoding", + "hashbrown 0.17.1", "indexmap", - "naga", - "regex", "rustc-hash 1.1.0", + "serde", "thiserror 2.0.20", - "tracing", - "unicode-ident", ] [[package]] @@ -5455,6 +5734,12 @@ dependencies = [ "wmi", ] +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + [[package]] name = "nix" version = "0.31.3" @@ -5483,6 +5768,15 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nom" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" +dependencies = [ + "memchr", +] + [[package]] name = "nonmax" version = "0.5.5" @@ -6005,6 +6299,7 @@ dependencies = [ "bitflags 2.13.1", "objc2 0.6.4", "objc2-core-foundation", + "objc2-core-graphics", "objc2-foundation 0.3.2", "objc2-metal 0.3.2", ] @@ -6195,6 +6490,16 @@ dependencies = [ "num-traits", ] +[[package]] +name = "os_pipe" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + [[package]] name = "owned_ttf_parser" version = "0.25.1" @@ -6251,9 +6556,9 @@ checksum = "4b6937eda350acc1a5d05872c3cbf99fe78619c269096e2be3d4a350058639d5" [[package]] name = "parley" -version = "0.9.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fad031076f48f0d4d85ce1aea9b94b4e715a4d636a030a123038f8f5b5e4343" +checksum = "22d2ff88bd3f7d68d1d9b09c7e6209f9a8e8c05088295140a2bcf2e9b17038c5" dependencies = [ "fontique", "harfrust", @@ -6264,14 +6569,14 @@ dependencies = [ "linebender_resource_handle", "parlance", "parley_data", - "skrifa 0.42.1", + "skrifa", ] [[package]] name = "parley_data" -version = "0.9.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ab9ace3fad1b9ed603ddac5b595e69931fc50263d7e04e4055015b77b02da5" +checksum = "1567535334d6ba2d3cde19221ba9a7bd0fabb3cbd99046ddfb10ae061cfcc889" dependencies = [ "icu_properties", ] @@ -6294,7 +6599,7 @@ version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" dependencies = [ - "base64", + "base64 0.22.1", "serde_core", ] @@ -6349,6 +6654,15 @@ dependencies = [ "rustc_version", ] +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project" version = "1.1.13" @@ -6414,7 +6728,7 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da1d65da6dd5d1e44199ac0f58712d241c0f439f80adea8924d832384087f85" dependencies = [ - "base64", + "base64 0.22.1", "indexmap", "quick-xml", "serde", @@ -6493,7 +6807,7 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb3713e4977408279158444a18c1a01ac9bf2e7eaf1fbfd1a19ac9cd18d90721" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "derive_more", "hyper-util", @@ -6558,13 +6872,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] -name = "pp-rs" -version = "0.2.1" +name = "precomputed-hash" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb458bb7f6e250e6eb79d5026badc10a3ebb8f9a15d1fff0f13d17c71f4d6dee" -dependencies = [ - "unicode-xid", -] +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "prefix-trie" @@ -6705,6 +7016,12 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "radsort" version = "0.1.1" @@ -6785,26 +7102,6 @@ dependencies = [ "yasna", ] -[[package]] -name = "read-fonts" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5" -dependencies = [ - "bytemuck", - "font-types 0.11.3", -] - -[[package]] -name = "read-fonts" -version = "0.39.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4ed38b89c2c77ff968c524145ad65fb010f38af5c7a224b53b81d47ac2daa81" -dependencies = [ - "bytemuck", - "font-types 0.11.3", -] - [[package]] name = "read-fonts" version = "0.41.0" @@ -6812,7 +7109,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046a7d674daf459825b32f5062056d6882db0d2f5a479fbd76ccfc870ac18709" dependencies = [ "bytemuck", - "font-types 0.12.2", + "font-types", "once_cell", ] @@ -6890,7 +7187,7 @@ version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-core", "futures-util", @@ -7007,7 +7304,7 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" dependencies = [ - "nom", + "nom 7.1.3", ] [[package]] @@ -7299,7 +7596,7 @@ checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" dependencies = [ "cfg-if", "cpufeatures 0.3.0", - "digest", + "digest 0.11.3", ] [[package]] @@ -7316,7 +7613,17 @@ checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" dependencies = [ "cfg-if", "cpufeatures 0.3.0", - "digest", + "digest 0.11.3", +] + +[[package]] +name = "sha3" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" +dependencies = [ + "digest 0.10.7", + "keccak", ] [[package]] @@ -7384,6 +7691,12 @@ dependencies = [ "bitflags 2.13.1", ] +[[package]] +name = "siphasher" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" + [[package]] name = "size_format" version = "1.0.2" @@ -7394,26 +7707,6 @@ dependencies = [ "num", ] -[[package]] -name = "skrifa" -version = "0.40.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac" -dependencies = [ - "bytemuck", - "read-fonts 0.37.0", -] - -[[package]] -name = "skrifa" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c34617370ae968efb7161bb2beb517d9084659aae19e24b89e3db25b46e4564" -dependencies = [ - "bytemuck", - "read-fonts 0.39.2", -] - [[package]] name = "skrifa" version = "0.44.0" @@ -7421,7 +7714,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "819ab7d62b1d3e72d9d9dea5650bac30424f9111364bb94928dbf5ecad1baa68" dependencies = [ "bytemuck", - "read-fonts 0.41.0", + "read-fonts", ] [[package]] @@ -7564,6 +7857,12 @@ name = "spin" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "023a211cb3138dbc438680b32560ad89f699977624c9f8dbb95a47d5b4c07dd3" + +[[package]] +name = "spin" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0134f9043ed38b087ac4f7d4af44c79e2c9e5094421fe3164f435ce585953b10" dependencies = [ "portable-atomic", ] @@ -7585,7 +7884,7 @@ checksum = "1d9efca8738c78ee9484207732f728b1ef517bbb1833d6fc0879ca898a522f6f" dependencies = [ "base64ct", "der", - "digest", + "digest 0.11.3", "sha2", ] @@ -7634,6 +7933,18 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +[[package]] +name = "string_cache" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18596f8c785a729f2819c0f6a7eae6ebeebdfffbfe4214ae6b087f690e31901" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + [[package]] name = "strsim" version = "0.11.1" @@ -7667,19 +7978,13 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "svg_fmt" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb" - [[package]] name = "swash" version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c2499c2d826531388872b2268718aed907a39bd785ab0dcfe57fab26283f92e" dependencies = [ - "skrifa 0.44.0", + "skrifa", "yazi", "zeno", ] @@ -7737,9 +8042,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.38.4" +version = "0.39.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ab6a2f8bfe508deb3c6406578252e491d299cbbf3bc0529ecc3313aee4a52f" +checksum = "d2071df9448915b71c4fe6d25deaf1c22f12bd234f01540b77312bb8e41361e6" dependencies = [ "libc", "memchr", @@ -7772,14 +8077,14 @@ dependencies = [ [[package]] name = "taffy" -version = "0.10.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aea22054047c16c3f34d3ac473a2170be1424b1115b2a3adcf28cfb067c88859" +checksum = "639627c87f43b9181c811f40a6296409e093a17bc761214cba3c15df74f86b99" dependencies = [ "arrayvec", - "grid", "serde", "slotmap", + "smallvec", ] [[package]] @@ -7789,12 +8094,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" [[package]] -name = "termcolor" -version = "1.4.1" +name = "tap" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "term" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8c27177b12a6399ffc08b98f76f7c9a1f4fe9fc967c784c5a071fa8d93cf7e1" dependencies = [ - "winapi-util", + "windows-sys 0.61.2", ] [[package]] @@ -8055,7 +8366,7 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52efb639344a7c6adb8e62c6f3d2c19c001ff1b79a5041ba1c6ed42e19c6aa5" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "futures-core", "futures-sink", @@ -8232,6 +8543,17 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "tree_magic_mini" +version = "3.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8765b90061cba6c22b5831f675da109ae5561588290f9fa2317adab2714d5a6" +dependencies = [ + "memchr", + "nom 8.0.0", + "petgraph", +] + [[package]] name = "try-lock" version = "0.2.5" @@ -8306,6 +8628,12 @@ version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "214ca0b2191785cbc06209b9ca1861e048e39b5ba33574b3cedd58363d5bb5f6" +[[package]] +name = "unicode-general-category" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f" + [[package]] name = "unicode-ident" version = "1.0.24" @@ -8400,17 +8728,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" -[[package]] -name = "variadics_please" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - [[package]] name = "variadics_please" version = "2.0.0" @@ -8429,27 +8746,28 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "vello_common" -version = "0.0.6" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bd1a4c633ce09e7d713df1a6e036644a125e15e0c169cfb5180ddf5836ca04b" +checksum = "b2e9aed918117e8152c9eddfd8362d73c465c23f26c44786aa331707b8a64fa2" dependencies = [ "bytemuck", "fearless_simd", - "hashbrown 0.16.1", + "guillotiere", "log", "peniko", - "skrifa 0.40.0", "smallvec", + "thiserror 2.0.20", ] [[package]] name = "vello_cpu" -version = "0.0.6" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162bfe48aabf6a9fdcd401b628c7d9f260c2cbabb343c70a65feba6f7849edc" +checksum = "ac7349e1f55f6b801c7c277958df4ea53e7f20f21e8014910ad888b2ecda93ea" dependencies = [ "bytemuck", - "hashbrown 0.16.1", + "glifo", + "hashbrown 0.17.1", "vello_common", ] @@ -8698,9 +9016,13 @@ dependencies = [ [[package]] name = "weak-table" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "323f4da9523e9a669e1eaf9c6e763892769b1d38c623913647bfdc1532fe4549" +checksum = "5eba2ec791141b0bf4db542f6b038a8f9310cee33e076cb181245780b09a24ff" +dependencies = [ + "cfg-if", + "hashbrown 0.16.1", +] [[package]] name = "web-sys" @@ -8812,11 +9134,41 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" +[[package]] +name = "wesl" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb84b87be534d24ac15773f8942ce90a00afe06093025d014c8cfa5277afa25b" +dependencies = [ + "annotate-snippets", + "anstream", + "derive_more", + "half", + "itertools 0.15.0", + "num-traits", + "thiserror 2.0.20", + "wesl-macros", + "wgsl-parse", + "wgsl-types", +] + +[[package]] +name = "wesl-macros" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0de205d9eec254c378fa9ab1fd01e84537b6e330063d85fbf9245f65731aced" +dependencies = [ + "itertools 0.15.0", + "proc-macro2", + "quote", + "syn 3.0.3", +] + [[package]] name = "wgpu" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e8840e1ba2881d4cbb18d2147627a56af426ff064c0401eb0c8410c6325d07" +checksum = "527ccdf43dd5b2e8676eed9984ce00e2bbb0a1b85b70c1969dcb6cd2eb55ab9e" dependencies = [ "arrayvec", "bitflags 2.13.1", @@ -8824,10 +9176,9 @@ dependencies = [ "cfg-if", "cfg_aliases", "document-features", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "js-sys", "log", - "naga", "portable-atomic", "profiling", "raw-window-handle", @@ -8842,21 +9193,22 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f519832254e56965a9940c4af57dcb75f702b6f6fa4a0b172f685395843a4d7" +checksum = "14c018fce9b6270aa203c2fdd56f3cce996713534bd757e4ea58c8560b121f14" dependencies = [ "arrayvec", - "bit-set", + "bit-set 0.10.0", "bit-vec 0.9.1", "bitflags 2.13.1", "bytemuck", "cfg_aliases", "document-features", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap", "log", "naga", + "naga-types", "once_cell", "parking_lot", "portable-atomic", @@ -8875,41 +9227,41 @@ dependencies = [ [[package]] name = "wgpu-core-deps-apple" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5e39e26c4c0e07589e67d18546cf79ff45383659fc72fca4dd293358a0347f3" +checksum = "061f3d319a40d39d00b1ecc2c33b89fe21d4e6fe01859df3500a3a8ecccd6b68" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-core-deps-wasm" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1fb1798be2a912497d4c224f72d39bb0cb34af50e8bcc29865bc339c943059" +checksum = "d260ca2ca8adc654f513a869bf3cac0b47f5b8d3f87803d6942015f8de597aae" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-core-deps-windows-linux-android" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e592c1bbef6ad047647ae6e666ebd8cee7a32bb4544d9700ec96cbf73230257" +checksum = "7586165fd5f6d881cb9ce4bb71f40d6caab2c0f1837e3fc1d9788a197fb6004f" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-hal" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97ace1c17727311c22a46e4e3faf56ea6de81af99dcc839bdfb54857b94d448d" +checksum = "b6b7fb58561a792bc237628ba0792e332de418fefe145f13b5ed8201e6d52f58" dependencies = [ "android_system_properties", "arrayvec", "ash", - "bit-set", + "bit-set 0.10.0", "bitflags 2.13.1", "block2 0.6.2", "bytemuck", @@ -8918,17 +9270,18 @@ dependencies = [ "glow", "glutin_wgl_sys", "gpu-allocator", - "gpu-descriptor", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "js-sys", "khronos-egl", "libc", "libloading", "log", "naga", + "naga-types", "ndk-sys", "objc2 0.6.4", "objc2-core-foundation", + "objc2-core-graphics", "objc2-foundation 0.3.2", "objc2-metal 0.3.2", "objc2-quartz-core 0.3.2", @@ -8943,6 +9296,7 @@ dependencies = [ "raw-window-metal", "renderdoc-sys", "smallvec", + "static_assertions", "thiserror 2.0.20", "wasm-bindgen", "wayland-sys", @@ -8956,9 +9310,9 @@ dependencies = [ [[package]] name = "wgpu-naga-bridge" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95226013f547544b223281cd16a4fb549aa9dcb562adbda0faae4c73ffbbc161" +checksum = "d2f62e73117bb7a62bfd9c5a5841438a823f6566c6442a808ee269d2d055c081" dependencies = [ "naga", "wgpu-types", @@ -8966,19 +9320,49 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "29.0.4" +version = "30.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84bf84cd9ca8ca45e2b223a3868f1adf9bfc0c66aeac212e76ee7e40fdadf8f5" +checksum = "99dad6f1fbdbbdb4c278a6508b059d44688f5cebddf78d005a46a31340269286" dependencies = [ "bitflags 2.13.1", "bytemuck", "js-sys", "log", + "naga-types", "raw-window-handle", "serde", + "static_assertions", "web-sys", ] +[[package]] +name = "wgsl-parse" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c0588236e8f7cd43cd1d88322095d971fba842c7d985f484453461a376a1ce6" +dependencies = [ + "annotate-snippets", + "derive_more", + "itertools 0.15.0", + "lalrpop", + "lalrpop-util", + "lexical", + "logos", + "thiserror 2.0.20", + "wgsl-types", +] + +[[package]] +name = "wgsl-types" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfc32acf991054fb0290c5fb03d9dae60be8cbc9245c9c26e4420e11e8c0045" +dependencies = [ + "half", + "itertools 0.15.0", + "num-traits", +] + [[package]] name = "widestring" version = "1.2.1" @@ -9435,6 +9819,24 @@ version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" +[[package]] +name = "wl-clipboard-rs" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9651471a32e87d96ef3a127715382b2d11cc7c8bb9822ded8a7cc94072eb0a3" +dependencies = [ + "libc", + "log", + "os_pipe", + "rustix 1.1.4", + "thiserror 2.0.20", + "tree_magic_mini", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-wlr", +] + [[package]] name = "wmi" version = "0.18.4" @@ -9511,6 +9913,15 @@ dependencies = [ "url", ] +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + [[package]] name = "x11-dl" version = "2.21.0" @@ -9565,7 +9976,7 @@ dependencies = [ "data-encoding", "der-parser", "lazy_static", - "nom", + "nom 7.1.3", "oid-registry", "ring", "rusticata-macros", diff --git a/Cargo.toml b/Cargo.toml index 15bb8dc8..ca3cbc18 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,19 +19,19 @@ aeronet_tokio_runtime = { path = "crates/aeronet_tokio_runtime", version = "0.21 aeronet_transport = { path = "crates/aeronet_transport", version = "0.21.0", default-features = false } aeronet_websocket = { path = "crates/aeronet_websocket", version = "0.21.0", default-features = false } aeronet_webtransport = { path = "crates/aeronet_webtransport", version = "0.21.0" } -anyhow = { version = "1.0.97", default-features = false } + arbitrary = { version = "1.3.2", features = ["derive"] } base64 = { version = "0.22.1" } -bevy = { version = "0.19.0" } -bevy_app = { version = "0.19.0", default-features = false } -bevy_ecs = { version = "0.19.0", default-features = false } -bevy_egui = { version = "0.40.0" } -bevy_platform = { version = "0.19.0", default-features = false } -bevy_reflect = { version = "0.19.0", default-features = false } -bevy_replicon = { version = "0.42.1", default-features = false } -bevy_state = { version = "0.19.0", default-features = false } -bevy_time = { version = "0.19.0", default-features = false } -bevy_winit = { version = "0.19.0", default-features = false } +bevy = { version = "0.20.0-rc.1" } +bevy_app = { version = "0.20.0-rc.1", default-features = false } +bevy_ecs = { version = "0.20.0-rc.1", default-features = false } +bevy_egui = { git = "https://github.com/taboky-dev/bevy_egui.git", rev = "3cd933b7fb9800cc1ccc2a66ad2b11ae06b893cb", version = "0.42.0" } +bevy_platform = { version = "0.20.0-rc.1", default-features = false } +bevy_reflect = { version = "0.20.0-rc.1", default-features = false } +bevy_replicon = { git = "https://github.com/andriyDev/bevy_replicon.git", rev = "6d4fda8b2e811d87e65cc8d407903933604b63c9", version = "0.44", default-features = false } +bevy_state = { version = "0.20.0-rc.1", default-features = false } +bevy_time = { version = "0.20.0-rc.1", default-features = false } +bevy_winit = { version = "0.20.0-rc.1", default-features = false } bit-vec = { version = "0.8.0", default-features = false } blocking = { version = "1.6.1" } bytes = { version = "1.6.1", default-features = false } @@ -39,7 +39,7 @@ cfg-if = { version = "1.0.0" } clap = { version = "4.5.32", features = ["derive"] } derive_more = { version = "2.0.1", default-features = false } document-features = { version = "0.2.11" } -egui_plot = { version = "0.35.0" } +egui_plot = { version = "0.37.0" } either = { version = "1.15.0", default-features = false } flume = { version = "0.11.0" } futures = { version = "0.3.30" } diff --git a/crates/aeronet_channel/src/lib.rs b/crates/aeronet_channel/src/lib.rs index 8014ceb3..babbec2c 100644 --- a/crates/aeronet_channel/src/lib.rs +++ b/crates/aeronet_channel/src/lib.rs @@ -136,7 +136,7 @@ pub struct ChannelDisconnected; const MTU: usize = usize::MAX; -fn on_io_added(trigger: On, mut commands: Commands) { +fn on_io_added(trigger: On>, mut commands: Commands) { let entity = trigger.event_target(); let session = Session::new(Instant::now(), MTU); commands.entity(entity).insert((SessionEndpoint, session)); diff --git a/crates/aeronet_channel/tests/connection.rs b/crates/aeronet_channel/tests/connection.rs index e81c704a..f11c1b2d 100644 --- a/crates/aeronet_channel/tests/connection.rs +++ b/crates/aeronet_channel/tests/connection.rs @@ -38,7 +38,7 @@ fn events_connect() { let mut app = app(); app.init_resource::().add_observer( - |trigger: On, mut who: ResMut| { + |trigger: On>, mut who: ResMut| { who.0.push(trigger.event_target()); }, ); diff --git a/crates/aeronet_io/Cargo.toml b/crates/aeronet_io/Cargo.toml index d654c30e..23fe4ade 100644 --- a/crates/aeronet_io/Cargo.toml +++ b/crates/aeronet_io/Cargo.toml @@ -15,7 +15,6 @@ rustdoc-args = ["--cfg=docsrs_aeronet"] targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"] [dependencies] -anyhow = { workspace = true } bevy_app = { workspace = true, features = ["bevy_reflect"] } bevy_ecs = { workspace = true, features = ["bevy_reflect"] } bevy_platform = { workspace = true, features = ["alloc"] } @@ -39,7 +38,7 @@ bytes = { workspace = true, features = ["extra-platforms"] } [features] default = ["std"] ## Enables standard library support. -std = ["anyhow/std", "bevy_platform/std", "bytes/std", "log/std"] +std = ["bevy_platform/std", "bytes/std", "log/std"] [lints] workspace = true diff --git a/crates/aeronet_io/src/connection.rs b/crates/aeronet_io/src/connection.rs index 7a7acda3..021af392 100644 --- a/crates/aeronet_io/src/connection.rs +++ b/crates/aeronet_io/src/connection.rs @@ -1,7 +1,7 @@ //! Logic for connection and disconnection of a [`Session`]. use { - crate::{Session, SessionEndpoint}, + crate::{BevyError, Session, SessionEndpoint}, alloc::string::String, bevy_app::prelude::*, bevy_ecs::prelude::*, @@ -107,8 +107,8 @@ pub enum DisconnectReason { /// - ..and more /// /// If you want to get the concrete error type, use - /// [`anyhow::Error::downcast_ref`]. - ByError(anyhow::Error), + /// [`BevyError::downcast_ref`]. + ByError(BevyError), } impl DisconnectReason { @@ -126,14 +126,14 @@ impl DisconnectReason { /// Creates a [`DisconnectReason::ByError`] from the given reason. #[must_use] - pub fn by_error(reason: impl Into) -> Self { + pub fn by_error(reason: impl Into) -> Self { Self::ByError(reason.into()) } /// If this value is a [`DisconnectReason::ByError`], creates a new /// [`DisconnectReason::ByError`] using the mapping function. #[must_use] - pub fn map_err(self, f: impl FnOnce(anyhow::Error) -> anyhow::Error) -> Self { + pub fn map_err(self, f: impl FnOnce(BevyError) -> BevyError) -> Self { match self { Self::ByUser(reason) => Self::ByUser(reason), Self::ByPeer(reason) => Self::ByPeer(reason), @@ -142,7 +142,7 @@ impl DisconnectReason { } } -impl> From for DisconnectReason { +impl> From for DisconnectReason { fn from(value: E) -> Self { Self::by_error(value) } @@ -185,12 +185,12 @@ pub struct LocalAddr(pub SocketAddr); #[derive(Debug, Clone, Copy, PartialEq, Eq, Deref, Component)] pub struct PeerAddr(pub SocketAddr); -fn on_connecting(trigger: On) { +fn on_connecting(trigger: On>) { let entity = trigger.event_target(); debug!("{entity} connecting"); } -fn on_connected(trigger: On) { +fn on_connected(trigger: On>) { let entity = trigger.event_target(); debug!("{entity} connected"); } diff --git a/crates/aeronet_io/src/lib.rs b/crates/aeronet_io/src/lib.rs index 31bb508e..173246cf 100644 --- a/crates/aeronet_io/src/lib.rs +++ b/crates/aeronet_io/src/lib.rs @@ -8,6 +8,11 @@ pub mod connection; pub mod packet; pub mod server; +pub use {bevy_ecs::error::BevyError, bytes}; + +/// A [`core::result::Result`] that defaults to [`BevyError`]. +pub type Result = core::result::Result; + use { alloc::vec::Vec, bevy_app::prelude::*, @@ -17,7 +22,6 @@ use { bytes::Bytes, packet::{MtuTooSmall, PacketStats, RecvPacket}, }; -pub use {anyhow, bytes}; /// Sets up the IO layer functionality. /// diff --git a/crates/aeronet_io/src/server.rs b/crates/aeronet_io/src/server.rs index f1ea9f60..7e5541d2 100644 --- a/crates/aeronet_io/src/server.rs +++ b/crates/aeronet_io/src/server.rs @@ -8,7 +8,7 @@ //! [`Session`]: crate::Session use { - crate::connection::Disconnect, + crate::{BevyError, connection::Disconnect}, alloc::{string::String, vec::Vec}, bevy_app::prelude::*, bevy_ecs::prelude::*, @@ -57,7 +57,7 @@ pub struct ServerEndpoint; /// should be disconnected instead of the entire server being torn down. /// /// To listen for when a server is opened, add an observer listening for -/// [`On`]. +/// [`On>`]. /// /// When a client connects, it is spawned as a [child] of the server entity. /// Therefore, to query for sessions spawned under a server, use @@ -162,8 +162,8 @@ pub enum CloseReason { /// down. /// /// If you want to get the concrete error type, use - /// [`anyhow::Error::downcast_ref`]. - ByError(anyhow::Error), + /// [`BevyError::downcast_ref`]. + ByError(BevyError), } impl CloseReason { @@ -175,14 +175,14 @@ impl CloseReason { /// Creates a [`CloseReason::ByError`] from the given reason. #[must_use] - pub fn by_error(reason: impl Into) -> Self { + pub fn by_error(reason: impl Into) -> Self { Self::ByError(reason.into()) } /// If this value is a [`CloseReason::ByError`], creates a new /// [`CloseReason::ByError`] using the mapping function. #[must_use] - pub fn map_err(self, f: impl FnOnce(anyhow::Error) -> anyhow::Error) -> Self { + pub fn map_err(self, f: impl FnOnce(BevyError) -> BevyError) -> Self { match self { Self::ByUser(reason) => Self::ByUser(reason), Self::ByError(err) => Self::ByError(f(err)), @@ -190,18 +190,18 @@ impl CloseReason { } } -impl> From for CloseReason { +impl> From for CloseReason { fn from(value: E) -> Self { Self::by_error(value) } } -fn on_opening(trigger: On) { +fn on_opening(trigger: On>) { let target = trigger.event_target(); debug!("{target} opening"); } -fn on_opened(trigger: On) { +fn on_opened(trigger: On>) { let target = trigger.event_target(); debug!("{target} opened"); } diff --git a/crates/aeronet_iroh/examples/iroh_peer.rs b/crates/aeronet_iroh/examples/iroh_peer.rs index b39cc770..530aa52c 100644 --- a/crates/aeronet_iroh/examples/iroh_peer.rs +++ b/crates/aeronet_iroh/examples/iroh_peer.rs @@ -47,7 +47,7 @@ fn open_endpoint(mut commands: Commands) { } fn on_endpoint_opened( - trigger: On, + trigger: On>, endpoints: Query<&IrohEndpoint>, args: Res, mut commands: Commands, @@ -74,7 +74,7 @@ fn on_session_request(mut request: On) { request.respond(SessionResponse::Accepted); } -fn on_connecting(trigger: On, sessions: Query<&IrohSession>) { +fn on_connecting(trigger: On>, sessions: Query<&IrohSession>) { let entity = trigger.event_target(); let Ok(session) = sessions.get(entity) else { return; @@ -84,7 +84,7 @@ fn on_connecting(trigger: On, sessions: Query<&IrohSession } fn on_connected( - trigger: On, + trigger: On>, endpoints: Query<&IrohEndpoint>, mut sessions: Query<(&IrohSession, &mut Session)>, ) { @@ -133,7 +133,8 @@ fn reply(endpoints: Query<&IrohEndpoint>, mut sessions: Query<(&IrohSession, &mu .get(iroh_session.endpoint()) .expect("session endpoint should exist"); - // Explicit dereference lets us access the disjoint receive and send fields. + // Explicit dereference lets us access the disjoint receive and send + // fields. let session = &mut *session; for packet in session.recv.drain(..) { let message = diff --git a/crates/aeronet_iroh/src/endpoint/mod.rs b/crates/aeronet_iroh/src/endpoint/mod.rs index 2d3feb24..a4313044 100644 --- a/crates/aeronet_iroh/src/endpoint/mod.rs +++ b/crates/aeronet_iroh/src/endpoint/mod.rs @@ -41,7 +41,7 @@ impl Plugin for IrohEndpointPlugin { /// /// Use [`IrohEndpoint::open`] to start opening an endpoint. The component is /// added once the endpoint has successfully bound and is ready. You can observe -/// `On` to learn when this happens. +/// `On>` to learn when this happens. /// /// When a peer attempts to connect, the endpoint will trigger a /// [`SessionRequest`](session::SessionRequest). Your app **must** observe this, diff --git a/crates/aeronet_replicon/src/client.rs b/crates/aeronet_replicon/src/client.rs index 59b3b79a..40eab97d 100644 --- a/crates/aeronet_replicon/src/client.rs +++ b/crates/aeronet_replicon/src/client.rs @@ -118,7 +118,7 @@ pub enum ClientTransportSystems { pub struct AeronetRepliconClient; fn on_client_connected( - trigger: On, + trigger: On>, mut commands: Commands, clients: Query<&Session, With>, channels: Res, diff --git a/crates/aeronet_replicon/src/server.rs b/crates/aeronet_replicon/src/server.rs index 6f74cfa1..fb2e244b 100644 --- a/crates/aeronet_replicon/src/server.rs +++ b/crates/aeronet_replicon/src/server.rs @@ -142,7 +142,7 @@ fn update_state( } fn on_connected( - trigger: On, + trigger: On>, sessions: Query<&Session>, child_of: Query<&ChildOf>, open_servers: Query<(), OpenedServer>, @@ -231,8 +231,8 @@ fn update_client_data( for (client, session, session_stats, connected_client, mut client_stats) in &mut clients { let stats = session_stats.last().copied().unwrap_or_default(); let mtu = session.mtu(); - // ConnectedClient is immutable, so it needs to be re-inserted when `max_size` - // changes. + // ConnectedClient is immutable, so it needs to be re-inserted when + // `max_size` changes. if connected_client.max_size != mtu { commands .entity(client) diff --git a/crates/aeronet_steam/Cargo.toml b/crates/aeronet_steam/Cargo.toml index 74805c92..52274d34 100644 --- a/crates/aeronet_steam/Cargo.toml +++ b/crates/aeronet_steam/Cargo.toml @@ -30,7 +30,7 @@ required-features = ["server"] [dependencies] aeronet_io = { workspace = true } -anyhow = { workspace = true } + bevy_app = { workspace = true } bevy_ecs = { workspace = true } bevy_platform = { workspace = true } diff --git a/crates/aeronet_steam/examples/steam_client.rs b/crates/aeronet_steam/examples/steam_client.rs index c379238a..8f3625a8 100644 --- a/crates/aeronet_steam/examples/steam_client.rs +++ b/crates/aeronet_steam/examples/steam_client.rs @@ -56,7 +56,7 @@ fn setup_camera(mut commands: Commands) { commands.spawn(Camera2d); } -fn on_connecting(trigger: On, names: Query<&Name>, mut log: ResMut) { +fn on_connecting(trigger: On>, names: Query<&Name>, mut log: ResMut) { let session = trigger.event_target(); let name = names .get(session) @@ -64,7 +64,7 @@ fn on_connecting(trigger: On, names: Query<&Name>, mut log log.push(format!("{name} connecting")); } -fn on_connected(trigger: On, names: Query<&Name>, mut log: ResMut) { +fn on_connected(trigger: On>, names: Query<&Name>, mut log: ResMut) { let session = trigger.event_target(); let name = names .get(session) diff --git a/crates/aeronet_steam/examples/steam_dedicated_server.rs b/crates/aeronet_steam/examples/steam_dedicated_server.rs index 96276f70..d164bfaf 100644 --- a/crates/aeronet_steam/examples/steam_dedicated_server.rs +++ b/crates/aeronet_steam/examples/steam_dedicated_server.rs @@ -107,7 +107,7 @@ fn open_server(mut commands: Commands) { .queue(SteamNetServer::open(SessionConfig::default(), target)); } -fn on_opened(trigger: On, servers: Query<&LocalAddr>) { +fn on_opened(trigger: On>, servers: Query<&LocalAddr>) { let server = trigger.event_target(); if let Ok(local_addr) = servers.get(server) { info!("{server} opened on {:?}", **local_addr); @@ -133,7 +133,7 @@ fn on_session_request(mut request: On, clients: Query<&ChildOf>) request.respond(SessionResponse::Accepted); } -fn on_connecting(trigger: On, clients: Query<&ChildOf>) { +fn on_connecting(trigger: On>, clients: Query<&ChildOf>) { let client = trigger.event_target(); let Ok(&ChildOf(server)) = clients.get(client) else { return; @@ -142,7 +142,7 @@ fn on_connecting(trigger: On, clients: Query<&ChildOf>) { info!("{client} connecting to {server}"); } -fn on_connected(trigger: On, clients: Query<&ChildOf>) { +fn on_connected(trigger: On>, clients: Query<&ChildOf>) { let client = trigger.event_target(); let Ok(&ChildOf(server)) = clients.get(client) else { return; diff --git a/crates/aeronet_steam/examples/steam_server.rs b/crates/aeronet_steam/examples/steam_server.rs index 2267d967..3efb2431 100644 --- a/crates/aeronet_steam/examples/steam_server.rs +++ b/crates/aeronet_steam/examples/steam_server.rs @@ -58,7 +58,7 @@ fn open_server(mut commands: Commands) { } fn on_opened( - trigger: On, + trigger: On>, servers: Query<&LocalAddr>, mut commands: Commands, ) { @@ -86,7 +86,7 @@ fn on_session_request(mut request: On) { request.respond(SessionResponse::Accepted); } -fn on_connecting(trigger: On, clients: Query<&ChildOf>) { +fn on_connecting(trigger: On>, clients: Query<&ChildOf>) { let client = trigger.event_target(); let Ok(&ChildOf(server)) = clients.get(client) else { return; @@ -95,7 +95,7 @@ fn on_connecting(trigger: On, clients: Query<&ChildOf>) { info!("{client} connecting to {server}"); } -fn on_connected(trigger: On, clients: Query<&ChildOf>) { +fn on_connected(trigger: On>, clients: Query<&ChildOf>) { let client = trigger.event_target(); let Ok(&ChildOf(server)) = clients.get(client) else { return; diff --git a/crates/aeronet_steam/src/server.rs b/crates/aeronet_steam/src/server.rs index dc0ebb48..f6f64f7b 100644 --- a/crates/aeronet_steam/src/server.rs +++ b/crates/aeronet_steam/src/server.rs @@ -7,13 +7,12 @@ use { session::{SessionError, SteamNetIo, SteamNetSessionPlugin, entity_to_user_data}, }, aeronet_io::{ - IoSystems, Session, SessionEndpoint, + IoSystems, Result, Session, SessionEndpoint, connection::LocalAddr, server::{CloseReason, Closed, Server, ServerEndpoint}, }, - anyhow::{Context, Result, bail}, bevy_app::prelude::*, - bevy_ecs::prelude::*, + bevy_ecs::{bail, prelude::*}, bevy_platform::{ collections::{HashMap, hash_map::Entry}, time::Instant, @@ -414,7 +413,11 @@ fn on_connecting( let entry = match server_io.clients.entry(steam_id) { Entry::Occupied(entry) => { let client = entry.get(); - bail!("steam ID {steam_id:?} is already mapped to client {client}"); + bail!( + "steam ID {:?} is already mapped to client {}", + steam_id, + client + ); } Entry::Vacant(entry) => entry, }; @@ -464,10 +467,10 @@ fn on_connected( } fn on_remove_client( - trigger: On, + trigger: On>, clients: Query<(&SteamNetServerClient, &ChildOf)>, mut servers: Query<&mut SteamNetServer>, -) -> Result<(), BevyError> { +) -> Result<()> { let entity = trigger.event_target(); let (client_io, &ChildOf(server)) = clients .get(entity) diff --git a/crates/aeronet_steam/src/session.rs b/crates/aeronet_steam/src/session.rs index a4a23ff0..b71235fd 100644 --- a/crates/aeronet_steam/src/session.rs +++ b/crates/aeronet_steam/src/session.rs @@ -86,7 +86,7 @@ pub enum SessionError { struct PollGroup(NetPollGroup); fn init_io( - trigger: On, + trigger: On>, steam: Option>, io: Query<&SteamNetIo>, poll_group: Option>, @@ -111,8 +111,8 @@ fn init_io( // - init authentication // - create poll group // - // this means that if the poll group is removed, we re-init authentication - // but this should be fine, I think + // this means that if the poll group is removed, we re-init + // authentication but this should be fine, I think // https://github.com/cBournhonesque/lightyear/issues/243 steam @@ -156,7 +156,8 @@ fn poll_io( Ok(NetworkingConnectionState::Connected) => { // make sure we don't replace any existing session // since `Connected` could theoretically be called twice, - // and we may make a `Session` manually *before* receiving this event + // and we may make a `Session` manually *before* receiving this + // event let mtu = io.mtu; commands .entity(entity) @@ -243,14 +244,18 @@ fn poll_messages( // // This code is UNSOUND, because the message is of length 0, // this panics due to debug assertions in `std` - // (and in release, will fail silently, causing memory unsafety!) + // (and in release, will fail silently, causing memory + // unsafety!) // - // `steamworks-rs` maintainer is unresponsive, and there hasn't been an update - // in a long time (as of 28 Mar 2025). We should make a `steam-sockets` crate - // which provides bindings for only the Steam socket functionality, and irons - // out all of the issues of `steamworks-rs`. + // `steamworks-rs` maintainer is unresponsive, and there hasn't + // been an update in a long time (as of 28 Mar + // 2025). We should make a `steam-sockets` crate + // which provides bindings for only the Steam socket + // functionality, and irons out all of the + // issues of `steamworks-rs`. // - // This would also let us fix a bunch of other miscellaneous issues. + // This would also let us fix a bunch of other miscellaneous + // issues. let payload = Bytes::from(packet.data().to_vec()); session.stats.packets_recv += 1; diff --git a/crates/aeronet_transport/Cargo.toml b/crates/aeronet_transport/Cargo.toml index 6b6bc3b2..43997b10 100644 --- a/crates/aeronet_transport/Cargo.toml +++ b/crates/aeronet_transport/Cargo.toml @@ -15,11 +15,12 @@ rustdoc-args = ["--cfg=docsrs_aeronet"] targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"] [package.metadata.cargo-shear] -ignored = ["bevy_winit"] +ignored = ["bevy", "bevy_winit"] [dependencies] aeronet_io = { workspace = true } arbitrary = { workspace = true, optional = true } +bevy = { version = "0.20.0-rc.1", default-features = false, features = ["bevy_extract"], optional = true } bevy_app = { workspace = true } bevy_ecs = { workspace = true } bevy_egui = { workspace = true, optional = true } @@ -88,6 +89,7 @@ std = ["aeronet_io/std"] ## [`bevy_egui`]: https://docs.rs/bevy_egui ## [`egui_plot`]: https://docs.rs/egui_plot visualizer = [ + "dep:bevy", "dep:bevy_egui", "dep:egui_plot", "dep:itertools", diff --git a/crates/aeronet_transport/fuzz/Cargo.lock b/crates/aeronet_transport/fuzz/Cargo.lock index 02483558..ddf326c3 100644 --- a/crates/aeronet_transport/fuzz/Cargo.lock +++ b/crates/aeronet_transport/fuzz/Cargo.lock @@ -6,7 +6,6 @@ version = 4 name = "aeronet_io" version = "0.21.0" dependencies = [ - "anyhow", "bevy_app", "bevy_ecs", "bevy_platform", @@ -45,12 +44,6 @@ dependencies = [ "libfuzzer-sys", ] -[[package]] -name = "anyhow" -version = "1.0.97" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" - [[package]] name = "arbitrary" version = "1.4.1" @@ -97,9 +90,9 @@ dependencies = [ [[package]] name = "bevy_app" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671ae6f3a8d84f9ed696c531a138558596e041231a8414b6efeafa8469e841f9" +checksum = "964978b1f1ffd37d4feeb0e5814c0ac742423dce0a84c2435fe11d97ea8d4ca9" dependencies = [ "bevy_derive", "bevy_ecs", @@ -115,9 +108,9 @@ dependencies = [ [[package]] name = "bevy_derive" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "293df2b2f7ed65ef2ce02b2e7359faac1a9a92a8cc96c182c9de77eb06049ae0" +checksum = "7d82daafb39a96cbe8f9db5f393d13b4c47c6505188f3e0cf324fe3ddcd63d14" dependencies = [ "bevy_macro_utils", "quote", @@ -126,9 +119,9 @@ dependencies = [ [[package]] name = "bevy_ecs" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4654b9b3535fa7813d2878a50e1b5ad80a361dc1c913b96ded57667f65d70a01" +checksum = "336c56027498f943ec97292fafe30f072fd2241c4da9237a735dddb91166fd81" dependencies = [ "arrayvec", "bevy_ecs_macros", @@ -153,9 +146,9 @@ dependencies = [ [[package]] name = "bevy_ecs_macro_logic" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee0b98a74141ce8dce4654c60020ebbaefab32646f42af6bbae55f282ae65ff7" +checksum = "0db6aea26810c09e39c094bd0cca992bb058eeb28509d14997e01d2d531377bd" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -165,9 +158,9 @@ dependencies = [ [[package]] name = "bevy_ecs_macros" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc958a194d226d618404e0fea99a3c8b4146207a00a3ba07fa712bf71607240" +checksum = "9c17762fae975901bef29eee67634120575bfb82765d5c283ad925fc7c1dfff7" dependencies = [ "bevy_ecs_macro_logic", "bevy_macro_utils", @@ -178,9 +171,9 @@ dependencies = [ [[package]] name = "bevy_macro_utils" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "746a19912c6dc1bbe79188778573e8a253d5832c696b2fcb95578c17b29ff7ba" +checksum = "4e56c1eb75e35a61c95bf5638d52c18fb77aee91701ab809ae8224eac830d2c4" dependencies = [ "proc-macro2", "quote", @@ -190,9 +183,9 @@ dependencies = [ [[package]] name = "bevy_platform" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3120670bb2308980f723477c9d82476fcda31f08be9b256c3f0acdee82a65094" +checksum = "9fea429ddbd84d2c2d83f179c101e30e4e3e9936873732fe2ad6aa599d3ca3cd" dependencies = [ "critical-section", "foldhash", @@ -210,15 +203,15 @@ dependencies = [ [[package]] name = "bevy_ptr" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b511e89f7078fd21fdea77061a0ca3e737297c7011bb10c073e0aecb17c9fea6" +checksum = "12e5f31b88040abbbb6ba5ce01a1a08c7e47b6c98e085739d3463f17b6ce43bc" [[package]] name = "bevy_reflect" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92abd59cbba1524c1847e9a50f74d94e6b7836c80a8edfa9c47e59f7fd81021d" +checksum = "fbe473c05cdeea8f27f7f3db04ed6b6fbc4c45b4f6c0f6082bdd807e1ceaf1fb" dependencies = [ "assert_type_match", "bevy_platform", @@ -239,9 +232,9 @@ dependencies = [ [[package]] name = "bevy_reflect_derive" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fa4e6b97fd2d582dd5ed96762a70d04505a477c833cf4f69d016dcd03d2d04" +checksum = "3074678c132bf8c88edcca22ae9079f6b38b199752d0e98232a30651841887ec" dependencies = [ "bevy_macro_utils", "indexmap", @@ -253,9 +246,9 @@ dependencies = [ [[package]] name = "bevy_tasks" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa34e6b9b804851ec08a41c0346c859d82e2fa98c906d74b965ee61bbbb688e4" +checksum = "03762b1b385880529b06435f1a553ba926b4aa766f3ea3c7ef389ddf947ff036" dependencies = [ "async-task", "atomic-waker", @@ -269,9 +262,9 @@ dependencies = [ [[package]] name = "bevy_time" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c21e3be2aa4426ea1e0a7036d3d1dbbded84c319459d9f3e2a616b33563372f2" +checksum = "e4f2a496c51f709a092881eef01696bfb3fcde832df02dd3bd5f079baf3d02d0" dependencies = [ "bevy_app", "bevy_ecs", @@ -281,9 +274,9 @@ dependencies = [ [[package]] name = "bevy_utils" -version = "0.19.0" +version = "0.20.0-rc.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aceea6c7ffdd568f866d5ca4dfe50c33440c54f7bc230c13a9ba7ab0c91aed1" +checksum = "884820c664f6fa35afa43318092f28ef8d7ed598f88886ae65ce6c1be06c00f2" dependencies = [ "bevy_platform", "disqualified", @@ -568,6 +561,12 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "mutants" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc0287524726960e07b119cebd01678f852f147742ae0d925e6a520dca956126" + [[package]] name = "nonmax" version = "0.5.5" @@ -639,6 +638,12 @@ dependencies = [ "portable-atomic-util", ] +[[package]] +name = "rustc-hash" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" + [[package]] name = "rustversion" version = "1.0.22" @@ -697,9 +702,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "spin" -version = "0.10.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" +checksum = "0134f9043ed38b087ac4f7d4af44c79e2c9e5094421fe3164f435ce585953b10" dependencies = [ "portable-atomic", ] @@ -809,6 +814,17 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "unsynn" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501a7adf1a4bd9951501e5c66621e972ef8874d787628b7f90e64f936ef7ec0a" +dependencies = [ + "mutants", + "proc-macro2", + "rustc-hash", +] + [[package]] name = "uuid" version = "1.24.0" @@ -821,13 +837,12 @@ dependencies = [ [[package]] name = "variadics_please" -version = "1.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" +checksum = "b53d0f7f2d0182759a549f1f313ce16b07d8f9ba93098157b5fa10ee3e61117f" dependencies = [ - "proc-macro2", "quote", - "syn", + "unsynn", ] [[package]] diff --git a/crates/aeronet_transport/src/frag.rs b/crates/aeronet_transport/src/frag.rs index 7f1b932c..ceb53d9a 100644 --- a/crates/aeronet_transport/src/frag.rs +++ b/crates/aeronet_transport/src/frag.rs @@ -312,7 +312,8 @@ impl FragmentReceiver { } buf.payload[start..end].copy_from_slice(payload); - // only update the buffer meta once we know there are no more error paths + // only update the buffer meta once we know there are no more error + // paths buf.frag_indices_recv.set(frag_index, true); buf.max_frag_index = buf.max_frag_index.max(frag_index); diff --git a/crates/aeronet_transport/src/lib.rs b/crates/aeronet_transport/src/lib.rs index 769bca71..764c5a93 100644 --- a/crates/aeronet_transport/src/lib.rs +++ b/crates/aeronet_transport/src/lib.rs @@ -92,7 +92,7 @@ impl Plugin for AeronetTransportPlugin { /// # Lifecycle /// /// After [`Session`] is added to your entity, you should create and add a -/// [`Transport`] component - use a [`On`] for this. If +/// [`Transport`] component - use a [`On>`] for this. If /// you are using a crate like `aeronet_replicon`, this step will already be /// handled for you. You can also add or mutate [`TransportConfig`] at any /// time during the session lifetime to change its configuration. @@ -229,7 +229,7 @@ impl Transport { /// /// const LANES: [LaneKind; 1] = [LaneKind::ReliableOrdered]; /// - /// fn on_connected(trigger: On, sessions: Query<&Session>, mut commands: Commands) { + /// fn on_connected(trigger: On>, sessions: Query<&Session>, mut commands: Commands) { /// let entity = trigger.event_target(); /// let session = sessions /// .get(entity) diff --git a/crates/aeronet_transport/src/recv.rs b/crates/aeronet_transport/src/recv.rs index 0f30705f..1ba4635f 100644 --- a/crates/aeronet_transport/src/recv.rs +++ b/crates/aeronet_transport/src/recv.rs @@ -395,7 +395,8 @@ fn recv_on_lane( } LaneState::UnreliableSequenced { pending } => { if msg_seq < *pending { - // msg is older than the message we're expecting to get next, drop it + // msg is older than the message we're expecting to get next, + // drop it Either::Left(None) } else { // msg is the one we're expecting to get or newer, return it diff --git a/crates/aeronet_transport/src/sampling.rs b/crates/aeronet_transport/src/sampling.rs index 642356f3..5a630c0f 100644 --- a/crates/aeronet_transport/src/sampling.rs +++ b/crates/aeronet_transport/src/sampling.rs @@ -200,7 +200,7 @@ pub struct SessionStatsSample { } fn add_session_stats( - trigger: On, + trigger: On>, mut commands: Commands, sampling: Res, ) { diff --git a/crates/aeronet_transport/src/send.rs b/crates/aeronet_transport/src/send.rs index aaab7997..f1fd9818 100644 --- a/crates/aeronet_transport/src/send.rs +++ b/crates/aeronet_transport/src/send.rs @@ -342,10 +342,11 @@ pub fn flush_on( // make a buffer for the packet // note: we may want to preallocate some memory for this, - // and have it be user-configurable, but I don't want to overcomplicate it - // also, we don't preallocate `mtu` bytes, because that might be a big length - // e.g. Steamworks already fragments messages, so we don't fragment messages - // ourselves, leading to very large `mtu`s (~512KiB) + // and have it be user-configurable, but I don't want to overcomplicate + // it also, we don't preallocate `mtu` bytes, because that might + // be a big length e.g. Steamworks already fragments messages, + // so we don't fragment messages ourselves, leading to very + // large `mtu`s (~512KiB) let mut packet = Vec::::new(); // we can't put more than either `mtu` or `bytes_left` diff --git a/crates/aeronet_transport/src/visualizer.rs b/crates/aeronet_transport/src/visualizer.rs index be3ef828..a4d152c1 100644 --- a/crates/aeronet_transport/src/visualizer.rs +++ b/crates/aeronet_transport/src/visualizer.rs @@ -20,7 +20,7 @@ use { egui::{self, epaint::Hsva}, }, bevy_platform::time::Instant, - core::{hash::Hash, ops::RangeInclusive, time::Duration}, + core::{fmt::Debug, hash::Hash, ops::RangeInclusive, time::Duration}, itertools::Itertools, ringbuf::traits::Consumer, size_format::{BinaryPrefixes, PointSeparated, SizeFormatter}, @@ -509,7 +509,7 @@ fn graph_x(index: usize, sample_rate: f64) -> f64 { x } -fn plot(history_sec: f64, id_salt: impl Hash) -> egui_plot::Plot<'static> { +fn plot(history_sec: f64, id_salt: impl Hash + Debug) -> egui_plot::Plot<'static> { egui_plot::Plot::new(id_salt) .height(150.0) .view_aspect(2.5) diff --git a/crates/aeronet_websocket/examples/websocket_client.rs b/crates/aeronet_websocket/examples/websocket_client.rs index 9e8ae44c..635b9b42 100644 --- a/crates/aeronet_websocket/examples/websocket_client.rs +++ b/crates/aeronet_websocket/examples/websocket_client.rs @@ -38,7 +38,7 @@ fn setup_camera(mut commands: Commands) { commands.spawn(Camera2d); } -fn on_connecting(trigger: On, names: Query<&Name>, mut log: ResMut) { +fn on_connecting(trigger: On>, names: Query<&Name>, mut log: ResMut) { let target = trigger.event_target(); let name = names .get(target) @@ -46,7 +46,7 @@ fn on_connecting(trigger: On, names: Query<&Name>, mut log log.push(format!("{name} connected")); } -fn on_connected(trigger: On, names: Query<&Name>, mut log: ResMut) { +fn on_connected(trigger: On>, names: Query<&Name>, mut log: ResMut) { let target = trigger.event_target(); let name = names .get(target) diff --git a/crates/aeronet_websocket/examples/websocket_server.rs b/crates/aeronet_websocket/examples/websocket_server.rs index c5c1742d..a56e063f 100644 --- a/crates/aeronet_websocket/examples/websocket_server.rs +++ b/crates/aeronet_websocket/examples/websocket_server.rs @@ -52,7 +52,7 @@ fn on_closed(trigger: On) { panic!("server closed: {:?}", trigger.event()); } -fn on_opened(trigger: On, servers: Query<&LocalAddr>) { +fn on_opened(trigger: On>, servers: Query<&LocalAddr>) { let server = trigger.event_target(); let local_addr = servers .get(server) @@ -60,7 +60,7 @@ fn on_opened(trigger: On, servers: Query<&LocalAddr>) { info!("{server} opened on {}", **local_addr); } -fn on_connecting(trigger: On, clients: Query<&ChildOf>) { +fn on_connecting(trigger: On>, clients: Query<&ChildOf>) { let client = trigger.event_target(); let Ok(&ChildOf(server)) = clients.get(client) else { return; @@ -69,7 +69,7 @@ fn on_connecting(trigger: On, clients: Query<&ChildOf>) { info!("{client} connecting to {server}"); } -fn on_connected(trigger: On, clients: Query<&ChildOf>) { +fn on_connected(trigger: On>, clients: Query<&ChildOf>) { let client = trigger.event_target(); let Ok(&ChildOf(server)) = clients.get(client) else { return; diff --git a/crates/aeronet_websocket/tests/connection.rs b/crates/aeronet_websocket/tests/connection.rs index d6d42b8c..52509a95 100644 --- a/crates/aeronet_websocket/tests/connection.rs +++ b/crates/aeronet_websocket/tests/connection.rs @@ -146,7 +146,7 @@ fn ping_pong( struct ClientEntity(Entity); fn on_add_server_endpoint( - trigger: On, + trigger: On>, expected_server: Res, mut seq: ResMut>, ) { @@ -155,7 +155,7 @@ fn ping_pong( } fn on_add_server( - trigger: On, + trigger: On>, expected_server: Res, mut seq: ResMut>, ) { @@ -165,7 +165,7 @@ fn ping_pong( } fn on_add_session_endpoint( - trigger: On, + trigger: On>, parents: Query<&ChildOf>, expected_server: Res, mut seq: ResMut>, @@ -182,7 +182,7 @@ fn ping_pong( } fn on_add_session( - trigger: On, + trigger: On>, expected_client: Res, mut seq: ResMut>, ) { @@ -238,7 +238,7 @@ fn ping_pong( struct ClientEntity(Entity); fn on_add_session_endpoint( - trigger: On, + trigger: On>, mut seq: ResMut>, mut commands: Commands, ) { @@ -248,7 +248,7 @@ fn ping_pong( } fn on_add_session( - trigger: On, + trigger: On>, expected_client: Res, mut seq: ResMut>, mut sessions: Query<&mut Session>, diff --git a/crates/aeronet_websocket/tests/exchange.rs b/crates/aeronet_websocket/tests/exchange.rs index 365748b5..4e1efcaf 100644 --- a/crates/aeronet_websocket/tests/exchange.rs +++ b/crates/aeronet_websocket/tests/exchange.rs @@ -38,7 +38,7 @@ fn test_exchange(port: u16, msg: &'static [u8]) { }, ) .add_observer( - |trigger: On, mut session: Query<&mut Session>| { + |trigger: On>, mut session: Query<&mut Session>| { let mut session = session.get_mut(trigger.entity).unwrap(); session.send.push(Bytes::new()); }, @@ -63,7 +63,7 @@ fn test_exchange(port: u16, msg: &'static [u8]) { // send packet on connect entity.observe( - move |trigger: On, mut session: Query<&mut Session>| { + move |trigger: On>, mut session: Query<&mut Session>| { let mut session = session.get_mut(trigger.entity).unwrap(); session.send.push(Bytes::from_static(msg)); }, diff --git a/crates/aeronet_webtransport/Cargo.toml b/crates/aeronet_webtransport/Cargo.toml index 2e077600..1ec171b4 100644 --- a/crates/aeronet_webtransport/Cargo.toml +++ b/crates/aeronet_webtransport/Cargo.toml @@ -50,7 +50,6 @@ tracing = { workspace = true } xwt-core = { workspace = true } [dev-dependencies] -anyhow = { workspace = true } bevy = { workspace = true } bevy_egui = { workspace = true } diff --git a/crates/aeronet_webtransport/examples/webtransport_client.rs b/crates/aeronet_webtransport/examples/webtransport_client.rs index 8ae1ea50..ee3b826f 100644 --- a/crates/aeronet_webtransport/examples/webtransport_client.rs +++ b/crates/aeronet_webtransport/examples/webtransport_client.rs @@ -3,7 +3,7 @@ use { aeronet_io::{ - Session, SessionEndpoint, + Result, Session, SessionEndpoint, connection::{Disconnect, DisconnectReason, Disconnected, LocalAddr, PeerAddr}, packet::PacketRtt, }, @@ -47,7 +47,7 @@ fn setup_camera(mut commands: Commands) { commands.spawn(Camera2d); } -fn on_connecting(trigger: On, names: Query<&Name>, mut log: ResMut) { +fn on_connecting(trigger: On>, names: Query<&Name>, mut log: ResMut) { let target = trigger.event_target(); let name = names .get(target) @@ -55,7 +55,7 @@ fn on_connecting(trigger: On, names: Query<&Name>, mut log log.push(format!("{name} connecting")); } -fn on_connected(trigger: On, names: Query<&Name>, mut log: ResMut) { +fn on_connected(trigger: On>, names: Query<&Name>, mut log: ResMut) { let target = trigger.event_target(); let name = names .get(target) @@ -142,10 +142,10 @@ fn global_ui( } #[cfg(target_family = "wasm")] -fn client_config(cert_hash: String) -> Result { +fn client_config(cert_hash: String) -> Result { use { aeronet_webtransport::xwt_web::{CertificateHash, HashAlgorithm}, - anyhow::bail, + bevy_ecs::bail, }; let server_certificate_hashes = if cert_hash.is_empty() { @@ -157,7 +157,7 @@ fn client_config(cert_hash: String) -> Result { value: Vec::from(hash), }], Err(err) => { - bail!("Failed to read certificate hash from string: {err:?}"); + bail!("Failed to read certificate hash from string: {:?}", err); } } }; @@ -169,7 +169,7 @@ fn client_config(cert_hash: String) -> Result { } #[cfg(not(target_family = "wasm"))] -fn client_config(cert_hash: String) -> Result { +fn client_config(cert_hash: String) -> Result { use {aeronet_webtransport::wtransport::tls::Sha256Digest, core::time::Duration}; let config = ClientConfig::builder().with_bind_default(); diff --git a/crates/aeronet_webtransport/examples/webtransport_server.rs b/crates/aeronet_webtransport/examples/webtransport_server.rs index 474fccf2..f0d800b8 100644 --- a/crates/aeronet_webtransport/examples/webtransport_server.rs +++ b/crates/aeronet_webtransport/examples/webtransport_server.rs @@ -71,7 +71,7 @@ fn server_config(identity: wtransport::Identity) -> ServerConfig { } fn on_opened( - trigger: On, + trigger: On>, servers: Query<&LocalAddr>, mut commands: Commands, ) { @@ -99,7 +99,7 @@ fn on_session_request(mut request: On) { request.respond(SessionResponse::Accepted); } -fn on_connected(trigger: On, clients: Query<&ChildOf>) { +fn on_connected(trigger: On>, clients: Query<&ChildOf>) { let client = trigger.event_target(); let Ok(&ChildOf(server)) = clients.get(client) else { return; diff --git a/crates/aeronet_webtransport/src/session.rs b/crates/aeronet_webtransport/src/session.rs index a72a125b..9305358a 100644 --- a/crates/aeronet_webtransport/src/session.rs +++ b/crates/aeronet_webtransport/src/session.rs @@ -400,9 +400,11 @@ async fn send_loop( Ok(()) } Err(SendDatagramError::TooLarge) => { - // the backend constantly informs the frontend about changes in the path MTU - // so hopefully the frontend will realise its packets are exceeding MTU, - // and shrink them accordingly; therefore this is just a one-off error + // the backend constantly informs the frontend about changes + // in the path MTU so hopefully the + // frontend will realise its packets are exceeding MTU, + // and shrink them accordingly; therefore this is just a + // one-off error let mtu = conn.max_datagram_size(); tracing::debug!( packet_len, @@ -412,8 +414,9 @@ async fn send_loop( Ok(()) } Err(SendDatagramError::UnsupportedByPeer) => { - // this should be impossible, since we checked that the client does support - // datagrams before connecting, but we'll error-case it anyway + // this should be impossible, since we checked that the + // client does support datagrams before + // connecting, but we'll error-case it anyway Err(SessionError::DatagramsNotSupported) } }?; @@ -428,7 +431,8 @@ fn get_disconnect_reason(err: SessionError) -> DisconnectReason { // I suspect we need this fixed first // https://github.com/BiagioFesta/wtransport/issues/182 // - // Tested: when the server disconnects us, all we get is "Connection lost." + // Tested: when the server disconnects us, all we get is "Connection + // lost." DisconnectReason::by_error(err) } diff --git a/crates/aeronet_webtransport/tests/connection.rs b/crates/aeronet_webtransport/tests/connection.rs index 0f95c296..50af776f 100644 --- a/crates/aeronet_webtransport/tests/connection.rs +++ b/crates/aeronet_webtransport/tests/connection.rs @@ -147,7 +147,7 @@ fn ping_pong( struct ClientEntity(Entity); fn on_add_server_endpoint( - trigger: On, + trigger: On>, expected_server: Res, mut seq: ResMut>, ) { @@ -156,7 +156,7 @@ fn ping_pong( } fn on_add_server( - trigger: On, + trigger: On>, expected_server: Res, mut seq: ResMut>, ) { @@ -166,7 +166,7 @@ fn ping_pong( } fn on_add_session_endpoint( - trigger: On, + trigger: On>, parents: Query<&ChildOf>, expected_server: Res, mut seq: ResMut>, @@ -201,7 +201,7 @@ fn ping_pong( } fn on_add_session( - trigger: On, + trigger: On>, expected_client: Res, mut seq: ResMut>, ) { @@ -258,7 +258,7 @@ fn ping_pong( struct ClientEntity(Entity); fn on_add_session_endpoint( - trigger: On, + trigger: On>, mut seq: ResMut>, mut commands: Commands, ) { @@ -268,7 +268,7 @@ fn ping_pong( } fn on_add_session( - trigger: On, + trigger: On>, expected_client: Res, mut seq: ResMut>, mut sessions: Query<&mut Session>, diff --git a/examples/src/bin/echo_client.rs b/examples/src/bin/echo_client.rs index ed525654..7482c301 100644 --- a/examples/src/bin/echo_client.rs +++ b/examples/src/bin/echo_client.rs @@ -109,9 +109,10 @@ fn setup_connection(mut commands: Commands) { { // Since our demo server uses self-signed certificates, we need to // explicitly configure the client to accept those certificates. - // We can do this by disabling certificate validation entirely, but in - // production you should use the default certificate validation, and - // generate real certificates using a root CA. + // We can do this by disabling certificate validation entirely, but + // in production you should use the default certificate + // validation, and generate real certificates using a + // root CA. ClientConfig::builder().with_no_cert_validation() } }; @@ -141,7 +142,7 @@ fn setup_connection(mut commands: Commands) { } // Observe state change events using `Trigger`s. -fn on_connecting(trigger: On, mut sessions: Query<&mut UiState>) { +fn on_connecting(trigger: On>, mut sessions: Query<&mut UiState>) { let entity = trigger.event_target(); let mut ui_state = sessions .get_mut(entity) @@ -150,7 +151,7 @@ fn on_connecting(trigger: On, mut sessions: Query<&mut UiS } fn on_connected( - trigger: On, + trigger: On>, mut sessions: Query<(&Session, &mut UiState)>, mut commands: Commands, ) { @@ -199,8 +200,8 @@ fn recv_messages( for msg in transport.recv.msgs.drain() { let payload = msg.payload; - // `payload` is a `Vec` - we have full ownership of the bytes received. - // We'll turn it into a UTF-8 string. + // `payload` is a `Vec` - we have full ownership of the bytes + // received. We'll turn it into a UTF-8 string. // We don't care about the lane index. let text = String::from_utf8(payload).unwrap_or_else(|_| "(not UTF-8)".into()); ui_state.log.push(format!("> {text}")); @@ -241,7 +242,8 @@ fn ui( if ui.button("Disconnect").clicked() { // Here's how you disconnect the session with a given reason. - // Don't just remove components or despawn entities - use `Disconnect` instead! + // Don't just remove components or despawn entities - use + // `Disconnect` instead! commands.trigger(Disconnect::new(entity, "pressed disconnect button")); } diff --git a/examples/src/bin/echo_server.rs b/examples/src/bin/echo_server.rs index 636f0fbd..82c25911 100644 --- a/examples/src/bin/echo_server.rs +++ b/examples/src/bin/echo_server.rs @@ -99,7 +99,7 @@ fn setup(mut commands: Commands) { } // Observe state change events using `Trigger`s -fn on_opened(trigger: On, servers: Query<&LocalAddr>) { +fn on_opened(trigger: On>, servers: Query<&LocalAddr>) { let server = trigger.event_target(); let local_addr = servers .get(server) @@ -108,7 +108,7 @@ fn on_opened(trigger: On, servers: Query<&LocalAddr>) { } fn on_connected( - trigger: On, + trigger: On>, sessions: Query<&Session>, clients: Query<&ChildOf>, mut commands: Commands, diff --git a/examples/src/bin/move_box_client.rs b/examples/src/bin/move_box_client.rs index df4a59f6..02d76c0c 100644 --- a/examples/src/bin/move_box_client.rs +++ b/examples/src/bin/move_box_client.rs @@ -86,7 +86,7 @@ fn setup_ui(mut commands: Commands) { } fn on_connecting( - trigger: On, + trigger: On>, names: Query<&Name>, mut ui_state: ResMut, mut commands: Commands, @@ -100,17 +100,18 @@ fn on_connecting( // IMPORTANT // // Make sure to insert this component into your client entity, - // so that `aeronet_replicon` knows you want to use this for `bevy_replicon`! + // so that `aeronet_replicon` knows you want to use this for + // `bevy_replicon`! // - // You can also do this when `spawn`ing the entity instead, which is a bit more - // efficient. We just do it on `On`, since we have - // multiple `spawn` calls, and it's nicer to centralize inserting this - // component in a single place. + // You can also do this when `spawn`ing the entity instead, which is a bit + // more efficient. We just do it on `On>`, since we + // have multiple `spawn` calls, and it's nicer to centralize inserting + // this component in a single place. commands.entity(entity).insert(AeronetRepliconClient); } fn on_connected( - trigger: On, + trigger: On>, names: Query<&Name>, mut ui_state: ResMut, mut game_state: ResMut>, diff --git a/examples/src/bin/move_box_server.rs b/examples/src/bin/move_box_server.rs index 9b18cdb3..9ba2acc6 100644 --- a/examples/src/bin/move_box_server.rs +++ b/examples/src/bin/move_box_server.rs @@ -162,7 +162,7 @@ fn web_socket_config(args: &Args) -> WebSocketServerConfig { // fn on_opened( - trigger: On, + trigger: On>, servers: Query<&LocalAddr>, mut commands: Commands, ) { @@ -175,7 +175,7 @@ fn on_opened( } fn on_connected( - trigger: On, + trigger: On>, clients: Query<&ChildOf>, mut commands: Commands, ) { diff --git a/examples/src/move_box.rs b/examples/src/move_box.rs index a71aeb7d..3ceedc01 100644 --- a/examples/src/move_box.rs +++ b/examples/src/move_box.rs @@ -182,11 +182,12 @@ fn recv_input( fn apply_movement(time: Res