From afe5455307da0b19108dba5c99b7431d1717560d Mon Sep 17 00:00:00 2001 From: Cloud Hu Date: Fri, 13 Dec 2024 10:15:55 +0800 Subject: [PATCH] upgrade to Bevy 0.15.0 --- Cargo.lock | 2523 +++++++++++++++++++++++++++++------ Cargo.toml | 19 +- README.md | 4 +- src/assets/mod.rs | 5 +- src/components/abilities.rs | 14 +- src/components/character.rs | 6 +- src/components/enemies.rs | 91 -- src/components/events.rs | 12 - src/components/health.rs | 44 +- src/components/input.rs | 84 -- src/components/mod.rs | 2 - src/config.rs | 57 +- src/enemy/drone.rs | 82 +- src/enemy/drone_boss.rs | 78 +- src/enemy/fighter.rs | 81 +- src/enemy/final_boss.rs | 93 +- src/enemy/mothership.rs | 96 +- src/gameplay/effects.rs | 13 +- src/gameplay/gamelogic.rs | 112 +- src/gameplay/hud.rs | 162 +-- src/gameplay/object.rs | 8 +- src/gameplay/physics.rs | 6 +- src/gameplay/player.rs | 157 +-- src/gameplay/selection.rs | 121 +- src/gameplay/upgrade.rs | 6 +- src/lib.rs | 121 +- src/screens/gameplay.rs | 4 +- src/screens/loading.rs | 4 +- src/screens/splash.rs | 41 +- src/screens/title.rs | 161 +-- src/ship/animation.rs | 92 +- src/ship/bullet.rs | 4 +- src/ship/engine.rs | 8 +- src/ship/turret.rs | 120 +- src/theme/csv.rs | 112 -- src/theme/language.rs | 26 +- src/theme/mod.rs | 2 - src/theme/widgets.rs | 147 +- src/util/layer.rs | 14 +- 39 files changed, 2868 insertions(+), 1864 deletions(-) delete mode 100644 src/components/enemies.rs delete mode 100644 src/components/input.rs delete mode 100644 src/theme/csv.rs diff --git a/Cargo.lock b/Cargo.lock index 14b88b0..2507410 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" @@ -24,13 +24,30 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6cf780eb737f2d4a49ffbd512324d53ad089070f813f7be7f99dbd5123a7f448" +[[package]] +name = "accesskit" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" + [[package]] name = "accesskit_consumer" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bdfa1638ddd6eb9c752def95568df8b3ad832df252e9156d2eb783b201ca8a9" dependencies = [ - "accesskit", + "accesskit 0.14.0", + "immutable-chunkmap", +] + +[[package]] +name = "accesskit_consumer" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459" +dependencies = [ + "accesskit 0.17.1", + "hashbrown 0.15.0", "immutable-chunkmap", ] @@ -40,36 +57,78 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c236a84ff1111defc280cee755eaa953d0b24398786851b9d28322c6d3bb1ebd" dependencies = [ - "accesskit", - "accesskit_consumer", + "accesskit 0.14.0", + "accesskit_consumer 0.22.0", "objc2", "objc2-app-kit", "objc2-foundation", "once_cell", ] +[[package]] +name = "accesskit_macos" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1" +dependencies = [ + "accesskit 0.17.1", + "accesskit_consumer 0.26.0", + "hashbrown 0.15.0", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + [[package]] name = "accesskit_windows" version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d7f43d24b16b3e76bef248124fbfd2493c3a9860edb5aae1010c890e826de5e" dependencies = [ - "accesskit", - "accesskit_consumer", + "accesskit 0.14.0", + "accesskit_consumer 0.22.0", "paste", "static_assertions", "windows 0.54.0", ] +[[package]] +name = "accesskit_windows" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81" +dependencies = [ + "accesskit 0.17.1", + "accesskit_consumer 0.26.0", + "hashbrown 0.15.0", + "paste", + "static_assertions", + "windows 0.58.0", + "windows-core 0.58.0", +] + [[package]] name = "accesskit_winit" version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "755535e6bf711a42dac28b888b884b10fc00ff4010d9d3bd871c5f5beae5aa78" dependencies = [ - "accesskit", - "accesskit_macos", - "accesskit_windows", + "accesskit 0.14.0", + "accesskit_macos 0.15.0", + "accesskit_windows 0.20.0", + "raw-window-handle", + "winit", +] + +[[package]] +name = "accesskit_winit" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6a48dad5530b6deb9fc7a52cc6c3bf72cdd9eb8157ac9d32d69f2427a5e879" +dependencies = [ + "accesskit 0.17.1", + "accesskit_macos 0.18.1", + "accesskit_windows 0.24.1", "raw-window-handle", "winit", ] @@ -87,6 +146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", + "const-random", "getrandom", "once_cell", "version_check", @@ -199,6 +259,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + [[package]] name = "ash" version = "0.37.3+1.3.251" @@ -208,6 +274,26 @@ dependencies = [ "libloading 0.7.4", ] +[[package]] +name = "ash" +version = "0.38.0+1.3.281" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +dependencies = [ + "libloading 0.8.5", +] + +[[package]] +name = "assert_type_match" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "async-broadcast" version = "0.5.1" @@ -283,6 +369,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.4.0" @@ -307,18 +399,17 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "043c9ad4b6fc4ca52d779873a8ca792a4e37842d07fce95363c9e17e36a1d8a0" dependencies = [ - "bevy_dylib", - "bevy_internal", + "bevy_internal 0.14.2", ] [[package]] -name = "bevy-parallax" -version = "0.10.0" +name = "bevy" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6204ca0c4229c8b81278944512e7bcee569b7f5218bc872cfee2b4f02b7b0fe" +checksum = "b6a01cd51a5cd310e4e7aa6e1560b1aabf29efc6a095a01e6daa8bf0a19f1fea" dependencies = [ - "bevy", - "serde", + "bevy_dylib", + "bevy_internal 0.15.0", ] [[package]] @@ -327,38 +418,53 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae1a976cb539d6a5a3ff579cdb78187a6bcfbffa7e8224ea28f23d8b983d9389" dependencies = [ - "accesskit", - "bevy_app", - "bevy_derive", - "bevy_ecs", + "accesskit 0.14.0", + "bevy_app 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", +] + +[[package]] +name = "bevy_a11y" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82c66b5bc82a2660a5663d85b3354ddb72c8ab2c443989333cbea146f39a4e9a" +dependencies = [ + "accesskit 0.17.1", + "bevy_app 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", ] [[package]] name = "bevy_animation" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93aef7d21a0342c24b05059493aa31d58f1798d34a2236569a8789b74df5a475" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_log", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_time", - "bevy_transform", - "bevy_utils", +checksum = "ee48f3fc65f583e5e320e38874053e20e7a71205a62aaace5d607446781bd742" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_log 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_time 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", "blake3", - "fixedbitset 0.5.7", + "derive_more 1.0.0", + "downcast-rs", + "either", "petgraph", "ron", "serde", - "thiserror 1.0.65", + "smallvec", "thread_local", "uuid", ] @@ -369,11 +475,11 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5361d0f8a8677a5d0102cfe7321a7ecd2a8b9a4f887ce0dde1059311cf9cd42" dependencies = [ - "bevy_derive", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", "console_error_panic_hook", "downcast-rs", "thiserror 1.0.65", @@ -381,6 +487,25 @@ dependencies = [ "web-sys", ] +[[package]] +name = "bevy_app" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "652574e4c10efcfa70f98036709dd5b67e5cb8d46c58087ef48c2ac6b62df9da" +dependencies = [ + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_tasks 0.15.0", + "bevy_utils 0.15.0", + "console_error_panic_hook", + "ctrlc", + "derive_more 1.0.0", + "downcast-rs", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "bevy_asset" version = "0.14.2" @@ -390,20 +515,19 @@ dependencies = [ "async-broadcast", "async-fs", "async-lock", - "bevy_app", - "bevy_asset_macros", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "bevy_winit", + "bevy_app 0.14.2", + "bevy_asset_macros 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", + "bevy_winit 0.14.2", "blake3", "crossbeam-channel", "downcast-rs", "futures-io", "futures-lite", "js-sys", - "notify-debouncer-full", "parking_lot", "ron", "serde", @@ -414,14 +538,52 @@ dependencies = [ "web-sys", ] +[[package]] +name = "bevy_asset" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d7d501eda01be6d500d843a06d9b9800c3f0fffaae3c29d17d9e4e172c28d37" +dependencies = [ + "async-broadcast", + "async-fs", + "async-lock", + "atomicow", + "bevy_app 0.15.0", + "bevy_asset_macros 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_tasks 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "bitflags 2.6.0", + "blake3", + "crossbeam-channel", + "derive_more 1.0.0", + "disqualified", + "downcast-rs", + "either", + "futures-io", + "futures-lite", + "js-sys", + "notify-debouncer-full", + "parking_lot", + "ron", + "serde", + "stackfuture", + "uuid", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "bevy_asset_loader" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47863215e4454e0142cc7e0f7801ad256d44e690f43186743e3e2bc9da2de870" +checksum = "d806c255faca43ace03fe99889dd322e295a55ed4dd478a5d8ea6efe523158fe" dependencies = [ "anyhow", - "bevy", + "bevy 0.15.0", "bevy_asset_loader_derive", "bevy_common_assets", "path-slash", @@ -430,9 +592,9 @@ dependencies = [ [[package]] name = "bevy_asset_loader_derive" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b12bd14ec1f3e57760d01b239bd27ab5dd13547379e5a83c167c7162525f646" +checksum = "b758b06fa9ec729c925f1fc256b503ca438f1ea345636af362b5fae71f5d8868" dependencies = [ "proc-macro2", "quote", @@ -445,7 +607,19 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9eb05ce838d282f09d83380b4d6432aec7519d421dee8c75cc20e6148237e6e" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "bevy_asset_macros" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7474b77fc27db11ec03d49ca04f1a7471f369dc373fd5e091a12ad7ab533d8c8" +dependencies = [ + "bevy_macro_utils 0.15.0", "proc-macro2", "quote", "syn 2.0.87", @@ -457,23 +631,38 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04842e9d38a93f0c75ab46f7f404ea24ef57ad83dbd159e5b4b35318b02257bb" dependencies = [ - "bevy_math", - "bevy_reflect", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "bytemuck", - "encase", + "encase 0.8.0", "serde", "thiserror 1.0.65", - "wgpu-types", + "wgpu-types 0.20.0", +] + +[[package]] +name = "bevy_color" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87bccacba27db37375eb97ffc86e91a7d95db3f5faa6a834fa7306db02cde327" +dependencies = [ + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bytemuck", + "derive_more 1.0.0", + "encase 0.10.0", + "serde", + "wgpu-types 23.0.0", ] [[package]] name = "bevy_common_assets" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f631ce2863f3b6f1af3fa24143363b9fbd21c44218caad495a17b83e6968256" +checksum = "3521990269672c442f2bf0fbed0fce9db719e3dd136dd4012a97809464a4389d" dependencies = [ "anyhow", - "bevy", + "bevy 0.15.0", "ron", "serde", "thiserror 1.0.65", @@ -485,32 +674,46 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de706862871a1fe99ea619bff2f99d73e43ad82f19ef866a9e19a14c957c8537" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", "serde", "uuid", ] +[[package]] +name = "bevy_core" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecccf7be33330f58d4c7033b212a25c414d388e3a8d55b61331346da5dbabf22" +dependencies = [ + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_tasks 0.15.0", + "bevy_utils 0.15.0", + "uuid", +] + [[package]] name = "bevy_core_pipeline" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f6e1e122ada4cd811442e083fb5ad3e325c59a87271d5ef57193f1c2cad7f8c" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "bitflags 2.6.0", "nonmax", "radsort", @@ -519,43 +722,81 @@ dependencies = [ "thiserror 1.0.65", ] +[[package]] +name = "bevy_core_pipeline" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3fb9f84fa60c2006d4a15e039c3d08d4d10599441b9175907341a77a69d627" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "bitflags 2.6.0", + "derive_more 1.0.0", + "nonmax", + "radsort", + "serde", + "smallvec", +] + [[package]] name = "bevy_derive" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fbfc33a4c6b80760bb8bf850a2cc65a1e031da62fd3ca8b552189104dc98514" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "bevy_derive" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e141b7eda52a23bb88740b37a291e26394524cb9ee3b034c7014669671fc2bb5" +dependencies = [ + "bevy_macro_utils 0.15.0", "quote", "syn 2.0.87", ] [[package]] name = "bevy_dev_tools" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0abf99960653c5b0827c562e75fd7a6c74ffa517d2c138519c31375f17f12ce8" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_core_pipeline", - "bevy_diagnostic", - "bevy_ecs", - "bevy_gizmos", - "bevy_hierarchy", - "bevy_input", - "bevy_math", - "bevy_reflect", - "bevy_render", +checksum = "731d7691b28c74067a28bb2cecb82d194a249b453cecb943e7fc24ff8060bc46" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core 0.15.0", + "bevy_core_pipeline 0.15.0", + "bevy_diagnostic 0.15.0", + "bevy_ecs 0.15.0", + "bevy_gizmos 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_input 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", "bevy_state", - "bevy_text", - "bevy_time", - "bevy_transform", - "bevy_ui", - "bevy_utils", - "bevy_window", + "bevy_text 0.15.0", + "bevy_time 0.15.0", + "bevy_transform 0.15.0", + "bevy_ui 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", ] [[package]] @@ -564,23 +805,38 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bebb154e0cc78e3bbfbfdb42fb502b14c1cd47e72f16e6d4228dfe6233ba6cbd" dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_tasks", - "bevy_time", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_core 0.14.2", + "bevy_ecs 0.14.2", + "bevy_tasks 0.14.2", + "bevy_time 0.14.2", + "bevy_utils 0.14.2", + "const-fnv1a-hash", +] + +[[package]] +name = "bevy_diagnostic" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa97748337405089edfb2857f7608f21bcc648a7ad272c9209808aad252ed542" +dependencies = [ + "bevy_app 0.15.0", + "bevy_core 0.15.0", + "bevy_ecs 0.15.0", + "bevy_tasks 0.15.0", + "bevy_time 0.15.0", + "bevy_utils 0.15.0", "const-fnv1a-hash", "sysinfo", ] [[package]] name = "bevy_dylib" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c399292fac67682a72666e78872626f3c1c39b34c430b6f02c81d21da91b500" +checksum = "d2b0c60e568493ac23c001d22f47b99818efe1e992253e2ab3fdb69603b2aa1c" dependencies = [ - "bevy_internal", + "bevy_internal 0.15.0", ] [[package]] @@ -589,12 +845,11 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ee4222406637f3c8e3991a99788cfcde76097bf997c311f1b6297364057483f" dependencies = [ - "arrayvec", - "bevy_ecs_macros", - "bevy_ptr", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_ecs_macros 0.14.2", + "bevy_ptr 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", "bitflags 2.6.0", "concurrent-queue", "fixedbitset 0.5.7", @@ -604,29 +859,51 @@ dependencies = [ "thiserror 1.0.65", ] +[[package]] +name = "bevy_ecs" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4c4b60d2a712c6d5cbe610bac7ecf0838fc56a095fd5b15f30230873e84f15" +dependencies = [ + "arrayvec", + "bevy_ecs_macros 0.15.0", + "bevy_ptr 0.15.0", + "bevy_reflect 0.15.0", + "bevy_tasks 0.15.0", + "bevy_utils 0.15.0", + "bitflags 2.6.0", + "concurrent-queue", + "derive_more 1.0.0", + "disqualified", + "fixedbitset 0.5.7", + "nonmax", + "petgraph", + "serde", + "smallvec", +] + [[package]] name = "bevy_ecs_macros" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36b573430b67aff7bde8292257494f39343401379bfbda64035ba4918bba7b20" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", "proc-macro2", "quote", "syn 2.0.87", ] [[package]] -name = "bevy_embedded_assets" -version = "0.11.0" +name = "bevy_ecs_macros" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3f3e7b41a9b01b767ba07c4ebb083b2d8d8055e57ddef7e55e502bbfc961505" +checksum = "cb4296b3254b8bd29769f6a4512731b2e6c4b163343ca18b72316927315b6096" dependencies = [ - "bevy", - "cargo-emit", - "futures-io", - "futures-lite", - "thiserror 1.0.65", + "bevy_macro_utils 0.15.0", + "proc-macro2", + "quote", + "syn 2.0.87", ] [[package]] @@ -635,8 +912,18 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d06c9693847a2a6ea61d6b86288dd4d8b6a79f05d4bf6e27b96d4f5c8d552fe4" dependencies = [ - "bevy_macro_utils", - "encase_derive_impl", + "bevy_macro_utils 0.14.2", + "encase_derive_impl 0.8.0", +] + +[[package]] +name = "bevy_encase_derive" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe562b883fb652acde84cb6bb01cbc9f23c377e411f1484467ecfdd3a3d234e" +dependencies = [ + "bevy_macro_utils 0.15.0", + "encase_derive_impl 0.10.0", ] [[package]] @@ -645,34 +932,72 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0422ccb3ce0f79b264100cf064fdc5ef65cef5c7d51bf6378058f9b96fea4183" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_input", - "bevy_time", - "bevy_utils", - "gilrs", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_input 0.14.2", + "bevy_time 0.14.2", + "bevy_utils 0.14.2", + "gilrs 0.10.10", "thiserror 1.0.65", ] +[[package]] +name = "bevy_gilrs" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc3a5f9e872133d7f5c2fab82e17781c19ed0b98f371362a23ed972bb538d20" +dependencies = [ + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_input 0.15.0", + "bevy_time 0.15.0", + "bevy_utils 0.15.0", + "derive_more 1.0.0", + "gilrs 0.11.0", +] + [[package]] name = "bevy_gizmos" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfe32af0666d8d8a7fd6eb6b5e41eceefdc6f2e5441c74b812e8f0902a9d7f52" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_ecs", - "bevy_gizmos_macros", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_time", - "bevy_transform", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core_pipeline 0.14.2", + "bevy_ecs 0.14.2", + "bevy_gizmos_macros 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_sprite 0.14.2", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bytemuck", +] + +[[package]] +name = "bevy_gizmos" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1c82341f6a3517efeeeef2fe68135ac3a91b11b6e369fc1a07f6e9a4b462b57" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core_pipeline 0.15.0", + "bevy_ecs 0.15.0", + "bevy_gizmos_macros 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_sprite 0.15.0", + "bevy_time 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", "bytemuck", ] @@ -682,7 +1007,19 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "906b052f8cf3f3983f0f6df625fb10cbd9b27d44e362a327dc1ed51300d362bc" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "bevy_gizmos_macros" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9454ac9f0a2141900ef9f3482af9333e490d5546bbea3cab63a777447d35beed" +dependencies = [ + "bevy_macro_utils 0.15.0", "proc-macro2", "quote", "syn 2.0.87", @@ -690,33 +1027,34 @@ dependencies = [ [[package]] name = "bevy_gltf" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6adbd325b90e3c700d0966b5404e226c7deec1b8bda8f36832788d7b435b9b8" +checksum = "b21ed694796a001a5cf63de9ddc62fc017302b0e2998a361ef1126880ec93555" dependencies = [ "base64 0.22.1", "bevy_animation", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_core_pipeline", - "bevy_ecs", - "bevy_hierarchy", - "bevy_math", + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core 0.15.0", + "bevy_core_pipeline 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_image", + "bevy_math 0.15.0", "bevy_pbr", - "bevy_reflect", - "bevy_render", - "bevy_scene", - "bevy_tasks", - "bevy_transform", - "bevy_utils", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_scene 0.15.0", + "bevy_tasks 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "derive_more 1.0.0", "gltf", "percent-encoding", "serde", "serde_json", "smallvec", - "thiserror 1.0.65", ] [[package]] @@ -725,79 +1063,170 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a88b912b37e1bc4dbb2aa40723199f74c8b06c4fbb6da0bb4585131df28ef66e" dependencies = [ - "bevy_app", - "bevy_core", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_core 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", "smallvec", ] +[[package]] +name = "bevy_hierarchy" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe0b538beea7edbf30a6062242b99e67ff3bfa716566aacf91d5b5e027f02a2" +dependencies = [ + "bevy_app 0.15.0", + "bevy_core 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "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 0.15.0", + "bevy_color 0.15.1", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "bitflags 2.6.0", + "bytemuck", + "derive_more 1.0.0", + "futures-lite", + "image", + "ktx2", + "ruzstd", + "serde", + "wgpu 23.0.1", +] + [[package]] name = "bevy_input" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8dd3a54e67cc3ba17971de7b1a7e64eda84493c1e7bb6bfa11c6cf8ac124377b" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", "serde", "smol_str", "thiserror 1.0.65", ] +[[package]] +name = "bevy_input" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46b4ea60095d1a1851e40cb12481ad3d5d234e14376d6b73142a85586c266b74" +dependencies = [ + "bevy_app 0.15.0", + "bevy_core 0.15.0", + "bevy_ecs 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "derive_more 1.0.0", + "smol_str", +] + [[package]] name = "bevy_internal" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45d435cac77c568f3aef65f786a5fee0e53c81950c5258182dd2c1d6cd6c4fec" dependencies = [ - "bevy_a11y", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core 0.14.2", + "bevy_core_pipeline 0.14.2", + "bevy_derive 0.14.2", + "bevy_diagnostic 0.14.2", + "bevy_ecs 0.14.2", + "bevy_gilrs 0.14.2", + "bevy_gizmos 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_input 0.14.2", + "bevy_log 0.14.2", + "bevy_math 0.14.2", + "bevy_ptr 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_scene 0.14.2", + "bevy_sprite 0.14.2", + "bevy_tasks 0.14.2", + "bevy_text 0.14.2", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", + "bevy_ui 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", + "bevy_winit 0.14.2", +] + +[[package]] +name = "bevy_internal" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4237e6e9b03902321032f00f931f18a4a211093bd9a7cf81276a0228a2a4417" +dependencies = [ + "bevy_a11y 0.15.0", "bevy_animation", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_core_pipeline", - "bevy_derive", + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core 0.15.0", + "bevy_core_pipeline 0.15.0", + "bevy_derive 0.15.0", "bevy_dev_tools", - "bevy_diagnostic", - "bevy_ecs", - "bevy_gilrs", - "bevy_gizmos", + "bevy_diagnostic 0.15.0", + "bevy_ecs 0.15.0", + "bevy_gilrs 0.15.0", + "bevy_gizmos 0.15.0", "bevy_gltf", - "bevy_hierarchy", - "bevy_input", - "bevy_log", - "bevy_math", + "bevy_hierarchy 0.15.0", + "bevy_image", + "bevy_input 0.15.0", + "bevy_log 0.15.0", + "bevy_math 0.15.0", "bevy_pbr", - "bevy_ptr", - "bevy_reflect", - "bevy_render", - "bevy_scene", - "bevy_sprite", + "bevy_picking", + "bevy_ptr 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_scene 0.15.0", + "bevy_sprite 0.15.0", "bevy_state", - "bevy_tasks", - "bevy_text", - "bevy_time", - "bevy_transform", - "bevy_ui", - "bevy_utils", - "bevy_window", - "bevy_winit", + "bevy_tasks 0.15.0", + "bevy_text 0.15.0", + "bevy_time 0.15.0", + "bevy_transform 0.15.0", + "bevy_ui 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "bevy_winit 0.15.0", ] [[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", + "bevy 0.15.0", "kira", "parking_lot", "thiserror 1.0.65", @@ -811,10 +1240,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67240c7596c8f0653e50fce35a60196516817449235193246599facba9002e02" dependencies = [ "android_log-sys", - "bevy_app", - "bevy_ecs", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_utils 0.14.2", + "tracing-log", + "tracing-subscriber", + "tracing-wasm", +] + +[[package]] +name = "bevy_log" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a0bdb42b00ac3752f0d6f531fbda8abf313603157a7b3163da8529412119a0a" +dependencies = [ + "android_log-sys", + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_utils 0.15.0", "tracing-log", + "tracing-oslog", "tracing-subscriber", "tracing-wasm", ] @@ -831,13 +1276,25 @@ dependencies = [ "toml_edit", ] +[[package]] +name = "bevy_macro_utils" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3954dbb56a66a6c09c783e767f6ceca0dc0492c22e536e2aeaefb5545eac33c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "toml_edit", +] + [[package]] name = "bevy_math" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5421792749dda753ab3718e77d27bfce38443daf1850b836b97530b6245a4581" dependencies = [ - "bevy_reflect", + "bevy_reflect 0.14.2", "glam 0.27.0", "rand 0.8.5", "serde", @@ -845,6 +1302,45 @@ dependencies = [ "thiserror 1.0.65", ] +[[package]] +name = "bevy_math" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae26f952598e293acac783d947b21af1809673cbeba25d76b969a56f287160b" +dependencies = [ + "bevy_reflect 0.15.0", + "derive_more 1.0.0", + "glam 0.29.2", + "itertools", + "rand 0.8.5", + "rand_distr", + "serde", + "smallvec", +] + +[[package]] +name = "bevy_mesh" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c324d45ca0043a4696d7324b569de65be17066ed3a97dd42205bc28693d20b5" +dependencies = [ + "bevy_asset 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_mikktspace 0.15.0", + "bevy_reflect 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bitflags 2.6.0", + "bytemuck", + "derive_more 1.0.0", + "hexasphere 15.0.0", + "serde", + "wgpu 23.0.1", +] + [[package]] name = "bevy_mikktspace" version = "0.14.2" @@ -854,26 +1350,37 @@ dependencies = [ "glam 0.27.0", ] +[[package]] +name = "bevy_mikktspace" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da5ea3ad25d74ea36ea45418ad799f135d046db35c322b9704c4a8934eb65ce9" +dependencies = [ + "glam 0.29.2", +] + [[package]] name = "bevy_pbr" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccaa3c945f19834dcf7cd8eb358236dbf0fc4000dacbc7710564e7856714db" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", - "bevy_window", +checksum = "01b3bd8e646ddd3f27743b712957d2990d7361eb21044accc47c4f66711bf2cb" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core_pipeline 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", "bitflags 2.6.0", "bytemuck", + "derive_more 1.0.0", "fixedbitset 0.5.7", "nonmax", "radsort", @@ -881,31 +1388,53 @@ 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 0.15.0", + "bevy_asset 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_input 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_time 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "uuid", +] + [[package]] name = "bevy_pkv" -version = "0.11.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e95604d940e830747345e4bdd3218222ca393a4ccc1dfb8b031a11188ceb5b3c" +checksum = "6edeb4e116ce1a27fac170647190b73e3fa7f73fbf5bd6f63500563acd9ff6ef" dependencies = [ - "bevy_ecs", + "bevy_ecs 0.15.0", "cfg_aliases 0.2.1", "directories", "redb", "rmp-serde", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 2.0.3", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_prototype_lyon" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a59b46da5bccc6d86c6047cfc81b8e9027f5b98e24b8721e8e1453c1d05371" +checksum = "e02ff6a3e8b4867eaed81a2bb2cc0bcddc33150849eefa369b4a170ef337aaa8" dependencies = [ - "bevy", + "bevy 0.15.0", "lyon_algorithms", "lyon_tessellation", "svgtypes", @@ -917,19 +1446,24 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61baa1bdc1f4a7ac2c18217570a7cc04e1cd54d38456e91782f0371c79afe0a8" +[[package]] +name = "bevy_ptr" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af9e30b40fb3f0a80a658419f670f2de1e743efcaca1952c43cdcc923287944" + [[package]] name = "bevy_reflect" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2508785a4a5809f25a237eec4fee2c91a4dbcf81324b2bbc2d6c52629e603781" dependencies = [ - "bevy_ptr", - "bevy_reflect_derive", - "bevy_utils", + "bevy_ptr 0.14.2", + "bevy_reflect_derive 0.14.2", + "bevy_utils 0.14.2", "downcast-rs", "erased-serde", "glam 0.27.0", - "petgraph", "serde", "smallvec", "smol_str", @@ -937,65 +1471,145 @@ dependencies = [ "uuid", ] +[[package]] +name = "bevy_reflect" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a37e2ae5ed62df4a0e3f958076effe280b39bc81fe878587350897a89332a2" +dependencies = [ + "assert_type_match", + "bevy_ptr 0.15.0", + "bevy_reflect_derive 0.15.0", + "bevy_utils 0.15.0", + "derive_more 1.0.0", + "disqualified", + "downcast-rs", + "erased-serde", + "glam 0.29.2", + "petgraph", + "serde", + "smallvec", + "smol_str", + "uuid", +] + [[package]] name = "bevy_reflect_derive" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "967d5da1882ec3bb3675353915d3da909cafac033cbf31e58727824a1ad2a288" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", "proc-macro2", "quote", "syn 2.0.87", "uuid", ] +[[package]] +name = "bevy_reflect_derive" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94c683fc68c75fc26f90bb1e529590095380d7cec66f6610dbe6b93d9fd26f94" +dependencies = [ + "bevy_macro_utils 0.15.0", + "proc-macro2", + "quote", + "syn 2.0.87", + "uuid", +] + +[[package]] +name = "bevy_render" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836cf8a513db013cbe7d55a331060088efd407e49fd5b05c8404700cd82e7619" +dependencies = [ + "async-channel", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core 0.14.2", + "bevy_derive 0.14.2", + "bevy_diagnostic 0.14.2", + "bevy_ecs 0.14.2", + "bevy_encase_derive 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_math 0.14.2", + "bevy_mikktspace 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render_macros 0.14.2", + "bevy_tasks 0.14.2", + "bevy_time 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", + "bitflags 2.6.0", + "bytemuck", + "codespan-reporting", + "downcast-rs", + "encase 0.8.0", + "futures-lite", + "hexasphere 12.0.0", + "image", + "js-sys", + "naga 0.20.0", + "naga_oil 0.14.0", + "nonmax", + "send_wrapper", + "serde", + "smallvec", + "thiserror 1.0.65", + "wasm-bindgen", + "web-sys", + "wgpu 0.20.1", +] + [[package]] name = "bevy_render" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836cf8a513db013cbe7d55a331060088efd407e49fd5b05c8404700cd82e7619" +checksum = "d188f392edf4edcae53dfda07f3ec618a7a704183ec3f2e8504657a9fb940c8a" dependencies = [ "async-channel", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_derive", - "bevy_diagnostic", - "bevy_ecs", - "bevy_encase_derive", - "bevy_hierarchy", - "bevy_math", - "bevy_mikktspace", - "bevy_reflect", - "bevy_render_macros", - "bevy_tasks", - "bevy_time", - "bevy_transform", - "bevy_utils", - "bevy_window", - "bitflags 2.6.0", + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core 0.15.0", + "bevy_derive 0.15.0", + "bevy_diagnostic 0.15.0", + "bevy_ecs 0.15.0", + "bevy_encase_derive 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_mesh", + "bevy_reflect 0.15.0", + "bevy_render_macros 0.15.0", + "bevy_tasks 0.15.0", + "bevy_time 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", "bytemuck", "codespan-reporting", + "derive_more 1.0.0", "downcast-rs", - "encase", + "encase 0.10.0", "futures-lite", - "hexasphere", "image", "js-sys", "ktx2", - "naga", - "naga_oil", + "naga 23.0.0", + "naga_oil 0.16.0", "nonmax", - "ruzstd", + "offset-allocator", "send_wrapper", "serde", "smallvec", - "thiserror 1.0.65", "wasm-bindgen", "web-sys", - "wgpu", + "wgpu 23.0.1", ] [[package]] @@ -1004,7 +1618,19 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbc24e0e95061a38a7744218b9c7e52e4c08b53f1499f33480e2b749f3864432" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.14.2", + "proc-macro2", + "quote", + "syn 2.0.87", +] + +[[package]] +name = "bevy_render_macros" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ab37ee2945f93e9ba8daf91cd968b4cba9c677ac51d349dd8512a107a9a5d92" +dependencies = [ + "bevy_macro_utils 0.15.0", "proc-macro2", "quote", "syn 2.0.87", @@ -1016,37 +1642,57 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ec57a72d75273bdbb6154390688fd07ba79ae9f6f99476d1937f799c736c2da" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "serde", "thiserror 1.0.65", "uuid", ] +[[package]] +name = "bevy_scene" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e883fd3c6d6e7761f1fe662e79bc7bdc7e917e73e7bfc434b1d16d2a5852119" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "derive_more 1.0.0", + "serde", + "uuid", +] + [[package]] name = "bevy_sprite" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e045b4d8cc8e7422a4c29b1eadbe224f5cc42f170b88d43e7535892fcede3840" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core_pipeline 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", "bitflags 2.6.0", "bytemuck", "fixedbitset 0.5.7", @@ -1056,27 +1702,57 @@ dependencies = [ "thiserror 1.0.65", ] +[[package]] +name = "bevy_sprite" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e975abc3f3f3432d6ad86ae32de804e96d7faf59d27f32b065b5ddc1e73ed7e1" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core_pipeline 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_picking", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "bitflags 2.6.0", + "bytemuck", + "derive_more 1.0.0", + "fixedbitset 0.5.7", + "guillotiere", + "nonmax", + "radsort", + "rectangle-pack", +] + [[package]] name = "bevy_state" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25335bfa58cc22371182335c3b133017293bc9b6d3308402fd4d1f978b83f937" +checksum = "036ec832197eae51b8a842220d2df03591dff75b4566dcf0f81153bbcb2b593b" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_hierarchy", - "bevy_reflect", + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_reflect 0.15.0", "bevy_state_macros", - "bevy_utils", + "bevy_utils 0.15.0", ] [[package]] name = "bevy_state_macros" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee600b659c739f1911f997a81611fec0a1832cf731727956e5fa4e7532b4dd5" +checksum = "2828eb6762af9eccfebb5e4a0e56dbc4bd07bf3192083fa3e8525cfdb3e95add" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.15.0", "proc-macro2", "quote", "syn 2.0.87", @@ -1087,11 +1763,24 @@ name = "bevy_tasks" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77865f310b1fc48fb05b7c4adbe76607ec01d0c14f8ab4caba4d714c86439946" +dependencies = [ + "async-executor", + "futures-lite", + "wasm-bindgen-futures", +] + +[[package]] +name = "bevy_tasks" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5171c605b462b4e3249e01986505e62e3933aa27642a9f793c841814fcbbfb4f" dependencies = [ "async-channel", "async-executor", "concurrent-queue", + "futures-channel", "futures-lite", + "pin-project", "wasm-bindgen-futures", ] @@ -1102,75 +1791,130 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b661db828fd423fc41a4ccf43aa4d1b8e50e75057ec40453317d0d761e8ad62d" dependencies = [ "ab_glyph", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_sprite 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "glyph_brush_layout", "serde", "thiserror 1.0.65", ] +[[package]] +name = "bevy_text" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb000b2abad9f82f7a137fac7e0e3d2c6488cbf8dd9ddbb68f9a6b7e7af8d84" +dependencies = [ + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_image", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_sprite 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "cosmic-text", + "derive_more 1.0.0", + "serde", + "smallvec", + "sys-locale", + "unicode-bidi", +] + [[package]] name = "bevy_time" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4e4d53ec32a1b16492396951d04de0d2d90e924bf9adcb8d1adacab5ab6c17c" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", "crossbeam-channel", "serde", "thiserror 1.0.65", ] +[[package]] +name = "bevy_time" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291b6993b899c04554fc034ebb9e0d7fde9cb9b2fb58dcd912bfa6247abdedbb" +dependencies = [ + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "crossbeam-channel", +] + [[package]] name = "bevy_transform" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5493dce84427d00a9266e8e4386d738a72ee8640423b62dfcecb6dfccbfe0d2" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_hierarchy", - "bevy_math", - "bevy_reflect", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", "serde", "thiserror 1.0.65", ] +[[package]] +name = "bevy_transform" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35665624d0c728107ab0920d5ad2d352362b906a8c376eaf375ec9c751faf4" +dependencies = [ + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "derive_more 1.0.0", +] + [[package]] name = "bevy_ui" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56d2cba6603b39a3765f043212ae530e25550af168a7eec6b23b9b93c19bc5f7" dependencies = [ - "bevy_a11y", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_sprite", - "bevy_text", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_asset 0.14.2", + "bevy_color 0.14.3", + "bevy_core_pipeline 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_input 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_render 0.14.2", + "bevy_sprite 0.14.2", + "bevy_text 0.14.2", + "bevy_transform 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "bytemuck", "nonmax", "serde", @@ -1179,6 +1923,39 @@ dependencies = [ "thiserror 1.0.65", ] +[[package]] +name = "bevy_ui" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da3326aa592d6f6326e31893901bf17cd6957ded4e0ea02bc54652e5624b7f" +dependencies = [ + "accesskit 0.17.1", + "bevy_a11y 0.15.0", + "bevy_app 0.15.0", + "bevy_asset 0.15.0", + "bevy_color 0.15.1", + "bevy_core_pipeline 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_image", + "bevy_input 0.15.0", + "bevy_math 0.15.0", + "bevy_picking", + "bevy_reflect 0.15.0", + "bevy_render 0.15.0", + "bevy_sprite 0.15.0", + "bevy_text 0.15.0", + "bevy_transform 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "bytemuck", + "derive_more 1.0.0", + "nonmax", + "smallvec", + "taffy", +] + [[package]] name = "bevy_utils" version = "0.14.2" @@ -1186,7 +1963,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffb0ec333b5965771153bd746f92ffd8aeeb9d008a8620ffd9ed474859381a5e" dependencies = [ "ahash", - "bevy_utils_proc_macros", + "bevy_utils_proc_macros 0.14.2", + "getrandom", + "hashbrown 0.14.5", + "thread_local", + "tracing", + "web-time", +] + +[[package]] +name = "bevy_utils" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0a48bad33c385a7818b7683a16c8b5c6930eded05cd3f176264fc1f5acea473" +dependencies = [ + "ahash", + "bevy_utils_proc_macros 0.15.0", "getrandom", "hashbrown 0.14.5", "thread_local", @@ -1205,43 +1997,72 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "bevy_utils_proc_macros" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfd8d4a525b8f04f85863e45ccad3e922d4c11ed4a8d54f7f62a40bf83fb90f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "bevy_window" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c89e88a20db64ea8204540afb4699295947c454738fd50293f7b32ab8be857a6" dependencies = [ - "bevy_a11y", - "bevy_app", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_ecs 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_utils 0.14.2", "raw-window-handle", "serde", "smol_str", ] +[[package]] +name = "bevy_window" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f3520279aae65935d6a84443202c154ead3abebf8dae906d095665162de358" +dependencies = [ + "android-activity", + "bevy_a11y 0.15.0", + "bevy_app 0.15.0", + "bevy_ecs 0.15.0", + "bevy_input 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_utils 0.15.0", + "raw-window-handle", + "smol_str", +] + [[package]] name = "bevy_winit" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0bef8ec3e4b45db943ad4d1c0bf59b09e382ce0651a706e2f33a70fa955303c" dependencies = [ - "accesskit_winit", + "accesskit_winit 0.20.4", "approx", - "bevy_a11y", - "bevy_app", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "bevy_window", + "bevy_a11y 0.14.2", + "bevy_app 0.14.2", + "bevy_derive 0.14.2", + "bevy_ecs 0.14.2", + "bevy_hierarchy 0.14.2", + "bevy_input 0.14.2", + "bevy_log 0.14.2", + "bevy_math 0.14.2", + "bevy_reflect 0.14.2", + "bevy_tasks 0.14.2", + "bevy_utils 0.14.2", + "bevy_window 0.14.2", "cfg-if", "crossbeam-channel", "raw-window-handle", @@ -1251,6 +2072,35 @@ dependencies = [ "winit", ] +[[package]] +name = "bevy_winit" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581bb2249a82285707e0977a9a1c79a2248ede587fcb289708faa03a82ebfa7f" +dependencies = [ + "accesskit 0.17.1", + "accesskit_winit 0.23.1", + "approx", + "bevy_a11y 0.15.0", + "bevy_app 0.15.0", + "bevy_derive 0.15.0", + "bevy_ecs 0.15.0", + "bevy_hierarchy 0.15.0", + "bevy_input 0.15.0", + "bevy_log 0.15.0", + "bevy_math 0.15.0", + "bevy_reflect 0.15.0", + "bevy_tasks 0.15.0", + "bevy_utils 0.15.0", + "bevy_window 0.15.0", + "cfg-if", + "crossbeam-channel", + "raw-window-handle", + "wasm-bindgen", + "web-sys", + "winit", +] + [[package]] name = "bindgen" version = "0.70.1" @@ -1261,6 +2111,8 @@ dependencies = [ "cexpr", "clang-sys", "itertools", + "log", + "prettyplease", "proc-macro2", "quote", "regex", @@ -1275,7 +2127,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]] @@ -1284,6 +2145,12 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[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" @@ -1410,12 +2277,6 @@ dependencies = [ "wayland-client", ] -[[package]] -name = "cargo-emit" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1582e1c9e755dd6ad6b224dcffb135d199399a4568d454bd89fe515ca8425695" - [[package]] name = "cc" version = "1.1.31" @@ -1547,6 +2408,26 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" +[[package]] +name = "const-random" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +dependencies = [ + "const-random-macro", +] + +[[package]] +name = "const-random-macro" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" +dependencies = [ + "getrandom", + "once_cell", + "tiny-keccak", +] + [[package]] name = "const_panic" version = "0.2.10" @@ -1584,6 +2465,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" @@ -1597,7 +2488,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", @@ -1610,7 +2501,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", ] @@ -1634,6 +2525,29 @@ dependencies = [ "bindgen", ] +[[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", + "rustybuzz", + "self_cell", + "swash", + "sys-locale", + "ttf-parser 0.21.1", + "unicode-bidi", + "unicode-linebreak", + "unicode-script", + "unicode-segmentation", +] + [[package]] name = "cpal" version = "0.15.3" @@ -1675,12 +2589,37 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + [[package]] name = "csv" version = "1.3.1" @@ -1702,6 +2641,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "ctrlc" +version = "3.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +dependencies = [ + "nix", + "windows-sys 0.59.0", +] + [[package]] name = "cursor-icon" version = "1.1.0" @@ -1742,6 +2691,27 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", + "unicode-xid", +] + [[package]] name = "directories" version = "5.0.1" @@ -1769,6 +2739,12 @@ 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" @@ -1830,25 +2806,57 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a9299a95fa5671ddf29ecc22b00e121843a65cb9ff24911e394b4ae556baf36" dependencies = [ "const_panic", - "encase_derive", + "encase_derive 0.8.0", "glam 0.27.0", "thiserror 1.0.65", ] +[[package]] +name = "encase" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0a05902cf601ed11d564128448097b98ebe3c6574bd7b6a653a3d56d54aa020" +dependencies = [ + "const_panic", + "encase_derive 0.10.0", + "glam 0.29.2", + "thiserror 1.0.65", +] + [[package]] name = "encase_derive" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e09decb3beb1fe2db6940f598957b2e1f7df6206a804d438ff6cb2a9cddc10" dependencies = [ - "encase_derive_impl", + "encase_derive_impl 0.8.0", +] + +[[package]] +name = "encase_derive" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "181d475b694e2dd56ae919ce7699d344d1fd259292d590c723a50d1189a2ea85" +dependencies = [ + "encase_derive_impl 0.10.0", +] + +[[package]] +name = "encase_derive_impl" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd31dbbd9743684d339f907a87fe212cb7b51d75b9e8e74181fe363199ee9b47" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", ] [[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", @@ -2002,6 +3010,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" @@ -2038,6 +3084,15 @@ dependencies = [ "libc", ] +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", +] + [[package]] name = "futures-core" version = "0.3.31" @@ -2063,6 +3118,16 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "gethostname" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +dependencies = [ + "libc", + "windows-targets 0.48.5", +] + [[package]] name = "getrandom" version = "0.2.15" @@ -2083,7 +3148,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a556964c6d62458084356ce9770676f5104bd667e12e9a795691076e8a17c5cf" dependencies = [ "fnv", - "gilrs-core", + "gilrs-core 0.5.15", + "log", + "uuid", + "vec_map", +] + +[[package]] +name = "gilrs" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb2c998745a3c1ac90f64f4f7b3a54219fd3612d7705e7798212935641ed18f" +dependencies = [ + "fnv", + "gilrs-core 0.6.0", "log", "uuid", "vec_map", @@ -2095,7 +3173,7 @@ version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "732dadc05170599ddec9a89653f10d7a2af54da9181b3fa6e2bd49907ec8f7e4" dependencies = [ - "core-foundation", + "core-foundation 0.9.4", "inotify 0.10.2", "io-kit-sys", "js-sys", @@ -2107,7 +3185,28 @@ dependencies = [ "vec_map", "wasm-bindgen", "web-sys", - "windows 0.54.0", + "windows 0.58.0", +] + +[[package]] +name = "gilrs-core" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "495af945e45efd6386227613cd9fb7bd7c43d3c095040e30c5304c489e6abed5" +dependencies = [ + "core-foundation 0.10.0", + "inotify 0.11.0", + "io-kit-sys", + "js-sys", + "libc", + "libudev-sys", + "log", + "nix", + "uuid", + "vec_map", + "wasm-bindgen", + "web-sys", + "windows 0.58.0", ] [[package]] @@ -2141,6 +3240,17 @@ dependencies = [ "serde", ] +[[package]] +name = "glam" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc46dd3ec48fdd8e693a98d2b8bafae273a2d54c1de02a2a7e3d57d501f39677" +dependencies = [ + "bytemuck", + "rand 0.8.5", + "serde", +] + [[package]] name = "glob" version = "0.3.1" @@ -2159,6 +3269,18 @@ dependencies = [ "web-sys", ] +[[package]] +name = "glow" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "gltf" version = "1.4.1" @@ -2204,6 +3326,15 @@ dependencies = [ "gl_generator", ] +[[package]] +name = "glutin_wgl_sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" +dependencies = [ + "gl_generator", +] + [[package]] name = "glyph_brush_layout" version = "0.2.4" @@ -2247,6 +3378,18 @@ dependencies = [ "windows 0.52.0", ] +[[package]] +name = "gpu-allocator" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" +dependencies = [ + "log", + "presser", + "thiserror 1.0.65", + "windows 0.58.0", +] + [[package]] name = "gpu-descriptor" version = "0.3.0" @@ -2299,6 +3442,9 @@ name = "hashbrown" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "foldhash", +] [[package]] name = "hassle-rs" @@ -2337,6 +3483,16 @@ dependencies = [ "glam 0.27.0", ] +[[package]] +name = "hexasphere" +version = "15.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "741ab88b8cc670443da777c3daab02cebf5a3caccfc04e3c052f55c94d1643fe" +dependencies = [ + "constgebra", + "glam 0.29.2", +] + [[package]] name = "hexf-parse" version = "0.2.1" @@ -2382,9 +3538,9 @@ checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" [[package]] name = "inotify" -version = "0.9.6" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" dependencies = [ "bitflags 1.3.2", "inotify-sys", @@ -2393,11 +3549,11 @@ dependencies = [ [[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", ] @@ -2411,6 +3567,15 @@ dependencies = [ "libc", ] +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + [[package]] name = "io-kit-sys" version = "0.4.1" @@ -2539,11 +3704,12 @@ dependencies = [ [[package]] name = "kurbo" -version = "0.9.5" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b" +checksum = "89234b2cc610a7dd927ebde6b41dd1a5d4214cffaef4cf1fb2195d592f92518f" dependencies = [ "arrayvec", + "smallvec", ] [[package]] @@ -2558,8 +3724,8 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4021fbf18a5ed42d81fe26d1976b11567db22ebb80baa06d05dcbd270d455c7e" dependencies = [ - "bevy", - "derive_more", + "bevy 0.14.2", + "derive_more 0.99.18", "dyn-clone", "dyn-eq", "dyn-hash", @@ -2584,9 +3750,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.161" +version = "0.2.168" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" [[package]] name = "libloading" @@ -2762,6 +3928,21 @@ dependencies = [ "paste", ] +[[package]] +name = "metal" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +dependencies = [ + "bitflags 2.6.0", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2786,14 +3967,14 @@ 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]] @@ -2803,7 +3984,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" dependencies = [ "arrayvec", - "bit-set", + "bit-set 0.5.3", "bitflags 2.6.0", "codespan-reporting", "hexf-parse", @@ -2818,17 +3999,59 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "naga" +version = "23.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d5941e45a15b53aad4375eedf02033adb7a28931eedc31117faffa52e6a857e" +dependencies = [ + "arrayvec", + "bit-set 0.8.0", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", + "codespan-reporting", + "hexf-parse", + "indexmap", + "log", + "pp-rs", + "rustc-hash", + "spirv", + "termcolor", + "thiserror 1.0.65", + "unicode-xid", +] + [[package]] name = "naga_oil" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "275d9720a7338eedac966141089232514c84d76a246a58ef501af88c5edf402f" dependencies = [ - "bit-set", + "bit-set 0.5.3", + "codespan-reporting", + "data-encoding", + "indexmap", + "naga 0.20.0", + "once_cell", + "regex", + "regex-syntax 0.8.5", + "rustc-hash", + "thiserror 1.0.65", + "tracing", + "unicode-ident", +] + +[[package]] +name = "naga_oil" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31ea1f080bb359927cd5404d0af1e5e6758f4f2d82ecfbebb0a0c434764e40f1" +dependencies = [ + "bit-set 0.5.3", "codespan-reporting", "data-encoding", "indexmap", - "naga", + "naga 23.0.0", "once_cell", "regex", "regex-syntax 0.8.5", @@ -2921,37 +4144,45 @@ checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" [[package]] name = "notify" -version = "6.1.1" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" +checksum = "c533b4c39709f9ba5005d8002048266593c1cfaf3c5f0739d5b8ab0c6c504009" dependencies = [ "bitflags 2.6.0", - "crossbeam-channel", "filetime", "fsevent-sys", - "inotify 0.9.6", + "inotify 0.10.2", "kqueue", "libc", "log", "mio", + "notify-types", "walkdir", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "notify-debouncer-full" -version = "0.3.2" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb7fd166739789c9ff169e654dc1501373db9d80a4c3f972817c8a4d7cf8f34e" +checksum = "9dcf855483228259b2353f89e99df35fc639b2b2510d1166e4858e3f67ec1afb" dependencies = [ - "crossbeam-channel", "file-id", "log", "notify", - "parking_lot", + "notify-types", "walkdir", ] +[[package]] +name = "notify-types" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7393c226621f817964ffb3dc5704f9509e107a8b024b489cc2c1b217378785df" +dependencies = [ + "instant", +] + [[package]] name = "ntapi" version = "0.4.1" @@ -3248,6 +4479,16 @@ dependencies = [ "cc", ] +[[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.20.2" @@ -3281,7 +4522,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4" dependencies = [ - "ttf-parser", + "ttf-parser 0.25.0", ] [[package]] @@ -3438,6 +4679,16 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" +[[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.87", +] + [[package]] name = "proc-macro-crate" version = "3.2.0" @@ -3547,18 +4798,64 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + [[package]] name = "range-alloc" 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 = "raw-window-handle" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "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" @@ -3567,9 +4864,9 @@ checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" [[package]] name = "redb" -version = "1.5.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd7f82ecd6ba647a39dd1a7172b8a1cd9453c0adee6da20cb553d83a9a460fa5" +checksum = "84b1de48a7cf7ba193e81e078d17ee2b786236eed1d3f7c60f8a09545efc4925" dependencies = [ "libc", ] @@ -3696,6 +4993,12 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "roxmltree" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" + [[package]] name = "rustc-hash" version = "1.1.0" @@ -3719,7 +5022,24 @@ dependencies = [ name = "rustversion" version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" + +[[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" @@ -3770,6 +5090,12 @@ dependencies = [ "tiny-skia", ] +[[package]] +name = "self_cell" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2fdfc24bc566f839a2da4c4295b82db7d25a24253867d5c64355abb5799bdbe" + [[package]] name = "send_wrapper" version = "0.6.0" @@ -3841,18 +5167,26 @@ checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] name = "siphasher" -version = "0.3.11" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "skrifa" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" +dependencies = [ + "bytemuck", + "read-fonts", +] [[package]] name = "skywalker2088" version = "0.1.3" dependencies = [ - "bevy", - "bevy-parallax", + "bevy 0.15.0", "bevy_asset_loader", - "bevy_embedded_assets", "bevy_kira_audio", "bevy_pkv", "bevy_prototype_lyon", @@ -3864,10 +5198,8 @@ dependencies = [ "serde_json", "strum", "strum_macros", - "sys-locale", "thiserror 2.0.3", "tracing", - "uuid", ] [[package]] @@ -3940,6 +5272,12 @@ dependencies = [ "bitflags 2.6.0", ] +[[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" @@ -3979,14 +5317,25 @@ checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca" [[package]] name = "svgtypes" -version = "0.12.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71499ff2d42f59d26edb21369a308ede691421f79ebc0f001e2b1fd3a7c9e52" +checksum = "794de53cc48eaabeed0ab6a3404a65f40b3e38c067e4435883a65d2aa4ca000e" dependencies = [ "kurbo", "siphasher", ] +[[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" @@ -4128,16 +5477,15 @@ dependencies = [ [[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]] @@ -4212,6 +5560,15 @@ dependencies = [ "once_cell", ] +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + [[package]] name = "tiny-skia" version = "0.11.4" @@ -4237,6 +5594,21 @@ dependencies = [ "strict-num", ] +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + [[package]] name = "toml_datetime" version = "0.6.8" @@ -4297,6 +5669,21 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-oslog" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" +dependencies = [ + "bindgen", + "cc", + "cfg-if", + "once_cell", + "parking_lot", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "tracing-subscriber" version = "0.3.18" @@ -4326,6 +5713,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.25.0" @@ -4348,12 +5747,48 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" +[[package]] +name = "unicode-bidi" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" + +[[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.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + +[[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.12.0" @@ -4624,7 +6059,32 @@ dependencies = [ "document-features", "js-sys", "log", - "naga", + "naga 0.20.0", + "parking_lot", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core 0.21.1", + "wgpu-hal 0.21.1", + "wgpu-types 0.20.0", +] + +[[package]] +name = "wgpu" +version = "23.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" +dependencies = [ + "arrayvec", + "cfg_aliases 0.1.1", + "document-features", + "js-sys", + "log", + "naga 23.0.0", "parking_lot", "profiling", "raw-window-handle", @@ -4633,9 +6093,9 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu-core", - "wgpu-hal", - "wgpu-types", + "wgpu-core 23.0.1", + "wgpu-hal 23.0.1", + "wgpu-types 23.0.0", ] [[package]] @@ -4645,14 +6105,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" dependencies = [ "arrayvec", - "bit-vec", + "bit-vec 0.6.3", "bitflags 2.6.0", "cfg_aliases 0.1.1", "codespan-reporting", "document-features", "indexmap", "log", - "naga", + "naga 0.20.0", "once_cell", "parking_lot", "profiling", @@ -4661,8 +6121,33 @@ dependencies = [ "smallvec", "thiserror 1.0.65", "web-sys", - "wgpu-hal", - "wgpu-types", + "wgpu-hal 0.21.1", + "wgpu-types 0.20.0", +] + +[[package]] +name = "wgpu-core" +version = "23.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" +dependencies = [ + "arrayvec", + "bit-vec 0.8.0", + "bitflags 2.6.0", + "cfg_aliases 0.1.1", + "document-features", + "indexmap", + "log", + "naga 23.0.0", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle", + "rustc-hash", + "smallvec", + "thiserror 1.0.65", + "wgpu-hal 23.0.1", + "wgpu-types 23.0.0", ] [[package]] @@ -4673,17 +6158,17 @@ checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222" dependencies = [ "android_system_properties", "arrayvec", - "ash", - "bit-set", + "ash 0.37.3+1.3.251", + "bit-set 0.5.3", "bitflags 2.6.0", "block", "cfg_aliases 0.1.1", "core-graphics-types", "d3d12", - "glow", - "glutin_wgl_sys", + "glow 0.13.1", + "glutin_wgl_sys 0.5.0", "gpu-alloc", - "gpu-allocator", + "gpu-allocator 0.25.0", "gpu-descriptor", "hassle-rs", "js-sys", @@ -4691,8 +6176,8 @@ dependencies = [ "libc", "libloading 0.8.5", "log", - "metal", - "naga", + "metal 0.28.0", + "naga 0.20.0", "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", @@ -4706,10 +6191,55 @@ dependencies = [ "thiserror 1.0.65", "wasm-bindgen", "web-sys", - "wgpu-types", + "wgpu-types 0.20.0", "winapi", ] +[[package]] +name = "wgpu-hal" +version = "23.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash 0.38.0+1.3.281", + "bit-set 0.8.0", + "bitflags 2.6.0", + "block", + "bytemuck", + "cfg_aliases 0.1.1", + "core-graphics-types", + "glow 0.14.2", + "glutin_wgl_sys 0.6.0", + "gpu-alloc", + "gpu-allocator 0.27.0", + "gpu-descriptor", + "js-sys", + "khronos-egl", + "libc", + "libloading 0.8.5", + "log", + "metal 0.29.0", + "naga 23.0.0", + "ndk-sys 0.5.0+25.2.9519653", + "objc", + "once_cell", + "parking_lot", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror 1.0.65", + "wasm-bindgen", + "web-sys", + "wgpu-types 23.0.0", + "windows 0.58.0", + "windows-core 0.58.0", +] + [[package]] name = "wgpu-types" version = "0.20.0" @@ -4721,6 +6251,17 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wgpu-types" +version = "23.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068" +dependencies = [ + "bitflags 2.6.0", + "js-sys", + "web-sys", +] + [[package]] name = "widestring" version = "1.1.0" @@ -4775,8 +6316,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" dependencies = [ "windows-core 0.54.0", - "windows-implement", - "windows-interface", + "windows-implement 0.53.0", + "windows-interface 0.53.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +dependencies = [ + "windows-core 0.58.0", "windows-targets 0.52.6", ] @@ -4795,7 +6346,20 @@ version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" dependencies = [ - "windows-result", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +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-result 0.2.0", + "windows-strings", "windows-targets 0.52.6", ] @@ -4810,6 +6374,17 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "windows-interface" version = "0.53.0" @@ -4821,6 +6396,17 @@ dependencies = [ "syn 2.0.87", ] +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "windows-result" version = "0.1.2" @@ -4830,6 +6416,25 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result 0.2.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -5055,10 +6660,11 @@ dependencies = [ "atomic-waker", "bitflags 2.6.0", "block2", + "bytemuck", "calloop", "cfg_aliases 0.2.1", "concurrent-queue", - "core-foundation", + "core-foundation 0.9.4", "core-graphics", "cursor-icon", "dpi", @@ -5071,6 +6677,7 @@ dependencies = [ "objc2-foundation", "objc2-ui-kit", "orbclient", + "percent-encoding", "pin-project", "raw-window-handle", "redox_syscall 0.4.1", @@ -5089,6 +6696,8 @@ dependencies = [ "web-sys", "web-time", "windows-sys 0.52.0", + "x11-dl", + "x11rb", "xkbcommon-dl", ] @@ -5101,6 +6710,38 @@ dependencies = [ "memchr", ] +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" +dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading 0.8.5", + "once_cell", + "rustix", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" + [[package]] name = "xcursor" version = "0.3.8" @@ -5138,6 +6779,18 @@ version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" +[[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" diff --git a/Cargo.toml b/Cargo.toml index 12ee75e..11d2fc2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,20 +5,18 @@ version = "0.1.3" edition = "2021" [dependencies] -bevy_asset_loader = { version = "0.21.0", features = [ +bevy_asset_loader = { version = "0.22.0", features = [ "2d", "standard_dynamic_assets", ] } -bevy_kira_audio = { version = "0.20.0", features = ["ogg","mp3", "wav"] } +bevy_kira_audio = { version = "0.21.0", features = ["ogg","mp3", "wav"] } rand = "0.9.0-alpha.2" -bevy-parallax = "0.10.0" -bevy_embedded_assets = "0.11.0" -bevy_prototype_lyon = "0.12.0" +#bevy-parallax = "0.10.0" +bevy_prototype_lyon = "0.13.0" serde = "1.0.210" serde_json = "1.0.128" -uuid = "1.11.0" -bevy_pkv = "0.11.1" -sys-locale = "0.3" +bevy_pkv = "0.12.0" +#sys-locale = "0.3" #bevy_rapier2d = "0.27.0" # Compile low-severity logs out of native builds for performance. log = { version = "0.4", features = [ @@ -38,7 +36,7 @@ leafwing-input-manager = "0.15.1" #bevy_common_assets = "0.11.0" [dependencies.bevy] -version = "0.14.2" +version = "0.15.0" # Disable the default features if there are any that you do not want default-features = false # https://docs.rs/crate/bevy/latest/features @@ -61,6 +59,7 @@ features = [ "bevy_ui", "wayland",#对Linux系统支持,也可以选择x11 #"bevy_winit",#启用wayland也就启动winit了 + "bevy_window", "default_font", "hdr", "multi_threaded", @@ -75,7 +74,7 @@ features = [ # https://github.com/bevyengine/bevy/tree/main/examples#webgl2-and-webgpu # https://github.com/jgayfer/bevy_light_2d/pull/7 "webgpu", - # "x11", + "x11", ] [features] diff --git a/README.md b/README.md index 00904d0..36edca8 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,9 @@ ______ # 3. 开发指南 ## 3.1 游戏引擎 - Game Engine:[Bevy](https://bevyengine.org/) + - Game Engine:[Bevy](https://bevyengine.org/) + - 目前支持0.14.2和0.15.0两个版本的不同分支 + ## 3.2 游戏模板 - 使用`cargo generate thebevyflock/bevy_new_2d`生成的[bevy_new_2d 游戏模板](https://github.com/TheBevyFlock/bevy_new_2d) - 从[ASCII Space Shooter](https://github.com/JamesHDuffield/ascii-rust)开源项目Copy核心逻辑代码 diff --git a/src/assets/mod.rs b/src/assets/mod.rs index 45249ca..f6b9a64 100644 --- a/src/assets/mod.rs +++ b/src/assets/mod.rs @@ -20,7 +20,6 @@ use crate::{ }, components::abilities::{AbilitiesResource, AbilityDescriptionsResource, ActivateAbilityEvent}, components::character::CharactersResource, - components::input::PlayerAction, components::player::{InputRestrictionsAtSpawn, PlayersResource}, screens::AppStates, }; @@ -30,10 +29,10 @@ use bevy_asset_loader::loading_state::LoadingState; use bevy_asset_loader::prelude::{ ConfigureLoadingState, LoadingStateAppExt, StandardDynamicAssetCollection, }; -use leafwing_input_manager::prelude::InputManagerPlugin; +// use leafwing_input_manager::prelude::InputManagerPlugin; pub(super) fn plugin(app: &mut App) { - app.add_plugins(InputManagerPlugin::::default()); + // app.add_plugins(InputManagerPlugin::::default()); app.add_event::(); app.add_loading_state( LoadingState::new(AppStates::Loading) diff --git a/src/components/abilities.rs b/src/components/abilities.rs index 5dade36..1967fc0 100644 --- a/src/components/abilities.rs +++ b/src/components/abilities.rs @@ -70,9 +70,9 @@ pub enum AbilitySlotIDComponent { Two, } /// Component for tracking ability cooldowns -#[derive(Component, Deserialize, Clone)] +#[derive(Component, Clone)] pub struct AbilityCooldownComponent { - /// Stored seperately so that it can used with the player's cooldown multiplier + /// Stored separately so that it can be used with the player's cooldown multiplier /// to set the duration of the cooldown timer pub base_cooldown_time: f32, /// Tracks a cooldown for an ability @@ -123,7 +123,7 @@ pub struct ChargeAbilityData { /// Stores ability values unique to the charge ability /// Which applies an external impulse and damage reduction to the player -#[derive(Component, Deserialize, Clone)] +#[derive(Component, Clone)] pub struct ChargeAbilityComponent { /// Tracks how long the player has been charging, stops charging when completed pub action_timer: Timer, @@ -158,7 +158,7 @@ struct ChargeAbilityComponentData { /// Standard weapon bundle for spawning entity as a child of player component #[derive(Bundle, Clone)] pub struct StandardWeaponAbilityBundle { - /// Slot ID that that the ability occupies + /// Slot ID that the ability occupies slot: AbilitySlotIDComponent, /// Tracks cooldown time cooldown: AbilityCooldownComponent, @@ -180,7 +180,7 @@ impl From<&StandardWeaponAbilityData> for StandardWeaponAbilityBundle { /// Stores minimum data required to instantiate #[derive(Deserialize)] pub struct StandardWeaponAbilityData { - /// Slot ID that that the ability occupies + /// Slot ID that the ability occupies slot: AbilitySlotIDComponent, /// Base cooldown duration, before player's multiplier base_cooldown_time: f32, @@ -206,8 +206,8 @@ pub struct StandardWeaponAbilityComponent { pub despawn_time_multiplier: f32, /// Multiplied by the player's projectile size to get size of fired projectile pub size_multiplier: f32, - /// Multiplied by the the player's projectile_count and rounded to nearest integer - /// to get number of projetctiles fired + /// Multiplied by the player's projectile_count and rounded to nearest integer + /// to get number of projectiles fired pub count_multiplier: f32, /// Sound that plays when the ability is activated pub sound: SoundEffectType, diff --git a/src/components/character.rs b/src/components/character.rs index f8d392e..cf785d8 100644 --- a/src/components/character.rs +++ b/src/components/character.rs @@ -1,5 +1,5 @@ use crate::components::abilities::{SlotOneAbilityType, SlotTwoAbilityType}; -use crate::components::health::HealthComponent; +use crate::components::health::Health; use crate::components::spawnable::SpawnPosition; use bevy::math::Vec2; use bevy::prelude::Resource; @@ -80,9 +80,9 @@ pub struct Character { pub cooldown_multiplier: f32, } -impl From<&Character> for HealthComponent { +impl From<&Character> for Health { fn from(character: &Character) -> Self { - HealthComponent::new( + Health::new( character.health, character.shields, character.shields_recharge_rate, diff --git a/src/components/enemies.rs b/src/components/enemies.rs deleted file mode 100644 index 544976c..0000000 --- a/src/components/enemies.rs +++ /dev/null @@ -1,91 +0,0 @@ -use crate::components::audio::CollisionSoundType; -use crate::components::spawnable::MobType; -use crate::components::weapon::WeaponData; -use bevy::math::Vec2; -use bevy::prelude::Resource; -use serde::Deserialize; -use std::collections::HashMap; - -/// Stores data about mob entities -#[derive(Resource)] -pub struct MobsResource { - /// Mob types mapped to mob data - pub mobs: HashMap, -} - -/// Data about mob entities that can be stored in data ron file -#[derive(Deserialize)] -pub struct MobData { - /// Type of mob - pub mob_type: MobType, - /// List of spawnable behaviors that are performed - // #[serde(default)] - // pub spawnable_behaviors: Vec, - // /// Behavior sequence type - // pub behavior_sequence_type: Option, - // /// List of mob behaviors that are performed - // #[serde(default)] - // pub mob_behaviors: Vec, - // /// behaviors used to control attached mob segments - // #[serde(default)] - // pub control_behaviors: Vec, - /// behaviors that mob segments attached to the mob will perform, given the mobs current behavior - // pub mob_segment_behaviors: Option< - // HashMap>>, - // >, - /// Whether the mob can rotate on its z axis - #[serde(default)] - pub can_rotate: bool, - /// Acceleration stat - #[serde(default)] - pub acceleration: Vec2, - /// Deceleration stat - #[serde(default)] - pub deceleration: Vec2, - /// Maximum speed that can be accelerated to - #[serde(default)] - pub speed: Vec2, - /// Angular acceleration stat - #[serde(default)] - pub angular_acceleration: f32, - /// Angular deceleration stat - #[serde(default)] - pub angular_deceleration: f32, - /// Maximum angular speed that can be accelerated to - #[serde(default)] - pub angular_speed: f32, - /// Motion that the mob initializes with - // #[serde(default)] - // pub initial_motion: InitialMotion, - // /// Dimensions of the mob's hitbox - // pub colliders: Vec, - // /// Texture - // pub animation: AnimationData, - // /// Optional data describing the thruster - // pub thruster: Option, - /// Damage dealt to other factions through attacks - #[serde(default)] - pub collision_damage: usize, - /// Damage dealt to defense objective, after reaching bottom of arena - #[serde(default)] - pub collision_sound: CollisionSoundType, - // pub defense_interaction: Option, - /// Health of the mob - pub health: usize, - /// List of consumable drops - // #[serde(default)] - // pub consumable_drops: DropListType, - /// Z level of the mobs transform - pub z_level: f32, - /// anchor points for other mob segments - // #[serde(default)] - // pub mob_segment_anchor_points: Vec, - // /// mob spawners that the mob can use - // #[serde(default)] - // pub mob_spawners: HashMap>, - /// projectile spawners that the mob can use - #[serde(default)] - pub weapons: Option>, - // #[serde(default = "default_mob_density")] - // pub density: f32, -} diff --git a/src/components/events.rs b/src/components/events.rs index 5f7f801..f1423d6 100644 --- a/src/components/events.rs +++ b/src/components/events.rs @@ -1,4 +1,3 @@ -use crate::components::input::ButtonActionType; use crate::components::player::PlayerInput; use bevy::prelude::{Entity, Event}; @@ -7,17 +6,6 @@ use bevy::prelude::{Entity, Event}; #[derive(Event)] pub struct AnimationCompletedEvent(pub Entity); -#[derive(Event, Clone, PartialEq, Eq, Copy, Debug)] -pub struct ButtonActionEvent { - pub action: ButtonActionType, -} - -impl From for ButtonActionEvent { - fn from(value: ButtonActionType) -> Self { - ButtonActionEvent { action: value } - } -} - /// Stores the index (likely 0 or 1) of the player that joined an n-player game. #[derive(Event)] pub struct PlayerJoinEvent { diff --git a/src/components/health.rs b/src/components/health.rs index 574c5bd..249d65f 100644 --- a/src/components/health.rs +++ b/src/components/health.rs @@ -1,23 +1,23 @@ use crate::gameplay::effects::HitFlash; -use crate::gameplay::gamelogic::{DespawnWithScene, ExplodesOnDespawn, Targettable, WillTarget}; +use crate::gameplay::gamelogic::{ExplodesOnDespawn, Targettable, WillTarget}; use crate::gameplay::physics::{Collider, Physics}; use crate::ship::engine::Engine; use bevy::prelude::*; // Bundles -#[derive(Bundle, Default)] -pub struct FighterBundle { - pub sprite: SpriteBundle, - pub physics: Physics, - pub engine: Engine, - pub health: HealthComponent, - pub collider: Collider, - pub targettable: Targettable, - pub will_target: WillTarget, - pub despawn_with_scene: DespawnWithScene, - pub explodes_on_despawn: ExplodesOnDespawn, - pub hit_flash: HitFlash, -} +#[derive(Component, Default)] +#[require( + Sprite, + Physics, + Engine, + Health, + Collider, + Targettable, + WillTarget, + ExplodesOnDespawn, + HitFlash +)] +pub struct Spacecraft; #[derive(Component)] pub struct Seeker(pub Entity); @@ -26,7 +26,7 @@ pub struct Seeker(pub Entity); pub struct Owner(pub Entity); #[derive(Component)] -pub struct HealthComponent { +pub struct Health { pub health: usize, pub shields: usize, pub max_health: usize, @@ -36,19 +36,15 @@ pub struct HealthComponent { pub shields_recharge_timer: Timer, } -impl Default for HealthComponent { +impl Default for Health { fn default() -> Self { - HealthComponent::new(100, 100, 2.0) + Health::new(100, 100, 2.0) } } -impl HealthComponent { - pub fn new( - max_health: usize, - max_shield: usize, - shields_recharge_rate: f32, - ) -> HealthComponent { - HealthComponent { +impl Health { + pub fn new(max_health: usize, max_shield: usize, shields_recharge_rate: f32) -> Health { + Health { health: max_health, max_health, shields: max_shield, diff --git a/src/components/input.rs b/src/components/input.rs deleted file mode 100644 index 4e43152..0000000 --- a/src/components/input.rs +++ /dev/null @@ -1,84 +0,0 @@ -//! The structures used for knowing which player inputs from controller/keyboard+mouse/etc map to -//! known game actions. -use bevy::prelude::{Component, Reflect, Resource}; -use leafwing_input_manager::{prelude::InputMap, Actionlike}; -use serde::Deserialize; - -/// Used by players to access their matching menu ui -/// has an u8 index matching the player (0-3) for a 4 player game -#[derive(Component)] -pub struct MenuExplorer(pub u8); - -/// Shared between all players to access shared ui such as the main and pause menus -#[derive(Component)] -pub struct MainMenuExplorer; - -/// The input behaviors from the controller/gamepad available while in the menus. -#[derive(Actionlike, PartialEq, Eq, Clone, Copy, Hash, Debug, Reflect, Deserialize)] -pub enum MenuAction { - Confirm, - JoinKeyboard, - JoinGamepad, - Back, - Reset, - ExitPauseMenu, - PauseGame, - NavigateUpKeyboard, - NavigateDownKeyboard, - NavigateUpGamepad, - NavigateDownGamepad, - NavigateLeftKeyboard, - NavigateRightKeyboard, - NavigateLeftGamepad, - NavigateRightGamepad, - PlayerReadyKeyboard, - PlayerReadyGamepad, -} - -/// Player actions during the main game/while fighting mobs. Many of these can be simultaneously -/// accepted from the gamepad/controller. -#[derive(Actionlike, PartialEq, Eq, Clone, Copy, Hash, Debug, Reflect, Deserialize)] -pub enum PlayerAction { - MoveUp, - MoveDown, - MoveLeft, - MoveRight, - SlotOneAbility, - SlotTwoAbility, -} - -/// The parsed input/key bindings used for the life of the entire game. This is read from files/ -/// compiled files very early in the game startup since this must exist in the world before we can -/// accept player/user input. -#[derive(Resource, Debug)] -pub struct InputsResource { - pub menu: InputMap, - pub player_keyboard: InputMap, - pub player_gamepad: InputMap, -} - -/// Event and Component for giving and sending menu buttons actions to move the user from -/// `AppStates::MainMenu` to `AppStates::CharacterSelection`, plus possibly a few digressions and -/// sprinkles. -#[derive(Clone, PartialEq, Eq, Copy, Debug)] -pub enum ButtonActionType { - CharacterSelectReady(u8), - CharacterSelectJoin, - CharacterSelectRight(u8), - CharacterSelectLeft(u8), - EnterCharacterSelection, - EnterOptions, - EnterCompendium, - QuitGame, -} - -#[derive(Component, Clone, PartialEq, Eq, Copy, Debug)] -pub struct ButtonActionComponent { - pub action: ButtonActionType, -} - -impl From for ButtonActionComponent { - fn from(value: ButtonActionType) -> Self { - ButtonActionComponent { action: value } - } -} diff --git a/src/components/mod.rs b/src/components/mod.rs index c594e56..123b692 100644 --- a/src/components/mod.rs +++ b/src/components/mod.rs @@ -1,10 +1,8 @@ pub mod abilities; pub mod audio; pub mod character; -mod enemies; pub mod events; pub mod health; -pub mod input; pub mod player; pub mod spawnable; pub mod weapon; diff --git a/src/config.rs b/src/config.rs index 8465f92..dd5fc38 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1,9 +1,5 @@ -use crate::components::input::{InputsResource, MainMenuExplorer, MenuAction, PlayerAction}; -use bevy::asset::ron::from_str; use bevy::prelude::*; use bevy_pkv::PkvStore; -use leafwing_input_manager::prelude::{ActionState, InputManagerPlugin, InputMap}; -use leafwing_input_manager::InputManagerBundle; use serde::{Deserialize, Serialize}; #[derive(Resource, Clone, Debug, Serialize, Deserialize)] @@ -65,61 +61,10 @@ fn on_change(mut pkv: ResMut, config: Res) { pub(super) fn plugin(app: &mut App) { app.insert_resource(GameConfig::default()) - .insert_resource(PkvStore::new("CloudGames", "skywalker2088")); - app.add_plugins(InputManagerPlugin::::default()); + .insert_resource(PkvStore::new("Cloud-Games", "skywalker2088")); - app.insert_resource(InputsResource::from(get_input_bindings())); //#[cfg(any(not(debug_assertions), target_arch = "wasm32", feature = "save"))] app.add_systems(Startup, startup_config); - app.add_systems(Startup, spawn_menu_explorer_system); //#[cfg(any(not(debug_assertions), target_arch = "wasm32", feature = "save"))] app.add_systems(Update, on_change); } - -/// Spawns entity to track navigation over menus -pub fn spawn_menu_explorer_system(mut commands: Commands, inputs_res: Res) { - commands - .spawn(InputManagerBundle:: { - action_state: ActionState::default(), - input_map: inputs_res.menu.clone(), - }) - .insert(MainMenuExplorer); -} - -#[derive(Deserialize)] -pub struct InputBindings { - pub menu_keyboard: Vec<(MenuAction, KeyCode)>, - pub menu_gamepad: Vec<(MenuAction, GamepadButtonType)>, - pub player_keyboard: Vec<(PlayerAction, KeyCode)>, - pub player_gamepad: Vec<(PlayerAction, GamepadButtonType)>, - pub player_mouse: Vec<(PlayerAction, MouseButton)>, -} - -impl From for InputsResource { - fn from(bindings: InputBindings) -> Self { - InputsResource { - menu: InputMap::new(bindings.menu_keyboard) - .insert_multiple(bindings.menu_gamepad) - .to_owned(), - player_keyboard: InputMap::new(bindings.player_keyboard) - .insert_multiple(bindings.player_mouse) - .to_owned(), - player_gamepad: InputMap::new(bindings.player_gamepad), - } - } -} - -#[cfg(not(target_arch = "wasm32"))] -pub(super) fn get_input_bindings() -> InputBindings { - use std::{env::current_dir, fs::read_to_string}; - - let config_path = current_dir().unwrap().join("config"); - // info!("config path: {:?}", config_path); - from_str::(&read_to_string(config_path.join("input.ron")).unwrap()).unwrap() -} - -#[cfg(target_arch = "wasm32")] -pub(super) fn get_input_bindings() -> InputBindings { - use bevy::asset::ron::de::from_bytes; - from_bytes::(include_bytes!("input.ron")).unwrap() -} diff --git a/src/enemy/drone.rs b/src/enemy/drone.rs index 2b3b9f7..f4dde14 100644 --- a/src/enemy/drone.rs +++ b/src/enemy/drone.rs @@ -2,7 +2,7 @@ use std::f32::consts::PI; use super::AI; use crate::assets::enemy_assets::MobAssets; -use crate::components::health::{FighterBundle, HealthComponent}; +use crate::components::health::{Health, Spacecraft}; use crate::components::spawnable::{EnemyMobType, MobType}; use crate::gameplay::gamelogic::ExplodesOnDespawn; use crate::gameplay::loot::{DropsLoot, WorthPoints}; @@ -16,48 +16,42 @@ use bevy::prelude::*; pub fn spawn_drone(commands: &mut Commands, mob_assets: &MobAssets, position: Vec3) { let mob_type = MobType::Enemy(EnemyMobType::Drone); - commands - .spawn(( - FighterBundle { - sprite: SpriteBundle { - texture: mob_assets.get_mob_image(&mob_type), - transform: Transform::from_translation(position), - ..default() - }, - physics: Physics::new(5.0), - engine: Engine::new(10.0, 10.0), - health: HealthComponent::new(1, 4, 2.0), - collider: Collider { radius: 10.0 }, - explodes_on_despawn: ExplodesOnDespawn { - size_min: 15.0, - size_max: 20.0, - ..Default::default() - }, - ..Default::default() - }, - BaseRotation { - rotation: Quat::from_rotation_z(-PI / 2.0), - }, - TextureAtlas { - layout: mob_assets.get_mob_texture_atlas_layout(&mob_type), - ..default() - }, - AnimationComponent { - timer: Timer::from_seconds(0.25, TimerMode::Repeating), - direction: PingPong(Forward), - }, - AI, - DropsLoot, - WorthPoints { value: 10 }, - )) - .with_children(|parent| { - // Custom short range blast laser - parent.spawn(TurretBundle { - class: TurretClass::BlastLaser, - range: Range { max: 100.0 }, - fire_rate: FireRate::from_rate_in_seconds(2.0), - damage: DoesDamage::from_amount(1), - ..Default::default() - }); + let mut entity = commands.spawn_empty(); + entity.insert(( + Spacecraft, + Sprite::from_atlas_image( + mob_assets.get_mob_image(&mob_type), + TextureAtlas::from(mob_assets.get_mob_texture_atlas_layout(&mob_type)), + ), + Transform::from_translation(position), + Physics::new(5.0), + Engine::new(10.0, 10.0), + Health::new(1, 4, 2.0), + Collider { radius: 10.0 }, + ExplodesOnDespawn { + size_min: 15.0, + size_max: 20.0, + ..Default::default() + }, + )); + entity.insert(BaseRotation { + rotation: Quat::from_rotation_z(-PI / 2.0), + }); + entity.insert(AnimationComponent { + timer: Timer::from_seconds(0.25, TimerMode::Repeating), + direction: PingPong(Forward), + }); + entity.insert(AI); + entity.insert(DropsLoot); + entity.insert(WorthPoints { value: 10 }); + entity.with_children(|parent| { + // Custom short range blast laser + parent.spawn(TurretBundle { + class: TurretClass::BlastLaser, + range: Range { max: 100.0 }, + fire_rate: FireRate::from_rate_in_seconds(2.0), + damage: DoesDamage::from_amount(1), + ..Default::default() }); + }); } diff --git a/src/enemy/drone_boss.rs b/src/enemy/drone_boss.rs index ca5fd35..06cb7e0 100644 --- a/src/enemy/drone_boss.rs +++ b/src/enemy/drone_boss.rs @@ -1,7 +1,8 @@ use super::AI; use crate::assets::enemy_assets::MobAssets; -use crate::components::health::{FighterBundle, HealthComponent}; +use crate::components::health::{Health, Spacecraft}; use crate::components::spawnable::{EnemyMobType, MobType}; +use crate::gameplay::gamelogic::ExplodesOnDespawn; use crate::gameplay::loot::{DropsLoot, WorthPoints}; use crate::gameplay::physics::{BaseRotation, Collider, Physics}; use crate::ship::animation::AnimationComponent; @@ -14,43 +15,42 @@ use std::f32::consts::PI; pub fn spawn_drone_boss(commands: &mut Commands, mob_assets: &MobAssets, position: Vec3) { let mob_type = MobType::Enemy(EnemyMobType::MechaSaucetron); - commands - .spawn(( - FighterBundle { - sprite: SpriteBundle { - texture: mob_assets.get_mob_image(&mob_type), - transform: Transform::from_translation(position), - ..default() - }, - physics: Physics::new(8.0), - engine: Engine::new(8.0, 8.0), - health: HealthComponent::new(10, 40, 2.0), - collider: Collider { radius: 30.0 }, - ..Default::default() - }, - BaseRotation { - rotation: Quat::from_rotation_z(-PI / 2.0), - }, - TextureAtlas { - layout: mob_assets.get_mob_texture_atlas_layout(&mob_type), - ..default() - }, - AnimationComponent { - timer: Timer::from_seconds(0.25, TimerMode::Repeating), - direction: PingPong(Forward), - }, - AI, - DropsLoot, - WorthPoints { value: 50 }, - )) - .with_children(|parent| { - // Custom short range blast laser - parent.spawn(TurretBundle { - class: TurretClass::BlastLaser, - range: Range { max: 150.0 }, - fire_rate: FireRate::from_rate_in_seconds(1.0), - damage: DoesDamage::from_amount(1), - ..Default::default() - }); + let mut entity = commands.spawn_empty(); + entity.insert(( + Spacecraft, + Sprite::from_atlas_image( + mob_assets.get_mob_image(&mob_type), + TextureAtlas::from(mob_assets.get_mob_texture_atlas_layout(&mob_type)), + ), + Transform::from_translation(position), + Physics::new(8.0), + Engine::new(8.0, 8.0), + Health::new(10, 40, 2.0), + Collider { radius: 30.0 }, + ExplodesOnDespawn { + size_min: 15.0, + size_max: 20.0, + ..Default::default() + }, + )); + entity.insert(BaseRotation { + rotation: Quat::from_rotation_z(-PI / 2.0), + }); + entity.insert(AnimationComponent { + timer: Timer::from_seconds(0.25, TimerMode::Repeating), + direction: PingPong(Forward), + }); + entity.insert(AI); + entity.insert(DropsLoot); + entity.insert(WorthPoints { value: 50 }); + entity.with_children(|parent| { + // Custom short range blast laser + parent.spawn(TurretBundle { + class: TurretClass::BlastLaser, + range: Range { max: 150.0 }, + fire_rate: FireRate::from_rate_in_seconds(1.0), + damage: DoesDamage::from_amount(1), + ..Default::default() }); + }); } diff --git a/src/enemy/fighter.rs b/src/enemy/fighter.rs index f8aa986..cd5f703 100644 --- a/src/enemy/fighter.rs +++ b/src/enemy/fighter.rs @@ -1,6 +1,6 @@ use super::AI; use crate::assets::enemy_assets::MobAssets; -use crate::components::health::FighterBundle; +use crate::components::health::Spacecraft; use crate::components::spawnable::{EnemyMobType, MobType}; use crate::gameplay::gamelogic::ExplodesOnDespawn; use crate::gameplay::loot::{DropsLoot, WorthPoints}; @@ -8,7 +8,7 @@ use crate::ship::animation::AnimationComponent; use crate::ship::animation::AnimationDirection::PingPong; use crate::ship::animation::PingPongDirection::Forward; use crate::{ - components::health::HealthComponent, + components::health::Health, gameplay::physics::{BaseRotation, Collider, Physics}, ship::{ engine::Engine, @@ -20,46 +20,41 @@ use std::f32::consts::PI; pub fn spawn_fighter(commands: &mut Commands, mob_assets: &MobAssets, position: Vec3) { let mob_type = MobType::Enemy(EnemyMobType::MissileLauncher); - commands - .spawn(( - FighterBundle { - sprite: SpriteBundle { - texture: mob_assets.get_mob_image(&mob_type), - transform: Transform::from_translation(position), - ..default() - }, - physics: Physics::new(5.0), - engine: Engine::new(14.0, 14.0), - health: HealthComponent::new(10, 0, 2.0), - collider: Collider { radius: 10.0 }, - explodes_on_despawn: ExplodesOnDespawn { - size_min: 20.0, - size_max: 25.0, - ..Default::default() - }, - ..Default::default() - }, - BaseRotation { - rotation: Quat::from_rotation_z(-PI / 2.0), - }, - TextureAtlas { - layout: mob_assets.get_mob_texture_atlas_layout(&mob_type), - ..default() - }, - AnimationComponent { - timer: Timer::from_seconds(0.25, TimerMode::Repeating), - direction: PingPong(Forward), - }, - AI, - DropsLoot, - WorthPoints { value: 10 }, - )) - .with_children(|parent| { - parent.spawn(TurretBundle { - class: TurretClass::AutoCannon, - fire_rate: FireRate::from_rate_in_seconds(1.0), - damage: DoesDamage::from_amount(2), - ..Default::default() - }); + let mut entity = commands.spawn_empty(); + entity.insert(( + Spacecraft, + Sprite::from_atlas_image( + mob_assets.get_mob_image(&mob_type), + TextureAtlas::from(mob_assets.get_mob_texture_atlas_layout(&mob_type)), + ), + Transform::from_translation(position), + Physics::new(5.0), + Engine::new(14.0, 14.0), + Health::new(10, 0, 2.0), + Collider { radius: 10.0 }, + ExplodesOnDespawn { + size_min: 20.0, + size_max: 25.0, + ..Default::default() + }, + )); + entity.insert(BaseRotation { + rotation: Quat::from_rotation_z(-PI / 2.0), + }); + entity.insert(AnimationComponent { + timer: Timer::from_seconds(0.25, TimerMode::Repeating), + direction: PingPong(Forward), + }); + entity.insert(AI); + entity.insert(DropsLoot); + entity.insert(WorthPoints { value: 10 }); + entity.with_children(|parent| { + // Custom Auto Cannon + parent.spawn(TurretBundle { + class: TurretClass::AutoCannon, + fire_rate: FireRate::from_rate_in_seconds(1.0), + damage: DoesDamage::from_amount(2), + ..Default::default() }); + }); } diff --git a/src/enemy/final_boss.rs b/src/enemy/final_boss.rs index 5db4290..cc5c46f 100644 --- a/src/enemy/final_boss.rs +++ b/src/enemy/final_boss.rs @@ -1,12 +1,14 @@ use super::{FinalBoss, AI}; use crate::assets::enemy_assets::MobAssets; -use crate::components::health::FighterBundle; +use crate::components::health::Spacecraft; use crate::components::spawnable::{EnemyMobType, MobType}; +use crate::gameplay::gamelogic::ExplodesOnDespawn; +use crate::gameplay::loot::{DropsLoot, WorthPoints}; use crate::ship::animation::AnimationComponent; use crate::ship::animation::AnimationDirection::PingPong; use crate::ship::animation::PingPongDirection::Forward; use crate::{ - components::health::HealthComponent, + components::health::Health, gameplay::physics::{BaseRotation, Collider, Physics}, ship::{ engine::{Engine, EngineMethod}, @@ -18,48 +20,49 @@ use std::f32::consts::PI; pub fn spawn_final_boss(commands: &mut Commands, mob_assets: &MobAssets, position: Vec3) { let mob_type = MobType::Enemy(EnemyMobType::Shelly); - commands - .spawn(( - FighterBundle { - sprite: SpriteBundle { - texture: mob_assets.get_mob_image(&mob_type), - transform: Transform::from_translation(position), - ..default() - }, - physics: Physics::new(8.0), - engine: Engine { - power: 40.0, - max_speed: 80.0, - method: EngineMethod::Keep(200.0), - ..Default::default() - }, - health: HealthComponent::new(1000, 4000, 2.0), - collider: Collider { radius: 50.0 }, - ..Default::default() - }, - BaseRotation { - rotation: Quat::from_rotation_z(-PI), - }, - TextureAtlas { - layout: mob_assets.get_mob_texture_atlas_layout(&mob_type), - ..default() - }, - AnimationComponent { - timer: Timer::from_seconds(0.25, TimerMode::Repeating), - direction: PingPong(Forward), - }, - AI, - FinalBoss, - )) - .with_children(|parent| { - // Custom OP weapon - parent.spawn(TurretBundle { - class: TurretClass::PierceLaser, - range: Range { max: 300.0 }, - fire_rate: FireRate::from_rate_in_seconds(3.0), - damage: DoesDamage::from_amount(5), - size: EffectSize(3.0), - ..Default::default() - }); + let mut entity = commands.spawn_empty(); + entity.insert(( + Spacecraft, + Sprite::from_atlas_image( + mob_assets.get_mob_image(&mob_type), + TextureAtlas::from(mob_assets.get_mob_texture_atlas_layout(&mob_type)), + ), + Transform::from_translation(position), + Physics::new(8.0), + Engine { + power: 40.0, + max_speed: 80.0, + method: EngineMethod::Keep(200.0), + ..Default::default() + }, + Health::new(1000, 4000, 2.0), + Collider { radius: 50.0 }, + ExplodesOnDespawn { + size_min: 15.0, + size_max: 20.0, + ..Default::default() + }, + )); + entity.insert(BaseRotation { + rotation: Quat::from_rotation_z(-PI / 2.0), + }); + entity.insert(AnimationComponent { + timer: Timer::from_seconds(0.25, TimerMode::Repeating), + direction: PingPong(Forward), + }); + entity.insert(AI); + entity.insert(FinalBoss); + entity.insert(DropsLoot); + entity.insert(WorthPoints { value: 50 }); + entity.with_children(|parent| { + // Custom OP weapon + parent.spawn(TurretBundle { + class: TurretClass::PierceLaser, + range: Range { max: 300.0 }, + fire_rate: FireRate::from_rate_in_seconds(3.0), + damage: DoesDamage::from_amount(5), + size: EffectSize(3.0), + ..Default::default() }); + }); } diff --git a/src/enemy/mothership.rs b/src/enemy/mothership.rs index 4d1b3e7..d3ae5db 100644 --- a/src/enemy/mothership.rs +++ b/src/enemy/mothership.rs @@ -1,6 +1,6 @@ use super::AI; use crate::assets::enemy_assets::MobAssets; -use crate::components::health::FighterBundle; +use crate::components::health::Spacecraft; use crate::components::spawnable::{EnemyMobType, MobType}; use crate::gameplay::gamelogic::ExplodesOnDespawn; use crate::gameplay::loot::{DropsLoot, WorthPoints}; @@ -9,7 +9,7 @@ use crate::ship::animation::AnimationDirection::PingPong; use crate::ship::animation::PingPongDirection::Forward; use crate::ship::turret::MultiShot; use crate::{ - components::health::HealthComponent, + components::health::Health, gameplay::physics::{BaseRotation, Collider, Physics}, ship::{ engine::{Engine, EngineMethod}, @@ -21,54 +21,48 @@ use std::f32::consts::PI; pub fn spawn_mothership(commands: &mut Commands, mob_assets: &MobAssets, position: Vec3) { let mob_type = MobType::Enemy(EnemyMobType::Ferritharax); - commands - .spawn(( - FighterBundle { - sprite: SpriteBundle { - texture: mob_assets.get_mob_image(&mob_type), - transform: Transform::from_translation(position), - ..default() - }, - physics: Physics::new(12.0), - engine: Engine { - max_speed: 3.0, - power: 3.0, - method: EngineMethod::Keep(500.0), - ..Default::default() - }, - health: HealthComponent::new(100, 80, 2.0), - collider: Collider { radius: 50.0 }, - explodes_on_despawn: ExplodesOnDespawn { - size_min: 55.0, - size_max: 65.0, - ..Default::default() - }, - ..Default::default() - }, - BaseRotation { - rotation: Quat::from_rotation_z(-PI / 2.0), - }, - TextureAtlas { - layout: mob_assets.get_mob_texture_atlas_layout(&mob_type), - ..default() - }, - AnimationComponent { - timer: Timer::from_seconds(0.25, TimerMode::Repeating), - direction: PingPong(Forward), - }, - AI, - DropsLoot, - WorthPoints { value: 50 }, - )) - .with_children(|parent| { - // Custom rocket launcher - parent.spawn(TurretBundle { - class: TurretClass::RocketLauncher, - range: Range { max: 1000.0 }, - fire_rate: FireRate::from_rate_in_seconds(0.2), - damage: DoesDamage::from_amount(5), - shots: MultiShot { amount: 8 }, - ..Default::default() - }); + let mut entity = commands.spawn_empty(); + entity.insert(( + Spacecraft, + Sprite::from_atlas_image( + mob_assets.get_mob_image(&mob_type), + TextureAtlas::from(mob_assets.get_mob_texture_atlas_layout(&mob_type)), + ), + Transform::from_translation(position), + Physics::new(12.0), + Engine { + max_speed: 3.0, + power: 3.0, + method: EngineMethod::Keep(500.0), + ..Default::default() + }, + Health::new(100, 80, 2.0), + Collider { radius: 50.0 }, + ExplodesOnDespawn { + size_min: 55.0, + size_max: 65.0, + ..Default::default() + }, + )); + entity.insert(BaseRotation { + rotation: Quat::from_rotation_z(-PI / 2.0), + }); + entity.insert(AnimationComponent { + timer: Timer::from_seconds(0.25, TimerMode::Repeating), + direction: PingPong(Forward), + }); + entity.insert(AI); + entity.insert(DropsLoot); + entity.insert(WorthPoints { value: 50 }); + entity.with_children(|parent| { + // Custom rocket launcher + parent.spawn(TurretBundle { + class: TurretClass::RocketLauncher, + range: Range { max: 1000.0 }, + fire_rate: FireRate::from_rate_in_seconds(0.2), + damage: DoesDamage::from_amount(5), + shots: MultiShot { amount: 8 }, + ..Default::default() }); + }); } diff --git a/src/gameplay/effects.rs b/src/gameplay/effects.rs index 00724b6..b0b3b19 100644 --- a/src/gameplay/effects.rs +++ b/src/gameplay/effects.rs @@ -59,20 +59,17 @@ pub(super) fn plugin(app: &mut App) { pub fn floating_text_system( mut commands: Commands, time: Res