From e8871a59d1dc5559eb11e76f03f1b38fc5bb7641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sun, 1 Nov 2026 07:03:55 +0100 Subject: [PATCH 1/2] FerroUI 0.4.0 with the GPU effects The submodule moves to FerroUI main after the 0.4.0 release (5318b82a3): the 0.4.0 sources and fixes, with the composition lights, the effect pixel operations and the rounded clips drawn on the GPU in Skia, the Reveal lighting on the GPU in Vello, and the image texture budget of Vello. Cargo.lock follows the new dependencies of the workspace. --- Cargo.lock | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ vendor/FerroUI | 2 +- 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index b7bfaba..b58d715 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -293,6 +293,9 @@ dependencies = [ [[package]] name = "ferroui-remote-protocol" version = "0.4.0" +dependencies = [ + "uuid", +] [[package]] name = "ferroui-skia" @@ -360,6 +363,30 @@ dependencies = [ "zlib-rs", ] +[[package]] +name = "futures-core" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e" + +[[package]] +name = "futures-task" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd" + +[[package]] +name = "futures-util" +version = "0.3.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc" +dependencies = [ + "futures-core", + "futures-task", + "pin-project-lite", + "slab", +] + [[package]] name = "glob" version = "0.3.4" @@ -413,6 +440,17 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" +[[package]] +name = "js-sys" +version = "0.3.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5" +dependencies = [ + "cfg-if", + "futures-util", + "wasm-bindgen", +] + [[package]] name = "libc" version = "0.2.191" @@ -519,6 +557,12 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + [[package]] name = "pkg-config" version = "0.3.34" @@ -726,6 +770,12 @@ dependencies = [ "skia-bindings", ] +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + [[package]] name = "smallvec" version = "1.16.4" @@ -840,6 +890,16 @@ version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563" +[[package]] +name = "uuid" +version = "1.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0e2d11620c50695fe12bbbfde96b3477fe606e7284c22d505c12ce51214514" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "wasm-bindgen" version = "0.2.129" diff --git a/vendor/FerroUI b/vendor/FerroUI index c7d6044..5318b82 160000 --- a/vendor/FerroUI +++ b/vendor/FerroUI @@ -1 +1 @@ -Subproject commit c7d60442d70a1998c6a75864607ce21f058572c3 +Subproject commit 5318b82a393d4181912ca074c61020fe47455c9d From a5a0885382e7cf127dc839d9a25d866f3eb5ad8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wies=C5=82aw=20=C5=A0olt=C3=A9s?= Date: Sun, 1 Nov 2026 08:48:35 +0100 Subject: [PATCH 2/2] FerroUI 0.5.0-preview.1 with the Skia image cache The submodule moves to FerroUI main 64e6e3f5f, which adds the 128 MiB resource cache of Skia (#463): the screenshots that scroll out of view and back are no longer uploaded again. Measured in the browser at a phone viewport: no texture upload over two scroll passes, frames at the display interval (99th percentile 10.2 ms). --- Cargo.lock | 38 +++++++++++++++++++------------------- vendor/FerroUI | 2 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b58d715..14c392c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -159,7 +159,7 @@ dependencies = [ [[package]] name = "ferroui-base" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "bitflags", "ferroui-build-scan", @@ -174,7 +174,7 @@ dependencies = [ [[package]] name = "ferroui-browser" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-controls", @@ -186,7 +186,7 @@ dependencies = [ [[package]] name = "ferroui-build" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build-scan", @@ -198,7 +198,7 @@ dependencies = [ [[package]] name = "ferroui-build-scan" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "proc-macro2", "quote", @@ -207,7 +207,7 @@ dependencies = [ [[package]] name = "ferroui-controls" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "bitflags", "ferroui-base", @@ -219,7 +219,7 @@ dependencies = [ [[package]] name = "ferroui-dialogs" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build", @@ -230,7 +230,7 @@ dependencies = [ [[package]] name = "ferroui-fonts-inter" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-controls", @@ -238,7 +238,7 @@ dependencies = [ [[package]] name = "ferroui-harfbuzz" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-controls", @@ -247,14 +247,14 @@ dependencies = [ [[package]] name = "ferroui-markup" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", ] [[package]] name = "ferroui-markup-xaml" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build-scan", @@ -264,7 +264,7 @@ dependencies = [ [[package]] name = "ferroui-markup-xaml-loader" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build-scan", @@ -274,14 +274,14 @@ dependencies = [ [[package]] name = "ferroui-metal" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", ] [[package]] name = "ferroui-opengl" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build-scan", @@ -292,14 +292,14 @@ dependencies = [ [[package]] name = "ferroui-remote-protocol" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "uuid", ] [[package]] name = "ferroui-skia" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "cc", "ferroui-base", @@ -312,14 +312,14 @@ dependencies = [ [[package]] name = "ferroui-system" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "smallvec", ] [[package]] name = "ferroui-themes-winui" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build", @@ -330,7 +330,7 @@ dependencies = [ [[package]] name = "ferroui-vulkan" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ash", "ferroui-base", @@ -1079,7 +1079,7 @@ checksum = "23b97319f7b8343df12cc98938e5c3eb436064524c8d2b4e30a1d3a36eecdf81" [[package]] name = "xamlx" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "roxmltree", ] diff --git a/vendor/FerroUI b/vendor/FerroUI index 5318b82..64e6e3f 160000 --- a/vendor/FerroUI +++ b/vendor/FerroUI @@ -1 +1 @@ -Subproject commit 5318b82a393d4181912ca074c61020fe47455c9d +Subproject commit 64e6e3f5f22f3666c475a549f154ecdb986bd011