From 4bc9544b082e1108f70338fcbb95b6ec24415fdb Mon Sep 17 00:00:00 2001 From: Bruce Mitchener Date: Tue, 10 Dec 2024 12:31:41 +0700 Subject: [PATCH] Update to git Vello, new releases of Color, Peniko --- .github/workflows/ci.yml | 2 +- CHANGELOG.md | 2 +- Cargo.lock | 375 ++++++++++++-------------- Cargo.toml | 4 +- README.md | 2 +- examples/swash_render/src/main.rs | 7 +- examples/tiny_skia_render/src/main.rs | 7 +- examples/vello_editor/Cargo.toml | 3 +- examples/vello_editor/src/main.rs | 17 +- examples/vello_editor/src/text.rs | 15 +- fontique/README.md | 2 +- fontique/src/lib.rs | 20 +- parley/README.md | 2 +- parley/src/lib.rs | 23 +- 14 files changed, 236 insertions(+), 245 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 969ce991..9a591176 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ env: # If the compilation fails, then the version specified here needs to be bumped up to reality. # Be sure to also update the rust-version property in the workspace Cargo.toml file, # plus all the README.md files of the affected packages. - RUST_MIN_VER: "1.75" + RUST_MIN_VER: "1.82" # List of packages that will be checked with the minimum supported Rust version. # This should be limited to packages that are intended for publishing. RUST_MIN_VER_PKGS: "-p parley -p fontique" diff --git a/CHANGELOG.md b/CHANGELOG.md index 504f0ddd..edadbcfa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ You can find its changes [documented below](#020---2024-10-10). ## [Unreleased] -This release has an [MSRV] of 1.75. +This release has an [MSRV] of 1.82. ### Added diff --git a/Cargo.lock b/Cargo.lock index dd9e4a33..38b91c20 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -34,7 +34,7 @@ dependencies = [ "accesskit_consumer", "atspi-common", "serde", - "thiserror", + "thiserror 1.0.69", "zvariant", ] @@ -90,8 +90,8 @@ dependencies = [ "accesskit_consumer", "paste", "static_assertions", - "windows 0.58.0", - "windows-core 0.58.0", + "windows", + "windows-core", ] [[package]] @@ -151,7 +151,7 @@ dependencies = [ "ndk-context", "ndk-sys 0.6.0+11769913", "num_enum", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -307,7 +307,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -342,7 +342,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -410,18 +410,18 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "bit-set" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0481a0e032742109b1133a095184ee93d88f3dc9e0d28a5d033dc77a073f44f" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" @@ -495,7 +495,7 @@ checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -527,7 +527,7 @@ dependencies = [ "polling", "rustix", "slab", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -612,34 +612,13 @@ dependencies = [ ] [[package]] -name = "com" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" -dependencies = [ - "com_macros", -] - -[[package]] -name = "com_macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" -dependencies = [ - "com_macros_support", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "com_macros_support" -version = "0.6.0" +name = "color" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" +checksum = "212bb4103d3dc3eca9f7b665588528dee3a42fc03272b2db5ffa3010dc84b39c" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "libm", + "serde", ] [[package]] @@ -762,17 +741,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" -[[package]] -name = "d3d12" -version = "22.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017" -dependencies = [ - "bitflags 2.6.0", - "libloading", - "winapi", -] - [[package]] name = "digest" version = "0.10.7" @@ -797,7 +765,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -854,7 +822,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -949,6 +917,15 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "font-types" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11c3a23a5a151afb1f74ea797f8c300dee41eff9ee3cb1bf94ed316d860c46b3" +dependencies = [ + "bytemuck", +] + [[package]] name = "fontconfig-cache-parser" version = "0.2.0" @@ -956,7 +933,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7f8afb20c8069fd676d27b214559a337cc619a605d25a87baa90b49a06f3b18" dependencies = [ "bytemuck", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -975,12 +952,12 @@ dependencies = [ "objc2", "objc2-foundation", "peniko", - "read-fonts", + "read-fonts 0.22.3", "roxmltree", "smallvec", "unicode-script", - "windows 0.58.0", - "windows-core 0.58.0", + "windows", + "windows-core", ] [[package]] @@ -1001,7 +978,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -1054,7 +1031,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -1130,9 +1107,9 @@ dependencies = [ [[package]] name = "glow" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" +checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483" dependencies = [ "js-sys", "slotmap", @@ -1170,15 +1147,14 @@ dependencies = [ [[package]] name = "gpu-allocator" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdd4240fc91d3433d5e5b0fc5b67672d771850dc19bbee03c1381e19322803d7" +checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" dependencies = [ "log", "presser", - "thiserror", - "winapi", - "windows 0.52.0", + "thiserror 1.0.69", + "windows", ] [[package]] @@ -1232,21 +1208,6 @@ dependencies = [ "foldhash", ] -[[package]] -name = "hassle-rs" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" -dependencies = [ - "bitflags 2.6.0", - "com", - "libc", - "libloading", - "thiserror", - "widestring", - "winapi", -] - [[package]] name = "hermit-abi" version = "0.4.0" @@ -1356,7 +1317,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -1404,7 +1365,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] @@ -1432,10 +1393,11 @@ checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -1485,9 +1447,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libredox" @@ -1594,9 +1556,9 @@ dependencies = [ [[package]] name = "naga" -version = "22.1.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad" +checksum = "3d5941e45a15b53aad4375eedf02033adb7a28931eedc31117faffa52e6a857e" dependencies = [ "arrayvec", "bit-set", @@ -1609,7 +1571,7 @@ dependencies = [ "rustc-hash", "spirv", "termcolor", - "thiserror", + "thiserror 1.0.69", "unicode-xid", ] @@ -1625,7 +1587,7 @@ dependencies = [ "ndk-sys 0.6.0+11769913", "num_enum", "raw-window-handle", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -1692,7 +1654,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -1979,7 +1941,7 @@ dependencies = [ "fontique", "hashbrown 0.15.2", "peniko", - "skrifa", + "skrifa 0.22.3", "swash", "tiny-skia", ] @@ -1992,10 +1954,11 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "peniko" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a648c93f502a0bef0a9cb47fa1335994958a2744667d3f82defe513f276741a" +checksum = "c7de2e49a1a6b7a55ec3ba866a423f46cd8f31472bfaabe42c68e144c27bc668" dependencies = [ + "color", "kurbo", "smallvec", ] @@ -2023,7 +1986,7 @@ checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -2115,9 +2078,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -2206,7 +2169,17 @@ checksum = "fb94d9ac780fdcf9b6b252253f7d8f221379b84bd3573131139b383df69f85e1" dependencies = [ "bytemuck", "core_maths", - "font-types", + "font-types 0.7.2", +] + +[[package]] +name = "read-fonts" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea267d65fcb21e813c5824611103d18a9d84754a718e3603f60740dce0e3515" +dependencies = [ + "bytemuck", + "font-types 0.8.2", ] [[package]] @@ -2294,22 +2267,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.210" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -2320,7 +2293,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -2363,7 +2336,17 @@ checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" dependencies = [ "bytemuck", "core_maths", - "read-fonts", + "read-fonts 0.22.3", +] + +[[package]] +name = "skrifa" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79589c6a7f90a81270b6d4ced5c5e8dc77d3064e920adb35315ed79e82fbbe61" +dependencies = [ + "bytemuck", + "read-fonts 0.25.1", ] [[package]] @@ -2404,7 +2387,7 @@ dependencies = [ "log", "memmap2", "rustix", - "thiserror", + "thiserror 1.0.69", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -2463,7 +2446,7 @@ version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2" dependencies = [ - "skrifa", + "skrifa 0.22.3", "yazi", "zeno", ] @@ -2474,26 +2457,15 @@ version = "0.1.0" dependencies = [ "image", "parley", - "skrifa", + "skrifa 0.22.3", "swash", ] [[package]] name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.79" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -2508,7 +2480,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -2535,22 +2507,42 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47" +dependencies = [ + "thiserror-impl 2.0.6", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -2595,7 +2587,7 @@ name = "tiny_skia_render" version = "0.1.0" dependencies = [ "parley", - "skrifa", + "skrifa 0.22.3", "tiny-skia", ] @@ -2645,7 +2637,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -2713,18 +2705,16 @@ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "vello" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc44dd4eb9af6a41551b9a82c93d068bd832693d6f78ab118ad19780d8e1202e" +source = "git+https://github.com/linebender/vello.git?rev=a71236c7c8da10a6eaad4602267663339620835a#a71236c7c8da10a6eaad4602267663339620835a" dependencies = [ "bytemuck", "futures-intrusive", "log", "peniko", "png", - "raw-window-handle", - "skrifa", + "skrifa 0.26.1", "static_assertions", - "thiserror", + "thiserror 2.0.6", "vello_encoding", "vello_shaders", "wgpu", @@ -2748,25 +2738,23 @@ dependencies = [ [[package]] name = "vello_encoding" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8110c14702a4e17f9200f6e3c4fe05dda5a22bf031ae4feafed4a61429f66fb2" +source = "git+https://github.com/linebender/vello.git?rev=a71236c7c8da10a6eaad4602267663339620835a#a71236c7c8da10a6eaad4602267663339620835a" dependencies = [ "bytemuck", "guillotiere", "peniko", - "skrifa", + "skrifa 0.26.1", "smallvec", ] [[package]] name = "vello_shaders" version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07cad02d6f29f2212a6ee382a8fec6f9977d0cceefacf07f8e361607ffe3988d" +source = "git+https://github.com/linebender/vello.git?rev=a71236c7c8da10a6eaad4602267663339620835a#a71236c7c8da10a6eaad4602267663339620835a" dependencies = [ "bytemuck", "naga", - "thiserror", + "thiserror 2.0.6", "vello_encoding", ] @@ -2794,9 +2782,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.93" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ "cfg-if", "once_cell", @@ -2805,36 +2793,36 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.93" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.43" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2842,22 +2830,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" [[package]] name = "wayland-backend" @@ -2970,9 +2958,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" dependencies = [ "js-sys", "wasm-bindgen", @@ -2996,9 +2984,9 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "22.1.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d1c4ba43f80542cf63a0a6ed3134629ae73e8ab51e4b765a67f3aa062eb433" +checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" dependencies = [ "arrayvec", "cfg_aliases 0.1.1", @@ -3021,9 +3009,9 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "22.1.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0348c840d1051b8e86c3bcd31206080c5e71e5933dabd79be1ce732b0b2f089a" +checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" dependencies = [ "arrayvec", "bit-vec", @@ -3039,16 +3027,16 @@ dependencies = [ "raw-window-handle", "rustc-hash", "smallvec", - "thiserror", + "thiserror 1.0.69", "wgpu-hal", "wgpu-types", ] [[package]] name = "wgpu-hal" -version = "22.0.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6bbf4b4de8b2a83c0401d9e5ae0080a2792055f25859a02bf9be97952bbed4f" +checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" dependencies = [ "android_system_properties", "arrayvec", @@ -3056,15 +3044,14 @@ dependencies = [ "bit-set", "bitflags 2.6.0", "block", + "bytemuck", "cfg_aliases 0.1.1", "core-graphics-types", - "d3d12", "glow", "glutin_wgl_sys", "gpu-alloc", "gpu-allocator", "gpu-descriptor", - "hassle-rs", "js-sys", "khronos-egl", "libc", @@ -3082,30 +3069,25 @@ dependencies = [ "renderdoc-sys", "rustc-hash", "smallvec", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", "web-sys", "wgpu-types", - "winapi", + "windows", + "windows-core", ] [[package]] name = "wgpu-types" -version = "22.0.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9d91f0e2c4b51434dfa6db77846f2793149d8e73f800fa2e41f52b8eac3c5d" +checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068" dependencies = [ "bitflags 2.6.0", "js-sys", "web-sys", ] -[[package]] -name = "widestring" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" - [[package]] name = "winapi" version = "0.3.9" @@ -3137,32 +3119,13 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-core 0.58.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ + "windows-core", "windows-targets 0.52.6", ] @@ -3187,7 +3150,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -3198,7 +3161,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -3600,7 +3563,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", "synstructure", ] @@ -3660,7 +3623,7 @@ checksum = "709ab20fc57cb22af85be7b360239563209258430bccf38d8b979c5a2ae3ecce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", "zbus-lockstep", "zbus_xml", "zvariant", @@ -3675,7 +3638,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn", "zvariant_utils", ] @@ -3727,7 +3690,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -3747,7 +3710,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", "synstructure", ] @@ -3770,7 +3733,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] [[package]] @@ -3810,7 +3773,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn", "zvariant_utils", ] @@ -3822,5 +3785,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn", ] diff --git a/Cargo.toml b/Cargo.toml index 9c2f2b5b..6af62f8a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ members = [ edition = "2021" # Keep in sync with RUST_MIN_VER in .github/workflows/ci.yml, with the relevant README.md files # and with the MSRV in the `Unreleased` section of CHANGELOG.md. -rust-version = "1.75" +rust-version = "1.82" license = "Apache-2.0 OR MIT" repository = "https://github.com/linebender/parley" @@ -82,7 +82,7 @@ bytemuck = { version = "1.20.0", default-features = false } fontique = { version = "0.2.0", default-features = false, path = "fontique" } hashbrown = "0.15.2" parley = { version = "0.2.0", default-features = false, path = "parley" } -peniko = { version = "0.2.0", default-features = false } +peniko = { version = "0.3.0", default-features = false } skrifa = { version = "0.22.3", default-features = false } read-fonts = { version = "0.22.3", default-features = false } swash = { version = "0.1.19", default-features = false } diff --git a/README.md b/README.md index 4bb69ea8..5e53c0e8 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ In the future, Parley will likely also implement text selection and text editing ## Minimum supported Rust Version (MSRV) -This version of Parley has been verified to compile with **Rust 1.75** and later. +This version of Parley has been verified to compile with **Rust 1.82** and later. Future versions of Parley might increase the Rust version requirement. It will not be treated as a breaking change and as such can even happen with small patch releases. diff --git a/examples/swash_render/src/main.rs b/examples/swash_render/src/main.rs index 52154ef5..b7cc2c12 100644 --- a/examples/swash_render/src/main.rs +++ b/examples/swash_render/src/main.rs @@ -4,8 +4,11 @@ //! A simple example that lays out some text using Parley, rasterises the glyph using Swash //! and and then renders it into a PNG using the `image` crate. -#![allow(clippy::cast_possible_truncation)] -#![allow(clippy::shadow_unrelated)] +#![expect( + clippy::cast_possible_truncation, + clippy::shadow_unrelated, + reason = "Deferred" +)] use image::codecs::png::PngEncoder; use image::{self, Pixel, Rgba, RgbaImage}; diff --git a/examples/tiny_skia_render/src/main.rs b/examples/tiny_skia_render/src/main.rs index 447422c9..fcfd4e51 100644 --- a/examples/tiny_skia_render/src/main.rs +++ b/examples/tiny_skia_render/src/main.rs @@ -7,8 +7,11 @@ //! Note: Emoji rendering is not currently implemented in this example. See the swash example //! if you need emoji rendering. -#![allow(clippy::cast_possible_truncation)] -#![allow(clippy::shadow_unrelated)] +#![expect( + clippy::cast_possible_truncation, + clippy::shadow_unrelated, + reason = "Deferred" +)] use parley::{ Alignment, FontContext, FontWeight, GenericFamily, GlyphRun, InlineBox, Layout, LayoutContext, diff --git a/examples/vello_editor/Cargo.toml b/examples/vello_editor/Cargo.toml index 65784c45..bf275f23 100644 --- a/examples/vello_editor/Cargo.toml +++ b/examples/vello_editor/Cargo.toml @@ -8,7 +8,8 @@ repository.workspace = true publish = false [dependencies] -vello = "0.3.0" +# vello = "0.3.0" +vello = { version = "0.3.0", git = "https://github.com/linebender/vello.git", rev = "a71236c7c8da10a6eaad4602267663339620835a" } anyhow = "1.0.89" pollster = "0.3.0" winit = "0.30.5" diff --git a/examples/vello_editor/src/main.rs b/examples/vello_editor/src/main.rs index 4e9e922d..f1ec9a8c 100644 --- a/examples/vello_editor/src/main.rs +++ b/examples/vello_editor/src/main.rs @@ -1,11 +1,16 @@ // Copyright 2024 the Parley Authors // SPDX-License-Identifier: Apache-2.0 OR MIT -#![allow(missing_debug_implementations)] -#![allow(missing_docs)] -#![allow(unreachable_pub)] -#![allow(clippy::cast_possible_truncation)] -#![allow(clippy::shadow_unrelated)] +#![allow(missing_docs, reason = "We have many as-yet undocumented items.")] +#![expect( + missing_debug_implementations, + unreachable_pub, + clippy::allow_attributes, + clippy::allow_attributes_without_reason, + clippy::cast_possible_truncation, + clippy::shadow_unrelated, + reason = "Deferred" +)] use accesskit::{Node, Role, Tree, TreeUpdate}; use anyhow::Result; @@ -303,7 +308,7 @@ impl ApplicationHandler for SimpleVelloApp<'_> { &self.scene, &surface_texture, &vello::RenderParams { - base_color: Color::rgb8(30, 30, 30), // Background color + base_color: Color::from_rgba8(30, 30, 30, 255), // Background color width, height, antialiasing_method: AaConfig::Area, diff --git a/examples/vello_editor/src/text.rs b/examples/vello_editor/src/text.rs index e3cf89b5..1bfe91c7 100644 --- a/examples/vello_editor/src/text.rs +++ b/examples/vello_editor/src/text.rs @@ -7,7 +7,8 @@ use parley::{editor::SplitString, layout::PositionedLayoutItem, GenericFamily, S use std::time::{Duration, Instant}; use vello::{ kurbo::{Affine, Line, Stroke}, - peniko::{Brush, Color, Fill}, + peniko::color::palette, + peniko::{Brush, Fill}, Scene, }; use winit::{ @@ -44,7 +45,7 @@ impl Editor { let styles = editor.edit_styles(); styles.insert(StyleProperty::LineHeight(1.2)); styles.insert(GenericFamily::SystemUi.into()); - styles.insert(StyleProperty::Brush(Color::WHITE.into())); + styles.insert(StyleProperty::Brush(palette::css::WHITE.into())); Self { font_cx: Default::default(), layout_cx: Default::default(), @@ -357,11 +358,17 @@ impl Editor { pub fn draw(&mut self, scene: &mut Scene) -> Generation { let transform = Affine::translate((INSET as f64, INSET as f64)); for rect in self.editor.selection_geometry().iter() { - scene.fill(Fill::NonZero, transform, Color::STEEL_BLUE, None, &rect); + scene.fill( + Fill::NonZero, + transform, + palette::css::STEEL_BLUE, + None, + &rect, + ); } if self.cursor_visible { if let Some(cursor) = self.editor.cursor_geometry(1.5) { - scene.fill(Fill::NonZero, transform, Color::WHITE, None, &cursor); + scene.fill(Fill::NonZero, transform, palette::css::WHITE, None, &cursor); }; } let layout = self.editor.layout(&mut self.font_cx, &mut self.layout_cx); diff --git a/fontique/README.md b/fontique/README.md index 6d60ec17..fece6302 100644 --- a/fontique/README.md +++ b/fontique/README.md @@ -16,7 +16,7 @@ Fontique provides font enumeration and fallback. ## Minimum supported Rust Version (MSRV) -This version of Fontique has been verified to compile with **Rust 1.75** and later. +This version of Fontique has been verified to compile with **Rust 1.82** and later. Future versions of Fontique might increase the Rust version requirement. It will not be treated as a breaking change and as such can even happen with small patch releases. diff --git a/fontique/src/lib.rs b/fontique/src/lib.rs index 95bb844d..6ac40068 100644 --- a/fontique/src/lib.rs +++ b/fontique/src/lib.rs @@ -12,14 +12,18 @@ // END LINEBENDER LINT SET #![cfg_attr(docsrs, feature(doc_auto_cfg))] #![cfg_attr(not(feature = "std"), no_std)] -#![allow(missing_debug_implementations)] -#![allow(missing_docs)] -#![allow(single_use_lifetimes)] -#![allow(unnameable_types)] -#![allow(unreachable_pub)] -#![allow(clippy::cast_possible_truncation)] -#![allow(clippy::exhaustive_enums)] -#![allow(clippy::shadow_unrelated)] +#![allow(missing_docs, reason = "We have many as-yet undocumented items.")] +#![expect( + missing_debug_implementations, + unnameable_types, + unreachable_pub, + clippy::allow_attributes, + clippy::allow_attributes_without_reason, + clippy::cast_possible_truncation, + clippy::exhaustive_enums, + clippy::shadow_unrelated, + reason = "Deferred" +)] #[cfg(not(any(feature = "std", feature = "libm")))] compile_error!("fontique requires either the `std` or `libm` feature to be enabled"); diff --git a/parley/README.md b/parley/README.md index 3d79ec23..81a32eed 100644 --- a/parley/README.md +++ b/parley/README.md @@ -17,7 +17,7 @@ It is backed by [Swash](https://github.com/dfrg/swash). ## Minimum supported Rust Version (MSRV) -This version of Parley has been verified to compile with **Rust 1.75** and later. +This version of Parley has been verified to compile with **Rust 1.82** and later. Future versions of Parley might increase the Rust version requirement. It will not be treated as a breaking change and as such can even happen with small patch releases. diff --git a/parley/src/lib.rs b/parley/src/lib.rs index 5d9a5e35..0ba0d972 100644 --- a/parley/src/lib.rs +++ b/parley/src/lib.rs @@ -81,15 +81,20 @@ // END LINEBENDER LINT SET #![cfg_attr(docsrs, feature(doc_auto_cfg))] #![cfg_attr(not(feature = "std"), no_std)] -#![allow(missing_debug_implementations)] -#![allow(missing_docs)] -#![allow(single_use_lifetimes)] -#![allow(unnameable_types)] -#![allow(clippy::cast_possible_truncation)] -#![allow(clippy::exhaustive_enums)] -#![allow(clippy::missing_assert_message)] -#![allow(clippy::missing_panics_doc)] -#![allow(clippy::shadow_unrelated)] +#![allow(missing_docs, reason = "We have many as-yet undocumented items.")] +#![expect( + missing_debug_implementations, + single_use_lifetimes, + unnameable_types, + clippy::allow_attributes, + clippy::allow_attributes_without_reason, + clippy::cast_possible_truncation, + clippy::exhaustive_enums, + clippy::missing_assert_message, + clippy::missing_panics_doc, + clippy::shadow_unrelated, + reason = "Deferred" +)] #[cfg(not(any(feature = "std", feature = "libm")))] compile_error!("parley requires either the `std` or `libm` feature to be enabled");