From 65056faf16da1666aa166c4657d9dc1bdb1d7082 Mon Sep 17 00:00:00 2001 From: Nico Burns Date: Mon, 6 Oct 2025 17:21:08 +0100 Subject: [PATCH] Create rough_anyrender crate Signed-off-by: Nico Burns --- Cargo.lock | 3334 ++++++++++++++++- Cargo.toml | 1 + crates/rough_anyrender/Cargo.toml | 32 + crates/rough_anyrender/README.md | 88 + crates/rough_anyrender/assets/rust_logo.png | Bin 0 -> 215211 bytes crates/rough_anyrender/examples/animate.rs | 146 + crates/rough_anyrender/examples/rectangle.rs | 67 + crates/rough_anyrender/examples/rust_logo.rs | 57 + crates/rough_anyrender/src/lib.rs | 79 + crates/rough_anyrender/src/vello_generator.rs | 387 ++ 10 files changed, 4026 insertions(+), 165 deletions(-) create mode 100644 crates/rough_anyrender/Cargo.toml create mode 100644 crates/rough_anyrender/README.md create mode 100644 crates/rough_anyrender/assets/rust_logo.png create mode 100644 crates/rough_anyrender/examples/animate.rs create mode 100644 crates/rough_anyrender/examples/rectangle.rs create mode 100644 crates/rough_anyrender/examples/rust_logo.rs create mode 100644 crates/rough_anyrender/src/lib.rs create mode 100644 crates/rough_anyrender/src/vello_generator.rs diff --git a/Cargo.lock b/Cargo.lock index 8f69f9b..e81d362 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,6 +18,63 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" +[[package]] +name = "accesskit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf203f9d3bd8f29f98833d1fbef628df18f759248a547e7e01cfbf63cda36a99" + +[[package]] +name = "accesskit_consumer" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db81010a6895d8707f9072e6ce98070579b43b717193d2614014abd5cb17dd43" +dependencies = [ + "accesskit", + "hashbrown 0.15.5", +] + +[[package]] +name = "accesskit_macos" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0089e5c0ac0ca281e13ea374773898d9354cc28d15af9f0f7394d44a495b575" +dependencies = [ + "accesskit", + "accesskit_consumer", + "hashbrown 0.15.5", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "accesskit_windows" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d63dd5041e49c363d83f5419a896ecb074d309c414036f616dc0b04faca971" +dependencies = [ + "accesskit", + "accesskit_consumer", + "hashbrown 0.15.5", + "static_assertions", + "windows 0.61.3", + "windows-core 0.61.2", +] + +[[package]] +name = "accesskit_winit" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8cfabe59d0eaca7412bfb1f70198dd31e3b0496fee7e15b066f9c36a1a140a0" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_windows", + "raw-window-handle", + "winit", +] + [[package]] name = "adler2" version = "2.0.1" @@ -31,7 +88,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom", + "getrandom 0.3.4", "once_cell", "version_check", "zerocopy", @@ -52,6 +109,28 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" +[[package]] +name = "alsa" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43" +dependencies = [ + "alsa-sys", + "bitflags 2.10.0", + "cfg-if", + "libc", +] + +[[package]] +name = "alsa-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" +dependencies = [ + "libc", + "pkg-config", +] + [[package]] name = "android-activity" version = "0.6.0" @@ -66,7 +145,7 @@ dependencies = [ "jni-sys", "libc", "log", - "ndk", + "ndk 0.9.0", "ndk-context", "ndk-sys 0.6.0+11769913", "num_enum", @@ -80,169 +159,1495 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" [[package]] -name = "android_system_properties" -version = "0.1.5" +name = "android_log-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyrender" +version = "0.6.2" +dependencies = [ + "kurbo 0.12.0", + "peniko", + "raw-window-handle", +] + +[[package]] +name = "anyrender_skia" +version = "0.3.1" +dependencies = [ + "anyrender", + "ash 0.38.0+1.3.281", + "ash-window", + "debug_timer", + "gl", + "glutin", + "hashbrown 0.16.0", + "kurbo 0.12.0", + "oaty", + "objc2 0.6.3", + "objc2-app-kit 0.3.2", + "objc2-core-foundation", + "objc2-metal 0.3.2", + "objc2-quartz-core 0.3.2", + "objc2-ui-kit 0.3.2", + "peniko", + "pixels_window_renderer", + "raw-window-handle", + "skia-safe", + "softbuffer_window_renderer", +] + +[[package]] +name = "anyrender_svg" +version = "0.6.3" +dependencies = [ + "anyrender", + "image", + "kurbo 0.12.0", + "peniko", + "thiserror 2.0.17", + "usvg", +] + +[[package]] +name = "anyrender_vello" +version = "0.6.2" +dependencies = [ + "anyrender", + "debug_timer", + "kurbo 0.12.0", + "peniko", + "pollster 0.4.0", + "rustc-hash 2.1.1", + "vello", + "wgpu 26.0.1", + "wgpu_context", +] + +[[package]] +name = "anyrender_vello_cpu" +version = "0.8.1" +dependencies = [ + "anyrender", + "debug_timer", + "kurbo 0.12.0", + "peniko", + "pixels_window_renderer", + "softbuffer_window_renderer", + "vello_cpu", +] + +[[package]] +name = "anyrender_vello_hybrid" +version = "0.1.1" +dependencies = [ + "anyrender", + "debug_timer", + "kurbo 0.12.0", + "peniko", + "pollster 0.4.0", + "rustc-hash 2.1.1", + "vello_common", + "vello_hybrid", + "wgpu 26.0.1", + "wgpu_context", +] + +[[package]] +name = "approx" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278" +dependencies = [ + "num-traits", +] + +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" + +[[package]] +name = "ash" +version = "0.37.3+1.3.251" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +dependencies = [ + "libloading 0.7.4", +] + +[[package]] +name = "ash" +version = "0.38.0+1.3.281" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +dependencies = [ + "libloading 0.8.9", +] + +[[package]] +name = "ash-window" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52bca67b61cb81e5553babde81b8211f713cb6db79766f80168f3e5f40ea6c82" +dependencies = [ + "ash 0.38.0+1.3.281", + "raw-window-handle", + "raw-window-metal", +] + +[[package]] +name = "assert_type_match" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5" +dependencies = [ + "async-lock", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-lock" +version = "3.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "atomicow" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52e8890bb9844440d0c412fa74b67fd2f14e85248b6e00708059b6da9e5f8bf" +dependencies = [ + "portable-atomic", + "portable-atomic-util", +] + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bevy" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3ee8652fe0577fd8a99054e147740850140d530be8e044a9be4e23a3e8a24" +dependencies = [ + "bevy_internal", +] + +[[package]] +name = "bevy_a11y" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6702a82db1b383641fc7c503451847cdafb57076c203cd3bfe549d3eeef474c3" +dependencies = [ + "accesskit", + "bevy_app", + "bevy_derive", + "bevy_ecs", + "bevy_reflect", +] + +[[package]] +name = "bevy_android" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42b2d9435e9fe8d7107bb795a6140277872ad5b992cb3934f8d28cfd11040f6f" +dependencies = [ + "android-activity", +] + +[[package]] +name = "bevy_animation" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfaf3ea6d435f4736b3deb60958270443501f5795c7964b1b504abd3be970b4f" +dependencies = [ + "bevy_animation_macros", + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_time", + "bevy_transform", + "bevy_utils", + "blake3", + "derive_more", + "downcast-rs 2.0.2", + "either", + "petgraph", + "ron", + "serde", + "smallvec", + "thiserror 2.0.17", + "thread_local", + "tracing", + "uuid", +] + +[[package]] +name = "bevy_animation_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d577eae7246a1cda461df1b63188619fc6a3c619adba2a8e5a79e9aa51f64671" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "bevy_anti_alias" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15820535cc88bc280f55635eb3ea58df2703a434a0cc2343472eaa7e607fb27b" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_utils", + "tracing", +] + +[[package]] +name = "bevy_app" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e4fc5dfe9d1d9b8233e1878353b5e66a3f5910c2131d3abf68f9a4116b2d433" +dependencies = [ + "bevy_derive", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "cfg-if", + "console_error_panic_hook", + "ctrlc", + "downcast-rs 2.0.2", + "log", + "thiserror 2.0.17", + "variadics_please", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "bevy_asset" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357787dbfaba3f73fd185e15d6df70605bddaa774f2ebbcab1aaa031f21fb6c2" +dependencies = [ + "async-broadcast", + "async-fs", + "async-lock", + "atomicow", + "bevy_android", + "bevy_app", + "bevy_asset_macros", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "bitflags 2.10.0", + "blake3", + "crossbeam-channel", + "derive_more", + "disqualified", + "downcast-rs 2.0.2", + "either", + "futures-io", + "futures-lite", + "js-sys", + "parking_lot", + "ron", + "serde", + "stackfuture", + "thiserror 2.0.17", + "tracing", + "uuid", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "bevy_asset_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afa09271d4ca0bf31fda3a9ad57273775d448a05c4046d9367f71d29968d85b4" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "bevy_audio" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d79e56e072001524100b00e38cfdea302d9fdabbff48109fc67b528b27a237bb" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_transform", + "coreaudio-sys", + "cpal", + "rodio", + "tracing", +] + +[[package]] +name = "bevy_camera" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8af1d5a57fde6e577e7b1db58996afb381618294be75a37b3070a20d309678b0" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "bevy_window", + "derive_more", + "downcast-rs 2.0.2", + "serde", + "smallvec", + "thiserror 2.0.17", + "wgpu-types 26.0.0", +] + +[[package]] +name = "bevy_color" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49504fac6b9897f03b4bdc0189c04ef1ba0a9b37926343aa520a71619e90e116" +dependencies = [ + "bevy_math", + "bevy_reflect", + "bytemuck", + "derive_more", + "encase", + "serde", + "thiserror 2.0.17", + "wgpu-types 26.0.0", +] + +[[package]] +name = "bevy_core_pipeline" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6af7e735685a652a8dba41b886f1330faeb57d4c61398917b7e49b09a7a1c3c1" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.10.0", + "nonmax", + "radsort", + "smallvec", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_derive" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9396b256b366a43d7f61d1f230cdab0a512fb4712cbf7d688f3d6fce4c5ea8a" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "bevy_diagnostic" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cdb0ed0c8423570fbbb7c4fc2719a203dd40928fefff45f76ef0889685a446" +dependencies = [ + "atomic-waker", + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_tasks", + "bevy_time", + "const-fnv1a-hash", + "log", + "serde", + "sysinfo", +] + +[[package]] +name = "bevy_ecs" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7dd5229dd00d00e70ac6b2fc0a139961252f6ce07d3d268cfcac0da86d5bde4" +dependencies = [ + "arrayvec", + "bevy_ecs_macros", + "bevy_platform", + "bevy_ptr", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "bitflags 2.10.0", + "bumpalo", + "concurrent-queue", + "derive_more", + "fixedbitset", + "indexmap", + "log", + "nonmax", + "serde", + "slotmap", + "smallvec", + "thiserror 2.0.17", + "variadics_please", +] + +[[package]] +name = "bevy_ecs_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4d83bdd2285af4867e76c691406e0a4b55611b583d0c45b6ac7bcec1b45fd48" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "bevy_encase_derive" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7179e985f3f1b99265cb87fe194db3b00aee8e2914888d621ff9826e1417ee19" +dependencies = [ + "bevy_macro_utils", + "encase_derive_impl", +] + +[[package]] +name = "bevy_gilrs" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a39dd8fdfe93314d47355ab3c58da40b648908a368bc536872f75fad4e8f3755" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_platform", + "bevy_time", + "gilrs", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_gizmos" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebb9e3ca4938b48e5111151ce4b08f0e6fc207b854db08fa2d8de15ecabe8f8" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_ecs", + "bevy_gizmos_macros", + "bevy_image", + "bevy_light", + "bevy_math", + "bevy_mesh", + "bevy_pbr", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite_render", + "bevy_time", + "bevy_transform", + "bevy_utils", + "bytemuck", + "tracing", +] + +[[package]] +name = "bevy_gizmos_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c4b3c3aac86f0db85d4f708883ebdc735c3f88ac5b84c033874fcdd3540a9d" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "bevy_gltf" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3479fbaf897320a3ee30c1626b4a1bee0be874ca27699c3b2f3494891d103d9b" +dependencies = [ + "base64", + "bevy_animation", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_ecs", + "bevy_image", + "bevy_light", + "bevy_math", + "bevy_mesh", + "bevy_pbr", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_scene", + "bevy_tasks", + "bevy_transform", + "fixedbitset", + "gltf", + "itertools 0.14.0", + "percent-encoding", + "serde", + "serde_json", + "smallvec", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_image" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d546bbe2486bfa14971517e7ef427a9384749817c201d3afc60de0325cf52f11" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_ecs", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_utils", + "bitflags 2.10.0", + "bytemuck", + "futures-lite", + "guillotiere", + "half", + "image", + "ktx2", + "rectangle-pack", + "ruzstd", + "serde", + "thiserror 2.0.17", + "tracing", + "wgpu-types 26.0.0", +] + +[[package]] +name = "bevy_input" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca955b99f4dc2059e9c8574f8d95a5dd5002809fda80d062a94a553c571a467" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "derive_more", + "log", + "smol_str", + "thiserror 2.0.17", +] + +[[package]] +name = "bevy_input_focus" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de4d1d0e833e31beba1f28a77152b35f946e8c45df364ec4969d58788ab9de7f" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_picking", + "bevy_reflect", + "bevy_window", + "log", + "thiserror 2.0.17", +] + +[[package]] +name = "bevy_internal" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f5e645f9e1a24c9667c768b6233beaf4e241739d8ca4fbba59435cc27aabad5" +dependencies = [ + "bevy_a11y", + "bevy_android", + "bevy_animation", + "bevy_anti_alias", + "bevy_app", + "bevy_asset", + "bevy_audio", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_gilrs", + "bevy_gizmos", + "bevy_gltf", + "bevy_image", + "bevy_input", + "bevy_input_focus", + "bevy_light", + "bevy_log", + "bevy_math", + "bevy_mesh", + "bevy_pbr", + "bevy_picking", + "bevy_platform", + "bevy_post_process", + "bevy_ptr", + "bevy_reflect", + "bevy_render", + "bevy_scene", + "bevy_shader", + "bevy_sprite", + "bevy_sprite_render", + "bevy_state", + "bevy_tasks", + "bevy_text", + "bevy_time", + "bevy_transform", + "bevy_ui", + "bevy_ui_render", + "bevy_utils", + "bevy_window", + "bevy_winit", +] + +[[package]] +name = "bevy_light" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47093733280976ebd595f6e25f76603d5067ca4eb7544e59ecb0dd2fc5147810" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "tracing", +] + +[[package]] +name = "bevy_log" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a2d4ea086ac4663ab9dfb056c7b85eee39e18f7e3e9a4ae6e39897eaa155c5" +dependencies = [ + "android_log-sys", + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_utils", + "tracing", + "tracing-log", + "tracing-oslog", + "tracing-subscriber", + "tracing-wasm", +] + +[[package]] +name = "bevy_macro_utils" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62d984f9f8bd0f0d9fb020492a955e641e30e7a425f3588bf346cb3e61fec3c3" +dependencies = [ + "parking_lot", + "proc-macro2", + "quote", + "syn 2.0.108", + "toml_edit", +] + +[[package]] +name = "bevy_math" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fa74ae5d968749cc073da991757d3c7e3504ac6dbaac5f8c2a54b9d19b0b7ed" +dependencies = [ + "approx 0.5.1", + "bevy_reflect", + "derive_more", + "glam", + "itertools 0.14.0", + "libm", + "rand 0.9.2", + "rand_distr 0.5.1", + "serde", + "smallvec", + "thiserror 2.0.17", + "variadics_please", +] + +[[package]] +name = "bevy_mesh" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9a0ea86abbd17655bc6f9f8d94461dfcd0322431f752fc03748df8b335eff2" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mikktspace", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "hexasphere", + "thiserror 2.0.17", + "tracing", + "wgpu-types 26.0.0", +] + +[[package]] +name = "bevy_mikktspace" +version = "0.17.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef8e4b7e61dfe7719bb03c884dc270cd46a82efb40f93e9933b990c5c190c59" + +[[package]] +name = "bevy_pbr" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c514b950cda849aa64e9b076a235913577370275125a34a478758505a19d776" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_image", + "bevy_light", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "fixedbitset", + "nonmax", + "offset-allocator", + "smallvec", + "static_assertions", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_picking" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b371779713b40dea83b24cdb95054fe999fe8372351a317c4fb768859ac5f010" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_derive", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_time", + "bevy_transform", + "bevy_window", + "crossbeam-channel", + "tracing", + "uuid", +] + +[[package]] +name = "bevy_platform" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4691af6d7cfd1b5deb2fc926a43a180a546cdc3fe1e5a013fcee60db9bb2c81f" +dependencies = [ + "critical-section", + "foldhash 0.2.0", + "futures-channel", + "getrandom 0.3.4", + "hashbrown 0.16.0", + "js-sys", + "portable-atomic", + "portable-atomic-util", + "serde", + "spin", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-time", +] + +[[package]] +name = "bevy_post_process" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b857972f5d56b43b0dce2c843b75b64d5fbbd0f6177f6ecccd75e7e41f72deb" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.10.0", + "nonmax", + "radsort", + "smallvec", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_ptr" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17d24d7906c7de556033168b3485de36c59049fbaef0c2c44c715a23e0329b10" + +[[package]] +name = "bevy_reflect" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5472b91928c0f3e4e3988c0d036b00719f19520f53a0c3f8c2af72f00e693c5" +dependencies = [ + "assert_type_match", + "bevy_platform", + "bevy_ptr", + "bevy_reflect_derive", + "bevy_utils", + "derive_more", + "disqualified", + "downcast-rs 2.0.2", + "erased-serde", + "foldhash 0.2.0", + "glam", + "inventory", + "petgraph", + "serde", + "smallvec", + "smol_str", + "thiserror 2.0.17", + "uuid", + "variadics_please", + "wgpu-types 26.0.0", +] + +[[package]] +name = "bevy_reflect_derive" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "083784255162fa39960aa3cf3c23af0e515db2daa7f2e796ae34df993f4d3f6c" +dependencies = [ + "bevy_macro_utils", + "indexmap", + "proc-macro2", + "quote", + "syn 2.0.108", + "uuid", +] + +[[package]] +name = "bevy_render" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44117cbc9448b5a3118eb9c65bd9ec4c574be996148793be2443257daae6eb05" +dependencies = [ + "async-channel", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_encase_derive", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render_macros", + "bevy_shader", + "bevy_tasks", + "bevy_time", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "downcast-rs 2.0.2", + "encase", + "fixedbitset", + "image", + "indexmap", + "js-sys", + "naga 26.0.0", + "nonmax", + "offset-allocator", + "send_wrapper", + "smallvec", + "thiserror 2.0.17", + "tracing", + "variadics_please", + "wasm-bindgen", + "web-sys", + "wgpu 26.0.1", +] + +[[package]] +name = "bevy_render_macros" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +checksum = "f9557b7b6b06b1b70c147581f4f410c2de73b6f6f0e82915887020f953bacb5a" dependencies = [ - "libc", + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn 2.0.108", ] [[package]] -name = "anyrender" -version = "0.6.2" +name = "bevy_scene" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcf6efd31fdd1e05724c95900bb1055716c8e3633b05fa731ee75db4241c17d" dependencies = [ - "kurbo 0.12.0", - "peniko", - "raw-window-handle", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_derive", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "derive_more", + "serde", + "thiserror 2.0.17", + "uuid", ] [[package]] -name = "anyrender_skia" -version = "0.3.1" +name = "bevy_shader" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a655de9f64e113a6e37be76401fb0d6cb84ed7cc4f891e70af4e39d26e9080c3" dependencies = [ - "anyrender", - "ash 0.38.0+1.3.281", - "ash-window", - "debug_timer", - "gl", - "glutin", - "hashbrown 0.16.0", - "kurbo 0.12.0", - "oaty", - "objc2 0.6.3", - "objc2-app-kit 0.3.2", - "objc2-core-foundation", - "objc2-metal 0.3.2", - "objc2-quartz-core 0.3.2", - "objc2-ui-kit 0.3.2", - "peniko", - "pixels_window_renderer", - "raw-window-handle", - "skia-safe", - "softbuffer_window_renderer", + "bevy_asset", + "bevy_platform", + "bevy_reflect", + "naga 26.0.0", + "naga_oil", + "serde", + "thiserror 2.0.17", + "tracing", + "wgpu-types 26.0.0", ] [[package]] -name = "anyrender_svg" -version = "0.6.3" +name = "bevy_sprite" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52b9a80aadf102ef0b012ceba5326253638c891994c303479e9973092e4e1c8b" dependencies = [ - "anyrender", - "image", - "kurbo 0.12.0", - "peniko", - "thiserror 2.0.17", - "usvg", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_picking", + "bevy_reflect", + "bevy_text", + "bevy_transform", + "bevy_window", + "radsort", + "tracing", + "wgpu-types 26.0.0", ] [[package]] -name = "anyrender_vello" -version = "0.6.2" -dependencies = [ - "anyrender", - "debug_timer", - "kurbo 0.12.0", - "peniko", - "pollster 0.4.0", - "rustc-hash 2.1.1", - "vello", - "wgpu 26.0.1", - "wgpu_context", +name = "bevy_sprite_render" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eec49a2a9185526f9828559a40b6f66d4c2dbae2df8ea2936d88ba449a5e86a" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_text", + "bevy_transform", + "bevy_utils", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "fixedbitset", + "nonmax", + "tracing", ] [[package]] -name = "anyrender_vello_cpu" -version = "0.8.1" +name = "bevy_state" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e8556a55d548844fc067fac6657b62f8073c94bd7e13c86aa7573f4c2a67b3" dependencies = [ - "anyrender", - "debug_timer", - "kurbo 0.12.0", - "peniko", - "pixels_window_renderer", - "softbuffer_window_renderer", - "vello_cpu", + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_state_macros", + "bevy_utils", + "log", + "variadics_please", ] [[package]] -name = "anyrender_vello_hybrid" -version = "0.1.1" +name = "bevy_state_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda45913b1d6470c6b751656e72fb3f25ca6b5b7b2ee055b294aaed1eb7e5ba" dependencies = [ - "anyrender", - "debug_timer", - "kurbo 0.12.0", - "peniko", - "pollster 0.4.0", - "rustc-hash 2.1.1", - "vello_common", - "vello_hybrid", - "wgpu 26.0.1", - "wgpu_context", + "bevy_macro_utils", + "quote", + "syn 2.0.108", ] [[package]] -name = "arrayref" -version = "0.3.9" +name = "bevy_tasks" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" +checksum = "bcbbfa5a58a16c4228434d3018c23fde3d78dcd76ec5f5b2b482a21f4b158dd3" +dependencies = [ + "async-channel", + "async-executor", + "async-task", + "atomic-waker", + "bevy_platform", + "concurrent-queue", + "crossbeam-queue", + "derive_more", + "futures-lite", + "heapless", + "pin-project", +] [[package]] -name = "arrayvec" -version = "0.7.6" +name = "bevy_text" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "fc144cc6a30ed44a88e342c22d9e3a66a0993a74f792ae07ba79318efb41a86d" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_log", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_utils", + "cosmic-text", + "serde", + "smallvec", + "sys-locale", + "thiserror 2.0.17", + "tracing", + "wgpu-types 26.0.0", +] [[package]] -name = "as-raw-xcb-connection" -version = "1.0.1" +name = "bevy_time" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" +checksum = "32835c3dbe082fbbe7d4f2f37f655073421f2882d4320ac2d59f922474260de4" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "crossbeam-channel", + "log", + "serde", +] [[package]] -name = "ash" -version = "0.37.3+1.3.251" +name = "bevy_transform" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +checksum = "b41fabfeaa53f51ff5ccf4d87e66836293159d50d21f6d3e16c93efb7c30f969" dependencies = [ - "libloading 0.7.4", + "bevy_app", + "bevy_ecs", + "bevy_log", + "bevy_math", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "derive_more", + "serde", + "thiserror 2.0.17", ] [[package]] -name = "ash" -version = "0.38.0+1.3.281" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" -dependencies = [ - "libloading 0.8.9", +name = "bevy_ui" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa0fe27b8c641c2537480774dfd9198d56779371b04dd76618db39da4e7c7483" +dependencies = [ + "accesskit", + "bevy_a11y", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_input", + "bevy_math", + "bevy_picking", + "bevy_platform", + "bevy_reflect", + "bevy_sprite", + "bevy_text", + "bevy_transform", + "bevy_utils", + "bevy_window", + "derive_more", + "smallvec", + "taffy", + "thiserror 2.0.17", + "tracing", + "uuid", +] + +[[package]] +name = "bevy_ui_render" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1d2e783bb5f0b748e6360a0055421d5c934b43830b205a84996a75e54330cd7" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_sprite_render", + "bevy_text", + "bevy_transform", + "bevy_ui", + "bevy_utils", + "bytemuck", + "derive_more", + "tracing", ] [[package]] -name = "ash-window" -version = "0.13.0" +name = "bevy_utils" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52bca67b61cb81e5553babde81b8211f713cb6db79766f80168f3e5f40ea6c82" +checksum = "789d04f88c764877a4552e07745b402dbc45f5d0545e6d102558f2f1752a1d89" dependencies = [ - "ash 0.38.0+1.3.281", - "raw-window-handle", - "raw-window-metal", + "bevy_platform", + "disqualified", + "thread_local", ] [[package]] -name = "atomic-waker" -version = "1.1.2" +name = "bevy_vello" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +checksum = "b490d58041cf8fa186e8c931667e6f3b9769a4544a5e1a278b4599e770f4b928" +dependencies = [ + "bevy", + "thiserror 2.0.17", + "tracing", + "vello", +] [[package]] -name = "autocfg" -version = "1.5.0" +name = "bevy_window" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +checksum = "8ae54ec7a0fc344278592a688a01b57b32182abc3ca7d47040773c4cbc2e15e0" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_ecs", + "bevy_image", + "bevy_input", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "log", + "raw-window-handle", + "serde", +] [[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +name = "bevy_winit" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feeaa46d3c4480323e690de8a4ca7f914c074af1f5f70ee3246392992dbf4a0c" +dependencies = [ + "accesskit", + "accesskit_winit", + "approx 0.5.1", + "bevy_a11y", + "bevy_android", + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_input", + "bevy_input_focus", + "bevy_log", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_tasks", + "bevy_window", + "bytemuck", + "cfg-if", + "js-sys", + "tracing", + "wasm-bindgen", + "web-sys", + "wgpu-types 26.0.0", + "winit", +] [[package]] name = "bindgen" @@ -253,7 +1658,7 @@ dependencies = [ "bitflags 2.10.0", "cexpr", "clang-sys", - "itertools", + "itertools 0.13.0", "log", "prettyplease", "proc-macro2", @@ -306,9 +1711,24 @@ version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ + "bytemuck", "serde_core", ] +[[package]] +name = "blake3" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "cpufeatures", +] + [[package]] name = "block" version = "0.1.6" @@ -324,6 +1744,28 @@ dependencies = [ "objc2 0.5.2", ] +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2 0.6.3", +] + +[[package]] +name = "blocking" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + [[package]] name = "bumpalo" version = "3.19.0" @@ -346,6 +1788,12 @@ dependencies = [ "winit", ] +[[package]] +name = "by_address" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" + [[package]] name = "bytemuck" version = "1.24.0" @@ -366,6 +1814,12 @@ dependencies = [ "syn 2.0.108", ] +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + [[package]] name = "byteorder-lite" version = "0.1.0" @@ -458,6 +1912,16 @@ dependencies = [ "libc", ] +[[package]] +name = "cgmath" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a98d30140e3296250832bbaaff83b27dcd6fa3cc70fb6f1f3e5c9c0023b5317" +dependencies = [ + "approx 0.4.0", + "num-traits", +] + [[package]] name = "clang-sys" version = "1.8.1" @@ -577,12 +2041,68 @@ dependencies = [ ] [[package]] -name = "concurrent-queue" -version = "2.5.0" +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", + "portable-atomic", +] + +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "const-fnv1a-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" + +[[package]] +name = "const_panic" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e262cdaac42494e3ae34c43969f9cdeb7da178bdb4b66fa6a1ea2edb4c8ae652" +dependencies = [ + "typewit", +] + +[[package]] +name = "const_soft_float" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" + +[[package]] +name = "constant_time_eq" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" + +[[package]] +name = "constgebra" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1aaf9b65849a68662ac6c0810c8893a765c960b907dd7cfab9c4a50bf764fbc" +dependencies = [ + "const_soft_float", +] + +[[package]] +name = "convert_case" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" dependencies = [ - "crossbeam-utils", + "unicode-segmentation", ] [[package]] @@ -668,6 +2188,81 @@ dependencies = [ "libm", ] +[[package]] +name = "coreaudio-rs" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" +dependencies = [ + "bitflags 1.3.2", + "core-foundation-sys", + "coreaudio-sys", +] + +[[package]] +name = "coreaudio-sys" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ceec7a6067e62d6f931a2baf6f3a751f4a892595bcec1461a3c94ef9949864b6" +dependencies = [ + "bindgen", +] + +[[package]] +name = "cosmic-text" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da46a9d5a8905cc538a4a5bceb6a4510de7a51049c5588c0114efce102bcbbe8" +dependencies = [ + "bitflags 2.10.0", + "fontdb 0.16.2", + "log", + "rangemap", + "rustc-hash 1.1.0", + "rustybuzz 0.14.1", + "self_cell", + "smol_str", + "swash", + "sys-locale", + "ttf-parser 0.21.1", + "unicode-bidi", + "unicode-linebreak", + "unicode-script", + "unicode-segmentation", +] + +[[package]] +name = "cpal" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" +dependencies = [ + "alsa", + "core-foundation-sys", + "coreaudio-rs", + "dasp_sample", + "jni", + "js-sys", + "libc", + "mach2", + "ndk 0.8.0", + "ndk-context", + "oboe", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.54.0", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.5.0" @@ -677,6 +2272,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-channel" version = "0.5.15" @@ -705,6 +2306,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -723,6 +2333,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f791803201ab277ace03903de1594460708d2d54df6053f2d9e82f592b19e3b" +[[package]] +name = "ctrlc" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" +dependencies = [ + "dispatch2", + "nix", + "windows-sys 0.61.2", +] + [[package]] name = "cursor-icon" version = "1.2.0" @@ -740,6 +2361,53 @@ dependencies = [ "winapi", ] +[[package]] +name = "darling" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +dependencies = [ + "darling_core", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "dasp_sample" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" + +[[package]] +name = "data-encoding" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" + [[package]] name = "data-url" version = "0.3.2" @@ -752,6 +2420,60 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da220af51a1a335e9a930beaaef53d261e41ea9eecfb3d973a3ddae1a7284b9c" +[[package]] +name = "derive_builder" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8" +dependencies = [ + "derive_builder_macro", +] + +[[package]] +name = "derive_builder_core" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_builder_macro" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e" +dependencies = [ + "derive_builder_core", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.108", + "unicode-xid", +] + [[package]] name = "dispatch" version = "0.2.0" @@ -765,9 +2487,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ "bitflags 2.10.0", + "block2 0.6.2", + "libc", "objc2 0.6.3", ] +[[package]] +name = "disqualified" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" + [[package]] name = "dlib" version = "0.5.2" @@ -792,6 +2522,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downcast-rs" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" + [[package]] name = "dpi" version = "0.1.2" @@ -843,12 +2579,55 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +[[package]] +name = "encase" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02ba239319a4f60905966390f5e52799d868103a533bb7e27822792332504ddd" +dependencies = [ + "const_panic", + "encase_derive", + "glam", + "thiserror 2.0.17", +] + +[[package]] +name = "encase_derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5223d6c647f09870553224f6e37261fe5567bc5a4f4cf13ed337476e79990f2f" +dependencies = [ + "encase_derive_impl", +] + +[[package]] +name = "encase_derive_impl" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1796db3d892515842ca2dfb11124c4bb4a9e58d9f2c5c1072e5bca1b2334507b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.108", +] + [[package]] name = "equivalent" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "erased-serde" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" +dependencies = [ + "serde", + "serde_core", + "typeid", +] + [[package]] name = "errno" version = "0.3.14" @@ -868,6 +2647,33 @@ dependencies = [ "num-traits", ] +[[package]] +name = "event-listener" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener", + "pin-project-lite", +] + +[[package]] +name = "fast-srgb8" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" + [[package]] name = "fastrand" version = "2.3.0" @@ -910,6 +2716,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + [[package]] name = "flate2" version = "1.1.5" @@ -926,6 +2738,12 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + [[package]] name = "foldhash" version = "0.1.5" @@ -956,6 +2774,20 @@ dependencies = [ "roxmltree", ] +[[package]] +name = "fontdb" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" +dependencies = [ + "fontconfig-parser", + "log", + "memmap2", + "slotmap", + "tinyvec", + "ttf-parser 0.20.0", +] + [[package]] name = "fontdb" version = "0.23.0" @@ -967,7 +2799,7 @@ dependencies = [ "memmap2", "slotmap", "tinyvec", - "ttf-parser", + "ttf-parser 0.25.1", ] [[package]] @@ -997,6 +2829,15 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", +] + [[package]] name = "futures-core" version = "0.3.31" @@ -1014,6 +2855,25 @@ dependencies = [ "parking_lot", ] +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + [[package]] name = "gethostname" version = "1.1.0" @@ -1021,7 +2881,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" dependencies = [ "rustix 1.1.2", - "windows-link", + "windows-link 0.2.1", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", ] [[package]] @@ -1030,20 +2901,56 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasip2", + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasip2", + "wasm-bindgen", +] + +[[package]] +name = "gif" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "gilrs" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fa85c2e35dc565c90511917897ea4eae16b77f2773d5223536f7b602536d462" +dependencies = [ + "fnv", + "gilrs-core", + "log", + "uuid", + "vec_map", ] [[package]] -name = "gif" -version = "0.13.3" +name = "gilrs-core" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b" +checksum = "d23f2cc5144060a7f8d9e02d3fce5d06705376568256a509cdbc3c24d47e4f04" dependencies = [ - "color_quant", - "weezl", + "inotify", + "js-sys", + "libc", + "libudev-sys", + "log", + "nix", + "objc2-core-foundation", + "objc2-io-kit", + "uuid", + "vec_map", + "wasm-bindgen", + "web-sys", + "windows 0.58.0", ] [[package]] @@ -1066,6 +2973,18 @@ dependencies = [ "xml-rs", ] +[[package]] +name = "glam" +version = "0.30.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19fc433e8437a212d1b6f1e68c7824af3aed907da60afa994e7f542d18d12aa9" +dependencies = [ + "bytemuck", + "libm", + "rand 0.9.2", + "serde_core", +] + [[package]] name = "glob" version = "0.3.3" @@ -1096,6 +3015,42 @@ dependencies = [ "web-sys", ] +[[package]] +name = "gltf" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ce1918195723ce6ac74e80542c5a96a40c2b26162c1957a5cd70799b8cacf7" +dependencies = [ + "byteorder", + "gltf-json", + "lazy_static", + "serde_json", +] + +[[package]] +name = "gltf-derive" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14070e711538afba5d6c807edb74bcb84e5dbb9211a3bf5dea0dfab5b24f4c51" +dependencies = [ + "inflections", + "proc-macro2", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "gltf-json" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6176f9d60a7eab0a877e8e96548605dedbde9190a7ae1e80bbcc1c9af03ab14" +dependencies = [ + "gltf-derive", + "serde", + "serde_derive", + "serde_json", +] + [[package]] name = "glutin" version = "0.32.3" @@ -1243,6 +3198,12 @@ dependencies = [ "bitflags 2.10.0", ] +[[package]] +name = "grid" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36119f3a540b086b4e436bb2b588cf98a68863470e0e880f4d0842f112a3183a" + [[package]] name = "guillotiere" version = "0.6.2" @@ -1265,6 +3226,15 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.14.5" @@ -1295,6 +3265,7 @@ dependencies = [ "allocator-api2", "equivalent", "foldhash 0.2.0", + "serde", ] [[package]] @@ -1312,6 +3283,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "portable-atomic", + "stable_deref_trait", +] + [[package]] name = "heck" version = "0.5.0" @@ -1324,12 +3306,29 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" +[[package]] +name = "hexasphere" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29a164ceff4500f2a72b1d21beaa8aa8ad83aec2b641844c659b190cb3ea2e0b" +dependencies = [ + "constgebra", + "glam", + "tinyvec", +] + [[package]] name = "hexf-parse" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "image" version = "0.25.8" @@ -1372,6 +3371,43 @@ checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", "hashbrown 0.16.0", + "serde", + "serde_core", +] + +[[package]] +name = "inflections" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" + +[[package]] +name = "inotify" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" +dependencies = [ + "bitflags 2.10.0", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "inventory" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" +dependencies = [ + "rustversion", ] [[package]] @@ -1383,6 +3419,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.15" @@ -1417,7 +3462,7 @@ version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom", + "getrandom 0.3.4", "libc", ] @@ -1448,6 +3493,24 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" +[[package]] +name = "ktx2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff7f53bdf698e7aa7ec916411bbdc8078135da11b66db5182675b2227f6c0d07" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "kurbo" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b" +dependencies = [ + "arrayvec", +] + [[package]] name = "kurbo" version = "0.11.3" @@ -1470,6 +3533,23 @@ dependencies = [ "smallvec", ] +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "lewton" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" +dependencies = [ + "byteorder", + "ogg", + "tinyvec", +] + [[package]] name = "libc" version = "0.2.177" @@ -1493,7 +3573,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -1513,6 +3593,16 @@ dependencies = [ "redox_syscall 0.5.18", ] +[[package]] +name = "libudev-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" +dependencies = [ + "libc", + "pkg-config", +] + [[package]] name = "linebender_resource_handle" version = "0.1.1" @@ -1558,6 +3648,15 @@ version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" +[[package]] +name = "mach2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" +dependencies = [ + "libc", +] + [[package]] name = "malloc_buf" version = "0.0.6" @@ -1567,6 +3666,15 @@ dependencies = [ "libc", ] +[[package]] +name = "matchers" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", +] + [[package]] name = "memchr" version = "2.7.6" @@ -1678,12 +3786,44 @@ dependencies = [ "log", "num-traits", "once_cell", + "pp-rs", "rustc-hash 1.1.0", "spirv", "thiserror 2.0.17", "unicode-ident", ] +[[package]] +name = "naga_oil" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b586d3cf5c9b7e13fe2af6e114406ff70773fd80881960378933b63e76f37dd" +dependencies = [ + "codespan-reporting 0.12.0", + "data-encoding", + "indexmap", + "naga 26.0.0", + "regex", + "rustc-hash 1.1.0", + "thiserror 2.0.17", + "tracing", + "unicode-ident", +] + +[[package]] +name = "ndk" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +dependencies = [ + "bitflags 2.10.0", + "jni-sys", + "log", + "ndk-sys 0.5.0+25.2.9519653", + "num_enum", + "thiserror 1.0.69", +] + [[package]] name = "ndk" version = "0.9.0" @@ -1723,6 +3863,18 @@ dependencies = [ "jni-sys", ] +[[package]] +name = "nix" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +dependencies = [ + "bitflags 2.10.0", + "cfg-if", + "cfg_aliases 0.2.1", + "libc", +] + [[package]] name = "nom" version = "7.1.3" @@ -1733,6 +3885,41 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonmax" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" + +[[package]] +name = "ntapi" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c70f219e21142367c70c0b30c6a9e3a14d55b4d12a204d897fbec83a0363f081" +dependencies = [ + "winapi", +] + +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.108", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -1816,7 +4003,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ "bitflags 2.10.0", - "block2", + "block2 0.5.1", "libc", "objc2 0.5.2", "objc2-core-data", @@ -1845,7 +4032,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ "bitflags 2.10.0", - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", "objc2-foundation 0.2.2", @@ -1857,7 +4044,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" dependencies = [ - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", ] @@ -1869,7 +4056,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ "bitflags 2.10.0", - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", ] @@ -1891,7 +4078,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", "objc2-metal 0.2.2", @@ -1903,7 +4090,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-contacts", "objc2-foundation 0.2.2", @@ -1922,7 +4109,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ "bitflags 2.10.0", - "block2", + "block2 0.5.1", "dispatch", "libc", "objc2 0.5.2", @@ -1939,13 +4126,24 @@ dependencies = [ "objc2-core-foundation", ] +[[package]] +name = "objc2-io-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +dependencies = [ + "bitflags 2.10.0", + "libc", + "objc2-core-foundation", +] + [[package]] name = "objc2-link-presentation" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-app-kit 0.2.2", "objc2-foundation 0.2.2", @@ -1958,7 +4156,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ "bitflags 2.10.0", - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", ] @@ -1981,7 +4179,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ "bitflags 2.10.0", - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", "objc2-metal 0.2.2", @@ -2017,7 +4215,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ "bitflags 2.10.0", - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-cloud-kit", "objc2-core-data", @@ -2049,7 +4247,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" dependencies = [ - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", ] @@ -2061,7 +4259,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ "bitflags 2.10.0", - "block2", + "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", "objc2-foundation 0.2.2", @@ -2076,6 +4274,48 @@ dependencies = [ "cc", ] +[[package]] +name = "oboe" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" +dependencies = [ + "jni", + "ndk 0.8.0", + "ndk-context", + "num-derive", + "num-traits", + "oboe-sys", +] + +[[package]] +name = "oboe-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" +dependencies = [ + "cc", +] + +[[package]] +name = "offset-allocator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e234d535da3521eb95106f40f0b73483d80bfb3aacf27c40d7e2b72f1a3e00a2" +dependencies = [ + "log", + "nonmax", +] + +[[package]] +name = "ogg" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e" +dependencies = [ + "byteorder", +] + [[package]] name = "once_cell" version = "1.21.3" @@ -2115,9 +4355,39 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b" dependencies = [ - "ttf-parser", + "ttf-parser 0.25.1", ] +[[package]] +name = "palette" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6" +dependencies = [ + "approx 0.5.1", + "fast-srgb8", + "palette_derive", + "phf", +] + +[[package]] +name = "palette_derive" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30" +dependencies = [ + "by_address", + "proc-macro2", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + [[package]] name = "parking_lot" version = "0.12.5" @@ -2138,7 +4408,7 @@ dependencies = [ "libc", "redox_syscall 0.5.18", "smallvec", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -2166,6 +4436,61 @@ version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" +[[package]] +name = "petgraph" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" +dependencies = [ + "fixedbitset", + "hashbrown 0.15.5", + "indexmap", + "serde", + "serde_derive", +] + +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_macros", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher 1.0.1", +] + [[package]] name = "pico-args" version = "0.5.0" @@ -2198,6 +4523,17 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +[[package]] +name = "piper" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + [[package]] name = "pixels" version = "0.15.0" @@ -2253,6 +4589,16 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "points_on_curve" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca77ae128f56aad518f82cf0af3dcda13b874e59a608dbb287c7887fec97b505" +dependencies = [ + "euclid", + "num-traits", +] + [[package]] name = "polling" version = "3.11.0" @@ -2294,6 +4640,24 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "pp-rs" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb458bb7f6e250e6eb79d5026badc10a3ebb8f9a15d1fff0f13d17c71f4d6dee" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + [[package]] name = "presser" version = "0.3.1" @@ -2373,12 +4737,103 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "radsort" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "019b4b213425016d7d84a153c4c73afb0946fbb4840e4eece7ba8848b9d6da22" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "rand_distr" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" +dependencies = [ + "num-traits", + "rand 0.9.2", +] + [[package]] name = "range-alloc" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde" +[[package]] +name = "rangemap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "973443cf09a9c8656b574a866ab68dfa19f0867d0340648c7d2f6a71b8a8ea68" + [[package]] name = "raw-window-handle" version = "0.6.2" @@ -2427,6 +4882,12 @@ dependencies = [ "font-types", ] +[[package]] +name = "rectangle-pack" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" + [[package]] name = "redox_syscall" version = "0.4.1" @@ -2480,6 +4941,65 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" +[[package]] +name = "rodio" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ceb6607dd738c99bc8cb28eff249b7cd5c8ec88b9db96c0608c1480d140fb1" +dependencies = [ + "cpal", + "lewton", +] + +[[package]] +name = "ron" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" +dependencies = [ + "base64", + "bitflags 2.10.0", + "serde", + "serde_derive", + "unicode-ident", +] + +[[package]] +name = "rough_anyrender" +version = "0.1.0" +dependencies = [ + "anyrender", + "anyrender_vello", + "bevy", + "bevy_vello", + "euclid", + "kurbo 0.12.0", + "num-traits", + "palette", + "peniko", + "rand 0.8.5", + "rand_distr 0.4.3", + "roughr", + "svg_path_ops", + "wgpu 26.0.1", +] + +[[package]] +name = "roughr" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d84b78a6664f5c23615794c954a0b877e75f405537050d76040bb054fe4a600" +dependencies = [ + "derive_builder", + "euclid", + "num-traits", + "palette", + "points_on_curve", + "rand 0.8.5", + "svg_path_ops", + "svgtypes 0.11.0", +] + [[package]] name = "roxmltree" version = "0.20.0" @@ -2498,6 +5018,15 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + [[package]] name = "rustix" version = "0.38.44" @@ -2530,6 +5059,23 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" +dependencies = [ + "bitflags 2.10.0", + "bytemuck", + "libm", + "smallvec", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring 0.2.0", + "unicode-ccc 0.2.0", + "unicode-properties", + "unicode-script", +] + [[package]] name = "rustybuzz" version = "0.20.1" @@ -2541,13 +5087,22 @@ dependencies = [ "core_maths", "log", "smallvec", - "ttf-parser", - "unicode-bidi-mirroring", - "unicode-ccc", + "ttf-parser 0.25.1", + "unicode-bidi-mirroring 0.4.0", + "unicode-ccc 0.4.0", "unicode-properties", "unicode-script", ] +[[package]] +name = "ruzstd" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ff0cc5e135c8870a775d3320910cd9b564ec036b4dc0b8741629020be63f01" +dependencies = [ + "twox-hash", +] + [[package]] name = "ryu" version = "1.0.20" @@ -2597,6 +5152,24 @@ dependencies = [ "tiny-skia", ] +[[package]] +name = "self_cell" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + [[package]] name = "serde" version = "1.0.228" @@ -2649,6 +5222,15 @@ dependencies = [ "serde_core", ] +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + [[package]] name = "shlex" version = "1.3.0" @@ -2670,6 +5252,12 @@ dependencies = [ "log", ] +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "siphasher" version = "1.0.1" @@ -2809,6 +5397,15 @@ dependencies = [ "softbuffer", ] +[[package]] +name = "spin" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" +dependencies = [ + "portable-atomic", +] + [[package]] name = "spirv" version = "0.3.0+sdk-1.3.268.0" @@ -2818,6 +5415,21 @@ dependencies = [ "bitflags 2.10.0", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "stackfuture" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115beb9c69db2393ff10b75a1b8587a51716e5551d015001e55320ed279d32f9" +dependencies = [ + "const_panic", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -2833,11 +5445,37 @@ dependencies = [ "float-cmp", ] +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + [[package]] name = "svg_fmt" version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb" +checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb" + +[[package]] +name = "svg_path_ops" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ed183bad71dff813db12a317785a8565c9b44732cca3c2effd40a06eb9cd28" +dependencies = [ + "cgmath", + "svgtypes 0.11.0", +] + +[[package]] +name = "svgtypes" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed4b0611e7f3277f68c0fa18e385d9e2d26923691379690039548f867cef02a7" +dependencies = [ + "kurbo 0.9.5", + "siphasher 0.3.11", +] [[package]] name = "svgtypes" @@ -2846,7 +5484,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc" dependencies = [ "kurbo 0.11.3", - "siphasher", + "siphasher 1.0.1", +] + +[[package]] +name = "swash" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a" +dependencies = [ + "skrifa", + "yazi", + "zeno", ] [[package]] @@ -2871,6 +5520,41 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sys-locale" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" +dependencies = [ + "libc", +] + +[[package]] +name = "sysinfo" +version = "0.37.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" +dependencies = [ + "libc", + "memchr", + "ntapi", + "objc2-core-foundation", + "objc2-io-kit", + "windows 0.61.3", +] + +[[package]] +name = "taffy" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab4f4d046dd956a47a7e1a2947083d7ac3e6aa3cfaaead36173ceaa5ab11878c" +dependencies = [ + "arrayvec", + "grid", + "serde", + "slotmap", +] + [[package]] name = "tar" version = "0.4.44" @@ -3046,19 +5730,99 @@ checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.108", +] + [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-oslog" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76902d2a8d5f9f55a81155c08971734071968c90f2d9bfe645fe700579b2950" +dependencies = [ + "cc", + "cfg-if", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex-automata", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "tracing-wasm" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" +dependencies = [ + "tracing", + "tracing-subscriber", + "wasm-bindgen", +] + +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + +[[package]] +name = "ttf-parser" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" [[package]] name = "ttf-parser" @@ -3069,6 +5833,24 @@ dependencies = [ "core_maths", ] +[[package]] +name = "twox-hash" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typewit" +version = "1.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8c1ae7cc0fdb8b842d65d127cb981574b0d2b249b74d1c7a2986863dc134f71" + [[package]] name = "ultraviolet" version = "0.9.2" @@ -3084,12 +5866,24 @@ version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" +[[package]] +name = "unicode-bidi-mirroring" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" + [[package]] name = "unicode-bidi-mirroring" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfa6e8c60bb66d49db113e0125ee8711b7647b5579dc7f5f19c42357ed039fe" +[[package]] +name = "unicode-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + [[package]] name = "unicode-ccc" version = "0.4.0" @@ -3102,6 +5896,12 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + [[package]] name = "unicode-properties" version = "0.1.4" @@ -3153,17 +5953,17 @@ dependencies = [ "base64", "data-url", "flate2", - "fontdb", + "fontdb 0.23.0", "imagesize", "kurbo 0.11.3", "log", "pico-args", "roxmltree", - "rustybuzz", + "rustybuzz 0.20.1", "simplecss", - "siphasher", + "siphasher 1.0.1", "strict-num", - "svgtypes", + "svgtypes 0.15.3", "tiny-skia-path", "unicode-bidi", "unicode-script", @@ -3171,6 +5971,41 @@ dependencies = [ "xmlwriter", ] +[[package]] +name = "uuid" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" +dependencies = [ + "getrandom 0.3.4", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "variadics_please" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + [[package]] name = "vello" version = "0.6.0" @@ -3284,6 +6119,12 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + [[package]] name = "wasip2" version = "1.0.1+wasi-0.2.4" @@ -3358,7 +6199,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35" dependencies = [ "cc", - "downcast-rs", + "downcast-rs 1.2.1", "rustix 1.1.2", "scoped-tls", "smallvec", @@ -3592,6 +6433,7 @@ dependencies = [ "thiserror 2.0.17", "wgpu-core-deps-apple", "wgpu-core-deps-emscripten", + "wgpu-core-deps-wasm", "wgpu-core-deps-windows-linux-android", "wgpu-hal 26.0.6", "wgpu-types 26.0.0", @@ -3615,6 +6457,15 @@ dependencies = [ "wgpu-hal 26.0.6", ] +[[package]] +name = "wgpu-core-deps-wasm" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03b9f9e1a50686d315fc6debe4980cc45cd37b0e919351917df494e8fdc8885" +dependencies = [ + "wgpu-hal 26.0.6", +] + [[package]] name = "wgpu-core-deps-windows-linux-android" version = "26.0.0" @@ -3738,6 +6589,7 @@ dependencies = [ "bytemuck", "js-sys", "log", + "serde", "thiserror 2.0.17", "web-sys", ] @@ -3807,6 +6659,16 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" +dependencies = [ + "windows-core 0.54.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows" version = "0.58.0" @@ -3817,6 +6679,28 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -3826,19 +6710,53 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +dependencies = [ + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ - "windows-implement", - "windows-interface", - "windows-result", - "windows-strings", + "windows-implement 0.58.0", + "windows-interface 0.58.0", + "windows-result 0.2.0", + "windows-strings 0.1.0", "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement 0.60.2", + "windows-interface 0.59.3", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", +] + [[package]] name = "windows-implement" version = "0.58.0" @@ -3850,6 +6768,17 @@ dependencies = [ "syn 2.0.108", ] +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.108", +] + [[package]] name = "windows-interface" version = "0.58.0" @@ -3861,12 +6790,48 @@ dependencies = [ "syn 2.0.108", ] +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.108", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -3876,16 +6841,34 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + [[package]] name = "windows-strings" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-targets 0.52.6", ] +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -3928,7 +6911,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -3968,7 +6951,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link", + "windows-link 0.2.1", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -3979,6 +6962,15 @@ dependencies = [ "windows_x86_64_msvc 0.53.1", ] +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -4127,7 +7119,7 @@ dependencies = [ "android-activity", "atomic-waker", "bitflags 2.10.0", - "block2", + "block2 0.5.1", "bytemuck", "calloop", "cfg_aliases 0.2.1", @@ -4139,7 +7131,7 @@ dependencies = [ "js-sys", "libc", "memmap2", - "ndk", + "ndk 0.9.0", "objc2 0.5.2", "objc2-app-kit 0.2.2", "objc2-foundation 0.2.2", @@ -4277,6 +7269,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" +[[package]] +name = "yazi" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" + +[[package]] +name = "zeno" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" + [[package]] name = "zerocopy" version = "0.8.27" diff --git a/Cargo.toml b/Cargo.toml index 82684ed..2508062 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,7 @@ members = [ "crates/wgpu_context", "crates/pixels_window_renderer", "crates/softbuffer_window_renderer", + "crates/rough_anyrender", "examples/winit", "examples/bunnymark", ] diff --git a/crates/rough_anyrender/Cargo.toml b/crates/rough_anyrender/Cargo.toml new file mode 100644 index 0000000..0e4f17f --- /dev/null +++ b/crates/rough_anyrender/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "rough_anyrender" +version = "0.1.0" +edition = "2021" +authors = ["orhanbalci@gmail.com "] +description = "Draw Hand Sketched 2D Drawings Using Vello" +repository = "https://github.com/orhanbalci/rough-rs.git" +homepage = "https://github.com/orhanbalci" +keywords = ["graphics", "bezier", "sketch", "2D", "vello"] +categories = ["graphics"] +license = "MIT" +readme = "README.md" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +anyrender = { workspace = true } +kurbo = { workspace = true } +peniko = { workspace = true } +roughr = { version = "0.12.0" } +num-traits = "0.2" +euclid = "0.22" +palette = "0.7" + +[dev-dependencies] +anyrender_vello = { workspace = true } +rand = "0.8" +rand_distr = "0.4" +svg_path_ops = { version = "0.11.0" } +bevy = "0.17" +bevy_vello = "0.12" +wgpu = "26" diff --git a/crates/rough_anyrender/README.md b/crates/rough_anyrender/README.md new file mode 100644 index 0000000..da929be --- /dev/null +++ b/crates/rough_anyrender/README.md @@ -0,0 +1,88 @@ +# rough_anyrender + +[![Crates.io](https://img.shields.io/crates/v/rough_vello.svg)](https://crates.io/crates/rough_vello) +[![Documentation](https://docs.rs/rough_vello/badge.svg)](https://docs.rs/rough_vello) +[![License](https://img.shields.io/github/license/orhanbalci/rough-rs.svg)](https://github.com/orhanbalci/rough-rs/LICENSE) + + + + +This crate is an adapter crate between [roughr](https://github.com/orhanbalci/rough-rs/main/roughr) and +[anyrender](https://github.com/dioxuslabs/anyrender) crates. Converts from roughr drawing +primitives to AnyRender's PaintScene types. Also has convenience traits for drawing onto AnyRender scenes. For more detailed +information you can check roughr crate. + +Below examples are output of [rough_vello](https://github.com/orhanbalci/rough-rs/tree/main/rough_vello) adapter. + +## 📦 Cargo.toml + +```toml +[dependencies] +rough_anyrender = "0.1" +``` + +## 🔧 Example + +### Rust Logo + +```rust +use rough_vello::VelloGenerator; +use vello::Scene; +use palette::Srgba; +use roughr::core::{FillStyle, OptionsBuilder}; + +let options = OptionsBuilder::default() + .stroke(Srgba::from_components((114u8, 87u8, 82u8, 255u8)).into_format()) + .fill(Srgba::from_components((254u8, 246u8, 201u8, 255)).into_format()) + .fill_style(FillStyle::Hachure) + .fill_weight(1.0) + .bowing(0.8) + .build() + .unwrap(); + +let generator = VelloGenerator::new(options); +let rust_logo_svg_path = "..."; // SVG path data for the Rust logo +let rust_logo_drawing = generator.path::(rust_logo_svg_path); + +let mut scene = Scene::new(); +rust_logo_drawing.draw(&mut scene); +``` + +### 🖨️ Output Rust Logo +![rust_logo](https://raw.githubusercontent.com/orhanbalci/rough-rs/main/rough_vello/assets/rust_logo.png) + +## Filler Implementation Status +- [x] Hachure +- [x] Zigzag +- [x] Cross-Hatch +- [x] Dots +- [x] Dashed +- [x] Zigzag-Line + +## 🔭 Examples + +For more examples have a look at the +[examples](https://github.com/orhanbalci/rough-rs/tree/main/rough_vello/examples) folder. + +## 🔌 Integration + +### Bevy Integration + +For Bevy game engine integration, you can use [bevy_vello](https://github.com/linebender/bevy_vello) which provides a Bevy plugin for vello. This allows you to render `rough_vello` drawings directly in your Bevy applications by converting the vello Scene to Bevy-compatible rendering. + +```toml +[dependencies] +rough_vello = "0.1" +bevy_vello = "0.1" # Check latest version +bevy = "0.14" # Or latest compatible version +``` + + + +## 📝 License + +Licensed under MIT License ([LICENSE](LICENSE)). + +### 🚧 Contributions + +Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the MIT license, shall be licensed as above, without any additional terms or conditions. diff --git a/crates/rough_anyrender/assets/rust_logo.png b/crates/rough_anyrender/assets/rust_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..01797d52f6ccecd33064d8a9a234934621fc0b03 GIT binary patch literal 215211 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�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 I4LGC3E0t^(pHSlCRURnC?on{R)|E*)&4|74AFA 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 bpL@t(rust_logo_svg_path.clone()); + let mut scene = vello::Scene::new(); + rust_logo_drawing.draw(&mut VelloScenePainter::new(&mut scene)); + + // Create different movement patterns for each logo + let velocity = match i % 5 { + 0 => Vec2::new(50.0 + i as f32 * 10.0, 30.0 + i as f32 * 5.0), // Linear movement + 1 => Vec2::new(-40.0 - i as f32 * 8.0, 60.0 + i as f32 * 7.0), // Different linear + 2 => Vec2::new(80.0 + i as f32 * 12.0, -50.0 - i as f32 * 6.0), // Another linear + 3 => Vec2::new(-70.0 - i as f32 * 9.0, -40.0 - i as f32 * 4.0), // Diagonal + _ => Vec2::new(45.0 + i as f32 * 11.0, 70.0 + i as f32 * 8.0), // Default + }; + + let scale = 0.3 + (i as f32) * 0.07; // Different scales from 0.3 to 0.93 + + commands.spawn(( + VelloSceneBundle { + scene: VelloScene::from(scene), + transform: Transform::from_translation(Vec3::new(x, y, 0.0)) + .with_scale(Vec3::splat(scale)), + ..default() + }, + AnimatedLogo { + velocity, + rotation_speed: (i as f32 + 1.0) * 0.3, // Different rotation speeds + scale_oscillation: 0.1 + (i as f32) * 0.02, // Different scale oscillation + scale_phase: (i as f32) * std::f32::consts::PI / 5.0, // Different phases + }, + )); + } +} + +fn animate_logo(time: Res