diff --git a/Cargo.lock b/Cargo.lock index 99ff07fda459da9b1146705dafe0e8cb6a4fdd0e..1335c2c4d8123925ea6d315fe313935a50934956 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,50 +20,52 @@ 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", @@ -100,6 +102,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "aligned-vec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" + [[package]] name = "allocator-api2" version = "0.2.18" @@ -108,9 +116,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 +130,7 @@ dependencies = [ "log", "ndk", "ndk-context", - "ndk-sys", + "ndk-sys 0.6.0+11769913", "num_enum", "thiserror", ] @@ -148,6 +156,12 @@ dependencies = [ "libc", ] +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + [[package]] name = "approx" version = "0.5.1" @@ -157,6 +171,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" + [[package]] name = "arboard" version = "3.4.0" @@ -165,9 +185,9 @@ checksum = "9fb4009533e8ff8f1450a5bcbc30f4242a1d34442221f72314bea1f5dc9c7f89" dependencies = [ "clipboard-win", "core-graphics", - "image 0.25.1", + "image", "log", - "objc2 0.5.2", + "objc2", "objc2-app-kit", "objc2-foundation", "parking_lot", @@ -175,6 +195,17 @@ dependencies = [ "x11rb", ] +[[package]] +name = "arg_enum_proc_macro" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "arrayref" version = "0.3.7" @@ -277,6 +308,29 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +[[package]] +name = "av1-grain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf" +dependencies = [ + "anyhow", + "arrayvec", + "log", + "nom", + "num-rational", + "v_frame", +] + +[[package]] +name = "avif-serialize" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876c75a42f6364451a033496a14c44bffe41f5f4a8236f697391f11024e596d2" +dependencies = [ + "arrayvec", +] + [[package]] name = "base64" version = "0.21.7" @@ -285,18 +339,18 @@ 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_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", @@ -306,25 +360,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", @@ -332,7 +388,6 @@ dependencies = [ "bevy_app", "bevy_asset_macros", "bevy_ecs", - "bevy_log", "bevy_reflect", "bevy_tasks", "bevy_utils", @@ -347,6 +402,7 @@ dependencies = [ "ron", "serde", "thiserror", + "uuid", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -354,9 +410,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", @@ -364,53 +420,70 @@ dependencies = [ "syn 2.0.66", ] +[[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_cosmic_edit" -version = "0.20.1" +version = "0.21.0" dependencies = [ "arboard", "bevy", "cosmic-text", "crossbeam-channel", "document-features", - "image 0.24.9", + "image", "insta", "js-sys", "sys-locale", @@ -422,9 +495,9 @@ dependencies = [ [[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", @@ -433,45 +506,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", @@ -481,9 +553,9 @@ dependencies = [ [[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", @@ -491,30 +563,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", @@ -524,23 +597,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", @@ -553,13 +626,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", @@ -588,60 +662,62 @@ 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_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.66", - "toml_edit", + "toml_edit 0.22.15", ] [[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", @@ -653,25 +729,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", @@ -679,15 +755,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", @@ -698,19 +776,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", @@ -727,13 +806,15 @@ dependencies = [ "encase", "futures-lite", "hexasphere", - "image 0.24.9", + "image", "js-sys", "naga", "naga_oil", + "nonmax", + "send_wrapper", "serde", + "smallvec", "thiserror", - "thread_local", "wasm-bindgen", "web-sys", "wgpu", @@ -741,9 +822,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", @@ -753,9 +834,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", @@ -773,16 +854,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", @@ -790,7 +871,7 @@ dependencies = [ "bevy_utils", "bitflags 2.5.0", "bytemuck", - "fixedbitset", + "fixedbitset 0.5.7", "guillotiere", "radsort", "rectangle-pack", @@ -799,27 +880,25 @@ dependencies = [ [[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", @@ -835,9 +914,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", @@ -849,9 +928,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", @@ -863,19 +942,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", @@ -885,34 +964,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", @@ -921,14 +998,13 @@ 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", @@ -938,9 +1014,9 @@ dependencies = [ [[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", @@ -950,10 +1026,13 @@ 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", "wasm-bindgen", @@ -997,6 +1076,12 @@ dependencies = [ "serde", ] +[[package]] +name = "bitstream-io" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dcde5f311c85b8ca30c2e4198d4326bc342c76541590106f5fa4a50946ea499" + [[package]] name = "blake3" version = "1.5.1" @@ -1016,51 +1101,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.5", -] - -[[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.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "objc2 0.5.2", + "objc2", ] [[package]] @@ -1076,6 +1123,12 @@ dependencies = [ "piper", ] +[[package]] +name = "built" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "236e6289eda5a812bc6b53c3b024039382a2895fbbeef2d748b2931546d392c4" + [[package]] name = "bumpalo" version = "3.16.0" @@ -1108,6 +1161,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.6.0" @@ -1145,6 +1204,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -1157,6 +1226,12 @@ 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" @@ -1329,21 +1404,21 @@ dependencies = [ [[package]] name = "cosmic-text" -version = "0.11.2" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c578f2b9abb4d5f3fbb12aba4008084d435dc6a8425c195cfe0b3594bfea0c25" +checksum = "70b7eecd441fdfc092d6afcb4d00a521ee6d3dc3ad882575ce13bf38be53fb71" dependencies = [ "bitflags 2.5.0", "fontdb", - "libm", "log", "rangemap", + "rayon", "rustc-hash", "rustybuzz", "self_cell", "swash", "sys-locale", - "ttf-parser 0.20.0", + "ttf-parser 0.21.1", "unicode-bidi", "unicode-linebreak", "unicode-script", @@ -1407,9 +1482,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", @@ -1452,6 +1527,12 @@ 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 = "either" version = "1.12.0" @@ -1460,9 +1541,9 @@ checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[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", @@ -1472,18 +1553,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", @@ -1601,6 +1682,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" @@ -1750,11 +1837,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", ] @@ -1824,9 +1912,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", @@ -1835,18 +1923,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" @@ -1894,6 +1982,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.3.9" @@ -1902,9 +1996,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", @@ -1916,54 +2010,60 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" -[[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 = "image" -version = "0.24.9" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11" dependencies = [ "bytemuck", "byteorder", "color_quant", "exr", "gif", - "jpeg-decoder", + "image-webp", "num-traits", "png", "qoi", + "ravif", + "rayon", + "rgb", "tiff", + "zune-core", + "zune-jpeg", ] [[package]] -name = "image" -version = "0.25.1" +name = "image-webp" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11" +checksum = "d730b085583c4d789dfd07fdcf185be59501666a90c97c40162b37e4fdad272d" dependencies = [ - "bytemuck", - "byteorder", - "num-traits", - "png", - "tiff", + "byteorder-lite", + "thiserror", ] [[package]] -name = "indexmap" -version = "2.2.6" +name = "imgref" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ +checksum = "44feda355f4159a7c757171a77de25daf6411e217b4cabd03bd6650690468126" + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ "equivalent", "hashbrown", ] @@ -1980,6 +2080,26 @@ dependencies = [ "similar", ] +[[package]] +name = "interpolate_name" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "jni" version = "0.21.1" @@ -2016,9 +2136,6 @@ name = "jpeg-decoder" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" -dependencies = [ - "rayon", -] [[package]] name = "js-sys" @@ -2064,6 +2181,17 @@ version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +[[package]] +name = "libfuzzer-sys" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7" +dependencies = [ + "arbitrary", + "cc", + "once_cell", +] + [[package]] name = "libloading" version = "0.7.4" @@ -2135,6 +2263,15 @@ version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +[[package]] +name = "loop9" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" +dependencies = [ + "imgref", +] + [[package]] name = "malloc_buf" version = "0.0.6" @@ -2153,6 +2290,16 @@ dependencies = [ "regex-automata 0.1.10", ] +[[package]] +name = "maybe-rayon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" +dependencies = [ + "cfg-if", + "rayon", +] + [[package]] name = "memchr" version = "2.7.2" @@ -2170,9 +2317,9 @@ dependencies = [ [[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", @@ -2183,6 +2330,12 @@ dependencies = [ "paste", ] +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.7.3" @@ -2195,10 +2348,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", @@ -2216,9 +2370,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", @@ -2236,14 +2390,14 @@ 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", "thiserror", @@ -2264,6 +2418,31 @@ 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 = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "nonmax" version = "0.5.5" @@ -2271,13 +2450,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" [[package]] -name = "ntapi" -version = "0.4.1" +name = "noop_proc_macro" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" [[package]] name = "nu-ansi-term" @@ -2289,6 +2465,47 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -2326,15 +2543,8 @@ 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.5" @@ -2343,49 +2553,52 @@ 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.5", - "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.2" +name = "objc2-cloud-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "objc-sys 0.3.5", - "objc2-encode 4.0.3", + "bitflags 2.5.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", ] [[package]] -name = "objc2-app-kit" +name = "objc2-contacts" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" dependencies = [ - "bitflags 2.5.0", - "block2 0.5.1", - "libc", - "objc2 0.5.2", - "objc2-core-data", - "objc2-core-image", + "block2", + "objc2", "objc2-foundation", - "objc2-quartz-core", ] [[package]] @@ -2395,8 +2608,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ "bitflags 2.5.0", - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-foundation", ] @@ -2406,27 +2619,24 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-foundation", "objc2-metal", ] [[package]] -name = "objc2-encode" -version = "2.0.0-pre.2" +name = "objc2-core-location" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ - "objc-sys 0.2.0-beta.2", + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", ] -[[package]] -name = "objc2-encode" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" - [[package]] name = "objc2-encode" version = "4.0.3" @@ -2440,9 +2650,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ "bitflags 2.5.0", - "block2 0.5.1", + "block2", + "dispatch", "libc", - "objc2 0.5.2", + "objc2", +] + +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", ] [[package]] @@ -2452,8 +2675,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ "bitflags 2.5.0", - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-foundation", ] @@ -2464,19 +2687,65 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ "bitflags 2.5.0", - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-foundation", "objc2-metal", ] [[package]] -name = "objc_exception" -version = "0.1.2" +name = "objc2-symbols" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" dependencies = [ - "cc", + "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]] @@ -2556,10 +2825,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.66", +] + [[package]] name = "pin-project-lite" version = "0.2.14" @@ -2620,6 +2909,12 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + [[package]] name = "presser" version = "0.3.1" @@ -2632,7 +2927,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]] @@ -2649,6 +2944,19 @@ name = "profiling" version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" +dependencies = [ + "quote", + "syn 2.0.66", +] [[package]] name = "qoi" @@ -2659,6 +2967,12 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + [[package]] name = "quote" version = "1.0.36" @@ -2674,6 +2988,36 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17fd96390ed3feda12e1dfe2645ed587e0bea749e319333f104a33ff62f77a0b" +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + [[package]] name = "range-alloc" version = "0.1.3" @@ -2686,6 +3030,56 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" +[[package]] +name = "rav1e" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" +dependencies = [ + "arbitrary", + "arg_enum_proc_macro", + "arrayvec", + "av1-grain", + "bitstream-io", + "built", + "cfg-if", + "interpolate_name", + "itertools", + "libc", + "libfuzzer-sys", + "log", + "maybe-rayon", + "new_debug_unreachable", + "noop_proc_macro", + "num-derive", + "num-traits", + "once_cell", + "paste", + "profiling", + "rand", + "rand_chacha", + "simd_helpers", + "system-deps", + "thiserror", + "v_frame", + "wasm-bindgen", +] + +[[package]] +name = "ravif" +version = "0.11.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6ba61c28ba24c0cf8406e025cb29a742637e3f70776e61c27a8a8b72a042d12" +dependencies = [ + "avif-serialize", + "imgref", + "loop9", + "quick-error", + "rav1e", + "rayon", + "rgb", +] + [[package]] name = "raw-window-handle" version = "0.6.2" @@ -2728,15 +3122,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" @@ -2805,6 +3190,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" +[[package]] +name = "rgb" +version = "0.8.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aee83dc281d5a3200d37b299acd13b81066ea126a7f16f0eae70fc9aed241d9" +dependencies = [ + "bytemuck", +] + [[package]] name = "ron" version = "0.8.1" @@ -2844,15 +3238,15 @@ dependencies = [ [[package]] name = "rustybuzz" -version = "0.12.1" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" dependencies = [ "bitflags 2.5.0", "bytemuck", "libm", "smallvec", - "ttf-parser 0.20.0", + "ttf-parser 0.21.1", "unicode-bidi-mirroring", "unicode-ccc", "unicode-properties", @@ -2880,6 +3274,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" +[[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" @@ -2900,6 +3300,15 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "serde_spanned" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +dependencies = [ + "serde", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -2915,12 +3324,31 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "simd_helpers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" +dependencies = [ + "quote", +] + [[package]] name = "similar" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" +[[package]] +name = "skrifa" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab45fb68b53576a43d4fc0e9ec8ea64e29a4d2cc7f44506964cb75f288222e9" +dependencies = [ + "bytemuck", + "read-fonts", +] + [[package]] name = "slab" version = "0.4.9" @@ -2944,9 +3372,6 @@ name = "smallvec" version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -dependencies = [ - "serde", -] [[package]] name = "smol_str" @@ -2989,11 +3414,11 @@ checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca" [[package]] name = "swash" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "682a612b50baf09e8a039547ecf49e6c155690dcb751b1bcb19c93cdeb3d42d4" +checksum = "4d7773d67fe3373048cf840bfcc54ec3207cfc1e95c526b287ef2eb5eff9faf6" dependencies = [ - "read-fonts", + "skrifa", "yazi", "zeno", ] @@ -3030,31 +3455,37 @@ dependencies = [ ] [[package]] -name = "sysinfo" -version = "0.30.12" +name = "system-deps" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732ffa00f53e6b2af46208fba5718d9662a421049204e156328b66791ffa15ae" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "windows 0.52.0", + "cfg-expr", + "heck", + "pkg-config", + "toml", + "version-compare", ] [[package]] name = "taffy" -version = "0.3.19" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1315457ccd9c3def787a18fae91914e623e4dcff019b64ce39f5268ded53d3d" +checksum = "9cb893bff0f80ae17d3a57e030622a967b8dbc90e38284d9b4b1442e23873c94" dependencies = [ "arrayvec", "grid", "num-traits", + "serde", "slotmap", ] +[[package]] +name = "target-lexicon" +version = "0.12.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" + [[package]] name = "termcolor" version = "1.4.1" @@ -3120,11 +3551,26 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "toml" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.15", +] + [[package]] name = "toml_datetime" version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -3134,7 +3580,20 @@ checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap", "toml_datetime", - "winnow", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.6.13", ] [[package]] @@ -3169,17 +3628,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" @@ -3206,7 +3654,7 @@ dependencies = [ "thread_local", "tracing", "tracing-core", - "tracing-log 0.2.0", + "tracing-log", ] [[package]] @@ -3246,15 +3694,15 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-bidi-mirroring" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" [[package]] name = "unicode-ccc" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" [[package]] name = "unicode-ident" @@ -3308,12 +3756,29 @@ dependencies = [ "serde", ] +[[package]] +name = "v_frame" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b" +dependencies = [ + "aligned-vec", + "num-traits", + "wasm-bindgen", +] + [[package]] name = "valuable" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "version-compare" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" + [[package]] name = "version_check" version = "0.9.4" @@ -3414,9 +3879,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", @@ -3430,13 +3895,14 @@ 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", @@ -3455,15 +3921,16 @@ 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", @@ -3481,9 +3948,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", @@ -3491,7 +3958,7 @@ dependencies = [ "bit-set", "bitflags 2.5.0", "block", - "cfg_aliases", + "cfg_aliases 0.1.1", "core-graphics-types", "d3d12", "glow", @@ -3507,7 +3974,7 @@ dependencies = [ "log", "metal", "naga", - "ndk-sys", + "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", "parking_lot", @@ -3526,9 +3993,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", @@ -3574,54 +4041,74 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.48.0" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core 0.52.0", + "windows-targets 0.52.5", +] + +[[package]] +name = "windows" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" dependencies = [ + "windows-core 0.54.0", "windows-implement", "windows-interface", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] -name = "windows" +name = "windows-core" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-core", "windows-targets 0.52.5", ] [[package]] name = "windows-core" -version = "0.52.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +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.66", ] [[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.66", +] + +[[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]] @@ -3831,39 +4318,43 @@ 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 = [ "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", "ndk", - "ndk-sys", - "objc2 0.4.1", - "once_cell", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", "orbclient", "percent-encoding", + "pin-project", "raw-window-handle", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "rustix", "smol_str", + "tracing", "unicode-segmentation", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", "web-time", - "windows-sys 0.48.0", + "windows-sys 0.52.0", "x11-dl", "x11rb", "xkbcommon-dl", @@ -3878,6 +4369,15 @@ 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" @@ -3973,6 +4473,12 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + [[package]] name = "zune-inflate" version = "0.2.54" @@ -3981,3 +4487,12 @@ checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" dependencies = [ "simd-adler32", ] + +[[package]] +name = "zune-jpeg" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448" +dependencies = [ + "zune-core", +] diff --git a/Cargo.toml b/Cargo.toml index a1daebe6ed1b06e3deab4009c963db1ef71f07ee..a904aba2708daad6bf7b0d826f81eb20fbc37029 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bevy_cosmic_edit" -version = "0.20.1" +version = "0.21.0" edition = "2021" license = "MIT OR Apache-2.0" description = "Bevy cosmic-text multiline text input" @@ -18,7 +18,7 @@ multicam = [] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -bevy = { version = "0.13", default-features = false, features = [ +bevy = { version = "0.14", default-features = false, features = [ "bevy_asset", "bevy_core_pipeline", "bevy_render", @@ -31,12 +31,12 @@ bevy = { version = "0.13", default-features = false, features = [ "x11", "webgpu", ] } -cosmic-text = { version = "0.11.2" } +cosmic-text = { version = "0.12.0" } # TODO: move crossbeam to wasm32, once input.rs has separate wasm copy/paste fn unicode-segmentation = { version = "1.11.0" } crossbeam-channel = "0.5.8" -image = "0.24.6" +image = "0.25.1" sys-locale = "0.3.0" document-features = "0.2.8" diff --git a/examples/basic_ui.rs b/examples/basic_ui.rs index 1c44bf012477487eac65e8d3cc0ed98fd1807244..a6b6ee23380f8d380711508c3b5d77c730c7bed9 100644 --- a/examples/basic_ui.rs +++ b/examples/basic_ui.rs @@ -4,7 +4,7 @@ use bevy_cosmic_edit::*; fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { let camera_bundle = Camera2dBundle { camera: Camera { - clear_color: ClearColorConfig::Custom(Color::PINK), + clear_color: ClearColorConfig::Custom(bevy::color::palettes::css::PINK.into()), ..default() }, ..default() diff --git a/examples/every_option.rs b/examples/every_option.rs index 96c86c3ece4a9fcab843b1538971a5c70c8c0863..94646230ec956a4b42edfadd88b3ac5987254e8b 100644 --- a/examples/every_option.rs +++ b/examples/every_option.rs @@ -7,7 +7,7 @@ struct TextChangeTimer(pub Timer); fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { commands.spawn(Camera2dBundle::default()); - let attrs = Attrs::new().color(Color::rgb(0.27, 0.27, 0.27).to_cosmic()); + let attrs = Attrs::new().color(Color::srgb(0.27, 0.27, 0.27).to_cosmic()); let editor = commands .spawn(CosmicEditBundle { @@ -16,9 +16,9 @@ fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { "Begin counting.", attrs, ), - cursor_color: CursorColor(Color::GREEN), - selection_color: SelectionColor(Color::PINK), - fill_color: CosmicBackgroundColor(Color::YELLOW_GREEN), + cursor_color: CursorColor(bevy::color::palettes::css::LIME.into()), + selection_color: SelectionColor(bevy::color::palettes::css::DEEP_PINK.into()), + fill_color: CosmicBackgroundColor(bevy::color::palettes::css::YELLOW_GREEN.into()), x_offset: XOffset::default(), text_position: CosmicTextAlign::default(), background_image: CosmicBackgroundImage::default(), @@ -44,11 +44,12 @@ fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { padding: Default::default(), widget_size: Default::default(), }) + .insert(SelectedTextColor(Color::WHITE)) .id(); commands .spawn(ButtonBundle { - border_color: Color::LIME_GREEN.into(), + border_color: bevy::color::palettes::css::LIMEGREEN.into(), style: Style { // Size and position of text box border: UiRect::all(Val::Px(4.)), diff --git a/examples/font_per_widget.rs b/examples/font_per_widget.rs index a935e733dabb003bfe7daad77cd60e9298a65e70..3c9804a009427de626db81ce53f205a3c1598eac 100644 --- a/examples/font_per_widget.rs +++ b/examples/font_per_widget.rs @@ -66,28 +66,94 @@ fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { .style(FontStyle::Italic), ), ("\n", attrs), - ("R", attrs.color(Color::RED.to_cosmic())), - ("A", attrs.color(Color::ORANGE.to_cosmic())), - ("I", attrs.color(Color::YELLOW.to_cosmic())), - ("N", attrs.color(Color::GREEN.to_cosmic())), - ("B", attrs.color(Color::BLUE.to_cosmic())), - ("O", attrs.color(Color::INDIGO.to_cosmic())), - ("W ", attrs.color(Color::PURPLE.to_cosmic())), - ("Red ", attrs.color(Color::RED.to_cosmic())), - ("Orange ", attrs.color(Color::ORANGE.to_cosmic())), - ("Yellow ", attrs.color(Color::YELLOW.to_cosmic())), - ("Green ", attrs.color(Color::GREEN.to_cosmic())), - ("Blue ", attrs.color(Color::BLUE.to_cosmic())), - ("Indigo ", attrs.color(Color::INDIGO.to_cosmic())), - ("Violet ", attrs.color(Color::PURPLE.to_cosmic())), - ("U", attrs.color(Color::PURPLE.to_cosmic())), - ("N", attrs.color(Color::INDIGO.to_cosmic())), - ("I", attrs.color(Color::BLUE.to_cosmic())), - ("C", attrs.color(Color::GREEN.to_cosmic())), - ("O", attrs.color(Color::YELLOW.to_cosmic())), - ("R", attrs.color(Color::ORANGE.to_cosmic())), - ("N", attrs.color(Color::RED.to_cosmic())), - ("生活,삶,जिंदगी 😀 FPS", attrs.color(Color::RED.to_cosmic())), + ( + "R", + attrs.color(bevy::color::palettes::css::RED.to_cosmic()), + ), + ( + "A", + attrs.color(bevy::color::palettes::css::ORANGE.to_cosmic()), + ), + ( + "I", + attrs.color(bevy::color::palettes::css::YELLOW.to_cosmic()), + ), + ( + "N", + attrs.color(bevy::color::palettes::css::LIMEGREEN.to_cosmic()), + ), + ( + "B", + attrs.color(bevy::color::palettes::css::BLUE.to_cosmic()), + ), + ( + "O", + attrs.color(bevy::color::palettes::css::INDIGO.to_cosmic()), + ), + ( + "W ", + attrs.color(bevy::color::palettes::css::PURPLE.to_cosmic()), + ), + ( + "Red ", + attrs.color(bevy::color::palettes::css::RED.to_cosmic()), + ), + ( + "Orange ", + attrs.color(bevy::color::palettes::css::ORANGE.to_cosmic()), + ), + ( + "Yellow ", + attrs.color(bevy::color::palettes::css::YELLOW.to_cosmic()), + ), + ( + "Green ", + attrs.color(bevy::color::palettes::css::LIMEGREEN.to_cosmic()), + ), + ( + "Blue ", + attrs.color(bevy::color::palettes::css::BLUE.to_cosmic()), + ), + ( + "Indigo ", + attrs.color(bevy::color::palettes::css::INDIGO.to_cosmic()), + ), + ( + "Violet ", + attrs.color(bevy::color::palettes::css::PURPLE.to_cosmic()), + ), + ( + "U", + attrs.color(bevy::color::palettes::css::PURPLE.to_cosmic()), + ), + ( + "N", + attrs.color(bevy::color::palettes::css::INDIGO.to_cosmic()), + ), + ( + "I", + attrs.color(bevy::color::palettes::css::BLUE.to_cosmic()), + ), + ( + "C", + attrs.color(bevy::color::palettes::css::LIMEGREEN.to_cosmic()), + ), + ( + "O", + attrs.color(bevy::color::palettes::css::YELLOW.to_cosmic()), + ), + ( + "R", + attrs.color(bevy::color::palettes::css::ORANGE.to_cosmic()), + ), + ( + "N", + attrs.color(bevy::color::palettes::css::RED.to_cosmic()), + ), + ( + "生活,삶,जिंदगी 😀 FPS", + attrs.color(bevy::color::palettes::css::RED.to_cosmic()), + ), ]; let cosmic_edit_1 = commands @@ -103,7 +169,7 @@ fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { let mut attrs_2 = Attrs::new(); attrs_2 = attrs_2.family(Family::Name("Times New Roman")); - attrs_2.color_opt = Some(Color::PURPLE.to_cosmic()); + attrs_2.color_opt = Some(bevy::color::palettes::css::PURPLE.to_cosmic()); let cosmic_edit_2 = commands .spawn(CosmicEditBundle { @@ -132,7 +198,7 @@ fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { parent .spawn(ButtonBundle { - background_color: BackgroundColor(Color::WHITE.with_a(0.8)), + background_color: BackgroundColor(bevy::prelude::Color::WHITE.with_alpha(0.8)), style: Style { width: Val::Percent(50.), height: Val::Percent(100.), diff --git a/examples/image_background.rs b/examples/image_background.rs index 708611ba768f1d417f80b3628cbd1000dd9b4f99..e21c35a2fa7a6d59c885c04e81ff23af14edc2f6 100644 --- a/examples/image_background.rs +++ b/examples/image_background.rs @@ -9,7 +9,7 @@ fn setup(mut commands: Commands, asset_server: Res<AssetServer>) { let editor = commands .spawn(CosmicEditBundle { default_attrs: DefaultAttrs(AttrsOwned::new( - Attrs::new().color(Color::GREEN.to_cosmic()), + Attrs::new().color(bevy::color::palettes::basic::LIME.to_cosmic()), )), background_image: CosmicBackgroundImage(Some(bg_image_handle)), ..default() @@ -26,7 +26,6 @@ fn setup(mut commands: Commands, asset_server: Res<AssetServer>) { top: Val::Px(100.), ..default() }, - background_color: Color::WHITE.into(), ..default() }) .insert(CosmicSource(editor)); diff --git a/examples/multiple_sprites.rs b/examples/multiple_sprites.rs index 509f238b1a01b3b2ebaea3aac890e348423c4463..de0012a9369803ea6c2a80cd85ab0eaedbdcfd1c 100644 --- a/examples/multiple_sprites.rs +++ b/examples/multiple_sprites.rs @@ -18,10 +18,10 @@ fn setup( let mut attrs = Attrs::new(); attrs = attrs.family(Family::Name("Victor Mono")); - attrs = attrs.color(Color::PURPLE.to_cosmic()); + attrs = attrs.color(bevy::color::palettes::basic::PURPLE.to_cosmic()); commands.spawn(CosmicEditBundle { - fill_color: CosmicBackgroundColor(Color::ALICE_BLUE), + fill_color: CosmicBackgroundColor(bevy::color::palettes::css::ALICE_BLUE.into()), buffer: CosmicBuffer::new(&mut font_system, Metrics::new(14., 18.)).with_text( &mut font_system, "😀😀😀 x => y", @@ -42,7 +42,9 @@ fn setup( }); commands.spawn(CosmicEditBundle { - fill_color: CosmicBackgroundColor(Color::GRAY.with_a(0.5)), + fill_color: CosmicBackgroundColor( + bevy::color::palettes::basic::GRAY.with_alpha(0.5).into(), + ), buffer: CosmicBuffer::new(&mut font_system, Metrics::new(14., 18.)).with_text( &mut font_system, "Widget_2. Click on me", diff --git a/examples/placeholder.rs b/examples/placeholder.rs index 61fcd2b4a5a861f0ec0dc149dc757853843a7c43..69bda0982b485ea17f1ae7105ff89a70fe678134 100644 --- a/examples/placeholder.rs +++ b/examples/placeholder.rs @@ -4,7 +4,7 @@ use bevy_cosmic_edit::*; fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { let camera_bundle = Camera2dBundle { camera: Camera { - clear_color: ClearColorConfig::Custom(Color::PINK), + clear_color: ClearColorConfig::Custom(bevy::color::palettes::css::PINK.into()), ..default() }, ..default() @@ -23,7 +23,10 @@ fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { .with_rich_text(&mut font_system, vec![("", attrs)], attrs), ..default() }, - Placeholder::new("Placeholder", attrs.color(Color::GRAY.to_cosmic())), + Placeholder::new( + "Placeholder", + attrs.color(bevy::color::palettes::basic::GRAY.to_cosmic()), + ), )) .id(); diff --git a/examples/readonly.rs b/examples/readonly.rs index 9a817fcfe48b48e1ced0ef013ec1ea7f4c1952f5..7dbaf3fa5ec489551e610509d2ddb9c57b4d6395 100644 --- a/examples/readonly.rs +++ b/examples/readonly.rs @@ -17,7 +17,7 @@ fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) { let mut attrs = Attrs::new(); attrs = attrs.family(Family::Name("Victor Mono")); - attrs = attrs.color(Color::PURPLE.to_cosmic()); + attrs = attrs.color(bevy::color::palettes::basic::PURPLE.to_cosmic()); // spawn editor let cosmic_edit = commands diff --git a/examples/sprite_and_ui_clickable.rs b/examples/sprite_and_ui_clickable.rs index 290edaf10e754ce4f841dbd6433a49b40e707f1e..be242fc8dcf3713ecf3833b24d1b8f0bc228af06 100644 --- a/examples/sprite_and_ui_clickable.rs +++ b/examples/sprite_and_ui_clickable.rs @@ -8,7 +8,7 @@ fn setup(mut commands: Commands) { let ui_editor = commands .spawn(CosmicEditBundle { default_attrs: DefaultAttrs(AttrsOwned::new( - Attrs::new().color(Color::GREEN.to_cosmic()), + Attrs::new().color(bevy::color::palettes::css::LIMEGREEN.to_cosmic()), )), max_lines: MaxLines(1), mode: CosmicWrap::InfiniteLine, diff --git a/src/cosmic_edit.rs b/src/cosmic_edit.rs index d6c324e2e2f5adabc372772e6b917296698d2ee8..41c6c18679c9b9e3d87d1eda6cdd1f4448758272 100644 --- a/src/cosmic_edit.rs +++ b/src/cosmic_edit.rs @@ -61,6 +61,10 @@ pub struct CursorColor(pub Color); #[derive(Component, Default, Deref)] pub struct SelectionColor(pub Color); +/// Color to be used for the selected text +#[derive(Component, Default, Deref)] +pub struct SelectedTextColor(pub Color); + /// Maximum number of lines allowed in a buffer #[derive(Component, Default)] pub struct MaxLines(pub usize); @@ -200,7 +204,7 @@ impl Default for CosmicEditBundle { buffer: Default::default(), fill_color: Default::default(), cursor_color: CursorColor(Color::BLACK), - selection_color: SelectionColor(Color::GRAY), + selection_color: SelectionColor(bevy::color::palettes::basic::GRAY.into()), text_position: Default::default(), default_attrs: Default::default(), background_image: Default::default(), diff --git a/src/input.rs b/src/input.rs index 652ad15f5afbee934a12a76a229ceadd0bb51675..a303d4764127072687b831e8fa4aef2414dfd76c 100644 --- a/src/input.rs +++ b/src/input.rs @@ -2,7 +2,10 @@ use crate::*; use bevy::{ - input::mouse::{MouseMotion, MouseScrollUnit, MouseWheel}, + input::{ + keyboard::{Key, KeyboardInput}, + mouse::{MouseMotion, MouseScrollUnit, MouseWheel}, + }, prelude::*, window::PrimaryWindow, }; @@ -402,7 +405,7 @@ pub fn kb_move_cursor( pub(crate) fn kb_input_text( active_editor: Res<FocusedWidget>, keys: Res<ButtonInput<KeyCode>>, - mut char_evr: EventReader<ReceivedCharacter>, + mut char_evr: EventReader<KeyboardInput>, mut cosmic_edit_query: Query<( &mut CosmicEditor, &mut CosmicBuffer, @@ -489,11 +492,16 @@ pub(crate) fn kb_input_text( is_edit = true; if *is_deleting { editor.action(&mut font_system.0, Action::Backspace); - } else if !command && (max_chars.0 == 0 || buffer.get_text().len() < max_chars.0) { - let b = char_ev.char.as_bytes(); - for c in b { - let c: char = (*c).into(); - editor.action(&mut font_system.0, Action::Insert(c)); + } else if !command + && (max_chars.0 == 0 || buffer.get_text().len() < max_chars.0) + && matches!(char_ev.state, bevy::input::ButtonState::Pressed) + { + if let Key::Character(char) = &char_ev.logical_key { + let b = char.as_bytes(); + for c in b { + let c: char = (*c).into(); + editor.action(&mut font_system.0, Action::Insert(c)); + } } } } diff --git a/src/lib.rs b/src/lib.rs index 2c083da89a5f9603c1d44d1f2817f33e76b2daed..b8ec0661717fe2df65d2c87ab431973e4a1165f4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -97,7 +97,7 @@ mod widget; use std::{path::PathBuf, time::Duration}; -use bevy::{prelude::*, transform::TransformSystem}; +use bevy::prelude::*; pub use buffer::*; pub use cosmic_edit::*; @@ -224,6 +224,8 @@ fn create_cosmic_font_system(cosmic_font_config: CosmicFontConfig) -> FontSystem #[cfg(test)] mod tests { + use bevy::input::keyboard::KeyboardInput; + use crate::*; use self::buffer::CosmicBuffer; @@ -258,12 +260,12 @@ mod tests { let mouse_input: ButtonInput<MouseButton> = ButtonInput::<MouseButton>::default(); app.insert_resource(mouse_input); - app.add_event::<ReceivedCharacter>(); + app.add_event::<KeyboardInput>(); app.update(); - let mut text_nodes_query = app.world.query::<&CosmicBuffer>(); - for cosmic_editor in text_nodes_query.iter(&app.world) { + let mut text_nodes_query = app.world_mut().query::<&CosmicBuffer>(); + for cosmic_editor in text_nodes_query.iter(&app.world()) { insta::assert_debug_snapshot!(cosmic_editor .lines .iter() diff --git a/src/render.rs b/src/render.rs index ba3fd597324b281b88bbea9c09953b5aa63c0bc7..4466a3c5569672058a465af31ab25cca1537354e 100644 --- a/src/render.rs +++ b/src/render.rs @@ -56,7 +56,7 @@ fn draw_pixel(buffer: &mut [u8], width: i32, height: i32, x: i32, y: i32, color: let offset = (y as usize * width as usize + x as usize) * 4; - let bg = bevy::prelude::Color::rgba_u8( + let bg = bevy::prelude::Color::srgba_u8( buffer[offset], buffer[offset + 1], buffer[offset + 2], @@ -65,16 +65,16 @@ fn draw_pixel(buffer: &mut [u8], width: i32, height: i32, x: i32, y: i32, color: // TODO: if alpha is 100% or bg is empty skip blending - let fg = bevy::prelude::Color::rgba_u8(color.r(), color.g(), color.b(), color.a()); + let fg = Srgba::rgba_u8(color.r(), color.g(), color.b(), color.a()); - let premul = fg * Vec3::splat(color.a() as f32 / 255.0); + let premul = (fg * fg.alpha).with_alpha(color.a() as f32 / 255.0); - let out = premul + bg * (1.0 - fg.a()); + let out = premul + (bg.to_srgba() * (1.0 - fg.alpha)); - buffer[offset + 2] = (out.b() * 255.0) as u8; - buffer[offset + 1] = (out.g() * 255.0) as u8; - buffer[offset] = (out.r() * 255.0) as u8; - buffer[offset + 3] = (out.a() * 255.0) as u8; + buffer[offset + 2] = (out.blue * 255.0) as u8; + buffer[offset + 1] = (out.green * 255.0) as u8; + buffer[offset] = (out.red * 255.0) as u8; + buffer[offset + 3] = (out.alpha * 255.0) as u8; } fn render_texture( @@ -86,6 +86,7 @@ fn render_texture( &CosmicBackgroundColor, &CursorColor, &SelectionColor, + Option<&SelectedTextColor>, &Handle<Image>, &CosmicWidgetSize, &CosmicPadding, @@ -105,6 +106,7 @@ fn render_texture( fill_color, cursor_color, selection_color, + selected_text_color_option, canvas, size, padding, @@ -135,12 +137,12 @@ fn render_texture( } } } else { - let bg = fill_color.0; + let bg = fill_color.0.to_cosmic(); for pixel in pixels.chunks_exact_mut(4) { - pixel[0] = (bg.r() * 255.) as u8; // Red component - pixel[1] = (bg.g() * 255.) as u8; // Green component - pixel[2] = (bg.b() * 255.) as u8; // Blue component - pixel[3] = (bg.a() * 255.) as u8; // Alpha component + pixel[0] = bg.r(); // Red component + pixel[1] = bg.g(); // Green component + pixel[2] = bg.b(); // Blue component + pixel[3] = bg.a(); // Alpha component } } @@ -176,25 +178,20 @@ fn render_texture( continue; } + let cursor_color = cursor_color.0; let cursor_opacity = if editor.cursor_visible && readonly_opt.is_none() { - (cursor_color.0.a() * 255.) as u8 + cursor_color.alpha() } else { - 0 + 0. }; - let cursor_color = Color::rgba( - (cursor_color.r() * 255.) as u8, - (cursor_color.g() * 255.) as u8, - (cursor_color.b() * 255.) as u8, - cursor_opacity, - ); + let cursor_color = cursor_color.with_alpha(cursor_opacity).to_cosmic(); - let selection_color = Color::rgba( - (selection_color.r() * 255.) as u8, - (selection_color.g() * 255.) as u8, - (selection_color.b() * 255.) as u8, - (selection_color.a() * 255.) as u8, - ); + let selection_color = selection_color.0.to_cosmic(); + + let selected_text_color = selected_text_color_option + .map(|selected_text_color| selected_text_color.0.to_cosmic()) + .unwrap_or(font_color); editor.draw( &mut font_system.0, @@ -202,6 +199,7 @@ fn render_texture( font_color, cursor_color, selection_color, + selected_text_color, draw_closure, ); editor.set_redraw(false); diff --git a/src/util.rs b/src/util.rs index 7158db5c35fcb2b6fc0d68d75cd691d99a65e0d3..61bb4faca2a42a220f2c03fe077d6ec3f0221ad9 100644 --- a/src/util.rs +++ b/src/util.rs @@ -7,13 +7,19 @@ pub trait ColorExtras { fn to_cosmic(self) -> CosmicColor; } -impl ColorExtras for Color { +impl<T: Into<Color>> ColorExtras for T { fn to_cosmic(self) -> CosmicColor { + let Srgba { + red, + green, + blue, + alpha, + } = Into::<Color>::into(self).to_srgba(); CosmicColor::rgba( - (self.r() * 255.) as u8, - (self.g() * 255.) as u8, - (self.b() * 255.) as u8, - (self.a() * 255.) as u8, + (red * 255.) as u8, + (green * 255.) as u8, + (blue * 255.) as u8, + (alpha * 255.) as u8, ) } } diff --git a/src/widget.rs b/src/widget.rs index 8f6ec47a25fbfd942cba32c2397db5ba3bf829d2..09509779480551c4f596c45495a6c700da7dbfb2 100644 --- a/src/widget.rs +++ b/src/widget.rs @@ -135,7 +135,7 @@ fn set_buffer_size( CosmicWrap::Wrap => (size.0.x - padding_x, size.0.y), }; - buffer.set_size(&mut font_system.0, buffer_width, buffer_height); + buffer.set_size(&mut font_system.0, Some(buffer_width), Some(buffer_height)); } }