diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f18c1a..b651e24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,22 +1,26 @@ # Changelog -## Unreleased +## v0.6.0 - 2024-7-7 ### Changes +- Update `bevy` to `0.14` - Add interpolators for some UI components when using the `bevy_ui` feature. ([#33](https://github.com/Multirious/bevy_tween/pull/33)) - - `BackgroundColor` and `BorderColor` + - `BackgroundColor` + - `BorderColor` - Add optional feature for `serde`. ([#31](https://github.com/Multirious/bevy_tween/pull/31)) - - Derive `Serialize` and `Deserialize` for `EaseFunction` + - Derive `Serialize` and `Deserialize` for `EaseFunction` - Clean up `TweenAppResource` after the app runs. ([#28](https://github.com/Multirious/bevy_tween/pull/28)) - Update animation builder ([#36](https://github.com/Multirious/bevy_tween/pull/36)) - - Add `.entity_commands()` getter - - Add `.time_runner()` getter - - Add `.time_runner_mut()` getter - - Add `skipped` method - - Add `disabled` method - - Add `time_scale` method - - Add `direction` method + - Add `entity_commands()` getter + - Add `time_runner()` getter + - Add `time_runner_mut()` getter + - Add `skipped()` method + - Add `disabled()` method + - Add `time_scale()` method + - Add `direction()` method +- Optimize crate size (11 MB to 0.488 MB) + - Remove one 9.8 MB gif file ## v0.5.0 - 2024-06-09 diff --git a/Cargo.lock b/Cargo.lock index fcda073..90d16a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,55 +20,57 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.12.3" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74a4b14f3d99c1255dcba8f45621ab1a2e7540a0009652d33989005a4d0bfc6b" +checksum = "6cf780eb737f2d4a49ffbd512324d53ad089070f813f7be7f99dbd5123a7f448" [[package]] name = "accesskit_consumer" -version = "0.16.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c17cca53c09fbd7288667b22a201274b9becaa27f0b91bf52a526db95de45e6" +checksum = "3bdfa1638ddd6eb9c752def95568df8b3ad832df252e9156d2eb783b201ca8a9" dependencies = [ "accesskit", + "immutable-chunkmap", ] [[package]] name = "accesskit_macos" -version = "0.10.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3b6ae1eabbfbced10e840fd3fce8a93ae84f174b3e4ba892ab7bcb42e477a7" +checksum = "c236a84ff1111defc280cee755eaa953d0b24398786851b9d28322c6d3bb1ebd" dependencies = [ "accesskit", "accesskit_consumer", - "objc2 0.3.0-beta.3.patch-leaks.3", + "objc2", + "objc2-app-kit", + "objc2-foundation", "once_cell", ] [[package]] name = "accesskit_windows" -version = "0.15.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcae27ec0974fc7c3b0b318783be89fd1b2e66dd702179fe600166a38ff4a0b" +checksum = "5d7f43d24b16b3e76bef248124fbfd2493c3a9860edb5aae1010c890e826de5e" dependencies = [ "accesskit", "accesskit_consumer", - "once_cell", "paste", "static_assertions", - "windows 0.48.0", + "windows 0.54.0", ] [[package]] name = "accesskit_winit" -version = "0.17.0" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45f8f7c9f66d454d5fd8e344c8c8c7324b57194e1041b955519fc58a01e77a25" +checksum = "755535e6bf711a42dac28b888b884b10fc00ff4010d9d3bd871c5f5beae5aa78" dependencies = [ "accesskit", "accesskit_macos", "accesskit_windows", - "raw-window-handle 0.6.2", + "raw-window-handle", "winit", ] @@ -108,9 +110,9 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "android-activity" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", "bitflags 2.5.0", @@ -122,7 +124,7 @@ dependencies = [ "log", "ndk", "ndk-context", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", "thiserror", ] @@ -167,7 +169,7 @@ dependencies = [ "core-graphics", "image 0.25.1", "log", - "objc2 0.5.1", + "objc2", "objc2-app-kit", "objc2-foundation", "parking_lot", @@ -187,6 +189,12 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +[[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" @@ -279,22 +287,23 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "bevy" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65b9eadaacf8fe971331bc3f250f35c18bc9dace3f96b483062f38ac07e3a1b4" +checksum = "8e938630e9f472b1899c78ef84aa907081b23bad8333140e2295c620485b6ee7" dependencies = [ "bevy_internal", ] [[package]] name = "bevy-inspector-egui" -version = "0.23.4" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb36c3adb02afa4496085250d437217b2a5280d8dd464937c6c5b21bc88830c0" +checksum = "094e2d697a9dcbbd62fc6ff133d1d95990f66b6c4d25cdfb528f4b102c6a3ed1" dependencies = [ "bevy-inspector-egui-derive", "bevy_app", "bevy_asset", + "bevy_color", "bevy_core", "bevy_core_pipeline", "bevy_ecs", @@ -305,10 +314,13 @@ dependencies = [ "bevy_pbr", "bevy_reflect", "bevy_render", + "bevy_state", "bevy_time", "bevy_utils", "bevy_window", + "bytemuck", "egui", + "fuzzy-matcher", "image 0.24.9", "once_cell", "pretty-type-name", @@ -317,9 +329,9 @@ dependencies = [ [[package]] name = "bevy-inspector-egui-derive" -version = "0.23.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3c488161a04a123e10273e16d4533945943fcfcf345f066242790e8977aee2d" +checksum = "161d93f4b3a9246a87485e30ccf4cc927f204a14f26df42da977e383f0a0ec5d" dependencies = [ "proc-macro2", "quote", @@ -328,9 +340,9 @@ dependencies = [ [[package]] name = "bevy_a11y" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8ef2795f7f5c816a4eda04834083eb5a92e8fef603bc21d2091c6e3b63621a" +checksum = "3e613f0e7d5a92637e59744f7185e374c9a59654ecc6d7575adcec9581db1363" dependencies = [ "accesskit", "bevy_app", @@ -340,25 +352,27 @@ dependencies = [ [[package]] name = "bevy_app" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab348a32e46d21c5d61794294a92d415a770d26c7ba8951830b127b40b53ccc4" +checksum = "6f548e9dab7d10c5f99e3b504c758c4bf87aa67df9bcb9cc8b317a0271770e72" dependencies = [ "bevy_derive", "bevy_ecs", "bevy_reflect", "bevy_tasks", "bevy_utils", + "console_error_panic_hook", "downcast-rs", + "thiserror", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_asset" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50028e0d4f28a9f6aab48f61b688ba2793141188f88cdc9aa6c2bca2cc02ad35" +checksum = "f9d198e4c3419215de2ad981d4e734bbfab46469b7575e3b7150c912b9ec5175" dependencies = [ "async-broadcast", "async-fs", @@ -366,7 +380,6 @@ dependencies = [ "bevy_app", "bevy_asset_macros", "bevy_ecs", - "bevy_log", "bevy_reflect", "bevy_tasks", "bevy_utils", @@ -381,6 +394,7 @@ dependencies = [ "ron", "serde", "thiserror", + "uuid", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -388,9 +402,9 @@ dependencies = [ [[package]] name = "bevy_asset_macros" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6617475908368418d815360148fdbb82f879dc255a70d2d7baa3766f0cd4bfd7" +checksum = "11b2cbeba287a4b44e116c33dbaf37dce80a9d84477b2bb35ff459999d6c9e1b" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -398,48 +412,65 @@ dependencies = [ "syn 2.0.64", ] +[[package]] +name = "bevy_color" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a933306f5c7dc9568209180f482b28b5f40d2f8d5b361bc1b270c0a588752c0" +dependencies = [ + "bevy_math", + "bevy_reflect", + "bytemuck", + "encase", + "serde", + "thiserror", + "wgpu-types", +] + [[package]] name = "bevy_core" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b0042f241ba7cd61487aadd8addfb56f7eeb662d713ac1577026704508fc6c" +checksum = "6ddeed5ebf2fa75a4d4f32e2da9c60f11037e36252695059a151c6685cd3d72b" dependencies = [ "bevy_app", "bevy_ecs", - "bevy_math", "bevy_reflect", "bevy_tasks", "bevy_utils", - "bytemuck", + "uuid", ] [[package]] name = "bevy_core_pipeline" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48b7a471cb8ba665f12f7a167faa5566c11386f5bfc77d2e10bfde22b179f7b3" +checksum = "1b978220b5edc98f2c5cbbd14c118c74b3ec7216e5416d3c187c1097279b009b" dependencies = [ "bevy_app", "bevy_asset", + "bevy_color", "bevy_core", "bevy_derive", "bevy_ecs", - "bevy_log", "bevy_math", "bevy_reflect", "bevy_render", "bevy_transform", "bevy_utils", "bitflags 2.5.0", + "nonmax", "radsort", "serde", + "smallvec", + "thiserror", ] [[package]] name = "bevy_derive" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0e01f8343f391e2d6a63b368b82fb5b252ed43c8713fc87f9a8f2d59407dd00" +checksum = "c8a8173bad3ed53fa158806b1beda147263337d6ef71a093780dd141b74386b1" dependencies = [ "bevy_macro_utils", "quote", @@ -448,45 +479,44 @@ dependencies = [ [[package]] name = "bevy_diagnostic" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1401cdccec7e49378d013dfb0ff62c251f85b3be19dcdf04cfd827f793d1ee9" +checksum = "0b7f82011fd70048be282526a99756d54bf00e874edafa9664ba0dc247678f03" dependencies = [ "bevy_app", "bevy_core", "bevy_ecs", - "bevy_log", + "bevy_tasks", "bevy_time", "bevy_utils", "const-fnv1a-hash", - "sysinfo", ] [[package]] name = "bevy_ecs" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98e612a8e7962ead849e370f3a7e972b88df879ced05cd9dad6a0286d14650cf" +checksum = "2c77fdc3a7230eff2fcebe4bd17c155bd238c660a0089d0f98c39ba0d461b923" dependencies = [ - "async-channel", "bevy_ecs_macros", "bevy_ptr", "bevy_reflect", "bevy_tasks", "bevy_utils", - "downcast-rs", - "fixedbitset", - "rustc-hash", + "bitflags 2.5.0", + "concurrent-queue", + "fixedbitset 0.5.7", + "nonmax", + "petgraph", "serde", "thiserror", - "thread_local", ] [[package]] name = "bevy_ecs_macros" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "807b5106c3410e58f4f523b55ea3c071e2a09e31e9510f3c22021c6a04732b5b" +checksum = "9272b511958525306cd141726d3ca59740f79fc0707c439b55a007bcc3497308" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -496,23 +526,31 @@ dependencies = [ [[package]] name = "bevy_egui" -version = "0.25.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84bfb8d4104a1467910cf2090bc6a6d394ebde39c0dbc02397b45aa9ef88e80" +checksum = "5e4a90f30f2849a07d91e393b10c0cc05df09b5773c010ddde57dd8b583be230" dependencies = [ "arboard", "bevy", + "bytemuck", + "console_log", + "crossbeam-channel", "egui", + "js-sys", + "log", "thread_local", + "wasm-bindgen", + "wasm-bindgen-futures", "web-sys", "webbrowser", + "winit", ] [[package]] name = "bevy_encase_derive" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "887087a5e522d9f20733a84dd7e6e9ca04cd8fdfac659220ed87d675eebc83a7" +checksum = "f0452d8254c8bfae4bff6caca2a8be3b0c1b2e1a72b93e9b9f6a21c8dff807e0" dependencies = [ "bevy_macro_utils", "encase_derive_impl", @@ -520,9 +558,9 @@ dependencies = [ [[package]] name = "bevy_eventlistener" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d65c75b4f81818cacdc8a4302c5413910c5fb7727564deaf95e56e0dea4bd0" +checksum = "1201363657cbfed741b6402067fb2ad116b9616ecce053931dd7465d091b201f" dependencies = [ "bevy_app", "bevy_ecs", @@ -533,9 +571,9 @@ dependencies = [ [[package]] name = "bevy_eventlistener_derive" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa29be733a02a5d7ca4507ef15f294711c1a0884b9a9a2730640ff4e7d0200ab" +checksum = "101faac3c5143e6758b1c5e1342b67525bb669d0e688bc5852f02519a572fdfe" dependencies = [ "proc-macro2", "quote", @@ -544,30 +582,31 @@ dependencies = [ [[package]] name = "bevy_gizmos" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054df3550a9d423a961de65b459946ff23304f97f25af8a62c23f4259db8506d" +checksum = "bdbb0556f0c6e45f4a17aef9c708c06ebf15ae1bed4533d7eddb493409f9f025" dependencies = [ "bevy_app", "bevy_asset", - "bevy_core", + "bevy_color", "bevy_core_pipeline", "bevy_ecs", "bevy_gizmos_macros", - "bevy_log", "bevy_math", "bevy_reflect", "bevy_render", "bevy_sprite", + "bevy_time", "bevy_transform", "bevy_utils", + "bytemuck", ] [[package]] name = "bevy_gizmos_macros" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abdcaf74d8cd34aa5c3293527e7a012826840886ad3496c1b963ed8b66b1619f" +checksum = "8ef351a4b6498c197d1317c62f46ba84b69fbde3dbeb57beb2e744bbe5b7c3e0" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -577,23 +616,23 @@ dependencies = [ [[package]] name = "bevy_hierarchy" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb3dfad24866a6713dafa3065a91c5cf5e355f6e1b191c25d704ae54185246c" +checksum = "802eca6f341d19ade790ccfaba7044be4d823b708087eb5ac4c1f74e4ea0916a" dependencies = [ "bevy_app", "bevy_core", "bevy_ecs", - "bevy_log", "bevy_reflect", "bevy_utils", + "smallvec", ] [[package]] name = "bevy_input" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47f2b2b3df168c6ef661d25e09abf5bd4fecaacd400f27e5db650df1c3fa3a3b" +checksum = "2d050f1433f48ca23f1ea078734ebff119a3f76eb7d221725ab0f1fd9f81230b" dependencies = [ "bevy_app", "bevy_ecs", @@ -606,13 +645,14 @@ dependencies = [ [[package]] name = "bevy_internal" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f58ec0ce77603df9474cde61f429126bfe06eb79094440e9141afb4217751c79" +checksum = "8ddd2b23e44d3a1f8ae547cbee5b6661f8135cc456c5de206e8648789944e7a1" dependencies = [ "bevy_a11y", "bevy_app", "bevy_asset", + "bevy_color", "bevy_core", "bevy_core_pipeline", "bevy_derive", @@ -639,25 +679,24 @@ dependencies = [ [[package]] name = "bevy_log" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5eea6c527fd828b7fef8d0f518167f27f405b904a16f227b644687d3f46a809" +checksum = "bab641fd0de254915ab746165a07677465b2d89b72f5b49367d73b9197548a35" dependencies = [ "android_log-sys", "bevy_app", "bevy_ecs", "bevy_utils", - "console_error_panic_hook", - "tracing-log 0.1.4", + "tracing-log", "tracing-subscriber", "tracing-wasm", ] [[package]] name = "bevy_lookup_curve" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eddc183e23035477dca62f6ae6b2b24b04b5c91ba955f72c66702b6e21e902e" +checksum = "a2e498103f52ecd88d801a6c6bf14b072e7a5b72a03821d79ffb7ffd11a9c81e" dependencies = [ "bevy_app", "bevy_asset", @@ -666,7 +705,6 @@ dependencies = [ "bevy_log", "bevy_math", "bevy_reflect", - "bevy_utils", "egui", "ron", "serde", @@ -675,44 +713,47 @@ dependencies = [ [[package]] name = "bevy_macro_utils" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb270c98a96243b29465139ed10bda2f675d00a11904f6588a5f7fc4774119c7" +checksum = "c3ad860d35d74b35d4d6ae7f656d163b6f475aa2e64fc293ee86ac901977ddb7" dependencies = [ "proc-macro2", "quote", - "rustc-hash", "syn 2.0.64", - "toml_edit", + "toml_edit 0.22.14", ] [[package]] name = "bevy_math" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f06daa26ffb82d90ba772256c0ba286f6c305c392f6976c9822717974805837c" +checksum = "51bd6ce2174d3237d30e0ab5b2508480cc7593ca4d96ffb3a3095f9fc6bbc34c" dependencies = [ + "bevy_reflect", "glam", - "serde", + "rand", + "smallvec", + "thiserror", ] [[package]] name = "bevy_mikktspace" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d7ef7f2a826d0b19f059035831ce00a5e930435cc53c61e045773d0483f67a" +checksum = "b7ce4266293629a2d10459cc112dffe3b3e9229a4f2b8a4d20061b8dd53316d0" dependencies = [ "glam", ] [[package]] name = "bevy_pbr" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b29c80269fa6db55c9e33701edd3ecb73d8866ca8cb814d49a9d3fb72531b6" +checksum = "3effe8ff28899f14d250d0649ca9868dbe68b389d0f2b7af086759b8e16c6e3d" dependencies = [ "bevy_app", "bevy_asset", + "bevy_color", "bevy_core_pipeline", "bevy_derive", "bevy_ecs", @@ -724,25 +765,25 @@ dependencies = [ "bevy_window", "bitflags 2.5.0", "bytemuck", - "fixedbitset", + "fixedbitset 0.5.7", + "nonmax", "radsort", "smallvec", - "thread_local", + "static_assertions", ] [[package]] name = "bevy_ptr" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8050e2869fe341db6874203b5a01ff12673807a2c7c80cb829f6c7bea6997268" +checksum = "c115c97a5c8a263bd0aa7001b999772c744ac5ba797d07c86f25734ce381ea69" [[package]] name = "bevy_reflect" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccbd7de21d586457a340a0962ad0747dc5098ff925eb6b27a918c4bdd8252f7b" +checksum = "406ea0fce267169c2320c7302d97d09f605105686346762562c5f65960b5ca2f" dependencies = [ - "bevy_math", "bevy_ptr", "bevy_reflect_derive", "bevy_utils", @@ -750,15 +791,17 @@ dependencies = [ "erased-serde", "glam", "serde", + "smallvec", "smol_str", "thiserror", + "uuid", ] [[package]] name = "bevy_reflect_derive" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ce33051bd49036d4a5a62aa3f2068672ec55f3ebe92aa0d003a341f15cc37ac" +checksum = "0427fdb4425fc72cc96d45e550df83ace6347f0503840de116c76a40843ba751" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -769,19 +812,20 @@ dependencies = [ [[package]] name = "bevy_render" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b2c4b644c739c0b474b6f8f7b0bc68ac13d83b59688781e9a7753c52780177" +checksum = "4c48acf1ff4267c231def4cbf573248d42ac60c9952108822d505019460bf36d" dependencies = [ "async-channel", "bevy_app", "bevy_asset", + "bevy_color", "bevy_core", "bevy_derive", + "bevy_diagnostic", "bevy_ecs", "bevy_encase_derive", "bevy_hierarchy", - "bevy_log", "bevy_math", "bevy_mikktspace", "bevy_reflect", @@ -798,15 +842,17 @@ dependencies = [ "encase", "futures-lite", "hexasphere", - "image 0.24.9", + "image 0.25.1", "js-sys", "ktx2", "naga", "naga_oil", + "nonmax", "ruzstd", + "send_wrapper", "serde", + "smallvec", "thiserror", - "thread_local", "wasm-bindgen", "web-sys", "wgpu", @@ -814,9 +860,9 @@ dependencies = [ [[package]] name = "bevy_render_macros" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "720b88406e786e378829b7d43c1ffb5300186912b99904d0d4d8ec6698a4f210" +checksum = "72ddf4a96d71519c8eca3d74dabcb89a9c0d50ab5d9230638cb004145f46e9ed" dependencies = [ "bevy_macro_utils", "proc-macro2", @@ -826,9 +872,9 @@ dependencies = [ [[package]] name = "bevy_scene" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3d2caa1bfe7542dbe2c62e1bcc10791ba181fb744d2fe6711d1d373354da7c" +checksum = "b7a9f0388612a116f02ab6187aeab66e52c9e91abbc21f919b8b50230c4d83e7" dependencies = [ "bevy_app", "bevy_asset", @@ -846,16 +892,16 @@ dependencies = [ [[package]] name = "bevy_sprite" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cad1b555161f50e5d62b7fdf7ebeef1b24338aae7a88e51985da9553cd60ddf" +checksum = "d837e33ed27b9f2e5212eca4bdd5655a9ee64c52914112e6189c043cb25dd1ec" dependencies = [ "bevy_app", "bevy_asset", + "bevy_color", "bevy_core_pipeline", "bevy_derive", "bevy_ecs", - "bevy_log", "bevy_math", "bevy_reflect", "bevy_render", @@ -863,36 +909,60 @@ dependencies = [ "bevy_utils", "bitflags 2.5.0", "bytemuck", - "fixedbitset", + "fixedbitset 0.5.7", "guillotiere", "radsort", "rectangle-pack", "thiserror", ] +[[package]] +name = "bevy_state" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0959984092d56885fd3b320ea84fb816821bad6bfa3040b9d4ee850d3273233d" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_hierarchy", + "bevy_reflect", + "bevy_state_macros", + "bevy_utils", +] + +[[package]] +name = "bevy_state_macros" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "887a98bfa268258377cd073f5bb839518d3a1cd6b96ed81418145485b69378e6" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.64", +] + [[package]] name = "bevy_tasks" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f07fcc4969b357de143509925b39c9a2c56eaa8750828d97f319ca9ed41897cb" +checksum = "5a8bfb8d484bdb1e9bec3789c75202adc5e608c4244347152e50fb31668a54f9" dependencies = [ - "async-channel", "async-executor", - "async-task", - "concurrent-queue", "futures-lite", "wasm-bindgen-futures", ] [[package]] name = "bevy_text" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e8456ae0bea7d6b7621e42c1c12bf66c0891381e62c948ab23920673ce611c" +checksum = "454fd29b7828244356b2e0ce782e6d0a6f26b47f521456accde3a7191b121727" dependencies = [ "ab_glyph", "bevy_app", "bevy_asset", + "bevy_color", "bevy_ecs", "bevy_math", "bevy_reflect", @@ -908,9 +978,9 @@ dependencies = [ [[package]] name = "bevy_time" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ea5ae9fe7f56f555dbb05a88d34931907873e3f0c7dc426591839eef72fe3e" +checksum = "a6c3d3d14ee8b0dbe4819fd516cc75509b61946134d78e0ee89ad3d1835ffe6c" dependencies = [ "bevy_app", "bevy_ecs", @@ -922,9 +992,9 @@ dependencies = [ [[package]] name = "bevy_time_runner" -version = "0.1.4" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a68913241690205aca7e94de4dad9956f867dba9277280f0b38acefa50201672" +checksum = "ace283eca64f6060ca7ea13018c9224cfb7ca74fb7e4dfab62d5881defd635a1" dependencies = [ "bevy_app", "bevy_ecs", @@ -937,9 +1007,9 @@ dependencies = [ [[package]] name = "bevy_transform" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d51a1f332cc00939d2f19ed6b909e5ed7037e39c7e25cc86930d79d432163e" +checksum = "97e8aa6b16be573277c6ceda30aebf1d78af7c6ede19b448dcb052fb8601d815" dependencies = [ "bevy_app", "bevy_ecs", @@ -951,7 +1021,7 @@ dependencies = [ [[package]] name = "bevy_tween" -version = "0.5.0" +version = "0.6.0" dependencies = [ "bevy", "bevy-inspector-egui", @@ -965,19 +1035,19 @@ dependencies = [ [[package]] name = "bevy_ui" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bbc30be39cfbfa3a073b541d22aea43ab14452dea12d7411ce201df17ff7b1" +checksum = "38d9f864c646f3742ff77f67bcd89a13a7ab024b68ca2f1bfbab8245bcb1c06c" dependencies = [ "bevy_a11y", "bevy_app", "bevy_asset", + "bevy_color", "bevy_core_pipeline", "bevy_derive", "bevy_ecs", "bevy_hierarchy", "bevy_input", - "bevy_log", "bevy_math", "bevy_reflect", "bevy_render", @@ -987,34 +1057,32 @@ dependencies = [ "bevy_utils", "bevy_window", "bytemuck", + "nonmax", + "smallvec", "taffy", "thiserror", ] [[package]] name = "bevy_utils" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9f845a985c00e0ee8dc2d8af3f417be925fb52aad4bda5b96e2e58a2b4d2eb" +checksum = "7fab364910e8f5839578aba9cfda00a8388e9ebe352ceb8491a742ce6af9ec6e" dependencies = [ "ahash", "bevy_utils_proc_macros", "getrandom", "hashbrown", - "nonmax", - "petgraph", - "smallvec", - "thiserror", + "thread_local", "tracing", - "uuid", "web-time", ] [[package]] name = "bevy_utils_proc_macros" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef158627f30503d5c18c20c60b444829f698d343516eeaf6eeee078c9a45163" +checksum = "ad9db261ab33a046e1f54b35f885a44f21fcc80aa2bc9050319466b88fe58fe3" dependencies = [ "proc-macro2", "quote", @@ -1023,26 +1091,25 @@ dependencies = [ [[package]] name = "bevy_window" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976202d2ed838176595b550ac654b15ae236e0178a6f19a94ca6d58f2a96ca60" +checksum = "c9ea5777f933bf7ecaeb3af1a30845720ec730e007972ca7d4aba2d3512abe24" dependencies = [ "bevy_a11y", "bevy_app", "bevy_ecs", - "bevy_input", "bevy_math", "bevy_reflect", "bevy_utils", - "raw-window-handle 0.6.2", + "raw-window-handle", "smol_str", ] [[package]] name = "bevy_winit" -version = "0.13.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa66539aa93d8522b146bf82de429714ea6370a6061fc1f1ff7bcacd4e64c6c4" +checksum = "f8c2213bbf14debe819ec8ad4913f233c596002d087bc6f1f20d533e2ebaf8c6" dependencies = [ "accesskit_winit", "approx", @@ -1052,12 +1119,15 @@ dependencies = [ "bevy_ecs", "bevy_hierarchy", "bevy_input", + "bevy_log", "bevy_math", + "bevy_reflect", "bevy_tasks", "bevy_utils", "bevy_window", + "cfg-if", "crossbeam-channel", - "raw-window-handle 0.6.2", + "raw-window-handle", "wasm-bindgen", "web-sys", "winit", @@ -1112,51 +1182,13 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" -[[package]] -name = "block-sys" -version = "0.1.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" -dependencies = [ - "objc-sys 0.2.0-beta.2", -] - -[[package]] -name = "block-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" -dependencies = [ - "objc-sys 0.3.3", -] - -[[package]] -name = "block2" -version = "0.2.0-alpha.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" -dependencies = [ - "block-sys 0.1.0-beta.1", - "objc2-encode 2.0.0-pre.2", -] - [[package]] name = "block2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" -dependencies = [ - "block-sys 0.2.1", - "objc2 0.4.1", -] - -[[package]] -name = "block2" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43ff7d91d3c1d568065b06c899777d1e48dcf76103a672a0adbc238a7f247f1e" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "objc2 0.5.1", + "objc2", ] [[package]] @@ -1225,6 +1257,18 @@ dependencies = [ "thiserror", ] +[[package]] +name = "calloop-wayland-source" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" +dependencies = [ + "calloop", + "rustix", + "wayland-backend", + "wayland-client", +] + [[package]] name = "cc" version = "1.0.97" @@ -1254,11 +1298,17 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "clipboard-win" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79f4473f5144e20d9aceaf2972478f06ddf687831eafeeb434fbaf0acc4144ad" +checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" dependencies = [ "error-code", ] @@ -1339,6 +1389,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "console_log" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" +dependencies = [ + "log", + "web-sys", +] + [[package]] name = "const-fnv1a-hash" version = "1.1.0" @@ -1444,9 +1504,9 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307" +checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" dependencies = [ "bitflags 2.5.0", "libloading 0.8.3", @@ -1459,17 +1519,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" -[[package]] -name = "derive_more" -version = "0.99.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "dispatch" version = "0.2.0" @@ -1485,46 +1534,63 @@ dependencies = [ "libloading 0.8.3", ] +[[package]] +name = "document-features" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95" +dependencies = [ + "litrs", +] + [[package]] name = "downcast-rs" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "dpi" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" + [[package]] name = "ecolor" -version = "0.26.2" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03cfe80b1890e1a8cdbffc6044d6872e814aaf6011835a2a5e2db0e5c5c4ef4e" +checksum = "2e6b451ff1143f6de0f33fc7f1b68fecfd2c7de06e104de96c4514de3f5396f8" dependencies = [ "bytemuck", + "emath", ] [[package]] name = "egui" -version = "0.26.2" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180f595432a5b615fc6b74afef3955249b86cfea72607b40740a4cd60d5297d0" +checksum = "20c97e70a2768de630f161bb5392cbd3874fcf72868f14df0e002e82e06cb798" dependencies = [ "ahash", + "emath", "epaint", "nohash-hasher", ] [[package]] name = "emath" -version = "0.26.2" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6916301ecf80448f786cdf3eb51d9dbdd831538732229d49119e2d4312eaaf09" +checksum = "0a6a21708405ea88f63d8309650b4d77431f4bc28fb9d8e6f77d3963b51249e6" dependencies = [ "bytemuck", ] [[package]] name = "encase" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ed933078d2e659745df651f4c180511cd582e5b9414ff896e7d50d207e3103" +checksum = "5a9299a95fa5671ddf29ecc22b00e121843a65cb9ff24911e394b4ae556baf36" dependencies = [ "const_panic", "encase_derive", @@ -1534,18 +1600,18 @@ dependencies = [ [[package]] name = "encase_derive" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ce1449c7d19eba6cc0abd231150ad81620a8dce29601d7f8d236e5d431d72a" +checksum = "07e09decb3beb1fe2db6940f598957b2e1f7df6206a804d438ff6cb2a9cddc10" dependencies = [ "encase_derive_impl", ] [[package]] name = "encase_derive_impl" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92959a9e8d13eaa13b8ae8c7b583c3bf1669ca7a8e7708a088d12587ba86effc" +checksum = "fd31dbbd9743684d339f907a87fe212cb7b51d75b9e8e74181fe363199ee9b47" dependencies = [ "proc-macro2", "quote", @@ -1554,9 +1620,9 @@ dependencies = [ [[package]] name = "epaint" -version = "0.26.2" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b9fdf617dd7f58b0c8e6e9e4a1281f730cde0831d40547da446b2bb76a47af" +checksum = "3f0dcc0a0771e7500e94cd1cb797bd13c9f23b9409bdc3c824e2cbc562b7fa01" dependencies = [ "ab_glyph", "ahash", @@ -1677,6 +1743,12 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + [[package]] name = "flate2" version = "1.0.30" @@ -1748,6 +1820,15 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "fuzzy-matcher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +dependencies = [ + "thread_local", +] + [[package]] name = "gethostname" version = "0.4.3" @@ -1784,11 +1865,12 @@ dependencies = [ [[package]] name = "glam" -version = "0.25.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" +checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" dependencies = [ "bytemuck", + "rand", "serde", ] @@ -1858,9 +1940,9 @@ dependencies = [ [[package]] name = "gpu-descriptor" -version = "0.2.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" +checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ "bitflags 2.5.0", "gpu-descriptor-types", @@ -1869,18 +1951,18 @@ dependencies = [ [[package]] name = "gpu-descriptor-types" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" +checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ "bitflags 2.5.0", ] [[package]] name = "grid" -version = "0.10.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eec1c01eb1de97451ee0d60de7d81cf1e72aabefb021616027f3d1c3ec1c723c" +checksum = "be136d9dacc2a13cc70bb6c8f902b414fb2641f8db1314637c6b7933411a8f82" [[package]] name = "guillotiere" @@ -1926,9 +2008,9 @@ checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hexasphere" -version = "10.0.0" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f33ddb7f7143d9e703c072e88b98cd8b9719f174137a671429351bd2ee43c02a" +checksum = "edd6b038160f086b0a7496edae34169ae22f328793cbe2b627a5a3d8373748ec" dependencies = [ "constgebra", "glam", @@ -1949,17 +2031,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "icrate" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" -dependencies = [ - "block2 0.3.0", - "dispatch", - "objc2 0.4.1", -] - [[package]] name = "idna" version = "0.5.0" @@ -1980,7 +2051,6 @@ dependencies = [ "byteorder", "color_quant", "num-traits", - "png", ] [[package]] @@ -1996,6 +2066,15 @@ dependencies = [ "tiff", ] +[[package]] +name = "immutable-chunkmap" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4419f022e55cc63d5bbd6b44b71e1d226b9c9480a47824c706e9d54e5c40c5eb" +dependencies = [ + "arrayvec", +] + [[package]] name = "indexmap" version = "2.2.6" @@ -2127,6 +2206,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "lock_api" version = "0.4.12" @@ -2167,11 +2252,20 @@ version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", +] + [[package]] name = "metal" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" dependencies = [ "bitflags 2.5.0", "block", @@ -2194,10 +2288,11 @@ dependencies = [ [[package]] name = "naga" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e3524642f53d9af419ab5e8dd29d3ba155708267667c2f3f06c88c9e130843" +checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" dependencies = [ + "arrayvec", "bit-set", "bitflags 2.5.0", "codespan-reporting", @@ -2215,9 +2310,9 @@ dependencies = [ [[package]] name = "naga_oil" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ea62ae0f2787456afca7209ca180522b41f00cbe159ee369eba1e07d365cd1" +checksum = "275d9720a7338eedac966141089232514c84d76a246a58ef501af88c5edf402f" dependencies = [ "bit-set", "codespan-reporting", @@ -2235,16 +2330,16 @@ dependencies = [ [[package]] name = "ndk" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ "bitflags 2.5.0", "jni-sys", "log", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", - "raw-window-handle 0.6.2", + "raw-window-handle", "thiserror", ] @@ -2263,6 +2358,15 @@ dependencies = [ "jni-sys", ] +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", +] + [[package]] name = "nohash-hasher" version = "0.2.0" @@ -2275,15 +2379,6 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -2331,113 +2426,209 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] [[package]] name = "objc-sys" -version = "0.2.0-beta.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" - -[[package]] -name = "objc-sys" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da284c198fb9b7b0603f8635185e85fbd5b64ee154b1ed406d489077de2d6d60" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" [[package]] name = "objc2" -version = "0.3.0-beta.3.patch-leaks.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ - "block2 0.2.0-alpha.6", - "objc-sys 0.2.0-beta.2", - "objc2-encode 2.0.0-pre.2", + "objc-sys", + "objc2-encode", ] [[package]] -name = "objc2" -version = "0.4.1" +name = "objc2-app-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "objc-sys 0.3.3", - "objc2-encode 3.0.0", + "bitflags 2.5.0", + "block2", + "libc", + "objc2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", ] [[package]] -name = "objc2" -version = "0.5.1" +name = "objc2-cloud-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b25e1034d0e636cd84707ccdaa9f81243d399196b8a773946dcffec0401659" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "objc-sys 0.3.3", - "objc2-encode 4.0.1", + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", ] [[package]] -name = "objc2-app-kit" -version = "0.2.0" +name = "objc2-contacts" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb79768a710a9a1798848179edb186d1af7e8a8679f369e4b8d201dd2a034047" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" dependencies = [ - "block2 0.5.0", - "objc2 0.5.1", - "objc2-core-data", + "block2", + "objc2", "objc2-foundation", ] [[package]] name = "objc2-core-data" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e092bc42eaf30a08844e6a076938c60751225ec81431ab89f5d1ccd9f958d6c" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "block2 0.5.0", - "objc2 0.5.1", + "bitflags 2.5.0", + "block2", + "objc2", "objc2-foundation", ] [[package]] -name = "objc2-encode" -version = "2.0.0-pre.2" +name = "objc2-core-image" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "objc-sys 0.2.0-beta.2", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", ] [[package]] -name = "objc2-encode" -version = "3.0.0" +name = "objc2-core-location" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", +] [[package]] name = "objc2-encode" -version = "4.0.1" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88658da63e4cc2c8adb1262902cd6af51094df0488b760d6fd27194269c0950a" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" [[package]] name = "objc2-foundation" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfaefe14254871ea16c7d88968c0ff14ba554712a20d76421eec52f0a7fb8904" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "block2 0.5.0", - "objc2 0.5.1", + "bitflags 2.5.0", + "block2", + "dispatch", + "libc", + "objc2", ] [[package]] -name = "objc_exception" -version = "0.1.2" +name = "objc2-link-presentation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ - "cc", + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", ] [[package]] @@ -2517,10 +2708,30 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ - "fixedbitset", + "fixedbitset 0.4.2", "indexmap", ] +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.64", +] + [[package]] name = "pin-project-lite" version = "0.2.14" @@ -2605,7 +2816,7 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit", + "toml_edit 0.21.1", ] [[package]] @@ -2623,6 +2834,15 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" +[[package]] +name = "quick-xml" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f24d770aeca0eacb81ac29dfbc55ebcc09312fdd1f8bbecdc7e4a84e000e3b4" +dependencies = [ + "memchr", +] + [[package]] name = "quote" version = "1.0.36" @@ -2674,12 +2894,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" -[[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - [[package]] name = "raw-window-handle" version = "0.6.2" @@ -2692,15 +2906,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -2811,12 +3016,11 @@ dependencies = [ [[package]] name = "ruzstd" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d" +checksum = "5022b253619b1ba797f243056276bed8ed1a73b0f5a7ce7225d524067644bf8f" dependencies = [ "byteorder", - "derive_more", "twox-hash", ] @@ -2829,18 +3033,43 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + [[package]] name = "scopeguard" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sctk-adwaita" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7555fcb4f753d095d734fdefebb0ad8c98478a21db500492d87c55913d3b0086" +dependencies = [ + "ab_glyph", + "log", + "memmap2", + "smithay-client-toolkit", + "tiny-skia", +] + [[package]] name = "semver" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + [[package]] name = "serde" version = "1.0.203" @@ -2899,8 +3128,30 @@ name = "smallvec" version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "smithay-client-toolkit" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ - "serde", + "bitflags 2.5.0", + "calloop", + "calloop-wayland-source", + "cursor-icon", + "libc", + "log", + "memmap2", + "rustix", + "thiserror", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", ] [[package]] @@ -2927,6 +3178,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" + [[package]] name = "svg_fmt" version = "0.4.3" @@ -2955,29 +3212,16 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "sysinfo" -version = "0.30.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732ffa00f53e6b2af46208fba5718d9662a421049204e156328b66791ffa15ae" -dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "windows 0.52.0", -] - [[package]] name = "taffy" -version = "0.3.19" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1315457ccd9c3def787a18fae91914e623e4dcff019b64ce39f5268ded53d3d" +checksum = "e8b61630cba2afd2c851821add2e1bb1b7851a2436e839ab73b56558b009035e" dependencies = [ "arrayvec", "grid", "num-traits", + "serde", "slotmap", ] @@ -3031,11 +3275,36 @@ dependencies = [ "weezl", ] +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "ce6b6a2fb3a985e99cebfaefa9faa3024743da73304ca1c683a36429613d3d22" dependencies = [ "tinyvec_macros", ] @@ -3060,7 +3329,18 @@ checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap", "toml_datetime", - "winnow", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow 0.6.13", ] [[package]] @@ -3095,17 +3375,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-log" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - [[package]] name = "tracing-log" version = "0.2.0" @@ -3132,7 +3401,7 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", ] [[package]] @@ -3209,9 +3478,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -3322,6 +3591,115 @@ version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +[[package]] +name = "wayland-backend" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "269c04f203640d0da2092d1b8d89a2d081714ae3ac2f1b53e99f205740517198" +dependencies = [ + "cc", + "downcast-rs", + "rustix", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08bd0f46c069d3382a36c8666c1b9ccef32b8b04f41667ca1fef06a1adcc2982" +dependencies = [ + "bitflags 2.5.0", + "rustix", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.5.0", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09414bcf0fd8d9577d73e9ac4659ebc45bcc9cff1980a350543ad8e50ee263b2" +dependencies = [ + "rustix", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" +dependencies = [ + "bitflags 2.5.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" +dependencies = [ + "bitflags 2.5.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +dependencies = [ + "bitflags 2.5.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edf466fc49a4feb65a511ca403fec3601494d0dee85dbf37fff6fa0dd4eec3b6" +dependencies = [ + "proc-macro2", + "quick-xml", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a6754825230fa5b27bafaa28c30b3c9e72c55530581220cef401fa422c0fae7" +dependencies = [ + "dlib", + "log", + "once_cell", + "pkg-config", +] + [[package]] name = "web-sys" version = "0.3.69" @@ -3334,9 +3712,9 @@ dependencies = [ [[package]] name = "web-time" -version = "0.2.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -3344,17 +3722,18 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.15" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b" +checksum = "425ba64c1e13b1c6e8c5d2541c8fac10022ca584f33da781db01b5756aef1f4e" dependencies = [ + "block2", "core-foundation", "home", "jni", "log", "ndk-context", - "objc", - "raw-window-handle 0.5.2", + "objc2", + "objc2-foundation", "url", "web-sys", ] @@ -3367,19 +3746,20 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "0.19.4" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd7311dbd2abcfebaabf1841a2824ed7c8be443a0f29166e5d3c6a53a762c01" +checksum = "90e37c7b9921b75dfd26dd973fdcbce36f13dfa6e2dc82aece584e0ed48c355c" dependencies = [ "arrayvec", "cfg-if", - "cfg_aliases", + "cfg_aliases 0.1.1", + "document-features", "js-sys", "log", "naga", "parking_lot", "profiling", - "raw-window-handle 0.6.2", + "raw-window-handle", "smallvec", "static_assertions", "wasm-bindgen", @@ -3392,22 +3772,23 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.19.4" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b94525fc99ba9e5c9a9e24764f2bc29bad0911a7446c12f446a8277369bf3a" +checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" dependencies = [ "arrayvec", "bit-vec", "bitflags 2.5.0", - "cfg_aliases", + "cfg_aliases 0.1.1", "codespan-reporting", + "document-features", "indexmap", "log", "naga", "once_cell", "parking_lot", "profiling", - "raw-window-handle 0.6.2", + "raw-window-handle", "rustc-hash", "smallvec", "thiserror", @@ -3418,9 +3799,9 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.19.4" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1a4924366df7ab41a5d8546d6534f1f33231aa5b3f72b9930e300f254e39c3" +checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222" dependencies = [ "android_system_properties", "arrayvec", @@ -3428,7 +3809,7 @@ dependencies = [ "bit-set", "bitflags 2.5.0", "block", - "cfg_aliases", + "cfg_aliases 0.1.1", "core-graphics-types", "d3d12", "glow", @@ -3444,13 +3825,13 @@ dependencies = [ "log", "metal", "naga", - "ndk-sys", + "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", "parking_lot", "profiling", "range-alloc", - "raw-window-handle 0.6.2", + "raw-window-handle", "renderdoc-sys", "rustc-hash", "smallvec", @@ -3463,9 +3844,9 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.19.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b671ff9fb03f78b46ff176494ee1ebe7d603393f42664be55b64dc8d53969805" +checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" dependencies = [ "bitflags 2.5.0", "js-sys", @@ -3511,22 +3892,23 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.48.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-implement", - "windows-interface", - "windows-targets 0.48.5", + "windows-core 0.52.0", + "windows-targets 0.52.5", ] [[package]] name = "windows" -version = "0.52.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" dependencies = [ - "windows-core", + "windows-core 0.54.0", + "windows-implement", + "windows-interface", "windows-targets 0.52.5", ] @@ -3539,26 +3921,45 @@ dependencies = [ "windows-targets 0.52.5", ] +[[package]] +name = "windows-core" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +dependencies = [ + "windows-result", + "windows-targets 0.52.5", +] + [[package]] name = "windows-implement" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" +checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.64", ] [[package]] name = "windows-interface" -version = "0.48.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" +checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.64", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.5", ] [[package]] @@ -3768,37 +4169,53 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winit" -version = "0.29.15" +version = "0.30.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" +checksum = "49f45a7b7e2de6af35448d7718dab6d95acec466eb3bb7a56f4d31d1af754004" dependencies = [ + "ahash", "android-activity", "atomic-waker", "bitflags 2.5.0", + "block2", + "bytemuck", "calloop", - "cfg_aliases", + "cfg_aliases 0.2.1", + "concurrent-queue", "core-foundation", "core-graphics", "cursor-icon", - "icrate", + "dpi", "js-sys", "libc", - "log", + "memmap2", "ndk", - "ndk-sys", - "objc2 0.4.1", - "once_cell", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", "orbclient", - "raw-window-handle 0.6.2", - "redox_syscall 0.3.5", + "percent-encoding", + "pin-project", + "raw-window-handle", + "redox_syscall 0.4.1", "rustix", + "sctk-adwaita", + "smithay-client-toolkit", "smol_str", + "tracing", "unicode-segmentation", "wasm-bindgen", "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", "web-sys", "web-time", - "windows-sys 0.48.0", + "windows-sys 0.52.0", + "x11-dl", + "x11rb", "xkbcommon-dl", ] @@ -3811,13 +4228,37 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +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.3", + "once_cell", "rustix", "x11rb-protocol", ] @@ -3828,6 +4269,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" +[[package]] +name = "xcursor" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" + [[package]] name = "xi-unicode" version = "0.3.0" diff --git a/Cargo.toml b/Cargo.toml index 2f79a04..b8dcf3f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "bevy_tween" description = "Flexible tweening plugin library for Bevy" -version = "0.5.0" +version = "0.6.0" edition = "2021" authors = ["Multirious"] license = "MIT OR Apache-2.0" @@ -18,16 +18,16 @@ resolver = "2" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -bevy = { version = "0.13.0", default-features = false } -bevy_time_runner = { version = "0.1.4", default-features = false, features = ["bevy_app", "bevy_reflect"] } -bevy_lookup_curve = { version = "0.2.1", optional = true } -bevy_eventlistener = { version = "0.7.0", optional = true } +bevy = { version = "0.14.0", default-features = false } +bevy_time_runner = { version = "0.2.0", default-features = false, features = ["bevy_app", "bevy_reflect"] } serde = { version = "1", optional = true, features = ["derive"] } +bevy_eventlistener = { version = "0.8.0", optional = true } +bevy_lookup_curve = { version = "0.3.0", optional = true } [dev-dependencies] -bevy-inspector-egui = "0.23" -bevy_eventlistener = { version = "0.7.0" } -bevy = { version = "0.13.0", default-features = false, features = ["bevy_asset", "bevy_render", "bevy_sprite", "tonemapping_luts", "png"] } +bevy-inspector-egui = "0.25.0" +bevy_eventlistener = { version = "0.8.0" } +bevy = { version = "0.14.0", default-features = false, features = [ "bevy_asset", "bevy_render", "bevy_sprite", "tonemapping_luts", "png" ] } rand = "0.8.5" [build-dependencies] diff --git a/README.md b/README.md index c7a8bbf..fbaa30b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ # `bevy_tween` -An ECS-based [Bevy](https://github.com/bevyengine/bevy) procedural and asset animation library. +[Bevy](https://github.com/bevyengine/bevy) procedural and keyframe animation library. This is a young plugin and APIs are to be fleshed out. Breaking changes are to be expected! @@ -14,8 +14,9 @@ Breaking changes are to be expected! See changelog [here](CHANGELOG.md). ## Features -- **Ergonomic and user-friendly API**: API are designed to be concise, expressive, and simple to use. - Animation can be built using the combinator framework. +- **Ergonomic and user-friendly API**: You can always spawn the animator manually but this crate provide + APIs that abstracted over most boilerplate code. + Animation can be built using the builder with function combinators.
Example @@ -48,16 +49,17 @@ See changelog [here](CHANGELOG.md). ```
-- **Flexible and Extensible**: Everything is components and systems with a sprinkle of dependency injection. +- **Flexible and Extensible**: This crate is built on top of [`bevy_time_runner`](https://github.com/Multirious/bevy_time_runner) + which mean we can extend this crate by adding *any* components and systems. - Tween anything from anywhere, built-in or custom system. - Interpolate with any curve, built-in or custom system. - - *Literally anything* as long as they're time controlled. + - Anything else. -- **Parallelism**: Since a tween or an animation primitive is one component and one system, - they have great chances for system parallelism and increase in performance. +- **Parallelism**: Tweens are typed and can be query over by their typed system + which increase chances for system parallelism. - **Rich timer control**: - Looping - - Fastforward or Rewind + - Time scaling - Skip backward or forward - Jumping to anywhen @@ -119,6 +121,7 @@ or [`bevy_easings`](https://github.com/vleue/bevy_easings): |`bevy`|`bevy_tween`| |------|------------| +|0.14 |0.6 | |0.13 |0.2–0.5 | ## Credits diff --git a/examples/animation/banner_bounce.rs b/examples/animation/banner_bounce.rs index 4e86047..de44946 100644 --- a/examples/animation/banner_bounce.rs +++ b/examples/animation/banner_bounce.rs @@ -1,6 +1,7 @@ use std::f32::consts::PI; use bevy::{ + color::{Srgba, palettes::css::WHITE}, core_pipeline::{bloom::BloomSettings, tonemapping::Tonemapping}, prelude::*, window, @@ -62,12 +63,12 @@ fn animation(mut commands: Commands, asset_server: Res) { // ======================================================================== - let dot_color = Color::WHITE.with_a(0.2); - let white_color = Color::WHITE * 2.; + let dot_color: Color = WHITE.with_alpha(0.2).into(); + let white_color: Color = (WHITE * 2.).into(); let text_pop_scale = 1.2; - let blue_glow = Color::rgb(103. / 255., 163. / 255., 217. / 255.) * 5.; - let pink_glow = Color::rgb(248. / 255., 183. / 255., 205. / 255.) * 5.; + let blue_glow: Color = (Srgba::rgb_u8(103, 163, 217) * 5.).into(); + let pink_glow: Color = (Srgba::rgb_u8(248, 183, 205) * 5.).into(); let cornering_tween_offset = 200. * SCALE; let destinated_cornering_left = Vec3::new(-300., -100., 0.) * SCALE; @@ -252,7 +253,7 @@ fn animation(mut commands: Commands, asset_server: Res) { secs(10.)..secs(12.), EaseFunction::QuinticIn, bevy_tween_text_color - .with(sprite_color_to(white_color.with_a(0.0))), + .with(sprite_color_to(white_color.with_alpha(0.0))), ), tween_exact( secs(11.)..secs(12.), @@ -344,7 +345,7 @@ fn animation(mut commands: Commands, asset_server: Res) { type InterpolateSpriteAlpha = Box>; fn sprite_alpha(start: f32, end: f32) -> InterpolateSpriteAlpha { Box::new(interpolate::closure(move |sprite: &mut Sprite, value| { - sprite.color = sprite.color.with_a(start.lerp(end, value)); + sprite.color = sprite.color.with_alpha(start.lerp(end, value)); })) } diff --git a/examples/animation/banner_triangle.gif b/examples/animation/banner_triangle.gif deleted file mode 100644 index 837cfd0..0000000 Binary files a/examples/animation/banner_triangle.gif and /dev/null differ diff --git a/examples/animation/banner_triangle.rs b/examples/animation/banner_triangle.rs index bdf5ecd..ddff16b 100644 --- a/examples/animation/banner_triangle.rs +++ b/examples/animation/banner_triangle.rs @@ -32,11 +32,11 @@ fn setup(mut commands: Commands, asset_server: Res) { let triangle_image = asset_server.load("big_triangle.png"); // colors by https://color-hex.org/color-palettes/189 let colors = [ - Color::rgb_u8(0, 128, 191), - Color::rgb_u8(0, 172, 223), - Color::rgb_u8(85, 208, 255), - Color::rgb_u8(124, 232, 255), - Color::rgb_u8(204, 249, 255), + Color::srgb_u8(0, 128, 191), + Color::srgb_u8(0, 172, 223), + Color::srgb_u8(85, 208, 255), + Color::srgb_u8(124, 232, 255), + Color::srgb_u8(204, 249, 255), ]; let mut spawn_triangle = |color, z| { @@ -89,7 +89,7 @@ fn setup(mut commands: Commands, asset_server: Res) { commands.spawn(SpriteBundle { sprite: Sprite { custom_size: Some(Vec2::new(250., 250.)), - color: Color::rgb_u8(43, 44, 47), + color: Color::srgb_u8(43, 44, 47), ..Default::default() }, transform: Transform::from_xyz(0., 0., 1.), diff --git a/examples/animation/thumbnail_triangle.rs b/examples/animation/thumbnail_triangle.rs index 403fc8e..9538997 100644 --- a/examples/animation/thumbnail_triangle.rs +++ b/examples/animation/thumbnail_triangle.rs @@ -37,11 +37,11 @@ fn setup(mut commands: Commands, asset_server: Res) { // colors by https://color-hex.org/color-palettes/189 let colors = [ - Color::rgb_u8(0, 128, 191), - Color::rgb_u8(0, 172, 223), - Color::rgb_u8(85, 208, 255), - Color::rgb_u8(124, 232, 255), - Color::rgb_u8(204, 249, 255), + Color::srgb_u8(0, 128, 191), + Color::srgb_u8(0, 172, 223), + Color::srgb_u8(85, 208, 255), + Color::srgb_u8(124, 232, 255), + Color::srgb_u8(204, 249, 255), ]; let mut spawn_triangle = |color, z| { commands diff --git a/examples/demo/click.rs b/examples/demo/click.rs index 76e1c1d..cc67f35 100644 --- a/examples/demo/click.rs +++ b/examples/demo/click.rs @@ -1,4 +1,7 @@ -use bevy::prelude::*; +use bevy::{ + color::palettes::css::{DEEP_PINK, WHITE}, + prelude::*, +}; use bevy_tween::{ bevy_time_runner::TimeRunnerEnded, combinator::*, prelude::*, tween::AnimationTarget, @@ -75,7 +78,10 @@ fn click_spawn_circle( tween( secs(1.), EaseFunction::Linear, - circle.with(sprite_color(Color::WHITE, Color::PINK)), + circle.with(sprite_color( + into_color(WHITE), + into_color(DEEP_PINK), + )), ), ))); } @@ -90,3 +96,7 @@ fn despawn_finished_circle( commands.entity(t.time_runner).despawn_recursive(); } } + +fn into_color>(color: T) -> Color { + Color::Srgba(color.into()) +} diff --git a/examples/demo/event.rs b/examples/demo/event.rs index 0fcdc35..f5ebf01 100644 --- a/examples/demo/event.rs +++ b/examples/demo/event.rs @@ -1,4 +1,7 @@ -use bevy::prelude::*; +use bevy::{ + color::palettes::css::{DEEP_PINK, WHITE}, + prelude::*, +}; use bevy_tween::{ bevy_time_runner::TimeRunnerEnded, combinator::*, prelude::*, tween::AnimationTarget, @@ -16,6 +19,10 @@ fn secs(secs: f32) -> Duration { Duration::from_secs_f32(secs) } +fn into_color>(color: T) -> Color { + Color::Srgba(color.into()) +} + #[derive(Resource)] struct EffectPos { trail: Vec3, @@ -122,8 +129,8 @@ fn effect_system( effect_pos.trail - Vec3::new(100., 0., 0.), )), entity.with(sprite_color( - Color::WHITE, - Color::PINK.with_a(0.), + into_color(WHITE), + into_color(DEEP_PINK.with_alpha(0.)), )), ), ); @@ -152,8 +159,8 @@ fn effect_system( Vec3::new(3., 3., 0.), )), entity.with(sprite_color( - Color::WHITE.with_a(0.5), - Color::PINK.with_a(0.), + into_color(WHITE.with_alpha(0.5)), + into_color(DEEP_PINK.with_alpha(0.)), )), ), ); @@ -180,8 +187,8 @@ fn effect_system( Vec3::new(15., 15., 0.), )), entity.with(sprite_color( - Color::WHITE.with_a(1.), - Color::PINK.with_a(0.), + into_color(WHITE.with_alpha(1.)), + into_color(DEEP_PINK.with_alpha(0.)), )), ), ); diff --git a/examples/demo/follow.rs b/examples/demo/follow.rs index d3ff6db..28513b6 100644 --- a/examples/demo/follow.rs +++ b/examples/demo/follow.rs @@ -2,7 +2,10 @@ mod utils; use std::f32::consts::TAU; -use bevy::prelude::*; +use bevy::{ + color::palettes::css::{DEEP_PINK, WHITE}, + prelude::*, +}; use bevy_inspector_egui::quick::ResourceInspectorPlugin; use bevy_tween::{ bevy_time_runner::TimeRunner, @@ -157,8 +160,15 @@ fn jeb_follows_cursor( jeb_transform.translation, Vec3::new(coord.x, coord.y, 0.), )), - jeb.with(sprite_color(Color::WHITE, Color::PINK)), + jeb.with(sprite_color( + into_color(WHITE), + into_color(DEEP_PINK), + )), ), ); } } + +fn into_color>(color: T) -> Color { + Color::Srgba(color.into()) +} diff --git a/examples/demo/hold.rs b/examples/demo/hold.rs index 0a35305..293d29b 100644 --- a/examples/demo/hold.rs +++ b/examples/demo/hold.rs @@ -1,6 +1,10 @@ use std::f32::consts::PI; -use bevy::{prelude::*, window::PrimaryWindow}; +use bevy::{ + color::palettes::css::{DEEP_PINK, WHITE}, + prelude::*, + window::PrimaryWindow, +}; use bevy_tween::{bevy_time_runner::TimeRunner, prelude::*}; use rand::prelude::*; @@ -39,6 +43,10 @@ fn secs(secs: f32) -> Duration { Duration::from_secs_f32(secs) } +fn into_color>(color: T) -> Color { + Color::Srgba(color.into()) +} + fn main() { App::new() .add_plugins(( @@ -77,7 +85,7 @@ fn setup( SpriteBundle { texture: asset_server.load("big_x.png"), sprite: Sprite { - color: Color::PINK, + color: into_color(DEEP_PINK), ..Default::default() }, ..Default::default() @@ -94,7 +102,10 @@ fn setup( EaseFunction::QuarticIn, ( effect_intensity(0., 1.), - big_x.with(sprite_color(Color::PINK, Color::WHITE)), + big_x.with(sprite_color( + into_color(DEEP_PINK), + into_color(WHITE), + )), ), ); commands diff --git a/examples/demo/sprite_sheet.rs b/examples/demo/sprite_sheet.rs index 419e74c..831533c 100644 --- a/examples/demo/sprite_sheet.rs +++ b/examples/demo/sprite_sheet.rs @@ -52,15 +52,18 @@ fn setup( use interpolate::atlas_index; let texture = asset_server.load("pink_fire_ball.png"); let layout = - TextureAtlasLayout::from_grid(Vec2::new(32., 32.), 16, 1, None, None); + TextureAtlasLayout::from_grid(UVec2::new(32, 32), 16, 1, None, None); let len = layout.len(); let atlas_layout = texture_atlas_layouts.add(layout); let sprite = AnimationTarget.into_target(); commands .spawn(( - SpriteSheetBundle { + TextureAtlas { + layout: atlas_layout, + ..Default::default() + }, + SpriteBundle { texture, - atlas: atlas_layout.into(), transform: Transform::IDENTITY.with_scale(Vec3::splat(15.)), ..Default::default() }, diff --git a/src/interpolate/sprite.rs b/src/interpolate/sprite.rs index 4e179f8..d1b16bf 100644 --- a/src/interpolate/sprite.rs +++ b/src/interpolate/sprite.rs @@ -1,5 +1,4 @@ use crate::interpolate::Interpolator; -use crate::utils::color_lerp; use bevy::prelude::*; // type ReflectInterpolatorSprite = ReflectInterpolator; @@ -18,7 +17,7 @@ impl Interpolator for SpriteColor { type Item = Sprite; fn interpolate(&self, item: &mut Self::Item, value: f32) { - item.color = color_lerp(self.start, self.end, value) + item.color = self.start.mix(&self.end, value) } } @@ -54,7 +53,7 @@ impl Interpolator for ColorMaterial { type Item = bevy::sprite::ColorMaterial; fn interpolate(&self, item: &mut Self::Item, value: f32) { - item.color = color_lerp(self.start, self.end, value); + item.color = self.start.mix(&self.end, value); } } diff --git a/src/interpolate/ui.rs b/src/interpolate/ui.rs index 31e67e1..bbefb92 100644 --- a/src/interpolate/ui.rs +++ b/src/interpolate/ui.rs @@ -1,5 +1,4 @@ use crate::prelude::Interpolator; -use crate::utils::color_lerp; use bevy::prelude::*; /// [`Interpolator`] for Bevy's [`BackgroundColor`](bevy::prelude::BackgroundColor) used in UIs. @@ -15,7 +14,7 @@ impl Interpolator for BackgroundColor { type Item = bevy::prelude::BackgroundColor; fn interpolate(&self, item: &mut Self::Item, value: f32) { - item.0 = color_lerp(self.start, self.end, value) + item.0 = self.start.mix(&self.end, value) } } @@ -49,7 +48,7 @@ impl Interpolator for BorderColor { type Item = bevy::prelude::BorderColor; fn interpolate(&self, item: &mut Self::Item, value: f32) { - item.0 = color_lerp(self.start, self.end, value) + item.0 = self.start.mix(&self.end, value) } } diff --git a/src/interpolation.rs b/src/interpolation.rs index 97804fe..8414b9d 100644 --- a/src/interpolation.rs +++ b/src/interpolation.rs @@ -41,7 +41,7 @@ impl Plugin for EaseFunctionPlugin { /// [`TweenAppResource`]: crate::TweenAppResource fn build(&self, app: &mut App) { let app_resource = app - .world + .world() .get_resource::() .expect("`TweenAppResource` to be is inserted to world"); app.add_systems( @@ -829,7 +829,7 @@ impl Plugin for EaseClosurePlugin { /// [`TweenAppResource`]: crate::TweenAppResource fn build(&self, app: &mut App) { let app_resource = app - .world + .world() .get_resource::() .expect("`TweenAppResource` to be is inserted to world"); app.add_systems( diff --git a/src/interpolation/bevy_lookup_curve.rs b/src/interpolation/bevy_lookup_curve.rs index a979145..50cb9a6 100644 --- a/src/interpolation/bevy_lookup_curve.rs +++ b/src/interpolation/bevy_lookup_curve.rs @@ -19,7 +19,7 @@ pub struct BevyLookupCurveInterpolationPlugin; impl Plugin for BevyLookupCurveInterpolationPlugin { fn build(&self, app: &mut App) { let app_resource = app - .world + .world() .get_resource::() .expect("`TweenAppResource` to be inserted to world"); app.add_systems( diff --git a/src/lib.rs b/src/lib.rs index 71de09a..275940f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -35,6 +35,7 @@ //! We can do this: //! ```no_run #![doc = utils::doc_test_boilerplate!()] +//! # use bevy::color::palettes::css::{WHITE, RED}; //! # let mut sprite_commands = commands.spawn(SpriteBundle { //! # sprite: Sprite { //! # custom_size: Some(Vec2::new(50., 50.)), @@ -48,10 +49,10 @@ //! sprite_commands.animation().insert_tween_here( //! Duration::from_secs(1), //! EaseFunction::QuadraticOut, -//! sprite.with(sprite_color(Color::WHITE, Color::RED)) +//! sprite.with(sprite_color(WHITE.into(), RED.into())) //! // Since this argument accepts a bundle, you can add additional tween to this like so: //! // ( -//! // sprite.with(sprite_color(Color::WHITE, Color::RED)), +//! // sprite.with(sprite_color(WHITE.into(), RED.into())), //! // sprite.with(something_something(...)), //! // ) //! ); @@ -68,6 +69,7 @@ //! So we can just: //! ```no_run #![doc = utils::doc_test_boilerplate!()] +//! # use bevy::color::palettes::css::{WHITE, RED}; //! # let mut sprite_commands = commands.spawn(SpriteBundle { //! # sprite: Sprite { //! # custom_size: Some(Vec2::new(50., 50.)), @@ -85,12 +87,12 @@ //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticOut, -//! sprite.with(sprite_color(Color::WHITE, Color::RED)) +//! sprite.with(sprite_color(WHITE.into(), RED.into())) //! ), //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticIn, -//! sprite.with(sprite_color(Color::RED, Color::WHITE)) +//! sprite.with(sprite_color(RED.into(), WHITE.into())) //! ), //! ))); //! ``` @@ -99,12 +101,13 @@ //! ### State //! //! There's a little bit of boilerplate we can improve. -//! Currently we've specified `Color::RED` 2 times because we want our tween to +//! Currently we've specified `RED.into()` 2 times because we want our tween to //! continue from previous value. //! //! We can use state for this: //! ```no_run #![doc = utils::doc_test_boilerplate!()] +//! # use bevy::color::palettes::css::{WHITE, RED}; //! # let mut sprite_commands = commands.spawn(SpriteBundle { //! # sprite: Sprite { //! # custom_size: Some(Vec2::new(50., 50.)), @@ -118,18 +121,18 @@ //! }; //! //! let sprite = sprite_commands.id().into_target(); -//! let mut sprite_color = sprite.state(Color::WHITE); // We want the intial color to be white +//! let mut sprite_color = sprite.state(WHITE.into()); // We want the intial color to be white //! sprite_commands.animation().insert(sequence(( //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticOut, //! // Switch the constructor to the relative variant -//! sprite_color.with(sprite_color_to(Color::RED)) +//! sprite_color.with(sprite_color_to(RED.into())) //! ), //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticIn, -//! sprite_color.with(sprite_color_to(Color::WHITE)) +//! sprite_color.with(sprite_color_to(WHITE.into())) //! ), //! ))); //! ``` @@ -140,6 +143,7 @@ //! If we want to repeat our animation to so we can do: //! ```no_run #![doc = utils::doc_test_boilerplate!()] +//! # use bevy::color::palettes::css::{WHITE, RED}; //! # let mut sprite_commands = commands.spawn(SpriteBundle { //! # sprite: Sprite { //! # custom_size: Some(Vec2::new(50., 50.)), @@ -153,19 +157,19 @@ //! }; //! //! let sprite = sprite_commands.id().into_target(); -//! let mut sprite_color = sprite.state(Color::WHITE); +//! let mut sprite_color = sprite.state(WHITE.into()); //! sprite_commands.animation() //! .repeat(Repeat::Infinitely) // Add repeat //! .insert(sequence(( //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticOut, -//! sprite_color.with(sprite_color_to(Color::RED)) +//! sprite_color.with(sprite_color_to(RED.into())) //! ), //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticIn, -//! sprite_color.with(sprite_color_to(Color::WHITE)) +//! sprite_color.with(sprite_color_to(WHITE.into())) //! ), //! ))); //! ``` @@ -179,6 +183,7 @@ //! //! Combinator framework got you covered!: //! ```no_run +//! # use bevy::color::palettes::css::{WHITE, RED}; #![doc = utils::doc_test_boilerplate!()] //! # let mut sprite_commands = commands.spawn(SpriteBundle { //! # sprite: Sprite { @@ -203,18 +208,18 @@ //! tween( //! duration, //! EaseFunction::QuadraticOut, -//! target_sprite_color.with(sprite_color_to(Color::RED)) +//! target_sprite_color.with(sprite_color_to(RED.into())) //! ), //! tween( //! duration, //! EaseFunction::QuadraticIn, -//! target_sprite_color.with(sprite_color_to(Color::WHITE)) +//! target_sprite_color.with(sprite_color_to(WHITE.into())) //! ), //! )) //! } //! //! let sprite = sprite_commands.id().into_target(); -//! let mut sprite_color = sprite.state(Color::WHITE); +//! let mut sprite_color = sprite.state(WHITE.into()); //! sprite_commands.animation() //! .repeat(Repeat::Infinitely) //! .insert(my_animation(&mut sprite_color, Duration::from_secs(1))); @@ -225,6 +230,7 @@ //! You can spawn animator as a child if you want //! ```no_run #![doc = utils::doc_test_boilerplate!()] +//! # use bevy::color::palettes::css::{WHITE, RED}; //! # let mut sprite_commands = commands.spawn(SpriteBundle { //! # sprite: Sprite { //! # custom_size: Some(Vec2::new(50., 50.)), @@ -243,12 +249,12 @@ //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticOut, -//! sprite.with(sprite_color(Color::WHITE, Color::RED)) +//! sprite.with(sprite_color(WHITE.into(), RED.into())) //! ), //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticIn, -//! sprite.with(sprite_color(Color::RED, Color::WHITE)) +//! sprite.with(sprite_color(RED.into(), WHITE.into())) //! ), //! ))); //! }); @@ -259,6 +265,7 @@ //! You can spawn them anywhere in the world if needed. //! ```no_run #![doc = utils::doc_test_boilerplate!()] +//! # use bevy::color::palettes::css::{WHITE, RED}; //! # let mut sprite_commands = commands.spawn(SpriteBundle { //! # sprite: Sprite { //! # custom_size: Some(Vec2::new(50., 50.)), @@ -277,12 +284,12 @@ //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticOut, -//! sprite.with(sprite_color(Color::WHITE, Color::RED)) +//! sprite.with(sprite_color(WHITE.into(), RED.into())) //! ), //! tween( //! Duration::from_secs(1), //! EaseFunction::QuadraticIn, -//! sprite.with(sprite_color(Color::RED, Color::WHITE)) +//! sprite.with(sprite_color(RED.into(), WHITE.into())) //! ), //! ))); //! ``` @@ -291,6 +298,7 @@ //! [`AnimationTarget`] can be used for automatic target searching. //! ```no_run #![doc = utils::doc_test_boilerplate!()] +//! # use bevy::color::palettes::css::{WHITE, RED}; //! # let mut sprite_commands = commands.spawn(SpriteBundle { //! # sprite: Sprite { //! # custom_size: Some(Vec2::new(50., 50.)), @@ -309,7 +317,7 @@ //! sprite_commands.animation().insert_tween_here( //! Duration::from_secs(1), //! EaseFunction::QuadraticOut, -//! sprite.with(sprite_color(Color::WHITE, Color::RED)) +//! sprite.with(sprite_color(WHITE.into(), RED.into())) //! ); //! ``` //! @@ -430,17 +438,13 @@ pub struct DefaultTweenPlugins; impl PluginGroup for DefaultTweenPlugins { fn build(self) -> bevy::app::PluginGroupBuilder { - let default_tween_event_plugins = - tween_event::DefaultTweenEventPlugins::plugins(); #[allow(clippy::let_and_return)] let group = PluginGroupBuilder::start::() .add(TweenCorePlugin::default()) .add(interpolate::DefaultInterpolatorsPlugin) .add(interpolate::DefaultDynInterpolatorsPlugin) .add(interpolation::EaseFunctionPlugin) - // waiting for add_group method in 0.14 - .add(default_tween_event_plugins.0) - .add(default_tween_event_plugins.1); + .add_group(tween_event::DefaultTweenEventPlugins); #[cfg(feature = "bevy_lookup_curve")] let group = group.add(interpolation::bevy_lookup_curve::BevyLookupCurveInterpolationPlugin); group @@ -500,7 +504,7 @@ impl Plugin for TweenCorePlugin { } fn cleanup(&self, app: &mut App) { - app.world.remove_resource::(); + app.world_mut().remove_resource::(); } } @@ -547,7 +551,7 @@ impl BevyTweenRegisterSystems for App { tween_systems: impl IntoSystemConfigs, ) -> &mut Self { let app_resource = self - .world + .world() .get_resource::() .expect("`TweenAppResource` to be is inserted to world"); self.add_systems( diff --git a/src/tween_event.rs b/src/tween_event.rs index 25aa69d..a4dc861 100644 --- a/src/tween_event.rs +++ b/src/tween_event.rs @@ -68,7 +68,7 @@ where { fn build(&self, app: &mut App) { let app_resource = app - .world + .world() .get_resource::() .expect("`TweenAppResource` resource doesn't exist"); app.add_systems( @@ -99,7 +99,7 @@ where { fn build(&self, app: &mut App) { let app_resource = app - .world + .world() .get_resource::() .expect("`TweenAppResource` resource doesn't exist"); app.add_systems( @@ -116,31 +116,23 @@ where /// - `TweenEventPlugin::<&'static str>::default()` pub struct DefaultTweenEventPlugins; -impl DefaultTweenEventPlugins { - pub(crate) fn plugins( - ) -> (TweenEventPlugin<()>, TweenEventPlugin<&'static str>) { - #[allow(clippy::let_and_return)] - #[cfg(feature = "bevy_eventlistener")] - let o = ( - TweenEventPlugin::<()>::default().with_event_listener(), - TweenEventPlugin::<&'static str>::default().with_event_listener(), - ); - #[allow(clippy::let_and_return)] - #[cfg(not(feature = "bevy_eventlistener"))] - let o = ( - TweenEventPlugin::<()>::default(), - TweenEventPlugin::<&'static str>::default(), - ); - o - } -} - impl PluginGroup for DefaultTweenEventPlugins { + #[allow(unused)] + #[allow(clippy::let_and_return)] fn build(self) -> PluginGroupBuilder { - let plugins = Self::plugins(); - PluginGroupBuilder::start::() - .add(plugins.0) - .add(plugins.1) + let p = PluginGroupBuilder::start::(); + #[cfg(not(feature = "bevy_eventlistener"))] + let p = p + .add(TweenEventPlugin::<()>::default()) + .add(TweenEventPlugin::<&'static str>::default()); + #[cfg(feature = "bevy_eventlistener")] + let p = p + .add(TweenEventPlugin::<()>::default().with_event_listener()) + .add( + TweenEventPlugin::<&'static str>::default() + .with_event_listener(), + ); + p } } diff --git a/src/utils.rs b/src/utils.rs index 9ffbc48..76f83a1 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -2,34 +2,6 @@ #![allow(unused)] use bevy::prelude::*; -#[cfg(any(feature = "bevy_render", feature = "bevy_ui"))] -pub fn color_lerp(start: Color, end: Color, v: f32) -> Color { - let Color::Rgba { - red: start_red, - green: start_green, - blue: start_blue, - alpha: start_alpha, - } = start.as_rgba() - else { - unreachable!() - }; - let Color::Rgba { - red: end_red, - green: end_green, - blue: end_blue, - alpha: end_alpha, - } = end.as_rgba() - else { - unreachable!() - }; - Color::Rgba { - red: start_red.lerp(end_red, v), - green: start_green.lerp(end_green, v), - blue: start_blue.lerp(end_blue, v), - alpha: start_alpha.lerp(end_alpha, v), - } -} - macro_rules! doc_entity_eq_fn { () => { "\ @@ -82,7 +54,7 @@ macro_rules! doc_app_test_boilerplate { () => { "\ # use bevy_tween::prelude::*; - # use bevy::ecs::system::CommandQueue; + # use bevy::ecs::world::CommandQueue; # use bevy::prelude::*; # # let mut app = App::new(); @@ -99,7 +71,7 @@ macro_rules! doc_test_boilerplate { () => { "\ # use bevy_tween::prelude::*; - # use bevy::ecs::system::CommandQueue; + # use bevy::ecs::world::CommandQueue; # use bevy::prelude::*; # # let world = World::default();