diff options
| author | salmonik <raisersoft@proton.me> | 2026-07-11 01:46:59 +0200 |
|---|---|---|
| committer | salmonik <raisersoft@proton.me> | 2026-07-11 01:46:59 +0200 |
| commit | 247d2805db0c1b686ef4c6cc0f786ff416aeb7e3 (patch) | |
| tree | b6dae4a848df5ae75c4d1bc8e73bad7c63d17575 | |
| download | xkbpreview-247d2805db0c1b686ef4c6cc0f786ff416aeb7e3.tar.gz xkbpreview-247d2805db0c1b686ef4c6cc0f786ff416aeb7e3.zip | |
init
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | Cargo.lock | 4463 | ||||
| -rw-r--r-- | Cargo.toml | 9 | ||||
| -rw-r--r-- | src/keymap.rs | 253 | ||||
| -rw-r--r-- | src/layout.rs | 171 | ||||
| -rw-r--r-- | src/main.rs | 136 | ||||
| -rw-r--r-- | src/ui.rs | 221 | ||||
| -rw-r--r-- | src/x11.rs | 92 |
8 files changed, 5347 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1998c4a --- /dev/null +++ b/.gitignore | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | /target | ||
| 2 | /.zed | ||
diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..65a0714 --- /dev/null +++ b/Cargo.lock | |||
| @@ -0,0 +1,4463 @@ | |||
| 1 | # This file is automatically @generated by Cargo. | ||
| 2 | # It is not intended for manual editing. | ||
| 3 | version = 4 | ||
| 4 | |||
| 5 | [[package]] | ||
| 6 | name = "ab_glyph" | ||
| 7 | version = "0.2.32" | ||
| 8 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 9 | checksum = "01c0457472c38ea5bd1c3b5ada5e368271cb550be7a4ca4a0b4634e9913f6cc2" | ||
| 10 | dependencies = [ | ||
| 11 | "ab_glyph_rasterizer", | ||
| 12 | "owned_ttf_parser", | ||
| 13 | ] | ||
| 14 | |||
| 15 | [[package]] | ||
| 16 | name = "ab_glyph_rasterizer" | ||
| 17 | version = "0.1.10" | ||
| 18 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 19 | checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" | ||
| 20 | |||
| 21 | [[package]] | ||
| 22 | name = "accesskit" | ||
| 23 | version = "0.24.0" | ||
| 24 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 25 | checksum = "5351dcebb14b579ccab05f288596b2ae097005be7ee50a7c3d4ca9d0d5a66f6a" | ||
| 26 | dependencies = [ | ||
| 27 | "uuid", | ||
| 28 | ] | ||
| 29 | |||
| 30 | [[package]] | ||
| 31 | name = "accesskit_atspi_common" | ||
| 32 | version = "0.18.1" | ||
| 33 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 34 | checksum = "1e8c61bee90b42a772d39d06a740207dc71a4e780004ace1db8d99fb1baaa954" | ||
| 35 | dependencies = [ | ||
| 36 | "accesskit", | ||
| 37 | "accesskit_consumer 0.36.0", | ||
| 38 | "atspi-common", | ||
| 39 | "phf", | ||
| 40 | "serde", | ||
| 41 | "zvariant", | ||
| 42 | ] | ||
| 43 | |||
| 44 | [[package]] | ||
| 45 | name = "accesskit_consumer" | ||
| 46 | version = "0.35.0" | ||
| 47 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 48 | checksum = "53cf47daed85312e763fbf85ceca136e0d7abc68e0a7e12abe11f48172bc3b10" | ||
| 49 | dependencies = [ | ||
| 50 | "accesskit", | ||
| 51 | "hashbrown 0.16.1", | ||
| 52 | ] | ||
| 53 | |||
| 54 | [[package]] | ||
| 55 | name = "accesskit_consumer" | ||
| 56 | version = "0.36.0" | ||
| 57 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 58 | checksum = "25e0d7e25d06f4dc21d1774d67146e9e80d6789216cbd4d1e88185b0095dba60" | ||
| 59 | dependencies = [ | ||
| 60 | "accesskit", | ||
| 61 | "hashbrown 0.16.1", | ||
| 62 | ] | ||
| 63 | |||
| 64 | [[package]] | ||
| 65 | name = "accesskit_macos" | ||
| 66 | version = "0.26.1" | ||
| 67 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 68 | checksum = "4c5c87e8d94f2ec10cce590aadff24c76f576dab5502d45d0aed9fc3065d4451" | ||
| 69 | dependencies = [ | ||
| 70 | "accesskit", | ||
| 71 | "accesskit_consumer 0.36.0", | ||
| 72 | "hashbrown 0.16.1", | ||
| 73 | "objc2 0.5.2", | ||
| 74 | "objc2-app-kit 0.2.2", | ||
| 75 | "objc2-foundation 0.2.2", | ||
| 76 | ] | ||
| 77 | |||
| 78 | [[package]] | ||
| 79 | name = "accesskit_unix" | ||
| 80 | version = "0.21.1" | ||
| 81 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 82 | checksum = "b016ca8db0ea0ea2ceff29a9d6240391492d960716aa471967c00e8cc8cb197c" | ||
| 83 | dependencies = [ | ||
| 84 | "accesskit", | ||
| 85 | "accesskit_atspi_common", | ||
| 86 | "async-channel", | ||
| 87 | "async-executor", | ||
| 88 | "async-task", | ||
| 89 | "atspi", | ||
| 90 | "futures-lite", | ||
| 91 | "futures-util", | ||
| 92 | "serde", | ||
| 93 | "zbus", | ||
| 94 | ] | ||
| 95 | |||
| 96 | [[package]] | ||
| 97 | name = "accesskit_windows" | ||
| 98 | version = "0.32.1" | ||
| 99 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 100 | checksum = "eff7009f1a532e917d66970a1e80c965140c6cfbbabbdde3d64e5431e6c78e21" | ||
| 101 | dependencies = [ | ||
| 102 | "accesskit", | ||
| 103 | "accesskit_consumer 0.35.0", | ||
| 104 | "hashbrown 0.16.1", | ||
| 105 | "static_assertions", | ||
| 106 | "windows", | ||
| 107 | "windows-core", | ||
| 108 | ] | ||
| 109 | |||
| 110 | [[package]] | ||
| 111 | name = "accesskit_winit" | ||
| 112 | version = "0.32.2" | ||
| 113 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 114 | checksum = "1fe9a94394896352cc4660ca2288bd4ef883d83238853c038b44070c8f134313" | ||
| 115 | dependencies = [ | ||
| 116 | "accesskit", | ||
| 117 | "accesskit_macos", | ||
| 118 | "accesskit_unix", | ||
| 119 | "accesskit_windows", | ||
| 120 | "raw-window-handle", | ||
| 121 | "winit", | ||
| 122 | ] | ||
| 123 | |||
| 124 | [[package]] | ||
| 125 | name = "adler2" | ||
| 126 | version = "2.0.1" | ||
| 127 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 128 | checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" | ||
| 129 | |||
| 130 | [[package]] | ||
| 131 | name = "ahash" | ||
| 132 | version = "0.8.12" | ||
| 133 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 134 | checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" | ||
| 135 | dependencies = [ | ||
| 136 | "cfg-if", | ||
| 137 | "getrandom 0.3.4", | ||
| 138 | "once_cell", | ||
| 139 | "version_check", | ||
| 140 | "zerocopy", | ||
| 141 | ] | ||
| 142 | |||
| 143 | [[package]] | ||
| 144 | name = "allocator-api2" | ||
| 145 | version = "0.2.21" | ||
| 146 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 147 | checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" | ||
| 148 | |||
| 149 | [[package]] | ||
| 150 | name = "android-activity" | ||
| 151 | version = "0.6.1" | ||
| 152 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 153 | checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" | ||
| 154 | dependencies = [ | ||
| 155 | "android-properties", | ||
| 156 | "bitflags 2.11.1", | ||
| 157 | "cc", | ||
| 158 | "jni", | ||
| 159 | "libc", | ||
| 160 | "log", | ||
| 161 | "ndk", | ||
| 162 | "ndk-context", | ||
| 163 | "ndk-sys", | ||
| 164 | "num_enum", | ||
| 165 | "thiserror 2.0.18", | ||
| 166 | ] | ||
| 167 | |||
| 168 | [[package]] | ||
| 169 | name = "android-properties" | ||
| 170 | version = "0.2.2" | ||
| 171 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 172 | checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" | ||
| 173 | |||
| 174 | [[package]] | ||
| 175 | name = "android_system_properties" | ||
| 176 | version = "0.1.5" | ||
| 177 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 178 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" | ||
| 179 | dependencies = [ | ||
| 180 | "libc", | ||
| 181 | ] | ||
| 182 | |||
| 183 | [[package]] | ||
| 184 | name = "anyhow" | ||
| 185 | version = "1.0.102" | ||
| 186 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 187 | checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" | ||
| 188 | |||
| 189 | [[package]] | ||
| 190 | name = "arboard" | ||
| 191 | version = "3.6.1" | ||
| 192 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 193 | checksum = "0348a1c054491f4bfe6ab86a7b6ab1e44e45d899005de92f58b3df180b36ddaf" | ||
| 194 | dependencies = [ | ||
| 195 | "clipboard-win", | ||
| 196 | "image", | ||
| 197 | "log", | ||
| 198 | "objc2 0.6.4", | ||
| 199 | "objc2-app-kit 0.3.2", | ||
| 200 | "objc2-core-foundation", | ||
| 201 | "objc2-core-graphics", | ||
| 202 | "objc2-foundation 0.3.2", | ||
| 203 | "parking_lot", | ||
| 204 | "percent-encoding", | ||
| 205 | "windows-sys 0.60.2", | ||
| 206 | "x11rb", | ||
| 207 | ] | ||
| 208 | |||
| 209 | [[package]] | ||
| 210 | name = "arrayref" | ||
| 211 | version = "0.3.9" | ||
| 212 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 213 | checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" | ||
| 214 | |||
| 215 | [[package]] | ||
| 216 | name = "arrayvec" | ||
| 217 | version = "0.7.6" | ||
| 218 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 219 | checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" | ||
| 220 | |||
| 221 | [[package]] | ||
| 222 | name = "as-raw-xcb-connection" | ||
| 223 | version = "1.0.1" | ||
| 224 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 225 | checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" | ||
| 226 | |||
| 227 | [[package]] | ||
| 228 | name = "ash" | ||
| 229 | version = "0.38.0+1.3.281" | ||
| 230 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 231 | checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" | ||
| 232 | dependencies = [ | ||
| 233 | "libloading", | ||
| 234 | ] | ||
| 235 | |||
| 236 | [[package]] | ||
| 237 | name = "async-broadcast" | ||
| 238 | version = "0.7.2" | ||
| 239 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 240 | checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" | ||
| 241 | dependencies = [ | ||
| 242 | "event-listener", | ||
| 243 | "event-listener-strategy", | ||
| 244 | "futures-core", | ||
| 245 | "pin-project-lite", | ||
| 246 | ] | ||
| 247 | |||
| 248 | [[package]] | ||
| 249 | name = "async-channel" | ||
| 250 | version = "2.5.0" | ||
| 251 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 252 | checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" | ||
| 253 | dependencies = [ | ||
| 254 | "concurrent-queue", | ||
| 255 | "event-listener-strategy", | ||
| 256 | "futures-core", | ||
| 257 | "pin-project-lite", | ||
| 258 | ] | ||
| 259 | |||
| 260 | [[package]] | ||
| 261 | name = "async-executor" | ||
| 262 | version = "1.14.0" | ||
| 263 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 264 | checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" | ||
| 265 | dependencies = [ | ||
| 266 | "async-task", | ||
| 267 | "concurrent-queue", | ||
| 268 | "fastrand", | ||
| 269 | "futures-lite", | ||
| 270 | "pin-project-lite", | ||
| 271 | "slab", | ||
| 272 | ] | ||
| 273 | |||
| 274 | [[package]] | ||
| 275 | name = "async-io" | ||
| 276 | version = "2.6.0" | ||
| 277 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 278 | checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" | ||
| 279 | dependencies = [ | ||
| 280 | "autocfg", | ||
| 281 | "cfg-if", | ||
| 282 | "concurrent-queue", | ||
| 283 | "futures-io", | ||
| 284 | "futures-lite", | ||
| 285 | "parking", | ||
| 286 | "polling", | ||
| 287 | "rustix 1.1.4", | ||
| 288 | "slab", | ||
| 289 | "windows-sys 0.61.2", | ||
| 290 | ] | ||
| 291 | |||
| 292 | [[package]] | ||
| 293 | name = "async-lock" | ||
| 294 | version = "3.4.2" | ||
| 295 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 296 | checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" | ||
| 297 | dependencies = [ | ||
| 298 | "event-listener", | ||
| 299 | "event-listener-strategy", | ||
| 300 | "pin-project-lite", | ||
| 301 | ] | ||
| 302 | |||
| 303 | [[package]] | ||
| 304 | name = "async-process" | ||
| 305 | version = "2.5.0" | ||
| 306 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 307 | checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" | ||
| 308 | dependencies = [ | ||
| 309 | "async-channel", | ||
| 310 | "async-io", | ||
| 311 | "async-lock", | ||
| 312 | "async-signal", | ||
| 313 | "async-task", | ||
| 314 | "blocking", | ||
| 315 | "cfg-if", | ||
| 316 | "event-listener", | ||
| 317 | "futures-lite", | ||
| 318 | "rustix 1.1.4", | ||
| 319 | ] | ||
| 320 | |||
| 321 | [[package]] | ||
| 322 | name = "async-recursion" | ||
| 323 | version = "1.1.1" | ||
| 324 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 325 | checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" | ||
| 326 | dependencies = [ | ||
| 327 | "proc-macro2", | ||
| 328 | "quote", | ||
| 329 | "syn", | ||
| 330 | ] | ||
| 331 | |||
| 332 | [[package]] | ||
| 333 | name = "async-signal" | ||
| 334 | version = "0.2.14" | ||
| 335 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 336 | checksum = "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485" | ||
| 337 | dependencies = [ | ||
| 338 | "async-io", | ||
| 339 | "async-lock", | ||
| 340 | "atomic-waker", | ||
| 341 | "cfg-if", | ||
| 342 | "futures-core", | ||
| 343 | "futures-io", | ||
| 344 | "rustix 1.1.4", | ||
| 345 | "signal-hook-registry", | ||
| 346 | "slab", | ||
| 347 | "windows-sys 0.61.2", | ||
| 348 | ] | ||
| 349 | |||
| 350 | [[package]] | ||
| 351 | name = "async-task" | ||
| 352 | version = "4.7.1" | ||
| 353 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 354 | checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" | ||
| 355 | |||
| 356 | [[package]] | ||
| 357 | name = "async-trait" | ||
| 358 | version = "0.1.89" | ||
| 359 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 360 | checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" | ||
| 361 | dependencies = [ | ||
| 362 | "proc-macro2", | ||
| 363 | "quote", | ||
| 364 | "syn", | ||
| 365 | ] | ||
| 366 | |||
| 367 | [[package]] | ||
| 368 | name = "atomic-waker" | ||
| 369 | version = "1.1.2" | ||
| 370 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 371 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" | ||
| 372 | |||
| 373 | [[package]] | ||
| 374 | name = "atspi" | ||
| 375 | version = "0.29.0" | ||
| 376 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 377 | checksum = "c77886257be21c9cd89a4ae7e64860c6f0eefca799bb79127913052bd0eefb3d" | ||
| 378 | dependencies = [ | ||
| 379 | "atspi-common", | ||
| 380 | "atspi-proxies", | ||
| 381 | ] | ||
| 382 | |||
| 383 | [[package]] | ||
| 384 | name = "atspi-common" | ||
| 385 | version = "0.13.0" | ||
| 386 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 387 | checksum = "20c5617155740c98003016429ad13fe43ce7a77b007479350a9f8bf95a29f63d" | ||
| 388 | dependencies = [ | ||
| 389 | "enumflags2", | ||
| 390 | "serde", | ||
| 391 | "static_assertions", | ||
| 392 | "zbus", | ||
| 393 | "zbus-lockstep", | ||
| 394 | "zbus-lockstep-macros", | ||
| 395 | "zbus_names", | ||
| 396 | "zvariant", | ||
| 397 | ] | ||
| 398 | |||
| 399 | [[package]] | ||
| 400 | name = "atspi-proxies" | ||
| 401 | version = "0.13.0" | ||
| 402 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 403 | checksum = "2230e48787ed3eb4088996eab66a32ca20c0b67bbd4fd6cdfe79f04f1f04c9fc" | ||
| 404 | dependencies = [ | ||
| 405 | "atspi-common", | ||
| 406 | "serde", | ||
| 407 | "zbus", | ||
| 408 | ] | ||
| 409 | |||
| 410 | [[package]] | ||
| 411 | name = "autocfg" | ||
| 412 | version = "1.5.1" | ||
| 413 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 414 | checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" | ||
| 415 | |||
| 416 | [[package]] | ||
| 417 | name = "bit-set" | ||
| 418 | version = "0.9.1" | ||
| 419 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 420 | checksum = "34ddef2995421ab6a5c779542c81ee77c115206f4ad9d5a8e05f4ff49716a3dd" | ||
| 421 | dependencies = [ | ||
| 422 | "bit-vec", | ||
| 423 | ] | ||
| 424 | |||
| 425 | [[package]] | ||
| 426 | name = "bit-vec" | ||
| 427 | version = "0.9.1" | ||
| 428 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 429 | checksum = "b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51" | ||
| 430 | |||
| 431 | [[package]] | ||
| 432 | name = "bitflags" | ||
| 433 | version = "1.3.2" | ||
| 434 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 435 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" | ||
| 436 | |||
| 437 | [[package]] | ||
| 438 | name = "bitflags" | ||
| 439 | version = "2.11.1" | ||
| 440 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 441 | checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" | ||
| 442 | |||
| 443 | [[package]] | ||
| 444 | name = "block2" | ||
| 445 | version = "0.5.1" | ||
| 446 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 447 | checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" | ||
| 448 | dependencies = [ | ||
| 449 | "objc2 0.5.2", | ||
| 450 | ] | ||
| 451 | |||
| 452 | [[package]] | ||
| 453 | name = "block2" | ||
| 454 | version = "0.6.2" | ||
| 455 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 456 | checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" | ||
| 457 | dependencies = [ | ||
| 458 | "objc2 0.6.4", | ||
| 459 | ] | ||
| 460 | |||
| 461 | [[package]] | ||
| 462 | name = "blocking" | ||
| 463 | version = "1.6.2" | ||
| 464 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 465 | checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" | ||
| 466 | dependencies = [ | ||
| 467 | "async-channel", | ||
| 468 | "async-task", | ||
| 469 | "futures-io", | ||
| 470 | "futures-lite", | ||
| 471 | "piper", | ||
| 472 | ] | ||
| 473 | |||
| 474 | [[package]] | ||
| 475 | name = "bumpalo" | ||
| 476 | version = "3.20.3" | ||
| 477 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 478 | checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" | ||
| 479 | |||
| 480 | [[package]] | ||
| 481 | name = "bytemuck" | ||
| 482 | version = "1.25.0" | ||
| 483 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 484 | checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" | ||
| 485 | dependencies = [ | ||
| 486 | "bytemuck_derive", | ||
| 487 | ] | ||
| 488 | |||
| 489 | [[package]] | ||
| 490 | name = "bytemuck_derive" | ||
| 491 | version = "1.10.2" | ||
| 492 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 493 | checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" | ||
| 494 | dependencies = [ | ||
| 495 | "proc-macro2", | ||
| 496 | "quote", | ||
| 497 | "syn", | ||
| 498 | ] | ||
| 499 | |||
| 500 | [[package]] | ||
| 501 | name = "byteorder-lite" | ||
| 502 | version = "0.1.0" | ||
| 503 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 504 | checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" | ||
| 505 | |||
| 506 | [[package]] | ||
| 507 | name = "bytes" | ||
| 508 | version = "1.11.1" | ||
| 509 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 510 | checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" | ||
| 511 | |||
| 512 | [[package]] | ||
| 513 | name = "calloop" | ||
| 514 | version = "0.13.0" | ||
| 515 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 516 | checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" | ||
| 517 | dependencies = [ | ||
| 518 | "bitflags 2.11.1", | ||
| 519 | "log", | ||
| 520 | "polling", | ||
| 521 | "rustix 0.38.44", | ||
| 522 | "slab", | ||
| 523 | "thiserror 1.0.69", | ||
| 524 | ] | ||
| 525 | |||
| 526 | [[package]] | ||
| 527 | name = "calloop" | ||
| 528 | version = "0.14.4" | ||
| 529 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 530 | checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7" | ||
| 531 | dependencies = [ | ||
| 532 | "bitflags 2.11.1", | ||
| 533 | "polling", | ||
| 534 | "rustix 1.1.4", | ||
| 535 | "slab", | ||
| 536 | "tracing", | ||
| 537 | ] | ||
| 538 | |||
| 539 | [[package]] | ||
| 540 | name = "calloop-wayland-source" | ||
| 541 | version = "0.3.0" | ||
| 542 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 543 | checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" | ||
| 544 | dependencies = [ | ||
| 545 | "calloop 0.13.0", | ||
| 546 | "rustix 0.38.44", | ||
| 547 | "wayland-backend", | ||
| 548 | "wayland-client", | ||
| 549 | ] | ||
| 550 | |||
| 551 | [[package]] | ||
| 552 | name = "calloop-wayland-source" | ||
| 553 | version = "0.4.1" | ||
| 554 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 555 | checksum = "138efcf0940a02ebf0cc8d1eff41a1682a46b431630f4c52450d6265876021fa" | ||
| 556 | dependencies = [ | ||
| 557 | "calloop 0.14.4", | ||
| 558 | "rustix 1.1.4", | ||
| 559 | "wayland-backend", | ||
| 560 | "wayland-client", | ||
| 561 | ] | ||
| 562 | |||
| 563 | [[package]] | ||
| 564 | name = "cc" | ||
| 565 | version = "1.2.62" | ||
| 566 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 567 | checksum = "a1dce859f0832a7d088c4f1119888ab94ef4b5d6795d1ce05afb7fe159d79f98" | ||
| 568 | dependencies = [ | ||
| 569 | "find-msvc-tools", | ||
| 570 | "jobserver", | ||
| 571 | "libc", | ||
| 572 | "shlex", | ||
| 573 | ] | ||
| 574 | |||
| 575 | [[package]] | ||
| 576 | name = "cfg-if" | ||
| 577 | version = "1.0.4" | ||
| 578 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 579 | checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" | ||
| 580 | |||
| 581 | [[package]] | ||
| 582 | name = "cfg_aliases" | ||
| 583 | version = "0.2.1" | ||
| 584 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 585 | checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" | ||
| 586 | |||
| 587 | [[package]] | ||
| 588 | name = "cgl" | ||
| 589 | version = "0.3.2" | ||
| 590 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 591 | checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" | ||
| 592 | dependencies = [ | ||
| 593 | "libc", | ||
| 594 | ] | ||
| 595 | |||
| 596 | [[package]] | ||
| 597 | name = "clipboard-win" | ||
| 598 | version = "5.4.1" | ||
| 599 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 600 | checksum = "bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4" | ||
| 601 | dependencies = [ | ||
| 602 | "error-code", | ||
| 603 | ] | ||
| 604 | |||
| 605 | [[package]] | ||
| 606 | name = "codespan-reporting" | ||
| 607 | version = "0.13.1" | ||
| 608 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 609 | checksum = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681" | ||
| 610 | dependencies = [ | ||
| 611 | "serde", | ||
| 612 | "termcolor", | ||
| 613 | "unicode-width", | ||
| 614 | ] | ||
| 615 | |||
| 616 | [[package]] | ||
| 617 | name = "color" | ||
| 618 | version = "0.3.3" | ||
| 619 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 620 | checksum = "2ec7c5eb7a16992b1904d76c517d170ab353b0e0b3d5a0c81a8a0cd1037893cf" | ||
| 621 | dependencies = [ | ||
| 622 | "bytemuck", | ||
| 623 | ] | ||
| 624 | |||
| 625 | [[package]] | ||
| 626 | name = "combine" | ||
| 627 | version = "4.6.7" | ||
| 628 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 629 | checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" | ||
| 630 | dependencies = [ | ||
| 631 | "bytes", | ||
| 632 | "memchr", | ||
| 633 | ] | ||
| 634 | |||
| 635 | [[package]] | ||
| 636 | name = "concurrent-queue" | ||
| 637 | version = "2.5.0" | ||
| 638 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 639 | checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" | ||
| 640 | dependencies = [ | ||
| 641 | "crossbeam-utils", | ||
| 642 | ] | ||
| 643 | |||
| 644 | [[package]] | ||
| 645 | name = "core-foundation" | ||
| 646 | version = "0.9.4" | ||
| 647 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 648 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" | ||
| 649 | dependencies = [ | ||
| 650 | "core-foundation-sys", | ||
| 651 | "libc", | ||
| 652 | ] | ||
| 653 | |||
| 654 | [[package]] | ||
| 655 | name = "core-foundation" | ||
| 656 | version = "0.10.1" | ||
| 657 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 658 | checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" | ||
| 659 | dependencies = [ | ||
| 660 | "core-foundation-sys", | ||
| 661 | "libc", | ||
| 662 | ] | ||
| 663 | |||
| 664 | [[package]] | ||
| 665 | name = "core-foundation-sys" | ||
| 666 | version = "0.8.7" | ||
| 667 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 668 | checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" | ||
| 669 | |||
| 670 | [[package]] | ||
| 671 | name = "core-graphics" | ||
| 672 | version = "0.23.2" | ||
| 673 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 674 | checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" | ||
| 675 | dependencies = [ | ||
| 676 | "bitflags 1.3.2", | ||
| 677 | "core-foundation 0.9.4", | ||
| 678 | "core-graphics-types", | ||
| 679 | "foreign-types", | ||
| 680 | "libc", | ||
| 681 | ] | ||
| 682 | |||
| 683 | [[package]] | ||
| 684 | name = "core-graphics-types" | ||
| 685 | version = "0.1.3" | ||
| 686 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 687 | checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" | ||
| 688 | dependencies = [ | ||
| 689 | "bitflags 1.3.2", | ||
| 690 | "core-foundation 0.9.4", | ||
| 691 | "libc", | ||
| 692 | ] | ||
| 693 | |||
| 694 | [[package]] | ||
| 695 | name = "crc32fast" | ||
| 696 | version = "1.5.0" | ||
| 697 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 698 | checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" | ||
| 699 | dependencies = [ | ||
| 700 | "cfg-if", | ||
| 701 | ] | ||
| 702 | |||
| 703 | [[package]] | ||
| 704 | name = "crossbeam-utils" | ||
| 705 | version = "0.8.21" | ||
| 706 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 707 | checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" | ||
| 708 | |||
| 709 | [[package]] | ||
| 710 | name = "crunchy" | ||
| 711 | version = "0.2.4" | ||
| 712 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 713 | checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" | ||
| 714 | |||
| 715 | [[package]] | ||
| 716 | name = "cursor-icon" | ||
| 717 | version = "1.2.0" | ||
| 718 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 719 | checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" | ||
| 720 | |||
| 721 | [[package]] | ||
| 722 | name = "dispatch" | ||
| 723 | version = "0.2.0" | ||
| 724 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 725 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" | ||
| 726 | |||
| 727 | [[package]] | ||
| 728 | name = "dispatch2" | ||
| 729 | version = "0.3.1" | ||
| 730 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 731 | checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" | ||
| 732 | dependencies = [ | ||
| 733 | "bitflags 2.11.1", | ||
| 734 | "objc2 0.6.4", | ||
| 735 | ] | ||
| 736 | |||
| 737 | [[package]] | ||
| 738 | name = "displaydoc" | ||
| 739 | version = "0.2.5" | ||
| 740 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 741 | checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" | ||
| 742 | dependencies = [ | ||
| 743 | "proc-macro2", | ||
| 744 | "quote", | ||
| 745 | "syn", | ||
| 746 | ] | ||
| 747 | |||
| 748 | [[package]] | ||
| 749 | name = "dlib" | ||
| 750 | version = "0.5.3" | ||
| 751 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 752 | checksum = "ab8ecd87370524b461f8557c119c405552c396ed91fc0a8eec68679eab26f94a" | ||
| 753 | dependencies = [ | ||
| 754 | "libloading", | ||
| 755 | ] | ||
| 756 | |||
| 757 | [[package]] | ||
| 758 | name = "document-features" | ||
| 759 | version = "0.2.12" | ||
| 760 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 761 | checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" | ||
| 762 | dependencies = [ | ||
| 763 | "litrs", | ||
| 764 | ] | ||
| 765 | |||
| 766 | [[package]] | ||
| 767 | name = "downcast-rs" | ||
| 768 | version = "1.2.1" | ||
| 769 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 770 | checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" | ||
| 771 | |||
| 772 | [[package]] | ||
| 773 | name = "dpi" | ||
| 774 | version = "0.1.2" | ||
| 775 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 776 | checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" | ||
| 777 | |||
| 778 | [[package]] | ||
| 779 | name = "ecolor" | ||
| 780 | version = "0.34.2" | ||
| 781 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 782 | checksum = "55f6cc0cb3b84a21232c468db972ebcddd34decbf1ff02cdebffd807c13bbd81" | ||
| 783 | dependencies = [ | ||
| 784 | "bytemuck", | ||
| 785 | "emath", | ||
| 786 | ] | ||
| 787 | |||
| 788 | [[package]] | ||
| 789 | name = "eframe" | ||
| 790 | version = "0.34.2" | ||
| 791 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 792 | checksum = "fea3080bfd001aee2223dcb2228d9de7d31f41d7cfb99e8cd70df3ae8083a42f" | ||
| 793 | dependencies = [ | ||
| 794 | "ahash", | ||
| 795 | "bytemuck", | ||
| 796 | "document-features", | ||
| 797 | "egui", | ||
| 798 | "egui-wgpu", | ||
| 799 | "egui-winit", | ||
| 800 | "egui_glow", | ||
| 801 | "glutin", | ||
| 802 | "glutin-winit", | ||
| 803 | "image", | ||
| 804 | "js-sys", | ||
| 805 | "log", | ||
| 806 | "objc2 0.6.4", | ||
| 807 | "objc2-app-kit 0.3.2", | ||
| 808 | "objc2-foundation 0.3.2", | ||
| 809 | "parking_lot", | ||
| 810 | "percent-encoding", | ||
| 811 | "pollster", | ||
| 812 | "profiling", | ||
| 813 | "raw-window-handle", | ||
| 814 | "static_assertions", | ||
| 815 | "wasm-bindgen", | ||
| 816 | "wasm-bindgen-futures", | ||
| 817 | "web-sys", | ||
| 818 | "web-time", | ||
| 819 | "wgpu", | ||
| 820 | "windows-sys 0.61.2", | ||
| 821 | "winit", | ||
| 822 | ] | ||
| 823 | |||
| 824 | [[package]] | ||
| 825 | name = "egui" | ||
| 826 | version = "0.34.2" | ||
| 827 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 828 | checksum = "3cbe28ac1a9c0761319aafb9ad37737720cc49d99c13a4a6b990768fa01ffe67" | ||
| 829 | dependencies = [ | ||
| 830 | "accesskit", | ||
| 831 | "ahash", | ||
| 832 | "bitflags 2.11.1", | ||
| 833 | "emath", | ||
| 834 | "epaint", | ||
| 835 | "log", | ||
| 836 | "nohash-hasher", | ||
| 837 | "profiling", | ||
| 838 | "smallvec", | ||
| 839 | "unicode-segmentation", | ||
| 840 | ] | ||
| 841 | |||
| 842 | [[package]] | ||
| 843 | name = "egui-wgpu" | ||
| 844 | version = "0.34.2" | ||
| 845 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 846 | checksum = "2f311c0b9cdd8a38821ae6f245fbe6e1a3d7d157c77b7d22344f205b317232c8" | ||
| 847 | dependencies = [ | ||
| 848 | "ahash", | ||
| 849 | "bytemuck", | ||
| 850 | "document-features", | ||
| 851 | "egui", | ||
| 852 | "epaint", | ||
| 853 | "log", | ||
| 854 | "profiling", | ||
| 855 | "thiserror 2.0.18", | ||
| 856 | "type-map", | ||
| 857 | "web-time", | ||
| 858 | "wgpu", | ||
| 859 | "winit", | ||
| 860 | ] | ||
| 861 | |||
| 862 | [[package]] | ||
| 863 | name = "egui-winit" | ||
| 864 | version = "0.34.2" | ||
| 865 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 866 | checksum = "e8e97625c2fe0fadc8b92ec690fbf515e15e2efd67ca50e063ad3302ec8ee626" | ||
| 867 | dependencies = [ | ||
| 868 | "accesskit_winit", | ||
| 869 | "arboard", | ||
| 870 | "bytemuck", | ||
| 871 | "egui", | ||
| 872 | "log", | ||
| 873 | "objc2 0.6.4", | ||
| 874 | "objc2-foundation 0.3.2", | ||
| 875 | "objc2-ui-kit 0.3.2", | ||
| 876 | "profiling", | ||
| 877 | "raw-window-handle", | ||
| 878 | "smithay-clipboard", | ||
| 879 | "web-time", | ||
| 880 | "webbrowser", | ||
| 881 | "winit", | ||
| 882 | ] | ||
| 883 | |||
| 884 | [[package]] | ||
| 885 | name = "egui_glow" | ||
| 886 | version = "0.34.2" | ||
| 887 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 888 | checksum = "6caa4eca47cc2358e2c5ae60843a94118e338f87099c6af4170e6e968e8d77cb" | ||
| 889 | dependencies = [ | ||
| 890 | "bytemuck", | ||
| 891 | "egui", | ||
| 892 | "glow", | ||
| 893 | "log", | ||
| 894 | "memoffset", | ||
| 895 | "profiling", | ||
| 896 | "wasm-bindgen", | ||
| 897 | "web-sys", | ||
| 898 | "winit", | ||
| 899 | ] | ||
| 900 | |||
| 901 | [[package]] | ||
| 902 | name = "emath" | ||
| 903 | version = "0.34.2" | ||
| 904 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 905 | checksum = "a74fbbf7501c430b89df62d102b6bfa02162faaf3e155512c677c9d20f5708d1" | ||
| 906 | dependencies = [ | ||
| 907 | "bytemuck", | ||
| 908 | ] | ||
| 909 | |||
| 910 | [[package]] | ||
| 911 | name = "endi" | ||
| 912 | version = "1.1.1" | ||
| 913 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 914 | checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" | ||
| 915 | |||
| 916 | [[package]] | ||
| 917 | name = "enumflags2" | ||
| 918 | version = "0.7.12" | ||
| 919 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 920 | checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" | ||
| 921 | dependencies = [ | ||
| 922 | "enumflags2_derive", | ||
| 923 | "serde", | ||
| 924 | ] | ||
| 925 | |||
| 926 | [[package]] | ||
| 927 | name = "enumflags2_derive" | ||
| 928 | version = "0.7.12" | ||
| 929 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 930 | checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" | ||
| 931 | dependencies = [ | ||
| 932 | "proc-macro2", | ||
| 933 | "quote", | ||
| 934 | "syn", | ||
| 935 | ] | ||
| 936 | |||
| 937 | [[package]] | ||
| 938 | name = "epaint" | ||
| 939 | version = "0.34.2" | ||
| 940 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 941 | checksum = "92b452e348c2758115288802ca25f86ee286ce2cfae6643711ce116662311310" | ||
| 942 | dependencies = [ | ||
| 943 | "ahash", | ||
| 944 | "bytemuck", | ||
| 945 | "ecolor", | ||
| 946 | "emath", | ||
| 947 | "epaint_default_fonts", | ||
| 948 | "font-types", | ||
| 949 | "log", | ||
| 950 | "nohash-hasher", | ||
| 951 | "parking_lot", | ||
| 952 | "profiling", | ||
| 953 | "self_cell", | ||
| 954 | "skrifa", | ||
| 955 | "smallvec", | ||
| 956 | "vello_cpu", | ||
| 957 | ] | ||
| 958 | |||
| 959 | [[package]] | ||
| 960 | name = "epaint_default_fonts" | ||
| 961 | version = "0.34.2" | ||
| 962 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 963 | checksum = "1644e25dbe3d663fd9c2a4181772c64b23361e377e550c10422ecc3a7de1c3c2" | ||
| 964 | |||
| 965 | [[package]] | ||
| 966 | name = "equivalent" | ||
| 967 | version = "1.0.2" | ||
| 968 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 969 | checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" | ||
| 970 | |||
| 971 | [[package]] | ||
| 972 | name = "errno" | ||
| 973 | version = "0.3.14" | ||
| 974 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 975 | checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" | ||
| 976 | dependencies = [ | ||
| 977 | "libc", | ||
| 978 | "windows-sys 0.61.2", | ||
| 979 | ] | ||
| 980 | |||
| 981 | [[package]] | ||
| 982 | name = "error-code" | ||
| 983 | version = "3.3.2" | ||
| 984 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 985 | checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" | ||
| 986 | |||
| 987 | [[package]] | ||
| 988 | name = "euclid" | ||
| 989 | version = "0.22.14" | ||
| 990 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 991 | checksum = "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06" | ||
| 992 | dependencies = [ | ||
| 993 | "num-traits", | ||
| 994 | ] | ||
| 995 | |||
| 996 | [[package]] | ||
| 997 | name = "event-listener" | ||
| 998 | version = "5.4.1" | ||
| 999 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1000 | checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" | ||
| 1001 | dependencies = [ | ||
| 1002 | "concurrent-queue", | ||
| 1003 | "parking", | ||
| 1004 | "pin-project-lite", | ||
| 1005 | ] | ||
| 1006 | |||
| 1007 | [[package]] | ||
| 1008 | name = "event-listener-strategy" | ||
| 1009 | version = "0.5.4" | ||
| 1010 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1011 | checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" | ||
| 1012 | dependencies = [ | ||
| 1013 | "event-listener", | ||
| 1014 | "pin-project-lite", | ||
| 1015 | ] | ||
| 1016 | |||
| 1017 | [[package]] | ||
| 1018 | name = "fastrand" | ||
| 1019 | version = "2.4.1" | ||
| 1020 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1021 | checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" | ||
| 1022 | |||
| 1023 | [[package]] | ||
| 1024 | name = "fax" | ||
| 1025 | version = "0.2.7" | ||
| 1026 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1027 | checksum = "caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a" | ||
| 1028 | |||
| 1029 | [[package]] | ||
| 1030 | name = "fdeflate" | ||
| 1031 | version = "0.3.7" | ||
| 1032 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1033 | checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" | ||
| 1034 | dependencies = [ | ||
| 1035 | "simd-adler32", | ||
| 1036 | ] | ||
| 1037 | |||
| 1038 | [[package]] | ||
| 1039 | name = "fearless_simd" | ||
| 1040 | version = "0.3.0" | ||
| 1041 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1042 | checksum = "8fb2907d1f08b2b316b9223ced5b0e89d87028ba8deae9764741dba8ff7f3903" | ||
| 1043 | dependencies = [ | ||
| 1044 | "bytemuck", | ||
| 1045 | ] | ||
| 1046 | |||
| 1047 | [[package]] | ||
| 1048 | name = "find-msvc-tools" | ||
| 1049 | version = "0.1.9" | ||
| 1050 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1051 | checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" | ||
| 1052 | |||
| 1053 | [[package]] | ||
| 1054 | name = "flate2" | ||
| 1055 | version = "1.1.9" | ||
| 1056 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1057 | checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" | ||
| 1058 | dependencies = [ | ||
| 1059 | "crc32fast", | ||
| 1060 | "miniz_oxide", | ||
| 1061 | ] | ||
| 1062 | |||
| 1063 | [[package]] | ||
| 1064 | name = "foldhash" | ||
| 1065 | version = "0.1.5" | ||
| 1066 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1067 | checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" | ||
| 1068 | |||
| 1069 | [[package]] | ||
| 1070 | name = "foldhash" | ||
| 1071 | version = "0.2.0" | ||
| 1072 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1073 | checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" | ||
| 1074 | |||
| 1075 | [[package]] | ||
| 1076 | name = "font-types" | ||
| 1077 | version = "0.11.3" | ||
| 1078 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1079 | checksum = "5b38ad915f6dadd993ced50848a8291a543bd41ca62bc10740d5e64e2ab4cfd7" | ||
| 1080 | dependencies = [ | ||
| 1081 | "bytemuck", | ||
| 1082 | ] | ||
| 1083 | |||
| 1084 | [[package]] | ||
| 1085 | name = "foreign-types" | ||
| 1086 | version = "0.5.0" | ||
| 1087 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1088 | checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" | ||
| 1089 | dependencies = [ | ||
| 1090 | "foreign-types-macros", | ||
| 1091 | "foreign-types-shared", | ||
| 1092 | ] | ||
| 1093 | |||
| 1094 | [[package]] | ||
| 1095 | name = "foreign-types-macros" | ||
| 1096 | version = "0.2.3" | ||
| 1097 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1098 | checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" | ||
| 1099 | dependencies = [ | ||
| 1100 | "proc-macro2", | ||
| 1101 | "quote", | ||
| 1102 | "syn", | ||
| 1103 | ] | ||
| 1104 | |||
| 1105 | [[package]] | ||
| 1106 | name = "foreign-types-shared" | ||
| 1107 | version = "0.3.1" | ||
| 1108 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1109 | checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" | ||
| 1110 | |||
| 1111 | [[package]] | ||
| 1112 | name = "form_urlencoded" | ||
| 1113 | version = "1.2.2" | ||
| 1114 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1115 | checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" | ||
| 1116 | dependencies = [ | ||
| 1117 | "percent-encoding", | ||
| 1118 | ] | ||
| 1119 | |||
| 1120 | [[package]] | ||
| 1121 | name = "futures-core" | ||
| 1122 | version = "0.3.32" | ||
| 1123 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1124 | checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" | ||
| 1125 | |||
| 1126 | [[package]] | ||
| 1127 | name = "futures-io" | ||
| 1128 | version = "0.3.32" | ||
| 1129 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1130 | checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" | ||
| 1131 | |||
| 1132 | [[package]] | ||
| 1133 | name = "futures-lite" | ||
| 1134 | version = "2.6.1" | ||
| 1135 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1136 | checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" | ||
| 1137 | dependencies = [ | ||
| 1138 | "fastrand", | ||
| 1139 | "futures-core", | ||
| 1140 | "futures-io", | ||
| 1141 | "parking", | ||
| 1142 | "pin-project-lite", | ||
| 1143 | ] | ||
| 1144 | |||
| 1145 | [[package]] | ||
| 1146 | name = "futures-macro" | ||
| 1147 | version = "0.3.32" | ||
| 1148 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1149 | checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" | ||
| 1150 | dependencies = [ | ||
| 1151 | "proc-macro2", | ||
| 1152 | "quote", | ||
| 1153 | "syn", | ||
| 1154 | ] | ||
| 1155 | |||
| 1156 | [[package]] | ||
| 1157 | name = "futures-task" | ||
| 1158 | version = "0.3.32" | ||
| 1159 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1160 | checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" | ||
| 1161 | |||
| 1162 | [[package]] | ||
| 1163 | name = "futures-util" | ||
| 1164 | version = "0.3.32" | ||
| 1165 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1166 | checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" | ||
| 1167 | dependencies = [ | ||
| 1168 | "futures-core", | ||
| 1169 | "futures-macro", | ||
| 1170 | "futures-task", | ||
| 1171 | "pin-project-lite", | ||
| 1172 | "slab", | ||
| 1173 | ] | ||
| 1174 | |||
| 1175 | [[package]] | ||
| 1176 | name = "gethostname" | ||
| 1177 | version = "1.1.0" | ||
| 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1179 | checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" | ||
| 1180 | dependencies = [ | ||
| 1181 | "rustix 1.1.4", | ||
| 1182 | "windows-link", | ||
| 1183 | ] | ||
| 1184 | |||
| 1185 | [[package]] | ||
| 1186 | name = "getrandom" | ||
| 1187 | version = "0.3.4" | ||
| 1188 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1189 | checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" | ||
| 1190 | dependencies = [ | ||
| 1191 | "cfg-if", | ||
| 1192 | "libc", | ||
| 1193 | "r-efi 5.3.0", | ||
| 1194 | "wasip2", | ||
| 1195 | ] | ||
| 1196 | |||
| 1197 | [[package]] | ||
| 1198 | name = "getrandom" | ||
| 1199 | version = "0.4.2" | ||
| 1200 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1201 | checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" | ||
| 1202 | dependencies = [ | ||
| 1203 | "cfg-if", | ||
| 1204 | "libc", | ||
| 1205 | "r-efi 6.0.0", | ||
| 1206 | "wasip2", | ||
| 1207 | "wasip3", | ||
| 1208 | ] | ||
| 1209 | |||
| 1210 | [[package]] | ||
| 1211 | name = "gl_generator" | ||
| 1212 | version = "0.14.0" | ||
| 1213 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1214 | checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" | ||
| 1215 | dependencies = [ | ||
| 1216 | "khronos_api", | ||
| 1217 | "log", | ||
| 1218 | "xml-rs", | ||
| 1219 | ] | ||
| 1220 | |||
| 1221 | [[package]] | ||
| 1222 | name = "glow" | ||
| 1223 | version = "0.17.0" | ||
| 1224 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1225 | checksum = "29038e1c483364cc6bb3cf78feee1816002e127c331a1eec55a4d202b9e1adb5" | ||
| 1226 | dependencies = [ | ||
| 1227 | "js-sys", | ||
| 1228 | "slotmap", | ||
| 1229 | "wasm-bindgen", | ||
| 1230 | "web-sys", | ||
| 1231 | ] | ||
| 1232 | |||
| 1233 | [[package]] | ||
| 1234 | name = "glutin" | ||
| 1235 | version = "0.32.3" | ||
| 1236 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1237 | checksum = "12124de845cacfebedff80e877bb37b5b75c34c5a4c89e47e1cdd67fb6041325" | ||
| 1238 | dependencies = [ | ||
| 1239 | "bitflags 2.11.1", | ||
| 1240 | "cfg_aliases", | ||
| 1241 | "cgl", | ||
| 1242 | "dispatch2", | ||
| 1243 | "glutin_egl_sys", | ||
| 1244 | "glutin_glx_sys", | ||
| 1245 | "glutin_wgl_sys", | ||
| 1246 | "libloading", | ||
| 1247 | "objc2 0.6.4", | ||
| 1248 | "objc2-app-kit 0.3.2", | ||
| 1249 | "objc2-core-foundation", | ||
| 1250 | "objc2-foundation 0.3.2", | ||
| 1251 | "once_cell", | ||
| 1252 | "raw-window-handle", | ||
| 1253 | "wayland-sys", | ||
| 1254 | "windows-sys 0.52.0", | ||
| 1255 | "x11-dl", | ||
| 1256 | ] | ||
| 1257 | |||
| 1258 | [[package]] | ||
| 1259 | name = "glutin-winit" | ||
| 1260 | version = "0.5.0" | ||
| 1261 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1262 | checksum = "85edca7075f8fc728f28cb8fbb111a96c3b89e930574369e3e9c27eb75d3788f" | ||
| 1263 | dependencies = [ | ||
| 1264 | "cfg_aliases", | ||
| 1265 | "glutin", | ||
| 1266 | "raw-window-handle", | ||
| 1267 | "winit", | ||
| 1268 | ] | ||
| 1269 | |||
| 1270 | [[package]] | ||
| 1271 | name = "glutin_egl_sys" | ||
| 1272 | version = "0.7.1" | ||
| 1273 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1274 | checksum = "4c4680ba6195f424febdc3ba46e7a42a0e58743f2edb115297b86d7f8ecc02d2" | ||
| 1275 | dependencies = [ | ||
| 1276 | "gl_generator", | ||
| 1277 | "windows-sys 0.52.0", | ||
| 1278 | ] | ||
| 1279 | |||
| 1280 | [[package]] | ||
| 1281 | name = "glutin_glx_sys" | ||
| 1282 | version = "0.6.1" | ||
| 1283 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1284 | checksum = "8a7bb2938045a88b612499fbcba375a77198e01306f52272e692f8c1f3751185" | ||
| 1285 | dependencies = [ | ||
| 1286 | "gl_generator", | ||
| 1287 | "x11-dl", | ||
| 1288 | ] | ||
| 1289 | |||
| 1290 | [[package]] | ||
| 1291 | name = "glutin_wgl_sys" | ||
| 1292 | version = "0.6.1" | ||
| 1293 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1294 | checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" | ||
| 1295 | dependencies = [ | ||
| 1296 | "gl_generator", | ||
| 1297 | ] | ||
| 1298 | |||
| 1299 | [[package]] | ||
| 1300 | name = "gpu-allocator" | ||
| 1301 | version = "0.28.0" | ||
| 1302 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1303 | checksum = "51255ea7cfaadb6c5f1528d43e92a82acb2b96c43365989a28b2d44ee38f8795" | ||
| 1304 | dependencies = [ | ||
| 1305 | "ash", | ||
| 1306 | "hashbrown 0.16.1", | ||
| 1307 | "log", | ||
| 1308 | "presser", | ||
| 1309 | "thiserror 2.0.18", | ||
| 1310 | "windows", | ||
| 1311 | ] | ||
| 1312 | |||
| 1313 | [[package]] | ||
| 1314 | name = "gpu-descriptor" | ||
| 1315 | version = "0.3.2" | ||
| 1316 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1317 | checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" | ||
| 1318 | dependencies = [ | ||
| 1319 | "bitflags 2.11.1", | ||
| 1320 | "gpu-descriptor-types", | ||
| 1321 | "hashbrown 0.15.5", | ||
| 1322 | ] | ||
| 1323 | |||
| 1324 | [[package]] | ||
| 1325 | name = "gpu-descriptor-types" | ||
| 1326 | version = "0.2.0" | ||
| 1327 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1328 | checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" | ||
| 1329 | dependencies = [ | ||
| 1330 | "bitflags 2.11.1", | ||
| 1331 | ] | ||
| 1332 | |||
| 1333 | [[package]] | ||
| 1334 | name = "half" | ||
| 1335 | version = "2.7.1" | ||
| 1336 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1337 | checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" | ||
| 1338 | dependencies = [ | ||
| 1339 | "cfg-if", | ||
| 1340 | "crunchy", | ||
| 1341 | "num-traits", | ||
| 1342 | "zerocopy", | ||
| 1343 | ] | ||
| 1344 | |||
| 1345 | [[package]] | ||
| 1346 | name = "hashbrown" | ||
| 1347 | version = "0.15.5" | ||
| 1348 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1349 | checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" | ||
| 1350 | dependencies = [ | ||
| 1351 | "foldhash 0.1.5", | ||
| 1352 | ] | ||
| 1353 | |||
| 1354 | [[package]] | ||
| 1355 | name = "hashbrown" | ||
| 1356 | version = "0.16.1" | ||
| 1357 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1358 | checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" | ||
| 1359 | dependencies = [ | ||
| 1360 | "allocator-api2", | ||
| 1361 | "equivalent", | ||
| 1362 | "foldhash 0.2.0", | ||
| 1363 | ] | ||
| 1364 | |||
| 1365 | [[package]] | ||
| 1366 | name = "hashbrown" | ||
| 1367 | version = "0.17.1" | ||
| 1368 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1369 | checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" | ||
| 1370 | |||
| 1371 | [[package]] | ||
| 1372 | name = "heck" | ||
| 1373 | version = "0.5.0" | ||
| 1374 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1375 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||
| 1376 | |||
| 1377 | [[package]] | ||
| 1378 | name = "hermit-abi" | ||
| 1379 | version = "0.5.2" | ||
| 1380 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1381 | checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" | ||
| 1382 | |||
| 1383 | [[package]] | ||
| 1384 | name = "hex" | ||
| 1385 | version = "0.4.3" | ||
| 1386 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1387 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" | ||
| 1388 | |||
| 1389 | [[package]] | ||
| 1390 | name = "hexf-parse" | ||
| 1391 | version = "0.2.1" | ||
| 1392 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1393 | checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" | ||
| 1394 | |||
| 1395 | [[package]] | ||
| 1396 | name = "icu_collections" | ||
| 1397 | version = "2.2.0" | ||
| 1398 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1399 | checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" | ||
| 1400 | dependencies = [ | ||
| 1401 | "displaydoc", | ||
| 1402 | "potential_utf", | ||
| 1403 | "utf8_iter", | ||
| 1404 | "yoke", | ||
| 1405 | "zerofrom", | ||
| 1406 | "zerovec", | ||
| 1407 | ] | ||
| 1408 | |||
| 1409 | [[package]] | ||
| 1410 | name = "icu_locale_core" | ||
| 1411 | version = "2.2.0" | ||
| 1412 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1413 | checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" | ||
| 1414 | dependencies = [ | ||
| 1415 | "displaydoc", | ||
| 1416 | "litemap", | ||
| 1417 | "tinystr", | ||
| 1418 | "writeable", | ||
| 1419 | "zerovec", | ||
| 1420 | ] | ||
| 1421 | |||
| 1422 | [[package]] | ||
| 1423 | name = "icu_normalizer" | ||
| 1424 | version = "2.2.0" | ||
| 1425 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1426 | checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" | ||
| 1427 | dependencies = [ | ||
| 1428 | "icu_collections", | ||
| 1429 | "icu_normalizer_data", | ||
| 1430 | "icu_properties", | ||
| 1431 | "icu_provider", | ||
| 1432 | "smallvec", | ||
| 1433 | "zerovec", | ||
| 1434 | ] | ||
| 1435 | |||
| 1436 | [[package]] | ||
| 1437 | name = "icu_normalizer_data" | ||
| 1438 | version = "2.2.0" | ||
| 1439 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1440 | checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" | ||
| 1441 | |||
| 1442 | [[package]] | ||
| 1443 | name = "icu_properties" | ||
| 1444 | version = "2.2.0" | ||
| 1445 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1446 | checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" | ||
| 1447 | dependencies = [ | ||
| 1448 | "icu_collections", | ||
| 1449 | "icu_locale_core", | ||
| 1450 | "icu_properties_data", | ||
| 1451 | "icu_provider", | ||
| 1452 | "zerotrie", | ||
| 1453 | "zerovec", | ||
| 1454 | ] | ||
| 1455 | |||
| 1456 | [[package]] | ||
| 1457 | name = "icu_properties_data" | ||
| 1458 | version = "2.2.0" | ||
| 1459 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1460 | checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" | ||
| 1461 | |||
| 1462 | [[package]] | ||
| 1463 | name = "icu_provider" | ||
| 1464 | version = "2.2.0" | ||
| 1465 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1466 | checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" | ||
| 1467 | dependencies = [ | ||
| 1468 | "displaydoc", | ||
| 1469 | "icu_locale_core", | ||
| 1470 | "writeable", | ||
| 1471 | "yoke", | ||
| 1472 | "zerofrom", | ||
| 1473 | "zerotrie", | ||
| 1474 | "zerovec", | ||
| 1475 | ] | ||
| 1476 | |||
| 1477 | [[package]] | ||
| 1478 | name = "id-arena" | ||
| 1479 | version = "2.3.0" | ||
| 1480 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1481 | checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" | ||
| 1482 | |||
| 1483 | [[package]] | ||
| 1484 | name = "idna" | ||
| 1485 | version = "1.1.0" | ||
| 1486 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1487 | checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" | ||
| 1488 | dependencies = [ | ||
| 1489 | "idna_adapter", | ||
| 1490 | "smallvec", | ||
| 1491 | "utf8_iter", | ||
| 1492 | ] | ||
| 1493 | |||
| 1494 | [[package]] | ||
| 1495 | name = "idna_adapter" | ||
| 1496 | version = "1.2.2" | ||
| 1497 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1498 | checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" | ||
| 1499 | dependencies = [ | ||
| 1500 | "icu_normalizer", | ||
| 1501 | "icu_properties", | ||
| 1502 | ] | ||
| 1503 | |||
| 1504 | [[package]] | ||
| 1505 | name = "image" | ||
| 1506 | version = "0.25.10" | ||
| 1507 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1508 | checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" | ||
| 1509 | dependencies = [ | ||
| 1510 | "bytemuck", | ||
| 1511 | "byteorder-lite", | ||
| 1512 | "moxcms", | ||
| 1513 | "num-traits", | ||
| 1514 | "png", | ||
| 1515 | "tiff", | ||
| 1516 | ] | ||
| 1517 | |||
| 1518 | [[package]] | ||
| 1519 | name = "indexmap" | ||
| 1520 | version = "2.14.0" | ||
| 1521 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1522 | checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" | ||
| 1523 | dependencies = [ | ||
| 1524 | "equivalent", | ||
| 1525 | "hashbrown 0.17.1", | ||
| 1526 | "serde", | ||
| 1527 | "serde_core", | ||
| 1528 | ] | ||
| 1529 | |||
| 1530 | [[package]] | ||
| 1531 | name = "itoa" | ||
| 1532 | version = "1.0.18" | ||
| 1533 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1534 | checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" | ||
| 1535 | |||
| 1536 | [[package]] | ||
| 1537 | name = "jni" | ||
| 1538 | version = "0.22.4" | ||
| 1539 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1540 | checksum = "5efd9a482cf3a427f00d6b35f14332adc7902ce91efb778580e180ff90fa3498" | ||
| 1541 | dependencies = [ | ||
| 1542 | "cfg-if", | ||
| 1543 | "combine", | ||
| 1544 | "jni-macros", | ||
| 1545 | "jni-sys 0.4.1", | ||
| 1546 | "log", | ||
| 1547 | "simd_cesu8", | ||
| 1548 | "thiserror 2.0.18", | ||
| 1549 | "walkdir", | ||
| 1550 | "windows-link", | ||
| 1551 | ] | ||
| 1552 | |||
| 1553 | [[package]] | ||
| 1554 | name = "jni-macros" | ||
| 1555 | version = "0.22.4" | ||
| 1556 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1557 | checksum = "a00109accc170f0bdb141fed3e393c565b6f5e072365c3bd58f5b062591560a3" | ||
| 1558 | dependencies = [ | ||
| 1559 | "proc-macro2", | ||
| 1560 | "quote", | ||
| 1561 | "rustc_version", | ||
| 1562 | "simd_cesu8", | ||
| 1563 | "syn", | ||
| 1564 | ] | ||
| 1565 | |||
| 1566 | [[package]] | ||
| 1567 | name = "jni-sys" | ||
| 1568 | version = "0.3.1" | ||
| 1569 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1570 | checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258" | ||
| 1571 | dependencies = [ | ||
| 1572 | "jni-sys 0.4.1", | ||
| 1573 | ] | ||
| 1574 | |||
| 1575 | [[package]] | ||
| 1576 | name = "jni-sys" | ||
| 1577 | version = "0.4.1" | ||
| 1578 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1579 | checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2" | ||
| 1580 | dependencies = [ | ||
| 1581 | "jni-sys-macros", | ||
| 1582 | ] | ||
| 1583 | |||
| 1584 | [[package]] | ||
| 1585 | name = "jni-sys-macros" | ||
| 1586 | version = "0.4.1" | ||
| 1587 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1588 | checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264" | ||
| 1589 | dependencies = [ | ||
| 1590 | "quote", | ||
| 1591 | "syn", | ||
| 1592 | ] | ||
| 1593 | |||
| 1594 | [[package]] | ||
| 1595 | name = "jobserver" | ||
| 1596 | version = "0.1.34" | ||
| 1597 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1598 | checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" | ||
| 1599 | dependencies = [ | ||
| 1600 | "getrandom 0.3.4", | ||
| 1601 | "libc", | ||
| 1602 | ] | ||
| 1603 | |||
| 1604 | [[package]] | ||
| 1605 | name = "js-sys" | ||
| 1606 | version = "0.3.99" | ||
| 1607 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1608 | checksum = "142bc4740e452c1e57ade0cbc129f139c9093e354346f0872ef985f4f5cf5f11" | ||
| 1609 | dependencies = [ | ||
| 1610 | "cfg-if", | ||
| 1611 | "futures-util", | ||
| 1612 | "once_cell", | ||
| 1613 | "wasm-bindgen", | ||
| 1614 | ] | ||
| 1615 | |||
| 1616 | [[package]] | ||
| 1617 | name = "khronos-egl" | ||
| 1618 | version = "6.0.0" | ||
| 1619 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1620 | checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" | ||
| 1621 | dependencies = [ | ||
| 1622 | "libc", | ||
| 1623 | "libloading", | ||
| 1624 | "pkg-config", | ||
| 1625 | ] | ||
| 1626 | |||
| 1627 | [[package]] | ||
| 1628 | name = "khronos_api" | ||
| 1629 | version = "3.1.0" | ||
| 1630 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1631 | checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" | ||
| 1632 | |||
| 1633 | [[package]] | ||
| 1634 | name = "kurbo" | ||
| 1635 | version = "0.13.1" | ||
| 1636 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1637 | checksum = "4b60dfc32f652b926df6192e55525b16d186c69d47876c3ead4da5cc9f8450e2" | ||
| 1638 | dependencies = [ | ||
| 1639 | "arrayvec", | ||
| 1640 | "euclid", | ||
| 1641 | "polycool", | ||
| 1642 | "smallvec", | ||
| 1643 | ] | ||
| 1644 | |||
| 1645 | [[package]] | ||
| 1646 | name = "leb128fmt" | ||
| 1647 | version = "0.1.0" | ||
| 1648 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1649 | checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" | ||
| 1650 | |||
| 1651 | [[package]] | ||
| 1652 | name = "libc" | ||
| 1653 | version = "0.2.186" | ||
| 1654 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1655 | checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" | ||
| 1656 | |||
| 1657 | [[package]] | ||
| 1658 | name = "libloading" | ||
| 1659 | version = "0.8.9" | ||
| 1660 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1661 | checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" | ||
| 1662 | dependencies = [ | ||
| 1663 | "cfg-if", | ||
| 1664 | "windows-link", | ||
| 1665 | ] | ||
| 1666 | |||
| 1667 | [[package]] | ||
| 1668 | name = "libm" | ||
| 1669 | version = "0.2.16" | ||
| 1670 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1671 | checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" | ||
| 1672 | |||
| 1673 | [[package]] | ||
| 1674 | name = "libredox" | ||
| 1675 | version = "0.1.16" | ||
| 1676 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1677 | checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" | ||
| 1678 | dependencies = [ | ||
| 1679 | "bitflags 2.11.1", | ||
| 1680 | "libc", | ||
| 1681 | "plain", | ||
| 1682 | "redox_syscall 0.7.5", | ||
| 1683 | ] | ||
| 1684 | |||
| 1685 | [[package]] | ||
| 1686 | name = "linebender_resource_handle" | ||
| 1687 | version = "0.1.1" | ||
| 1688 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1689 | checksum = "d4a5ff6bcca6c4867b1c4fd4ef63e4db7436ef363e0ad7531d1558856bae64f4" | ||
| 1690 | |||
| 1691 | [[package]] | ||
| 1692 | name = "linux-raw-sys" | ||
| 1693 | version = "0.4.15" | ||
| 1694 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1695 | checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" | ||
| 1696 | |||
| 1697 | [[package]] | ||
| 1698 | name = "linux-raw-sys" | ||
| 1699 | version = "0.12.1" | ||
| 1700 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1701 | checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" | ||
| 1702 | |||
| 1703 | [[package]] | ||
| 1704 | name = "litemap" | ||
| 1705 | version = "0.8.2" | ||
| 1706 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1707 | checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" | ||
| 1708 | |||
| 1709 | [[package]] | ||
| 1710 | name = "litrs" | ||
| 1711 | version = "1.0.0" | ||
| 1712 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1713 | checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" | ||
| 1714 | |||
| 1715 | [[package]] | ||
| 1716 | name = "lock_api" | ||
| 1717 | version = "0.4.14" | ||
| 1718 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1719 | checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" | ||
| 1720 | dependencies = [ | ||
| 1721 | "scopeguard", | ||
| 1722 | ] | ||
| 1723 | |||
| 1724 | [[package]] | ||
| 1725 | name = "log" | ||
| 1726 | version = "0.4.29" | ||
| 1727 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1728 | checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" | ||
| 1729 | |||
| 1730 | [[package]] | ||
| 1731 | name = "memchr" | ||
| 1732 | version = "2.8.0" | ||
| 1733 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1734 | checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" | ||
| 1735 | |||
| 1736 | [[package]] | ||
| 1737 | name = "memmap2" | ||
| 1738 | version = "0.9.10" | ||
| 1739 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1740 | checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" | ||
| 1741 | dependencies = [ | ||
| 1742 | "libc", | ||
| 1743 | ] | ||
| 1744 | |||
| 1745 | [[package]] | ||
| 1746 | name = "memoffset" | ||
| 1747 | version = "0.9.1" | ||
| 1748 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1749 | checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" | ||
| 1750 | dependencies = [ | ||
| 1751 | "autocfg", | ||
| 1752 | ] | ||
| 1753 | |||
| 1754 | [[package]] | ||
| 1755 | name = "miniz_oxide" | ||
| 1756 | version = "0.8.9" | ||
| 1757 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1758 | checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" | ||
| 1759 | dependencies = [ | ||
| 1760 | "adler2", | ||
| 1761 | "simd-adler32", | ||
| 1762 | ] | ||
| 1763 | |||
| 1764 | [[package]] | ||
| 1765 | name = "moxcms" | ||
| 1766 | version = "0.8.1" | ||
| 1767 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1768 | checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" | ||
| 1769 | dependencies = [ | ||
| 1770 | "num-traits", | ||
| 1771 | "pxfm", | ||
| 1772 | ] | ||
| 1773 | |||
| 1774 | [[package]] | ||
| 1775 | name = "naga" | ||
| 1776 | version = "29.0.3" | ||
| 1777 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1778 | checksum = "0dd91265cc2454558f659b3b4b9640f0ddb8cc6521277f166b8a8c181c898079" | ||
| 1779 | dependencies = [ | ||
| 1780 | "arrayvec", | ||
| 1781 | "bit-set", | ||
| 1782 | "bitflags 2.11.1", | ||
| 1783 | "cfg-if", | ||
| 1784 | "cfg_aliases", | ||
| 1785 | "codespan-reporting", | ||
| 1786 | "half", | ||
| 1787 | "hashbrown 0.16.1", | ||
| 1788 | "hexf-parse", | ||
| 1789 | "indexmap", | ||
| 1790 | "libm", | ||
| 1791 | "log", | ||
| 1792 | "num-traits", | ||
| 1793 | "once_cell", | ||
| 1794 | "rustc-hash 1.1.0", | ||
| 1795 | "spirv", | ||
| 1796 | "thiserror 2.0.18", | ||
| 1797 | "unicode-ident", | ||
| 1798 | ] | ||
| 1799 | |||
| 1800 | [[package]] | ||
| 1801 | name = "ndk" | ||
| 1802 | version = "0.9.0" | ||
| 1803 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1804 | checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" | ||
| 1805 | dependencies = [ | ||
| 1806 | "bitflags 2.11.1", | ||
| 1807 | "jni-sys 0.3.1", | ||
| 1808 | "log", | ||
| 1809 | "ndk-sys", | ||
| 1810 | "num_enum", | ||
| 1811 | "raw-window-handle", | ||
| 1812 | "thiserror 1.0.69", | ||
| 1813 | ] | ||
| 1814 | |||
| 1815 | [[package]] | ||
| 1816 | name = "ndk-context" | ||
| 1817 | version = "0.1.1" | ||
| 1818 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1819 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" | ||
| 1820 | |||
| 1821 | [[package]] | ||
| 1822 | name = "ndk-sys" | ||
| 1823 | version = "0.6.0+11769913" | ||
| 1824 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1825 | checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" | ||
| 1826 | dependencies = [ | ||
| 1827 | "jni-sys 0.3.1", | ||
| 1828 | ] | ||
| 1829 | |||
| 1830 | [[package]] | ||
| 1831 | name = "nohash-hasher" | ||
| 1832 | version = "0.2.0" | ||
| 1833 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1834 | checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" | ||
| 1835 | |||
| 1836 | [[package]] | ||
| 1837 | name = "num-traits" | ||
| 1838 | version = "0.2.19" | ||
| 1839 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1840 | checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" | ||
| 1841 | dependencies = [ | ||
| 1842 | "autocfg", | ||
| 1843 | "libm", | ||
| 1844 | ] | ||
| 1845 | |||
| 1846 | [[package]] | ||
| 1847 | name = "num_enum" | ||
| 1848 | version = "0.7.6" | ||
| 1849 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1850 | checksum = "5d0bca838442ec211fa11de3a8b0e0e8f3a4522575b5c4c06ed722e005036f26" | ||
| 1851 | dependencies = [ | ||
| 1852 | "num_enum_derive", | ||
| 1853 | "rustversion", | ||
| 1854 | ] | ||
| 1855 | |||
| 1856 | [[package]] | ||
| 1857 | name = "num_enum_derive" | ||
| 1858 | version = "0.7.6" | ||
| 1859 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1860 | checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" | ||
| 1861 | dependencies = [ | ||
| 1862 | "proc-macro-crate", | ||
| 1863 | "proc-macro2", | ||
| 1864 | "quote", | ||
| 1865 | "syn", | ||
| 1866 | ] | ||
| 1867 | |||
| 1868 | [[package]] | ||
| 1869 | name = "objc-sys" | ||
| 1870 | version = "0.3.5" | ||
| 1871 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1872 | checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" | ||
| 1873 | |||
| 1874 | [[package]] | ||
| 1875 | name = "objc2" | ||
| 1876 | version = "0.5.2" | ||
| 1877 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1878 | checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" | ||
| 1879 | dependencies = [ | ||
| 1880 | "objc-sys", | ||
| 1881 | "objc2-encode", | ||
| 1882 | ] | ||
| 1883 | |||
| 1884 | [[package]] | ||
| 1885 | name = "objc2" | ||
| 1886 | version = "0.6.4" | ||
| 1887 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1888 | checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f" | ||
| 1889 | dependencies = [ | ||
| 1890 | "objc2-encode", | ||
| 1891 | ] | ||
| 1892 | |||
| 1893 | [[package]] | ||
| 1894 | name = "objc2-app-kit" | ||
| 1895 | version = "0.2.2" | ||
| 1896 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1897 | checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" | ||
| 1898 | dependencies = [ | ||
| 1899 | "bitflags 2.11.1", | ||
| 1900 | "block2 0.5.1", | ||
| 1901 | "libc", | ||
| 1902 | "objc2 0.5.2", | ||
| 1903 | "objc2-core-data", | ||
| 1904 | "objc2-core-image", | ||
| 1905 | "objc2-foundation 0.2.2", | ||
| 1906 | "objc2-quartz-core 0.2.2", | ||
| 1907 | ] | ||
| 1908 | |||
| 1909 | [[package]] | ||
| 1910 | name = "objc2-app-kit" | ||
| 1911 | version = "0.3.2" | ||
| 1912 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1913 | checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" | ||
| 1914 | dependencies = [ | ||
| 1915 | "bitflags 2.11.1", | ||
| 1916 | "objc2 0.6.4", | ||
| 1917 | "objc2-core-foundation", | ||
| 1918 | "objc2-core-graphics", | ||
| 1919 | "objc2-foundation 0.3.2", | ||
| 1920 | ] | ||
| 1921 | |||
| 1922 | [[package]] | ||
| 1923 | name = "objc2-cloud-kit" | ||
| 1924 | version = "0.2.2" | ||
| 1925 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1926 | checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" | ||
| 1927 | dependencies = [ | ||
| 1928 | "bitflags 2.11.1", | ||
| 1929 | "block2 0.5.1", | ||
| 1930 | "objc2 0.5.2", | ||
| 1931 | "objc2-core-location", | ||
| 1932 | "objc2-foundation 0.2.2", | ||
| 1933 | ] | ||
| 1934 | |||
| 1935 | [[package]] | ||
| 1936 | name = "objc2-contacts" | ||
| 1937 | version = "0.2.2" | ||
| 1938 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1939 | checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" | ||
| 1940 | dependencies = [ | ||
| 1941 | "block2 0.5.1", | ||
| 1942 | "objc2 0.5.2", | ||
| 1943 | "objc2-foundation 0.2.2", | ||
| 1944 | ] | ||
| 1945 | |||
| 1946 | [[package]] | ||
| 1947 | name = "objc2-core-data" | ||
| 1948 | version = "0.2.2" | ||
| 1949 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1950 | checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" | ||
| 1951 | dependencies = [ | ||
| 1952 | "bitflags 2.11.1", | ||
| 1953 | "block2 0.5.1", | ||
| 1954 | "objc2 0.5.2", | ||
| 1955 | "objc2-foundation 0.2.2", | ||
| 1956 | ] | ||
| 1957 | |||
| 1958 | [[package]] | ||
| 1959 | name = "objc2-core-foundation" | ||
| 1960 | version = "0.3.2" | ||
| 1961 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1962 | checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" | ||
| 1963 | dependencies = [ | ||
| 1964 | "bitflags 2.11.1", | ||
| 1965 | "dispatch2", | ||
| 1966 | "objc2 0.6.4", | ||
| 1967 | ] | ||
| 1968 | |||
| 1969 | [[package]] | ||
| 1970 | name = "objc2-core-graphics" | ||
| 1971 | version = "0.3.2" | ||
| 1972 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1973 | checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" | ||
| 1974 | dependencies = [ | ||
| 1975 | "bitflags 2.11.1", | ||
| 1976 | "dispatch2", | ||
| 1977 | "objc2 0.6.4", | ||
| 1978 | "objc2-core-foundation", | ||
| 1979 | "objc2-io-surface", | ||
| 1980 | ] | ||
| 1981 | |||
| 1982 | [[package]] | ||
| 1983 | name = "objc2-core-image" | ||
| 1984 | version = "0.2.2" | ||
| 1985 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1986 | checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" | ||
| 1987 | dependencies = [ | ||
| 1988 | "block2 0.5.1", | ||
| 1989 | "objc2 0.5.2", | ||
| 1990 | "objc2-foundation 0.2.2", | ||
| 1991 | "objc2-metal 0.2.2", | ||
| 1992 | ] | ||
| 1993 | |||
| 1994 | [[package]] | ||
| 1995 | name = "objc2-core-location" | ||
| 1996 | version = "0.2.2" | ||
| 1997 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 1998 | checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" | ||
| 1999 | dependencies = [ | ||
| 2000 | "block2 0.5.1", | ||
| 2001 | "objc2 0.5.2", | ||
| 2002 | "objc2-contacts", | ||
| 2003 | "objc2-foundation 0.2.2", | ||
| 2004 | ] | ||
| 2005 | |||
| 2006 | [[package]] | ||
| 2007 | name = "objc2-encode" | ||
| 2008 | version = "4.1.0" | ||
| 2009 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2010 | checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" | ||
| 2011 | |||
| 2012 | [[package]] | ||
| 2013 | name = "objc2-foundation" | ||
| 2014 | version = "0.2.2" | ||
| 2015 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2016 | checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" | ||
| 2017 | dependencies = [ | ||
| 2018 | "bitflags 2.11.1", | ||
| 2019 | "block2 0.5.1", | ||
| 2020 | "dispatch", | ||
| 2021 | "libc", | ||
| 2022 | "objc2 0.5.2", | ||
| 2023 | ] | ||
| 2024 | |||
| 2025 | [[package]] | ||
| 2026 | name = "objc2-foundation" | ||
| 2027 | version = "0.3.2" | ||
| 2028 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2029 | checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" | ||
| 2030 | dependencies = [ | ||
| 2031 | "bitflags 2.11.1", | ||
| 2032 | "block2 0.6.2", | ||
| 2033 | "objc2 0.6.4", | ||
| 2034 | "objc2-core-foundation", | ||
| 2035 | ] | ||
| 2036 | |||
| 2037 | [[package]] | ||
| 2038 | name = "objc2-io-surface" | ||
| 2039 | version = "0.3.2" | ||
| 2040 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2041 | checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" | ||
| 2042 | dependencies = [ | ||
| 2043 | "bitflags 2.11.1", | ||
| 2044 | "objc2 0.6.4", | ||
| 2045 | "objc2-core-foundation", | ||
| 2046 | ] | ||
| 2047 | |||
| 2048 | [[package]] | ||
| 2049 | name = "objc2-link-presentation" | ||
| 2050 | version = "0.2.2" | ||
| 2051 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2052 | checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" | ||
| 2053 | dependencies = [ | ||
| 2054 | "block2 0.5.1", | ||
| 2055 | "objc2 0.5.2", | ||
| 2056 | "objc2-app-kit 0.2.2", | ||
| 2057 | "objc2-foundation 0.2.2", | ||
| 2058 | ] | ||
| 2059 | |||
| 2060 | [[package]] | ||
| 2061 | name = "objc2-metal" | ||
| 2062 | version = "0.2.2" | ||
| 2063 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2064 | checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" | ||
| 2065 | dependencies = [ | ||
| 2066 | "bitflags 2.11.1", | ||
| 2067 | "block2 0.5.1", | ||
| 2068 | "objc2 0.5.2", | ||
| 2069 | "objc2-foundation 0.2.2", | ||
| 2070 | ] | ||
| 2071 | |||
| 2072 | [[package]] | ||
| 2073 | name = "objc2-metal" | ||
| 2074 | version = "0.3.2" | ||
| 2075 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2076 | checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" | ||
| 2077 | dependencies = [ | ||
| 2078 | "bitflags 2.11.1", | ||
| 2079 | "block2 0.6.2", | ||
| 2080 | "objc2 0.6.4", | ||
| 2081 | "objc2-foundation 0.3.2", | ||
| 2082 | ] | ||
| 2083 | |||
| 2084 | [[package]] | ||
| 2085 | name = "objc2-quartz-core" | ||
| 2086 | version = "0.2.2" | ||
| 2087 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2088 | checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" | ||
| 2089 | dependencies = [ | ||
| 2090 | "bitflags 2.11.1", | ||
| 2091 | "block2 0.5.1", | ||
| 2092 | "objc2 0.5.2", | ||
| 2093 | "objc2-foundation 0.2.2", | ||
| 2094 | "objc2-metal 0.2.2", | ||
| 2095 | ] | ||
| 2096 | |||
| 2097 | [[package]] | ||
| 2098 | name = "objc2-quartz-core" | ||
| 2099 | version = "0.3.2" | ||
| 2100 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2101 | checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" | ||
| 2102 | dependencies = [ | ||
| 2103 | "bitflags 2.11.1", | ||
| 2104 | "objc2 0.6.4", | ||
| 2105 | "objc2-core-foundation", | ||
| 2106 | "objc2-foundation 0.3.2", | ||
| 2107 | "objc2-metal 0.3.2", | ||
| 2108 | ] | ||
| 2109 | |||
| 2110 | [[package]] | ||
| 2111 | name = "objc2-symbols" | ||
| 2112 | version = "0.2.2" | ||
| 2113 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2114 | checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" | ||
| 2115 | dependencies = [ | ||
| 2116 | "objc2 0.5.2", | ||
| 2117 | "objc2-foundation 0.2.2", | ||
| 2118 | ] | ||
| 2119 | |||
| 2120 | [[package]] | ||
| 2121 | name = "objc2-ui-kit" | ||
| 2122 | version = "0.2.2" | ||
| 2123 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2124 | checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" | ||
| 2125 | dependencies = [ | ||
| 2126 | "bitflags 2.11.1", | ||
| 2127 | "block2 0.5.1", | ||
| 2128 | "objc2 0.5.2", | ||
| 2129 | "objc2-cloud-kit", | ||
| 2130 | "objc2-core-data", | ||
| 2131 | "objc2-core-image", | ||
| 2132 | "objc2-core-location", | ||
| 2133 | "objc2-foundation 0.2.2", | ||
| 2134 | "objc2-link-presentation", | ||
| 2135 | "objc2-quartz-core 0.2.2", | ||
| 2136 | "objc2-symbols", | ||
| 2137 | "objc2-uniform-type-identifiers", | ||
| 2138 | "objc2-user-notifications", | ||
| 2139 | ] | ||
| 2140 | |||
| 2141 | [[package]] | ||
| 2142 | name = "objc2-ui-kit" | ||
| 2143 | version = "0.3.2" | ||
| 2144 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2145 | checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" | ||
| 2146 | dependencies = [ | ||
| 2147 | "bitflags 2.11.1", | ||
| 2148 | "objc2 0.6.4", | ||
| 2149 | "objc2-core-foundation", | ||
| 2150 | "objc2-foundation 0.3.2", | ||
| 2151 | ] | ||
| 2152 | |||
| 2153 | [[package]] | ||
| 2154 | name = "objc2-uniform-type-identifiers" | ||
| 2155 | version = "0.2.2" | ||
| 2156 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2157 | checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" | ||
| 2158 | dependencies = [ | ||
| 2159 | "block2 0.5.1", | ||
| 2160 | "objc2 0.5.2", | ||
| 2161 | "objc2-foundation 0.2.2", | ||
| 2162 | ] | ||
| 2163 | |||
| 2164 | [[package]] | ||
| 2165 | name = "objc2-user-notifications" | ||
| 2166 | version = "0.2.2" | ||
| 2167 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2168 | checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" | ||
| 2169 | dependencies = [ | ||
| 2170 | "bitflags 2.11.1", | ||
| 2171 | "block2 0.5.1", | ||
| 2172 | "objc2 0.5.2", | ||
| 2173 | "objc2-core-location", | ||
| 2174 | "objc2-foundation 0.2.2", | ||
| 2175 | ] | ||
| 2176 | |||
| 2177 | [[package]] | ||
| 2178 | name = "once_cell" | ||
| 2179 | version = "1.21.4" | ||
| 2180 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2181 | checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" | ||
| 2182 | |||
| 2183 | [[package]] | ||
| 2184 | name = "orbclient" | ||
| 2185 | version = "0.3.54" | ||
| 2186 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2187 | checksum = "a570f6bca41d29acb2139229a7c873ec99bc9a313bd10804081d89bfac8ff329" | ||
| 2188 | dependencies = [ | ||
| 2189 | "libc", | ||
| 2190 | "libredox", | ||
| 2191 | ] | ||
| 2192 | |||
| 2193 | [[package]] | ||
| 2194 | name = "ordered-float" | ||
| 2195 | version = "5.3.0" | ||
| 2196 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2197 | checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e" | ||
| 2198 | dependencies = [ | ||
| 2199 | "num-traits", | ||
| 2200 | ] | ||
| 2201 | |||
| 2202 | [[package]] | ||
| 2203 | name = "ordered-stream" | ||
| 2204 | version = "0.2.0" | ||
| 2205 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2206 | checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" | ||
| 2207 | dependencies = [ | ||
| 2208 | "futures-core", | ||
| 2209 | "pin-project-lite", | ||
| 2210 | ] | ||
| 2211 | |||
| 2212 | [[package]] | ||
| 2213 | name = "owned_ttf_parser" | ||
| 2214 | version = "0.25.1" | ||
| 2215 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2216 | checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b" | ||
| 2217 | dependencies = [ | ||
| 2218 | "ttf-parser", | ||
| 2219 | ] | ||
| 2220 | |||
| 2221 | [[package]] | ||
| 2222 | name = "parking" | ||
| 2223 | version = "2.2.1" | ||
| 2224 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2225 | checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" | ||
| 2226 | |||
| 2227 | [[package]] | ||
| 2228 | name = "parking_lot" | ||
| 2229 | version = "0.12.5" | ||
| 2230 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2231 | checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" | ||
| 2232 | dependencies = [ | ||
| 2233 | "lock_api", | ||
| 2234 | "parking_lot_core", | ||
| 2235 | ] | ||
| 2236 | |||
| 2237 | [[package]] | ||
| 2238 | name = "parking_lot_core" | ||
| 2239 | version = "0.9.12" | ||
| 2240 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2241 | checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" | ||
| 2242 | dependencies = [ | ||
| 2243 | "cfg-if", | ||
| 2244 | "libc", | ||
| 2245 | "redox_syscall 0.5.18", | ||
| 2246 | "smallvec", | ||
| 2247 | "windows-link", | ||
| 2248 | ] | ||
| 2249 | |||
| 2250 | [[package]] | ||
| 2251 | name = "peniko" | ||
| 2252 | version = "0.6.1" | ||
| 2253 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2254 | checksum = "839c8299360d2e998bdb106dc0a6cd71dcc5f4df51df1b620361bf50e283cca6" | ||
| 2255 | dependencies = [ | ||
| 2256 | "bytemuck", | ||
| 2257 | "color", | ||
| 2258 | "kurbo", | ||
| 2259 | "linebender_resource_handle", | ||
| 2260 | "smallvec", | ||
| 2261 | ] | ||
| 2262 | |||
| 2263 | [[package]] | ||
| 2264 | name = "percent-encoding" | ||
| 2265 | version = "2.3.2" | ||
| 2266 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2267 | checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" | ||
| 2268 | |||
| 2269 | [[package]] | ||
| 2270 | name = "phf" | ||
| 2271 | version = "0.13.1" | ||
| 2272 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2273 | checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" | ||
| 2274 | dependencies = [ | ||
| 2275 | "phf_macros", | ||
| 2276 | "phf_shared", | ||
| 2277 | "serde", | ||
| 2278 | ] | ||
| 2279 | |||
| 2280 | [[package]] | ||
| 2281 | name = "phf_generator" | ||
| 2282 | version = "0.13.1" | ||
| 2283 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2284 | checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" | ||
| 2285 | dependencies = [ | ||
| 2286 | "fastrand", | ||
| 2287 | "phf_shared", | ||
| 2288 | ] | ||
| 2289 | |||
| 2290 | [[package]] | ||
| 2291 | name = "phf_macros" | ||
| 2292 | version = "0.13.1" | ||
| 2293 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2294 | checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" | ||
| 2295 | dependencies = [ | ||
| 2296 | "phf_generator", | ||
| 2297 | "phf_shared", | ||
| 2298 | "proc-macro2", | ||
| 2299 | "quote", | ||
| 2300 | "syn", | ||
| 2301 | ] | ||
| 2302 | |||
| 2303 | [[package]] | ||
| 2304 | name = "phf_shared" | ||
| 2305 | version = "0.13.1" | ||
| 2306 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2307 | checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" | ||
| 2308 | dependencies = [ | ||
| 2309 | "siphasher", | ||
| 2310 | ] | ||
| 2311 | |||
| 2312 | [[package]] | ||
| 2313 | name = "pin-project" | ||
| 2314 | version = "1.1.13" | ||
| 2315 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2316 | checksum = "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924" | ||
| 2317 | dependencies = [ | ||
| 2318 | "pin-project-internal", | ||
| 2319 | ] | ||
| 2320 | |||
| 2321 | [[package]] | ||
| 2322 | name = "pin-project-internal" | ||
| 2323 | version = "1.1.13" | ||
| 2324 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2325 | checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" | ||
| 2326 | dependencies = [ | ||
| 2327 | "proc-macro2", | ||
| 2328 | "quote", | ||
| 2329 | "syn", | ||
| 2330 | ] | ||
| 2331 | |||
| 2332 | [[package]] | ||
| 2333 | name = "pin-project-lite" | ||
| 2334 | version = "0.2.17" | ||
| 2335 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2336 | checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" | ||
| 2337 | |||
| 2338 | [[package]] | ||
| 2339 | name = "piper" | ||
| 2340 | version = "0.2.5" | ||
| 2341 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2342 | checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" | ||
| 2343 | dependencies = [ | ||
| 2344 | "atomic-waker", | ||
| 2345 | "fastrand", | ||
| 2346 | "futures-io", | ||
| 2347 | ] | ||
| 2348 | |||
| 2349 | [[package]] | ||
| 2350 | name = "pkg-config" | ||
| 2351 | version = "0.3.33" | ||
| 2352 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2353 | checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" | ||
| 2354 | |||
| 2355 | [[package]] | ||
| 2356 | name = "plain" | ||
| 2357 | version = "0.2.3" | ||
| 2358 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2359 | checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" | ||
| 2360 | |||
| 2361 | [[package]] | ||
| 2362 | name = "png" | ||
| 2363 | version = "0.18.1" | ||
| 2364 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2365 | checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" | ||
| 2366 | dependencies = [ | ||
| 2367 | "bitflags 2.11.1", | ||
| 2368 | "crc32fast", | ||
| 2369 | "fdeflate", | ||
| 2370 | "flate2", | ||
| 2371 | "miniz_oxide", | ||
| 2372 | ] | ||
| 2373 | |||
| 2374 | [[package]] | ||
| 2375 | name = "polling" | ||
| 2376 | version = "3.11.0" | ||
| 2377 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2378 | checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" | ||
| 2379 | dependencies = [ | ||
| 2380 | "cfg-if", | ||
| 2381 | "concurrent-queue", | ||
| 2382 | "hermit-abi", | ||
| 2383 | "pin-project-lite", | ||
| 2384 | "rustix 1.1.4", | ||
| 2385 | "windows-sys 0.61.2", | ||
| 2386 | ] | ||
| 2387 | |||
| 2388 | [[package]] | ||
| 2389 | name = "pollster" | ||
| 2390 | version = "0.4.0" | ||
| 2391 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2392 | checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" | ||
| 2393 | |||
| 2394 | [[package]] | ||
| 2395 | name = "polycool" | ||
| 2396 | version = "0.4.0" | ||
| 2397 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2398 | checksum = "50596ddc09eb5ad5f75cacd40209568e66df71baf86e1499a0e99c4cff12a5a6" | ||
| 2399 | dependencies = [ | ||
| 2400 | "arrayvec", | ||
| 2401 | ] | ||
| 2402 | |||
| 2403 | [[package]] | ||
| 2404 | name = "portable-atomic" | ||
| 2405 | version = "1.13.1" | ||
| 2406 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2407 | checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" | ||
| 2408 | |||
| 2409 | [[package]] | ||
| 2410 | name = "portable-atomic-util" | ||
| 2411 | version = "0.2.7" | ||
| 2412 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2413 | checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618" | ||
| 2414 | dependencies = [ | ||
| 2415 | "portable-atomic", | ||
| 2416 | ] | ||
| 2417 | |||
| 2418 | [[package]] | ||
| 2419 | name = "potential_utf" | ||
| 2420 | version = "0.1.5" | ||
| 2421 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2422 | checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" | ||
| 2423 | dependencies = [ | ||
| 2424 | "zerovec", | ||
| 2425 | ] | ||
| 2426 | |||
| 2427 | [[package]] | ||
| 2428 | name = "presser" | ||
| 2429 | version = "0.3.1" | ||
| 2430 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2431 | checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" | ||
| 2432 | |||
| 2433 | [[package]] | ||
| 2434 | name = "prettyplease" | ||
| 2435 | version = "0.2.37" | ||
| 2436 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2437 | checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" | ||
| 2438 | dependencies = [ | ||
| 2439 | "proc-macro2", | ||
| 2440 | "syn", | ||
| 2441 | ] | ||
| 2442 | |||
| 2443 | [[package]] | ||
| 2444 | name = "proc-macro-crate" | ||
| 2445 | version = "3.5.0" | ||
| 2446 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2447 | checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" | ||
| 2448 | dependencies = [ | ||
| 2449 | "toml_edit", | ||
| 2450 | ] | ||
| 2451 | |||
| 2452 | [[package]] | ||
| 2453 | name = "proc-macro2" | ||
| 2454 | version = "1.0.106" | ||
| 2455 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2456 | checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" | ||
| 2457 | dependencies = [ | ||
| 2458 | "unicode-ident", | ||
| 2459 | ] | ||
| 2460 | |||
| 2461 | [[package]] | ||
| 2462 | name = "profiling" | ||
| 2463 | version = "1.0.18" | ||
| 2464 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2465 | checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5" | ||
| 2466 | |||
| 2467 | [[package]] | ||
| 2468 | name = "pxfm" | ||
| 2469 | version = "0.1.29" | ||
| 2470 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2471 | checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f" | ||
| 2472 | |||
| 2473 | [[package]] | ||
| 2474 | name = "quick-error" | ||
| 2475 | version = "2.0.1" | ||
| 2476 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2477 | checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" | ||
| 2478 | |||
| 2479 | [[package]] | ||
| 2480 | name = "quick-xml" | ||
| 2481 | version = "0.39.4" | ||
| 2482 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2483 | checksum = "cdcc8dd4e2f670d309a5f0e83fe36dfdc05af317008fea29144da1a2ac858e5e" | ||
| 2484 | dependencies = [ | ||
| 2485 | "memchr", | ||
| 2486 | "serde", | ||
| 2487 | ] | ||
| 2488 | |||
| 2489 | [[package]] | ||
| 2490 | name = "quote" | ||
| 2491 | version = "1.0.45" | ||
| 2492 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2493 | checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" | ||
| 2494 | dependencies = [ | ||
| 2495 | "proc-macro2", | ||
| 2496 | ] | ||
| 2497 | |||
| 2498 | [[package]] | ||
| 2499 | name = "r-efi" | ||
| 2500 | version = "5.3.0" | ||
| 2501 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2502 | checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" | ||
| 2503 | |||
| 2504 | [[package]] | ||
| 2505 | name = "r-efi" | ||
| 2506 | version = "6.0.0" | ||
| 2507 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2508 | checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" | ||
| 2509 | |||
| 2510 | [[package]] | ||
| 2511 | name = "range-alloc" | ||
| 2512 | version = "0.1.5" | ||
| 2513 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2514 | checksum = "ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08" | ||
| 2515 | |||
| 2516 | [[package]] | ||
| 2517 | name = "raw-window-handle" | ||
| 2518 | version = "0.6.2" | ||
| 2519 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2520 | checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" | ||
| 2521 | |||
| 2522 | [[package]] | ||
| 2523 | name = "raw-window-metal" | ||
| 2524 | version = "1.1.0" | ||
| 2525 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2526 | checksum = "40d213455a5f1dc59214213c7330e074ddf8114c9a42411eb890c767357ce135" | ||
| 2527 | dependencies = [ | ||
| 2528 | "objc2 0.6.4", | ||
| 2529 | "objc2-core-foundation", | ||
| 2530 | "objc2-foundation 0.3.2", | ||
| 2531 | "objc2-quartz-core 0.3.2", | ||
| 2532 | ] | ||
| 2533 | |||
| 2534 | [[package]] | ||
| 2535 | name = "read-fonts" | ||
| 2536 | version = "0.37.0" | ||
| 2537 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2538 | checksum = "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5" | ||
| 2539 | dependencies = [ | ||
| 2540 | "bytemuck", | ||
| 2541 | "font-types", | ||
| 2542 | ] | ||
| 2543 | |||
| 2544 | [[package]] | ||
| 2545 | name = "redox_syscall" | ||
| 2546 | version = "0.4.1" | ||
| 2547 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2548 | checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" | ||
| 2549 | dependencies = [ | ||
| 2550 | "bitflags 1.3.2", | ||
| 2551 | ] | ||
| 2552 | |||
| 2553 | [[package]] | ||
| 2554 | name = "redox_syscall" | ||
| 2555 | version = "0.5.18" | ||
| 2556 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2557 | checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" | ||
| 2558 | dependencies = [ | ||
| 2559 | "bitflags 2.11.1", | ||
| 2560 | ] | ||
| 2561 | |||
| 2562 | [[package]] | ||
| 2563 | name = "redox_syscall" | ||
| 2564 | version = "0.7.5" | ||
| 2565 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2566 | checksum = "4666a1a60d8412eab19d94f6d13dcc9cea0a5ef4fdf6a5db306537413c661b1b" | ||
| 2567 | dependencies = [ | ||
| 2568 | "bitflags 2.11.1", | ||
| 2569 | ] | ||
| 2570 | |||
| 2571 | [[package]] | ||
| 2572 | name = "renderdoc-sys" | ||
| 2573 | version = "1.1.0" | ||
| 2574 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2575 | checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" | ||
| 2576 | |||
| 2577 | [[package]] | ||
| 2578 | name = "rustc-hash" | ||
| 2579 | version = "1.1.0" | ||
| 2580 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2581 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" | ||
| 2582 | |||
| 2583 | [[package]] | ||
| 2584 | name = "rustc-hash" | ||
| 2585 | version = "2.1.2" | ||
| 2586 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2587 | checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" | ||
| 2588 | |||
| 2589 | [[package]] | ||
| 2590 | name = "rustc_version" | ||
| 2591 | version = "0.4.1" | ||
| 2592 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2593 | checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" | ||
| 2594 | dependencies = [ | ||
| 2595 | "semver", | ||
| 2596 | ] | ||
| 2597 | |||
| 2598 | [[package]] | ||
| 2599 | name = "rustix" | ||
| 2600 | version = "0.38.44" | ||
| 2601 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2602 | checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" | ||
| 2603 | dependencies = [ | ||
| 2604 | "bitflags 2.11.1", | ||
| 2605 | "errno", | ||
| 2606 | "libc", | ||
| 2607 | "linux-raw-sys 0.4.15", | ||
| 2608 | "windows-sys 0.59.0", | ||
| 2609 | ] | ||
| 2610 | |||
| 2611 | [[package]] | ||
| 2612 | name = "rustix" | ||
| 2613 | version = "1.1.4" | ||
| 2614 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2615 | checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" | ||
| 2616 | dependencies = [ | ||
| 2617 | "bitflags 2.11.1", | ||
| 2618 | "errno", | ||
| 2619 | "libc", | ||
| 2620 | "linux-raw-sys 0.12.1", | ||
| 2621 | "windows-sys 0.61.2", | ||
| 2622 | ] | ||
| 2623 | |||
| 2624 | [[package]] | ||
| 2625 | name = "rustversion" | ||
| 2626 | version = "1.0.22" | ||
| 2627 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2628 | checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" | ||
| 2629 | |||
| 2630 | [[package]] | ||
| 2631 | name = "same-file" | ||
| 2632 | version = "1.0.6" | ||
| 2633 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2634 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" | ||
| 2635 | dependencies = [ | ||
| 2636 | "winapi-util", | ||
| 2637 | ] | ||
| 2638 | |||
| 2639 | [[package]] | ||
| 2640 | name = "scoped-tls" | ||
| 2641 | version = "1.0.1" | ||
| 2642 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2643 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" | ||
| 2644 | |||
| 2645 | [[package]] | ||
| 2646 | name = "scopeguard" | ||
| 2647 | version = "1.2.0" | ||
| 2648 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2649 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" | ||
| 2650 | |||
| 2651 | [[package]] | ||
| 2652 | name = "sctk-adwaita" | ||
| 2653 | version = "0.10.1" | ||
| 2654 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2655 | checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" | ||
| 2656 | dependencies = [ | ||
| 2657 | "ab_glyph", | ||
| 2658 | "log", | ||
| 2659 | "memmap2", | ||
| 2660 | "smithay-client-toolkit 0.19.2", | ||
| 2661 | "tiny-skia", | ||
| 2662 | ] | ||
| 2663 | |||
| 2664 | [[package]] | ||
| 2665 | name = "self_cell" | ||
| 2666 | version = "1.2.2" | ||
| 2667 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2668 | checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" | ||
| 2669 | |||
| 2670 | [[package]] | ||
| 2671 | name = "semver" | ||
| 2672 | version = "1.0.28" | ||
| 2673 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2674 | checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" | ||
| 2675 | |||
| 2676 | [[package]] | ||
| 2677 | name = "serde" | ||
| 2678 | version = "1.0.228" | ||
| 2679 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2680 | checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" | ||
| 2681 | dependencies = [ | ||
| 2682 | "serde_core", | ||
| 2683 | "serde_derive", | ||
| 2684 | ] | ||
| 2685 | |||
| 2686 | [[package]] | ||
| 2687 | name = "serde_core" | ||
| 2688 | version = "1.0.228" | ||
| 2689 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2690 | checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" | ||
| 2691 | dependencies = [ | ||
| 2692 | "serde_derive", | ||
| 2693 | ] | ||
| 2694 | |||
| 2695 | [[package]] | ||
| 2696 | name = "serde_derive" | ||
| 2697 | version = "1.0.228" | ||
| 2698 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2699 | checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" | ||
| 2700 | dependencies = [ | ||
| 2701 | "proc-macro2", | ||
| 2702 | "quote", | ||
| 2703 | "syn", | ||
| 2704 | ] | ||
| 2705 | |||
| 2706 | [[package]] | ||
| 2707 | name = "serde_json" | ||
| 2708 | version = "1.0.150" | ||
| 2709 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2710 | checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" | ||
| 2711 | dependencies = [ | ||
| 2712 | "itoa", | ||
| 2713 | "memchr", | ||
| 2714 | "serde", | ||
| 2715 | "serde_core", | ||
| 2716 | "zmij", | ||
| 2717 | ] | ||
| 2718 | |||
| 2719 | [[package]] | ||
| 2720 | name = "serde_repr" | ||
| 2721 | version = "0.1.20" | ||
| 2722 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2723 | checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" | ||
| 2724 | dependencies = [ | ||
| 2725 | "proc-macro2", | ||
| 2726 | "quote", | ||
| 2727 | "syn", | ||
| 2728 | ] | ||
| 2729 | |||
| 2730 | [[package]] | ||
| 2731 | name = "shlex" | ||
| 2732 | version = "1.3.0" | ||
| 2733 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2734 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | ||
| 2735 | |||
| 2736 | [[package]] | ||
| 2737 | name = "signal-hook-registry" | ||
| 2738 | version = "1.4.8" | ||
| 2739 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2740 | checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" | ||
| 2741 | dependencies = [ | ||
| 2742 | "errno", | ||
| 2743 | "libc", | ||
| 2744 | ] | ||
| 2745 | |||
| 2746 | [[package]] | ||
| 2747 | name = "simd-adler32" | ||
| 2748 | version = "0.3.9" | ||
| 2749 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2750 | checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214" | ||
| 2751 | |||
| 2752 | [[package]] | ||
| 2753 | name = "simd_cesu8" | ||
| 2754 | version = "1.1.1" | ||
| 2755 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2756 | checksum = "94f90157bb87cddf702797c5dadfa0be7d266cdf49e22da2fcaa32eff75b2c33" | ||
| 2757 | dependencies = [ | ||
| 2758 | "rustc_version", | ||
| 2759 | "simdutf8", | ||
| 2760 | ] | ||
| 2761 | |||
| 2762 | [[package]] | ||
| 2763 | name = "simdutf8" | ||
| 2764 | version = "0.1.5" | ||
| 2765 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2766 | checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" | ||
| 2767 | |||
| 2768 | [[package]] | ||
| 2769 | name = "siphasher" | ||
| 2770 | version = "1.0.3" | ||
| 2771 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2772 | checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649" | ||
| 2773 | |||
| 2774 | [[package]] | ||
| 2775 | name = "skrifa" | ||
| 2776 | version = "0.40.0" | ||
| 2777 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2778 | checksum = "7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac" | ||
| 2779 | dependencies = [ | ||
| 2780 | "bytemuck", | ||
| 2781 | "read-fonts", | ||
| 2782 | ] | ||
| 2783 | |||
| 2784 | [[package]] | ||
| 2785 | name = "slab" | ||
| 2786 | version = "0.4.12" | ||
| 2787 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2788 | checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" | ||
| 2789 | |||
| 2790 | [[package]] | ||
| 2791 | name = "slotmap" | ||
| 2792 | version = "1.1.1" | ||
| 2793 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2794 | checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" | ||
| 2795 | dependencies = [ | ||
| 2796 | "version_check", | ||
| 2797 | ] | ||
| 2798 | |||
| 2799 | [[package]] | ||
| 2800 | name = "smallvec" | ||
| 2801 | version = "1.15.1" | ||
| 2802 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2803 | checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" | ||
| 2804 | |||
| 2805 | [[package]] | ||
| 2806 | name = "smithay-client-toolkit" | ||
| 2807 | version = "0.19.2" | ||
| 2808 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2809 | checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" | ||
| 2810 | dependencies = [ | ||
| 2811 | "bitflags 2.11.1", | ||
| 2812 | "calloop 0.13.0", | ||
| 2813 | "calloop-wayland-source 0.3.0", | ||
| 2814 | "cursor-icon", | ||
| 2815 | "libc", | ||
| 2816 | "log", | ||
| 2817 | "memmap2", | ||
| 2818 | "rustix 0.38.44", | ||
| 2819 | "thiserror 1.0.69", | ||
| 2820 | "wayland-backend", | ||
| 2821 | "wayland-client", | ||
| 2822 | "wayland-csd-frame", | ||
| 2823 | "wayland-cursor", | ||
| 2824 | "wayland-protocols", | ||
| 2825 | "wayland-protocols-wlr", | ||
| 2826 | "wayland-scanner", | ||
| 2827 | "xkeysym", | ||
| 2828 | ] | ||
| 2829 | |||
| 2830 | [[package]] | ||
| 2831 | name = "smithay-client-toolkit" | ||
| 2832 | version = "0.20.0" | ||
| 2833 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2834 | checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" | ||
| 2835 | dependencies = [ | ||
| 2836 | "bitflags 2.11.1", | ||
| 2837 | "calloop 0.14.4", | ||
| 2838 | "calloop-wayland-source 0.4.1", | ||
| 2839 | "cursor-icon", | ||
| 2840 | "libc", | ||
| 2841 | "log", | ||
| 2842 | "memmap2", | ||
| 2843 | "rustix 1.1.4", | ||
| 2844 | "thiserror 2.0.18", | ||
| 2845 | "wayland-backend", | ||
| 2846 | "wayland-client", | ||
| 2847 | "wayland-csd-frame", | ||
| 2848 | "wayland-cursor", | ||
| 2849 | "wayland-protocols", | ||
| 2850 | "wayland-protocols-experimental", | ||
| 2851 | "wayland-protocols-misc", | ||
| 2852 | "wayland-protocols-wlr", | ||
| 2853 | "wayland-scanner", | ||
| 2854 | "xkeysym", | ||
| 2855 | ] | ||
| 2856 | |||
| 2857 | [[package]] | ||
| 2858 | name = "smithay-clipboard" | ||
| 2859 | version = "0.7.3" | ||
| 2860 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2861 | checksum = "71704c03f739f7745053bde45fa203a46c58d25bc5c4efba1d9a60e9dba81226" | ||
| 2862 | dependencies = [ | ||
| 2863 | "libc", | ||
| 2864 | "smithay-client-toolkit 0.20.0", | ||
| 2865 | "wayland-backend", | ||
| 2866 | ] | ||
| 2867 | |||
| 2868 | [[package]] | ||
| 2869 | name = "smol_str" | ||
| 2870 | version = "0.2.2" | ||
| 2871 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2872 | checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" | ||
| 2873 | dependencies = [ | ||
| 2874 | "serde", | ||
| 2875 | ] | ||
| 2876 | |||
| 2877 | [[package]] | ||
| 2878 | name = "spirv" | ||
| 2879 | version = "0.4.0+sdk-1.4.341.0" | ||
| 2880 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2881 | checksum = "d9571ea910ebd84c86af4b3ed27f9dbdc6ad06f17c5f96146b2b671e2976744f" | ||
| 2882 | dependencies = [ | ||
| 2883 | "bitflags 2.11.1", | ||
| 2884 | ] | ||
| 2885 | |||
| 2886 | [[package]] | ||
| 2887 | name = "stable_deref_trait" | ||
| 2888 | version = "1.2.1" | ||
| 2889 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2890 | checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" | ||
| 2891 | |||
| 2892 | [[package]] | ||
| 2893 | name = "static_assertions" | ||
| 2894 | version = "1.1.0" | ||
| 2895 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2896 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" | ||
| 2897 | |||
| 2898 | [[package]] | ||
| 2899 | name = "strict-num" | ||
| 2900 | version = "0.1.1" | ||
| 2901 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2902 | checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" | ||
| 2903 | |||
| 2904 | [[package]] | ||
| 2905 | name = "syn" | ||
| 2906 | version = "2.0.117" | ||
| 2907 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2908 | checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" | ||
| 2909 | dependencies = [ | ||
| 2910 | "proc-macro2", | ||
| 2911 | "quote", | ||
| 2912 | "unicode-ident", | ||
| 2913 | ] | ||
| 2914 | |||
| 2915 | [[package]] | ||
| 2916 | name = "synstructure" | ||
| 2917 | version = "0.13.2" | ||
| 2918 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2919 | checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" | ||
| 2920 | dependencies = [ | ||
| 2921 | "proc-macro2", | ||
| 2922 | "quote", | ||
| 2923 | "syn", | ||
| 2924 | ] | ||
| 2925 | |||
| 2926 | [[package]] | ||
| 2927 | name = "tempfile" | ||
| 2928 | version = "3.27.0" | ||
| 2929 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2930 | checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" | ||
| 2931 | dependencies = [ | ||
| 2932 | "fastrand", | ||
| 2933 | "getrandom 0.4.2", | ||
| 2934 | "once_cell", | ||
| 2935 | "rustix 1.1.4", | ||
| 2936 | "windows-sys 0.61.2", | ||
| 2937 | ] | ||
| 2938 | |||
| 2939 | [[package]] | ||
| 2940 | name = "termcolor" | ||
| 2941 | version = "1.4.1" | ||
| 2942 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2943 | checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" | ||
| 2944 | dependencies = [ | ||
| 2945 | "winapi-util", | ||
| 2946 | ] | ||
| 2947 | |||
| 2948 | [[package]] | ||
| 2949 | name = "thiserror" | ||
| 2950 | version = "1.0.69" | ||
| 2951 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2952 | checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" | ||
| 2953 | dependencies = [ | ||
| 2954 | "thiserror-impl 1.0.69", | ||
| 2955 | ] | ||
| 2956 | |||
| 2957 | [[package]] | ||
| 2958 | name = "thiserror" | ||
| 2959 | version = "2.0.18" | ||
| 2960 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2961 | checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" | ||
| 2962 | dependencies = [ | ||
| 2963 | "thiserror-impl 2.0.18", | ||
| 2964 | ] | ||
| 2965 | |||
| 2966 | [[package]] | ||
| 2967 | name = "thiserror-impl" | ||
| 2968 | version = "1.0.69" | ||
| 2969 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2970 | checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" | ||
| 2971 | dependencies = [ | ||
| 2972 | "proc-macro2", | ||
| 2973 | "quote", | ||
| 2974 | "syn", | ||
| 2975 | ] | ||
| 2976 | |||
| 2977 | [[package]] | ||
| 2978 | name = "thiserror-impl" | ||
| 2979 | version = "2.0.18" | ||
| 2980 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2981 | checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" | ||
| 2982 | dependencies = [ | ||
| 2983 | "proc-macro2", | ||
| 2984 | "quote", | ||
| 2985 | "syn", | ||
| 2986 | ] | ||
| 2987 | |||
| 2988 | [[package]] | ||
| 2989 | name = "tiff" | ||
| 2990 | version = "0.11.3" | ||
| 2991 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 2992 | checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52" | ||
| 2993 | dependencies = [ | ||
| 2994 | "fax", | ||
| 2995 | "flate2", | ||
| 2996 | "half", | ||
| 2997 | "quick-error", | ||
| 2998 | "weezl", | ||
| 2999 | "zune-jpeg", | ||
| 3000 | ] | ||
| 3001 | |||
| 3002 | [[package]] | ||
| 3003 | name = "tiny-skia" | ||
| 3004 | version = "0.11.4" | ||
| 3005 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3006 | checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" | ||
| 3007 | dependencies = [ | ||
| 3008 | "arrayref", | ||
| 3009 | "arrayvec", | ||
| 3010 | "bytemuck", | ||
| 3011 | "cfg-if", | ||
| 3012 | "log", | ||
| 3013 | "tiny-skia-path", | ||
| 3014 | ] | ||
| 3015 | |||
| 3016 | [[package]] | ||
| 3017 | name = "tiny-skia-path" | ||
| 3018 | version = "0.11.4" | ||
| 3019 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3020 | checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" | ||
| 3021 | dependencies = [ | ||
| 3022 | "arrayref", | ||
| 3023 | "bytemuck", | ||
| 3024 | "strict-num", | ||
| 3025 | ] | ||
| 3026 | |||
| 3027 | [[package]] | ||
| 3028 | name = "tinystr" | ||
| 3029 | version = "0.8.3" | ||
| 3030 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3031 | checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" | ||
| 3032 | dependencies = [ | ||
| 3033 | "displaydoc", | ||
| 3034 | "zerovec", | ||
| 3035 | ] | ||
| 3036 | |||
| 3037 | [[package]] | ||
| 3038 | name = "toml_datetime" | ||
| 3039 | version = "1.1.1+spec-1.1.0" | ||
| 3040 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3041 | checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" | ||
| 3042 | dependencies = [ | ||
| 3043 | "serde_core", | ||
| 3044 | ] | ||
| 3045 | |||
| 3046 | [[package]] | ||
| 3047 | name = "toml_edit" | ||
| 3048 | version = "0.25.11+spec-1.1.0" | ||
| 3049 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3050 | checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" | ||
| 3051 | dependencies = [ | ||
| 3052 | "indexmap", | ||
| 3053 | "toml_datetime", | ||
| 3054 | "toml_parser", | ||
| 3055 | "winnow", | ||
| 3056 | ] | ||
| 3057 | |||
| 3058 | [[package]] | ||
| 3059 | name = "toml_parser" | ||
| 3060 | version = "1.1.2+spec-1.1.0" | ||
| 3061 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3062 | checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" | ||
| 3063 | dependencies = [ | ||
| 3064 | "winnow", | ||
| 3065 | ] | ||
| 3066 | |||
| 3067 | [[package]] | ||
| 3068 | name = "tracing" | ||
| 3069 | version = "0.1.44" | ||
| 3070 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3071 | checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" | ||
| 3072 | dependencies = [ | ||
| 3073 | "log", | ||
| 3074 | "pin-project-lite", | ||
| 3075 | "tracing-attributes", | ||
| 3076 | "tracing-core", | ||
| 3077 | ] | ||
| 3078 | |||
| 3079 | [[package]] | ||
| 3080 | name = "tracing-attributes" | ||
| 3081 | version = "0.1.31" | ||
| 3082 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3083 | checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" | ||
| 3084 | dependencies = [ | ||
| 3085 | "proc-macro2", | ||
| 3086 | "quote", | ||
| 3087 | "syn", | ||
| 3088 | ] | ||
| 3089 | |||
| 3090 | [[package]] | ||
| 3091 | name = "tracing-core" | ||
| 3092 | version = "0.1.36" | ||
| 3093 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3094 | checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" | ||
| 3095 | dependencies = [ | ||
| 3096 | "once_cell", | ||
| 3097 | ] | ||
| 3098 | |||
| 3099 | [[package]] | ||
| 3100 | name = "ttf-parser" | ||
| 3101 | version = "0.25.1" | ||
| 3102 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3103 | checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" | ||
| 3104 | |||
| 3105 | [[package]] | ||
| 3106 | name = "type-map" | ||
| 3107 | version = "0.5.1" | ||
| 3108 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3109 | checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" | ||
| 3110 | dependencies = [ | ||
| 3111 | "rustc-hash 2.1.2", | ||
| 3112 | ] | ||
| 3113 | |||
| 3114 | [[package]] | ||
| 3115 | name = "uds_windows" | ||
| 3116 | version = "1.2.1" | ||
| 3117 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3118 | checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" | ||
| 3119 | dependencies = [ | ||
| 3120 | "memoffset", | ||
| 3121 | "tempfile", | ||
| 3122 | "windows-sys 0.61.2", | ||
| 3123 | ] | ||
| 3124 | |||
| 3125 | [[package]] | ||
| 3126 | name = "unicode-ident" | ||
| 3127 | version = "1.0.24" | ||
| 3128 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3129 | checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" | ||
| 3130 | |||
| 3131 | [[package]] | ||
| 3132 | name = "unicode-segmentation" | ||
| 3133 | version = "1.13.2" | ||
| 3134 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3135 | checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" | ||
| 3136 | |||
| 3137 | [[package]] | ||
| 3138 | name = "unicode-width" | ||
| 3139 | version = "0.2.2" | ||
| 3140 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3141 | checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" | ||
| 3142 | |||
| 3143 | [[package]] | ||
| 3144 | name = "unicode-xid" | ||
| 3145 | version = "0.2.6" | ||
| 3146 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3147 | checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" | ||
| 3148 | |||
| 3149 | [[package]] | ||
| 3150 | name = "url" | ||
| 3151 | version = "2.5.8" | ||
| 3152 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3153 | checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" | ||
| 3154 | dependencies = [ | ||
| 3155 | "form_urlencoded", | ||
| 3156 | "idna", | ||
| 3157 | "percent-encoding", | ||
| 3158 | "serde", | ||
| 3159 | ] | ||
| 3160 | |||
| 3161 | [[package]] | ||
| 3162 | name = "utf8_iter" | ||
| 3163 | version = "1.0.4" | ||
| 3164 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3165 | checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" | ||
| 3166 | |||
| 3167 | [[package]] | ||
| 3168 | name = "uuid" | ||
| 3169 | version = "1.23.1" | ||
| 3170 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3171 | checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" | ||
| 3172 | dependencies = [ | ||
| 3173 | "js-sys", | ||
| 3174 | "serde_core", | ||
| 3175 | "wasm-bindgen", | ||
| 3176 | ] | ||
| 3177 | |||
| 3178 | [[package]] | ||
| 3179 | name = "vello_common" | ||
| 3180 | version = "0.0.6" | ||
| 3181 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3182 | checksum = "1bd1a4c633ce09e7d713df1a6e036644a125e15e0c169cfb5180ddf5836ca04b" | ||
| 3183 | dependencies = [ | ||
| 3184 | "bytemuck", | ||
| 3185 | "fearless_simd", | ||
| 3186 | "hashbrown 0.16.1", | ||
| 3187 | "log", | ||
| 3188 | "peniko", | ||
| 3189 | "skrifa", | ||
| 3190 | "smallvec", | ||
| 3191 | ] | ||
| 3192 | |||
| 3193 | [[package]] | ||
| 3194 | name = "vello_cpu" | ||
| 3195 | version = "0.0.6" | ||
| 3196 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3197 | checksum = "0162bfe48aabf6a9fdcd401b628c7d9f260c2cbabb343c70a65feba6f7849edc" | ||
| 3198 | dependencies = [ | ||
| 3199 | "bytemuck", | ||
| 3200 | "hashbrown 0.16.1", | ||
| 3201 | "vello_common", | ||
| 3202 | ] | ||
| 3203 | |||
| 3204 | [[package]] | ||
| 3205 | name = "version_check" | ||
| 3206 | version = "0.9.5" | ||
| 3207 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3208 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" | ||
| 3209 | |||
| 3210 | [[package]] | ||
| 3211 | name = "walkdir" | ||
| 3212 | version = "2.5.0" | ||
| 3213 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3214 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" | ||
| 3215 | dependencies = [ | ||
| 3216 | "same-file", | ||
| 3217 | "winapi-util", | ||
| 3218 | ] | ||
| 3219 | |||
| 3220 | [[package]] | ||
| 3221 | name = "wasip2" | ||
| 3222 | version = "1.0.3+wasi-0.2.9" | ||
| 3223 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3224 | checksum = "20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6" | ||
| 3225 | dependencies = [ | ||
| 3226 | "wit-bindgen 0.57.1", | ||
| 3227 | ] | ||
| 3228 | |||
| 3229 | [[package]] | ||
| 3230 | name = "wasip3" | ||
| 3231 | version = "0.4.0+wasi-0.3.0-rc-2026-01-06" | ||
| 3232 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3233 | checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" | ||
| 3234 | dependencies = [ | ||
| 3235 | "wit-bindgen 0.51.0", | ||
| 3236 | ] | ||
| 3237 | |||
| 3238 | [[package]] | ||
| 3239 | name = "wasm-bindgen" | ||
| 3240 | version = "0.2.122" | ||
| 3241 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3242 | checksum = "3ed04576f974d2b2fba0f38c51dbc5518011e38c36bf1143164be765528fd409" | ||
| 3243 | dependencies = [ | ||
| 3244 | "cfg-if", | ||
| 3245 | "once_cell", | ||
| 3246 | "rustversion", | ||
| 3247 | "wasm-bindgen-macro", | ||
| 3248 | "wasm-bindgen-shared", | ||
| 3249 | ] | ||
| 3250 | |||
| 3251 | [[package]] | ||
| 3252 | name = "wasm-bindgen-futures" | ||
| 3253 | version = "0.4.72" | ||
| 3254 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3255 | checksum = "9473dbd2991ae90b6291c3c32c30c6187ac49aa32f9905d1cce280ec1e110b0f" | ||
| 3256 | dependencies = [ | ||
| 3257 | "js-sys", | ||
| 3258 | "wasm-bindgen", | ||
| 3259 | ] | ||
| 3260 | |||
| 3261 | [[package]] | ||
| 3262 | name = "wasm-bindgen-macro" | ||
| 3263 | version = "0.2.122" | ||
| 3264 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3265 | checksum = "916151b09da36bd82f6615cbf3a419e2f0ba23a03c6160e8e92eb6bd4aa1dec6" | ||
| 3266 | dependencies = [ | ||
| 3267 | "quote", | ||
| 3268 | "wasm-bindgen-macro-support", | ||
| 3269 | ] | ||
| 3270 | |||
| 3271 | [[package]] | ||
| 3272 | name = "wasm-bindgen-macro-support" | ||
| 3273 | version = "0.2.122" | ||
| 3274 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3275 | checksum = "299047362ccbfce148b67ab7e73349f77748e00c8296f9542adfad2ad82c5c5e" | ||
| 3276 | dependencies = [ | ||
| 3277 | "bumpalo", | ||
| 3278 | "proc-macro2", | ||
| 3279 | "quote", | ||
| 3280 | "syn", | ||
| 3281 | "wasm-bindgen-shared", | ||
| 3282 | ] | ||
| 3283 | |||
| 3284 | [[package]] | ||
| 3285 | name = "wasm-bindgen-shared" | ||
| 3286 | version = "0.2.122" | ||
| 3287 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3288 | checksum = "9a929b2c61f11ba3e9bc35b50c1f25cb38e0e892c0c231ae2b8cf78d5dad4437" | ||
| 3289 | dependencies = [ | ||
| 3290 | "unicode-ident", | ||
| 3291 | ] | ||
| 3292 | |||
| 3293 | [[package]] | ||
| 3294 | name = "wasm-encoder" | ||
| 3295 | version = "0.244.0" | ||
| 3296 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3297 | checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" | ||
| 3298 | dependencies = [ | ||
| 3299 | "leb128fmt", | ||
| 3300 | "wasmparser", | ||
| 3301 | ] | ||
| 3302 | |||
| 3303 | [[package]] | ||
| 3304 | name = "wasm-metadata" | ||
| 3305 | version = "0.244.0" | ||
| 3306 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3307 | checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" | ||
| 3308 | dependencies = [ | ||
| 3309 | "anyhow", | ||
| 3310 | "indexmap", | ||
| 3311 | "wasm-encoder", | ||
| 3312 | "wasmparser", | ||
| 3313 | ] | ||
| 3314 | |||
| 3315 | [[package]] | ||
| 3316 | name = "wasmparser" | ||
| 3317 | version = "0.244.0" | ||
| 3318 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3319 | checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" | ||
| 3320 | dependencies = [ | ||
| 3321 | "bitflags 2.11.1", | ||
| 3322 | "hashbrown 0.15.5", | ||
| 3323 | "indexmap", | ||
| 3324 | "semver", | ||
| 3325 | ] | ||
| 3326 | |||
| 3327 | [[package]] | ||
| 3328 | name = "wayland-backend" | ||
| 3329 | version = "0.3.15" | ||
| 3330 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3331 | checksum = "2857dd20b54e916ec7253b3d6b4d5c4d7d4ca2c33c2e11c6c76a99bd8744755d" | ||
| 3332 | dependencies = [ | ||
| 3333 | "cc", | ||
| 3334 | "downcast-rs", | ||
| 3335 | "rustix 1.1.4", | ||
| 3336 | "scoped-tls", | ||
| 3337 | "smallvec", | ||
| 3338 | "wayland-sys", | ||
| 3339 | ] | ||
| 3340 | |||
| 3341 | [[package]] | ||
| 3342 | name = "wayland-client" | ||
| 3343 | version = "0.31.14" | ||
| 3344 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3345 | checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144" | ||
| 3346 | dependencies = [ | ||
| 3347 | "bitflags 2.11.1", | ||
| 3348 | "rustix 1.1.4", | ||
| 3349 | "wayland-backend", | ||
| 3350 | "wayland-scanner", | ||
| 3351 | ] | ||
| 3352 | |||
| 3353 | [[package]] | ||
| 3354 | name = "wayland-csd-frame" | ||
| 3355 | version = "0.3.0" | ||
| 3356 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3357 | checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" | ||
| 3358 | dependencies = [ | ||
| 3359 | "bitflags 2.11.1", | ||
| 3360 | "cursor-icon", | ||
| 3361 | "wayland-backend", | ||
| 3362 | ] | ||
| 3363 | |||
| 3364 | [[package]] | ||
| 3365 | name = "wayland-cursor" | ||
| 3366 | version = "0.31.14" | ||
| 3367 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3368 | checksum = "4a52d18780be9b1314328a3de5f930b73d2200112e3849ca6cb11822793fb34d" | ||
| 3369 | dependencies = [ | ||
| 3370 | "rustix 1.1.4", | ||
| 3371 | "wayland-client", | ||
| 3372 | "xcursor", | ||
| 3373 | ] | ||
| 3374 | |||
| 3375 | [[package]] | ||
| 3376 | name = "wayland-protocols" | ||
| 3377 | version = "0.32.12" | ||
| 3378 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3379 | checksum = "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f" | ||
| 3380 | dependencies = [ | ||
| 3381 | "bitflags 2.11.1", | ||
| 3382 | "wayland-backend", | ||
| 3383 | "wayland-client", | ||
| 3384 | "wayland-scanner", | ||
| 3385 | ] | ||
| 3386 | |||
| 3387 | [[package]] | ||
| 3388 | name = "wayland-protocols-experimental" | ||
| 3389 | version = "20250721.0.1" | ||
| 3390 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3391 | checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" | ||
| 3392 | dependencies = [ | ||
| 3393 | "bitflags 2.11.1", | ||
| 3394 | "wayland-backend", | ||
| 3395 | "wayland-client", | ||
| 3396 | "wayland-protocols", | ||
| 3397 | "wayland-scanner", | ||
| 3398 | ] | ||
| 3399 | |||
| 3400 | [[package]] | ||
| 3401 | name = "wayland-protocols-misc" | ||
| 3402 | version = "0.3.12" | ||
| 3403 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3404 | checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8" | ||
| 3405 | dependencies = [ | ||
| 3406 | "bitflags 2.11.1", | ||
| 3407 | "wayland-backend", | ||
| 3408 | "wayland-client", | ||
| 3409 | "wayland-protocols", | ||
| 3410 | "wayland-scanner", | ||
| 3411 | ] | ||
| 3412 | |||
| 3413 | [[package]] | ||
| 3414 | name = "wayland-protocols-plasma" | ||
| 3415 | version = "0.3.12" | ||
| 3416 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3417 | checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" | ||
| 3418 | dependencies = [ | ||
| 3419 | "bitflags 2.11.1", | ||
| 3420 | "wayland-backend", | ||
| 3421 | "wayland-client", | ||
| 3422 | "wayland-protocols", | ||
| 3423 | "wayland-scanner", | ||
| 3424 | ] | ||
| 3425 | |||
| 3426 | [[package]] | ||
| 3427 | name = "wayland-protocols-wlr" | ||
| 3428 | version = "0.3.12" | ||
| 3429 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3430 | checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" | ||
| 3431 | dependencies = [ | ||
| 3432 | "bitflags 2.11.1", | ||
| 3433 | "wayland-backend", | ||
| 3434 | "wayland-client", | ||
| 3435 | "wayland-protocols", | ||
| 3436 | "wayland-scanner", | ||
| 3437 | ] | ||
| 3438 | |||
| 3439 | [[package]] | ||
| 3440 | name = "wayland-scanner" | ||
| 3441 | version = "0.31.10" | ||
| 3442 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3443 | checksum = "9c324a910fd86ebdc364a3e61ec1f11737d3b1d6c273c0239ee8ff4bc0d24b4a" | ||
| 3444 | dependencies = [ | ||
| 3445 | "proc-macro2", | ||
| 3446 | "quick-xml", | ||
| 3447 | "quote", | ||
| 3448 | ] | ||
| 3449 | |||
| 3450 | [[package]] | ||
| 3451 | name = "wayland-sys" | ||
| 3452 | version = "0.31.11" | ||
| 3453 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3454 | checksum = "d8eab23fefc9e41f8e841df4a9c707e8a8c4ed26e944ef69297184de2785e3be" | ||
| 3455 | dependencies = [ | ||
| 3456 | "dlib", | ||
| 3457 | "log", | ||
| 3458 | "once_cell", | ||
| 3459 | "pkg-config", | ||
| 3460 | ] | ||
| 3461 | |||
| 3462 | [[package]] | ||
| 3463 | name = "web-sys" | ||
| 3464 | version = "0.3.99" | ||
| 3465 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3466 | checksum = "6d621441cfc37b84979402712047321980c178f299193a3589d05b99e8763436" | ||
| 3467 | dependencies = [ | ||
| 3468 | "js-sys", | ||
| 3469 | "wasm-bindgen", | ||
| 3470 | ] | ||
| 3471 | |||
| 3472 | [[package]] | ||
| 3473 | name = "web-time" | ||
| 3474 | version = "1.1.0" | ||
| 3475 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3476 | checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" | ||
| 3477 | dependencies = [ | ||
| 3478 | "js-sys", | ||
| 3479 | "wasm-bindgen", | ||
| 3480 | ] | ||
| 3481 | |||
| 3482 | [[package]] | ||
| 3483 | name = "webbrowser" | ||
| 3484 | version = "1.2.1" | ||
| 3485 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3486 | checksum = "0fc95580916af1e68ff6a7be07446fc5db73ebf71cf092de939bbf5f7e189f72" | ||
| 3487 | dependencies = [ | ||
| 3488 | "core-foundation 0.10.1", | ||
| 3489 | "jni", | ||
| 3490 | "log", | ||
| 3491 | "ndk-context", | ||
| 3492 | "objc2 0.6.4", | ||
| 3493 | "objc2-foundation 0.3.2", | ||
| 3494 | "url", | ||
| 3495 | "web-sys", | ||
| 3496 | ] | ||
| 3497 | |||
| 3498 | [[package]] | ||
| 3499 | name = "weezl" | ||
| 3500 | version = "0.1.12" | ||
| 3501 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3502 | checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" | ||
| 3503 | |||
| 3504 | [[package]] | ||
| 3505 | name = "wgpu" | ||
| 3506 | version = "29.0.3" | ||
| 3507 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3508 | checksum = "bb3feacc458f7bee8bc1737149b42b6c731aa461039a4264a67bb6681646b250" | ||
| 3509 | dependencies = [ | ||
| 3510 | "arrayvec", | ||
| 3511 | "bitflags 2.11.1", | ||
| 3512 | "bytemuck", | ||
| 3513 | "cfg-if", | ||
| 3514 | "cfg_aliases", | ||
| 3515 | "document-features", | ||
| 3516 | "hashbrown 0.16.1", | ||
| 3517 | "js-sys", | ||
| 3518 | "log", | ||
| 3519 | "naga", | ||
| 3520 | "parking_lot", | ||
| 3521 | "portable-atomic", | ||
| 3522 | "profiling", | ||
| 3523 | "raw-window-handle", | ||
| 3524 | "smallvec", | ||
| 3525 | "static_assertions", | ||
| 3526 | "wasm-bindgen", | ||
| 3527 | "wasm-bindgen-futures", | ||
| 3528 | "web-sys", | ||
| 3529 | "wgpu-core", | ||
| 3530 | "wgpu-hal", | ||
| 3531 | "wgpu-types", | ||
| 3532 | ] | ||
| 3533 | |||
| 3534 | [[package]] | ||
| 3535 | name = "wgpu-core" | ||
| 3536 | version = "29.0.3" | ||
| 3537 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3538 | checksum = "02da3ad1b568337f25513b317870960ef87073ea0945502e44b864b67a8c77b7" | ||
| 3539 | dependencies = [ | ||
| 3540 | "arrayvec", | ||
| 3541 | "bit-set", | ||
| 3542 | "bit-vec", | ||
| 3543 | "bitflags 2.11.1", | ||
| 3544 | "bytemuck", | ||
| 3545 | "cfg_aliases", | ||
| 3546 | "document-features", | ||
| 3547 | "hashbrown 0.16.1", | ||
| 3548 | "indexmap", | ||
| 3549 | "log", | ||
| 3550 | "naga", | ||
| 3551 | "once_cell", | ||
| 3552 | "parking_lot", | ||
| 3553 | "portable-atomic", | ||
| 3554 | "profiling", | ||
| 3555 | "raw-window-handle", | ||
| 3556 | "rustc-hash 1.1.0", | ||
| 3557 | "smallvec", | ||
| 3558 | "thiserror 2.0.18", | ||
| 3559 | "wgpu-core-deps-apple", | ||
| 3560 | "wgpu-core-deps-emscripten", | ||
| 3561 | "wgpu-core-deps-wasm", | ||
| 3562 | "wgpu-core-deps-windows-linux-android", | ||
| 3563 | "wgpu-hal", | ||
| 3564 | "wgpu-naga-bridge", | ||
| 3565 | "wgpu-types", | ||
| 3566 | ] | ||
| 3567 | |||
| 3568 | [[package]] | ||
| 3569 | name = "wgpu-core-deps-apple" | ||
| 3570 | version = "29.0.3" | ||
| 3571 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3572 | checksum = "62e51b5447e144b3dbba4feb01f80f4fa21696fa0cd99afb2c3df1affd6fdb28" | ||
| 3573 | dependencies = [ | ||
| 3574 | "wgpu-hal", | ||
| 3575 | ] | ||
| 3576 | |||
| 3577 | [[package]] | ||
| 3578 | name = "wgpu-core-deps-emscripten" | ||
| 3579 | version = "29.0.3" | ||
| 3580 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3581 | checksum = "3487cd6293a963bc5c0c0396f6a2192043c50003c07f4efdccbad3d90ec9d819" | ||
| 3582 | dependencies = [ | ||
| 3583 | "wgpu-hal", | ||
| 3584 | ] | ||
| 3585 | |||
| 3586 | [[package]] | ||
| 3587 | name = "wgpu-core-deps-wasm" | ||
| 3588 | version = "29.0.3" | ||
| 3589 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3590 | checksum = "0c2f2fb042f36920771deb0b966543c5751b18f3d327760ffc90f74e20b2dcd4" | ||
| 3591 | dependencies = [ | ||
| 3592 | "wgpu-hal", | ||
| 3593 | ] | ||
| 3594 | |||
| 3595 | [[package]] | ||
| 3596 | name = "wgpu-core-deps-windows-linux-android" | ||
| 3597 | version = "29.0.3" | ||
| 3598 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3599 | checksum = "1bfb01076d0aa08b0ba9bd741e178b5cc440f5abe99d9581323a4c8b5d1a1916" | ||
| 3600 | dependencies = [ | ||
| 3601 | "wgpu-hal", | ||
| 3602 | ] | ||
| 3603 | |||
| 3604 | [[package]] | ||
| 3605 | name = "wgpu-hal" | ||
| 3606 | version = "29.0.3" | ||
| 3607 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3608 | checksum = "31f8e1a9e7a8512f276f7c62e018c7fa8d60954303fed2e5750114332049193f" | ||
| 3609 | dependencies = [ | ||
| 3610 | "android_system_properties", | ||
| 3611 | "arrayvec", | ||
| 3612 | "ash", | ||
| 3613 | "bit-set", | ||
| 3614 | "bitflags 2.11.1", | ||
| 3615 | "block2 0.6.2", | ||
| 3616 | "bytemuck", | ||
| 3617 | "cfg-if", | ||
| 3618 | "cfg_aliases", | ||
| 3619 | "glow", | ||
| 3620 | "glutin_wgl_sys", | ||
| 3621 | "gpu-allocator", | ||
| 3622 | "gpu-descriptor", | ||
| 3623 | "hashbrown 0.16.1", | ||
| 3624 | "js-sys", | ||
| 3625 | "khronos-egl", | ||
| 3626 | "libc", | ||
| 3627 | "libloading", | ||
| 3628 | "log", | ||
| 3629 | "naga", | ||
| 3630 | "ndk-sys", | ||
| 3631 | "objc2 0.6.4", | ||
| 3632 | "objc2-core-foundation", | ||
| 3633 | "objc2-foundation 0.3.2", | ||
| 3634 | "objc2-metal 0.3.2", | ||
| 3635 | "objc2-quartz-core 0.3.2", | ||
| 3636 | "once_cell", | ||
| 3637 | "ordered-float", | ||
| 3638 | "parking_lot", | ||
| 3639 | "portable-atomic", | ||
| 3640 | "portable-atomic-util", | ||
| 3641 | "profiling", | ||
| 3642 | "range-alloc", | ||
| 3643 | "raw-window-handle", | ||
| 3644 | "raw-window-metal", | ||
| 3645 | "renderdoc-sys", | ||
| 3646 | "smallvec", | ||
| 3647 | "thiserror 2.0.18", | ||
| 3648 | "wasm-bindgen", | ||
| 3649 | "wayland-sys", | ||
| 3650 | "web-sys", | ||
| 3651 | "wgpu-naga-bridge", | ||
| 3652 | "wgpu-types", | ||
| 3653 | "windows", | ||
| 3654 | "windows-core", | ||
| 3655 | "windows-result", | ||
| 3656 | ] | ||
| 3657 | |||
| 3658 | [[package]] | ||
| 3659 | name = "wgpu-naga-bridge" | ||
| 3660 | version = "29.0.3" | ||
| 3661 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3662 | checksum = "59c654c483f058800972c3645e95388a7eca31bf9fe1933bc20e036588a0be02" | ||
| 3663 | dependencies = [ | ||
| 3664 | "naga", | ||
| 3665 | "wgpu-types", | ||
| 3666 | ] | ||
| 3667 | |||
| 3668 | [[package]] | ||
| 3669 | name = "wgpu-types" | ||
| 3670 | version = "29.0.3" | ||
| 3671 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3672 | checksum = "a9bcc31518a0e9735aefebedb5f7a9ef3ed1c42549c9f4c882fa9060ceaac639" | ||
| 3673 | dependencies = [ | ||
| 3674 | "bitflags 2.11.1", | ||
| 3675 | "bytemuck", | ||
| 3676 | "js-sys", | ||
| 3677 | "log", | ||
| 3678 | "raw-window-handle", | ||
| 3679 | "web-sys", | ||
| 3680 | ] | ||
| 3681 | |||
| 3682 | [[package]] | ||
| 3683 | name = "winapi-util" | ||
| 3684 | version = "0.1.11" | ||
| 3685 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3686 | checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" | ||
| 3687 | dependencies = [ | ||
| 3688 | "windows-sys 0.61.2", | ||
| 3689 | ] | ||
| 3690 | |||
| 3691 | [[package]] | ||
| 3692 | name = "windows" | ||
| 3693 | version = "0.62.2" | ||
| 3694 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3695 | checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" | ||
| 3696 | dependencies = [ | ||
| 3697 | "windows-collections", | ||
| 3698 | "windows-core", | ||
| 3699 | "windows-future", | ||
| 3700 | "windows-numerics", | ||
| 3701 | ] | ||
| 3702 | |||
| 3703 | [[package]] | ||
| 3704 | name = "windows-collections" | ||
| 3705 | version = "0.3.2" | ||
| 3706 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3707 | checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" | ||
| 3708 | dependencies = [ | ||
| 3709 | "windows-core", | ||
| 3710 | ] | ||
| 3711 | |||
| 3712 | [[package]] | ||
| 3713 | name = "windows-core" | ||
| 3714 | version = "0.62.2" | ||
| 3715 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3716 | checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" | ||
| 3717 | dependencies = [ | ||
| 3718 | "windows-implement", | ||
| 3719 | "windows-interface", | ||
| 3720 | "windows-link", | ||
| 3721 | "windows-result", | ||
| 3722 | "windows-strings", | ||
| 3723 | ] | ||
| 3724 | |||
| 3725 | [[package]] | ||
| 3726 | name = "windows-future" | ||
| 3727 | version = "0.3.2" | ||
| 3728 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3729 | checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" | ||
| 3730 | dependencies = [ | ||
| 3731 | "windows-core", | ||
| 3732 | "windows-link", | ||
| 3733 | "windows-threading", | ||
| 3734 | ] | ||
| 3735 | |||
| 3736 | [[package]] | ||
| 3737 | name = "windows-implement" | ||
| 3738 | version = "0.60.2" | ||
| 3739 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3740 | checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" | ||
| 3741 | dependencies = [ | ||
| 3742 | "proc-macro2", | ||
| 3743 | "quote", | ||
| 3744 | "syn", | ||
| 3745 | ] | ||
| 3746 | |||
| 3747 | [[package]] | ||
| 3748 | name = "windows-interface" | ||
| 3749 | version = "0.59.3" | ||
| 3750 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3751 | checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" | ||
| 3752 | dependencies = [ | ||
| 3753 | "proc-macro2", | ||
| 3754 | "quote", | ||
| 3755 | "syn", | ||
| 3756 | ] | ||
| 3757 | |||
| 3758 | [[package]] | ||
| 3759 | name = "windows-link" | ||
| 3760 | version = "0.2.1" | ||
| 3761 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3762 | checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" | ||
| 3763 | |||
| 3764 | [[package]] | ||
| 3765 | name = "windows-numerics" | ||
| 3766 | version = "0.3.1" | ||
| 3767 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3768 | checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" | ||
| 3769 | dependencies = [ | ||
| 3770 | "windows-core", | ||
| 3771 | "windows-link", | ||
| 3772 | ] | ||
| 3773 | |||
| 3774 | [[package]] | ||
| 3775 | name = "windows-result" | ||
| 3776 | version = "0.4.1" | ||
| 3777 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3778 | checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" | ||
| 3779 | dependencies = [ | ||
| 3780 | "windows-link", | ||
| 3781 | ] | ||
| 3782 | |||
| 3783 | [[package]] | ||
| 3784 | name = "windows-strings" | ||
| 3785 | version = "0.5.1" | ||
| 3786 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3787 | checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" | ||
| 3788 | dependencies = [ | ||
| 3789 | "windows-link", | ||
| 3790 | ] | ||
| 3791 | |||
| 3792 | [[package]] | ||
| 3793 | name = "windows-sys" | ||
| 3794 | version = "0.52.0" | ||
| 3795 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3796 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" | ||
| 3797 | dependencies = [ | ||
| 3798 | "windows-targets 0.52.6", | ||
| 3799 | ] | ||
| 3800 | |||
| 3801 | [[package]] | ||
| 3802 | name = "windows-sys" | ||
| 3803 | version = "0.59.0" | ||
| 3804 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3805 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" | ||
| 3806 | dependencies = [ | ||
| 3807 | "windows-targets 0.52.6", | ||
| 3808 | ] | ||
| 3809 | |||
| 3810 | [[package]] | ||
| 3811 | name = "windows-sys" | ||
| 3812 | version = "0.60.2" | ||
| 3813 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3814 | checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" | ||
| 3815 | dependencies = [ | ||
| 3816 | "windows-targets 0.53.5", | ||
| 3817 | ] | ||
| 3818 | |||
| 3819 | [[package]] | ||
| 3820 | name = "windows-sys" | ||
| 3821 | version = "0.61.2" | ||
| 3822 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3823 | checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" | ||
| 3824 | dependencies = [ | ||
| 3825 | "windows-link", | ||
| 3826 | ] | ||
| 3827 | |||
| 3828 | [[package]] | ||
| 3829 | name = "windows-targets" | ||
| 3830 | version = "0.52.6" | ||
| 3831 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3832 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" | ||
| 3833 | dependencies = [ | ||
| 3834 | "windows_aarch64_gnullvm 0.52.6", | ||
| 3835 | "windows_aarch64_msvc 0.52.6", | ||
| 3836 | "windows_i686_gnu 0.52.6", | ||
| 3837 | "windows_i686_gnullvm 0.52.6", | ||
| 3838 | "windows_i686_msvc 0.52.6", | ||
| 3839 | "windows_x86_64_gnu 0.52.6", | ||
| 3840 | "windows_x86_64_gnullvm 0.52.6", | ||
| 3841 | "windows_x86_64_msvc 0.52.6", | ||
| 3842 | ] | ||
| 3843 | |||
| 3844 | [[package]] | ||
| 3845 | name = "windows-targets" | ||
| 3846 | version = "0.53.5" | ||
| 3847 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3848 | checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" | ||
| 3849 | dependencies = [ | ||
| 3850 | "windows-link", | ||
| 3851 | "windows_aarch64_gnullvm 0.53.1", | ||
| 3852 | "windows_aarch64_msvc 0.53.1", | ||
| 3853 | "windows_i686_gnu 0.53.1", | ||
| 3854 | "windows_i686_gnullvm 0.53.1", | ||
| 3855 | "windows_i686_msvc 0.53.1", | ||
| 3856 | "windows_x86_64_gnu 0.53.1", | ||
| 3857 | "windows_x86_64_gnullvm 0.53.1", | ||
| 3858 | "windows_x86_64_msvc 0.53.1", | ||
| 3859 | ] | ||
| 3860 | |||
| 3861 | [[package]] | ||
| 3862 | name = "windows-threading" | ||
| 3863 | version = "0.2.1" | ||
| 3864 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3865 | checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" | ||
| 3866 | dependencies = [ | ||
| 3867 | "windows-link", | ||
| 3868 | ] | ||
| 3869 | |||
| 3870 | [[package]] | ||
| 3871 | name = "windows_aarch64_gnullvm" | ||
| 3872 | version = "0.52.6" | ||
| 3873 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3874 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" | ||
| 3875 | |||
| 3876 | [[package]] | ||
| 3877 | name = "windows_aarch64_gnullvm" | ||
| 3878 | version = "0.53.1" | ||
| 3879 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3880 | checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" | ||
| 3881 | |||
| 3882 | [[package]] | ||
| 3883 | name = "windows_aarch64_msvc" | ||
| 3884 | version = "0.52.6" | ||
| 3885 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3886 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" | ||
| 3887 | |||
| 3888 | [[package]] | ||
| 3889 | name = "windows_aarch64_msvc" | ||
| 3890 | version = "0.53.1" | ||
| 3891 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3892 | checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" | ||
| 3893 | |||
| 3894 | [[package]] | ||
| 3895 | name = "windows_i686_gnu" | ||
| 3896 | version = "0.52.6" | ||
| 3897 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3898 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" | ||
| 3899 | |||
| 3900 | [[package]] | ||
| 3901 | name = "windows_i686_gnu" | ||
| 3902 | version = "0.53.1" | ||
| 3903 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3904 | checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" | ||
| 3905 | |||
| 3906 | [[package]] | ||
| 3907 | name = "windows_i686_gnullvm" | ||
| 3908 | version = "0.52.6" | ||
| 3909 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3910 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" | ||
| 3911 | |||
| 3912 | [[package]] | ||
| 3913 | name = "windows_i686_gnullvm" | ||
| 3914 | version = "0.53.1" | ||
| 3915 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3916 | checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" | ||
| 3917 | |||
| 3918 | [[package]] | ||
| 3919 | name = "windows_i686_msvc" | ||
| 3920 | version = "0.52.6" | ||
| 3921 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3922 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" | ||
| 3923 | |||
| 3924 | [[package]] | ||
| 3925 | name = "windows_i686_msvc" | ||
| 3926 | version = "0.53.1" | ||
| 3927 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3928 | checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" | ||
| 3929 | |||
| 3930 | [[package]] | ||
| 3931 | name = "windows_x86_64_gnu" | ||
| 3932 | version = "0.52.6" | ||
| 3933 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3934 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" | ||
| 3935 | |||
| 3936 | [[package]] | ||
| 3937 | name = "windows_x86_64_gnu" | ||
| 3938 | version = "0.53.1" | ||
| 3939 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3940 | checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" | ||
| 3941 | |||
| 3942 | [[package]] | ||
| 3943 | name = "windows_x86_64_gnullvm" | ||
| 3944 | version = "0.52.6" | ||
| 3945 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3946 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" | ||
| 3947 | |||
| 3948 | [[package]] | ||
| 3949 | name = "windows_x86_64_gnullvm" | ||
| 3950 | version = "0.53.1" | ||
| 3951 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3952 | checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" | ||
| 3953 | |||
| 3954 | [[package]] | ||
| 3955 | name = "windows_x86_64_msvc" | ||
| 3956 | version = "0.52.6" | ||
| 3957 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3958 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" | ||
| 3959 | |||
| 3960 | [[package]] | ||
| 3961 | name = "windows_x86_64_msvc" | ||
| 3962 | version = "0.53.1" | ||
| 3963 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3964 | checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" | ||
| 3965 | |||
| 3966 | [[package]] | ||
| 3967 | name = "winit" | ||
| 3968 | version = "0.30.13" | ||
| 3969 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 3970 | checksum = "a6755fa58a9f8350bd1e472d4c3fcc25f824ec358933bba33306d0b63df5978d" | ||
| 3971 | dependencies = [ | ||
| 3972 | "ahash", | ||
| 3973 | "android-activity", | ||
| 3974 | "atomic-waker", | ||
| 3975 | "bitflags 2.11.1", | ||
| 3976 | "block2 0.5.1", | ||
| 3977 | "bytemuck", | ||
| 3978 | "calloop 0.13.0", | ||
| 3979 | "cfg_aliases", | ||
| 3980 | "concurrent-queue", | ||
| 3981 | "core-foundation 0.9.4", | ||
| 3982 | "core-graphics", | ||
| 3983 | "cursor-icon", | ||
| 3984 | "dpi", | ||
| 3985 | "js-sys", | ||
| 3986 | "libc", | ||
| 3987 | "memmap2", | ||
| 3988 | "ndk", | ||
| 3989 | "objc2 0.5.2", | ||
| 3990 | "objc2-app-kit 0.2.2", | ||
| 3991 | "objc2-foundation 0.2.2", | ||
| 3992 | "objc2-ui-kit 0.2.2", | ||
| 3993 | "orbclient", | ||
| 3994 | "percent-encoding", | ||
| 3995 | "pin-project", | ||
| 3996 | "raw-window-handle", | ||
| 3997 | "redox_syscall 0.4.1", | ||
| 3998 | "rustix 0.38.44", | ||
| 3999 | "sctk-adwaita", | ||
| 4000 | "smithay-client-toolkit 0.19.2", | ||
| 4001 | "smol_str", | ||
| 4002 | "tracing", | ||
| 4003 | "unicode-segmentation", | ||
| 4004 | "wasm-bindgen", | ||
| 4005 | "wasm-bindgen-futures", | ||
| 4006 | "wayland-backend", | ||
| 4007 | "wayland-client", | ||
| 4008 | "wayland-protocols", | ||
| 4009 | "wayland-protocols-plasma", | ||
| 4010 | "web-sys", | ||
| 4011 | "web-time", | ||
| 4012 | "windows-sys 0.52.0", | ||
| 4013 | "x11-dl", | ||
| 4014 | "x11rb", | ||
| 4015 | "xkbcommon-dl", | ||
| 4016 | ] | ||
| 4017 | |||
| 4018 | [[package]] | ||
| 4019 | name = "winnow" | ||
| 4020 | version = "1.0.3" | ||
| 4021 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4022 | checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1" | ||
| 4023 | dependencies = [ | ||
| 4024 | "memchr", | ||
| 4025 | ] | ||
| 4026 | |||
| 4027 | [[package]] | ||
| 4028 | name = "wit-bindgen" | ||
| 4029 | version = "0.51.0" | ||
| 4030 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4031 | checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" | ||
| 4032 | dependencies = [ | ||
| 4033 | "wit-bindgen-rust-macro", | ||
| 4034 | ] | ||
| 4035 | |||
| 4036 | [[package]] | ||
| 4037 | name = "wit-bindgen" | ||
| 4038 | version = "0.57.1" | ||
| 4039 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4040 | checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" | ||
| 4041 | |||
| 4042 | [[package]] | ||
| 4043 | name = "wit-bindgen-core" | ||
| 4044 | version = "0.51.0" | ||
| 4045 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4046 | checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" | ||
| 4047 | dependencies = [ | ||
| 4048 | "anyhow", | ||
| 4049 | "heck", | ||
| 4050 | "wit-parser", | ||
| 4051 | ] | ||
| 4052 | |||
| 4053 | [[package]] | ||
| 4054 | name = "wit-bindgen-rust" | ||
| 4055 | version = "0.51.0" | ||
| 4056 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4057 | checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" | ||
| 4058 | dependencies = [ | ||
| 4059 | "anyhow", | ||
| 4060 | "heck", | ||
| 4061 | "indexmap", | ||
| 4062 | "prettyplease", | ||
| 4063 | "syn", | ||
| 4064 | "wasm-metadata", | ||
| 4065 | "wit-bindgen-core", | ||
| 4066 | "wit-component", | ||
| 4067 | ] | ||
| 4068 | |||
| 4069 | [[package]] | ||
| 4070 | name = "wit-bindgen-rust-macro" | ||
| 4071 | version = "0.51.0" | ||
| 4072 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4073 | checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" | ||
| 4074 | dependencies = [ | ||
| 4075 | "anyhow", | ||
| 4076 | "prettyplease", | ||
| 4077 | "proc-macro2", | ||
| 4078 | "quote", | ||
| 4079 | "syn", | ||
| 4080 | "wit-bindgen-core", | ||
| 4081 | "wit-bindgen-rust", | ||
| 4082 | ] | ||
| 4083 | |||
| 4084 | [[package]] | ||
| 4085 | name = "wit-component" | ||
| 4086 | version = "0.244.0" | ||
| 4087 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4088 | checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" | ||
| 4089 | dependencies = [ | ||
| 4090 | "anyhow", | ||
| 4091 | "bitflags 2.11.1", | ||
| 4092 | "indexmap", | ||
| 4093 | "log", | ||
| 4094 | "serde", | ||
| 4095 | "serde_derive", | ||
| 4096 | "serde_json", | ||
| 4097 | "wasm-encoder", | ||
| 4098 | "wasm-metadata", | ||
| 4099 | "wasmparser", | ||
| 4100 | "wit-parser", | ||
| 4101 | ] | ||
| 4102 | |||
| 4103 | [[package]] | ||
| 4104 | name = "wit-parser" | ||
| 4105 | version = "0.244.0" | ||
| 4106 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4107 | checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" | ||
| 4108 | dependencies = [ | ||
| 4109 | "anyhow", | ||
| 4110 | "id-arena", | ||
| 4111 | "indexmap", | ||
| 4112 | "log", | ||
| 4113 | "semver", | ||
| 4114 | "serde", | ||
| 4115 | "serde_derive", | ||
| 4116 | "serde_json", | ||
| 4117 | "unicode-xid", | ||
| 4118 | "wasmparser", | ||
| 4119 | ] | ||
| 4120 | |||
| 4121 | [[package]] | ||
| 4122 | name = "writeable" | ||
| 4123 | version = "0.6.3" | ||
| 4124 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4125 | checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" | ||
| 4126 | |||
| 4127 | [[package]] | ||
| 4128 | name = "x11-dl" | ||
| 4129 | version = "2.21.0" | ||
| 4130 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4131 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" | ||
| 4132 | dependencies = [ | ||
| 4133 | "libc", | ||
| 4134 | "once_cell", | ||
| 4135 | "pkg-config", | ||
| 4136 | ] | ||
| 4137 | |||
| 4138 | [[package]] | ||
| 4139 | name = "x11rb" | ||
| 4140 | version = "0.13.2" | ||
| 4141 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4142 | checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" | ||
| 4143 | dependencies = [ | ||
| 4144 | "as-raw-xcb-connection", | ||
| 4145 | "gethostname", | ||
| 4146 | "libc", | ||
| 4147 | "libloading", | ||
| 4148 | "once_cell", | ||
| 4149 | "rustix 1.1.4", | ||
| 4150 | "x11rb-protocol", | ||
| 4151 | ] | ||
| 4152 | |||
| 4153 | [[package]] | ||
| 4154 | name = "x11rb-protocol" | ||
| 4155 | version = "0.13.2" | ||
| 4156 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4157 | checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" | ||
| 4158 | |||
| 4159 | [[package]] | ||
| 4160 | name = "xcursor" | ||
| 4161 | version = "0.3.10" | ||
| 4162 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4163 | checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b" | ||
| 4164 | |||
| 4165 | [[package]] | ||
| 4166 | name = "xkbcommon" | ||
| 4167 | version = "0.9.0" | ||
| 4168 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4169 | checksum = "a7a974f48060a14e95705c01f24ad9c3345022f4d97441b8a36beb7ed5c4a02d" | ||
| 4170 | dependencies = [ | ||
| 4171 | "libc", | ||
| 4172 | "memmap2", | ||
| 4173 | "xkeysym", | ||
| 4174 | ] | ||
| 4175 | |||
| 4176 | [[package]] | ||
| 4177 | name = "xkbcommon-dl" | ||
| 4178 | version = "0.4.2" | ||
| 4179 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4180 | checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" | ||
| 4181 | dependencies = [ | ||
| 4182 | "bitflags 2.11.1", | ||
| 4183 | "dlib", | ||
| 4184 | "log", | ||
| 4185 | "once_cell", | ||
| 4186 | "xkeysym", | ||
| 4187 | ] | ||
| 4188 | |||
| 4189 | [[package]] | ||
| 4190 | name = "xkbpreview" | ||
| 4191 | version = "0.1.0" | ||
| 4192 | dependencies = [ | ||
| 4193 | "eframe", | ||
| 4194 | "x11rb", | ||
| 4195 | "xkbcommon", | ||
| 4196 | ] | ||
| 4197 | |||
| 4198 | [[package]] | ||
| 4199 | name = "xkeysym" | ||
| 4200 | version = "0.2.1" | ||
| 4201 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4202 | checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" | ||
| 4203 | |||
| 4204 | [[package]] | ||
| 4205 | name = "xml-rs" | ||
| 4206 | version = "0.8.28" | ||
| 4207 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4208 | checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" | ||
| 4209 | |||
| 4210 | [[package]] | ||
| 4211 | name = "yoke" | ||
| 4212 | version = "0.8.2" | ||
| 4213 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4214 | checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" | ||
| 4215 | dependencies = [ | ||
| 4216 | "stable_deref_trait", | ||
| 4217 | "yoke-derive", | ||
| 4218 | "zerofrom", | ||
| 4219 | ] | ||
| 4220 | |||
| 4221 | [[package]] | ||
| 4222 | name = "yoke-derive" | ||
| 4223 | version = "0.8.2" | ||
| 4224 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4225 | checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" | ||
| 4226 | dependencies = [ | ||
| 4227 | "proc-macro2", | ||
| 4228 | "quote", | ||
| 4229 | "syn", | ||
| 4230 | "synstructure", | ||
| 4231 | ] | ||
| 4232 | |||
| 4233 | [[package]] | ||
| 4234 | name = "zbus" | ||
| 4235 | version = "5.15.0" | ||
| 4236 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4237 | checksum = "c3bcbf15c8708d7fc1be0c993622e0a5cbd5e8b52bfa40afa4c3e0cd8d724ac1" | ||
| 4238 | dependencies = [ | ||
| 4239 | "async-broadcast", | ||
| 4240 | "async-executor", | ||
| 4241 | "async-io", | ||
| 4242 | "async-lock", | ||
| 4243 | "async-process", | ||
| 4244 | "async-recursion", | ||
| 4245 | "async-task", | ||
| 4246 | "async-trait", | ||
| 4247 | "blocking", | ||
| 4248 | "enumflags2", | ||
| 4249 | "event-listener", | ||
| 4250 | "futures-core", | ||
| 4251 | "futures-lite", | ||
| 4252 | "hex", | ||
| 4253 | "libc", | ||
| 4254 | "ordered-stream", | ||
| 4255 | "rustix 1.1.4", | ||
| 4256 | "serde", | ||
| 4257 | "serde_repr", | ||
| 4258 | "tracing", | ||
| 4259 | "uds_windows", | ||
| 4260 | "uuid", | ||
| 4261 | "windows-sys 0.61.2", | ||
| 4262 | "winnow", | ||
| 4263 | "zbus_macros", | ||
| 4264 | "zbus_names", | ||
| 4265 | "zvariant", | ||
| 4266 | ] | ||
| 4267 | |||
| 4268 | [[package]] | ||
| 4269 | name = "zbus-lockstep" | ||
| 4270 | version = "0.5.2" | ||
| 4271 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4272 | checksum = "6998de05217a084b7578728a9443d04ea4cd80f2a0839b8d78770b76ccd45863" | ||
| 4273 | dependencies = [ | ||
| 4274 | "zbus_xml", | ||
| 4275 | "zvariant", | ||
| 4276 | ] | ||
| 4277 | |||
| 4278 | [[package]] | ||
| 4279 | name = "zbus-lockstep-macros" | ||
| 4280 | version = "0.5.2" | ||
| 4281 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4282 | checksum = "10da05367f3a7b7553c8cdf8fa91aee6b64afebe32b51c95177957efc47ca3a0" | ||
| 4283 | dependencies = [ | ||
| 4284 | "proc-macro2", | ||
| 4285 | "quote", | ||
| 4286 | "syn", | ||
| 4287 | "zbus-lockstep", | ||
| 4288 | "zbus_xml", | ||
| 4289 | "zvariant", | ||
| 4290 | ] | ||
| 4291 | |||
| 4292 | [[package]] | ||
| 4293 | name = "zbus_macros" | ||
| 4294 | version = "5.15.0" | ||
| 4295 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4296 | checksum = "51fa5406ad9175a8c825a931f8cf347116b531b3634fcb0b627c290f1f2516ff" | ||
| 4297 | dependencies = [ | ||
| 4298 | "proc-macro-crate", | ||
| 4299 | "proc-macro2", | ||
| 4300 | "quote", | ||
| 4301 | "syn", | ||
| 4302 | "zbus_names", | ||
| 4303 | "zvariant", | ||
| 4304 | "zvariant_utils", | ||
| 4305 | ] | ||
| 4306 | |||
| 4307 | [[package]] | ||
| 4308 | name = "zbus_names" | ||
| 4309 | version = "4.3.2" | ||
| 4310 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4311 | checksum = "7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d" | ||
| 4312 | dependencies = [ | ||
| 4313 | "serde", | ||
| 4314 | "winnow", | ||
| 4315 | "zvariant", | ||
| 4316 | ] | ||
| 4317 | |||
| 4318 | [[package]] | ||
| 4319 | name = "zbus_xml" | ||
| 4320 | version = "5.1.1" | ||
| 4321 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4322 | checksum = "a8067892e940ed1727dea64690378601603b31d62dfde019a5335fbb7c0e0ed9" | ||
| 4323 | dependencies = [ | ||
| 4324 | "quick-xml", | ||
| 4325 | "serde", | ||
| 4326 | "zbus_names", | ||
| 4327 | "zvariant", | ||
| 4328 | ] | ||
| 4329 | |||
| 4330 | [[package]] | ||
| 4331 | name = "zerocopy" | ||
| 4332 | version = "0.8.48" | ||
| 4333 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4334 | checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" | ||
| 4335 | dependencies = [ | ||
| 4336 | "zerocopy-derive", | ||
| 4337 | ] | ||
| 4338 | |||
| 4339 | [[package]] | ||
| 4340 | name = "zerocopy-derive" | ||
| 4341 | version = "0.8.48" | ||
| 4342 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4343 | checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" | ||
| 4344 | dependencies = [ | ||
| 4345 | "proc-macro2", | ||
| 4346 | "quote", | ||
| 4347 | "syn", | ||
| 4348 | ] | ||
| 4349 | |||
| 4350 | [[package]] | ||
| 4351 | name = "zerofrom" | ||
| 4352 | version = "0.1.8" | ||
| 4353 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4354 | checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" | ||
| 4355 | dependencies = [ | ||
| 4356 | "zerofrom-derive", | ||
| 4357 | ] | ||
| 4358 | |||
| 4359 | [[package]] | ||
| 4360 | name = "zerofrom-derive" | ||
| 4361 | version = "0.1.7" | ||
| 4362 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4363 | checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" | ||
| 4364 | dependencies = [ | ||
| 4365 | "proc-macro2", | ||
| 4366 | "quote", | ||
| 4367 | "syn", | ||
| 4368 | "synstructure", | ||
| 4369 | ] | ||
| 4370 | |||
| 4371 | [[package]] | ||
| 4372 | name = "zerotrie" | ||
| 4373 | version = "0.2.4" | ||
| 4374 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4375 | checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" | ||
| 4376 | dependencies = [ | ||
| 4377 | "displaydoc", | ||
| 4378 | "yoke", | ||
| 4379 | "zerofrom", | ||
| 4380 | ] | ||
| 4381 | |||
| 4382 | [[package]] | ||
| 4383 | name = "zerovec" | ||
| 4384 | version = "0.11.6" | ||
| 4385 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4386 | checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" | ||
| 4387 | dependencies = [ | ||
| 4388 | "yoke", | ||
| 4389 | "zerofrom", | ||
| 4390 | "zerovec-derive", | ||
| 4391 | ] | ||
| 4392 | |||
| 4393 | [[package]] | ||
| 4394 | name = "zerovec-derive" | ||
| 4395 | version = "0.11.3" | ||
| 4396 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4397 | checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" | ||
| 4398 | dependencies = [ | ||
| 4399 | "proc-macro2", | ||
| 4400 | "quote", | ||
| 4401 | "syn", | ||
| 4402 | ] | ||
| 4403 | |||
| 4404 | [[package]] | ||
| 4405 | name = "zmij" | ||
| 4406 | version = "1.0.21" | ||
| 4407 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4408 | checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" | ||
| 4409 | |||
| 4410 | [[package]] | ||
| 4411 | name = "zune-core" | ||
| 4412 | version = "0.5.1" | ||
| 4413 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4414 | checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" | ||
| 4415 | |||
| 4416 | [[package]] | ||
| 4417 | name = "zune-jpeg" | ||
| 4418 | version = "0.5.15" | ||
| 4419 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4420 | checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" | ||
| 4421 | dependencies = [ | ||
| 4422 | "zune-core", | ||
| 4423 | ] | ||
| 4424 | |||
| 4425 | [[package]] | ||
| 4426 | name = "zvariant" | ||
| 4427 | version = "5.11.0" | ||
| 4428 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4429 | checksum = "1c1567a6ec68df868cbbfde844cfc6d81649fe5109a62b116b19fabd53e618ee" | ||
| 4430 | dependencies = [ | ||
| 4431 | "endi", | ||
| 4432 | "enumflags2", | ||
| 4433 | "serde", | ||
| 4434 | "winnow", | ||
| 4435 | "zvariant_derive", | ||
| 4436 | "zvariant_utils", | ||
| 4437 | ] | ||
| 4438 | |||
| 4439 | [[package]] | ||
| 4440 | name = "zvariant_derive" | ||
| 4441 | version = "5.11.0" | ||
| 4442 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4443 | checksum = "c7d5b780599bbde114e39d9a0799577fad1ced5105d38515745f7b3099d8ceda" | ||
| 4444 | dependencies = [ | ||
| 4445 | "proc-macro-crate", | ||
| 4446 | "proc-macro2", | ||
| 4447 | "quote", | ||
| 4448 | "syn", | ||
| 4449 | "zvariant_utils", | ||
| 4450 | ] | ||
| 4451 | |||
| 4452 | [[package]] | ||
| 4453 | name = "zvariant_utils" | ||
| 4454 | version = "3.3.1" | ||
| 4455 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
| 4456 | checksum = "6d464f5733ffa07a3164d656f18533caace9d0638596721355d73256a410d691" | ||
| 4457 | dependencies = [ | ||
| 4458 | "proc-macro2", | ||
| 4459 | "quote", | ||
| 4460 | "serde", | ||
| 4461 | "syn", | ||
| 4462 | "winnow", | ||
| 4463 | ] | ||
diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..b91b603 --- /dev/null +++ b/Cargo.toml | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | [package] | ||
| 2 | name = "xkbpreview" | ||
| 3 | version = "0.1.0" | ||
| 4 | edition = "2024" | ||
| 5 | |||
| 6 | [dependencies] | ||
| 7 | eframe = "0.34" | ||
| 8 | xkbcommon = "0.9" | ||
| 9 | x11rb = { version = "0.13", features = ["xkb"] } | ||
diff --git a/src/keymap.rs b/src/keymap.rs new file mode 100644 index 0000000..d14f9ab --- /dev/null +++ b/src/keymap.rs | |||
| @@ -0,0 +1,253 @@ | |||
| 1 | use crate::layout; | ||
| 2 | use crate::x11; | ||
| 3 | |||
| 4 | use xkbcommon::xkb; | ||
| 5 | |||
| 6 | #[derive(Debug, Clone)] | ||
| 7 | pub enum KeyKind { | ||
| 8 | Normal, | ||
| 9 | Shift, | ||
| 10 | Level3, | ||
| 11 | Lock, | ||
| 12 | Control, | ||
| 13 | Alt, | ||
| 14 | Super, | ||
| 15 | } | ||
| 16 | |||
| 17 | #[derive(Debug, Clone)] | ||
| 18 | pub struct KeyEntry { | ||
| 19 | pub labels: [[String; 4]; 4], | ||
| 20 | pub kind: KeyKind, | ||
| 21 | pub dead: [[bool; 4]; 4], | ||
| 22 | pub pos: layout::KeyPos, | ||
| 23 | } | ||
| 24 | |||
| 25 | #[derive(Debug, Clone)] | ||
| 26 | pub struct KeyData { | ||
| 27 | pub keys: Vec<KeyEntry>, | ||
| 28 | pub layouts: Vec<String>, | ||
| 29 | pub is_iso: bool, | ||
| 30 | } | ||
| 31 | |||
| 32 | fn dead_display(name: &str) -> &'static str { | ||
| 33 | match name.to_lowercase().as_str() { | ||
| 34 | "dead_grave" => "`", | ||
| 35 | "dead_acute" => "'", | ||
| 36 | "dead_circumflex" => "^", | ||
| 37 | "dead_tilde" => "~", | ||
| 38 | "dead_macron" => "-", | ||
| 39 | "dead_breve" => "u", | ||
| 40 | "dead_abovedot" => ".", | ||
| 41 | "dead_diaeresis" => "\"", | ||
| 42 | "dead_caron" => "v", | ||
| 43 | "dead_cedilla" => ",", | ||
| 44 | "dead_ogonek" => "~", | ||
| 45 | "dead_doubleacute" => "\"", | ||
| 46 | "dead_stroke" => "/", | ||
| 47 | "dead_hook" => "?", | ||
| 48 | "dead_horn" => "?", | ||
| 49 | "dead_psili" => "'", | ||
| 50 | "dead_dasia" => "'", | ||
| 51 | "dead_iota" => "i", | ||
| 52 | "dead_voiced_sound" => "\"", | ||
| 53 | "dead_semivoiced_sound" => "o", | ||
| 54 | _ => "?", | ||
| 55 | } | ||
| 56 | } | ||
| 57 | |||
| 58 | fn keysym_to_display(sym: xkb::Keysym) -> String { | ||
| 59 | let utf8 = xkb::keysym_to_utf8(sym); | ||
| 60 | let trimmed = utf8.trim().to_string(); | ||
| 61 | if !trimmed.is_empty() { | ||
| 62 | let name = xkb::keysym_get_name(sym); | ||
| 63 | if name.to_lowercase().starts_with("dead_") { | ||
| 64 | return dead_display(&name).to_string(); | ||
| 65 | } | ||
| 66 | return trimmed; | ||
| 67 | } | ||
| 68 | let name = xkb::keysym_get_name(sym); | ||
| 69 | if name.to_lowercase().starts_with("dead_") { | ||
| 70 | return dead_display(&name).to_string(); | ||
| 71 | } | ||
| 72 | match sym { | ||
| 73 | xkb::Keysym::Shift_L | xkb::Keysym::Shift_R => "Shift".into(), | ||
| 74 | xkb::Keysym::ISO_Level3_Shift => "AltGr".into(), | ||
| 75 | xkb::Keysym::Control_L | xkb::Keysym::Control_R => "Ctrl".into(), | ||
| 76 | xkb::Keysym::Alt_L | xkb::Keysym::Alt_R => "Alt".into(), | ||
| 77 | xkb::Keysym::Super_L | xkb::Keysym::Super_R => "Super".into(), | ||
| 78 | xkb::Keysym::Menu => "Menu".into(), | ||
| 79 | xkb::Keysym::Caps_Lock => "Caps".into(), | ||
| 80 | xkb::Keysym::Tab => "Tab".into(), | ||
| 81 | xkb::Keysym::Return => "Enter".into(), | ||
| 82 | xkb::Keysym::Escape => "Esc".into(), | ||
| 83 | xkb::Keysym::BackSpace => "Bksp".into(), | ||
| 84 | xkb::Keysym::space => " ".into(), | ||
| 85 | xkb::Keysym::Delete => "Del".into(), | ||
| 86 | xkb::Keysym::Insert => "Ins".into(), | ||
| 87 | xkb::Keysym::Home => "Home".into(), | ||
| 88 | xkb::Keysym::End => "End".into(), | ||
| 89 | xkb::Keysym::Page_Up => "PgUp".into(), | ||
| 90 | xkb::Keysym::Page_Down => "PgDn".into(), | ||
| 91 | xkb::Keysym::Up => "^".into(), | ||
| 92 | xkb::Keysym::Down => "v".into(), | ||
| 93 | xkb::Keysym::Left => "<".into(), | ||
| 94 | xkb::Keysym::Right => ">".into(), | ||
| 95 | xkb::Keysym::KP_Enter => "Enter".into(), | ||
| 96 | xkb::Keysym::Num_Lock => "Num".into(), | ||
| 97 | xkb::Keysym::Scroll_Lock => "Scrl".into(), | ||
| 98 | xkb::Keysym::Pause => "Pause".into(), | ||
| 99 | xkb::Keysym::Print => "PrtSc".into(), | ||
| 100 | _ => name, | ||
| 101 | } | ||
| 102 | } | ||
| 103 | |||
| 104 | fn detect_key_kind(syms: &[xkb::Keysym]) -> KeyKind { | ||
| 105 | for &sym in syms { | ||
| 106 | match sym { | ||
| 107 | xkb::Keysym::Shift_L | xkb::Keysym::Shift_R => return KeyKind::Shift, | ||
| 108 | xkb::Keysym::ISO_Level3_Shift => return KeyKind::Level3, | ||
| 109 | xkb::Keysym::Caps_Lock => return KeyKind::Lock, | ||
| 110 | xkb::Keysym::Control_L | xkb::Keysym::Control_R => return KeyKind::Control, | ||
| 111 | xkb::Keysym::Alt_L | xkb::Keysym::Alt_R => return KeyKind::Alt, | ||
| 112 | xkb::Keysym::Super_L | xkb::Keysym::Super_R => return KeyKind::Super, | ||
| 113 | _ => {} | ||
| 114 | } | ||
| 115 | } | ||
| 116 | KeyKind::Normal | ||
| 117 | } | ||
| 118 | |||
| 119 | fn is_keysym_dead(sym: xkb::Keysym) -> bool { | ||
| 120 | xkb::keysym_get_name(sym).to_lowercase().starts_with("dead_") | ||
| 121 | } | ||
| 122 | |||
| 123 | pub fn level_from_x11_modmask(mask: u16) -> usize { | ||
| 124 | let shift = mask & 0x01 != 0; | ||
| 125 | let altgr = mask & 0x80 != 0; | ||
| 126 | match (shift, altgr) { | ||
| 127 | (false, false) => 0, | ||
| 128 | (true, false) => 1, | ||
| 129 | (false, true) => 2, | ||
| 130 | (true, true) => 3, | ||
| 131 | } | ||
| 132 | } | ||
| 133 | |||
| 134 | struct RawKey { | ||
| 135 | name: String, | ||
| 136 | labels: [[String; 4]; 4], | ||
| 137 | dead: [[bool; 4]; 4], | ||
| 138 | kind: KeyKind, | ||
| 139 | } | ||
| 140 | |||
| 141 | fn detect_is_iso(model: &str, keymap_has_lsgt: bool) -> bool { | ||
| 142 | if model.contains("105") || model.contains("102") || model.contains("98") { | ||
| 143 | return true; | ||
| 144 | } | ||
| 145 | if model.contains("101") || model.contains("104") || model.contains("106") { | ||
| 146 | return false; | ||
| 147 | } | ||
| 148 | keymap_has_lsgt | ||
| 149 | } | ||
| 150 | |||
| 151 | pub fn compile_keymap(names: &x11::RuleNames) -> Result<KeyData, String> { | ||
| 152 | let context = xkb::Context::new(xkb::CONTEXT_NO_FLAGS); | ||
| 153 | |||
| 154 | let options = Some(names.options.clone()); | ||
| 155 | |||
| 156 | let keymap = xkb::Keymap::new_from_names( | ||
| 157 | &context, | ||
| 158 | &names.rules, | ||
| 159 | &names.model, | ||
| 160 | &names.layout, | ||
| 161 | &names.variant, | ||
| 162 | options, | ||
| 163 | xkb::KEYMAP_COMPILE_NO_FLAGS, | ||
| 164 | ) | ||
| 165 | .ok_or_else(|| "failed to compile keymap".to_string())?; | ||
| 166 | |||
| 167 | let num_groups = keymap.num_layouts() as usize; | ||
| 168 | |||
| 169 | let layouts: Vec<String> = if names.layout.is_empty() || num_groups <= 1 { | ||
| 170 | vec![if names.layout.is_empty() { | ||
| 171 | "default".into() | ||
| 172 | } else { | ||
| 173 | names.layout.clone() | ||
| 174 | }] | ||
| 175 | } else { | ||
| 176 | let layout_parts: Vec<&str> = names.layout.split(',').collect(); | ||
| 177 | let variant_parts: Vec<&str> = if names.variant.is_empty() { | ||
| 178 | vec![] | ||
| 179 | } else { | ||
| 180 | names.variant.split(',').collect() | ||
| 181 | }; | ||
| 182 | layout_parts | ||
| 183 | .iter() | ||
| 184 | .enumerate() | ||
| 185 | .map(|(i, l)| { | ||
| 186 | let v = variant_parts.get(i).filter(|v| !v.is_empty()); | ||
| 187 | match v { | ||
| 188 | Some(v) => format!("{}({})", l, v), | ||
| 189 | None => l.to_string(), | ||
| 190 | } | ||
| 191 | }) | ||
| 192 | .collect() | ||
| 193 | }; | ||
| 194 | |||
| 195 | layout::reset_default_pos(); | ||
| 196 | |||
| 197 | let mut raw = Vec::new(); | ||
| 198 | let mut has_lsgt = false; | ||
| 199 | |||
| 200 | keymap.key_for_each(|km, kc| { | ||
| 201 | let name = match km.key_get_name(kc) { | ||
| 202 | Some(n) => n.to_string(), | ||
| 203 | None => return, | ||
| 204 | }; | ||
| 205 | |||
| 206 | if name == "LSGT" { | ||
| 207 | has_lsgt = true; | ||
| 208 | } | ||
| 209 | |||
| 210 | let mut labels: [[String; 4]; 4] = Default::default(); | ||
| 211 | let mut dead = [[false; 4]; 4]; | ||
| 212 | let mut all_syms = Vec::new(); | ||
| 213 | |||
| 214 | for group in 0..num_groups.min(4) { | ||
| 215 | for level in 0..4_u32 { | ||
| 216 | let syms = km.key_get_syms_by_level(kc, group as u32, level); | ||
| 217 | let li = level as usize; | ||
| 218 | if syms.is_empty() { | ||
| 219 | labels[group][li] = String::new(); | ||
| 220 | } else { | ||
| 221 | let display: Vec<String> = | ||
| 222 | syms.iter().map(|&s| keysym_to_display(s)).collect(); | ||
| 223 | labels[group][li] = display.join(" "); | ||
| 224 | dead[group][li] = syms.iter().any(|&s| is_keysym_dead(s)); | ||
| 225 | all_syms.extend_from_slice(syms); | ||
| 226 | } | ||
| 227 | } | ||
| 228 | } | ||
| 229 | |||
| 230 | let kind = detect_key_kind(&all_syms); | ||
| 231 | |||
| 232 | raw.push(RawKey { name, labels, dead, kind }); | ||
| 233 | }); | ||
| 234 | |||
| 235 | let is_iso = detect_is_iso(&names.model, has_lsgt); | ||
| 236 | |||
| 237 | let keys: Vec<KeyEntry> = raw | ||
| 238 | .into_iter() | ||
| 239 | .filter(|k| !(k.name == "LSGT" && !is_iso)) | ||
| 240 | .map(|k| KeyEntry { | ||
| 241 | pos: layout::resolve_position(&k.name, is_iso), | ||
| 242 | labels: k.labels, | ||
| 243 | dead: k.dead, | ||
| 244 | kind: k.kind, | ||
| 245 | }) | ||
| 246 | .collect(); | ||
| 247 | |||
| 248 | Ok(KeyData { | ||
| 249 | keys, | ||
| 250 | layouts, | ||
| 251 | is_iso, | ||
| 252 | }) | ||
| 253 | } | ||
diff --git a/src/layout.rs b/src/layout.rs new file mode 100644 index 0000000..4dad3fb --- /dev/null +++ b/src/layout.rs | |||
| @@ -0,0 +1,171 @@ | |||
| 1 | #[derive(Debug, Clone, Copy)] | ||
| 2 | pub struct KeyPos { | ||
| 3 | pub row: usize, | ||
| 4 | pub col: f32, | ||
| 5 | pub width: f32, | ||
| 6 | } | ||
| 7 | |||
| 8 | fn ansi_row0(name: &str) -> Option<KeyPos> { | ||
| 9 | let keys: &[(&str, f32, f32)] = &[ | ||
| 10 | ("ESC", 0.0, 1.0), | ||
| 11 | ("TLDE", 1.0, 1.0), | ||
| 12 | ("AE01", 2.0, 1.0), | ||
| 13 | ("AE02", 3.0, 1.0), | ||
| 14 | ("AE03", 4.0, 1.0), | ||
| 15 | ("AE04", 5.0, 1.0), | ||
| 16 | ("AE05", 6.0, 1.0), | ||
| 17 | ("AE06", 7.0, 1.0), | ||
| 18 | ("AE07", 8.0, 1.0), | ||
| 19 | ("AE08", 9.0, 1.0), | ||
| 20 | ("AE09", 10.0, 1.0), | ||
| 21 | ("AE10", 11.0, 1.0), | ||
| 22 | ("AE11", 12.0, 1.0), | ||
| 23 | ("AE12", 13.0, 1.0), | ||
| 24 | ("BKSP", 14.0, 1.5), | ||
| 25 | ]; | ||
| 26 | keys.iter().find(|(n, _, _)| *n == name).map(|(_, c, w)| KeyPos { row: 0, col: *c, width: *w }) | ||
| 27 | } | ||
| 28 | |||
| 29 | fn ansi_row1(name: &str) -> Option<KeyPos> { | ||
| 30 | let keys: &[(&str, f32, f32)] = &[ | ||
| 31 | ("TAB", 0.0, 1.5), | ||
| 32 | ("AD01", 1.5, 1.0), | ||
| 33 | ("AD02", 2.5, 1.0), | ||
| 34 | ("AD03", 3.5, 1.0), | ||
| 35 | ("AD04", 4.5, 1.0), | ||
| 36 | ("AD05", 5.5, 1.0), | ||
| 37 | ("AD06", 6.5, 1.0), | ||
| 38 | ("AD07", 7.5, 1.0), | ||
| 39 | ("AD08", 8.5, 1.0), | ||
| 40 | ("AD09", 9.5, 1.0), | ||
| 41 | ("AD10", 10.5, 1.0), | ||
| 42 | ("AD11", 11.5, 1.0), | ||
| 43 | ("AD12", 12.5, 1.0), | ||
| 44 | ("BKSL", 13.5, 1.5), | ||
| 45 | ]; | ||
| 46 | keys.iter().find(|(n, _, _)| *n == name).map(|(_, c, w)| KeyPos { row: 1, col: *c, width: *w }) | ||
| 47 | } | ||
| 48 | |||
| 49 | fn ansi_row2(name: &str) -> Option<KeyPos> { | ||
| 50 | let keys: &[(&str, f32, f32)] = &[ | ||
| 51 | ("CAPS", 0.0, 1.75), | ||
| 52 | ("AC01", 1.75, 1.0), | ||
| 53 | ("AC02", 2.75, 1.0), | ||
| 54 | ("AC03", 3.75, 1.0), | ||
| 55 | ("AC04", 4.75, 1.0), | ||
| 56 | ("AC05", 5.75, 1.0), | ||
| 57 | ("AC06", 6.75, 1.0), | ||
| 58 | ("AC07", 7.75, 1.0), | ||
| 59 | ("AC08", 8.75, 1.0), | ||
| 60 | ("AC09", 9.75, 1.0), | ||
| 61 | ("AC10", 10.75, 1.0), | ||
| 62 | ("AC11", 11.75, 1.0), | ||
| 63 | ("RET", 12.75, 2.25), | ||
| 64 | ]; | ||
| 65 | keys.iter().find(|(n, _, _)| *n == name).map(|(_, c, w)| KeyPos { row: 2, col: *c, width: *w }) | ||
| 66 | } | ||
| 67 | |||
| 68 | fn ansi_row3(name: &str) -> Option<KeyPos> { | ||
| 69 | let keys: &[(&str, f32, f32)] = &[ | ||
| 70 | ("LFSH", 0.0, 2.25), | ||
| 71 | ("AB01", 2.25, 1.0), | ||
| 72 | ("AB02", 3.25, 1.0), | ||
| 73 | ("AB03", 4.25, 1.0), | ||
| 74 | ("AB04", 5.25, 1.0), | ||
| 75 | ("AB05", 6.25, 1.0), | ||
| 76 | ("AB06", 7.25, 1.0), | ||
| 77 | ("AB07", 8.25, 1.0), | ||
| 78 | ("AB08", 9.25, 1.0), | ||
| 79 | ("AB09", 10.25, 1.0), | ||
| 80 | ("AB10", 11.25, 1.0), | ||
| 81 | ("RTSH", 12.25, 2.75), | ||
| 82 | ]; | ||
| 83 | keys.iter().find(|(n, _, _)| *n == name).map(|(_, c, w)| KeyPos { row: 3, col: *c, width: *w }) | ||
| 84 | } | ||
| 85 | |||
| 86 | fn ansi_row4(name: &str) -> Option<KeyPos> { | ||
| 87 | let keys: &[(&str, f32, f32)] = &[ | ||
| 88 | ("LCTL", 0.0, 1.25), | ||
| 89 | ("LWIN", 1.25, 1.25), | ||
| 90 | ("LALT", 2.50, 1.25), | ||
| 91 | ("SPCE", 3.75, 6.25), | ||
| 92 | ("RALT", 10.0, 1.25), | ||
| 93 | ("RWIN", 11.25, 1.25), | ||
| 94 | ("MENU", 12.50, 1.25), | ||
| 95 | ("RCTL", 13.75, 1.25), | ||
| 96 | ]; | ||
| 97 | keys.iter().find(|(n, _, _)| *n == name).map(|(_, c, w)| KeyPos { row: 4, col: *c, width: *w }) | ||
| 98 | } | ||
| 99 | |||
| 100 | fn iso_row3(name: &str, _has_lsgt: bool) -> Option<KeyPos> { | ||
| 101 | let keys: &[(&str, f32, f32)] = &[ | ||
| 102 | ("LFSH", 0.0, 1.25), | ||
| 103 | ("LSGT", 1.25, 1.0), | ||
| 104 | ("AB01", 2.25, 1.0), | ||
| 105 | ("AB02", 3.25, 1.0), | ||
| 106 | ("AB03", 4.25, 1.0), | ||
| 107 | ("AB04", 5.25, 1.0), | ||
| 108 | ("AB05", 6.25, 1.0), | ||
| 109 | ("AB06", 7.25, 1.0), | ||
| 110 | ("AB07", 8.25, 1.0), | ||
| 111 | ("AB08", 9.25, 1.0), | ||
| 112 | ("AB09", 10.25, 1.0), | ||
| 113 | ("AB10", 11.25, 1.0), | ||
| 114 | ("RTSH", 12.25, 2.75), | ||
| 115 | ]; | ||
| 116 | keys.iter().find(|(n, _, _)| *n == name).map(|(_, c, w)| KeyPos { row: 3, col: *c, width: *w }) | ||
| 117 | } | ||
| 118 | |||
| 119 | fn iso_row2(name: &str) -> Option<KeyPos> { | ||
| 120 | let keys: &[(&str, f32, f32)] = &[ | ||
| 121 | ("CAPS", 0.0, 1.75), | ||
| 122 | ("AC01", 1.75, 1.0), | ||
| 123 | ("AC02", 2.75, 1.0), | ||
| 124 | ("AC03", 3.75, 1.0), | ||
| 125 | ("AC04", 4.75, 1.0), | ||
| 126 | ("AC05", 5.75, 1.0), | ||
| 127 | ("AC06", 6.75, 1.0), | ||
| 128 | ("AC07", 7.75, 1.0), | ||
| 129 | ("AC08", 8.75, 1.0), | ||
| 130 | ("AC09", 9.75, 1.0), | ||
| 131 | ("AC10", 10.75, 1.0), | ||
| 132 | ("AC11", 11.75, 1.0), | ||
| 133 | ("RET", 12.75, 2.25), | ||
| 134 | ]; | ||
| 135 | keys.iter().find(|(n, _, _)| *n == name).map(|(_, c, w)| KeyPos { row: 2, col: *c, width: *w }) | ||
| 136 | } | ||
| 137 | |||
| 138 | pub fn resolve_position(name: &str, is_iso: bool) -> KeyPos { | ||
| 139 | if is_iso { | ||
| 140 | if let Some(pos) = iso_row3(name, true).or_else(|| ansi_row0(name)) | ||
| 141 | .or_else(|| ansi_row1(name)) | ||
| 142 | .or_else(|| iso_row2(name)) | ||
| 143 | .or_else(|| ansi_row4(name)) | ||
| 144 | { | ||
| 145 | return pos; | ||
| 146 | } | ||
| 147 | } else { | ||
| 148 | if let Some(pos) = ansi_row0(name) | ||
| 149 | .or_else(|| ansi_row1(name)) | ||
| 150 | .or_else(|| ansi_row2(name)) | ||
| 151 | .or_else(|| ansi_row3(name)) | ||
| 152 | .or_else(|| ansi_row4(name)) | ||
| 153 | { | ||
| 154 | return pos; | ||
| 155 | } | ||
| 156 | } | ||
| 157 | |||
| 158 | let extra = DEFAULT_POS.fetch_add(1, std::sync::atomic::Ordering::Relaxed); | ||
| 159 | KeyPos { | ||
| 160 | row: 5, | ||
| 161 | col: (extra % 16) as f32, | ||
| 162 | width: 1.0, | ||
| 163 | } | ||
| 164 | } | ||
| 165 | |||
| 166 | use std::sync::atomic::AtomicU32; | ||
| 167 | static DEFAULT_POS: AtomicU32 = AtomicU32::new(0); | ||
| 168 | |||
| 169 | pub fn reset_default_pos() { | ||
| 170 | DEFAULT_POS.store(0, std::sync::atomic::Ordering::Relaxed); | ||
| 171 | } | ||
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..7a814c1 --- /dev/null +++ b/src/main.rs | |||
| @@ -0,0 +1,136 @@ | |||
| 1 | mod x11; | ||
| 2 | mod keymap; | ||
| 3 | mod layout; | ||
| 4 | mod ui; | ||
| 5 | |||
| 6 | use eframe::egui; | ||
| 7 | |||
| 8 | struct XkbPreviewApp { | ||
| 9 | key_data: Option<keymap::KeyData>, | ||
| 10 | x11_conn: Option<x11::X11Connection>, | ||
| 11 | selected_level: usize, | ||
| 12 | active_level: usize, | ||
| 13 | active_group: usize, | ||
| 14 | error: Option<String>, | ||
| 15 | } | ||
| 16 | |||
| 17 | impl Default for XkbPreviewApp { | ||
| 18 | fn default() -> Self { | ||
| 19 | Self { | ||
| 20 | key_data: None, | ||
| 21 | x11_conn: None, | ||
| 22 | selected_level: 0, | ||
| 23 | active_level: 0, | ||
| 24 | active_group: 0, | ||
| 25 | error: None, | ||
| 26 | } | ||
| 27 | } | ||
| 28 | } | ||
| 29 | |||
| 30 | impl eframe::App for XkbPreviewApp { | ||
| 31 | fn ui(&mut self, ui: &mut egui::Ui, _frame: &mut eframe::Frame) { | ||
| 32 | if self.key_data.is_none() && self.error.is_none() { | ||
| 33 | match load_keyboard() { | ||
| 34 | Ok(data) => self.key_data = Some(data), | ||
| 35 | Err(e) => self.error = Some(e), | ||
| 36 | } | ||
| 37 | } | ||
| 38 | |||
| 39 | if self.x11_conn.is_none() { | ||
| 40 | self.x11_conn = x11::X11Connection::open(); | ||
| 41 | } | ||
| 42 | |||
| 43 | if let Some(ref conn) = self.x11_conn { | ||
| 44 | let mask = conn.modifier_mask(); | ||
| 45 | self.active_level = keymap::level_from_x11_modmask(mask); | ||
| 46 | self.active_group = conn.active_group(); | ||
| 47 | } | ||
| 48 | |||
| 49 | ui::render( | ||
| 50 | ui, | ||
| 51 | &self.key_data, | ||
| 52 | &mut self.selected_level, | ||
| 53 | self.active_level, | ||
| 54 | self.active_group, | ||
| 55 | &self.error, | ||
| 56 | ); | ||
| 57 | } | ||
| 58 | } | ||
| 59 | |||
| 60 | fn load_keyboard() -> Result<keymap::KeyData, String> { | ||
| 61 | let names = x11::get_xkb_rule_names().unwrap_or_default(); | ||
| 62 | keymap::compile_keymap(&names) | ||
| 63 | } | ||
| 64 | |||
| 65 | fn main() -> eframe::Result { | ||
| 66 | let options = eframe::NativeOptions { | ||
| 67 | viewport: egui::ViewportBuilder::default() | ||
| 68 | .with_inner_size([980.0, 560.0]), | ||
| 69 | ..Default::default() | ||
| 70 | }; | ||
| 71 | eframe::run_native( | ||
| 72 | "xkbpreview", | ||
| 73 | options, | ||
| 74 | Box::new(|cc| { | ||
| 75 | setup_fonts(&cc.egui_ctx); | ||
| 76 | Ok(Box::new(XkbPreviewApp::default())) | ||
| 77 | }), | ||
| 78 | ) | ||
| 79 | } | ||
| 80 | |||
| 81 | fn setup_fonts(ctx: &egui::Context) { | ||
| 82 | let mut fonts = egui::FontDefinitions::default(); | ||
| 83 | |||
| 84 | let font_candidates = [ | ||
| 85 | "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", | ||
| 86 | "/usr/share/fonts/dejavu/DejaVuSans.ttf", | ||
| 87 | "/usr/share/fonts/truetype/dejavu/DejaVuSans-Regular.ttf", | ||
| 88 | "/usr/share/fonts/dejavu/DejaVuSans-Regular.ttf", | ||
| 89 | "/usr/share/fonts/TTF/DejaVuSans.ttf", | ||
| 90 | "/usr/share/fonts/truetype/noto/NotoSans-Regular.ttf", | ||
| 91 | "/usr/share/fonts/noto/NotoSans-Regular.ttf", | ||
| 92 | "/usr/share/fonts/opentype/noto/NotoSans-Regular.ttf", | ||
| 93 | ]; | ||
| 94 | |||
| 95 | let mut loaded = false; | ||
| 96 | for path in &font_candidates { | ||
| 97 | if let Ok(data) = std::fs::read(path) { | ||
| 98 | fonts | ||
| 99 | .font_data | ||
| 100 | .insert("fallback_font".into(), egui::FontData::from_owned(data).into()); | ||
| 101 | fonts | ||
| 102 | .families | ||
| 103 | .entry(egui::FontFamily::Proportional) | ||
| 104 | .or_default() | ||
| 105 | .push("fallback_font".into()); | ||
| 106 | loaded = true; | ||
| 107 | break; | ||
| 108 | } | ||
| 109 | } | ||
| 110 | |||
| 111 | if !loaded { | ||
| 112 | if let Ok(home) = std::env::var("HOME") { | ||
| 113 | let user_candidates = [ | ||
| 114 | format!("{}/.fonts/DejaVuSans.ttf", home), | ||
| 115 | format!("{}/.local/share/fonts/DejaVuSans.ttf", home), | ||
| 116 | format!("{}/.fonts/NotoSans-Regular.ttf", home), | ||
| 117 | format!("{}/.local/share/fonts/NotoSans-Regular.ttf", home), | ||
| 118 | ]; | ||
| 119 | for path in &user_candidates { | ||
| 120 | if let Ok(data) = std::fs::read(path) { | ||
| 121 | fonts | ||
| 122 | .font_data | ||
| 123 | .insert("fallback_font".into(), egui::FontData::from_owned(data).into()); | ||
| 124 | fonts | ||
| 125 | .families | ||
| 126 | .entry(egui::FontFamily::Proportional) | ||
| 127 | .or_default() | ||
| 128 | .push("fallback_font".into()); | ||
| 129 | break; | ||
| 130 | } | ||
| 131 | } | ||
| 132 | } | ||
| 133 | } | ||
| 134 | |||
| 135 | ctx.set_fonts(fonts); | ||
| 136 | } | ||
diff --git a/src/ui.rs b/src/ui.rs new file mode 100644 index 0000000..b9abeff --- /dev/null +++ b/src/ui.rs | |||
| @@ -0,0 +1,221 @@ | |||
| 1 | use crate::keymap; | ||
| 2 | use eframe::egui::{self, Color32, CornerRadius, Stroke, Vec2}; | ||
| 3 | |||
| 4 | const LEVEL_NAMES: &[&str; 4] = &[ | ||
| 5 | "Level 1 (base)", | ||
| 6 | "Level 2 (Shift)", | ||
| 7 | "Level 3 (AltGr)", | ||
| 8 | "Level 4 (Shift+AltGr)", | ||
| 9 | ]; | ||
| 10 | |||
| 11 | const KEY_BG: Color32 = Color32::from_rgb(0x33, 0x33, 0x33); | ||
| 12 | const KEY_BG_MOD_SHIFT: Color32 = Color32::from_rgb(0x2a, 0x5a, 0x2a); | ||
| 13 | const KEY_BG_MOD_L3: Color32 = Color32::from_rgb(0x4a, 0x2a, 0x5a); | ||
| 14 | const KEY_BG_MOD_OTHER: Color32 = Color32::from_rgb(0x3a, 0x3a, 0x3a); | ||
| 15 | const KEY_TEXT: Color32 = Color32::from_rgb(0xcc, 0xcc, 0xcc); | ||
| 16 | const KEY_TEXT_DIM: Color32 = Color32::from_rgb(0x55, 0x55, 0x55); | ||
| 17 | const KEY_TEXT_ACTIVE: Color32 = Color32::from_rgb(0xff, 0xff, 0xff); | ||
| 18 | const KEY_TEXT_MOD: Color32 = Color32::from_rgb(0xff, 0xff, 0xcc); | ||
| 19 | const KEY_TEXT_DEAD: Color32 = Color32::from_rgb(0xff, 0xaa, 0x44); | ||
| 20 | |||
| 21 | const KEY_SPACING: f32 = 4.0; | ||
| 22 | const KEY_UNIT: f32 = 52.0; | ||
| 23 | const KEY_HEIGHT: f32 = 48.0; | ||
| 24 | |||
| 25 | fn key_bg(kind: &keymap::KeyKind) -> Color32 { | ||
| 26 | match kind { | ||
| 27 | keymap::KeyKind::Shift => KEY_BG_MOD_SHIFT, | ||
| 28 | keymap::KeyKind::Level3 => KEY_BG_MOD_L3, | ||
| 29 | keymap::KeyKind::Lock | keymap::KeyKind::Control | keymap::KeyKind::Alt | keymap::KeyKind::Super => { | ||
| 30 | KEY_BG_MOD_OTHER | ||
| 31 | } | ||
| 32 | keymap::KeyKind::Normal => KEY_BG, | ||
| 33 | } | ||
| 34 | } | ||
| 35 | |||
| 36 | fn text_color_for_level(level: usize, active_level: usize, kind: &keymap::KeyKind) -> Color32 { | ||
| 37 | if level == active_level { | ||
| 38 | match kind { | ||
| 39 | keymap::KeyKind::Shift | keymap::KeyKind::Level3 => KEY_TEXT_MOD, | ||
| 40 | _ => KEY_TEXT_ACTIVE, | ||
| 41 | } | ||
| 42 | } else { | ||
| 43 | KEY_TEXT_DIM | ||
| 44 | } | ||
| 45 | } | ||
| 46 | |||
| 47 | pub fn render( | ||
| 48 | ui: &mut egui::Ui, | ||
| 49 | key_data: &Option<keymap::KeyData>, | ||
| 50 | selected_level: &mut usize, | ||
| 51 | active_level: usize, | ||
| 52 | active_group: usize, | ||
| 53 | error: &Option<String>, | ||
| 54 | ) { | ||
| 55 | egui::Panel::top("toolbar").show_inside(ui, |ui| { | ||
| 56 | ui.horizontal(|ui| { | ||
| 57 | ui.label(egui::RichText::new("xkbpreview").strong()); | ||
| 58 | |||
| 59 | if let Some(data) = key_data { | ||
| 60 | let g = active_group.min(data.layouts.len().saturating_sub(1)); | ||
| 61 | ui.label(format!(" layout: {}", data.layouts[g])); | ||
| 62 | if data.is_iso { | ||
| 63 | ui.label(" [ISO]"); | ||
| 64 | } else { | ||
| 65 | ui.label(" [ANSI]"); | ||
| 66 | } | ||
| 67 | } | ||
| 68 | |||
| 69 | ui.label(format!(" Lv:{}", active_level)); | ||
| 70 | |||
| 71 | ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| { | ||
| 72 | ui.label("Highlight:"); | ||
| 73 | for (i, name) in LEVEL_NAMES.iter().enumerate() { | ||
| 74 | let mark = if i == active_level { "[x]" } else { "[ ]" }; | ||
| 75 | if ui.selectable_label(*selected_level == i, format!("{} {}", mark, name)).clicked() { | ||
| 76 | *selected_level = i; | ||
| 77 | } | ||
| 78 | } | ||
| 79 | }); | ||
| 80 | }); | ||
| 81 | }); | ||
| 82 | |||
| 83 | if let Some(err) = error { | ||
| 84 | egui::CentralPanel::default().show_inside(ui, |ui| { | ||
| 85 | ui.colored_label(Color32::RED, format!("Error: {}", err)); | ||
| 86 | ui.label("Make sure you're running under X11 and the XKB configuration is available."); | ||
| 87 | }); | ||
| 88 | return; | ||
| 89 | } | ||
| 90 | |||
| 91 | let data = match key_data { | ||
| 92 | Some(d) => d, | ||
| 93 | None => { | ||
| 94 | egui::CentralPanel::default().show_inside(ui, |ui| { | ||
| 95 | ui.label("Loading keyboard layout..."); | ||
| 96 | }); | ||
| 97 | return; | ||
| 98 | } | ||
| 99 | }; | ||
| 100 | |||
| 101 | egui::CentralPanel::default().show_inside(ui, |ui| { | ||
| 102 | ui.vertical_centered(|ui| { | ||
| 103 | let rows = group_by_row(&data.keys); | ||
| 104 | let max_row = rows.iter().map(|(r, _)| *r).max().unwrap_or(0); | ||
| 105 | let total_w = 15.5 * (KEY_UNIT + KEY_SPACING); | ||
| 106 | |||
| 107 | let (rect, _) = ui.allocate_exact_size( | ||
| 108 | Vec2::new(total_w, (max_row + 1) as f32 * (KEY_HEIGHT + KEY_SPACING)), | ||
| 109 | egui::Sense::hover(), | ||
| 110 | ); | ||
| 111 | |||
| 112 | let painter = ui.painter_at(rect); | ||
| 113 | let origin = rect.min; | ||
| 114 | |||
| 115 | for (row_idx, entries) in &rows { | ||
| 116 | for entry in entries { | ||
| 117 | let p = &entry.pos; | ||
| 118 | let x = p.col * (KEY_UNIT + KEY_SPACING); | ||
| 119 | let y = *row_idx as f32 * (KEY_HEIGHT + KEY_SPACING); | ||
| 120 | let w = p.width * KEY_UNIT + (p.width - 1.0) * KEY_SPACING; | ||
| 121 | |||
| 122 | let key_rect = egui::Rect::from_min_size( | ||
| 123 | origin + Vec2::new(x, y), | ||
| 124 | Vec2::new(w, KEY_HEIGHT), | ||
| 125 | ); | ||
| 126 | |||
| 127 | let bg = key_bg(&entry.kind); | ||
| 128 | painter.rect_filled(key_rect, CornerRadius::same(3), bg); | ||
| 129 | painter.rect_stroke(key_rect, CornerRadius::same(3), Stroke::new(1.0, Color32::from_rgb(0x55, 0x55, 0x55)), egui::StrokeKind::Middle); | ||
| 130 | |||
| 131 | let inset = 3.0; | ||
| 132 | let cw = key_rect.width() / 2.0; | ||
| 133 | |||
| 134 | let centers: [egui::Pos2; 4] = [ | ||
| 135 | key_rect.center(), | ||
| 136 | egui::Pos2::new(key_rect.left() + cw / 2.0, key_rect.top() + inset + 4.0), | ||
| 137 | egui::Pos2::new(key_rect.right() - cw / 2.0, key_rect.top() + inset + 4.0), | ||
| 138 | egui::Pos2::new(key_rect.left() + cw / 2.0, key_rect.bottom() - inset - 4.0), | ||
| 139 | ]; | ||
| 140 | |||
| 141 | let level_order = [0usize, 1, 2, 3]; | ||
| 142 | let font_sizes = [15.0, 10.0, 10.0, 9.0]; | ||
| 143 | let aligns = [ | ||
| 144 | egui::Align2::CENTER_CENTER, | ||
| 145 | egui::Align2::LEFT_TOP, | ||
| 146 | egui::Align2::RIGHT_TOP, | ||
| 147 | egui::Align2::LEFT_BOTTOM, | ||
| 148 | ]; | ||
| 149 | |||
| 150 | let g = active_group.min(3); | ||
| 151 | for &li in &level_order { | ||
| 152 | let label = &entry.labels[g][li]; | ||
| 153 | if label.is_empty() { | ||
| 154 | continue; | ||
| 155 | } | ||
| 156 | let color = if entry.dead[g][li] { | ||
| 157 | KEY_TEXT_DEAD | ||
| 158 | } else if li == 0 { | ||
| 159 | if 0 == active_level { | ||
| 160 | text_color_for_level(li, active_level, &entry.kind) | ||
| 161 | } else { | ||
| 162 | KEY_TEXT | ||
| 163 | } | ||
| 164 | } else { | ||
| 165 | text_color_for_level(li, active_level, &entry.kind) | ||
| 166 | }; | ||
| 167 | let font = if label.len() > 2 { | ||
| 168 | egui::FontId::proportional(font_sizes[li] - 1.0) | ||
| 169 | } else { | ||
| 170 | egui::FontId::proportional(font_sizes[li]) | ||
| 171 | }; | ||
| 172 | painter.text(centers[li], aligns[li], label, font, color); | ||
| 173 | } | ||
| 174 | } | ||
| 175 | } | ||
| 176 | |||
| 177 | let legend_y = (max_row + 1) as f32 * (KEY_HEIGHT + KEY_SPACING) + 16.0; | ||
| 178 | let legend_items = [ | ||
| 179 | (KEY_BG_MOD_SHIFT, "Shift (triggers L2)"), | ||
| 180 | (KEY_BG_MOD_L3, "AltGr (triggers L3)"), | ||
| 181 | (KEY_BG_MOD_OTHER, "Other modifiers"), | ||
| 182 | (KEY_TEXT_DEAD, "Dead key accent"), | ||
| 183 | ]; | ||
| 184 | for (i, (color, text)) in legend_items.iter().enumerate() { | ||
| 185 | let ly = legend_y + i as f32 * 20.0; | ||
| 186 | let r = egui::Rect::from_min_size( | ||
| 187 | origin + Vec2::new(0.0, ly), | ||
| 188 | Vec2::new(14.0, 14.0), | ||
| 189 | ); | ||
| 190 | painter.rect_filled(r, CornerRadius::same(2), *color); | ||
| 191 | painter.text( | ||
| 192 | egui::Pos2::new(r.right() + 6.0, r.center().y), | ||
| 193 | egui::Align2::LEFT_CENTER, | ||
| 194 | *text, | ||
| 195 | egui::FontId::proportional(12.0), | ||
| 196 | KEY_TEXT, | ||
| 197 | ); | ||
| 198 | } | ||
| 199 | }); | ||
| 200 | }); | ||
| 201 | } | ||
| 202 | |||
| 203 | fn group_by_row<'a>(keys: &'a [keymap::KeyEntry]) -> Vec<(usize, Vec<&'a keymap::KeyEntry>)> { | ||
| 204 | let mut rows: Vec<(usize, Vec<&'a keymap::KeyEntry>)> = Vec::new(); | ||
| 205 | for key in keys { | ||
| 206 | let row = key.pos.row; | ||
| 207 | if row > 4 { | ||
| 208 | continue; | ||
| 209 | } | ||
| 210 | if let Some(entry) = rows.iter_mut().find(|(r, _)| *r == row) { | ||
| 211 | entry.1.push(key); | ||
| 212 | } else { | ||
| 213 | rows.push((row, vec![key])); | ||
| 214 | } | ||
| 215 | } | ||
| 216 | rows.sort_by_key(|(r, _)| *r); | ||
| 217 | for (_, entries) in &mut rows { | ||
| 218 | entries.sort_by(|a, b| a.pos.col.partial_cmp(&b.pos.col).unwrap()); | ||
| 219 | } | ||
| 220 | rows | ||
| 221 | } | ||
diff --git a/src/x11.rs b/src/x11.rs new file mode 100644 index 0000000..27052b9 --- /dev/null +++ b/src/x11.rs | |||
| @@ -0,0 +1,92 @@ | |||
| 1 | use x11rb::connection::{Connection, RequestConnection}; | ||
| 2 | use x11rb::protocol::xkb::{self, ConnectionExt as XkbConnectionExt}; | ||
| 3 | use x11rb::protocol::xproto::{AtomEnum, ConnectionExt}; | ||
| 4 | use x11rb::rust_connection::RustConnection; | ||
| 5 | |||
| 6 | #[derive(Debug, Default)] | ||
| 7 | pub struct RuleNames { | ||
| 8 | pub rules: String, | ||
| 9 | pub model: String, | ||
| 10 | pub layout: String, | ||
| 11 | pub variant: String, | ||
| 12 | pub options: String, | ||
| 13 | } | ||
| 14 | |||
| 15 | pub struct X11Connection { | ||
| 16 | pub conn: RustConnection, | ||
| 17 | pub root: x11rb::protocol::xproto::Window, | ||
| 18 | xkb_ok: bool, | ||
| 19 | } | ||
| 20 | |||
| 21 | impl X11Connection { | ||
| 22 | pub fn open() -> Option<Self> { | ||
| 23 | let (conn, screen_num) = x11rb::connect(None).ok()?; | ||
| 24 | let root = conn.setup().roots[screen_num].root; | ||
| 25 | let xkb_ok = conn | ||
| 26 | .extension_information(xkb::X11_EXTENSION_NAME) | ||
| 27 | .ok() | ||
| 28 | .flatten() | ||
| 29 | .is_some(); | ||
| 30 | if xkb_ok { | ||
| 31 | let _ = conn.xkb_use_extension(1, 0).ok(); | ||
| 32 | } | ||
| 33 | Some(Self { conn, root, xkb_ok }) | ||
| 34 | } | ||
| 35 | |||
| 36 | pub fn modifier_mask(&self) -> u16 { | ||
| 37 | self.conn | ||
| 38 | .query_pointer(self.root) | ||
| 39 | .ok() | ||
| 40 | .and_then(|c| c.reply().ok()) | ||
| 41 | .map(|r| r.mask.into()) | ||
| 42 | .unwrap_or(0) | ||
| 43 | } | ||
| 44 | |||
| 45 | pub fn active_group(&self) -> usize { | ||
| 46 | if !self.xkb_ok { | ||
| 47 | return 0; | ||
| 48 | } | ||
| 49 | self.conn | ||
| 50 | .xkb_get_state(0x0100) | ||
| 51 | .ok() | ||
| 52 | .and_then(|c| c.reply().ok()) | ||
| 53 | .map(|r| u8::from(r.group) as usize) | ||
| 54 | .unwrap_or(0) | ||
| 55 | } | ||
| 56 | } | ||
| 57 | |||
| 58 | pub fn get_xkb_rule_names() -> Option<RuleNames> { | ||
| 59 | let (conn, screen_num) = x11rb::connect(None).ok()?; | ||
| 60 | let screen = &conn.setup().roots[screen_num]; | ||
| 61 | |||
| 62 | let atom = conn | ||
| 63 | .intern_atom(false, b"_XKB_RULES_NAMES") | ||
| 64 | .ok()? | ||
| 65 | .reply() | ||
| 66 | .ok()? | ||
| 67 | .atom; | ||
| 68 | |||
| 69 | let prop = conn | ||
| 70 | .get_property(false, screen.root, atom, AtomEnum::ANY, 0, 1024) | ||
| 71 | .ok()? | ||
| 72 | .reply() | ||
| 73 | .ok()?; | ||
| 74 | |||
| 75 | if prop.value.is_empty() || prop.format == 0 { | ||
| 76 | return None; | ||
| 77 | } | ||
| 78 | |||
| 79 | let parts: Vec<&str> = prop | ||
| 80 | .value | ||
| 81 | .split(|&b| b == 0) | ||
| 82 | .filter_map(|s| std::str::from_utf8(s).ok()) | ||
| 83 | .collect(); | ||
| 84 | |||
| 85 | Some(RuleNames { | ||
| 86 | rules: parts.first().map(|s| s.to_string()).unwrap_or_default(), | ||
| 87 | model: parts.get(1).map(|s| s.to_string()).unwrap_or_default(), | ||
| 88 | layout: parts.get(2).map(|s| s.to_string()).unwrap_or_default(), | ||
| 89 | variant: parts.get(3).map(|s| s.to_string()).unwrap_or_default(), | ||
| 90 | options: parts.get(4).map(|s| s.to_string()).unwrap_or_default(), | ||
| 91 | }) | ||
| 92 | } | ||
