From 6998d6425c7eb624eae8d2d4fffbb468da27c02f Mon Sep 17 00:00:00 2001 From: Lily Madeline Lyons Date: Tue, 21 Nov 2023 23:48:55 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Split=20luminol=20into=20separat?= =?UTF-8?q?e=20crates=20(#45)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: :construction: Split luminol into separate crates * refactor: :construction: Start working out dependencies * Sorta figure out dependencies * Sorta start getting somewhere * Move Luminol into crates folder * Move the filesystem trait out of luminol-core * refactor: :construction: refactor luminol-graphics and it's a mess * refactor: * refactor: add UpdateState to luminol-core and move various traits * refactor(filesystem): :recycle: require FileSystem::File to be 'static * refactor: :recycle: don't take an &'static reference to graphics state * refactor: :recycle: refactor modals * refactor: :recycle: unify tabs and windows * refactor: :recycle: start to fix up windows * refactor: :recycle: hack together things so that they compile * refactor: :recycle: partially resolve async code issues * refactor: :recycle: it compiles (with a LOT of unfinished things) * refactor: :recycle: NOW it compiles * fix(graphics): :bug: fix sprite shader compilation * fix(data cache): :recycle: get data cache semi-working * refactor(data cache): :recycle: actually load data cache * refactor(config): :recycle: store code theme in global state again * fix(ui): :bug: fix windows and tabs not being added * refactor: :recycle: use workspace metadata for package metadata * refactor: :recycle: remove generic parameters on update state by using dynamic dispatch I couldn't get generics to allow adding tabs or windows inside tabs or windows * refactor(tabs): :recycle: pass update state when requesting tab name * fix(tabs): :bug: fix tabs not adding properly * Update window.rs * fix: :bug: get top bar loading projects * fix: :bug: fix new project creation because reqwest requires tokio we need to spawn a tokio runtime. i do not think this scales well to web * refactor: :construction: try splitting up the map tab * Enable -Zthreads compiler flag * Update nightly in workflows * revert: :rewind: Undo making cursor state an enum (will tackle this later) * Sorta resolve dependencies on wasm Still a mess (and is especially complicated by the fact that you can't specify workspace target specific dependencies) * Fix backing web filesystem implementation Still need to work on the project filesystem though! I'll be honest, I'm not sure how this will work, especially with the way I have the native filesystem set up * Fix native build * Remove jobs flag * Fix audio on wasm * Temporarily impl Send + Sync for wgpu callbacks In wgpu 0.17 wgpu types are not Send + Sync, because they reference things in the JS heap (meaning they cannot leave the thread they were created on) egui_wgpu's CallbackTrait requires Send + Sync even on wasm and we need to store wgpu types in callbacks. The callback_resources typemap passed to callbacks doesn't need to be Send + Sync.. but I can't find a simple way to add anything to the typemap. https://github.com/emilk/egui/issues/1399 feels relevant * Fix winit not compiling in CI https://github.com/emilk/egui/pull/3228 * Get wasm filesystem compiling * Get luminol compiling on wasm! * Fix missed rename * Dumb typo * Move luminol crate to be root package Trunk doesn't like virtual workspaces unfortunately :( * Run workspace tests * fix(audio): :bug: Completely read audio file on wasm * perf(wasm): :zap: Use oneshot crate for oneshot channels * fix(filesystem): :bug: Pass idb key instead of path to Filesystem::from_idb_key * refactor(tilemap): :recycle: Use naga oil instead of const_format * fix(ui): :bug: Fix top bar opening & closing projects * Bump nightly in trunk build * Remove luminol- in folder prefixes --- .cargo/config.toml | 20 +- .github/workflows/build-steam.yml | 12 +- .github/workflows/build.yml | 14 +- .github/workflows/checks.yml | 18 +- .vscode/settings.json | 5 +- .wakatime-project | 1 + Cargo.lock | 2279 +++++++++-------- Cargo.toml | 275 +- command-lib/Cargo.toml | 12 - crates/app/Cargo.toml | 17 + crates/app/src/lib.rs | 42 + crates/audio/Cargo.toml | 41 + {src/audio => crates/audio/src}/GMGSx.sf2 | Bin crates/audio/src/error.rs | 39 + src/audio/mod.rs => crates/audio/src/lib.rs | 56 +- {src/audio => crates/audio/src}/midi.rs | 9 +- {src/audio => crates/audio/src}/wrapper.rs | 85 +- crates/components/Cargo.toml | 45 + .../components/src/command_view/command_ui.rs | 45 + .../components/src}/command_view/macros.rs | 0 .../components/src}/command_view/mod.rs | 1 - .../src/command_view/parameter_ui.rs | 37 + .../components/src/command_view/ui.rs | 24 +- .../mod.rs => crates/components/src/lib.rs | 17 +- .../components/src}/map_view.rs | 125 +- .../components/src/sound_tab.rs | 120 +- .../components/src}/syntax_highlighting.rs | 184 +- .../components/src}/tilepicker.rs | 138 +- crates/config/Cargo.toml | 26 + .../config/src}/command_db.rs | 4 +- .../config/src}/commands/ace.ron | 0 .../config/src}/commands/vx.ron | 0 .../config/src}/commands/xp.ron | 0 {src/config => crates/config/src}/global.rs | 7 +- crates/config/src/lib.rs | 133 + {src/config => crates/config/src}/project.rs | 38 +- crates/core/Cargo.toml | 39 + crates/core/src/data_cache.rs | 412 +++ crates/core/src/lib.rs | 119 + {src/modals => crates/core/src}/modal.rs | 19 +- crates/core/src/tab.rs | 227 ++ {src/components => crates/core/src}/toasts.rs | 29 +- crates/core/src/window.rs | 179 ++ crates/data/Cargo.toml | 31 + .../src/lib.rs => crates/data/src/commands.rs | 0 {rmxp-types => crates/data}/src/helpers/id.rs | 0 .../data}/src/helpers/id_vec.rs | 0 .../data}/src/helpers/mod.rs | 0 .../data}/src/helpers/nil_padded.rs | 0 .../data}/src/helpers/optional_id.rs | 0 .../data}/src/helpers/optional_path.rs | 0 .../data}/src/helpers/parameter_type.rs | 0 {rmxp-types => crates/data}/src/lib.rs | 4 +- {rmxp-types => crates/data}/src/option_vec.rs | 0 .../data}/src/rgss_structs.rs | 29 + {rmxp-types => crates/data}/src/rmxp/actor.rs | 0 .../data}/src/rmxp/animation.rs | 0 {rmxp-types => crates/data}/src/rmxp/armor.rs | 0 {rmxp-types => crates/data}/src/rmxp/class.rs | 0 {rmxp-types => crates/data}/src/rmxp/enemy.rs | 0 {rmxp-types => crates/data}/src/rmxp/item.rs | 0 {rmxp-types => crates/data}/src/rmxp/map.rs | 0 {rmxp-types => crates/data}/src/rmxp/mod.rs | 0 {rmxp-types => crates/data}/src/rmxp/skill.rs | 0 {rmxp-types => crates/data}/src/rmxp/state.rs | 0 .../data}/src/rmxp/system.rs | 0 .../data}/src/rmxp/tileset.rs | 0 {rmxp-types => crates/data}/src/rmxp/troop.rs | 0 .../data}/src/rmxp/weapon.rs | 0 .../data}/src/shared/audio_file.rs | 0 .../data}/src/shared/event.rs | 0 .../data}/src/shared/mapinfo.rs | 0 {rmxp-types => crates/data}/src/shared/mod.rs | 0 .../data}/src/shared/move_route.rs | 0 .../data}/src/shared/script.rs | 0 crates/filesystem/Cargo.toml | 69 + .../filesystem/src}/archiver.rs | 28 +- .../filesystem/src}/erased.rs | 102 +- .../mod.rs => crates/filesystem/src/lib.rs | 89 +- .../filesystem/src}/list.rs | 13 +- .../filesystem/src/native.rs | 59 +- .../filesystem/src}/overlay.rs | 0 .../filesystem/src}/path_cache.rs | 40 +- crates/filesystem/src/project.rs | 638 +++++ .../filesystem/src}/web.rs | 160 +- crates/graphics/Cargo.toml | 43 + .../graphics/src/atlas_cache.rs | 23 +- .../graphics => crates/graphics/src}/event.rs | 104 +- .../graphics/src}/image_cache.rs | 69 +- crates/graphics/src/lib.rs | 94 + crates/graphics/src/map.rs | 220 ++ .../graphics => crates/graphics/src}/plane.rs | 27 +- .../graphics/src}/quad.rs | 9 +- .../graphics/src}/sprite/graphic.rs | 78 +- .../graphics/src}/sprite/mod.rs | 40 +- crates/graphics/src/sprite/shader.rs | 158 ++ .../graphics/src}/sprite/sprite.wgsl | 30 +- .../graphics/src}/sprite/vertices.rs | 10 +- .../graphics/src}/tiles/atlas.rs | 109 +- .../graphics/src}/tiles/autotile_ids.rs | 0 .../graphics/src}/tiles/autotiles.rs | 65 +- .../graphics/src}/tiles/instance.rs | 28 +- .../graphics/src}/tiles/mod.rs | 42 +- .../graphics/src}/tiles/opacity.rs | 61 +- crates/graphics/src/tiles/shader.rs | 115 + .../graphics/src}/tiles/tilemap.wgsl | 46 +- .../graphics/src}/vertex.rs | 2 - .../graphics/src}/viewport.rs | 65 +- crates/macros/Cargo.toml | 16 + crates/macros/src/lib.rs | 14 + crates/modals/Cargo.toml | 23 + crates/modals/src/graphic_picker.rs | 47 + src/modals/mod.rs => crates/modals/src/lib.rs | 6 +- .../modals/src}/move_route.rs | 0 crates/modals/src/sound_picker.rs | 49 + {src/modals => crates/modals/src}/switch.rs | 103 +- {src/modals => crates/modals/src}/variable.rs | 106 +- {luminol-term => crates/term}/Cargo.toml | 18 +- .../src => crates/term/src/_impl}/into.rs | 0 .../lib.rs => crates/term/src/_impl/mod.rs | 2 +- src/cache/mod.rs => crates/term/src/lib.rs | 7 +- crates/ui/Cargo.toml | 46 + crates/ui/src/lib.rs | 209 ++ crates/ui/src/tabs/map/brush.rs | 329 +++ .../ui/src/tabs/map/history.rs | 0 crates/ui/src/tabs/map/mod.rs | 548 ++++ crates/ui/src/tabs/map/util.rs | 225 ++ {src => crates/ui/src}/tabs/mod.rs | 2 - crates/ui/src/tabs/started.rs | 196 ++ {src => crates/ui/src}/windows/about.rs | 13 +- {src => crates/ui/src}/windows/appearance.rs | 29 +- .../ui/src/windows}/command_gen/mod.rs | 15 +- .../src/windows}/command_gen/parameter_ui.rs | 0 .../ui/src/windows}/command_gen/ui_example.rs | 0 .../ui/src}/windows/common_event_edit.rs | 56 +- .../ui/src}/windows/config_window.rs | 33 +- {src => crates/ui/src}/windows/console.rs | 15 +- crates/ui/src/windows/event_edit.rs | 81 + .../ui/src}/windows/global_config_window.rs | 9 +- {src => crates/ui/src}/windows/items.rs | 45 +- {src => crates/ui/src}/windows/map_picker.rs | 47 +- {src => crates/ui/src}/windows/misc.rs | 31 +- {src => crates/ui/src}/windows/mod.rs | 6 - crates/ui/src/windows/new_project.rs | 363 +++ {src => crates/ui/src}/windows/script_edit.rs | 39 +- crates/ui/src/windows/sound_test.rs | 91 + crates/web/Cargo.toml | 78 + {assets => crates/web/js}/bindings.js | 0 {src/web => crates/web/src}/bindings.rs | 2 +- src/web/mod.rs => crates/web/src/lib.rs | 6 + .../web/src}/web_worker_runner.rs | 85 +- luminol-term/examples/eframe.rs | 78 - rmxp-types/Cargo.toml | 21 - rust-toolchain.toml | 2 +- src/app/mod.rs | 289 +++ src/app/top_bar.rs | 381 +++ src/cache/Scripts.rxdata | Bin 109299 -> 0 bytes src/cache/data.rs | 502 ---- src/components/command_view/command_ui.rs | 278 -- src/components/command_view/parameter_ui.rs | 146 -- src/components/command_view/ui.rs | 241 -- src/components/top_bar.rs | 256 -- src/config/mod.rs | 248 -- src/filesystem/project.rs | 638 ----- src/graphics/map.rs | 193 -- src/graphics/mod.rs | 26 - src/graphics/primitives/sprite/shader.rs | 216 -- .../sprite/sprite_header_push_constants.wgsl | 6 - .../sprite/sprite_header_uniforms.wgsl | 4 - src/graphics/primitives/tiles/shader.rs | 150 -- .../tiles/tilemap_header_push_constants.wgsl | 7 - .../tiles/tilemap_header_uniforms.wgsl | 6 - src/lib.rs | 190 -- src/lumi/mod.rs | 4 +- src/luminol.rs | 233 -- src/main.rs | 192 +- src/prelude.rs | 81 - src/steam.rs | 26 +- src/tabs/map.rs | 1023 -------- src/tabs/started.rs | 150 -- src/tabs/tab.rs | 157 -- src/windows/event_edit.rs | 337 --- src/windows/graphic_picker.rs | 105 - src/windows/new_project.rs | 308 --- src/windows/window.rs | 90 - 185 files changed, 8821 insertions(+), 8346 deletions(-) create mode 100644 .wakatime-project delete mode 100644 command-lib/Cargo.toml create mode 100644 crates/app/Cargo.toml create mode 100644 crates/app/src/lib.rs create mode 100644 crates/audio/Cargo.toml rename {src/audio => crates/audio/src}/GMGSx.sf2 (100%) create mode 100644 crates/audio/src/error.rs rename src/audio/mod.rs => crates/audio/src/lib.rs (89%) rename {src/audio => crates/audio/src}/midi.rs (93%) rename {src/audio => crates/audio/src}/wrapper.rs (72%) create mode 100644 crates/components/Cargo.toml create mode 100644 crates/components/src/command_view/command_ui.rs rename {src/components => crates/components/src}/command_view/macros.rs (100%) rename {src/components => crates/components/src}/command_view/mod.rs (98%) create mode 100644 crates/components/src/command_view/parameter_ui.rs rename src/graphics/primitives/mod.rs => crates/components/src/command_view/ui.rs (80%) rename src/components/mod.rs => crates/components/src/lib.rs (95%) rename {src/components => crates/components/src}/map_view.rs (85%) rename src/windows/sound_test.rs => crates/components/src/sound_tab.rs (61%) rename {src/components => crates/components/src}/syntax_highlighting.rs (52%) rename {src/components => crates/components/src}/tilepicker.rs (64%) create mode 100644 crates/config/Cargo.toml rename {src/config => crates/config/src}/command_db.rs (97%) rename {src/config => crates/config/src}/commands/ace.ron (100%) rename {src/config => crates/config/src}/commands/vx.ron (100%) rename {src/config => crates/config/src}/commands/xp.ron (100%) rename {src/config => crates/config/src}/global.rs (93%) create mode 100644 crates/config/src/lib.rs rename {src/config => crates/config/src}/project.rs (67%) create mode 100644 crates/core/Cargo.toml create mode 100644 crates/core/src/data_cache.rs create mode 100644 crates/core/src/lib.rs rename {src/modals => crates/core/src}/modal.rs (82%) create mode 100644 crates/core/src/tab.rs rename {src/components => crates/core/src}/toasts.rs (69%) create mode 100644 crates/core/src/window.rs create mode 100644 crates/data/Cargo.toml rename command-lib/src/lib.rs => crates/data/src/commands.rs (100%) rename {rmxp-types => crates/data}/src/helpers/id.rs (100%) rename {rmxp-types => crates/data}/src/helpers/id_vec.rs (100%) rename {rmxp-types => crates/data}/src/helpers/mod.rs (100%) rename {rmxp-types => crates/data}/src/helpers/nil_padded.rs (100%) rename {rmxp-types => crates/data}/src/helpers/optional_id.rs (100%) rename {rmxp-types => crates/data}/src/helpers/optional_path.rs (100%) rename {rmxp-types => crates/data}/src/helpers/parameter_type.rs (100%) rename {rmxp-types => crates/data}/src/lib.rs (96%) rename {rmxp-types => crates/data}/src/option_vec.rs (100%) rename {rmxp-types => crates/data}/src/rgss_structs.rs (94%) rename {rmxp-types => crates/data}/src/rmxp/actor.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/animation.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/armor.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/class.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/enemy.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/item.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/map.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/mod.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/skill.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/state.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/system.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/tileset.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/troop.rs (100%) rename {rmxp-types => crates/data}/src/rmxp/weapon.rs (100%) rename {rmxp-types => crates/data}/src/shared/audio_file.rs (100%) rename {rmxp-types => crates/data}/src/shared/event.rs (100%) rename {rmxp-types => crates/data}/src/shared/mapinfo.rs (100%) rename {rmxp-types => crates/data}/src/shared/mod.rs (100%) rename {rmxp-types => crates/data}/src/shared/move_route.rs (100%) rename {rmxp-types => crates/data}/src/shared/script.rs (100%) create mode 100644 crates/filesystem/Cargo.toml rename {src/filesystem => crates/filesystem/src}/archiver.rs (94%) rename {src/filesystem => crates/filesystem/src}/erased.rs (61%) rename src/filesystem/mod.rs => crates/filesystem/src/lib.rs (69%) rename {src/filesystem => crates/filesystem/src}/list.rs (92%) rename src/filesystem/host.rs => crates/filesystem/src/native.rs (71%) rename {src/filesystem => crates/filesystem/src}/overlay.rs (100%) rename {src/filesystem => crates/filesystem/src}/path_cache.rs (88%) create mode 100644 crates/filesystem/src/project.rs rename {src/filesystem => crates/filesystem/src}/web.rs (91%) create mode 100644 crates/graphics/Cargo.toml rename src/cache/atlas.rs => crates/graphics/src/atlas_cache.rs (60%) rename {src/graphics => crates/graphics/src}/event.rs (58%) rename {src/cache => crates/graphics/src}/image_cache.rs (82%) create mode 100644 crates/graphics/src/lib.rs create mode 100644 crates/graphics/src/map.rs rename {src/graphics => crates/graphics/src}/plane.rs (70%) rename {src/graphics/primitives => crates/graphics/src}/quad.rs (96%) rename {src/graphics/primitives => crates/graphics/src}/sprite/graphic.rs (69%) rename {src/graphics/primitives => crates/graphics/src}/sprite/mod.rs (65%) create mode 100644 crates/graphics/src/sprite/shader.rs rename {src/graphics/primitives => crates/graphics/src}/sprite/sprite.wgsl (74%) rename {src/graphics/primitives => crates/graphics/src}/sprite/vertices.rs (80%) rename {src/graphics/primitives => crates/graphics/src}/tiles/atlas.rs (82%) rename {src/graphics/primitives => crates/graphics/src}/tiles/autotile_ids.rs (100%) rename {src/graphics/primitives => crates/graphics/src}/tiles/autotiles.rs (70%) rename {src/graphics/primitives => crates/graphics/src}/tiles/instance.rs (88%) rename {src/graphics/primitives => crates/graphics/src}/tiles/mod.rs (72%) rename {src/graphics/primitives => crates/graphics/src}/tiles/opacity.rs (67%) create mode 100644 crates/graphics/src/tiles/shader.rs rename {src/graphics/primitives => crates/graphics/src}/tiles/tilemap.wgsl (66%) rename {src/graphics/primitives => crates/graphics/src}/vertex.rs (98%) rename {src/graphics/primitives => crates/graphics/src}/viewport.rs (66%) create mode 100644 crates/macros/Cargo.toml create mode 100644 crates/macros/src/lib.rs create mode 100644 crates/modals/Cargo.toml create mode 100644 crates/modals/src/graphic_picker.rs rename src/modals/mod.rs => crates/modals/src/lib.rs (94%) rename {src/modals => crates/modals/src}/move_route.rs (100%) create mode 100644 crates/modals/src/sound_picker.rs rename {src/modals => crates/modals/src}/switch.rs (59%) rename {src/modals => crates/modals/src}/variable.rs (57%) rename {luminol-term => crates/term}/Cargo.toml (64%) rename {luminol-term/src => crates/term/src/_impl}/into.rs (100%) rename luminol-term/src/lib.rs => crates/term/src/_impl/mod.rs (99%) rename src/cache/mod.rs => crates/term/src/lib.rs (91%) create mode 100644 crates/ui/Cargo.toml create mode 100644 crates/ui/src/lib.rs create mode 100644 crates/ui/src/tabs/map/brush.rs rename src/modals/graphic.rs => crates/ui/src/tabs/map/history.rs (100%) create mode 100644 crates/ui/src/tabs/map/mod.rs create mode 100644 crates/ui/src/tabs/map/util.rs rename {src => crates/ui/src}/tabs/mod.rs (95%) create mode 100644 crates/ui/src/tabs/started.rs rename {src => crates/ui/src}/windows/about.rs (91%) rename {src => crates/ui/src}/windows/appearance.rs (79%) rename {src => crates/ui/src/windows}/command_gen/mod.rs (96%) rename {src => crates/ui/src/windows}/command_gen/parameter_ui.rs (100%) rename {src => crates/ui/src/windows}/command_gen/ui_example.rs (100%) rename {src => crates/ui/src}/windows/common_event_edit.rs (75%) rename {src => crates/ui/src}/windows/config_window.rs (64%) rename {src => crates/ui/src}/windows/console.rs (87%) create mode 100644 crates/ui/src/windows/event_edit.rs rename {src => crates/ui/src}/windows/global_config_window.rs (87%) rename {src => crates/ui/src}/windows/items.rs (78%) rename {src => crates/ui/src}/windows/map_picker.rs (78%) rename {src => crates/ui/src}/windows/misc.rs (75%) rename {src => crates/ui/src}/windows/mod.rs (92%) create mode 100644 crates/ui/src/windows/new_project.rs rename {src => crates/ui/src}/windows/script_edit.rs (84%) create mode 100644 crates/ui/src/windows/sound_test.rs create mode 100644 crates/web/Cargo.toml rename {assets => crates/web/js}/bindings.js (100%) rename {src/web => crates/web/src}/bindings.rs (97%) rename src/web/mod.rs => crates/web/src/lib.rs (85%) rename {src/web => crates/web/src}/web_worker_runner.rs (94%) delete mode 100644 luminol-term/examples/eframe.rs delete mode 100644 rmxp-types/Cargo.toml create mode 100644 src/app/mod.rs create mode 100644 src/app/top_bar.rs delete mode 100644 src/cache/Scripts.rxdata delete mode 100644 src/cache/data.rs delete mode 100644 src/components/command_view/command_ui.rs delete mode 100644 src/components/command_view/parameter_ui.rs delete mode 100644 src/components/command_view/ui.rs delete mode 100644 src/components/top_bar.rs delete mode 100644 src/config/mod.rs delete mode 100644 src/filesystem/project.rs delete mode 100644 src/graphics/map.rs delete mode 100644 src/graphics/mod.rs delete mode 100644 src/graphics/primitives/sprite/shader.rs delete mode 100644 src/graphics/primitives/sprite/sprite_header_push_constants.wgsl delete mode 100644 src/graphics/primitives/sprite/sprite_header_uniforms.wgsl delete mode 100644 src/graphics/primitives/tiles/shader.rs delete mode 100644 src/graphics/primitives/tiles/tilemap_header_push_constants.wgsl delete mode 100644 src/graphics/primitives/tiles/tilemap_header_uniforms.wgsl delete mode 100644 src/lib.rs delete mode 100644 src/luminol.rs delete mode 100644 src/prelude.rs delete mode 100644 src/tabs/map.rs delete mode 100644 src/tabs/started.rs delete mode 100644 src/tabs/tab.rs delete mode 100644 src/windows/event_edit.rs delete mode 100644 src/windows/graphic_picker.rs delete mode 100644 src/windows/new_project.rs delete mode 100644 src/windows/window.rs diff --git a/.cargo/config.toml b/.cargo/config.toml index 3de5aa1b..77777bb8 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,8 +1,24 @@ +# Possibly enable -Zshare-generics=y? + [target.x86_64-pc-windows-msvc] linker = "rust-lld" +rustflags = ["-Z", "threads=8"] [target.x86_64-unknown-linux-gnu] -rustflags = ["-C", "linker=clang", "-C", "link-arg=-fuse-ld=mold"] +rustflags = [ + "-C", + "linker=clang", + "-C", + "link-arg=-fuse-ld=mold", + "-Z", + "threads=8", +] [target.'cfg(target_arch = "wasm32")'] -rustflags = ["--cfg=web_sys_unstable_apis", "-C", "target-feature=+atomics,+bulk-memory,+mutable-globals"] +rustflags = [ + "--cfg=web_sys_unstable_apis", + "-C", + "target-feature=+atomics,+bulk-memory,+mutable-globals", + "-Z", + "threads=8", +] diff --git a/.github/workflows/build-steam.yml b/.github/workflows/build-steam.yml index 0415265d..2ddb80bf 100644 --- a/.github/workflows/build-steam.yml +++ b/.github/workflows/build-steam.yml @@ -23,11 +23,11 @@ jobs: sudo apt install libgtk-3-dev libatk1.0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libasound2-dev clang mold -y - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 - name: Rust Cache uses: Swatinem/rust-cache@v2 - name: Build luminol (Release) - run: cargo build --features steamworks --release --jobs 1 + run: cargo build --features steamworks --release - name: Setup artifact run: | mkdir -p ${{ github.workspace }}/artifact @@ -48,11 +48,11 @@ jobs: submodules: true - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 - name: Rust Cache uses: Swatinem/rust-cache@v2 - name: Build luminol (Release) - run: cargo build --features steamworks --release --jobs 1 + run: cargo build --features steamworks --release - name: Setup artifact run: | mkdir -p ${{ github.workspace }}/artifact @@ -73,11 +73,11 @@ jobs: submodules: true - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 - name: Rust Cache uses: Swatinem/rust-cache@v2 - name: Build luminol (Release) - run: cargo build --features steamworks --release --jobs 1 + run: cargo build --features steamworks --release - name: Setup artifact run: | mkdir -p ${{ github.workspace }}/artifact diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 10b55367..1cb78618 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,11 +22,11 @@ jobs: sudo apt install libgtk-3-dev libatk1.0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libasound2-dev clang mold -y - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 - name: Rust Cache uses: Swatinem/rust-cache@v2 - name: Build luminol (Release) - run: cargo build --release --jobs 1 + run: cargo build --release - name: Setup artifact run: | mkdir -p ${{ github.workspace }}/artifact @@ -46,11 +46,11 @@ jobs: submodules: true - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 - name: Rust Cache uses: Swatinem/rust-cache@v2 - name: Build luminol (Release) - run: cargo build --release --jobs 1 + run: cargo build --release - name: Setup artifact run: | mkdir -p ${{ github.workspace }}/artifact @@ -70,11 +70,11 @@ jobs: submodules: true - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 - name: Rust Cache uses: Swatinem/rust-cache@v2 - name: Build luminol (Release) - run: cargo build --release --jobs 1 + run: cargo build --release - name: Setup artifact run: | mkdir -p ${{ github.workspace }}/artifact @@ -98,7 +98,7 @@ jobs: sudo apt install libgtk-3-dev libatk1.0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libasound2-dev clang mold -y - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 targets: wasm32-unknown-unknown components: rust-src - name: Download and install Trunk binary diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index cf5c8da8..7fdeeea7 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -23,10 +23,10 @@ jobs: sudo apt install libgtk-3-dev libatk1.0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libasound2-dev clang mold -y - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 - name: Rust Cache uses: Swatinem/rust-cache@v2 - - run: cargo check --all-features --jobs 1 + - run: cargo check --all-features check-wasm32: name: Check wasm32 @@ -41,12 +41,12 @@ jobs: sudo apt install libgtk-3-dev libatk1.0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libasound2-dev clang mold -y - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 targets: wasm32-unknown-unknown components: rust-src - name: Rust Cache uses: Swatinem/rust-cache@v2 - - run: cargo check --jobs 1 --target wasm32-unknown-unknown -Z build-std=std,panic_abort + - run: cargo check --target wasm32-unknown-unknown -Z build-std=std,panic_abort test: name: Test Suite @@ -60,10 +60,10 @@ jobs: sudo apt install libgtk-3-dev libatk1.0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libasound2-dev clang mold -y - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 - name: Rust Cache uses: Swatinem/rust-cache@v2 - - run: cargo test --lib --jobs 1 + - run: cargo test --workspace fmt: name: Rustfmt @@ -78,7 +78,7 @@ jobs: sudo apt install libgtk-3-dev libatk1.0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libasound2-dev clang mold -y - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 components: rustfmt - name: Rust Cache uses: Swatinem/rust-cache@v2 @@ -97,8 +97,8 @@ jobs: sudo apt install libgtk-3-dev libatk1.0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev libasound2-dev clang mold -y - uses: dtolnay/rust-toolchain@nightly with: - toolchain: nightly-2023-09-12 + toolchain: nightly-2023-11-14 components: clippy - name: Rust Cache uses: Swatinem/rust-cache@v2 - - run: cargo clippy --jobs 1 -- # -D warnings + - run: cargo clippy -- # -D warnings diff --git a/.vscode/settings.json b/.vscode/settings.json index f2468ad8..f408fb01 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,7 +5,7 @@ "licenser.customHeaderFile": "${workspaceFolder}/.vscode/header.txt", "licenser.disableAutoHeaderInsertion": false, "rust-analyzer.cargo.features": [ - "steamworks" + // "steamworks" ], "editor.formatOnSave": true, "rust-analyzer.check.command": "clippy", @@ -22,7 +22,8 @@ "image cache", "tilemap", "config", - "audio" + "audio", + "graphics" ], "rust-analyzer.showUnlinkedFileNotification": false, "rust-analyzer.cargo.extraEnv": { diff --git a/.wakatime-project b/.wakatime-project new file mode 100644 index 00000000..2b41a6e9 --- /dev/null +++ b/.wakatime-project @@ -0,0 +1 @@ +Luminol diff --git a/Cargo.lock b/Cargo.lock index 9dc6a183..dde3dd39 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "ab_glyph" -version = "0.2.21" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5110f1c78cf582855d895ecd0746b653db010cec6d9f5575293f27934d980a39" +checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", @@ -57,9 +57,9 @@ checksum = "e084cb5168790c0c112626175412dc5ad127083441a8248ae49ddf6725519e83" dependencies = [ "accesskit", "accesskit_consumer", - "async-channel", + "async-channel 1.9.0", "atspi", - "futures-lite", + "futures-lite 1.13.0", "serde", "zbus", ] @@ -91,6 +91,18 @@ dependencies = [ "winit", ] +[[package]] +name = "accessory" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "850bb534b9dc04744fbbb71d30ad6d25a7e4cf6dc33e223c81ef3a92ebab4e0b" +dependencies = [ + "macroific", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "addr2line" version = "0.21.0" @@ -108,9 +120,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ "getrandom", "once_cell", @@ -119,30 +131,31 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ "cfg-if", "once_cell", "serde", "version_check", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.0.4" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] [[package]] -name = "aliasable" -version = "0.1.3" +name = "allocator-api2" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "alox-48" @@ -151,7 +164,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8054396c448cd2fb78b7b719b9fe616eac0b6b0e824f1cbcc0804617124a3d3f" dependencies = [ "enum-as-inner", - "indexmap 2.0.0", + "indexmap 2.1.0", "miette", "paste", "serde", @@ -221,16 +234,15 @@ checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "arboard" -version = "3.2.0" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6041616acea41d67c4a984709ddab1587fd0b10efe5cc563fee954d2f011854" +checksum = "ac57f2b058a76363e357c056e4f74f1945bf734d37b8b3ef49066c4787dde0fc" dependencies = [ "clipboard-win", "log", "objc", "objc-foundation", "objc_id", - "once_cell", "parking_lot", "thiserror", "winapi", @@ -264,7 +276,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" dependencies = [ - "event-listener", + "event-listener 2.5.3", "futures-core", ] @@ -275,21 +287,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ "concurrent-queue", - "event-listener", + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e" +dependencies = [ + "concurrent-queue", + "event-listener 3.1.0", + "event-listener-strategy", "futures-core", + "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.5.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" +checksum = "fc5ea910c42e5ab19012bab31f53cb4d63d54c3a27730f9a833a88efcf4bb52d" dependencies = [ - "async-lock", + "async-lock 3.1.1", "async-task", "concurrent-queue", - "fastrand 1.9.0", - "futures-lite", + "fastrand 2.0.1", + "futures-lite 2.0.1", "slab", ] @@ -299,10 +324,10 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" dependencies = [ - "async-lock", + "async-lock 2.8.0", "autocfg", "blocking", - "futures-lite", + "futures-lite 1.13.0", ] [[package]] @@ -311,18 +336,38 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" dependencies = [ - "async-lock", + "async-lock 2.8.0", "autocfg", "cfg-if", "concurrent-queue", - "futures-lite", + "futures-lite 1.13.0", "log", "parking", - "polling", - "rustix 0.37.23", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2 0.4.10", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997" +dependencies = [ + "async-lock 3.1.1", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite 2.0.1", + "parking", + "polling 3.3.0", + "rustix 0.38.25", "slab", - "socket2 0.4.9", + "tracing", "waker-fn", + "windows-sys 0.48.0", ] [[package]] @@ -331,65 +376,81 @@ version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ - "event-listener", + "event-listener 2.5.3", ] [[package]] -name = "async-net" -version = "1.7.0" +name = "async-lock" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4051e67316bc7eff608fe723df5d32ed639946adcd69e07df41fd42a7b411f1f" +checksum = "655b9c7fe787d3b25cc0f804a1a8401790f0c5bc395beb5a64dc77d8de079105" dependencies = [ - "async-io", - "autocfg", - "blocking", - "futures-lite", + "event-listener 3.1.0", + "event-listener-strategy", + "pin-project-lite", ] [[package]] name = "async-process" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" dependencies = [ - "async-io", - "async-lock", - "autocfg", + "async-io 1.13.0", + "async-lock 2.8.0", + "async-signal", "blocking", "cfg-if", - "event-listener", - "futures-lite", - "rustix 0.37.23", - "signal-hook 0.3.17", + "event-listener 3.1.0", + "futures-lite 1.13.0", + "rustix 0.38.25", "windows-sys 0.48.0", ] [[package]] name = "async-recursion" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" +checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", +] + +[[package]] +name = "async-signal" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +dependencies = [ + "async-io 2.2.0", + "async-lock 2.8.0", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.25", + "signal-hook-registry", + "slab", + "windows-sys 0.48.0", ] [[package]] name = "async-task" -version = "4.4.0" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" +checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -412,15 +473,9 @@ checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" [[package]] name = "atomic-waker" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" - -[[package]] -name = "atomic_refcell" -version = "0.1.11" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112ef6b3f6cb3cb6fc5b6b494ef7a848492cff1ab0ef4de10b0f7d572861c905" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "atspi" @@ -432,7 +487,7 @@ dependencies = [ "async-trait", "atspi-macros", "enumflags2", - "futures-lite", + "futures-lite 1.13.0", "serde", "tracing", "zbus", @@ -478,9 +533,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "bincode" @@ -493,11 +548,11 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.64.0" +version = "0.69.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" +checksum = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "cexpr", "clang-sys", "lazy_static", @@ -508,7 +563,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 1.0.109", + "syn 2.0.39", ] [[package]] @@ -540,9 +595,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" dependencies = [ "serde", ] @@ -592,24 +647,25 @@ dependencies = [ [[package]] name = "blocking" -version = "1.3.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" dependencies = [ - "async-channel", - "async-lock", + "async-channel 2.1.0", + "async-lock 3.1.1", "async-task", - "atomic-waker", - "fastrand 1.9.0", - "futures-lite", - "log", + "fastrand 2.0.1", + "futures-io", + "futures-lite 2.0.1", + "piper", + "tracing", ] [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "bytemuck" @@ -622,32 +678,32 @@ dependencies = [ [[package]] name = "bytemuck_derive" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "cairo-sys-rs" -version = "0.18.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd4d115132e01c0165e3bf5f56aedee8980b0b96ede4eb000b693c05a8adb8ff" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" dependencies = [ "libc", "system-deps", @@ -676,8 +732,7 @@ checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" [[package]] name = "catppuccin-egui" version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3754c4417c19dc020529b0a3fb5e649afa59b16d49c9231210800ce00891b5" +source = "git+https://github.com/catppuccin/egui?rev=f2bcf74#f2bcf74a122d82e880a7e61c8833e043a825409e" dependencies = [ "egui", ] @@ -709,9 +764,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9" +checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" dependencies = [ "smallvec", "target-lexicon", @@ -729,15 +784,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" -[[package]] -name = "cgl" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" -dependencies = [ - "libc", -] - [[package]] name = "clang-sys" version = "1.6.1" @@ -777,22 +823,21 @@ dependencies = [ "cocoa-foundation", "core-foundation", "core-graphics", - "foreign-types", + "foreign-types 0.3.2", "libc", "objc", ] [[package]] name = "cocoa-foundation" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" dependencies = [ "bitflags 1.3.2", "block", "core-foundation", "core-graphics-types", - "foreign-types", "libc", "objc", ] @@ -808,30 +853,13 @@ dependencies = [ ] [[package]] -name = "color-eyre" -version = "0.6.2" +name = "color-backtrace" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" +checksum = "150fd80a270c0671379f388c8204deb6a746bb4eac8a6c03fe2460b2c0127ea0" dependencies = [ "backtrace", - "color-spantrace", - "eyre", - "indenter", - "once_cell", - "owo-colors", - "tracing-error", -] - -[[package]] -name = "color-spantrace" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce" -dependencies = [ - "once_cell", - "owo-colors", - "tracing-core", - "tracing-error", + "termcolor", ] [[package]] @@ -856,92 +884,45 @@ dependencies = [ "memchr", ] -[[package]] -name = "command-lib" -version = "0.1.0" -dependencies = [ - "rand", - "serde", - "strum", -] - [[package]] name = "concurrent-queue" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" dependencies = [ "crossbeam-utils", ] -[[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-random" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e" +checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a" dependencies = [ "const-random-macro", - "proc-macro-hack", ] [[package]] name = "const-random-macro" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb" +checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ "getrandom", "once_cell", - "proc-macro-hack", "tiny-keccak", ] -[[package]] -name = "const_format" -version = "0.2.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48" -dependencies = [ - "const_format_proc_macros", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - [[package]] name = "core-foundation" version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ - "core-foundation-sys 0.8.4", + "core-foundation-sys", "libc", ] -[[package]] -name = "core-foundation-sys" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" - [[package]] name = "core-foundation-sys" version = "0.8.4" @@ -957,7 +938,7 @@ dependencies = [ "bitflags 1.3.2", "core-foundation", "core-graphics-types", - "foreign-types", + "foreign-types 0.3.2", "libc", ] @@ -974,20 +955,20 @@ dependencies = [ [[package]] name = "coreaudio-rs" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb17e2d1795b1996419648915df94bc7103c28f7b48062d7acf4652fc371b2ff" +checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" dependencies = [ "bitflags 1.3.2", - "core-foundation-sys 0.6.2", + "core-foundation-sys", "coreaudio-sys", ] [[package]] name = "coreaudio-sys" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f034b2258e6c4ade2f73bf87b21047567fb913ee9550837c2316d139b0262b24" +checksum = "f3120ebb80a9de008e638ad833d4127d50ea3d3a960ea23ea69bc66d9358a028" dependencies = [ "bindgen", ] @@ -998,7 +979,7 @@ version = "0.15.2" source = "git+https://github.com/DouglasDwyer/cpal.git?rev=91aeb4d6b02c25791f636fdf92a73637597c077a#91aeb4d6b02c25791f636fdf92a73637597c077a" dependencies = [ "alsa", - "core-foundation-sys 0.8.4", + "core-foundation-sys", "coreaudio-rs", "dasp_sample", "jni 0.19.0", @@ -1018,9 +999,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] @@ -1036,9 +1017,9 @@ dependencies = [ [[package]] name = "crc-catalog" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" @@ -1144,23 +1125,23 @@ dependencies = [ [[package]] name = "d3d12" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f0de2f5a8e7bd4a9eec0e3c781992a4ce1724f68aec7d7a3715344de8b39da" +checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" dependencies = [ - "bitflags 1.3.2", - "libloading 0.7.4", + "bitflags 2.4.1", + "libloading 0.8.1", "winapi", ] [[package]] name = "dashmap" -version = "5.5.1" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd72493923899c6f10c641bdbdeddc7183d6396641d99c1a0d1597f37f92e28" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "lock_api", "once_cell", "parking_lot_core", @@ -1172,12 +1153,30 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + [[package]] name = "data-url" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5" +[[package]] +name = "delegate-display" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98a85201f233142ac819bbf6226e36d0b5e129a47bd325084674261c82d4cd66" +dependencies = [ + "macroific", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "deltae" version = "0.3.2" @@ -1186,9 +1185,12 @@ checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4" [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] [[package]] name = "derivative" @@ -1273,14 +1275,14 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.0", + "libloading 0.8.1", ] [[package]] name = "dlv-list" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d529fd73d344663edfd598ccb3f344e46034db51ebd103518eae34338248ad73" +checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" dependencies = [ "const-random", ] @@ -1312,9 +1314,9 @@ dependencies = [ [[package]] name = "ecolor" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e479a7fa3f23d4e794f8b2f8b3568dd4e47886ad1b12c9c095e141cb591eb63" +checksum = "cfdf4e52dbbb615cfd30cf5a5265335c217b5fd8d669593cea74a517d9c605af" dependencies = [ "bytemuck", "serde", @@ -1322,9 +1324,9 @@ dependencies = [ [[package]] name = "eframe" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4596583a2c680c55b6feaa748f74890c4f9cb9c7cb69d6117110444cb65b2f" +checksum = "26d9efede6c8905d3fc51a5ec9a506d4da4011bbcae0253d0304580fe40af3f5" dependencies = [ "bytemuck", "cocoa", @@ -1332,19 +1334,17 @@ dependencies = [ "egui", "egui-wgpu", "egui-winit", - "egui_glow", - "glow", - "glutin", - "glutin-winit", "image 0.24.7", "js-sys", "log", "objc", + "parking_lot", "percent-encoding", "pollster", "raw-window-handle", "ron", "serde", + "static_assertions", "thiserror", "wasm-bindgen", "wasm-bindgen-futures", @@ -1356,12 +1356,12 @@ dependencies = [ [[package]] name = "egui" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3aef8ec3ae1b772f340170c65bf27d5b8c28f543a0116c844d2ac08d01123e7" +checksum = "8bd69fed5fcf4fbb8225b24e80ea6193b61e17a625db105ef0c4d71dde6eb8b7" dependencies = [ "accesskit", - "ahash 0.8.3", + "ahash 0.8.6", "epaint", "log", "nohash-hasher", @@ -1371,18 +1371,18 @@ dependencies = [ [[package]] name = "egui-notify" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d57ed9c398e24c1b9faf2c52cdc305dd29cb1d9dfa12a0166d254582bc47727a" +checksum = "dc3b10f21c7bb2afaecb8d98677cdb233a8b1f336b9b95abd610a33aeced04fc" dependencies = [ "egui", ] [[package]] name = "egui-wgpu" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33caaedd8283779c787298af23d8754a7e88421ff32e89ad0040c855fc0b0224" +checksum = "62d4c9ab93d9528c184ef1d695c8c99b2e6d50833696ec3f513063efeee0fe77" dependencies = [ "bytemuck", "epaint", @@ -1395,27 +1395,27 @@ dependencies = [ [[package]] name = "egui-winit" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a49155fd4a0a4fb21224407a91de0030847972ef90fc64edb63621caea61cb2" +checksum = "c15479a96d9fadccf5dac690bdc6373b97b8e1c0dd28367058f25a5298da0195" dependencies = [ "accesskit_winit", "arboard", "egui", - "instant", "log", "raw-window-handle", "serde", "smithay-clipboard", + "web-time", "webbrowser", "winit", ] [[package]] name = "egui_dock" -version = "0.6.3" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec07302c1a474f37fe6ef2c6672427880025edc37ac33955e6ea4a11bc6972a" +checksum = "a52f67bcab0eb6050cf8051c614966c1c57129fab23dbeae9c157214779053c7" dependencies = [ "duplicate", "egui", @@ -1424,33 +1424,21 @@ dependencies = [ [[package]] name = "egui_extras" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9278f4337b526f0d57e5375e5a7340a311fa6ee8f9fcc75721ac50af13face02" +checksum = "68ffe3fe5c00295f91c2a61a74ee271c32f74049c94ba0b1cea8f26eb478bc07" dependencies = [ "egui", + "enum-map", "image 0.24.7", + "log", + "mime_guess", "resvg", "serde", "tiny-skia", "usvg", ] -[[package]] -name = "egui_glow" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f8c2752cdf1b0ef5fcda59a898cacabad974d4f5880e92a420b2c917022da64" -dependencies = [ - "bytemuck", - "egui", - "glow", - "log", - "memoffset 0.6.5", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "either" version = "1.9.0" @@ -1459,9 +1447,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "emath" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3857d743a6e0741cdd60b622a74c7a36ea75f5f8f11b793b41d905d2c9721a4b" +checksum = "1ef2b29de53074e575c18b694167ccbe6e5191f7b25fe65175a0d905a32eeec0" dependencies = [ "bytemuck", "serde", @@ -1485,14 +1473,35 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", +] + +[[package]] +name = "enum-map" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e6b4f374c071b18172e23134e01026653dc980636ee139e0dfe59c538c61e5" +dependencies = [ + "enum-map-derive", + "serde", +] + +[[package]] +name = "enum-map-derive" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdb3d73d1beaf47c8593a1364e577fde072677cbfd103600345c0f547408cc0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] name = "enumflags2" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c041f5090df68b32bcd905365fd51769c8b9d553fe87fde0b683534f10c01bd2" +checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" dependencies = [ "enumflags2_derive", "serde", @@ -1500,35 +1509,34 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" +checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "enumn" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b893c4eb2dc092c811165f84dc7447fae16fb66521717968c34c509b39b1a5c5" +checksum = "c2ad8cef1d801a4686bfd8919f0b30eac4c8e48968c437a6405ded4fb5272d2b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "epaint" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09333964d4d57f40a85338ba3ca5ed4716070ab184dcfed966b35491c5c64f3b" +checksum = "58067b840d009143934d91d8dcb8ded054d8301d7c11a517ace0a99bb1e1595e" dependencies = [ "ab_glyph", - "ahash 0.8.3", - "atomic_refcell", + "ahash 0.8.6", "bytemuck", "ecolor", "emath", @@ -1546,25 +1554,14 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.2" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" +checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" dependencies = [ - "errno-dragonfly", "libc", "windows-sys 0.48.0", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "error-code" version = "2.3.1" @@ -1581,11 +1578,32 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "event-listener" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160" +dependencies = [ + "event-listener 3.1.0", + "pin-project-lite", +] + [[package]] name = "exr" -version = "1.7.0" +version = "1.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1e481eb11a482815d3e9d618db8c42a93207134662873809335a92327440c18" +checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8" dependencies = [ "bit_field", "flume", @@ -1597,16 +1615,6 @@ dependencies = [ "zune-inflate", ] -[[package]] -name = "eyre" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" -dependencies = [ - "indenter", - "once_cell", -] - [[package]] name = "fancy-regex" version = "0.11.0" @@ -1618,25 +1626,37 @@ dependencies = [ ] [[package]] -name = "fastrand" -version = "1.9.0" +name = "fancy_constructor" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +checksum = "f71f317e4af73b2f8f608fac190c52eac4b1879d2145df1db2fe48881ca69435" dependencies = [ - "instant", + "macroific", + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] name = "fastrand" -version = "2.0.0" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fdeflate" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" +checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868" dependencies = [ "simd-adler32", ] @@ -1651,18 +1671,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "filetime" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.3.5", - "windows-sys 0.48.0", -] - [[package]] name = "finl_unicode" version = "1.2.0" @@ -1677,9 +1685,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide 0.7.1", @@ -1693,14 +1701,13 @@ checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" [[package]] name = "flume" -version = "0.10.14" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ "futures-core", "futures-sink", "nanorand", - "pin-project", "spin", ] @@ -1716,7 +1723,28 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ - "foreign-types-shared", + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.1", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", ] [[package]] @@ -1725,6 +1753,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + [[package]] name = "form_urlencoded" version = "1.2.0" @@ -1734,20 +1768,11 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fsevent-sys" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" -dependencies = [ - "libc", -] - [[package]] name = "futures" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" dependencies = [ "futures-channel", "futures-core", @@ -1760,9 +1785,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", "futures-sink", @@ -1770,15 +1795,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" dependencies = [ "futures-core", "futures-task", @@ -1787,9 +1812,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] name = "futures-lite" @@ -1806,34 +1831,48 @@ dependencies = [ "waker-fn", ] +[[package]] +name = "futures-lite" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb" +dependencies = [ + "fastrand 2.0.1", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", +] + [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-channel", "futures-core", @@ -1877,6 +1916,19 @@ dependencies = [ "system-deps", ] +[[package]] +name = "generator" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" +dependencies = [ + "cc", + "libc", + "log", + "rustversion", + "windows 0.48.0", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -1899,9 +1951,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "js-sys", @@ -1941,42 +1993,29 @@ dependencies = [ [[package]] name = "git-version" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6b0decc02f4636b9ccad390dcbe77b722a77efedfa393caf8379a51d5c61899" +checksum = "13ad01ffa8221f7fe8b936d6ffb2a3e7ad428885a04fad51866a5f33eafda57c" dependencies = [ "git-version-macro", - "proc-macro-hack", ] [[package]] name = "git-version-macro" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe69f1cbdb6e28af2bac214e943b99ce8a0a06b447d15d3e61161b0423139f3f" +checksum = "84488ccbdb24ad6f56dc1863b4a8154a7856cd3c6c7610401634fab3cb588dae" dependencies = [ - "proc-macro-hack", "proc-macro2", "quote", - "syn 1.0.109", -] - -[[package]] -name = "gl_generator" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" -dependencies = [ - "khronos_api", - "log", - "xml-rs", + "syn 2.0.39", ] [[package]] name = "glam" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42218cb640844e3872cc3c153dc975229e080a6c4733b34709ef445610550226" +checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" dependencies = [ "bytemuck", ] @@ -2009,70 +2048,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "glutin" -version = "0.30.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe" -dependencies = [ - "bitflags 1.3.2", - "cfg_aliases", - "cgl", - "core-foundation", - "dispatch", - "glutin_egl_sys", - "glutin_glx_sys", - "glutin_wgl_sys", - "libloading 0.7.4", - "objc2", - "once_cell", - "raw-window-handle", - "wayland-sys 0.30.1", - "windows-sys 0.45.0", - "x11-dl", -] - -[[package]] -name = "glutin-winit" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4" -dependencies = [ - "cfg_aliases", - "glutin", - "raw-window-handle", - "winit", -] - -[[package]] -name = "glutin_egl_sys" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5" -dependencies = [ - "gl_generator", - "windows-sys 0.45.0", -] - -[[package]] -name = "glutin_glx_sys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494" -dependencies = [ - "gl_generator", - "x11-dl", -] - -[[package]] -name = "glutin_wgl_sys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165" -dependencies = [ - "gl_generator", -] - [[package]] name = "gobject-sys" version = "0.18.0" @@ -2086,21 +2061,21 @@ dependencies = [ [[package]] name = "gpu-alloc" -version = "0.5.4" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22beaafc29b38204457ea030f6fb7a84c9e4dd1b86e311ba0542533453d87f62" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "gpu-alloc-types", ] [[package]] name = "gpu-alloc-types" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", ] [[package]] @@ -2118,22 +2093,22 @@ dependencies = [ [[package]] name = "gpu-descriptor" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a" +checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "gpu-descriptor-types", - "hashbrown 0.12.3", + "hashbrown 0.14.2", ] [[package]] name = "gpu-descriptor-types" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126" +checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", ] [[package]] @@ -2156,9 +2131,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" dependencies = [ "bytes", "fnv", @@ -2166,7 +2141,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 1.9.3", + "indexmap 2.1.0", "slab", "tokio", "tokio-util", @@ -2188,20 +2163,18 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" dependencies = [ - "ahash 0.7.6", + "ahash 0.7.7", ] [[package]] name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" - -[[package]] -name = "hashbrown" -version = "0.14.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +dependencies = [ + "ahash 0.8.6", + "allocator-api2", +] [[package]] name = "hassle-rs" @@ -2226,9 +2199,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -2253,15 +2226,15 @@ dependencies = [ [[package]] name = "hound" -version = "3.5.0" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d13cdbd5dbb29f9c88095bbdc2590c9cba0d0a1269b983fef6b2cdd7e9f4db1" +checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f" [[package]] name = "http" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes", "fnv", @@ -2317,7 +2290,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -2390,19 +2363,16 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df19da1e92fbfec043ca97d622955381b1f3ee72a180ec999912df31b1ccd951" -[[package]] -name = "indenter" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" - [[package]] name = "indexed_db_futures" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbcff6ae46750b15cc594bfd277b188cbddcfdc1817848f97f03f26f8625b9e" +checksum = "6cc2083760572ee02385ab8b7c02c20925d2dd1f97a1a25a8737a238608f1152" dependencies = [ + "accessory", "cfg-if", + "delegate-display", + "fancy_constructor", "js-sys", "uuid", "wasm-bindgen", @@ -2422,35 +2392,15 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.2", "serde", ] -[[package]] -name = "inotify" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" -dependencies = [ - "bitflags 1.3.2", - "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 = "instant" version = "0.1.12" @@ -2485,9 +2435,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "itertools" @@ -2556,9 +2506,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" dependencies = [ "libc", ] @@ -2574,9 +2524,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] @@ -2592,32 +2542,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "khronos_api" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" - -[[package]] -name = "kqueue" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" -dependencies = [ - "kqueue-sys", - "libc", -] - -[[package]] -name = "kqueue-sys" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" -dependencies = [ - "bitflags 1.3.2", - "libc", -] - [[package]] name = "kurbo" version = "0.8.3" @@ -2664,9 +2588,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.147" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libloading" @@ -2680,9 +2604,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb" +checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" dependencies = [ "cfg-if", "windows-sys 0.48.0", @@ -2690,9 +2614,31 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.7" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.4.1", +] + +[[package]] +name = "libredox" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.4.1", +] [[package]] name = "line-wrap" @@ -2717,9 +2663,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.5" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" [[package]] name = "litrs" @@ -2729,9 +2675,9 @@ checksum = "f9275e0933cf8bb20f008924c0cb07a0692fe54d8064996520bf998de9eb79aa" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -2743,6 +2689,20 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +[[package]] +name = "loom" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" +dependencies = [ + "cfg-if", + "generator", + "pin-utils", + "scoped-tls", + "tracing", + "tracing-subscriber", +] + [[package]] name = "lru" version = "0.7.8" @@ -2756,81 +2716,273 @@ dependencies = [ name = "luminol" version = "0.4.0" dependencies = [ - "alox-48", - "atomic_refcell", - "bitflags 2.4.0", - "bytemuck", "camino", - "catppuccin-egui", - "cfg-if", - "color-eyre", - "command-lib", - "console_error_panic_hook", - "const_format", + "color-backtrace", "crc", - "crossbeam", - "dashmap", "eframe", "egui", - "egui-notify", - "egui_dock", "egui_extras", - "enum-as-inner", - "eyre", - "futures", - "git-version", - "glam", + "epaint", + "flume", "image 0.24.7", - "indexed_db_futures", - "itertools", "js-sys", + "luminol-app", + "luminol-audio", + "luminol-config", + "luminol-core", + "luminol-data", + "luminol-filesystem", + "luminol-graphics", "luminol-term", - "notify", - "num_enum 0.7.0", + "luminol-ui", + "luminol-web", "once_cell", - "ouroboros", "parking_lot", - "paste", "poll-promise", - "rand", - "reqwest", "rfd", - "rmxp-types", - "rodio", - "ron", - "rust-ini", - "rustysynth", - "serde", - "slab", - "static_assertions", "steamworks", "strum", - "syntect", - "thiserror", "tokio", "tracing", - "tracing-log", + "tracing-log 0.1.4", "tracing-subscriber", "tracing-wasm", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows 0.51.1", - "winreg 0.51.0", "winres", - "zip", ] [[package]] -name = "luminol-term" -version = "0.1.0" +name = "luminol-app" +version = "0.4.0" dependencies = [ - "crossbeam-channel", "eframe", "egui", - "portable-pty", - "termwiz", - "wezterm-term", +] + +[[package]] +name = "luminol-audio" +version = "0.4.0" +dependencies = [ + "camino", + "flume", + "luminol-filesystem", + "once_cell", + "oneshot", + "parking_lot", + "poll-promise", + "rodio", + "rustysynth", + "slab", + "strum", + "thiserror", + "web-sys", +] + +[[package]] +name = "luminol-components" +version = "0.4.0" +dependencies = [ + "anyhow", + "egui", + "egui-wgpu", + "glam", + "itertools", + "luminol-audio", + "luminol-config", + "luminol-core", + "luminol-data", + "luminol-filesystem", + "luminol-graphics", + "once_cell", + "parking_lot", + "serde", + "slab", + "strum", + "syntect", + "wgpu", +] + +[[package]] +name = "luminol-config" +version = "0.4.0" +dependencies = [ + "luminol-data", + "once_cell", + "ron", + "rust-ini", + "serde", + "strum", +] + +[[package]] +name = "luminol-core" +version = "0.4.0" +dependencies = [ + "alox-48", + "anyhow", + "bitflags 2.4.1", + "camino", + "egui", + "egui-notify", + "egui_dock", + "getrandom", + "luminol-audio", + "luminol-config", + "luminol-data", + "luminol-filesystem", + "luminol-graphics", + "parking_lot", + "rand", + "serde", + "strum", +] + +[[package]] +name = "luminol-data" +version = "0.4.0" +dependencies = [ + "alox-48", + "bytemuck", + "camino", + "flate2", + "getrandom", + "num-derive 0.4.1", + "num_enum 0.7.1", + "paste", + "rand", + "serde", + "slab", + "strum", +] + +[[package]] +name = "luminol-filesystem" +version = "0.4.0" +dependencies = [ + "bitflags 2.4.1", + "camino", + "dashmap", + "egui", + "flume", + "indexed_db_futures", + "itertools", + "js-sys", + "luminol-config", + "luminol-web", + "once_cell", + "oneshot", + "parking_lot", + "rand", + "rfd", + "ron", + "rust-ini", + "serde", + "slab", + "thiserror", + "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.51.0", +] + +[[package]] +name = "luminol-graphics" +version = "0.4.0" +dependencies = [ + "anyhow", + "bytemuck", + "camino", + "crossbeam", + "dashmap", + "egui", + "egui-wgpu", + "egui_extras", + "glam", + "image 0.24.7", + "itertools", + "luminol-data", + "luminol-filesystem", + "naga", + "naga_oil", + "once_cell", + "slab", + "wgpu", +] + +[[package]] +name = "luminol-macros" +version = "0.4.0" + +[[package]] +name = "luminol-modals" +version = "0.4.0" +dependencies = [ + "camino", + "egui", + "luminol-components", + "luminol-core", + "luminol-data", +] + +[[package]] +name = "luminol-term" +version = "0.4.0" +dependencies = [ + "crossbeam-channel", + "egui", + "portable-pty", + "termwiz", + "wezterm-term", +] + +[[package]] +name = "luminol-ui" +version = "0.4.0" +dependencies = [ + "anyhow", + "catppuccin-egui", + "egui", + "egui_extras", + "futures", + "git-version", + "itertools", + "luminol-audio", + "luminol-components", + "luminol-config", + "luminol-core", + "luminol-data", + "luminol-filesystem", + "luminol-graphics", + "luminol-modals", + "luminol-term", + "poll-promise", + "reqwest", + "strum", + "zip", +] + +[[package]] +name = "luminol-web" +version = "0.4.0" +dependencies = [ + "eframe", + "egui", + "egui-wgpu", + "flume", + "js-sys", + "luminol-app", + "once_cell", + "oneshot", + "portable-atomic", + "ron", + "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu", ] [[package]] @@ -2852,6 +3004,53 @@ dependencies = [ "libc", ] +[[package]] +name = "macroific" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05c00ac596022625d01047c421a0d97d7f09a18e429187b341c201cb631b9dd" +dependencies = [ + "macroific_attr_parse", + "macroific_core", + "macroific_macro", +] + +[[package]] +name = "macroific_attr_parse" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd94d5da95b30ae6e10621ad02340909346ad91661f3f8c0f2b62345e46a2f67" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "macroific_core" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13198c120864097a565ccb3ff947672d969932b7975ebd4085732c9f09435e55" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + +[[package]] +name = "macroific_macro" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c9853143cbed7f1e41dc39fee95f9b361bec65c8dc2a01bf609be01b61f5ae" +dependencies = [ + "macroific_attr_parse", + "macroific_core", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "malloc_buf" version = "0.0.6" @@ -2861,11 +3060,20 @@ dependencies = [ "libc", ] +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memmap2" @@ -2911,16 +3119,17 @@ dependencies = [ [[package]] name = "metal" -version = "0.24.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" +checksum = "623b5e6cefd76e58f774bd3cc0c6f5c7615c58c03a97815245a25c3c9bdee318" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "block", "core-graphics-types", - "foreign-types", + "foreign-types 0.5.0", "log", "objc", + "paste", ] [[package]] @@ -2943,7 +3152,7 @@ checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -2952,6 +3161,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2980,9 +3199,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "log", @@ -2992,17 +3211,18 @@ dependencies = [ [[package]] name = "naga" -version = "0.12.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbcc2e0513220fd2b598e6068608d4462db20322c0e77e47f6f488dfcfc279cb" +checksum = "c1ceaaa4eedaece7e4ec08c55c640ba03dbb73fb812a6570a59bcf1930d0f70e" dependencies = [ "bit-set", - "bitflags 1.3.2", + "bitflags 2.4.1", "codespan-reporting", "hexf-parse", "indexmap 1.9.3", "log", "num-traits", + "pp-rs", "rustc-hash", "spirv", "termcolor", @@ -3010,6 +3230,26 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "naga_oil" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ac54c77b3529887f9668d3dd81e955e58f252b31a333f836e3548c06460b958" +dependencies = [ + "bit-set", + "codespan-reporting", + "data-encoding", + "indexmap 1.9.3", + "naga", + "once_cell", + "regex", + "regex-syntax 0.7.5", + "rustc-hash", + "thiserror", + "tracing", + "unicode-ident", +] + [[package]] name = "nanorand" version = "0.7.0" @@ -3107,15 +3347,14 @@ dependencies = [ [[package]] name = "nix" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.7.1", - "static_assertions", ] [[package]] @@ -3134,25 +3373,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "notify" -version = "6.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" -dependencies = [ - "bitflags 2.4.0", - "crossbeam-channel", - "filetime", - "fsevent-sys", - "inotify", - "kqueue", - "libc", - "log", - "mio", - "walkdir", - "windows-sys 0.48.0", -] - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -3174,6 +3394,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "num-derive" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "num-integer" version = "0.1.45" @@ -3197,9 +3428,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] @@ -3234,11 +3465,11 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70bf6736f74634d299d00086f02986875b3c2d924781a6a2cb6c201e73da0ceb" +checksum = "683751d591e6d81200c39fb0d1032608b77724f34114db54f571ff1317b337c0" dependencies = [ - "num_enum_derive 0.7.0", + "num_enum_derive 0.7.1", ] [[package]] @@ -3247,7 +3478,7 @@ version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", @@ -3259,22 +3490,22 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "num_enum_derive" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ea360eafe1022f7cc56cd7b869ed57330fb2453d0c7831d99b74c65d2f5597" +checksum = "6c11e44798ad209ccdd91fc192f0526a369a01234f7373e1b141c96d7cee4f0e" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 2.0.0", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -3344,9 +3575,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "memchr", ] @@ -3360,7 +3591,7 @@ dependencies = [ "jni 0.20.0", "ndk", "ndk-context", - "num-derive", + "num-derive 0.3.3", "num-traits", "oboe-sys", ] @@ -3389,6 +3620,15 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +[[package]] +name = "oneshot" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f6640c6bda7731b1fdbab747981a0f896dd1fedaf9f4a53fa237a04a84431f4" +dependencies = [ + "loom", +] + [[package]] name = "opaque-debug" version = "0.3.0" @@ -3397,13 +3637,13 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.57" +version = "0.10.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" +checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "cfg-if", - "foreign-types", + "foreign-types 0.3.2", "libc", "once_cell", "openssl-macros", @@ -3418,7 +3658,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -3429,9 +3669,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.93" +version = "0.9.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d" +checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" dependencies = [ "cc", "libc", @@ -3441,30 +3681,30 @@ dependencies = [ [[package]] name = "orbclient" -version = "0.3.46" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8378ac0dfbd4e7895f2d2c1f1345cab3836910baf3a300b000d04250f0c8428f" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" dependencies = [ - "redox_syscall 0.3.5", + "libredox 0.0.2", ] [[package]] name = "ordered-float" -version = "3.9.1" +version = "3.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a54938017eacd63036332b4ae5c8a49fc8c0c1d6d629893057e4f13609edd06" +checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" dependencies = [ "num-traits", ] [[package]] name = "ordered-multimap" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ed8acf08e98e744e5384c8bc63ceb0364e68a6854187221c18df61c4797690e" +checksum = "a4d6a8c22fc714f0c2373e6091bf6f5e9b37b1bc0b1184874b7e0a4e303d318f" dependencies = [ "dlv-list", - "hashbrown 0.13.2", + "hashbrown 0.14.2", ] [[package]] @@ -3477,31 +3717,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "ouroboros" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c86de06555b970aec45229b27291b53154f21a5743a163419f4e4c0b065dcde" -dependencies = [ - "aliasable", - "ouroboros_macro", - "static_assertions", -] - -[[package]] -name = "ouroboros_macro" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cad0c4b129e9696e37cb712b243777b90ef489a0bfaa0ac34e7d9b860e4f134" -dependencies = [ - "heck", - "itertools", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.29", -] - [[package]] name = "overload" version = "0.1.1" @@ -3510,19 +3725,13 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "owned_ttf_parser" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4" +checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" dependencies = [ "ttf-parser", ] -[[package]] -name = "owo-colors" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f" - [[package]] name = "pango-sys" version = "0.18.0" @@ -3537,9 +3746,9 @@ dependencies = [ [[package]] name = "parking" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" @@ -3553,15 +3762,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "backtrace", "cfg-if", "libc", "petgraph", - "redox_syscall 0.3.5", + "redox_syscall 0.4.1", "smallvec", "thread-id", "windows-targets 0.48.5", @@ -3587,19 +3796,20 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.2" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1acb4a4365a13f749a93f1a094a7805e5cfa0955373a9de860d962eaa3a5fe5a" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" dependencies = [ + "memchr", "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.7.2" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "666d00490d4ac815001da55838c500eafb0320019bbaa44444137c48b443a853" +checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" dependencies = [ "pest", "pest_generator", @@ -3607,26 +3817,26 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.2" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ca01446f50dbda87c1786af8770d535423fa8a53aec03b8f4e3d7eb10e0929" +checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "pest_meta" -version = "2.7.2" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56af0a30af74d0445c0bf6d9d051c979b516a1a5af790d251daee76005420a48" +checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" dependencies = [ "once_cell", "pest", - "sha2 0.10.7", + "sha2 0.10.8", ] [[package]] @@ -3636,7 +3846,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.0.0", + "indexmap 2.1.0", ] [[package]] @@ -3688,7 +3898,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -3715,26 +3925,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" -[[package]] -name = "pin-project" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.29", -] - [[package]] name = "pin-project-lite" version = "0.2.13" @@ -3747,6 +3937,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.1", + "futures-io", +] + [[package]] name = "pkg-config" version = "0.3.27" @@ -3755,12 +3956,12 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "plist" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" +checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" dependencies = [ - "base64 0.21.2", - "indexmap 1.9.3", + "base64 0.21.5", + "indexmap 2.1.0", "line-wrap", "quick-xml", "serde", @@ -3787,8 +3988,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f6a58fecbf9da8965bcdb20ce4fd29788d1acee68ddbb64f0ba1b81bccdb7df" dependencies = [ "document-features", - "smol", "static_assertions", + "tokio", "wasm-bindgen", "wasm-bindgen-futures", ] @@ -3809,12 +4010,32 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "polling" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531" +dependencies = [ + "cfg-if", + "concurrent-queue", + "pin-project-lite", + "rustix 0.38.25", + "tracing", + "windows-sys 0.48.0", +] + [[package]] name = "pollster" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" +[[package]] +name = "portable-atomic" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b" + [[package]] name = "portable-pty" version = "0.8.1" @@ -3835,6 +4056,21 @@ dependencies = [ "winreg 0.10.1", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[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.17" @@ -3848,7 +4084,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", ] [[package]] @@ -3875,26 +4120,20 @@ dependencies = [ "version_check", ] -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] [[package]] name = "profiling" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46b2164ebdb1dfeec5e337be164292351e11daf63a05174c6776b2f47460f0c9" +checksum = "f89dff0959d98c9758c88826cc002e2c3d0b9dfac4139711d1f30de442f1139b" [[package]] name = "qoi" @@ -3907,9 +4146,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", ] @@ -3967,9 +4206,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ "either", "rayon-core", @@ -3977,14 +4216,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -3995,61 +4232,82 @@ checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ "getrandom", - "redox_syscall 0.2.16", + "libredox 0.0.1", "thiserror", ] [[package]] name = "regex" -version = "1.9.3" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata", - "regex-syntax", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", ] [[package]] name = "regex-automata" -version = "0.3.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.2", ] [[package]] name = "regex-syntax" -version = "0.7.4" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + +[[package]] +name = "regex-syntax" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "renderdoc-sys" @@ -4063,7 +4321,7 @@ version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.2", + "base64 0.21.5", "bytes", "encoding_rs", "futures-core", @@ -4111,9 +4369,9 @@ dependencies = [ [[package]] name = "rfd" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241a0deb168c88050d872294f7b3106c1dfa8740942bcc97bc91b98e97b5c501" +checksum = "3c9e7b57df6e8472152674607f6cc68aa14a748a3157a857a94f516e11aeacc2" dependencies = [ "block", "dispatch", @@ -4134,36 +4392,18 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.36" +version = "0.8.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "rmxp-types" -version = "0.1.0" +checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8" dependencies = [ - "alox-48", "bytemuck", - "camino", - "flate2", - "num-derive", - "num-traits", - "num_enum 0.6.1", - "paste", - "rand", - "serde", - "slab", - "strum", ] [[package]] name = "rodio" -version = "0.17.1" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf1d4dea18dff2e9eb6dca123724f8b60ef44ad74a9ad283cdfe025df7e73fa" +checksum = "3b1bb7b48ee48471f55da122c0044fcc7600cfcc85db88240b89cb832935e611" dependencies = [ "claxon", "cpal", @@ -4178,8 +4418,8 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ - "base64 0.21.2", - "bitflags 2.4.0", + "base64 0.21.5", + "bitflags 2.4.1", "serde", "serde_derive", ] @@ -4195,9 +4435,9 @@ dependencies = [ [[package]] name = "rust-ini" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e2a3bcec1f113553ef1c88aae6c020a369d03d55b58de9869a0908930385091" +checksum = "3e0698206bcb8882bf2a9ecb4c1e7785db57ff052297085a6efd4fe42302068a" dependencies = [ "cfg-if", "ordered-multimap", @@ -4217,9 +4457,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustix" -version = "0.37.23" +version = "0.37.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", "errno", @@ -4231,14 +4471,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.8" +version = "0.38.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f" +checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "errno", "libc", - "linux-raw-sys 0.4.5", + "linux-raw-sys 0.4.11", "windows-sys 0.48.0", ] @@ -4250,9 +4490,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "rustysynth" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b916492c4bdd1dba14c92761cc855f9ef12f3c7e4ef18cab07ee49e784c1c66b" +checksum = "a2316fb90175e4f747331f29c9275aaddf2868b355472e94a3b82ad235a719b5" [[package]] name = "ryu" @@ -4296,19 +4536,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sctk-adwaita" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09" -dependencies = [ - "ab_glyph", - "log", - "memmap2", - "smithay-client-toolkit", - "tiny-skia", -] - [[package]] name = "security-framework" version = "2.9.2" @@ -4317,7 +4544,7 @@ checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", - "core-foundation-sys 0.8.4", + "core-foundation-sys", "libc", "security-framework-sys", ] @@ -4328,7 +4555,7 @@ version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ - "core-foundation-sys 0.8.4", + "core-foundation-sys", "libc", ] @@ -4352,29 +4579,29 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.187" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a7fe14252655bd1e578af19f5fa00fe02fd0013b100ca6b49fde31c41bae4c" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.187" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e46b2a6ca578b3f1d4501b12f78ed4692006d79d82a1a7c561c12dbc3d625eb8" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "serde_json" -version = "1.0.105" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -4383,20 +4610,20 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" +checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" dependencies = [ "serde", ] @@ -4457,9 +4684,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", @@ -4481,9 +4708,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -4492,9 +4719,9 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] @@ -4531,16 +4758,6 @@ dependencies = [ "signal-hook-registry", ] -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - [[package]] name = "signal-hook-registry" version = "1.4.1" @@ -4592,15 +4809,15 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "smithay-client-toolkit" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f307c47d32d2715eb2e0ece5589057820e0e5e70d07c247d1063e844e107f454" +checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9" dependencies = [ "bitflags 1.3.2", "calloop", @@ -4625,28 +4842,11 @@ dependencies = [ "wayland-client", ] -[[package]] -name = "smol" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1" -dependencies = [ - "async-channel", - "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-net", - "async-process", - "blocking", - "futures-lite", -] - [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -4654,9 +4854,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys 0.48.0", @@ -4737,15 +4937,15 @@ dependencies = [ [[package]] name = "strum_macros" -version = "0.25.2" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ "heck", "proc-macro2", "quote", "rustversion", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -4820,9 +5020,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.29" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -4842,7 +5042,7 @@ dependencies = [ "fnv", "once_cell", "plist", - "regex-syntax", + "regex-syntax 0.7.5", "serde", "serde_json", "thiserror", @@ -4867,47 +5067,47 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" dependencies = [ - "core-foundation-sys 0.8.4", + "core-foundation-sys", "libc", ] [[package]] name = "system-deps" -version = "6.1.1" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3" +checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331" dependencies = [ "cfg-expr", "heck", "pkg-config", - "toml 0.7.6", + "toml 0.8.8", "version-compare", ] [[package]] name = "target-lexicon" -version = "0.12.11" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", - "fastrand 2.0.0", - "redox_syscall 0.3.5", - "rustix 0.38.8", + "fastrand 2.0.1", + "redox_syscall 0.4.1", + "rustix 0.38.25", "windows-sys 0.48.0", ] [[package]] name = "termcolor" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" dependencies = [ "winapi-util", ] @@ -4949,7 +5149,7 @@ version = "0.22.0" source = "git+https://github.com/wez/wezterm?rev=3666303c7b26c6c966b3f136dbb954686d334cc3#3666303c7b26c6c966b3f136dbb954686d334cc3" dependencies = [ "anyhow", - "base64 0.21.2", + "base64 0.21.5", "bitflags 1.3.2", "filedescriptor", "finl_unicode", @@ -4961,7 +5161,7 @@ dependencies = [ "log", "memmem", "nix 0.24.3", - "num-derive", + "num-derive 0.3.3", "num-traits", "ordered-float", "pest", @@ -4970,7 +5170,7 @@ dependencies = [ "regex", "semver", "sha2 0.9.9", - "signal-hook 0.1.17", + "signal-hook", "siphasher", "tempfile", "terminfo", @@ -4988,32 +5188,31 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.47" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.47" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "thread-id" -version = "4.2.0" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79474f573561cdc4871a0de34a51c92f7f5a56039113fbb5b9c9f96bdb756669" +checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b" dependencies = [ "libc", - "redox_syscall 0.2.16", "winapi", ] @@ -5051,12 +5250,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.27" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb39ee79a6d8de55f48f2293a830e040392f1c5f16e336bdd1788cd0aadce07" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", + "powerfmt", "serde", "time-core", "time-macros", @@ -5064,15 +5264,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733d258752e9303d392b94b75230d07b0b9c489350c69b851fc6c065fde3e8f9" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ "time-core", ] @@ -5128,19 +5328,32 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.32.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes", "libc", "mio", + "num_cpus", "pin-project-lite", - "socket2 0.5.4", + "socket2 0.5.5", + "tokio-macros", "windows-sys 0.48.0", ] +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "tokio-native-tls" version = "0.3.1" @@ -5153,9 +5366,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -5176,32 +5389,54 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" +checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.21.0", ] [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.19.14" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.1.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", "serde", "serde_spanned", "toml_datetime", @@ -5216,11 +5451,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -5228,58 +5462,63 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", ] [[package]] -name = "tracing-error" -version = "0.2.0" +name = "tracing-log" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" dependencies = [ - "tracing", - "tracing-subscriber", + "log", + "once_cell", + "tracing-core", ] [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ + "matchers", "nu-ansi-term", + "once_cell", + "regex", "sharded-slab", "smallvec", "thread_local", + "tracing", "tracing-core", - "tracing-log", + "tracing-log 0.2.0", ] [[package]] @@ -5301,9 +5540,9 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "ttf-parser" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a464a4b34948a5f67fddd2b823c62d9d92e44be75058b99939eae6c5b6960b33" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" [[package]] name = "type-map" @@ -5316,9 +5555,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" @@ -5336,6 +5575,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "unicase" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +dependencies = [ + "version_check", +] + [[package]] name = "unicode-bidi" version = "0.3.13" @@ -5344,9 +5592,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -5365,9 +5613,9 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "unicode-xid" @@ -5377,9 +5625,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "url" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna", @@ -5414,9 +5662,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.4.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "c58fe91d841bc04822c9801002db4ea904b9e4b8e6bbad25127b46eff8dc516b" dependencies = [ "atomic", "getrandom", @@ -5463,15 +5711,15 @@ dependencies = [ [[package]] name = "waker-fn" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" [[package]] name = "walkdir" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -5494,9 +5742,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -5504,24 +5752,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" dependencies = [ "cfg-if", "js-sys", @@ -5531,9 +5779,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5541,22 +5789,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "wayland-client" @@ -5571,7 +5819,7 @@ dependencies = [ "scoped-tls", "wayland-commons", "wayland-scanner", - "wayland-sys 0.29.5", + "wayland-sys", ] [[package]] @@ -5583,7 +5831,7 @@ dependencies = [ "nix 0.24.3", "once_cell", "smallvec", - "wayland-sys 0.29.5", + "wayland-sys", ] [[package]] @@ -5632,22 +5880,20 @@ dependencies = [ ] [[package]] -name = "wayland-sys" -version = "0.30.1" +name = "web-sys" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" dependencies = [ - "dlib", - "lazy_static", - "log", - "pkg-config", + "js-sys", + "wasm-bindgen", ] [[package]] -name = "web-sys" -version = "0.3.64" +name = "web-time" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "57099a701fb3a8043f993e8228dc24229c7b942e2b009a1b962e54489ba1d3bf" dependencies = [ "js-sys", "wasm-bindgen", @@ -5655,9 +5901,9 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2c79b77f525a2d670cb40619d7d9c673d09e0666f72c591ebd7861f84a87e57" +checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71" dependencies = [ "core-foundation", "home", @@ -5760,9 +6006,9 @@ dependencies = [ [[package]] name = "wgpu" -version = "0.16.3" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "480c965c9306872eb6255fa55e4b4953be55a8b64d57e61d7ff840d3dcc051cd" +checksum = "752e44d3998ef35f71830dd1ad3da513e628e2e4d4aedb0ab580f850827a0b41" dependencies = [ "arrayvec", "cfg-if", @@ -5784,13 +6030,13 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.16.1" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2" +checksum = "0f8a44dd301a30ceeed3c27d8c0090433d3da04d7b2a4042738095a424d12ae7" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.4.0", + "bitflags 2.4.1", "codespan-reporting", "log", "naga", @@ -5807,19 +6053,18 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.16.2" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecb3258078e936deee14fd4e0febe1cfe9bbb5ffef165cb60218d2ee5eb4448" +checksum = "9a80bf0e3c77399bb52850cb0830af9bad073d5cfcb9dd8253bef8125c42db17" dependencies = [ "android_system_properties", "arrayvec", "ash", "bit-set", - "bitflags 2.4.0", + "bitflags 2.4.1", "block", "core-graphics-types", "d3d12", - "foreign-types", "glow", "gpu-alloc", "gpu-allocator", @@ -5828,7 +6073,7 @@ dependencies = [ "js-sys", "khronos-egl", "libc", - "libloading 0.8.0", + "libloading 0.8.1", "log", "metal", "naga", @@ -5849,11 +6094,11 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.16.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c153280bb108c2979eb5c7391cb18c56642dd3c072e55f52065e13e2a1252a" +checksum = "ee64d7398d0c2f9ca48922c902ef69c42d000c759f3db41e355f4a570b052b67" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "js-sys", "web-sys", ] @@ -5882,9 +6127,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] @@ -5933,25 +6178,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "windows" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" -dependencies = [ - "windows-core", - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-implement" version = "0.48.0" @@ -6108,9 +6334,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winit" -version = "0.28.6" +version = "0.28.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "866db3f712fffba75d31bf0cdecf357c8aeafd158c5b7ab51dba2a2b2d47f196" +checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94" dependencies = [ "android-activity", "bitflags 1.3.2", @@ -6129,7 +6355,6 @@ dependencies = [ "percent-encoding", "raw-window-handle", "redox_syscall 0.3.5", - "sctk-adwaita", "smithay-client-toolkit", "wasm-bindgen", "wayland-client", @@ -6143,9 +6368,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.5.15" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" dependencies = [ "memchr", ] @@ -6236,21 +6461,21 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" dependencies = [ - "nix 0.26.2", + "nix 0.26.4", "winapi", ] [[package]] name = "xml-rs" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1" +checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" [[package]] name = "xmlparser" -version = "0.13.5" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd" +checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" [[package]] name = "yaml-rust" @@ -6270,8 +6495,8 @@ dependencies = [ "async-broadcast", "async-executor", "async-fs", - "async-io", - "async-lock", + "async-io 1.13.0", + "async-lock 2.8.0", "async-process", "async-recursion", "async-task", @@ -6280,12 +6505,12 @@ dependencies = [ "byteorder", "derivative", "enumflags2", - "event-listener", + "event-listener 2.5.3", "futures-core", "futures-sink", "futures-util", "hex", - "nix 0.26.2", + "nix 0.26.4", "once_cell", "ordered-stream", "rand", @@ -6308,7 +6533,7 @@ version = "3.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "regex", @@ -6327,6 +6552,26 @@ dependencies = [ "zvariant", ] +[[package]] +name = "zerocopy" +version = "0.7.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "zip" version = "0.6.6" @@ -6368,7 +6613,7 @@ version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", diff --git a/Cargo.toml b/Cargo.toml index 8baa5914..fcf8392a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,181 +1,193 @@ +# As much as I would like to move the luminol package into the crates folder, trunk won't let me :( +# It wants a root package, and it has to be this [package] name = "luminol" +description = "Luminol is a FOSS recreation of RPG Maker XP in Rust with love ❤️" +build = "build.rs" + +version.workspace = true +authors.workspace = true +edition.workspace = true +license.workspace = true +rust-version.workspace = true +readme.workspace = true +repository.workspace = true +keywords.workspace = true +categories.workspace = true + +# Setup various shared workspace values +[workspace] +members = ["crates/*"] +resolver = "2" + +[workspace.package] version = "0.4.0" authors = [ "Lily Lyons ", "Egor Poleshko ", ] edition = "2021" -rust-version = "1.62" -description = "Luminol is a FOSS recreation of RPG Maker XP in Rust with love ❤️" +rust-version = "1.74" license = "GPL-3.0" readme = "README.md" repository = "https://github.com/Speak2Erase/Luminol" keywords = ["gamedev", "rpg", "rpg-maker"] categories = ["games"] -build = "build.rs" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +# Shared dependencies +[workspace.dependencies] +egui = "0.23.0" +egui_extras = { version = "0.23.0", features = ["svg", "image"] } +epaint = "0.23.0" -[dependencies] -egui = "0.22" -eframe = { version = "0.22", features = [ - "persistence", +eframe = { version = "0.23.0", features = [ "wgpu", + "accesskit", + "persistence", + "default_fonts", + "x11", + "wayland", ], default-features = false } -egui_extras = { version = "0.22", features = ["svg", "image"] } -egui-notify = { version = "0.9" } # temporary patch -egui_dock = { version = "0.6" } -catppuccin-egui = "3.0.0" +egui-wgpu = "0.23.0" -glam = { version = "0.24", features = ["bytemuck"] } +wgpu = { version = "0.17.2", features = ["naga"] } +glam = { version = "0.24.2", features = ["bytemuck"] } +image = "0.24.7" -image = { version = "0.24", features = ["jpeg", "png"] } +serde = { version = "1.0", features = ["derive"] } +alox-48 = { version = "0.4.1", default-features = false } +ron = "0.8.1" +serde_json = "1.0" +rust-ini = "0.20.0" + +bytemuck = { version = "1.14.0", features = [ + "extern_crate_alloc", + "derive", + "min_const_generics", +] } -strum = { version = "0.25", features = ["derive"] } -enum-as-inner = "0.6" -num_enum = "0.7" +tracing = "0.1.37" -bitflags = "2.3" -ouroboros = "0.18" +strum = { version = "0.25.0", features = ["derive"] } +paste = "1.0.14" +thiserror = "1.0" +bitflags = "2.4.0" +anyhow = "1.0" -git-version = "0.3" +parking_lot = { version = "0.12.1", features = ["deadlock_detection"] } +once_cell = "1.18.0" +crossbeam = "0.8.2" +dashmap = "5.5.3" +flume = "0.11.0" +oneshot = "0.1.6" -once_cell = "1.17" -parking_lot = { version = "0.12", features = [ - "nightly", # This is required for parking_lot to work properly in WebAssembly builds with atomics support - "deadlock_detection", - "hardware-lock-elision", -] } -atomic_refcell = "0.1.9" -dashmap = "5.5" -crossbeam = "0.8" +poll-promise = { version = "0.3.0" } -futures = "0.3" -reqwest = "0.11.22" +camino = "1.1.6" -slab = { version = "0.4", features = ["serde"] } +slab = { version = "0.4.9", features = ["serde"] } -syntect = { version = "5.0", features = [ - "default-fancy", -], default-features = false } +itertools = "0.11.0" + +rfd = "0.12.0" rand = "0.8.5" +getrandom = { version = "0.2", features = ["js"] } + +luminol-audio = { version = "0.4.0", path = "crates/audio/" } +luminol-app = { version = "0.4.0", path = "crates/app/" } +luminol-components = { version = "0.4.0", path = "crates/components/" } +luminol-config = { version = "0.4.0", path = "crates/config/" } +luminol-core = { version = "0.4.0", path = "crates/core/" } +luminol-data = { version = "0.4.0", path = "crates/data/" } +luminol-filesystem = { version = "0.4.0", path = "crates/filesystem/" } +luminol-graphics = { version = "0.4.0", path = "crates/graphics/" } +luminol-macros = { version = "0.4.0", path = "crates/macros/" } +luminol-modals = { version = "0.4.0", path = "crates/modals/" } +luminol-term = { version = "0.4.0", path = "crates/term/" } +luminol-ui = { version = "0.4.0", path = "crates/ui/" } -zip = { version = "0.6", default-features = false, features = ["deflate"] } -notify = "6.0" -rfd = "0.12" -camino = "1.1" +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html -bytemuck = { version = "1.14", features = ["derive", "min_const_generics"] } +[dependencies] +eframe.workspace = true +egui.workspace = true +egui_extras.workspace = true +epaint.workspace = true -color-eyre = "0.6" -eyre = "0.6" -thiserror = "1.0" +rfd.workspace = true -paste = "1.0" -cfg-if = "1.0.0" +parking_lot.workspace = true +once_cell.workspace = true -serde = { version = "1.0", features = ["derive"] } -alox-48 = { version = "0.4.1", default-features = false } -ron = "0.8.0" -rust-ini = "0.19.0" +image.workspace = true -tracing = "0.1.37" -tracing-subscriber = "0.3" +crc = { version = "3.0.1", optional = true } -itertools = "0.11" -static_assertions = "1.1.0" +tracing-subscriber = "0.3.17" +color-backtrace = "0.6.0" -rustysynth = "1.2" +luminol-app.workspace = true +luminol-audio.workspace = true +luminol-core.workspace = true +luminol-config.workspace = true +luminol-data.workspace = true +luminol-filesystem.workspace = true +luminol-graphics.workspace = true +luminol-ui.workspace = true +# luminol-windows = { version = "0.1.0", path = "../windows/" } +# luminol-tabs = { version = "0.1.0", path = "../tabs/" } -const_format = { version = "0.2.31", features = ["rust_1_51"] } +poll-promise.workspace = true -command-lib = { version = "*", path = "command-lib" } -rmxp-types = { version = "*", path = "rmxp-types" } +camino.workspace = true -steamworks = { version = "0.10.0", optional = true } -crc = { version = "3.0", optional = true } +strum.workspace = true +# Native [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -poll-promise = { version = "0.3.0", features = ["smol"] } -rodio = { version = "0.17.1" } - -luminol-term = { version = "*", path = "luminol-term" } - +steamworks = { version = "0.10.0", optional = true } +tokio = { version = "1.33", features = [ + "sync", + "macros", + "io-util", + "rt-multi-thread", + "time", +] } # *sigh* +luminol-term.workspace = true + +# Set poll promise features here based on the target +# I'd much rather do it in the workspace, but cargo doesn't support that yet +# +# Doing this also relies on a quirk of features, that any crate specifying features applies to ALL crates +[target.'cfg(not(target_arch = "wasm32"))'.dependencies.poll-promise] +workspace = true +features = ["tokio"] + +[target.'cfg(target_arch = "wasm32")'.dependencies.poll-promise] +workspace = true +features = ["web"] + +# Web +# Look into somehow pinning these as workspace dependencies [target.'cfg(target_arch = "wasm32")'.dependencies] -console_error_panic_hook = "0.1" -tracing-wasm = "0.2" -tracing-log = "0.1.3" wasm-bindgen = "0.2.87" -poll-promise = { version = "0.3.0", features = ["web"] } -tokio = { version = "1.32", features = ["sync"] } wasm-bindgen-futures = "0.4" -indexed_db_futures = "0.3.0" -rodio = { version = "0.17.1", features = ["wasm-bindgen"] } js-sys = "0.3" -web-sys = { version = "0.3", features = [ - "console", - "Window", - "Document", - "Element", - "DomException", - - "EventTarget", - "EventListener", - "AddEventListenerOptions", - - "Event", - "MouseEvent", - - "DedicatedWorkerGlobalScope", - "WorkerGlobalScope", - - "Worker", - "WorkerOptions", - "WorkerType", - - "Performance", - - "HtmlCanvasElement", - "OffscreenCanvas", - "OffscreenCanvasRenderingContext2d", - - "MutationObserver", - "MutationObserverInit", - "MutationRecord", - "Node", - - "Clipboard", - - "Storage", - - "WorkerLocation", - "Location", - "WorkerNavigator", - "Navigator", - - "Blob", - "File", - "FileSystemCreateWritableOptions", - "FileSystemDirectoryHandle", - "FileSystemFileHandle", - "FileSystemGetDirectoryOptions", - "FileSystemGetFileOptions", - "FileSystemHandle", - "FileSystemHandleKind", - "FileSystemRemoveOptions", - "FileSystemWritableFileStream", - "WritableStream", -] } -[features] -steamworks = ["dep:steamworks", "crc"] +flume.workspace = true + +luminol-web = { version = "0.4.0", path = "crates/web/" } + +tracing-wasm = "0.2" +tracing-log = "0.1.3" +tracing.workspace = true +web-sys = { version = "0.3", features = ["Window"] } -[target.'cfg(windows)'.dependencies] -windows = { version = "0.51.1", features = ["Win32_System_Registry"] } -winreg = "0.51.0" + +[features] +steamworks = ["dep:steamworks", "crc"] [target.'cfg(windows)'.build-dependencies] winres = "0.1" @@ -224,9 +236,6 @@ opt-level = 3 # See why config is set up this way. # https://bevy-cheatbook.github.io/pitfalls/performance.html#why-not-use---release -[workspace] -members = ["command-lib", "rmxp-types", "luminol-term"] - [patch.crates-io] # We need this for rodio to work in WebAssembly until # https://github.com/RustAudio/cpal/pull/774 diff --git a/command-lib/Cargo.toml b/command-lib/Cargo.toml deleted file mode 100644 index 453ad195..00000000 --- a/command-lib/Cargo.toml +++ /dev/null @@ -1,12 +0,0 @@ -[package] -name = "command-lib" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -serde = { version = "1.0", features = ["derive"] } -strum = { version = "0.25", features = ["derive"] } - -rand = "0.8.5" diff --git a/crates/app/Cargo.toml b/crates/app/Cargo.toml new file mode 100644 index 00000000..10b66244 --- /dev/null +++ b/crates/app/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "luminol-app" +version.workspace = true +authors.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +readme.workspace = true +repository.workspace = true +keywords.workspace = true +categories.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +egui.workspace = true +eframe.workspace = true diff --git a/crates/app/src/lib.rs b/crates/app/src/lib.rs new file mode 100644 index 00000000..99b4a2ab --- /dev/null +++ b/crates/app/src/lib.rs @@ -0,0 +1,42 @@ +/// Custom implementation of `eframe::Frame` for Luminol. +/// We need this because the normal `eframe::App` uses a struct with private fields in its +/// definition of `update()`, and that prevents us from implementing custom app runners. +pub struct CustomFrame<'a>( + #[cfg(not(target_arch = "wasm32"))] pub &'a mut eframe::Frame, + #[cfg(target_arch = "wasm32")] pub std::marker::PhantomData<&'a ()>, +); + +#[cfg(not(target_arch = "wasm32"))] +impl std::ops::Deref for CustomFrame<'_> { + type Target = eframe::Frame; + fn deref(&self) -> &Self::Target { + self.0 + } +} + +#[cfg(not(target_arch = "wasm32"))] +impl std::ops::DerefMut for CustomFrame<'_> { + fn deref_mut(&mut self) -> &mut Self::Target { + self.0 + } +} + +/// Custom implementation of `eframe::App` for Luminol. +/// We need this because the normal `eframe::App` uses a struct with private fields in its +/// definition of `update()`, and that prevents us from implementing custom app runners. +pub trait CustomApp +where + Self: eframe::App, +{ + fn custom_update(&mut self, ctx: &egui::Context, frame: &mut CustomFrame<'_>); +} + +#[macro_export] +macro_rules! app_use_custom_update { + () => { + fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) { + #[cfg(not(target_arch = "wasm32"))] + $crate::CustomApp::custom_update(self, ctx, &mut $crate::CustomFrame(frame)) + } + }; +} diff --git a/crates/audio/Cargo.toml b/crates/audio/Cargo.toml new file mode 100644 index 00000000..ba8da11f --- /dev/null +++ b/crates/audio/Cargo.toml @@ -0,0 +1,41 @@ +[package] +name = "luminol-audio" + +version.workspace = true +authors.workspace = true +edition.workspace = true +license.workspace = true +rust-version.workspace = true +readme.workspace = true +repository.workspace = true +keywords.workspace = true +categories.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] + +rustysynth = "1.3.1" + +strum.workspace = true +parking_lot.workspace = true +camino.workspace = true +once_cell.workspace = true + +thiserror.workspace = true + +luminol-filesystem.workspace = true + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +rodio = "0.17.1" + +[target.'cfg(target_arch = "wasm32")'.dependencies] +rodio = { version = "0.17.1", features = ["wasm-bindgen"] } +web-sys = { version = "0.3", features = ["Window"] } + +flume.workspace = true +oneshot.workspace = true + +once_cell.workspace = true +poll-promise.workspace = true +slab.workspace = true diff --git a/src/audio/GMGSx.sf2 b/crates/audio/src/GMGSx.sf2 similarity index 100% rename from src/audio/GMGSx.sf2 rename to crates/audio/src/GMGSx.sf2 diff --git a/crates/audio/src/error.rs b/crates/audio/src/error.rs new file mode 100644 index 00000000..5cb99738 --- /dev/null +++ b/crates/audio/src/error.rs @@ -0,0 +1,39 @@ +// Copyright (C) 2023 Lily Lyons +// +// This file is part of Luminol. +// +// Luminol is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Luminol is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Luminol. If not, see . +// +// Additional permission under GNU GPL version 3 section 7 +// +// If you modify this Program, or any covered work, by linking or combining +// it with Steamworks API by Valve Corporation, containing parts covered by +// terms of the Steamworks API by Valve Corporation, the licensors of this +// Program grant you additional permission to convey the resulting work. + +#[derive(Debug, thiserror::Error)] +pub enum Error { + #[error("An error occured while decoding an audio file: {0}")] + DecoderError(#[from] rodio::decoder::DecoderError), + #[error("An error occured while creating a synthesizer: {0}")] + SynthesizerError(#[from] rustysynth::SynthesizerError), + #[error("An error occured while playing a midi track: {0}")] + MidiError(#[from] rustysynth::MidiFileError), + #[error("An error occured while playing a track: {0}")] + PlayError(#[from] rodio::PlayError), + #[error("An error occured while reading a file from the filesystem: {0}")] + FileSystem(#[from] luminol_filesystem::Error), +} + +pub type Result = std::result::Result; diff --git a/src/audio/mod.rs b/crates/audio/src/lib.rs similarity index 89% rename from src/audio/mod.rs rename to crates/audio/src/lib.rs index 25826cad..0c3639ac 100644 --- a/src/audio/mod.rs +++ b/crates/audio/src/lib.rs @@ -22,33 +22,22 @@ // terms of the Steamworks API by Valve Corporation, the licensors of this // Program grant you additional permission to convey the resulting work. -use crate::prelude::*; - mod midi; +mod error; +pub use error::{Error, Result}; + #[cfg(target_arch = "wasm32")] mod wrapper; #[cfg(target_arch = "wasm32")] pub use wrapper::*; -use std::io::{Read, Seek}; use strum::Display; use strum::EnumIter; -/// Different sound sources. -#[derive(EnumIter, Display, PartialEq, Eq, Clone, Copy, Hash)] -#[allow(clippy::upper_case_acronyms)] -#[allow(missing_docs)] -pub enum Source { - BGM, - BGS, - ME, - SE, -} - /// A struct for playing Audio. pub struct Audio { - inner: Mutex, + inner: parking_lot::Mutex, } struct Inner { @@ -56,7 +45,18 @@ struct Inner { // To actually play tracks the user will have needed to interact with the ui. _output_stream: rodio::OutputStream, output_stream_handle: rodio::OutputStreamHandle, - sinks: HashMap, + sinks: std::collections::HashMap, +} + +/// Different sound sources. +#[derive(EnumIter, Display, PartialEq, Eq, Clone, Copy, Hash)] +#[allow(clippy::upper_case_acronyms)] +#[allow(missing_docs)] +pub enum Source { + BGM, + BGS, + ME, + SE, } #[cfg(not(target_arch = "wasm32"))] // Audio can't be shared between threads in wasm either @@ -75,10 +75,10 @@ impl Default for Audio { let (output_stream, output_stream_handle) = rodio::OutputStream::try_default().unwrap(); Self { - inner: Mutex::new(Inner { + inner: parking_lot::Mutex::new(Inner { _output_stream: output_stream, output_stream_handle, - sinks: HashMap::default(), + sinks: std::collections::HashMap::default(), }), } } @@ -89,15 +89,13 @@ impl Audio { pub fn play( &self, path: impl AsRef, + filesystem: &impl luminol_filesystem::FileSystem, // FIXME volume: u8, pitch: u8, source: Source, - ) -> Result<(), String> { + ) -> Result<()> { let path = path.as_ref(); - let file = state!() - .filesystem - .open_file(path, filesystem::OpenFlags::Read) - .map_err(|e| e.to_string())?; + let file = filesystem.open_file(path, luminol_filesystem::OpenFlags::Read)?; let is_midi = path .extension() @@ -106,17 +104,17 @@ impl Audio { self.play_from_file(file, is_midi, volume, pitch, source) } - fn play_from_file( + pub fn play_from_file( &self, - file: impl Read + Seek + Send + Sync + 'static, + file: impl std::io::Read + std::io::Seek + Send + Sync + 'static, is_midi: bool, volume: u8, pitch: u8, source: Source, - ) -> Result<(), String> { + ) -> Result<()> { let mut inner = self.inner.lock(); // Create a sink - let sink = rodio::Sink::try_new(&inner.output_stream_handle).map_err(|e| e.to_string())?; + let sink = rodio::Sink::try_new(&inner.output_stream_handle)?; // Select decoder type based on sound source match source { @@ -125,7 +123,7 @@ impl Audio { if is_midi { sink.append(midi::MidiSource::new(file, false)?); } else { - sink.append(rodio::Decoder::new(file).map_err(|e| e.to_string())?); + sink.append(rodio::Decoder::new(file)?); } } _ => { @@ -133,7 +131,7 @@ impl Audio { if is_midi { sink.append(midi::MidiSource::new(file, true)?); } else { - sink.append(rodio::Decoder::new_looped(file).map_err(|e| e.to_string())?); + sink.append(rodio::Decoder::new_looped(file)?); } } } diff --git a/src/audio/midi.rs b/crates/audio/src/midi.rs similarity index 93% rename from src/audio/midi.rs rename to crates/audio/src/midi.rs index 0ebd8000..94dd349b 100644 --- a/src/audio/midi.rs +++ b/crates/audio/src/midi.rs @@ -17,6 +17,8 @@ use once_cell::sync::Lazy; use std::{io::Cursor, sync::Arc}; +use crate::Result; + pub struct MidiSource { // These are each 4410 long left: Vec, @@ -26,12 +28,11 @@ pub struct MidiSource { } impl MidiSource { - pub fn new(mut file: impl std::io::Read, looping: bool) -> Result { - let midi_file = Arc::new(rustysynth::MidiFile::new(&mut file).map_err(|e| e.to_string())?); + pub fn new(mut file: impl std::io::Read, looping: bool) -> Result { + let midi_file = Arc::new(rustysynth::MidiFile::new(&mut file)?); let settings = rustysynth::SynthesizerSettings::new(44100); - let synthesizer = - rustysynth::Synthesizer::new(&SOUND_FONT, &settings).map_err(|e| e.to_string())?; + let synthesizer = rustysynth::Synthesizer::new(&SOUND_FONT, &settings)?; let mut sequencer = rustysynth::MidiFileSequencer::new(synthesizer); sequencer.play(&midi_file, looping); diff --git a/src/audio/wrapper.rs b/crates/audio/src/wrapper.rs similarity index 72% rename from src/audio/wrapper.rs rename to crates/audio/src/wrapper.rs index 079eb09c..cb5bd827 100644 --- a/src/audio/wrapper.rs +++ b/crates/audio/src/wrapper.rs @@ -22,34 +22,31 @@ // terms of the Steamworks API by Valve Corporation, the licensors of this // Program grant you additional permission to convey the resulting work. -use crate::prelude::*; - use poll_promise::Promise; -use slab::Slab; -use std::io::{Cursor, Read}; - -use super::{Audio, Source}; -static_assertions::assert_impl_all!(AudioWrapper: Send, Sync); +use super::{Audio, Result, Source}; -thread_local!(static SLAB: Lazy>>> = Lazy::new(|| Mutex::new(Slab::new()))); +thread_local! { + static SLAB: once_cell::sync::Lazy>>> = + once_cell::sync::Lazy::new(|| std::cell::RefCell::new(slab::Slab::new())); +} #[derive(Debug)] pub struct AudioWrapper { key: usize, - tx: mpsc::UnboundedSender, + tx: flume::Sender, } pub struct AudioWrapperCommand(AudioWrapperCommandInner); enum AudioWrapperCommandInner { Play { - vec: Vec, + cursor: std::io::Cursor>, is_midi: bool, volume: u8, pitch: u8, source: Source, - oneshot_tx: oneshot::Sender>, + oneshot_tx: oneshot::Sender>, }, SetPitch { pitch: u8, @@ -82,25 +79,17 @@ impl AudioWrapper { pub fn play( &self, path: impl AsRef, + filesystem: &impl luminol_filesystem::FileSystem, volume: u8, pitch: u8, source: Source, - ) -> Result<(), String> { + ) -> Result<()> { // We have to load the file on the current thread, // otherwise if we read the file in the main thread of a web browser // we will block the main thread let path = path.as_ref(); - let mut file = state!() - .filesystem - .open_file(path, filesystem::OpenFlags::Read) - .map_err(|e| e.to_string())?; - let length = state!() - .filesystem - .metadata(path) - .map_err(|e| e.to_string())? - .size as usize; - let mut vec = vec![0; length]; - file.read(&mut vec[..]).map_err(|e| e.to_string())?; + let file = filesystem.read(path)?; + let cursor = std::io::Cursor::new(file); let is_midi = path .extension() @@ -109,7 +98,7 @@ impl AudioWrapper { let (oneshot_tx, oneshot_rx) = oneshot::channel(); self.tx .send(AudioWrapperCommand(AudioWrapperCommandInner::Play { - vec, + cursor, is_midi, volume, pitch, @@ -117,7 +106,7 @@ impl AudioWrapper { oneshot_tx, })) .unwrap(); - oneshot_rx.blocking_recv().unwrap() + oneshot_rx.recv().unwrap() } pub fn set_pitch(&self, pitch: u8, source: &Source) { @@ -125,11 +114,11 @@ impl AudioWrapper { self.tx .send(AudioWrapperCommand(AudioWrapperCommandInner::SetPitch { pitch, - source: source.clone(), + source: *source, oneshot_tx, })) .unwrap(); - oneshot_rx.blocking_recv().unwrap() + oneshot_rx.recv().unwrap() } pub fn set_volume(&self, volume: u8, source: &Source) { @@ -137,11 +126,11 @@ impl AudioWrapper { self.tx .send(AudioWrapperCommand(AudioWrapperCommandInner::SetVolume { volume, - source: source.clone(), + source: *source, oneshot_tx, })) .unwrap(); - oneshot_rx.blocking_recv().unwrap() + oneshot_rx.recv().unwrap() } pub fn clear_sinks(&self) { @@ -151,34 +140,34 @@ impl AudioWrapper { oneshot_tx, })) .unwrap(); - oneshot_rx.blocking_recv().unwrap() + oneshot_rx.recv().unwrap() } pub fn stop(&self, source: &Source) { let (oneshot_tx, oneshot_rx) = oneshot::channel(); self.tx .send(AudioWrapperCommand(AudioWrapperCommandInner::Stop { - source: source.clone(), + source: *source, oneshot_tx, })) .unwrap(); - oneshot_rx.blocking_recv().unwrap() + oneshot_rx.recv().unwrap() } } impl From