diff --git a/Cargo.lock b/Cargo.lock index 794ae63c5..35a7c803c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "ab_glyph" @@ -20,52 +20,55 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.14.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cf780eb737f2d4a49ffbd512324d53ad089070f813f7be7f99dbd5123a7f448" +checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" [[package]] name = "accesskit_consumer" -version = "0.22.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bdfa1638ddd6eb9c752def95568df8b3ad832df252e9156d2eb783b201ca8a9" +checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459" dependencies = [ "accesskit", + "hashbrown 0.15.2", "immutable-chunkmap", ] [[package]] name = "accesskit_macos" -version = "0.15.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c236a84ff1111defc280cee755eaa953d0b24398786851b9d28322c6d3bb1ebd" +checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1" dependencies = [ "accesskit", "accesskit_consumer", + "hashbrown 0.15.2", "objc2", "objc2-app-kit", "objc2-foundation", - "once_cell", ] [[package]] name = "accesskit_windows" -version = "0.20.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d7f43d24b16b3e76bef248124fbfd2493c3a9860edb5aae1010c890e826de5e" +checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81" dependencies = [ "accesskit", "accesskit_consumer", + "hashbrown 0.15.2", "paste", "static_assertions", - "windows 0.54.0", + "windows 0.58.0", + "windows-core 0.58.0", ] [[package]] name = "accesskit_winit" -version = "0.20.4" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "755535e6bf711a42dac28b888b884b10fc00ff4010d9d3bd871c5f5beae5aa78" +checksum = "6a6a48dad5530b6deb9fc7a52cc6c3bf72cdd9eb8157ac9d32d69f2427a5e879" dependencies = [ "accesskit", "accesskit_macos", @@ -103,6 +106,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "const-random", "getrandom", "once_cell", "version_check", @@ -164,7 +168,7 @@ dependencies = [ "ndk-context", "ndk-sys 0.6.0+11769913", "num_enum", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -260,7 +264,7 @@ checksum = "9fb4009533e8ff8f1450a5bcbc30f4242a1d34442221f72314bea1f5dc9c7f89" dependencies = [ "clipboard-win", "core-graphics", - "image 0.25.2", + "image", "log", "objc2", "objc2-app-kit", @@ -290,11 +294,22 @@ checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" [[package]] name = "ash" -version = "0.37.3+1.3.251" +version = "0.38.0+1.3.281" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +dependencies = [ + "libloading", +] + +[[package]] +name = "assert_type_match" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" dependencies = [ - "libloading 0.7.4", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -372,6 +387,12 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +[[package]] +name = "atomicow" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "467163b50876d3a4a44da5f4dbd417537e522fc059ede8d518d57941cfb3d745" + [[package]] name = "autocfg" version = "1.3.0" @@ -392,18 +413,18 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bevy" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ece0d8dde51890fb52dcba5b04fd1c657617a4022908c327b2d6e83d173a32" +checksum = "b6a01cd51a5cd310e4e7aa6e1560b1aabf29efc6a095a01e6daa8bf0a19f1fea" dependencies = [ "bevy_internal", ] [[package]] name = "bevy-inspector-egui" -version = "0.25.2" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b66b51a66c0be92604c13cd490509d77676c05406f4f4b046672aaffdcc925f" +checksum = "dd64580f4496ed987c6231c6a7d833068914331a9084bf5a3dd9dcbc66fd8a73" dependencies = [ "bevy-inspector-egui-derive", "bevy_app", @@ -414,6 +435,7 @@ dependencies = [ "bevy_ecs", "bevy_egui", "bevy_hierarchy", + "bevy_image", "bevy_log", "bevy_math", "bevy_pbr", @@ -424,42 +446,43 @@ dependencies = [ "bevy_utils", "bevy_window", "bytemuck", + "disqualified", "egui", "fuzzy-matcher", - "image 0.24.9", - "once_cell", - "pretty-type-name", + "image", "smallvec", + "winit", ] [[package]] name = "bevy-inspector-egui-derive" -version = "0.25.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791acfac11e3d5a750952c5201dc0d414b88431260118b46949bf6b159c5a19c" +checksum = "3afc67826e0a4347414545e022e748f42550a577a502b26af44e6d03742c9266" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] name = "bevy_a11y" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d84e0ae7155afa21c4926fb8b89ebe0cbd66239ac817fdb834025327c4089b" +checksum = "82c66b5bc82a2660a5663d85b3354ddb72c8ab2c443989333cbea146f39a4e9a" dependencies = [ "accesskit", "bevy_app", "bevy_derive", "bevy_ecs", + "bevy_reflect", ] [[package]] name = "bevy_animation" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abec61c2d9d19329d8d9f0d7f1ce0188f6ed2c6d74d90412b238efc38c7d7794" +checksum = "ee48f3fc65f583e5e320e38874053e20e7a71205a62aaace5d607446781bd742" dependencies = [ "bevy_app", "bevy_asset", @@ -476,20 +499,22 @@ dependencies = [ "bevy_transform", "bevy_utils", "blake3", - "fixedbitset 0.5.7", + "derive_more", + "downcast-rs", + "either", "petgraph", "ron", "serde", - "thiserror", + "smallvec", "thread_local", "uuid", ] [[package]] name = "bevy_app" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0af99549f5de61cc91c8c23303b13aa07f97b73fbace39695dee0a0a32cec9d4" +checksum = "652574e4c10efcfa70f98036709dd5b67e5cb8d46c58087ef48c2ac6b62df9da" dependencies = [ "bevy_derive", "bevy_ecs", @@ -497,38 +522,44 @@ dependencies = [ "bevy_tasks", "bevy_utils", "console_error_panic_hook", + "ctrlc", + "derive_more", "downcast-rs", - "thiserror", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_asset" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6533d17f13b44ea4fb5177f83b0900269ed13c0fd45772ccffd19a69980647ec" +checksum = "4d7d501eda01be6d500d843a06d9b9800c3f0fffaae3c29d17d9e4e172c28d37" dependencies = [ "async-broadcast", "async-fs", "async-lock", + "atomicow", "bevy_app", "bevy_asset_macros", "bevy_ecs", "bevy_reflect", "bevy_tasks", "bevy_utils", - "bevy_winit", + "bevy_window", + "bitflags 2.6.0", "blake3", "crossbeam-channel", + "derive_more", + "disqualified", "downcast-rs", + "either", "futures-io", "futures-lite", "js-sys", "parking_lot", "ron", "serde", - "thiserror", + "stackfuture", "uuid", "wasm-bindgen", "wasm-bindgen-futures", @@ -537,21 +568,21 @@ dependencies = [ [[package]] name = "bevy_asset_macros" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b0e132a89e254c0f5c8bc8deebb0f2490f5662f4aa2215a6996701446d6a7b" +checksum = "7474b77fc27db11ec03d49ca04f1a7471f369dc373fd5e091a12ad7ab533d8c8" dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] name = "bevy_audio" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3050cb7244560313800b284e4b5eafcf91e833464e44d8407b20ec6c65974fc" +checksum = "20e378c4005d9c47b7ebaf637a6a197e3953463615516ab709ba8b0c3c215c2e" dependencies = [ "bevy_app", "bevy_asset", @@ -568,24 +599,24 @@ dependencies = [ [[package]] name = "bevy_color" -version = "0.14.2" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82c031f121b8d72e7637c94ef139097613bd32935784d36728f83e77cfdf26f4" +checksum = "87bccacba27db37375eb97ffc86e91a7d95db3f5faa6a834fa7306db02cde327" dependencies = [ "bevy_math", "bevy_reflect", "bytemuck", + "derive_more", "encase", "serde", - "thiserror", "wgpu-types", ] [[package]] name = "bevy_core" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccc7118a2865267136afb5e6a2c0aed30994e522f298b2ba0b088878e6ddf59" +checksum = "ecccf7be33330f58d4c7033b212a25c414d388e3a8d55b61331346da5dbabf22" dependencies = [ "bevy_app", "bevy_ecs", @@ -598,9 +629,9 @@ dependencies = [ [[package]] name = "bevy_core_pipeline" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "559ad1dc48c3fa6bbace503df2fe44a7de38c8dfe11bee911ec0ffaf93e3e57d" +checksum = "8a3fb9f84fa60c2006d4a15e039c3d08d4d10599441b9175907341a77a69d627" dependencies = [ "bevy_app", "bevy_asset", @@ -608,35 +639,37 @@ dependencies = [ "bevy_core", "bevy_derive", "bevy_ecs", + "bevy_image", "bevy_math", "bevy_reflect", "bevy_render", "bevy_transform", "bevy_utils", + "bevy_window", "bitflags 2.6.0", + "derive_more", "nonmax", "radsort", "serde", "smallvec", - "thiserror", ] [[package]] name = "bevy_derive" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8675f337f374b2b8ae90539982b947d171f9adb302d00c032b823bd5231f8978" +checksum = "e141b7eda52a23bb88740b37a291e26394524cb9ee3b034c7014669671fc2bb5" dependencies = [ "bevy_macro_utils", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] name = "bevy_diagnostic" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdcc1d7ba5797e4285a7867227134d4cabaaf8cabfb7cdc42eb697d3b3db0460" +checksum = "fa97748337405089edfb2857f7608f21bcc648a7ad272c9209808aad252ed542" dependencies = [ "bevy_app", "bevy_core", @@ -650,8 +683,8 @@ dependencies = [ [[package]] name = "bevy_easy_compute" -version = "0.14.0" -source = "git+https://github.com/AnthonyTornetta/bevy_easy_compute?branch=no-build-worker#3c36e030a1202c1289cd8e4dc379ef23c5e9d775" +version = "0.15.0" +source = "git+https://github.com/AnthonyTornetta/bevy_easy_compute?branch=no-build-worker#a9c11869f3b5b539c0b9aaeabc783f8ebcac32bd" dependencies = [ "bevy", "bytemuck", @@ -663,9 +696,9 @@ dependencies = [ [[package]] name = "bevy_ecs" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3eed7f144811946ebfa1c740da9e3bcd6dd2dd4da844eda085249d29bc9fef" +checksum = "cb4c4b60d2a712c6d5cbe610bac7ecf0838fc56a095fd5b15f30230873e84f15" dependencies = [ "arrayvec", "bevy_ecs_macros", @@ -675,37 +708,52 @@ dependencies = [ "bevy_utils", "bitflags 2.6.0", "concurrent-queue", + "derive_more", + "disqualified", "fixedbitset 0.5.7", "nonmax", "petgraph", "serde", - "thiserror", + "smallvec", ] [[package]] name = "bevy_ecs_macros" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d523630f2eb9fde6727e6c5ea48fa708079c5345da21ffeb1a4bd8ca761830da" +checksum = "cb4296b3254b8bd29769f6a4512731b2e6c4b163343ca18b72316927315b6096" dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] name = "bevy_egui" -version = "0.28.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4a90f30f2849a07d91e393b10c0cc05df09b5773c010ddde57dd8b583be230" +checksum = "954fbe8551af4b40767ea9390ec7d32fe1070a6ab55d524cf0868c17f8469a55" dependencies = [ "arboard", - "bevy", + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_input", + "bevy_log", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_time", + "bevy_utils", + "bevy_window", + "bevy_winit", "bytemuck", - "console_log", "crossbeam-channel", "egui", + "encase", "js-sys", "log", "thread_local", @@ -713,14 +761,15 @@ dependencies = [ "wasm-bindgen-futures", "web-sys", "webbrowser", + "wgpu-types", "winit", ] [[package]] name = "bevy_encase_derive" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a20ec101b103f430481112591e280a8fc3f2db6741579f885595372073b749b" +checksum = "bfe562b883fb652acde84cb6bb01cbc9f23c377e411f1484467ecfdd3a3d234e" dependencies = [ "bevy_macro_utils", "encase_derive_impl", @@ -728,24 +777,24 @@ dependencies = [ [[package]] name = "bevy_gilrs" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a64d84c2cbc6a027ba2c293752f9508e6777607acb1d98d03c25eb2a80d55372" +checksum = "adc3a5f9e872133d7f5c2fab82e17781c19ed0b98f371362a23ed972bb538d20" dependencies = [ "bevy_app", "bevy_ecs", "bevy_input", "bevy_time", "bevy_utils", + "derive_more", "gilrs", - "thiserror", ] [[package]] name = "bevy_gizmos" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248324352331d719071b0d1545a43e3d63470f4730e75312edee575f210d3a77" +checksum = "e1c82341f6a3517efeeeef2fe68135ac3a91b11b6e369fc1a07f6e9a4b462b57" dependencies = [ "bevy_app", "bevy_asset", @@ -753,6 +802,7 @@ dependencies = [ "bevy_core_pipeline", "bevy_ecs", "bevy_gizmos_macros", + "bevy_image", "bevy_math", "bevy_pbr", "bevy_reflect", @@ -766,21 +816,21 @@ dependencies = [ [[package]] name = "bevy_gizmos_macros" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbe1708bb0e45a1d0fe0f32e998557689231dfe7bdae62083326e8008e97de23" +checksum = "9454ac9f0a2141900ef9f3482af9333e490d5546bbea3cab63a777447d35beed" dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] name = "bevy_gltf" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb57239cb4209e52354268062cd1973892af3a2077ccbdb4d19259cbbc2d2c2d" +checksum = "b21ed694796a001a5cf63de9ddc62fc017302b0e2998a361ef1126880ec93555" dependencies = [ "base64 0.22.1", "bevy_animation", @@ -791,6 +841,7 @@ dependencies = [ "bevy_core_pipeline", "bevy_ecs", "bevy_hierarchy", + "bevy_image", "bevy_math", "bevy_pbr", "bevy_reflect", @@ -799,19 +850,19 @@ dependencies = [ "bevy_tasks", "bevy_transform", "bevy_utils", + "derive_more", "gltf", "percent-encoding", "serde", "serde_json", "smallvec", - "thiserror", ] [[package]] name = "bevy_hanabi" -version = "0.12.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae72b8d54ce7d3444044dbdc4c4b005f97bd8f6c9a713bb8f498f5912201856" +checksum = "d0a6beb69876c338eec53ad41c0e4f81dd3a8fbbeb0b9921eda38ac81be5d9fb" dependencies = [ "anyhow", "bevy", @@ -825,45 +876,70 @@ dependencies = [ "rand_pcg", "ron", "serde", - "thiserror", + "thiserror 1.0.69", "typetag", + "wgpu", ] [[package]] name = "bevy_hierarchy" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb332d2789442ca1577c765977bafefea1dcd4db29479713ec8c6932dfb82cdb" +checksum = "6fe0b538beea7edbf30a6062242b99e67ff3bfa716566aacf91d5b5e027f02a2" dependencies = [ "bevy_app", "bevy_core", "bevy_ecs", "bevy_reflect", "bevy_utils", + "disqualified", "smallvec", ] +[[package]] +name = "bevy_image" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db46fa6a2f9e20435f3231710abbb136d2cc0a376f3f8e6ecfe071e286f5a246" +dependencies = [ + "bevy_asset", + "bevy_color", + "bevy_math", + "bevy_reflect", + "bevy_utils", + "bitflags 2.6.0", + "bytemuck", + "derive_more", + "futures-lite", + "image", + "ktx2", + "ruzstd", + "serde", + "wgpu", +] + [[package]] name = "bevy_input" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ce5f27a8729b473205b01927cd6a5c4898a004cb8fcffa7c896e19ba999d98" +checksum = "46b4ea60095d1a1851e40cb12481ad3d5d234e14376d6b73142a85586c266b74" dependencies = [ "bevy_app", + "bevy_core", "bevy_ecs", "bevy_math", "bevy_reflect", "bevy_utils", + "derive_more", "serde", "smol_str", - "thiserror", ] [[package]] name = "bevy_internal" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2463102e46d7d67440dbfe3bc97d34bf529c93191c4f4bb41395f4982062ff3" +checksum = "d4237e6e9b03902321032f00f931f18a4a211093bd9a7cf81276a0228a2a4417" dependencies = [ "bevy_a11y", "bevy_animation", @@ -880,10 +956,12 @@ dependencies = [ "bevy_gizmos", "bevy_gltf", "bevy_hierarchy", + "bevy_image", "bevy_input", "bevy_log", "bevy_math", "bevy_pbr", + "bevy_picking", "bevy_ptr", "bevy_reflect", "bevy_render", @@ -902,84 +980,99 @@ dependencies = [ [[package]] name = "bevy_kira_audio" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180a9cb47545ec53a9bb0b4b2fc79af325f86334c7370722fceea90c765af5d9" +checksum = "2d5ccfdf82791bcda06527cf752aa5ceffb20b5a13af93dd4e2f1105bafb4c2e" dependencies = [ "anyhow", "bevy", "kira", "parking_lot", - "thiserror", + "thiserror 1.0.69", "uuid", ] [[package]] name = "bevy_log" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f2c0c374af59007396793a51f747f6b10d74ca4acfb080ce0ade267118827b" +checksum = "1a0bdb42b00ac3752f0d6f531fbda8abf313603157a7b3163da8529412119a0a" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", "bevy_utils", "tracing-log", + "tracing-oslog", "tracing-subscriber", "tracing-wasm", ] [[package]] name = "bevy_macro_utils" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ec4a585ec2a6dedd4f4143c07219d120ae142121929f0d83e68d82a452cdc9b" +checksum = "3954dbb56a66a6c09c783e767f6ceca0dc0492c22e536e2aeaefb5545eac33c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", "toml_edit", ] [[package]] name = "bevy_math" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40253578fe83a5ffe5f4fcb4dfa196b7d9c50f36dc8efaa231a53344bf4b3e57" +checksum = "9ae26f952598e293acac783d947b21af1809673cbeba25d76b969a56f287160b" dependencies = [ "bevy_reflect", - "glam 0.27.0", + "derive_more", + "glam 0.29.2", + "itertools 0.13.0", "rand", + "rand_distr", "serde", "smallvec", - "thiserror", ] [[package]] -name = "bevy_mikktspace" -version = "0.14.1" +name = "bevy_mesh" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24a1ad15685c6035e01bdc9d5ea082558ef1438e9d40d69fc552857dd7e83e71" +checksum = "9c324d45ca0043a4696d7324b569de65be17066ed3a97dd42205bc28693d20b5" dependencies = [ - "glam 0.27.0", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mikktspace", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "bitflags 2.6.0", + "bytemuck", + "derive_more", + "hexasphere", + "serde", + "wgpu", ] [[package]] -name = "bevy_mod_billboard" -version = "0.7.0" +name = "bevy_mikktspace" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7fcf796f109d285725c5cbb4c38f6f93b809c7dbea14bc19c5b94ce01ad59de" +checksum = "da5ea3ad25d74ea36ea45418ad799f135d046db35c322b9704c4a8934eb65ce9" dependencies = [ - "bevy", - "bitflags 2.6.0", - "smallvec", + "glam 0.29.2", ] [[package]] name = "bevy_mod_debugdump" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30f0eab3099d7d474b25a95a6a2a945e6089d75e099af5a571fe896f7c1a455b" +checksum = "2855a39000ecb45c94f1b44ca14133398b8e6c6a0913d80d932037b7c1c016f5" dependencies = [ "bevy_app", "bevy_color", @@ -994,23 +1087,21 @@ dependencies = [ [[package]] name = "bevy_obj" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891c44dd1ed9aa3fc80d55e9019f61771307c1a6eb4cae3117cef25bd9fcfcee" +checksum = "3b4ab78247d8e47e43295fe971d10842d4fcbed89c36d6388755e69a37c8723d" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_render", - "bevy_utils", - "thiserror", + "bevy", + "serde", + "thiserror 1.0.69", "tobj", ] [[package]] name = "bevy_pbr" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588998ba295db4a14dec54e571f272490f2885e5aaac59191fb4fa32a25835d0" +checksum = "01b3bd8e646ddd3f27743b712957d2990d7361eb21044accc47c4f66711bf2cb" dependencies = [ "bevy_app", "bevy_asset", @@ -1018,6 +1109,7 @@ dependencies = [ "bevy_core_pipeline", "bevy_derive", "bevy_ecs", + "bevy_image", "bevy_math", "bevy_reflect", "bevy_render", @@ -1026,6 +1118,7 @@ dependencies = [ "bevy_window", "bitflags 2.6.0", "bytemuck", + "derive_more", "fixedbitset 0.5.7", "nonmax", "radsort", @@ -1033,16 +1126,38 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "bevy_picking" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a137ed706574dc4a01cac527eb2c44a0b0e477d5bce3afc892a9ee95ee0078" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_hierarchy", + "bevy_input", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_time", + "bevy_transform", + "bevy_utils", + "bevy_window", + "uuid", +] + [[package]] name = "bevy_ptr" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ed72afbb6249a6803a3ed7bd2f68ff080d9392f550475e050b34c1e1c1e3e8f" +checksum = "2af9e30b40fb3f0a80a658419f670f2de1e743efcaca1952c43cdcc923287944" [[package]] name = "bevy_rapier3d" version = "0.27.0" -source = "git+https://github.com/AnthonyTornetta/bevy_rapier?branch=context-component#f3ef621a80c9019dbbac3eaf5f74e5c41548154f" +source = "git+https://github.com/AnthonyTornetta/bevy_rapier?branch=master#4f23bb022daa2ff582b3b19d77cce8fbacb7e765" dependencies = [ "bevy", "bitflags 2.6.0", @@ -1054,42 +1169,44 @@ dependencies = [ [[package]] name = "bevy_reflect" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb37e8fc3c61d04da480c95cc8c303aa7781afed6be01dae333b336af493c38e" +checksum = "52a37e2ae5ed62df4a0e3f958076effe280b39bc81fe878587350897a89332a2" dependencies = [ + "assert_type_match", "bevy_ptr", "bevy_reflect_derive", "bevy_utils", + "derive_more", + "disqualified", "downcast-rs", "erased-serde", - "glam 0.27.0", + "glam 0.29.2", "petgraph", "serde", "smallvec", "smol_str", - "thiserror", "uuid", ] [[package]] name = "bevy_reflect_derive" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc00d5086f5bf534b4c2dbeba549a6b8d3223515f3cb5ba4fdaabe953ec6cea" +checksum = "94c683fc68c75fc26f90bb1e529590095380d7cec66f6610dbe6b93d9fd26f94" dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", "uuid", ] [[package]] name = "bevy_render" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f570f36154296ae5377587d5ef19e1feb4c5734923785c571f55a9fff091701" +checksum = "d188f392edf4edcae53dfda07f3ec618a7a704183ec3f2e8504657a9fb940c8a" dependencies = [ "async-channel", "bevy_app", @@ -1101,8 +1218,9 @@ dependencies = [ "bevy_ecs", "bevy_encase_derive", "bevy_hierarchy", + "bevy_image", "bevy_math", - "bevy_mikktspace", + "bevy_mesh", "bevy_reflect", "bevy_render_macros", "bevy_tasks", @@ -1110,24 +1228,22 @@ dependencies = [ "bevy_transform", "bevy_utils", "bevy_window", - "bitflags 2.6.0", "bytemuck", "codespan-reporting", + "derive_more", "downcast-rs", "encase", "futures-lite", - "hexasphere", - "image 0.25.2", + "image", "js-sys", "ktx2", "naga", "naga_oil", "nonmax", - "ruzstd", + "offset-allocator", "send_wrapper", "serde", "smallvec", - "thiserror", "wasm-bindgen", "web-sys", "wgpu", @@ -1135,33 +1251,32 @@ dependencies = [ [[package]] name = "bevy_render_macros" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe2d5008c7b4a8a516ef7b58452b8e40e4c2317068fc7505398bedf34e8d45f7" +checksum = "4ab37ee2945f93e9ba8daf91cd968b4cba9c677ac51d349dd8512a107a9a5d92" dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] name = "bevy_renet2" -version = "0.0.5" -source = "git+https://github.com/UkoeHB/renet2?tag=0.0.5#4dac070c66b13c49f87bb5224d0ea6f578d5e846" +version = "0.0.7" +source = "git+https://github.com/UkoeHB/renet2?branch=main#c3e52bacd5f5e7b30f8fa7b3925260968134c3ba" dependencies = [ "bevy_app", "bevy_ecs", "bevy_time", - "bevy_window", "renet2", ] [[package]] name = "bevy_scene" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3910087f6fc45e7833fb62e4de282c36a7012ff381c0584eb2cc84dede02e72f" +checksum = "0e883fd3c6d6e7761f1fe662e79bc7bdc7e917e73e7bfc434b1d16d2a5852119" dependencies = [ "bevy_app", "bevy_asset", @@ -1172,16 +1287,16 @@ dependencies = [ "bevy_render", "bevy_transform", "bevy_utils", + "derive_more", "serde", - "thiserror", "uuid", ] [[package]] name = "bevy_sprite" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffdfb9a18968c8606286b6be83c9323ff9008b5cc043a23a3ecc95ff72fb20c" +checksum = "e975abc3f3f3432d6ad86ae32de804e96d7faf59d27f32b065b5ddc1e73ed7e1" dependencies = [ "bevy_app", "bevy_asset", @@ -1189,25 +1304,30 @@ dependencies = [ "bevy_core_pipeline", "bevy_derive", "bevy_ecs", + "bevy_image", "bevy_math", + "bevy_picking", "bevy_reflect", "bevy_render", "bevy_transform", "bevy_utils", + "bevy_window", "bitflags 2.6.0", "bytemuck", + "derive_more", "fixedbitset 0.5.7", "guillotiere", + "nonmax", "radsort", "rectangle-pack", - "thiserror", + "serde", ] [[package]] name = "bevy_state" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21066e7bb8014d1b1dd4f611f28c0f4ea9c7738cec2325281e4260a65072d509" +checksum = "036ec832197eae51b8a842220d2df03591dff75b4566dcf0f81153bbcb2b593b" dependencies = [ "bevy_app", "bevy_ecs", @@ -1219,40 +1339,44 @@ dependencies = [ [[package]] name = "bevy_state_macros" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a449823c420d1cc1fa6cf3d484570b08358e5eeedc1b86de1efcf9c10399b5" +checksum = "2828eb6762af9eccfebb5e4a0e56dbc4bd07bf3192083fa3e8525cfdb3e95add" dependencies = [ "bevy_macro_utils", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] name = "bevy_tasks" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f5414c3f49c96e02ceccf5fa12fb6cfbf8b271d2a820902d6f622e9c2fa681" +checksum = "5171c605b462b4e3249e01986505e62e3933aa27642a9f793c841814fcbbfb4f" dependencies = [ "async-channel", "async-executor", "concurrent-queue", + "futures-channel", "futures-lite", + "pin-project", "wasm-bindgen-futures", ] [[package]] name = "bevy_text" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e77dd86def15f5380e6e7c178ec54e5e356b3f464e2ad35794a08d5ecb82e4" +checksum = "4fb000b2abad9f82f7a137fac7e0e3d2c6488cbf8dd9ddbb68f9a6b7e7af8d84" dependencies = [ - "ab_glyph", "bevy_app", "bevy_asset", "bevy_color", + "bevy_derive", "bevy_ecs", + "bevy_hierarchy", + "bevy_image", "bevy_math", "bevy_reflect", "bevy_render", @@ -1260,16 +1384,19 @@ dependencies = [ "bevy_transform", "bevy_utils", "bevy_window", - "glyph_brush_layout", + "cosmic-text", + "derive_more", "serde", - "thiserror", + "smallvec", + "sys-locale", + "unicode-bidi", ] [[package]] name = "bevy_time" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3fb18cfac62098e07786e422e84b4f45f469f27ccb5b572b409500bef465f33" +checksum = "291b6993b899c04554fc034ebb9e0d7fde9cb9b2fb58dcd912bfa6247abdedbb" dependencies = [ "bevy_app", "bevy_ecs", @@ -1277,30 +1404,30 @@ dependencies = [ "bevy_utils", "crossbeam-channel", "serde", - "thiserror", ] [[package]] name = "bevy_transform" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ff09cea0dd0d4e6a3ed5f7dcbd4fbbcec07e518ceb64a4c8a75dedbe294ab60" +checksum = "dc35665624d0c728107ab0920d5ad2d352362b906a8c376eaf375ec9c751faf4" dependencies = [ "bevy_app", "bevy_ecs", "bevy_hierarchy", "bevy_math", "bevy_reflect", + "derive_more", "serde", - "thiserror", ] [[package]] name = "bevy_ui" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50684629a03b7d4891b5953e84dd971c7a8bbd290751bab5ce06e119b692220b" +checksum = "43da3326aa592d6f6326e31893901bf17cd6957ded4e0ea02bc54652e5624b7f" dependencies = [ + "accesskit", "bevy_a11y", "bevy_app", "bevy_asset", @@ -1309,8 +1436,10 @@ dependencies = [ "bevy_derive", "bevy_ecs", "bevy_hierarchy", + "bevy_image", "bevy_input", "bevy_math", + "bevy_picking", "bevy_reflect", "bevy_render", "bevy_sprite", @@ -1319,23 +1448,23 @@ dependencies = [ "bevy_utils", "bevy_window", "bytemuck", + "derive_more", "nonmax", "serde", "smallvec", "taffy", - "thiserror", ] [[package]] name = "bevy_utils" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6efbe5a621b56cc4ffa41074929eca84107e242302496b9bb7550675e6bf2e7" +checksum = "a0a48bad33c385a7818b7683a16c8b5c6930eded05cd3f176264fc1f5acea473" dependencies = [ "ahash", "bevy_utils_proc_macros", "getrandom", - "hashbrown", + "hashbrown 0.14.5", "thread_local", "tracing", "web-time", @@ -1343,24 +1472,26 @@ dependencies = [ [[package]] name = "bevy_utils_proc_macros" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36a1e91b4294cad2d08620ac062509395d4f65247b636946d6497eaeccf4dbfd" +checksum = "3dfd8d4a525b8f04f85863e45ccad3e922d4c11ed4a8d54f7f62a40bf83fb90f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] name = "bevy_window" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba11880f05a3b267ecfa4149fe789b0c046c35fd8418dd8899fad3a4359c986" +checksum = "05f3520279aae65935d6a84443202c154ead3abebf8dae906d095665162de358" dependencies = [ + "android-activity", "bevy_a11y", "bevy_app", "bevy_ecs", + "bevy_input", "bevy_math", "bevy_reflect", "bevy_utils", @@ -1371,17 +1502,20 @@ dependencies = [ [[package]] name = "bevy_winit" -version = "0.14.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5aeb4b2e3b1ece189fcf37ea2de625ceab93e6ac2a14d4b15b0393351e4c18b" +checksum = "581bb2249a82285707e0977a9a1c79a2248ede587fcb289708faa03a82ebfa7f" dependencies = [ + "accesskit", "accesskit_winit", "approx", "bevy_a11y", "bevy_app", + "bevy_asset", "bevy_derive", "bevy_ecs", "bevy_hierarchy", + "bevy_image", "bevy_input", "bevy_log", "bevy_math", @@ -1389,12 +1523,14 @@ dependencies = [ "bevy_tasks", "bevy_utils", "bevy_window", + "bytemuck", "cfg-if", "crossbeam-channel", "raw-window-handle", "serde", "wasm-bindgen", "web-sys", + "wgpu-types", "winit", ] @@ -1429,7 +1565,7 @@ dependencies = [ "bitflags 2.6.0", "cexpr", "clang-sys", - "itertools", + "itertools 0.12.1", "lazy_static", "lazycell", "proc-macro2", @@ -1437,7 +1573,27 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.77", + "syn 2.0.90", +] + +[[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.90", ] [[package]] @@ -1446,7 +1602,16 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ - "bit-vec", + "bit-vec 0.6.3", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec 0.8.0", ] [[package]] @@ -1454,10 +1619,22 @@ name = "bit-vec" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bit-vec" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" dependencies = [ "serde", ] +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + [[package]] name = "bitflags" version = "1.3.2" @@ -1522,9 +1699,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.17.1" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2" +checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" dependencies = [ "bytemuck_derive", ] @@ -1537,7 +1714,7 @@ checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -1569,7 +1746,7 @@ dependencies = [ "polling", "rustix", "slab", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1671,7 +1848,7 @@ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", - "libloading 0.8.5", + "libloading", ] [[package]] @@ -1705,7 +1882,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -1733,49 +1910,12 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - [[package]] name = "colorchoice" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" -[[package]] -name = "com" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" -dependencies = [ - "com_macros", -] - -[[package]] -name = "com_macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" -dependencies = [ - "com_macros_support", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "com_macros_support" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "combine" version = "4.6.7" @@ -1806,20 +1946,30 @@ dependencies = [ ] [[package]] -name = "console_log" -version = "1.0.0" +name = "const-fnv1a-hash" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" +checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" + +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" dependencies = [ - "log", - "web-sys", + "const-random-macro", ] [[package]] -name = "const-fnv1a-hash" -version = "1.1.0" +name = "const-random-macro" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom", + "once_cell", + "tiny-keccak", +] [[package]] name = "const_panic" @@ -1848,12 +1998,6 @@ dependencies = [ "const_soft_float", ] -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "copyless" version = "0.1.5" @@ -1870,6 +2014,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -1883,7 +2037,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "core-graphics-types", "foreign-types", "libc", @@ -1896,7 +2050,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "libc", ] @@ -1917,12 +2071,35 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9" dependencies = [ - "bindgen", + "bindgen 0.69.4", +] + +[[package]] +name = "cosmic-text" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59fd57d82eb4bfe7ffa9b1cec0c05e2fd378155b47f255a67983cb4afe0e80c2" +dependencies = [ + "bitflags 2.6.0", + "fontdb", + "log", + "rangemap", + "rayon", + "rustc-hash 1.1.0", + "rustybuzz", + "self_cell", + "swash", + "sys-locale", + "ttf-parser 0.21.1", + "unicode-bidi", + "unicode-linebreak", + "unicode-script", + "unicode-segmentation", ] [[package]] name = "cosmos_client" -version = "0.0.6" +version = "0.0.7" dependencies = [ "anyhow", "arboard", @@ -1931,7 +2108,6 @@ dependencies = [ "bevy_easy_compute", "bevy_hanabi", "bevy_kira_audio", - "bevy_mod_billboard", "bevy_mod_debugdump", "bevy_obj", "bevy_rapier3d", @@ -1944,8 +2120,7 @@ dependencies = [ "cosmos_core", "derive_more", "futures-lite", - "image 0.25.2", - "iyes_perf_ui", + "image", "local-ip-address", "noise", "rand", @@ -1954,14 +2129,14 @@ dependencies = [ "renet2", "serde", "serde_json", - "thiserror", + "thiserror 2.0.4", "thread-priority", "toml", ] [[package]] name = "cosmos_core" -version = "0.0.6" +version = "0.0.7" dependencies = [ "anyhow", "bevy", @@ -1974,7 +2149,7 @@ dependencies = [ "bitflags 2.6.0", "bytemuck", "derive_more", - "image 0.25.2", + "image", "local-ip-address", "lz4_flex", "noise", @@ -1983,12 +2158,12 @@ dependencies = [ "rayon", "renet2", "serde", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "cosmos_server" -version = "0.0.6" +version = "0.0.7" dependencies = [ "anyhow", "bevy", @@ -2005,7 +2180,6 @@ dependencies = [ "crossterm", "derive_more", "futures-lite", - "iyes_perf_ui", "local-ip-address", "noise", "rand", @@ -2015,7 +2189,7 @@ dependencies = [ "renet2_visualizer", "serde", "serde_json", - "thiserror", + "thiserror 2.0.4", "thread-priority", "walkdir", ] @@ -2119,16 +2293,16 @@ checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crossterm" -version = "0.27.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ "bitflags 2.6.0", "crossterm_winapi", "futures-core", - "libc", "mio", "parking_lot", + "rustix", "signal-hook", "signal-hook-mio", "winapi", @@ -2143,6 +2317,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + [[package]] name = "crypto-common" version = "0.1.6" @@ -2155,21 +2335,20 @@ dependencies = [ ] [[package]] -name = "cursor-icon" -version = "1.1.0" +name = "ctrlc" +version = "3.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +dependencies = [ + "nix", + "windows-sys 0.59.0", +] [[package]] -name = "d3d12" -version = "0.20.0" +name = "cursor-icon" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" -dependencies = [ - "bitflags 2.6.0", - "libloading 0.8.5", - "winapi", -] +checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "dasp_sample" @@ -2185,15 +2364,23 @@ checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "derive_more" -version = "0.99.18" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ - "convert_case", "proc-macro2", "quote", - "rustc_version", - "syn 2.0.77", + "syn 2.0.90", + "unicode-xid", ] [[package]] @@ -2202,13 +2389,19 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" +[[package]] +name = "disqualified" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" + [[package]] name = "dlib" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.5", + "libloading", ] [[package]] @@ -2234,9 +2427,9 @@ checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" [[package]] name = "ecolor" -version = "0.28.1" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e6b451ff1143f6de0f33fc7f1b68fecfd2c7de06e104de96c4514de3f5396f8" +checksum = "775cfde491852059e386c4e1deb4aef381c617dc364184c6f6afee99b87c402b" dependencies = [ "bytemuck", "emath", @@ -2244,9 +2437,9 @@ dependencies = [ [[package]] name = "egui" -version = "0.28.1" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c97e70a2768de630f161bb5392cbd3874fcf72868f14df0e002e82e06cb798" +checksum = "53eafabcce0cb2325a59a98736efe0bf060585b437763f8c476957fb274bb974" dependencies = [ "ahash", "emath", @@ -2262,43 +2455,52 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "emath" -version = "0.28.1" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6a21708405ea88f63d8309650b4d77431f4bc28fb9d8e6f77d3963b51249e6" +checksum = "b1fe0049ce51d0fb414d029e668dd72eb30bc2b739bf34296ed97bd33df544f3" dependencies = [ "bytemuck", ] +[[package]] +name = "ena" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +dependencies = [ + "log", +] + [[package]] name = "encase" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9299a95fa5671ddf29ecc22b00e121843a65cb9ff24911e394b4ae556baf36" +checksum = "b0a05902cf601ed11d564128448097b98ebe3c6574bd7b6a653a3d56d54aa020" dependencies = [ "const_panic", "encase_derive", - "glam 0.27.0", - "thiserror", + "glam 0.29.2", + "thiserror 1.0.69", ] [[package]] name = "encase_derive" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e09decb3beb1fe2db6940f598957b2e1f7df6206a804d438ff6cb2a9cddc10" +checksum = "181d475b694e2dd56ae919ce7699d344d1fd259292d590c723a50d1189a2ea85" dependencies = [ "encase_derive_impl", ] [[package]] name = "encase_derive_impl" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd31dbbd9743684d339f907a87fe212cb7b51d75b9e8e74181fe363199ee9b47" +checksum = "f97b51c5cc57ef7c5f7a0c57c250251c49ee4c28f819f87ac32f4aceabc36792" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -2312,19 +2514,26 @@ dependencies = [ [[package]] name = "epaint" -version = "0.28.1" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f0dcc0a0771e7500e94cd1cb797bd13c9f23b9409bdc3c824e2cbc562b7fa01" +checksum = "a32af8da821bd4f43f2c137e295459ee2e1661d87ca8779dfa0eaf45d870e20f" dependencies = [ "ab_glyph", "ahash", "bytemuck", "ecolor", "emath", + "epaint_default_fonts", "nohash-hasher", "parking_lot", ] +[[package]] +name = "epaint_default_fonts" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "483440db0b7993cf77a20314f08311dbe95675092405518c0677aa08c151a3ea" + [[package]] name = "equivalent" version = "1.0.1" @@ -2436,6 +2645,44 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + +[[package]] +name = "font-types" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "fontconfig-parser" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7" +dependencies = [ + "roxmltree", +] + +[[package]] +name = "fontdb" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" +dependencies = [ + "fontconfig-parser", + "log", + "memmap2", + "slotmap", + "tinyvec", + "ttf-parser 0.20.0", +] + [[package]] name = "foreign-types" version = "0.5.0" @@ -2454,7 +2701,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -2472,6 +2719,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", +] + [[package]] name = "futures-core" version = "0.3.30" @@ -2486,9 +2742,9 @@ checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand", "futures-core", @@ -2541,9 +2797,9 @@ dependencies = [ [[package]] name = "gilrs" -version = "0.10.9" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb8c78963a8856a5b10015c9349176ff5edbc8095384d52aada467a848bc03a" +checksum = "bbb2c998745a3c1ac90f64f4f7b3a54219fd3612d7705e7798212935641ed18f" dependencies = [ "fnv", "gilrs-core", @@ -2554,11 +2810,11 @@ dependencies = [ [[package]] name = "gilrs-core" -version = "0.5.15" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732dadc05170599ddec9a89653f10d7a2af54da9181b3fa6e2bd49907ec8f7e4" +checksum = "495af945e45efd6386227613cd9fb7bd7c43d3c095040e30c5304c489e6abed5" dependencies = [ - "core-foundation", + "core-foundation 0.10.0", "inotify", "io-kit-sys", "js-sys", @@ -2595,9 +2851,9 @@ dependencies = [ [[package]] name = "glam" -version = "0.27.0" +version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" +checksum = "dc46dd3ec48fdd8e693a98d2b8bafae273a2d54c1de02a2a7e3d57d501f39677" dependencies = [ "bytemuck", "rand", @@ -2612,9 +2868,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "glow" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" +checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483" dependencies = [ "js-sys", "slotmap", @@ -2643,7 +2899,7 @@ dependencies = [ "inflections", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -2660,24 +2916,13 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" +checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" dependencies = [ "gl_generator", ] -[[package]] -name = "glyph_brush_layout" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1e288bfd2f6c0313f78bf5aa538356ad481a3bb97e9b7f93220ab0066c5992" -dependencies = [ - "ab_glyph", - "approx", - "xi-unicode", -] - [[package]] name = "gpu-alloc" version = "0.6.0" @@ -2699,15 +2944,14 @@ dependencies = [ [[package]] name = "gpu-allocator" -version = "0.25.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" +checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" dependencies = [ "log", "presser", - "thiserror", - "winapi", - "windows 0.52.0", + "thiserror 1.0.69", + "windows 0.58.0", ] [[package]] @@ -2718,7 +2962,7 @@ checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ "bitflags 2.6.0", "gpu-descriptor-types", - "hashbrown", + "hashbrown 0.14.5", ] [[package]] @@ -2746,6 +2990,15 @@ dependencies = [ "svg_fmt", ] +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.14.5" @@ -2758,18 +3011,22 @@ dependencies = [ ] [[package]] -name = "hassle-rs" -version = "0.11.0" +name = "hashbrown" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ - "bitflags 2.6.0", - "com", - "libc", - "libloading 0.8.5", - "thiserror", - "widestring", - "winapi", + "foldhash", +] + +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "stable_deref_trait", ] [[package]] @@ -2786,12 +3043,12 @@ checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" [[package]] name = "hexasphere" -version = "12.0.0" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd6b038160f086b0a7496edae34169ae22f328793cbe2b627a5a3d8373748ec" +checksum = "741ab88b8cc670443da777c3daab02cebf5a3caccfc04e3c052f55c94d1643fe" dependencies = [ "constgebra", - "glam 0.27.0", + "glam 0.29.2", ] [[package]] @@ -2827,21 +3084,9 @@ dependencies = [ [[package]] name = "image" -version = "0.24.9" +version = "0.25.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" -dependencies = [ - "bytemuck", - "byteorder", - "color_quant", - "num-traits", -] - -[[package]] -name = "image" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10" +checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" dependencies = [ "bytemuck", "byteorder-lite", @@ -2852,9 +3097,9 @@ dependencies = [ [[package]] name = "immutable-chunkmap" -version = "2.0.5" +version = "2.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4419f022e55cc63d5bbd6b44b71e1d226b9c9480a47824c706e9d54e5c40c5eb" +checksum = "12f97096f508d54f8f8ab8957862eee2ccd628847b6217af1a335e1c44dee578" dependencies = [ "arrayvec", ] @@ -2866,7 +3111,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.14.5", ] [[package]] @@ -2877,11 +3122,11 @@ checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" [[package]] name = "inotify" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" +checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "inotify-sys", "libc", ] @@ -2928,9 +3173,18 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" -version = "0.12.1" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] @@ -2941,16 +3195,6 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" -[[package]] -name = "iyes_perf_ui" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7015cab699e6224bd5519854cff04280dddab4257090f4720e85d1095e66c8" -dependencies = [ - "bevy", - "num-traits", -] - [[package]] name = "jni" version = "0.21.1" @@ -2962,7 +3206,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] @@ -2990,10 +3234,11 @@ checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -3004,7 +3249,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading 0.8.5", + "libloading", "pkg-config", ] @@ -3058,19 +3303,9 @@ checksum = "baff4b617f7df3d896f97fe922b64817f6cd9a756bb81d40f8883f2f66dcb401" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libloading" @@ -3123,14 +3358,14 @@ checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" [[package]] name = "local-ip-address" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b435d7dd476416a905f9634dff8c330cee8d3168fdd1fbd472a17d1a75c00c3e" +checksum = "3669cf5561f8d27e8fc84cc15e58350e70f557d4d65f70e3154e54cd2f8e1782" dependencies = [ "libc", "neli", - "thiserror", - "windows-sys 0.48.0", + "thiserror 1.0.69", + "windows-sys 0.59.0", ] [[package]] @@ -3212,9 +3447,9 @@ dependencies = [ [[package]] name = "metal" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ "bitflags 2.6.0", "block", @@ -3258,45 +3493,45 @@ checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" [[package]] name = "mio" -version = "0.8.11" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", "wasi", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "naga" -version = "0.20.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" +checksum = "3d5941e45a15b53aad4375eedf02033adb7a28931eedc31117faffa52e6a857e" dependencies = [ "arrayvec", - "bit-set", + "bit-set 0.8.0", "bitflags 2.6.0", + "cfg_aliases 0.1.1", "codespan-reporting", "hexf-parse", "indexmap", "log", - "num-traits", "pp-rs", "rustc-hash 1.1.0", "spirv", "termcolor", - "thiserror", + "thiserror 1.0.69", "unicode-xid", ] [[package]] name = "naga_oil" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "275d9720a7338eedac966141089232514c84d76a246a58ef501af88c5edf402f" +checksum = "31ea1f080bb359927cd5404d0af1e5e6758f4f2d82ecfbebb0a0c434764e40f1" dependencies = [ - "bit-set", + "bit-set 0.5.3", "codespan-reporting", "data-encoding", "indexmap", @@ -3305,19 +3540,19 @@ dependencies = [ "regex", "regex-syntax 0.8.4", "rustc-hash 1.1.0", - "thiserror", + "thiserror 1.0.69", "tracing", "unicode-ident", ] [[package]] name = "nalgebra" -version = "0.33.0" +version = "0.33.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c4b5f057b303842cf3262c27e465f4c303572e7f6b0648f60e16248ac3397f4" +checksum = "26aecdf64b707efd1310e3544d709c5c0ac61c13756046aaaba41be5c4f66a3b" dependencies = [ "approx", - "glam 0.27.0", + "glam 0.29.2", "matrixmultiply", "nalgebra-macros", "num-complex", @@ -3336,7 +3571,7 @@ checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -3350,7 +3585,7 @@ dependencies = [ "log", "ndk-sys 0.5.0+25.2.9519653", "num_enum", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3365,7 +3600,7 @@ dependencies = [ "ndk-sys 0.6.0+11769913", "num_enum", "raw-window-handle", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3509,7 +3744,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -3560,7 +3795,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -3804,11 +4039,21 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "109983a091271ee8916076731ba5fdc9ee22fea871bc7c6ceab9bfd423eb1d99" +[[package]] +name = "offset-allocator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e234d535da3521eb95106f40f0b73483d80bfb3aacf27c40d7e2b72f1a3e00a2" +dependencies = [ + "log", + "nonmax", +] + [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -3846,7 +4091,7 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "490d3a563d3122bf7c911a59b0add9389e5ec0f5f0c3ac6b91ff235a0e6a7f90" dependencies = [ - "ttf-parser", + "ttf-parser 0.24.1", ] [[package]] @@ -3880,27 +4125,29 @@ dependencies = [ [[package]] name = "parry3d" -version = "0.16.1" +version = "0.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1d9cc5a359352e2be7e47270cef9f9e175794c03302553353804a436228e7f" +checksum = "bfe2c6103af4dbaa10469f2929aab8f11c33bd4647ae525174c23a3ecabf7207" dependencies = [ "approx", "arrayvec", "bitflags 2.6.0", "downcast-rs", "either", + "ena", "log", "nalgebra", "num-derive", "num-traits", "ordered-float", + "rstar", "rustc-hash 2.0.0", "serde", "simba", "slab", "smallvec", "spade", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3944,7 +4191,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -4039,6 +4286,16 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f73cdaf19b52e6143685c3606206e114a4dfa969d6b14ec3894c88eb38bd4b" +[[package]] +name = "prettyplease" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +dependencies = [ + "proc-macro2", + "syn 2.0.90", +] + [[package]] name = "proc-macro-crate" version = "3.2.0" @@ -4050,9 +4307,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -4117,6 +4374,16 @@ dependencies = [ "getrandom", ] +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand", +] + [[package]] name = "rand_pcg" version = "0.3.1" @@ -4141,15 +4408,21 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" +[[package]] +name = "rangemap" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" + [[package]] name = "rapier3d" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfa17fa28a7a4cfaebf669f57ca34dce0e758b295bd8a2aa1fbac4e054fb836" +checksum = "87360935d1a54802efe0ddf908489436bb49c84865c36c930131843c7b1dc97d" dependencies = [ "approx", "arrayvec", - "bit-vec", + "bit-vec 0.7.0", "bitflags 2.6.0", "crossbeam", "downcast-rs", @@ -4162,7 +4435,7 @@ dependencies = [ "rustc-hash 2.0.0", "serde", "simba", - "thiserror", + "thiserror 1.0.69", "vec_map", ] @@ -4198,6 +4471,16 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "read-fonts" +version = "0.22.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a04b892cb6f91951f144c33321843790c8574c825aafdb16d815fd7183b5229" +dependencies = [ + "bytemuck", + "font-types", +] + [[package]] name = "rectangle-pack" version = "0.4.2" @@ -4274,8 +4557,8 @@ checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "renet2" -version = "0.0.5" -source = "git+https://github.com/UkoeHB/renet2?tag=0.0.5#4dac070c66b13c49f87bb5224d0ea6f578d5e846" +version = "0.0.7" +source = "git+https://github.com/UkoeHB/renet2?branch=main#c3e52bacd5f5e7b30f8fa7b3925260968134c3ba" dependencies = [ "bevy_ecs", "bevy_reflect", @@ -4290,8 +4573,8 @@ dependencies = [ [[package]] name = "renet2_visualizer" -version = "0.0.4" -source = "git+https://github.com/UkoeHB/renet2?tag=0.0.5#4dac070c66b13c49f87bb5224d0ea6f578d5e846" +version = "0.0.7" +source = "git+https://github.com/UkoeHB/renet2?branch=main#c3e52bacd5f5e7b30f8fa7b3925260968134c3ba" dependencies = [ "bevy_ecs", "egui", @@ -4300,8 +4583,8 @@ dependencies = [ [[package]] name = "renetcode2" -version = "0.0.5" -source = "git+https://github.com/UkoeHB/renet2?tag=0.0.5#4dac070c66b13c49f87bb5224d0ea6f578d5e846" +version = "0.0.7" +source = "git+https://github.com/UkoeHB/renet2?branch=main#c3e52bacd5f5e7b30f8fa7b3925260968134c3ba" dependencies = [ "chacha20poly1305", "log", @@ -4324,12 +4607,12 @@ checksum = "cbf4a6aa5f6d6888f39e980649f3ad6b666acdce1d78e95b8a2cb076e687ae30" [[package]] name = "rodio" -version = "0.18.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1fceb9d127d515af1586d8d0cc601e1245bdb0af38e75c865a156290184f5b3" +checksum = "6006a627c1a38d37f3d3a85c6575418cfe34a5392d60a686d0071e1c8d427acb" dependencies = [ "cpal", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -4344,6 +4627,23 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "roxmltree" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" + +[[package]] +name = "rstar" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421400d13ccfd26dfa5858199c30a5d76f9c54e0dba7575273025b43c5175dbb" +dependencies = [ + "heapless", + "num-traits", + "smallvec", +] + [[package]] name = "rustc-hash" version = "1.1.0" @@ -4356,15 +4656,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - [[package]] name = "rustix" version = "0.38.35" @@ -4384,13 +4675,29 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" +dependencies = [ + "bitflags 2.6.0", + "bytemuck", + "libm", + "smallvec", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring", + "unicode-ccc", + "unicode-properties", + "unicode-script", +] + [[package]] name = "ruzstd" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c8b8f3d26bd9f945e5cbae77f7cdfbf37af9a66956f1115eb4516e45df519f4" +checksum = "fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f" dependencies = [ - "byteorder", "twox-hash", ] @@ -4444,10 +4751,10 @@ dependencies = [ ] [[package]] -name = "semver" -version = "1.0.23" +name = "self_cell" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "c2fdfc24bc566f839a2da4c4295b82db7d25a24253867d5c64355abb5799bdbe" [[package]] name = "send_wrapper" @@ -4472,7 +4779,7 @@ checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -4560,6 +4867,16 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "skrifa" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" +dependencies = [ + "bytemuck", + "read-fonts", +] + [[package]] name = "slab" version = "0.4.9" @@ -4601,7 +4918,7 @@ dependencies = [ "log", "memmap2", "rustix", - "thiserror", + "thiserror 1.0.69", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -4627,7 +4944,7 @@ version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bd14cf9e23b5241e1b1289ed3b9afc7746c95ead8df52d9254f5ed2d40c561b" dependencies = [ - "hashbrown", + "hashbrown 0.14.5", "num-traits", "robust", "smallvec", @@ -4642,6 +4959,18 @@ dependencies = [ "bitflags 2.6.0", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "stackfuture" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eae92052b72ef70dafa16eddbabffc77e5ca3574be2f7bc1127b36f0a7ad7f2" + [[package]] name = "static_assertions" version = "1.1.0" @@ -4672,6 +5001,17 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca" +[[package]] +name = "swash" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2" +dependencies = [ + "skrifa", + "yazi", + "zeno", +] + [[package]] name = "symphonia" version = "0.5.4" @@ -4756,27 +5096,35 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.77" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "sys-locale" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" +dependencies = [ + "libc", +] + [[package]] name = "sysinfo" -version = "0.30.13" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" +checksum = "4c33cd241af0f2e9e3b5c32163b873b29956890b5342e6745b917ce9d490f4af" dependencies = [ - "cfg-if", "core-foundation-sys", "libc", + "memchr", "ntapi", - "once_cell", - "windows 0.52.0", + "windows 0.54.0", ] [[package]] @@ -4803,29 +5151,49 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +dependencies = [ + "thiserror-impl 2.0.4", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "thiserror-impl", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] name = "thread-priority" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d3b04d33c9633b8662b167b847c7ab521f83d1ae20f2321b65b5b925e532e36" +checksum = "cfe075d7053dae61ac5413a34ea7d4913b6e6207844fd726bdd858b37ff72bf5" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -4856,6 +5224,15 @@ dependencies = [ "weezl", ] +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + [[package]] name = "tiny-skia" version = "0.11.4" @@ -4958,7 +5335,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -4982,6 +5359,21 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-oslog" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" +dependencies = [ + "bindgen 0.70.1", + "cc", + "cfg-if", + "once_cell", + "parking_lot", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "tracing-subscriber" version = "0.3.18" @@ -5011,6 +5403,18 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + +[[package]] +name = "ttf-parser" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + [[package]] name = "ttf-parser" version = "0.24.1" @@ -5060,7 +5464,7 @@ checksum = "70b20a22c42c8f1cd23ce5e34f165d4d37038f5b663ad20fb6adbdf029172483" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -5069,12 +5473,30 @@ version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +[[package]] +name = "unicode-bidi-mirroring" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" + +[[package]] +name = "unicode-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + [[package]] name = "unicode-normalization" version = "0.1.23" @@ -5084,6 +5506,18 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-properties" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + +[[package]] +name = "unicode-script" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" + [[package]] name = "unicode-segmentation" version = "1.11.0" @@ -5098,9 +5532,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -5177,9 +5611,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.93" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" dependencies = [ "cfg-if", "once_cell", @@ -5188,36 +5622,37 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.93" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.43" +version = "0.4.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5225,22 +5660,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" [[package]] name = "wayland-backend" @@ -5353,9 +5788,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" dependencies = [ "js-sys", "wasm-bindgen", @@ -5378,7 +5813,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "425ba64c1e13b1c6e8c5d2541c8fac10022ca584f33da781db01b5756aef1f4e" dependencies = [ "block2", - "core-foundation", + "core-foundation 0.9.4", "home", "jni", "log", @@ -5397,12 +5832,11 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "0.20.1" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e37c7b9921b75dfd26dd973fdcbce36f13dfa6e2dc82aece584e0ed48c355c" +checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" dependencies = [ "arrayvec", - "cfg-if", "cfg_aliases 0.1.1", "document-features", "js-sys", @@ -5423,15 +5857,14 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.21.1" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" +checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" dependencies = [ "arrayvec", - "bit-vec", + "bit-vec 0.8.0", "bitflags 2.6.0", "cfg_aliases 0.1.1", - "codespan-reporting", "document-features", "indexmap", "log", @@ -5442,37 +5875,35 @@ dependencies = [ "raw-window-handle", "rustc-hash 1.1.0", "smallvec", - "thiserror", - "web-sys", + "thiserror 1.0.69", "wgpu-hal", "wgpu-types", ] [[package]] name = "wgpu-hal" -version = "0.21.1" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222" +checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" dependencies = [ "android_system_properties", "arrayvec", "ash", - "bit-set", + "bit-set 0.8.0", "bitflags 2.6.0", "block", + "bytemuck", "cfg_aliases 0.1.1", "core-graphics-types", - "d3d12", "glow", "glutin_wgl_sys", "gpu-alloc", "gpu-allocator", "gpu-descriptor", - "hassle-rs", "js-sys", "khronos-egl", "libc", - "libloading 0.8.5", + "libloading", "log", "metal", "naga", @@ -5486,18 +5917,19 @@ dependencies = [ "renderdoc-sys", "rustc-hash 1.1.0", "smallvec", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", "web-sys", "wgpu-types", - "winapi", + "windows 0.58.0", + "windows-core 0.58.0", ] [[package]] name = "wgpu-types" -version = "0.20.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" +checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068" dependencies = [ "bitflags 2.6.0", "js-sys", @@ -5514,12 +5946,6 @@ dependencies = [ "safe_arch", ] -[[package]] -name = "widestring" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" - [[package]] name = "winapi" version = "0.3.9" @@ -5551,16 +5977,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.54.0" @@ -5568,8 +5984,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" dependencies = [ "windows-core 0.54.0", - "windows-implement 0.53.0", - "windows-interface 0.53.0", "windows-targets 0.52.6", ] @@ -5583,15 +5997,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-core" version = "0.54.0" @@ -5608,24 +6013,13 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ - "windows-implement 0.58.0", - "windows-interface 0.58.0", + "windows-implement", + "windows-interface", "windows-result 0.2.0", "windows-strings", "windows-targets 0.52.6", ] -[[package]] -name = "windows-implement" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.77", -] - [[package]] name = "windows-implement" version = "0.58.0" @@ -5634,18 +6028,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", -] - -[[package]] -name = "windows-interface" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -5656,7 +6039,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] @@ -5916,7 +6299,7 @@ dependencies = [ "calloop", "cfg_aliases 0.2.1", "concurrent-queue", - "core-foundation", + "core-foundation 0.9.4", "core-graphics", "cursor-icon", "dpi", @@ -5982,7 +6365,7 @@ dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", - "libloading 0.8.5", + "libloading", "once_cell", "rustix", "x11rb-protocol", @@ -6000,12 +6383,6 @@ version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61" -[[package]] -name = "xi-unicode" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" - [[package]] name = "xkbcommon-dl" version = "0.4.2" @@ -6031,6 +6408,18 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "539a77ee7c0de333dcc6da69b177380a0b81e0dacfa4f7344c465a36871ee601" +[[package]] +name = "yazi" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" + +[[package]] +name = "zeno" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" + [[package]] name = "zerocopy" version = "0.7.35" @@ -6049,7 +6438,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.90", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 6297fce06..06d26336c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,48 +6,49 @@ members = ["cosmos_client", "cosmos_core", "cosmos_server"] resolver = "2" [workspace.dependencies] -bevy = { version = "0.14.1", default-features = false } -bevy_rapier3d = { git = "https://github.com/AnthonyTornetta/bevy_rapier", version = "0.27.0", branch = "context-component", features = [ +bevy = { version = "0.15", default-features = false } +bevy_rapier3d = { git = "https://github.com/AnthonyTornetta/bevy_rapier", version = "0.27.0", branch = "master", features = [ "simd-stable", "serde-serialize", ] } -bevy_easy_compute = { git = "https://github.com/AnthonyTornetta/bevy_easy_compute", branch = "no-build-worker", version = "0.14.0" } +bevy_easy_compute = { git = "https://github.com/AnthonyTornetta/bevy_easy_compute", branch = "no-build-worker", version = "0.15" } -renet2 = { git = "https://github.com/UkoeHB/renet2", tag = "0.0.5" } -serde = "1.0.203" -serde_json = "1.0.120" -bincode = "1.3.3" +renet2 = { git = "https://github.com/UkoeHB/renet2", branch = "main", version = "0.0.7" } +serde = "1.0" +serde_json = "1.0" +bincode = "1.3" noise = "0.9.0" # Check out https://crates.io/crates/tinyrand in future -bevy_renet2 = { git = "https://github.com/UkoeHB/renet2", tag = "0.0.5" } +bevy_renet2 = { git = "https://github.com/UkoeHB/renet2", branch = "main", version = "0.0.7" } rand = "0.8.5" rand_chacha = "0.3.1" +# bigdecimal 0.4.6 has a formatting regression that causes a crash bigdecimal = "0.4.5" -rayon = "1.10.0" -futures-lite = "2.3.0" -local-ip-address = "0.6.1" -image = { version = "0.25.1", default-features = false, features = ["png"] } -bevy-inspector-egui = "0.25.0" -crossterm = { version = "0.27.0", features = ["event-stream"] } -renet2_visualizer = { git = "https://github.com/UkoeHB/renet2", tag = "0.0.5" } -walkdir = "2.5.0" -toml = "0.8.14" +rayon = "1.10" +futures-lite = "2.5" +local-ip-address = "0.6.3" +image = { version = "0.25.5", default-features = false, features = ["png"] } +bevy-inspector-egui = "0.28.0" +crossterm = { version = "0.28.1", features = ["event-stream"] } +renet2_visualizer = { git = "https://github.com/UkoeHB/renet2", branch = "main", version = "0.0.7" } +walkdir = "2.5" +toml = "0.8.19" lz4_flex = "0.11.3" -thread-priority = "1.1.0" -bevy_kira_audio = "0.20.0" -anyhow = "1.0.86" -thiserror = "1.0.61" -bitflags = "2.6.0" -bevy_mod_debugdump = "0.11.0" -arboard = "3.4.0" -derive_more = "0.99.18" -clap = "4.5.8" -bytemuck = "1.16.1" -bevy_obj = "0.14" -bevy_hanabi = "0.12.1" -iyes_perf_ui = "0.3.0" -bevy_mod_billboard = "0.7.0" +thread-priority = "1.2" +bevy_kira_audio = "0.21.0" +anyhow = "1.0" +thiserror = "2.0" +bitflags = "2.6" +bevy_mod_debugdump = "0.12.0" +arboard = "3.4" +derive_more = "1.0" +clap = "4.5" +bytemuck = "1.20" +bevy_obj = "0.15" +bevy_hanabi = "0.14" +# iyes_perf_ui = "0.3.0" +# bevy_mod_billboard = "0.7.0" # For any non workspace package [profile.dev.package."*"] diff --git a/README.md b/README.md index 83ac06c04..28c1d4650 100644 --- a/README.md +++ b/README.md @@ -55,41 +55,31 @@ Every time you want to view the documentation, navigate to the `docs/` directory #### System ordering -If you want to view the ordering of the systems, run (on linux) `cargo run --features print-schedule | dot -Tsvg > ./debug.svg` for either the cosmos_client or cosmos_server projects. If the `print-schedule` feature is enabled, these are setup to use bevy_mod_debugdump to create graphs of the `Update` schedule. If you need a different schedule, you'll have to change the `main.rs` file for either project to specify the correct schedule. Note, you'll need [graphviz](https://graphviz.org/download/) for the dot cmomand to work. +If you want to view the ordering of the systems, run (on linux) `cargo run --features print-schedule | dot -Tsvg > ./debug.svg` for either the cosmos_client or cosmos_server projects. If the `print-schedule` feature is enabled, these are setup to use bevy_mod_debugdump to create graphs of the `Update` schedule. If you need a different schedule, you'll have to change the `main.rs` file for either project to specify the correct schedule. Note, you'll need [graphviz](https://graphviz.org/download/) for the dot cmomand to work. # Cosmos Roadmap See [the issues page](https://github.com/AnthonyTornetta/Cosmos/issues) for the list of current features/bugs in development. ## Release 0.0.7a (In Progress) -- [ ] Wires - - [ ] Electrical + - [ ] Music +- [x] Creative Mode +- [x] Chat - [x] Galaxy map - [x] Able to view stars - [x] Zoom in to view planets - [x] Set waypoint - [x] Rotating Planet -- [ ] Biosphere Improvements - - [ ] Ice biosphere glaciers - - [ ] Better Water block - - [ ] Better Lava block - - [ ] Structures - - [ ] Rocks spawning - - [ ] Undergrowth - - [ ] 1 More tree type - - [ ] Groundwork for biomes - - [ ] Planes - - [ ] Redwood forest - - [ ] 1 Additional forest - - [ ] Ocean - [x] On-planet skybox - [x] Dropped item entity - [x] When storage is broken, drop items on ground - [x] If not enough inventory room when player is mining something, drop item - [x] Fix missing chunks on planets +- [x] Bevy 0.15 ## Release 0.0.6a + - [x] Place rotated blocks - [x] Add main menu - [x] Customizable settings @@ -136,6 +126,7 @@ See [the issues page](https://github.com/AnthonyTornetta/Cosmos/issues) for the - [x] Update to bevy 0.14 ## Release 0.0.5a + - [x] Add a gravity well block - [x] Remove snapping to structures on collision - [x] Camera system @@ -262,7 +253,7 @@ See [the issues page](https://github.com/AnthonyTornetta/Cosmos/issues) for the - [x] Player world moves relative to its player - [x] Players can be a part of the same world if they are close enough - [x] Requires rewrite of bevy_rapier to support multiple physics worlds - - [ ] Merge PR https://github.com/dimforge/bevy_rapier/pull/328 + - [x] Merge PR https://github.com/dimforge/bevy_rapier/pull/328 - [x] Update to bevy 0.10.0 - [x] Performant ships - [x] Ability to have 50 small-sized ships loaded with minimal performance impact @@ -354,7 +345,7 @@ See [the issues page](https://github.com/AnthonyTornetta/Cosmos/issues) for the - [x] Sync bodies from server to client - [x] Ability to break/replace block - [x] Dynamic meshing - - [x] Dynamic physics bodies +- [x] Dynamic physics bodies - [x] Block break events sent to server, server sends back block changed event - [x] Selects nearest structure - [x] Integrate physics system @@ -368,6 +359,7 @@ See [the issues page](https://github.com/AnthonyTornetta/Cosmos/issues) for the - [x] Support re-sizable window ## Release 0.0.8a + - [ ] More pirate ships - [ ] More asteroid types - [ ] Fuel for reactor @@ -378,11 +370,27 @@ See [the issues page](https://github.com/AnthonyTornetta/Cosmos/issues) for the - [ ] Add more randomly generated structures (e.g. stations) ## Everything that will still have to be done after 0.0.7a + - [ ] Shops - [ ] Peace zone? - [ ] Prices based on supply + rarity - [ ] Keep supply relatively equal between nearby shops - [ ] Each shop has its own supply of money that it cannot go below +- [ ] Biosphere Improvements + - [ ] Ice biosphere glaciers + - [ ] Better Water block + - [ ] Better Lava block + - [ ] Structures + - [ ] Rocks spawning + - [ ] Undergrowth + - [ ] 1 More tree type + - [ ] Groundwork for biomes + - [ ] Planes + - [ ] Redwood forest + - [ ] 1 Additional forest + - [ ] Ocean +- [ ] Wires + - [ ] Electrical ## NPCs @@ -391,16 +399,16 @@ See [the issues page](https://github.com/AnthonyTornetta/Cosmos/issues) for the NPC controlled OR player controlled NPC controlled factions store reputation of other factions + players Factions have different attributes - - One may steal your ship blueprints - - To balance this: - - scrap is collected when you mine melting down ships instead of the actual blocks - - Different scrap types - - Substitute expensive blocks for less expensive ones if needed - - If ship is below 50% success rate, don't produce it again - - Dynamic faction expansion -Bounty board - - Take down X ship - - Selling the ship + +- One may steal your ship blueprints + - To balance this: + - scrap is collected when you mine melting down ships instead of the actual blocks + - Different scrap types + - Substitute expensive blocks for less expensive ones if needed + - If ship is below 50% success rate, don't produce it again +- Dynamic faction expansion + Bounty board +- Take down X ship +- Selling the ship - Selling ship designs - Buying ship designs - diff --git a/cosmos_client/Cargo.toml b/cosmos_client/Cargo.toml index 41cc4834e..3ca6a51cd 100644 --- a/cosmos_client/Cargo.toml +++ b/cosmos_client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cosmos_client" -version = "0.0.6" +version = "0.0.7" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -37,10 +37,11 @@ default = [ "bevy/default_font", "bevy/webgl2", "bevy/sysinfo_plugin", + "bevy/bevy_window", ] [dependencies] -cosmos_core = { version = "0.0.6", path = "../cosmos_core", features = [ +cosmos_core = { version = "0.0.7", path = "../cosmos_core", features = [ "client", ] } @@ -79,5 +80,5 @@ clap = { workspace = true, features = ["derive"] } bevy_easy_compute = { workspace = true } bevy_obj = { workspace = true } bevy_hanabi = { workspace = true } -iyes_perf_ui = { workspace = true } -bevy_mod_billboard = { workspace = true } +# iyes_perf_ui = { workspace = true } +# bevy_mod_billboard = { workspace = true } diff --git a/cosmos_client/assets/cosmos/blocks/basic_fabricator.json b/cosmos_client/assets/cosmos/blocks/basic_fabricator.json new file mode 100644 index 000000000..bfdd103e6 --- /dev/null +++ b/cosmos_client/assets/cosmos/blocks/basic_fabricator.json @@ -0,0 +1,24 @@ +{ + "texture": { + "Sides": { + "right": { + "Single": "cosmos:basic_fabricator_sides" + }, + "left": { + "Single": "cosmos:basic_fabricator_sides" + }, + "front": { + "Single": "cosmos:basic_fabricator_sides" + }, + "back": { + "Single": "cosmos:basic_fabricator_sides" + }, + "top": { + "Single": "cosmos:basic_fabricator_top_bottom" + }, + "bottom": { + "Single": "cosmos:basic_fabricator_top_bottom" + } + } + } +} diff --git a/cosmos_client/assets/cosmos/blocks/door_open.json b/cosmos_client/assets/cosmos/blocks/door_open.json new file mode 100644 index 000000000..5a00b606b --- /dev/null +++ b/cosmos_client/assets/cosmos/blocks/door_open.json @@ -0,0 +1,43 @@ +{ + "texture": { + "All": { + "Connected": [ + "cosmos:door_open_0", + "cosmos:door_open_1", + "cosmos:door_open_2", + "cosmos:door_open_3", + "cosmos:door_open_4", + "cosmos:door_open_5", + "cosmos:door_open_6", + "cosmos:door_open_7", + "cosmos:door_open_8", + "cosmos:door_open_9", + "cosmos:door_open_10", + "cosmos:door_open_11", + "cosmos:door_open_12", + "cosmos:door_open_13", + "cosmos:door_open_14", + "cosmos:door_open_15" + ] + } + }, + "model": { + "Sides": { + "name": "cosmos:door_open", + "top": "cosmos:base_top", + "bottom": "cosmos:base_bottom", + "left": "cosmos:base_left", + "right": "cosmos:base_right", + "front": "cosmos:base_front", + "back": "cosmos:base_back", + "connected": { + "top": "none", + "bottom": "none", + "left": "none", + "right": "none", + "front": "none", + "back": "none" + } + } + } +} \ No newline at end of file diff --git a/cosmos_client/assets/cosmos/images/blocks/basic_fabricator_sides.png b/cosmos_client/assets/cosmos/images/blocks/basic_fabricator_sides.png new file mode 100644 index 000000000..3050277e9 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/basic_fabricator_sides.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/basic_fabricator_top_bottom.png b/cosmos_client/assets/cosmos/images/blocks/basic_fabricator_top_bottom.png new file mode 100644 index 000000000..b4eda0860 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/basic_fabricator_top_bottom.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door.png b/cosmos_client/assets/cosmos/images/blocks/door.png new file mode 100644 index 000000000..2a8efc773 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open.png b/cosmos_client/assets/cosmos/images/blocks/door_open.png new file mode 100644 index 000000000..2a8efc773 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_0.png b/cosmos_client/assets/cosmos/images/blocks/door_open_0.png new file mode 100644 index 000000000..e9e6e4b30 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_0.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_1.png b/cosmos_client/assets/cosmos/images/blocks/door_open_1.png new file mode 100644 index 000000000..7bbb757d1 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_1.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_10.png b/cosmos_client/assets/cosmos/images/blocks/door_open_10.png new file mode 100644 index 000000000..72315637e Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_10.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_11.png b/cosmos_client/assets/cosmos/images/blocks/door_open_11.png new file mode 100644 index 000000000..2bef95ef2 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_11.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_12.png b/cosmos_client/assets/cosmos/images/blocks/door_open_12.png new file mode 100644 index 000000000..c7288ca50 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_12.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_13.png b/cosmos_client/assets/cosmos/images/blocks/door_open_13.png new file mode 100644 index 000000000..ef303531f Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_13.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_14.png b/cosmos_client/assets/cosmos/images/blocks/door_open_14.png new file mode 100644 index 000000000..94644a2e6 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_14.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_15.png b/cosmos_client/assets/cosmos/images/blocks/door_open_15.png new file mode 100644 index 000000000..4a97be3b4 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_15.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_2.png b/cosmos_client/assets/cosmos/images/blocks/door_open_2.png new file mode 100644 index 000000000..b6f5c2bcf Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_2.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_3.png b/cosmos_client/assets/cosmos/images/blocks/door_open_3.png new file mode 100644 index 000000000..19e31b66f Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_3.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_4.png b/cosmos_client/assets/cosmos/images/blocks/door_open_4.png new file mode 100644 index 000000000..d996bcded Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_4.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_5.png b/cosmos_client/assets/cosmos/images/blocks/door_open_5.png new file mode 100644 index 000000000..828493525 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_5.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_6.png b/cosmos_client/assets/cosmos/images/blocks/door_open_6.png new file mode 100644 index 000000000..39930d15b Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_6.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_7.png b/cosmos_client/assets/cosmos/images/blocks/door_open_7.png new file mode 100644 index 000000000..be7036ab8 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_7.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_8.png b/cosmos_client/assets/cosmos/images/blocks/door_open_8.png new file mode 100644 index 000000000..dd5b51922 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_8.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/door_open_9.png b/cosmos_client/assets/cosmos/images/blocks/door_open_9.png new file mode 100644 index 000000000..57eef4d7d Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/door_open_9.png differ diff --git a/cosmos_client/assets/cosmos/images/blocks/iron_ore.png b/cosmos_client/assets/cosmos/images/blocks/iron_ore.png new file mode 100644 index 000000000..1203eea82 Binary files /dev/null and b/cosmos_client/assets/cosmos/images/blocks/iron_ore.png differ diff --git a/cosmos_client/assets/cosmos/images/items/iron_bar.png b/cosmos_client/assets/cosmos/images/items/iron_bar.png new file mode 100644 index 000000000..0052d7abe Binary files /dev/null and b/cosmos_client/assets/cosmos/images/items/iron_bar.png differ diff --git a/cosmos_client/assets/cosmos/lang/blocks/en_us.lang b/cosmos_client/assets/cosmos/lang/blocks/en_us.lang index 133371298..daf8d5218 100644 --- a/cosmos_client/assets/cosmos/lang/blocks/en_us.lang +++ b/cosmos_client/assets/cosmos/lang/blocks/en_us.lang @@ -19,6 +19,10 @@ cosmos:water=Water cosmos:sand=Sand cosmos:cactus=Cactus cosmos:build_block=Build Block +cosmos:door=Door +cosmos:door_open=Door +cosmos:basic_fabricator=Basic Fabricator +cosmos:iron_ore=Iron Ore cosmos:ship_hull_grey=Grey Ship Hull cosmos:ship_hull_black=Black Ship Hull @@ -105,4 +109,4 @@ cosmos:logic_wire_red=Red Logic Wire cosmos:logic_wire_dark_red=Dark Red Logic Wire cosmos:logic_wire_yellow=Yellow Logic Wire cosmos:logic_wire_dark_yellow=Dark Yellow Logic Wire -cosmos:logic_wire_mint=Mint Logic Wire \ No newline at end of file +cosmos:logic_wire_mint=Mint Logic Wire diff --git a/cosmos_client/assets/cosmos/lang/items/en_us.lang b/cosmos_client/assets/cosmos/lang/items/en_us.lang index b8f4f0e2d..153823b27 100644 --- a/cosmos_client/assets/cosmos/lang/items/en_us.lang +++ b/cosmos_client/assets/cosmos/lang/items/en_us.lang @@ -1 +1,2 @@ -cosmos:test_crystal=Test Crystal \ No newline at end of file +cosmos:test_crystal=Test Crystal +cosmos:iron_bar=Iron Bar diff --git a/cosmos_client/src/asset/asset_loader.rs b/cosmos_client/src/asset/asset_loader.rs index df00b4d43..c08551f49 100644 --- a/cosmos_client/src/asset/asset_loader.rs +++ b/cosmos_client/src/asset/asset_loader.rs @@ -65,7 +65,7 @@ pub fn load_assets( loading_assets.loading_handles.retain_mut(|handle| { let load_state = asset_server.get_load_state(handle.id()).expect("Id has to exist here"); - if load_state == LoadState::Loaded || matches!(load_state, LoadState::Failed(_)) { + if matches!(load_state, LoadState::Failed(_) | LoadState::Loaded) { done_loading.loaded_handles.push((std::mem::take(handle), load_state)); false } else { diff --git a/cosmos_client/src/asset/asset_loading.rs b/cosmos_client/src/asset/asset_loading.rs index 26cf9bf47..2da60b4d5 100644 --- a/cosmos_client/src/asset/asset_loading.rs +++ b/cosmos_client/src/asset/asset_loading.rs @@ -265,10 +265,10 @@ fn check_assets_ready( for folder_handle in loading.iter().map(|h| &h.folder_handle) { for handle in folder_handle { let load_state = server.get_load_state(handle); - if load_state == Some(LoadState::Loaded) || matches!(load_state, Some(LoadState::Failed(_))) { + if matches!(load_state, Some(LoadState::Failed(_) | LoadState::Loaded)) { match server.get_recursive_dependency_load_state(handle) { Some(RecursiveDependencyLoadState::Loaded) => {} - Some(RecursiveDependencyLoadState::Failed) => { + Some(RecursiveDependencyLoadState::Failed(_)) => { panic!("Failed to load asset!!"); } _ => { diff --git a/cosmos_client/src/asset/materials/material_types/animated_material.rs b/cosmos_client/src/asset/materials/material_types/animated_material.rs index 4402dd552..4568d576b 100644 --- a/cosmos_client/src/asset/materials/material_types/animated_material.rs +++ b/cosmos_client/src/asset/materials/material_types/animated_material.rs @@ -46,25 +46,25 @@ fn respond_to_add_materials_event( match mat.unlocalized_name() { "cosmos:animated" => { - commands.entity(ev.entity).insert(match ev.material_type { + commands.entity(ev.entity).insert(MeshMaterial3d(match ev.material_type { MaterialType::Normal => default_material.0[idx].clone_weak(), MaterialType::Illuminated => unlit_material.0[idx].clone_weak(), MaterialType::FarAway => default_material.0[idx].clone_weak(), - }); + })); } "cosmos:animated_illuminated" => { - commands.entity(ev.entity).insert(match ev.material_type { + commands.entity(ev.entity).insert(MeshMaterial3d(match ev.material_type { MaterialType::Normal => unlit_material.0[idx].clone_weak(), MaterialType::Illuminated => unlit_material.0[idx].clone_weak(), MaterialType::FarAway => unlit_material.0[idx].clone_weak(), - }); + })); } "cosmos:animated_transparent" => { - commands.entity(ev.entity).insert(match ev.material_type { + commands.entity(ev.entity).insert(MeshMaterial3d(match ev.material_type { MaterialType::Normal => transparent_material.0[idx].clone_weak(), MaterialType::Illuminated => unlit_transparent_material.0[idx].clone_weak(), MaterialType::FarAway => default_material.0[idx].clone_weak(), - }); + })); } _ => {} } @@ -73,7 +73,7 @@ fn respond_to_add_materials_event( fn respond_to_remove_materails_event(mut event_reader: EventReader, mut commands: Commands) { for ev in event_reader.read() { - commands.entity(ev.entity).remove::>(); + commands.entity(ev.entity).remove::>(); } } diff --git a/cosmos_client/src/asset/materials/material_types/lod_material.rs b/cosmos_client/src/asset/materials/material_types/lod_material.rs index 7e6a55177..34cdfdfd6 100644 --- a/cosmos_client/src/asset/materials/material_types/lod_material.rs +++ b/cosmos_client/src/asset/materials/material_types/lod_material.rs @@ -30,25 +30,25 @@ fn respond_to_add_materials_event( match mat.unlocalized_name() { "cosmos:lod" => { - commands.entity(ev.entity).insert(match ev.material_type { + commands.entity(ev.entity).insert(MeshMaterial3d(match ev.material_type { MaterialType::Normal => default_material.0[idx].clone_weak(), MaterialType::Illuminated => unlit_material.0[idx].clone_weak(), MaterialType::FarAway => default_material.0[idx].clone_weak(), - }); + })); } "cosmos:lod_illuminated" => { - commands.entity(ev.entity).insert(match ev.material_type { + commands.entity(ev.entity).insert(MeshMaterial3d(match ev.material_type { MaterialType::Normal => unlit_material.0[idx].clone_weak(), MaterialType::Illuminated => unlit_material.0[idx].clone_weak(), MaterialType::FarAway => unlit_material.0[idx].clone_weak(), - }); + })); } "cosmos:lod_transparent" => { - commands.entity(ev.entity).insert(match ev.material_type { + commands.entity(ev.entity).insert(MeshMaterial3d(match ev.material_type { MaterialType::Normal => transparent_material.0[idx].clone_weak(), MaterialType::Illuminated => unlit_transparent_material.0[idx].clone_weak(), MaterialType::FarAway => default_material.0[idx].clone_weak(), - }); + })); } _ => {} } @@ -57,7 +57,7 @@ fn respond_to_add_materials_event( fn respond_to_remove_materails_event(mut event_reader: EventReader, mut commands: Commands) { for ev in event_reader.read() { - commands.entity(ev.entity).remove::>(); + commands.entity(ev.entity).remove::>(); } } diff --git a/cosmos_client/src/asset/materials/material_types/main_material.rs b/cosmos_client/src/asset/materials/material_types/main_material.rs index 1a61a762c..160cbb683 100644 --- a/cosmos_client/src/asset/materials/material_types/main_material.rs +++ b/cosmos_client/src/asset/materials/material_types/main_material.rs @@ -30,25 +30,25 @@ fn respond_to_add_materials_event( match mat.unlocalized_name() { "cosmos:main" => { - commands.entity(ev.entity).insert(match ev.material_type { + commands.entity(ev.entity).insert(MeshMaterial3d(match ev.material_type { MaterialType::Normal => default_material.0[idx].clone_weak(), MaterialType::Illuminated => unlit_material.0[idx].clone_weak(), MaterialType::FarAway => default_material.0[idx].clone_weak(), - }); + })); } "cosmos:illuminated" => { - commands.entity(ev.entity).insert(match ev.material_type { + commands.entity(ev.entity).insert(MeshMaterial3d(match ev.material_type { MaterialType::Normal => unlit_material.0[idx].clone_weak(), MaterialType::Illuminated => unlit_material.0[idx].clone_weak(), MaterialType::FarAway => unlit_material.0[idx].clone_weak(), - }); + })); } "cosmos:transparent" => { - commands.entity(ev.entity).insert(match ev.material_type { + commands.entity(ev.entity).insert(MeshMaterial3d(match ev.material_type { MaterialType::Normal => transparent_material.0[idx].clone_weak(), MaterialType::Illuminated => unlit_transparent_material.0[idx].clone_weak(), MaterialType::FarAway => default_material.0[idx].clone_weak(), - }); + })); } _ => {} } @@ -57,7 +57,7 @@ fn respond_to_add_materials_event( fn respond_to_remove_materails_event(mut event_reader: EventReader, mut commands: Commands) { for ev in event_reader.read() { - commands.entity(ev.entity).remove::>(); + commands.entity(ev.entity).remove::>(); } } diff --git a/cosmos_client/src/asset/texture_atlas.rs b/cosmos_client/src/asset/texture_atlas.rs index bfe851cc5..4793c3082 100644 --- a/cosmos_client/src/asset/texture_atlas.rs +++ b/cosmos_client/src/asset/texture_atlas.rs @@ -1,12 +1,12 @@ //! Similar to bevy's default texture atlas, but the order they are inserted matters and assumes every texture is the same size and a square. use bevy::{ + image::TextureFormatPixelInfo, prelude::{Assets, Handle, Image}, reflect::Reflect, render::{ render_asset::RenderAssetUsages, render_resource::{Extent3d, TextureDimension, TextureFormat}, - texture::TextureFormatPixelInfo, }, utils::HashMap, }; diff --git a/cosmos_client/src/audio/mod.rs b/cosmos_client/src/audio/mod.rs index 8f9f83811..d663a1858 100644 --- a/cosmos_client/src/audio/mod.rs +++ b/cosmos_client/src/audio/mod.rs @@ -10,18 +10,16 @@ use bevy::{ app::{App, PostUpdate, PreUpdate, Update}, asset::{AssetId, Assets, Handle}, ecs::{ - bundle::Bundle, component::Component, entity::Entity, query::{Changed, With}, removal_detection::RemovedComponents, - schedule::IntoSystemConfigs, - schedule::IntoSystemSetConfigs, + schedule::{IntoSystemConfigs, IntoSystemSetConfigs}, system::{Commands, Query, ResMut, Resource}, }, hierarchy::DespawnRecursiveExt, - prelude::{Deref, DerefMut, SystemSet}, - transform::{bundles::TransformBundle, components::GlobalTransform}, + prelude::{Deref, DerefMut, SystemSet, Transform}, + transform::components::GlobalTransform, utils::hashbrown::HashMap, }; use bevy_kira_audio::{prelude::*, AudioSystemSet}; @@ -59,6 +57,7 @@ impl Default for AudioEmission { } #[derive(Default, Component)] +#[require(Transform)] /// Contains a bunch of audio instances to output /// /// This must be put onto an entity with a transform to do anything @@ -117,15 +116,6 @@ impl CosmosAudioEmitter { } } -#[derive(Default, Bundle)] -/// A bundle containing a [`CosmosAudioEmitter`] and a [`TransformBundle`] -pub struct AudioEmitterBundle { - /// The thing responsible for emitting the audio - pub emitter: CosmosAudioEmitter, - /// The transform this source is at - pub transform: TransformBundle, -} - fn run_spacial_audio( receiver: Query<&GlobalTransform, With>, emitters: Query<(&GlobalTransform, &CosmosAudioEmitter)>, diff --git a/cosmos_client/src/audio/music/dynamic_music.rs b/cosmos_client/src/audio/music/dynamic_music.rs index 95a41cf97..8d3a6bcb2 100644 --- a/cosmos_client/src/audio/music/dynamic_music.rs +++ b/cosmos_client/src/audio/music/dynamic_music.rs @@ -143,11 +143,11 @@ fn trigger_music_playing(mut next_song_time: ResMut, mut event_wri const MIN_DELAY_SEC: f32 = 5.0 * 60.0; // 5min const MAX_DELAY_SEC: f32 = 20.0 * 60.0; // 20min - if next_song_time.0 > time.elapsed_seconds() { + if next_song_time.0 > time.elapsed_secs() { return; } - next_song_time.0 = time.elapsed_seconds() + random_range(MIN_DELAY_SEC, MAX_DELAY_SEC); + next_song_time.0 = time.elapsed_secs() + random_range(MIN_DELAY_SEC, MAX_DELAY_SEC); event_writer.send(PlayMusicEvent { atmosphere: MusicAtmosphere::Calm, @@ -161,7 +161,7 @@ pub(super) fn register(app: &mut App) { app.add_systems( Update, - (trigger_music_playing, start_playing.run_if(on_event::())) + (trigger_music_playing, start_playing.run_if(on_event::)) .chain() .run_if(in_state(GameState::Playing)) .run_if(not(resource_exists::)), diff --git a/cosmos_client/src/chat/mod.rs b/cosmos_client/src/chat/mod.rs new file mode 100644 index 000000000..6e93c85ab --- /dev/null +++ b/cosmos_client/src/chat/mod.rs @@ -0,0 +1,361 @@ +//! Client-side chat logic + +use bevy::{ + a11y::Focus, + app::Update, + color::{Alpha, Color, Srgba}, + core::Name, + log::error, + prelude::{ + App, BuildChildren, Changed, ChildBuild, Children, Commands, Component, Entity, EventReader, IntoSystemConfigs, OnEnter, Query, + Res, ResMut, Text, TextUiWriter, Visibility, With, Without, + }, + text::{LineBreak, TextFont, TextLayout}, + time::Time, + ui::{BackgroundColor, FlexDirection, Node, Overflow, OverflowAxis, Val}, +}; +use cosmos_core::{ + chat::{ClientSendChatMessageEvent, ServerSendChatMessageEvent}, + ecs::NeedsDespawned, + netty::{ + sync::events::client_event::{NettyEventReceived, NettyEventWriter}, + system_sets::NetworkingSystemsSet, + }, + state::GameState, +}; + +use crate::{ + input::inputs::{CosmosInputs, InputChecker, InputHandler}, + ui::{ + components::{ + scollable_container::{ScrollBox, ScrollerStyles}, + show_cursor::ShowCursor, + text_input::{InputValue, TextInput}, + }, + font::DefaultFont, + pause::CloseMenusSet, + CloseMethod, OpenMenu, + }, +}; + +#[derive(Component)] +struct ChatContainer; + +#[derive(Component)] +struct ReceivedMessagesContainer; + +#[derive(Component)] +struct ChatScrollContainer; + +#[derive(Component)] +struct SendingChatMessageBox; + +#[derive(Component)] +struct ChatMessage(f32); + +#[derive(Component)] +struct ChatDisplayReceivedMessagesContainer; + +#[derive(Component)] +struct ChatDisplay; + +fn toggle_chat_display_visibility( + mut q_chat_display: Query<&mut Visibility, (Without, With)>, + q_chat_box: Query<&Visibility, (Changed, With)>, +) { + let Ok(changed_vis) = q_chat_box.get_single() else { + return; + }; + + let Ok(mut vis) = q_chat_display.get_single_mut() else { + return; + }; + + match *changed_vis { + Visibility::Hidden => *vis = Visibility::Inherited, + _ => *vis = Visibility::Hidden, + }; +} + +fn setup_chat_display(mut commands: Commands) { + commands + .spawn(( + ChatDisplay, + Name::new("Chat Display"), + Node { + top: Val::Percent(20.0), + width: Val::Percent(45.0), + height: Val::Percent(60.0), + overflow: Overflow { + x: OverflowAxis::Hidden, + y: OverflowAxis::Hidden, + }, + flex_direction: FlexDirection::ColumnReverse, + ..Default::default() + }, + )) + .with_children(|p| { + p.spawn(( + ChatDisplayReceivedMessagesContainer, + Node { + flex_direction: FlexDirection::Column, + ..Default::default() + }, + )); + }); +} + +const CHAT_MSG_ALIVE_SEC: f32 = 10.0; + +fn fade_chat_messages( + q_time: Res