From f05d3a82517598f7ac090bf107f6b3fbb2277700 Mon Sep 17 00:00:00 2001 From: galister <22305755+galister@users.noreply.github.com> Date: Wed, 18 Jun 2025 01:14:04 +0900 Subject: [PATCH] new workspace --- Cargo.lock | 137 +- Cargo.toml | 126 +- wgui/.editorconfig | 8 + wgui/.gitignore | 2 + wgui/Cargo.lock | 1966 +++++ wgui/Cargo.toml | 34 + wgui/README.md | 9 + wgui/contrib/logo.png | Bin 0 -> 6644 bytes wgui/doc/widgets.md | 105 + wgui/rustfmt.toml | 2 + wgui/src/animation.rs | 216 + wgui/src/any.rs | 16 + wgui/src/assets.rs | 3 + wgui/src/components/button.rs | 168 + wgui/src/components/mod.rs | 1 + wgui/src/drawing.rs | 200 + wgui/src/event.rs | 108 + wgui/src/gfx/cmd.rs | 176 + wgui/src/gfx/mod.rs | 311 + wgui/src/gfx/pass.rs | 187 + wgui/src/gfx/pipeline.rs | 286 + wgui/src/layout.rs | 319 + wgui/src/lib.rs | 16 + wgui/src/parser.rs | 816 ++ wgui/src/renderer_vk/context.rs | 221 + wgui/src/renderer_vk/mod.rs | 6 + wgui/src/renderer_vk/model_buffer.rs | 124 + wgui/src/renderer_vk/rect.rs | 171 + .../src/renderer_vk/shaders/model_buffer.glsl | 5 + wgui/src/renderer_vk/shaders/rect.frag | 54 + wgui/src/renderer_vk/shaders/rect.vert | 93 + .../renderer_vk/shaders/styles_buffer.glsl | 22 + wgui/src/renderer_vk/shaders/text.frag | 22 + wgui/src/renderer_vk/shaders/text.vert | 61 + wgui/src/renderer_vk/shaders/uniform.glsl | 8 + wgui/src/renderer_vk/text/custom_glyph.rs | 259 + wgui/src/renderer_vk/text/mod.rs | 225 + wgui/src/renderer_vk/text/shaders.rs | 13 + wgui/src/renderer_vk/text/text_atlas.rs | 335 + wgui/src/renderer_vk/text/text_renderer.rs | 484 ++ wgui/src/renderer_vk/util.rs | 18 + wgui/src/renderer_vk/viewport.rs | 103 + wgui/src/transform_stack.rs | 51 + wgui/src/widget/div.rs | 15 + wgui/src/widget/mod.rs | 342 + wgui/src/widget/rectangle.rs | 55 + wgui/src/widget/sprite.rs | 82 + wgui/src/widget/text.rs | 117 + wgui/src/widget/util.rs | 11 + wgui/uidev-vk/.gitignore | 1 + wgui/uidev-vk/Cargo.lock | 3389 +++++++++ wgui/uidev-vk/Cargo.toml | 22 + wgui/uidev-vk/assets/dashboard/add.svg | 3 + .../assets/dashboard/alphabetical.svg | 3 + wgui/uidev-vk/assets/dashboard/apps.svg | 3 + wgui/uidev-vk/assets/dashboard/back.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_10.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_100.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_20.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_30.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_40.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_50.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_60.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_70.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_80.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_90.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_chr_10.svg | 3 + .../uidev-vk/assets/dashboard/bat_chr_100.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_chr_20.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_chr_30.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_chr_40.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_chr_50.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_chr_60.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_chr_70.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_chr_80.svg | 3 + wgui/uidev-vk/assets/dashboard/bat_chr_90.svg | 3 + wgui/uidev-vk/assets/dashboard/binary.svg | 7 + wgui/uidev-vk/assets/dashboard/burger.svg | 3 + .../assets/dashboard/category_search.svg | 3 + wgui/uidev-vk/assets/dashboard/circle.svg | 3 + wgui/uidev-vk/assets/dashboard/close.svg | 3 + wgui/uidev-vk/assets/dashboard/cpu.svg | 4 + wgui/uidev-vk/assets/dashboard/display.svg | 3 + .../uidev-vk/assets/dashboard/displayport.svg | 6 + wgui/uidev-vk/assets/dashboard/eye.svg | 6 + wgui/uidev-vk/assets/dashboard/fix_floor.svg | 3 + wgui/uidev-vk/assets/dashboard/games.svg | 3 + wgui/uidev-vk/assets/dashboard/github.svg | 3 + wgui/uidev-vk/assets/dashboard/globe.svg | 3 + wgui/uidev-vk/assets/dashboard/home.svg | 3 + wgui/uidev-vk/assets/dashboard/knife.svg | 3 + wgui/uidev-vk/assets/dashboard/magic_wand.svg | 3 + wgui/uidev-vk/assets/dashboard/microphone.svg | 3 + wgui/uidev-vk/assets/dashboard/minijack.svg | 3 + wgui/uidev-vk/assets/dashboard/monado.svg | 44 + wgui/uidev-vk/assets/dashboard/panorama.svg | 3 + wgui/uidev-vk/assets/dashboard/play.svg | 3 + wgui/uidev-vk/assets/dashboard/power.svg | 3 + wgui/uidev-vk/assets/dashboard/recenter.svg | 3 + wgui/uidev-vk/assets/dashboard/refresh.svg | 3 + .../assets/dashboard/remove_circle.svg | 3 + wgui/uidev-vk/assets/dashboard/search.svg | 3 + wgui/uidev-vk/assets/dashboard/settings.svg | 3 + wgui/uidev-vk/assets/dashboard/sleep.svg | 3 + wgui/uidev-vk/assets/dashboard/terminal.svg | 3 + wgui/uidev-vk/assets/dashboard/usage.svg | 3 + wgui/uidev-vk/assets/dashboard/volume.svg | 3 + wgui/uidev-vk/assets/dashboard/volume_off.svg | 3 + wgui/uidev-vk/assets/dashboard/vr.svg | 3 + .../assets/dashboard/wayvr_dashboard.svg | 110 + .../assets/dashboard/wayvr_dashboard_mono.svg | 77 + wgui/uidev-vk/assets/dashboard/window.svg | 4 + wgui/uidev-vk/assets/gui/anchor.xml | 123 + wgui/uidev-vk/assets/gui/dashboard.xml | 123 + wgui/uidev-vk/assets/gui/testbed.xml | 87 + wgui/uidev-vk/assets/gui/testbed/icons.xml | 12 + wgui/uidev-vk/assets/gui/theme.xml | 8 + wgui/uidev-vk/assets/raster.png | Bin 0 -> 422 bytes .../test => wgui/uidev-vk/res/watch.xml | 0 wgui/uidev-vk/src/assets.rs | 12 + wgui/uidev-vk/src/main.rs | 332 + wgui/uidev-vk/src/profiler.rs | 49 + wgui/uidev-vk/src/testbed/mod.rs | 9 + .../uidev-vk/src/testbed/testbed_dashboard.rs | 34 + wgui/uidev-vk/src/testbed/testbed_generic.rs | 104 + wgui/uidev-vk/src/timestep.rs | 70 + wgui/uidev-vk/src/vulkan.rs | 211 + wlx-capture/.gitignore | 1 + wlx-capture/Cargo.lock | 2011 +++++ wlx-capture/Cargo.toml | 51 + LICENSE => wlx-capture/LICENSE | 0 wlx-capture/README.md | 78 + wlx-capture/src/frame.rs | 184 + wlx-capture/src/lib.rs | 35 + wlx-capture/src/pipewire.rs | 699 ++ wlx-capture/src/wayland.rs | 428 ++ wlx-capture/src/wlr_dmabuf.rs | 243 + wlx-capture/src/wlr_screencopy.rs | 383 + wlx-capture/src/xshm.rs | 178 + .../.github}/ISSUE_TEMPLATE/bug-report.md | 0 .../.github}/workflows/build-all-features.yml | 0 .../.github}/workflows/build-appimage.yml | 0 .../.github}/workflows/build-default.yml | 0 .../workflows/build-full-appimage.yml | 0 .../workflows/build-wayland-openvr.yml | 0 .../build-wayland-openxr-openvr-wayvr.yml | 0 .../workflows/build-wayland-openxr.yml | 0 .../.github}/workflows/build-x11-openvr.yml | 0 .../.github}/workflows/build-x11-openxr.yml | 0 .../.github}/workflows/make-release.yml | 0 .../scripts/appimage_build_wayvr_dashboard.sh | 0 .../workflows/scripts/appimage_build_wlx.sh | 0 .../workflows/scripts/appimage_package.sh | 0 .../scripts/appimage_package_full.sh | 0 .../workflows/scripts/appimage_prepare_env.sh | 0 wlx-overlay-s/.gitignore | 2 + wlx-overlay-s/Cargo.lock | 6606 +++++++++++++++++ wlx-overlay-s/Cargo.toml | 120 + wlx-overlay-s/LICENSE | 674 ++ README.md => wlx-overlay-s/README.md | 0 build.rs => wlx-overlay-s/build.rs | 0 .../contrib}/wayvr/README.md | 0 .../contrib}/wayvr/watch_wayvr_example.yaml | 0 .../contrib}/wlx-overlay-s.service | 0 .../com.github.galister.wlx-overlay-s.yml | 0 .../flatpak}/sources-wlx-overlay-s.json | 0 {src => wlx-overlay-s/src}/backend/common.rs | 0 {src => wlx-overlay-s/src}/backend/input.rs | 0 {src => wlx-overlay-s/src}/backend/mod.rs | 0 .../src}/backend/notifications.rs | 0 .../src}/backend/notifications_dbus.rs | 0 .../src}/backend/openvr/helpers.rs | 0 .../src}/backend/openvr/input.rs | 0 .../src}/backend/openvr/lines.rs | 0 .../src}/backend/openvr/manifest.rs | 0 .../src}/backend/openvr/mod.rs | 0 .../src}/backend/openvr/overlay.rs | 0 .../src}/backend/openvr/playspace.rs | 0 .../src}/backend/openxr/blocker.rs | 0 .../src}/backend/openxr/helpers.rs | 0 .../src}/backend/openxr/input.rs | 0 .../src}/backend/openxr/lines.rs | 0 .../src}/backend/openxr/mod.rs | 0 .../src}/backend/openxr/openxr_actions.json5 | 0 .../src}/backend/openxr/overlay.rs | 0 .../src}/backend/openxr/playspace.rs | 0 .../src}/backend/openxr/skybox.rs | 0 .../src}/backend/openxr/swapchain.rs | 0 {src => wlx-overlay-s/src}/backend/osc.rs | 0 {src => wlx-overlay-s/src}/backend/overlay.rs | 0 {src => wlx-overlay-s/src}/backend/task.rs | 0 .../src}/backend/wayvr/client.rs | 0 .../src}/backend/wayvr/comp.rs | 0 .../src}/backend/wayvr/display.rs | 0 .../src}/backend/wayvr/egl_data.rs | 0 .../src}/backend/wayvr/egl_ex.rs | 0 .../src}/backend/wayvr/event_queue.rs | 0 .../src}/backend/wayvr/handle.rs | 0 .../src}/backend/wayvr/mod.rs | 0 .../src}/backend/wayvr/process.rs | 0 .../src}/backend/wayvr/server_ipc.rs | 0 .../src}/backend/wayvr/smithay_wrapper.rs | 0 .../src}/backend/wayvr/time.rs | 0 .../src}/backend/wayvr/window.rs | 0 {src => wlx-overlay-s/src}/config.rs | 0 {src => wlx-overlay-s/src}/config_io.rs | 0 {src => wlx-overlay-s/src}/config_wayvr.rs | 0 {src => wlx-overlay-s/src}/graphics/dds.rs | 0 {src => wlx-overlay-s/src}/graphics/dmabuf.rs | 0 {src => wlx-overlay-s/src}/graphics/mod.rs | 0 {src => wlx-overlay-s/src}/gui/asset.rs | 0 {src => wlx-overlay-s/src}/gui/mod.rs | 0 {src => wlx-overlay-s/src}/gui/panel.rs | 0 {src => wlx-overlay-s/src}/gui/timestep.rs | 0 {src => wlx-overlay-s/src}/hid/mod.rs | 0 {src => wlx-overlay-s/src}/hid/wayland.rs | 0 {src => wlx-overlay-s/src}/hid/x11.rs | 0 {src => wlx-overlay-s/src}/main.rs | 0 {src => wlx-overlay-s/src}/overlays/anchor.rs | 0 {src => wlx-overlay-s/src}/overlays/custom.rs | 0 .../src}/overlays/keyboard.rs | 0 {src => wlx-overlay-s/src}/overlays/mirror.rs | 0 {src => wlx-overlay-s/src}/overlays/mod.rs | 0 {src => wlx-overlay-s/src}/overlays/screen.rs | 0 {src => wlx-overlay-s/src}/overlays/toast.rs | 0 {src => wlx-overlay-s/src}/overlays/watch.rs | 0 {src => wlx-overlay-s/src}/overlays/wayvr.rs | 0 {src => wlx-overlay-s/src}/res/380885.wav | Bin {src => wlx-overlay-s/src}/res/421581.wav | Bin {src => wlx-overlay-s/src}/res/557297.wav | Bin {src => wlx-overlay-s/src}/res/660533.wav | Bin {src => wlx-overlay-s/src}/res/actions.json | 0 .../src}/res/actions_binding_knuckles.json | 0 .../src}/res/actions_binding_oculus.json | 0 .../src}/res/actions_binding_vive.json | 0 {src => wlx-overlay-s/src}/res/anchor.yaml | 0 {src => wlx-overlay-s/src}/res/config.yaml | 0 {src => wlx-overlay-s/src}/res/keyboard.yaml | 0 {src => wlx-overlay-s/src}/res/settings.yaml | 0 .../src}/res/table_mountain_2.dds | Bin {src => wlx-overlay-s/src}/res/watch.yaml | 0 {src => wlx-overlay-s/src}/res/wayvr.yaml | 0 {src => wlx-overlay-s/src}/shaders/color.frag | 0 {src => wlx-overlay-s/src}/shaders/grid.frag | 0 {src => wlx-overlay-s/src}/shaders/mod.rs | 0 {src => wlx-overlay-s/src}/shaders/quad.vert | 0 .../src}/shaders/screen.frag | 0 {src => wlx-overlay-s/src}/shaders/srgb.frag | 0 {src => wlx-overlay-s/src}/state.rs | 0 .../wlx-overlay-s.desktop | 0 .../wlx-overlay-s.png | Bin .../wlx-overlay-s.svg | 0 252 files changed, 24618 insertions(+), 184 deletions(-) create mode 100644 wgui/.editorconfig create mode 100644 wgui/.gitignore create mode 100644 wgui/Cargo.lock create mode 100644 wgui/Cargo.toml create mode 100644 wgui/README.md create mode 100644 wgui/contrib/logo.png create mode 100644 wgui/doc/widgets.md create mode 100644 wgui/rustfmt.toml create mode 100644 wgui/src/animation.rs create mode 100644 wgui/src/any.rs create mode 100644 wgui/src/assets.rs create mode 100644 wgui/src/components/button.rs create mode 100644 wgui/src/components/mod.rs create mode 100644 wgui/src/drawing.rs create mode 100644 wgui/src/event.rs create mode 100644 wgui/src/gfx/cmd.rs create mode 100644 wgui/src/gfx/mod.rs create mode 100644 wgui/src/gfx/pass.rs create mode 100644 wgui/src/gfx/pipeline.rs create mode 100644 wgui/src/layout.rs create mode 100644 wgui/src/lib.rs create mode 100644 wgui/src/parser.rs create mode 100644 wgui/src/renderer_vk/context.rs create mode 100644 wgui/src/renderer_vk/mod.rs create mode 100644 wgui/src/renderer_vk/model_buffer.rs create mode 100644 wgui/src/renderer_vk/rect.rs create mode 100644 wgui/src/renderer_vk/shaders/model_buffer.glsl create mode 100644 wgui/src/renderer_vk/shaders/rect.frag create mode 100644 wgui/src/renderer_vk/shaders/rect.vert create mode 100644 wgui/src/renderer_vk/shaders/styles_buffer.glsl create mode 100644 wgui/src/renderer_vk/shaders/text.frag create mode 100644 wgui/src/renderer_vk/shaders/text.vert create mode 100644 wgui/src/renderer_vk/shaders/uniform.glsl create mode 100644 wgui/src/renderer_vk/text/custom_glyph.rs create mode 100644 wgui/src/renderer_vk/text/mod.rs create mode 100644 wgui/src/renderer_vk/text/shaders.rs create mode 100644 wgui/src/renderer_vk/text/text_atlas.rs create mode 100644 wgui/src/renderer_vk/text/text_renderer.rs create mode 100644 wgui/src/renderer_vk/util.rs create mode 100644 wgui/src/renderer_vk/viewport.rs create mode 100644 wgui/src/transform_stack.rs create mode 100644 wgui/src/widget/div.rs create mode 100644 wgui/src/widget/mod.rs create mode 100644 wgui/src/widget/rectangle.rs create mode 100644 wgui/src/widget/sprite.rs create mode 100644 wgui/src/widget/text.rs create mode 100644 wgui/src/widget/util.rs create mode 100644 wgui/uidev-vk/.gitignore create mode 100644 wgui/uidev-vk/Cargo.lock create mode 100644 wgui/uidev-vk/Cargo.toml create mode 100644 wgui/uidev-vk/assets/dashboard/add.svg create mode 100644 wgui/uidev-vk/assets/dashboard/alphabetical.svg create mode 100644 wgui/uidev-vk/assets/dashboard/apps.svg create mode 100644 wgui/uidev-vk/assets/dashboard/back.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_10.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_100.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_20.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_30.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_40.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_50.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_60.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_70.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_80.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_90.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_10.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_100.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_20.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_30.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_40.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_50.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_60.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_70.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_80.svg create mode 100644 wgui/uidev-vk/assets/dashboard/bat_chr_90.svg create mode 100644 wgui/uidev-vk/assets/dashboard/binary.svg create mode 100644 wgui/uidev-vk/assets/dashboard/burger.svg create mode 100644 wgui/uidev-vk/assets/dashboard/category_search.svg create mode 100644 wgui/uidev-vk/assets/dashboard/circle.svg create mode 100644 wgui/uidev-vk/assets/dashboard/close.svg create mode 100644 wgui/uidev-vk/assets/dashboard/cpu.svg create mode 100644 wgui/uidev-vk/assets/dashboard/display.svg create mode 100644 wgui/uidev-vk/assets/dashboard/displayport.svg create mode 100644 wgui/uidev-vk/assets/dashboard/eye.svg create mode 100644 wgui/uidev-vk/assets/dashboard/fix_floor.svg create mode 100644 wgui/uidev-vk/assets/dashboard/games.svg create mode 100644 wgui/uidev-vk/assets/dashboard/github.svg create mode 100644 wgui/uidev-vk/assets/dashboard/globe.svg create mode 100644 wgui/uidev-vk/assets/dashboard/home.svg create mode 100644 wgui/uidev-vk/assets/dashboard/knife.svg create mode 100644 wgui/uidev-vk/assets/dashboard/magic_wand.svg create mode 100644 wgui/uidev-vk/assets/dashboard/microphone.svg create mode 100644 wgui/uidev-vk/assets/dashboard/minijack.svg create mode 100644 wgui/uidev-vk/assets/dashboard/monado.svg create mode 100644 wgui/uidev-vk/assets/dashboard/panorama.svg create mode 100644 wgui/uidev-vk/assets/dashboard/play.svg create mode 100644 wgui/uidev-vk/assets/dashboard/power.svg create mode 100644 wgui/uidev-vk/assets/dashboard/recenter.svg create mode 100644 wgui/uidev-vk/assets/dashboard/refresh.svg create mode 100644 wgui/uidev-vk/assets/dashboard/remove_circle.svg create mode 100644 wgui/uidev-vk/assets/dashboard/search.svg create mode 100644 wgui/uidev-vk/assets/dashboard/settings.svg create mode 100644 wgui/uidev-vk/assets/dashboard/sleep.svg create mode 100644 wgui/uidev-vk/assets/dashboard/terminal.svg create mode 100644 wgui/uidev-vk/assets/dashboard/usage.svg create mode 100644 wgui/uidev-vk/assets/dashboard/volume.svg create mode 100644 wgui/uidev-vk/assets/dashboard/volume_off.svg create mode 100644 wgui/uidev-vk/assets/dashboard/vr.svg create mode 100644 wgui/uidev-vk/assets/dashboard/wayvr_dashboard.svg create mode 100644 wgui/uidev-vk/assets/dashboard/wayvr_dashboard_mono.svg create mode 100644 wgui/uidev-vk/assets/dashboard/window.svg create mode 100644 wgui/uidev-vk/assets/gui/anchor.xml create mode 100644 wgui/uidev-vk/assets/gui/dashboard.xml create mode 100644 wgui/uidev-vk/assets/gui/testbed.xml create mode 100644 wgui/uidev-vk/assets/gui/testbed/icons.xml create mode 100644 wgui/uidev-vk/assets/gui/theme.xml create mode 100644 wgui/uidev-vk/assets/raster.png rename src/gui/assets/test => wgui/uidev-vk/res/watch.xml (100%) create mode 100644 wgui/uidev-vk/src/assets.rs create mode 100644 wgui/uidev-vk/src/main.rs create mode 100644 wgui/uidev-vk/src/profiler.rs create mode 100644 wgui/uidev-vk/src/testbed/mod.rs create mode 100644 wgui/uidev-vk/src/testbed/testbed_dashboard.rs create mode 100644 wgui/uidev-vk/src/testbed/testbed_generic.rs create mode 100644 wgui/uidev-vk/src/timestep.rs create mode 100644 wgui/uidev-vk/src/vulkan.rs create mode 100644 wlx-capture/.gitignore create mode 100644 wlx-capture/Cargo.lock create mode 100644 wlx-capture/Cargo.toml rename LICENSE => wlx-capture/LICENSE (100%) create mode 100644 wlx-capture/README.md create mode 100644 wlx-capture/src/frame.rs create mode 100644 wlx-capture/src/lib.rs create mode 100644 wlx-capture/src/pipewire.rs create mode 100644 wlx-capture/src/wayland.rs create mode 100644 wlx-capture/src/wlr_dmabuf.rs create mode 100644 wlx-capture/src/wlr_screencopy.rs create mode 100644 wlx-capture/src/xshm.rs rename {.github => wlx-overlay-s/.github}/ISSUE_TEMPLATE/bug-report.md (100%) rename {.github => wlx-overlay-s/.github}/workflows/build-all-features.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/build-appimage.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/build-default.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/build-full-appimage.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/build-wayland-openvr.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/build-wayland-openxr-openvr-wayvr.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/build-wayland-openxr.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/build-x11-openvr.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/build-x11-openxr.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/make-release.yml (100%) rename {.github => wlx-overlay-s/.github}/workflows/scripts/appimage_build_wayvr_dashboard.sh (100%) rename {.github => wlx-overlay-s/.github}/workflows/scripts/appimage_build_wlx.sh (100%) rename {.github => wlx-overlay-s/.github}/workflows/scripts/appimage_package.sh (100%) rename {.github => wlx-overlay-s/.github}/workflows/scripts/appimage_package_full.sh (100%) rename {.github => wlx-overlay-s/.github}/workflows/scripts/appimage_prepare_env.sh (100%) create mode 100644 wlx-overlay-s/.gitignore create mode 100644 wlx-overlay-s/Cargo.lock create mode 100644 wlx-overlay-s/Cargo.toml create mode 100644 wlx-overlay-s/LICENSE rename README.md => wlx-overlay-s/README.md (100%) rename build.rs => wlx-overlay-s/build.rs (100%) rename {contrib => wlx-overlay-s/contrib}/wayvr/README.md (100%) rename {contrib => wlx-overlay-s/contrib}/wayvr/watch_wayvr_example.yaml (100%) rename {contrib => wlx-overlay-s/contrib}/wlx-overlay-s.service (100%) rename {flatpak => wlx-overlay-s/flatpak}/com.github.galister.wlx-overlay-s.yml (100%) rename {flatpak => wlx-overlay-s/flatpak}/sources-wlx-overlay-s.json (100%) rename {src => wlx-overlay-s/src}/backend/common.rs (100%) rename {src => wlx-overlay-s/src}/backend/input.rs (100%) rename {src => wlx-overlay-s/src}/backend/mod.rs (100%) rename {src => wlx-overlay-s/src}/backend/notifications.rs (100%) rename {src => wlx-overlay-s/src}/backend/notifications_dbus.rs (100%) rename {src => wlx-overlay-s/src}/backend/openvr/helpers.rs (100%) rename {src => wlx-overlay-s/src}/backend/openvr/input.rs (100%) rename {src => wlx-overlay-s/src}/backend/openvr/lines.rs (100%) rename {src => wlx-overlay-s/src}/backend/openvr/manifest.rs (100%) rename {src => wlx-overlay-s/src}/backend/openvr/mod.rs (100%) rename {src => wlx-overlay-s/src}/backend/openvr/overlay.rs (100%) rename {src => wlx-overlay-s/src}/backend/openvr/playspace.rs (100%) rename {src => wlx-overlay-s/src}/backend/openxr/blocker.rs (100%) rename {src => wlx-overlay-s/src}/backend/openxr/helpers.rs (100%) rename {src => wlx-overlay-s/src}/backend/openxr/input.rs (100%) rename {src => wlx-overlay-s/src}/backend/openxr/lines.rs (100%) rename {src => wlx-overlay-s/src}/backend/openxr/mod.rs (100%) rename {src => wlx-overlay-s/src}/backend/openxr/openxr_actions.json5 (100%) rename {src => wlx-overlay-s/src}/backend/openxr/overlay.rs (100%) rename {src => wlx-overlay-s/src}/backend/openxr/playspace.rs (100%) rename {src => wlx-overlay-s/src}/backend/openxr/skybox.rs (100%) rename {src => wlx-overlay-s/src}/backend/openxr/swapchain.rs (100%) rename {src => wlx-overlay-s/src}/backend/osc.rs (100%) rename {src => wlx-overlay-s/src}/backend/overlay.rs (100%) rename {src => wlx-overlay-s/src}/backend/task.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/client.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/comp.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/display.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/egl_data.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/egl_ex.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/event_queue.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/handle.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/mod.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/process.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/server_ipc.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/smithay_wrapper.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/time.rs (100%) rename {src => wlx-overlay-s/src}/backend/wayvr/window.rs (100%) rename {src => wlx-overlay-s/src}/config.rs (100%) rename {src => wlx-overlay-s/src}/config_io.rs (100%) rename {src => wlx-overlay-s/src}/config_wayvr.rs (100%) rename {src => wlx-overlay-s/src}/graphics/dds.rs (100%) rename {src => wlx-overlay-s/src}/graphics/dmabuf.rs (100%) rename {src => wlx-overlay-s/src}/graphics/mod.rs (100%) rename {src => wlx-overlay-s/src}/gui/asset.rs (100%) rename {src => wlx-overlay-s/src}/gui/mod.rs (100%) rename {src => wlx-overlay-s/src}/gui/panel.rs (100%) rename {src => wlx-overlay-s/src}/gui/timestep.rs (100%) rename {src => wlx-overlay-s/src}/hid/mod.rs (100%) rename {src => wlx-overlay-s/src}/hid/wayland.rs (100%) rename {src => wlx-overlay-s/src}/hid/x11.rs (100%) rename {src => wlx-overlay-s/src}/main.rs (100%) rename {src => wlx-overlay-s/src}/overlays/anchor.rs (100%) rename {src => wlx-overlay-s/src}/overlays/custom.rs (100%) rename {src => wlx-overlay-s/src}/overlays/keyboard.rs (100%) rename {src => wlx-overlay-s/src}/overlays/mirror.rs (100%) rename {src => wlx-overlay-s/src}/overlays/mod.rs (100%) rename {src => wlx-overlay-s/src}/overlays/screen.rs (100%) rename {src => wlx-overlay-s/src}/overlays/toast.rs (100%) rename {src => wlx-overlay-s/src}/overlays/watch.rs (100%) rename {src => wlx-overlay-s/src}/overlays/wayvr.rs (100%) rename {src => wlx-overlay-s/src}/res/380885.wav (100%) rename {src => wlx-overlay-s/src}/res/421581.wav (100%) rename {src => wlx-overlay-s/src}/res/557297.wav (100%) rename {src => wlx-overlay-s/src}/res/660533.wav (100%) rename {src => wlx-overlay-s/src}/res/actions.json (100%) rename {src => wlx-overlay-s/src}/res/actions_binding_knuckles.json (100%) rename {src => wlx-overlay-s/src}/res/actions_binding_oculus.json (100%) rename {src => wlx-overlay-s/src}/res/actions_binding_vive.json (100%) rename {src => wlx-overlay-s/src}/res/anchor.yaml (100%) rename {src => wlx-overlay-s/src}/res/config.yaml (100%) rename {src => wlx-overlay-s/src}/res/keyboard.yaml (100%) rename {src => wlx-overlay-s/src}/res/settings.yaml (100%) rename {src => wlx-overlay-s/src}/res/table_mountain_2.dds (100%) rename {src => wlx-overlay-s/src}/res/watch.yaml (100%) rename {src => wlx-overlay-s/src}/res/wayvr.yaml (100%) rename {src => wlx-overlay-s/src}/shaders/color.frag (100%) rename {src => wlx-overlay-s/src}/shaders/grid.frag (100%) rename {src => wlx-overlay-s/src}/shaders/mod.rs (100%) rename {src => wlx-overlay-s/src}/shaders/quad.vert (100%) rename {src => wlx-overlay-s/src}/shaders/screen.frag (100%) rename {src => wlx-overlay-s/src}/shaders/srgb.frag (100%) rename {src => wlx-overlay-s/src}/state.rs (100%) rename wlx-overlay-s.desktop => wlx-overlay-s/wlx-overlay-s.desktop (100%) rename wlx-overlay-s.png => wlx-overlay-s/wlx-overlay-s.png (100%) rename wlx-overlay-s.svg => wlx-overlay-s/wlx-overlay-s.svg (100%) diff --git a/Cargo.lock b/Cargo.lock index 75dcea5..f0660a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -215,15 +215,6 @@ 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 = "aquamarine" version = "0.1.12" @@ -879,7 +870,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a98d30140e3296250832bbaaff83b27dcd6fa3cc70fb6f1f3e5c9c0023b5317" dependencies = [ - "approx 0.4.0", + "approx", "num-traits", ] @@ -1039,12 +1030,6 @@ dependencies = [ "yaml-rust2", ] -[[package]] -name = "const-cstr" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3d0b5ff30645a68f35ece8cea4556ca14ef8a1651455f789a099a0513532a6" - [[package]] name = "const-random" version = "0.1.18" @@ -1799,18 +1784,6 @@ dependencies = [ "roxmltree 0.20.0", ] -[[package]] -name = "fontconfig-rs" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4baadad5111c6820e97fc8bde5077258e6f272b5b38538db4b42e1812f29f3" -dependencies = [ - "const-cstr", - "once_cell", - "thiserror 1.0.69", - "yeslogic-fontconfig-sys", -] - [[package]] name = "fontdb" version = "0.16.2" @@ -1861,28 +1834,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "freetype-rs" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5442dee36ca09604133580dc0553780e867936bb3cbef3275859e889026d2b17" -dependencies = [ - "bitflags 2.9.1", - "freetype-sys", - "libc", -] - -[[package]] -name = "freetype-sys" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7edc5b9669349acfda99533e9e0bcf26a51862ab43b08ee7745c55d28eb134" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "futures" version = "0.3.31" @@ -2061,7 +2012,6 @@ version = "0.30.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50a99dbe56b72736564cfa4b85bf9a33079f16ae8b74983ab06af3b1a3696b11" dependencies = [ - "approx 0.5.1", "mint", "serde", ] @@ -4194,6 +4144,40 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" +[[package]] +name = "rust-embed" +version = "8.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "025908b8682a26ba8d12f6f2d66b987584a4a87bc024abc5bbc12553a8cd178a" +dependencies = [ + "rust-embed-impl", + "rust-embed-utils", + "walkdir", +] + +[[package]] +name = "rust-embed-impl" +version = "8.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6065f1a4392b71819ec1ea1df1120673418bf386f50de1d6f54204d836d4349c" +dependencies = [ + "proc-macro2", + "quote", + "rust-embed-utils", + "syn 2.0.103", + "walkdir", +] + +[[package]] +name = "rust-embed-utils" +version = "8.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6cc0c81648b20b70c491ff8cce00c1c3b223bb8ed2b5d41f0e54c6c4c0a3594" +dependencies = [ + "sha2", + "walkdir", +] + [[package]] name = "rust-ini" version = "0.21.1" @@ -5089,6 +5073,21 @@ dependencies = [ "winapi", ] +[[package]] +name = "uidev-vk" +version = "0.1.0" +dependencies = [ + "anyhow", + "glam", + "log", + "rust-embed", + "tracing-subscriber", + "vulkano", + "vulkano-shaders", + "wgui", + "winit", +] + [[package]] name = "unicode-bidi" version = "0.3.18" @@ -5593,7 +5592,6 @@ checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3" [[package]] name = "wgui" version = "0.1.0" -source = "git+https://github.com/wlx-team/wgui.git?branch=wip#455fabb31931b888f9b976c6a914c6f4f73b7beb" dependencies = [ "anyhow", "cosmic-text", @@ -6140,6 +6138,22 @@ dependencies = [ "bitflags 2.9.1", ] +[[package]] +name = "wlx-capture" +version = "0.5.3" +dependencies = [ + "ashpd", + "drm-fourcc", + "idmap", + "libc", + "log", + "pipewire", + "rxscreen", + "smithay-client-toolkit", + "wayland-client", + "wayland-protocols", +] + [[package]] name = "wlx-capture" version = "0.5.3" @@ -6170,8 +6184,6 @@ dependencies = [ "config", "ctrlc", "dbus", - "fontconfig-rs", - "freetype-rs", "futures", "glam", "idmap", @@ -6192,6 +6204,7 @@ dependencies = [ "regex", "rodio", "rosc", + "rust-embed", "serde", "serde_json", "serde_json5", @@ -6204,12 +6217,14 @@ dependencies = [ "tracing", "tracing-subscriber", "uuid", + "vulkano", + "vulkano-shaders", "wayland-client", "wayland-egl", "wayvr_ipc", "wgui", "winit", - "wlx-capture", + "wlx-capture 0.5.3 (git+https://github.com/galister/wlx-capture?tag=v0.5.3)", "xcb", "xdg 3.0.0", "xkbcommon 0.8.0", @@ -6372,18 +6387,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" -[[package]] -name = "yeslogic-fontconfig-sys" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2bbd69036d397ebbff671b1b8e4d918610c181c5a16073b96f984a38d08c386" -dependencies = [ - "const-cstr", - "dlib", - "once_cell", - "pkg-config", -] - [[package]] name = "yoke" version = "0.8.0" diff --git a/Cargo.toml b/Cargo.toml index 1a69d3c..95788cd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,120 +1,12 @@ -[profile.release-with-debug] -inherits = "release" -debug = true +[workspace] +members = ["wgui", "wgui/uidev-vk", "wlx-overlay-s", "wlx-capture"] -[package] -name = "wlx-overlay-s" -version = "25.4.2" -edition = "2021" -license = "GPL-3.0-only" -authors = ["galister"] -description = "Access your Wayland/X11 desktop from Monado/WiVRn/SteamVR. Now with Vulkan!" -repository = "https://github.com/galister/wlx-overlay-s" -keywords = ["linux", "openvr", "openxr", "x11", "wayland", "openvr-overlay", "openxr-overlay"] -categories = ["games"] - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -anyhow = { workspace = true } -ash = "^0.38.0" # must match vulkano -chrono = "0.4.38" -chrono-tz = "0.10.0" -clap = { version = "4.5.6", features = ["derive"] } -config = "0.15.11" -ctrlc = { version = "3.4.4", features = ["termination"] } -dbus = { version = "0.9.7" } -futures = "0.3.30" -glam = { workspace = true, features = ["mint", "serde"] } -idmap = { version = "0.2.21", features = ["serde"] } -idmap-derive = "0.1.2" -input-linux = "0.7.0" -json = { version = "0.12.4", optional = true } -json5 = "0.4.1" -libc = "0.2.155" -log = { workspace = true } -openxr = { git = "https://github.com/Ralith/openxrs", rev = "d0afdd3365bc1e14de28f6a3a21f457e788a702e", features = [ - "linked", - "mint", -], optional = true } -ovr_overlay = { features = [ - "ovr_input", - "ovr_system", -], git = "https://github.com/galister/ovr_overlay_oyasumi", optional = true } -regex = "1.11.1" -rodio = { version = "0.20.1", default-features = false, features = [ - "wav", - "hound", +[workspace.dependencies] +anyhow = "1.0.98" +glam = "0.30.3" +log = "0.4.27" +vulkano = { version = "0.35.1", default-features = false, features = [ + "macros", ] } -rosc = { version = "0.11.4", optional = true } -serde = { version = "1.0.203", features = ["derive", "rc"] } -serde_json = "1.0.117" -serde_yaml = "0.9.34" -smallvec = "1.13.2" -strum = { version = "0.27.1", features = ["derive"] } -sysinfo = { version = "0.35" } -thiserror = "2.0" -wlx-capture = { git = "https://github.com/galister/wlx-capture", tag = "v0.5.3", default-features = false } -libmonado = { version = "1.3.2", optional = true } -winit = { version = "0.30", optional = true } -xdg = "3.0" -log-panics = { version = "2.1.0", features = ["with-backtrace"] } -serde_json5 = "0.2.1" -xkbcommon = { version = "0.8.0" } -xcb = { version = "1.4.0", optional = true, features = [ - "as-raw-xcb-connection", -] } -image_dds = { version = "0.7.2", default-features = false, features = [ - "ddsfile", -] } -mint = "0.5.9" -tracing-subscriber = { version = "0.3.19", features = ["env-filter"] } -tracing = "0.1.41" -vulkano = { workspace = true } -vulkano-shaders = { workspace = true } -wgui = { path = "../wgui" } +vulkano-shaders = "0.35.0" -################################ -#WayVR-only deps -################################ -khronos-egl = { version = "6.0.0", features = ["static"], optional = true } -smithay = { version = "0.5.1", default-features = false, features = [ - "renderer_gl", - "backend_egl", - "backend_drm", - "xwayland", - "wayland_frontend", -], optional = true } -uuid = { version = "1.10.0", features = ["v4", "fast-rng"], optional = true } -wayland-client = { version = "0.31.6", optional = true } -wayland-egl = { version = "0.32.4", optional = true } -interprocess = { version = "2.2.2", optional = true } -bytes = { version = "1.9.0", optional = true } -wayvr_ipc = { git = "https://github.com/olekolek1000/wayvr-ipc.git", rev = "a72587d23f3bb8624d9aeb1f13c0a21e65350f51", default-features = false, optional = true } -rust-embed = "8.7.2" -################################ - -[build-dependencies] -regex = { version = "1.11.1" } - -[features] -default = ["openvr", "openxr", "osc", "x11", "wayland", "wayvr"] -openvr = ["dep:ovr_overlay", "dep:json"] -openxr = ["dep:openxr", "dep:libmonado"] -osc = ["dep:rosc"] -x11 = ["dep:xcb", "wlx-capture/xshm", "xkbcommon/x11"] -wayland = ["pipewire", "wlx-capture/wlr", "xkbcommon/wayland"] -pipewire = ["wlx-capture/pipewire"] -uidev = ["dep:winit"] -xcb = ["dep:xcb"] -wayvr = [ - "dep:khronos-egl", - "dep:smithay", - "dep:uuid", - "dep:wayland-client", - "dep:wayland-egl", - "dep:interprocess", - "dep:bytes", - "dep:wayvr_ipc", -] -as-raw-xcb-connection = [] diff --git a/wgui/.editorconfig b/wgui/.editorconfig new file mode 100644 index 0000000..f5834b7 --- /dev/null +++ b/wgui/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*.rs] +indent_style = tab +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = false +insert_final_newline = false \ No newline at end of file diff --git a/wgui/.gitignore b/wgui/.gitignore new file mode 100644 index 0000000..7be846b --- /dev/null +++ b/wgui/.gitignore @@ -0,0 +1,2 @@ +target +.vscode \ No newline at end of file diff --git a/wgui/Cargo.lock b/wgui/Cargo.lock new file mode 100644 index 0000000..c8d3a40 --- /dev/null +++ b/wgui/Cargo.lock @@ -0,0 +1,1966 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "aligned-vec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "anyhow" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" + +[[package]] +name = "arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" + +[[package]] +name = "arg_enum_proc_macro" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[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 = "ash" +version = "0.38.0+1.3.281" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" +dependencies = [ + "libloading", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "av1-grain" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8" +dependencies = [ + "anyhow", + "arrayvec", + "log", + "nom", + "num-rational", + "v_frame", +] + +[[package]] +name = "avif-serialize" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98922d6a4cfbcb08820c69d8eeccc05bb1f29bfa06b4f5b1dbfe9a868bd7608e" +dependencies = [ + "arrayvec", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" + +[[package]] +name = "bitstream-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" + +[[package]] +name = "built" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "bytemuck" +version = "1.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "cc" +version = "1.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766" +dependencies = [ + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cmake" +version = "0.1.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +dependencies = [ + "cc", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "cosmic-text" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da46a9d5a8905cc538a4a5bceb6a4510de7a51049c5588c0114efce102bcbbe8" +dependencies = [ + "bitflags 2.9.1", + "fontdb", + "log", + "rangemap", + "rustc-hash 1.1.0", + "rustybuzz", + "self_cell", + "smol_str", + "swash", + "sys-locale", + "ttf-parser 0.21.1", + "unicode-bidi", + "unicode-linebreak", + "unicode-script", + "unicode-segmentation", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" + +[[package]] +name = "data-url" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" + +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags 2.9.1", + "objc2", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "etagere" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc89bf99e5dc15954a60f707c1e09d7540e5cd9af85fa75caa0b510bc08c5342" +dependencies = [ + "euclid", + "svg_fmt", +] + +[[package]] +name = "euclid" +version = "0.22.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" +dependencies = [ + "num-traits", +] + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "flate2" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "font-types" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02a596f5713680923a2080d86de50fe472fb290693cf0f701187a1c8b36996b7" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "fontconfig-parser" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646" +dependencies = [ + "roxmltree 0.20.0", +] + +[[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 = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + +[[package]] +name = "gif" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "glam" +version = "0.30.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b46b9ca4690308844c644e7c634d68792467260e051c8543e0c7871662b3ba7" + +[[package]] +name = "grid" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "969d090eea77fac1be33f853ffc4b6b60cc6f312ddf4fd28b311a730e1dd8ebe" + +[[package]] +name = "half" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "bytemuck", + "cfg-if", + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "image" +version = "0.25.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "gif", + "image-webp", + "num-traits", + "png", + "ravif", + "rayon", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "image-webp" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b77d01e822461baa8409e156015a1d91735549f0f2c17691bd2d996bef238f7f" +dependencies = [ + "byteorder-lite", + "quick-error", +] + +[[package]] +name = "imagesize" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edcd27d72f2f071c64249075f42e205ff93c9a4c5f6c6da53e79ed9f9832c285" + +[[package]] +name = "imgref" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408" + +[[package]] +name = "indexmap" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "interpolate_name" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jobserver" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +dependencies = [ + "getrandom 0.3.3", + "libc", +] + +[[package]] +name = "kurbo" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1077d333efea6170d9ccb96d3c3026f300ca0773da4938cc4c811daa6df68b0c" +dependencies = [ + "arrayvec", + "smallvec", +] + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "libfuzzer-sys" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf78f52d400cf2d84a3a973a78a592b4adc535739e0a5597a0da6f0c357adc75" +dependencies = [ + "arbitrary", + "cc", +] + +[[package]] +name = "libloading" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c" +dependencies = [ + "cfg-if", + "windows-targets 0.53.0", +] + +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "loop9" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" +dependencies = [ + "imgref", +] + +[[package]] +name = "lru" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f8cc7106155f10bdf99a6f379688f543ad6596a415375b36a59a054ceda1198" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "maybe-rayon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" +dependencies = [ + "cfg-if", + "rayon", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memmap2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +dependencies = [ + "libc", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "noop_proc_macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "objc2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" +dependencies = [ + "bitflags 2.9.1", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" +dependencies = [ + "bitflags 2.9.1", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f246c183239540aab1782457b35ab2040d4259175bd1d0c58e46ada7b47a874" +dependencies = [ + "bitflags 2.9.1", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ffb6a0cd5f182dc964334388560b12a57f7b74b3e2dec5e2722aa2dfb2ccd5" +dependencies = [ + "bitflags 2.9.1", + "objc2", + "objc2-core-foundation", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pico-args" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "proc-macro-crate" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "profiling" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "rangemap" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" + +[[package]] +name = "rav1e" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" +dependencies = [ + "arbitrary", + "arg_enum_proc_macro", + "arrayvec", + "av1-grain", + "bitstream-io", + "built", + "cfg-if", + "interpolate_name", + "itertools", + "libc", + "libfuzzer-sys", + "log", + "maybe-rayon", + "new_debug_unreachable", + "noop_proc_macro", + "num-derive", + "num-traits", + "once_cell", + "paste", + "profiling", + "rand", + "rand_chacha", + "simd_helpers", + "system-deps", + "thiserror", + "v_frame", + "wasm-bindgen", +] + +[[package]] +name = "ravif" +version = "0.11.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6a5f31fcf7500f9401fea858ea4ab5525c99f2322cfcee732c0e6c74208c0c6" +dependencies = [ + "avif-serialize", + "imgref", + "loop9", + "quick-error", + "rav1e", + "rayon", + "rgb", +] + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "raw-window-metal" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40d213455a5f1dc59214213c7330e074ddf8114c9a42411eb890c767357ce135" +dependencies = [ + "objc2", + "objc2-core-foundation", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "read-fonts" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ce8e2ca6b24313587a03ca61bb74c384e2a815bd90cf2866cfc9f5fb7a11fa0" +dependencies = [ + "bytemuck", + "font-types", +] + +[[package]] +name = "redox_syscall" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "resvg" +version = "0.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8928798c0a55e03c9ca6c4c6846f76377427d2c1e1f7e6de3c06ae57942df43" +dependencies = [ + "log", + "pico-args", + "rgb", + "svgtypes", + "tiny-skia", + "usvg", +] + +[[package]] +name = "rgb" +version = "0.8.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "roxmltree" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "921904a62e410e37e215c40381b7117f830d9d89ba60ab5236170541dd25646b" +dependencies = [ + "xmlparser", +] + +[[package]] +name = "roxmltree" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustversion" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" + +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" +dependencies = [ + "bitflags 2.9.1", + "bytemuck", + "libm", + "smallvec", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring", + "unicode-ccc", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "self_cell" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "shaderc" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27e07913ada18607bb60d12431cbe3358d3bbebbe95948e1618851dc01e63b7b" +dependencies = [ + "libc", + "shaderc-sys", +] + +[[package]] +name = "shaderc-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73120d240fe22196300f39ca8547ca2d014960f27b19b47b21288b396272f7f7" +dependencies = [ + "cmake", + "libc", + "roxmltree 0.14.1", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "simd_helpers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" +dependencies = [ + "quote", +] + +[[package]] +name = "simplecss" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c" +dependencies = [ + "log", +] + +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "skrifa" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe6666ab11018ab91ff7b03f1a3b9fdbecfb610848436fefa5ce50343d3d913" +dependencies = [ + "bytemuck", + "read-fonts", +] + +[[package]] +name = "slabbin" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9db491c0d4152a069911a0fbdaca959691bf0b9d7110d98a7ed1c8e59b79ab30" + +[[package]] +name = "slotmap" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" + +[[package]] +name = "smol_str" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" + +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +dependencies = [ + "float-cmp", +] + +[[package]] +name = "svg_fmt" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb" + +[[package]] +name = "svgtypes" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68c7541fff44b35860c1a7a47a7cadf3e4a304c457b58f9870d9706ece028afc" +dependencies = [ + "kurbo", + "siphasher", +] + +[[package]] +name = "swash" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dce3f0af95643c855cdc449fbaa17d8c2cd08e0b00a49a6babcbe6e71667f3d" +dependencies = [ + "skrifa", + "yazi", + "zeno", +] + +[[package]] +name = "syn" +version = "2.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +dependencies = [ + "proc-macro2", + "quote", + "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 = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml", + "version-compare", +] + +[[package]] +name = "taffy" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "592835b1f82a500b55aa6242e5e2d1fb90c50e701fa9c33b5962d4aeaa4e88d6" +dependencies = [ + "arrayvec", + "grid", + "serde", + "slotmap", +] + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "tiny-skia" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "png", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[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 = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + +[[package]] +name = "unicode-bidi" +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-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" + +[[package]] +name = "unicode-script" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "usvg" +version = "0.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80be9b06fbae3b8b303400ab20778c80bbaf338f563afe567cf3c9eea17b47ef" +dependencies = [ + "base64", + "data-url", + "flate2", + "imagesize", + "kurbo", + "log", + "pico-args", + "roxmltree 0.20.0", + "simplecss", + "siphasher", + "strict-num", + "svgtypes", + "tiny-skia-path", + "xmlwriter", +] + +[[package]] +name = "v_frame" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b" +dependencies = [ + "aligned-vec", + "num-traits", + "wasm-bindgen", +] + +[[package]] +name = "version-compare" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vk-parse" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3859da4d7b98bec73e68fb65815d47a263819c415c90eed42b80440a02cbce8c" +dependencies = [ + "xml-rs", +] + +[[package]] +name = "vulkano" +version = "0.35.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08840c2b51759a6f88f26f5ea378bc8b5c199a5b4760ddda292304be087249c4" +dependencies = [ + "ash", + "bytemuck", + "crossbeam-queue", + "foldhash", + "half", + "heck 0.4.1", + "indexmap", + "libloading", + "nom", + "once_cell", + "parking_lot", + "proc-macro2", + "quote", + "raw-window-handle", + "raw-window-metal", + "serde", + "serde_json", + "slabbin", + "smallvec", + "thread_local", + "vk-parse", + "vulkano-macros", +] + +[[package]] +name = "vulkano-macros" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dc929c42c9336fd082079ac3ea30126e4a0dfe36fd2e2b3581303f7d140d20f" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "vulkano-shaders" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf501461be7cef2893c0e62c50945add9763cc482051d29053f6157089d5ea9" +dependencies = [ + "foldhash", + "heck 0.4.1", + "proc-macro2", + "quote", + "shaderc", + "syn", + "vulkano", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "weezl" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3" + +[[package]] +name = "wgui" +version = "0.1.0" +dependencies = [ + "anyhow", + "cosmic-text", + "etagere", + "glam", + "image", + "log", + "lru", + "resvg", + "roxmltree 0.20.0", + "rustc-hash 2.1.1", + "slotmap", + "smallvec", + "taffy", + "vulkano", + "vulkano-shaders", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + +[[package]] +name = "winnow" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "xml-rs" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" + +[[package]] +name = "xmlparser" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" + +[[package]] +name = "xmlwriter" +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.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + +[[package]] +name = "zune-jpeg" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028" +dependencies = [ + "zune-core", +] diff --git a/wgui/Cargo.toml b/wgui/Cargo.toml new file mode 100644 index 0000000..4d5d3a7 --- /dev/null +++ b/wgui/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "wgui" +version = "0.1.0" +edition = "2024" + +[dependencies] +anyhow = { workspace = true } +cosmic-text = "0.14.2" +etagere = "0.2.15" +glam = { workspace = true } +image = { version = "0.25.6", default-features = false, features = [ + "gif", + "jpeg", + "png", + "rayon", + "webp", +] } +log = { workspace = true } +lru = "0.14.0" +resvg = { version = "0.45.1", default-features = false } +roxmltree = "0.20.0" +rustc-hash = "2.1.1" +slotmap = "1.0.7" +smallvec = "1.15.0" +taffy = "0.8.1" +vulkano = { workspace = true } +vulkano-shaders = { workspace = true } + +[profile.dev] +opt-level = 0 +debug = true +strip = "none" +debug-assertions = true +incremental = true diff --git a/wgui/README.md b/wgui/README.md new file mode 100644 index 0000000..7c63823 --- /dev/null +++ b/wgui/README.md @@ -0,0 +1,9 @@ +
+
+
Ig|6bBKF53EO(dP+PVl8as9qblg#T*_fV1>uMLzVGX(GEBFo**Hf1
zrDrlfUb;>U@%e_c&dTh|YIe%+5DMk@UGpdZa-{Py84Uh@ne+6G0Mag;fRw&WdY&gW
zX!m8mb~=kdsuVub7=p6wW1gc8{_64MBK41!g4xlxdx4&T)