Upgrade deps #6
			
				
			
		
		
		
	| 
						 | 
				
			
			@ -187,12 +187,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		|||
checksum = "55f533f8e0af236ffe5eb979b99381df3258853f00ba2e44b6e1955292c75227"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "clipboard-win",
 | 
			
		||||
 "image",
 | 
			
		||||
 "log",
 | 
			
		||||
 "objc2 0.6.1",
 | 
			
		||||
 "objc2-app-kit 0.3.1",
 | 
			
		||||
 "objc2-core-foundation",
 | 
			
		||||
 "objc2-core-graphics",
 | 
			
		||||
 "objc2-foundation 0.3.1",
 | 
			
		||||
 "parking_lot",
 | 
			
		||||
 "percent-encoding",
 | 
			
		||||
 "windows-sys 0.59.0",
 | 
			
		||||
 "x11rb",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -630,12 +634,6 @@ version = "1.0.1"
 | 
			
		|||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cfg_aliases"
 | 
			
		||||
version = "0.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cfg_aliases"
 | 
			
		||||
version = "0.2.1"
 | 
			
		||||
| 
						 | 
				
			
			@ -950,9 +948,9 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ecolor"
 | 
			
		||||
version = "0.30.0"
 | 
			
		||||
version = "0.31.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7d72e9c39f6e11a2e922d04a34ec5e7ef522ea3f5a1acfca7a19d16ad5fe50f5"
 | 
			
		||||
checksum = "bc4feb366740ded31a004a0e4452fbf84e80ef432ecf8314c485210229672fd1"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
 "emath",
 | 
			
		||||
| 
						 | 
				
			
			@ -961,12 +959,13 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "egui"
 | 
			
		||||
version = "0.30.0"
 | 
			
		||||
version = "0.31.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "252d52224d35be1535d7fd1d6139ce071fb42c9097773e79f7665604f5596b5e"
 | 
			
		||||
checksum = "25dd34cec49ab55d85ebf70139cb1ccd29c977ef6b6ba4fe85489d6877ee9ef3"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "accesskit",
 | 
			
		||||
 "ahash",
 | 
			
		||||
 "bitflags 2.9.1",
 | 
			
		||||
 "emath",
 | 
			
		||||
 "epaint",
 | 
			
		||||
 "log",
 | 
			
		||||
| 
						 | 
				
			
			@ -977,17 +976,18 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "egui-toast"
 | 
			
		||||
version = "0.15.0"
 | 
			
		||||
source = "git+https://github.com/urholaukkarinen/egui-toast.git?rev=d0bcf97#d0bcf97cffbf9e580f609ccae27e8cd635047c53"
 | 
			
		||||
version = "0.17.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "366a31eb8c905835c85a36baff26d7a003a9fd6631a04b1f15f42d9cb20d11ad"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "egui",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "egui-wgpu"
 | 
			
		||||
version = "0.30.0"
 | 
			
		||||
version = "0.31.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "26c1e821d2d8921ef6ce98b258c7e24d9d6aab2ca1f9cdf374eca997e7f67f59"
 | 
			
		||||
checksum = "d319dfef570f699b6e9114e235e862a2ddcf75f0d1a061de9e1328d92146d820"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ahash",
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
| 
						 | 
				
			
			@ -1005,12 +1005,13 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "egui-winit"
 | 
			
		||||
version = "0.30.0"
 | 
			
		||||
version = "0.31.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "1e84c2919cd9f3a38a91e8f84ac6a245c19251fd95226ed9fae61d5ea564fce3"
 | 
			
		||||
checksum = "7d9dfbb78fe4eb9c3a39ad528b90ee5915c252e77bbab9d4ebc576541ab67e13"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ahash",
 | 
			
		||||
 "arboard",
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
 "egui",
 | 
			
		||||
 "log",
 | 
			
		||||
 "profiling",
 | 
			
		||||
| 
						 | 
				
			
			@ -1023,9 +1024,9 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "egui_extras"
 | 
			
		||||
version = "0.30.0"
 | 
			
		||||
version = "0.31.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3d7a8198c088b1007108cb2d403bc99a5e370999b200db4f14559610d7330126"
 | 
			
		||||
checksum = "624659a2e972a46f4d5f646557906c55f1cd5a0836eddbe610fdf1afba1b4226"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ahash",
 | 
			
		||||
 "egui",
 | 
			
		||||
| 
						 | 
				
			
			@ -1044,9 +1045,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "emath"
 | 
			
		||||
version = "0.30.0"
 | 
			
		||||
version = "0.31.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c4fe73c1207b864ee40aa0b0c038d6092af1030744678c60188a05c28553515d"
 | 
			
		||||
checksum = "9e4cadcff7a5353ba72b7fea76bf2122b5ebdbc68e8155aa56dfdea90083fe1b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
 "serde",
 | 
			
		||||
| 
						 | 
				
			
			@ -1113,9 +1114,9 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "epaint"
 | 
			
		||||
version = "0.30.0"
 | 
			
		||||
version = "0.31.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5666f8d25236293c966fbb3635eac18b04ad1914e3bab55bc7d44b9980cafcac"
 | 
			
		||||
checksum = "41fcc0f5a7c613afd2dee5e4b30c3e6acafb8ad6f0edb06068811f708a67c562"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "ab_glyph",
 | 
			
		||||
 "ahash",
 | 
			
		||||
| 
						 | 
				
			
			@ -1132,9 +1133,9 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "epaint_default_fonts"
 | 
			
		||||
version = "0.30.0"
 | 
			
		||||
version = "0.31.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "66f6ddac3e6ac6fd4c3d48bb8b1943472f8da0f43a4303bcd8a18aa594401c80"
 | 
			
		||||
checksum = "fc7e7a64c02cf7a5b51e745a9e45f60660a286f151c238b9d397b3e923f5082f"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "equivalent"
 | 
			
		||||
| 
						 | 
				
			
			@ -1426,9 +1427,9 @@ checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "glow"
 | 
			
		||||
version = "0.14.2"
 | 
			
		||||
version = "0.16.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483"
 | 
			
		||||
checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "js-sys",
 | 
			
		||||
 "slotmap",
 | 
			
		||||
| 
						 | 
				
			
			@ -1656,6 +1657,7 @@ dependencies = [
 | 
			
		|||
 "byteorder-lite",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "png",
 | 
			
		||||
 "tiff",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
| 
						 | 
				
			
			@ -1771,6 +1773,12 @@ dependencies = [
 | 
			
		|||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "jpeg-decoder"
 | 
			
		||||
version = "0.3.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "00810f1d8b74be64b13dbf3db89ac67740615d6c891f0e7b6179326533011a07"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "js-sys"
 | 
			
		||||
version = "0.3.77"
 | 
			
		||||
| 
						 | 
				
			
			@ -1976,9 +1984,9 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "metal"
 | 
			
		||||
version = "0.29.0"
 | 
			
		||||
version = "0.31.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21"
 | 
			
		||||
checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.1",
 | 
			
		||||
 "block",
 | 
			
		||||
| 
						 | 
				
			
			@ -2036,22 +2044,23 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "naga"
 | 
			
		||||
version = "23.1.0"
 | 
			
		||||
version = "24.0.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "364f94bc34f61332abebe8cad6f6cd82a5b65cff22c828d05d0968911462ca4f"
 | 
			
		||||
checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "arrayvec",
 | 
			
		||||
 "bit-set",
 | 
			
		||||
 "bitflags 2.9.1",
 | 
			
		||||
 "cfg_aliases 0.1.1",
 | 
			
		||||
 "cfg_aliases",
 | 
			
		||||
 "codespan-reporting",
 | 
			
		||||
 "hexf-parse",
 | 
			
		||||
 "indexmap",
 | 
			
		||||
 "log",
 | 
			
		||||
 "rustc-hash 1.1.0",
 | 
			
		||||
 "spirv",
 | 
			
		||||
 "strum",
 | 
			
		||||
 "termcolor",
 | 
			
		||||
 "thiserror 1.0.69",
 | 
			
		||||
 "thiserror 2.0.12",
 | 
			
		||||
 "unicode-xid",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2116,7 +2125,7 @@ checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
 | 
			
		|||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.1",
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "cfg_aliases 0.2.1",
 | 
			
		||||
 "cfg_aliases",
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2128,7 +2137,7 @@ checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
 | 
			
		|||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.1",
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "cfg_aliases 0.2.1",
 | 
			
		||||
 "cfg_aliases",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "memoffset",
 | 
			
		||||
]
 | 
			
		||||
| 
						 | 
				
			
			@ -2564,6 +2573,15 @@ dependencies = [
 | 
			
		|||
 "libredox",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ordered-float"
 | 
			
		||||
version = "4.6.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "num-traits",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ordered-stream"
 | 
			
		||||
version = "0.2.0"
 | 
			
		||||
| 
						 | 
				
			
			@ -3330,6 +3348,28 @@ version = "0.11.1"
 | 
			
		|||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "strum"
 | 
			
		||||
version = "0.26.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "strum_macros",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "strum_macros"
 | 
			
		||||
version = "0.26.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "heck",
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "rustversion",
 | 
			
		||||
 "syn",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "syn"
 | 
			
		||||
version = "2.0.104"
 | 
			
		||||
| 
						 | 
				
			
			@ -3437,6 +3477,17 @@ dependencies = [
 | 
			
		|||
 "cfg-if",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tiff"
 | 
			
		||||
version = "0.9.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "flate2",
 | 
			
		||||
 "jpeg-decoder",
 | 
			
		||||
 "weezl",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tiny-skia"
 | 
			
		||||
version = "0.11.4"
 | 
			
		||||
| 
						 | 
				
			
			@ -3975,13 +4026,20 @@ dependencies = [
 | 
			
		|||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "wgpu"
 | 
			
		||||
version = "23.0.1"
 | 
			
		||||
name = "weezl"
 | 
			
		||||
version = "0.1.10"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a"
 | 
			
		||||
checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "wgpu"
 | 
			
		||||
version = "24.0.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6b0b3436f0729f6cdf2e6e9201f3d39dc95813fad61d826c1ed07918b4539353"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "arrayvec",
 | 
			
		||||
 "cfg_aliases 0.1.1",
 | 
			
		||||
 "bitflags 2.9.1",
 | 
			
		||||
 "cfg_aliases",
 | 
			
		||||
 "document-features",
 | 
			
		||||
 "js-sys",
 | 
			
		||||
 "log",
 | 
			
		||||
| 
						 | 
				
			
			@ -4001,14 +4059,14 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "wgpu-core"
 | 
			
		||||
version = "23.0.1"
 | 
			
		||||
version = "24.0.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a"
 | 
			
		||||
checksum = "7f0aa306497a238d169b9dc70659105b4a096859a34894544ca81719242e1499"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "arrayvec",
 | 
			
		||||
 "bit-vec",
 | 
			
		||||
 "bitflags 2.9.1",
 | 
			
		||||
 "cfg_aliases 0.1.1",
 | 
			
		||||
 "cfg_aliases",
 | 
			
		||||
 "document-features",
 | 
			
		||||
 "indexmap",
 | 
			
		||||
 "log",
 | 
			
		||||
| 
						 | 
				
			
			@ -4019,16 +4077,16 @@ dependencies = [
 | 
			
		|||
 "raw-window-handle",
 | 
			
		||||
 "rustc-hash 1.1.0",
 | 
			
		||||
 "smallvec",
 | 
			
		||||
 "thiserror 1.0.69",
 | 
			
		||||
 "thiserror 2.0.12",
 | 
			
		||||
 "wgpu-hal",
 | 
			
		||||
 "wgpu-types",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "wgpu-hal"
 | 
			
		||||
version = "23.0.1"
 | 
			
		||||
version = "24.0.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821"
 | 
			
		||||
checksum = "f112f464674ca69f3533248508ee30cb84c67cf06c25ff6800685f5e0294e259"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "android_system_properties",
 | 
			
		||||
 "arrayvec",
 | 
			
		||||
| 
						 | 
				
			
			@ -4037,7 +4095,7 @@ dependencies = [
 | 
			
		|||
 "bitflags 2.9.1",
 | 
			
		||||
 "block",
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
 "cfg_aliases 0.1.1",
 | 
			
		||||
 "cfg_aliases",
 | 
			
		||||
 "core-graphics-types",
 | 
			
		||||
 "glow",
 | 
			
		||||
 "glutin_wgl_sys",
 | 
			
		||||
| 
						 | 
				
			
			@ -4054,6 +4112,7 @@ dependencies = [
 | 
			
		|||
 "ndk-sys 0.5.0+25.2.9519653",
 | 
			
		||||
 "objc",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
 "ordered-float",
 | 
			
		||||
 "parking_lot",
 | 
			
		||||
 "profiling",
 | 
			
		||||
 "range-alloc",
 | 
			
		||||
| 
						 | 
				
			
			@ -4061,7 +4120,7 @@ dependencies = [
 | 
			
		|||
 "renderdoc-sys",
 | 
			
		||||
 "rustc-hash 1.1.0",
 | 
			
		||||
 "smallvec",
 | 
			
		||||
 "thiserror 1.0.69",
 | 
			
		||||
 "thiserror 2.0.12",
 | 
			
		||||
 "wasm-bindgen",
 | 
			
		||||
 "web-sys",
 | 
			
		||||
 "wgpu-types",
 | 
			
		||||
| 
						 | 
				
			
			@ -4071,12 +4130,13 @@ dependencies = [
 | 
			
		|||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "wgpu-types"
 | 
			
		||||
version = "23.0.0"
 | 
			
		||||
version = "24.0.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068"
 | 
			
		||||
checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.1",
 | 
			
		||||
 "js-sys",
 | 
			
		||||
 "log",
 | 
			
		||||
 "web-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4674,7 +4734,7 @@ dependencies = [
 | 
			
		|||
 "block2 0.5.1",
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
 "calloop",
 | 
			
		||||
 "cfg_aliases 0.2.1",
 | 
			
		||||
 "cfg_aliases",
 | 
			
		||||
 "concurrent-queue",
 | 
			
		||||
 "core-foundation 0.9.4",
 | 
			
		||||
 "core-graphics",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								Cargo.toml
								
								
								
								
							
							
						
						
									
										12
									
								
								Cargo.toml
								
								
								
								
							| 
						 | 
				
			
			@ -16,11 +16,11 @@ bytemuck = { version = "1", features = ["derive"] }
 | 
			
		|||
clap = { version = "4", features = ["derive"] }
 | 
			
		||||
cpal = { git = "https://github.com/sidit77/cpal.git", rev = "66ed6be" }
 | 
			
		||||
directories = "6"
 | 
			
		||||
egui = { version = "0.30", features = ["serde"] }
 | 
			
		||||
egui_extras = { version = "0.30", features = ["image"] }
 | 
			
		||||
egui-toast = { git = "https://github.com/urholaukkarinen/egui-toast.git", rev = "d0bcf97" }
 | 
			
		||||
egui-winit = "0.30"
 | 
			
		||||
egui-wgpu = { version = "0.30", features = ["winit"] }
 | 
			
		||||
egui = { version = "0.31", features = ["serde"] }
 | 
			
		||||
egui_extras = { version = "0.31", features = ["image"] }
 | 
			
		||||
egui-toast = "0.17"
 | 
			
		||||
egui-winit = "0.31"
 | 
			
		||||
egui-wgpu = { version = "0.31", features = ["winit"] }
 | 
			
		||||
fixed = { version = "1.28", features = ["num-traits"] }
 | 
			
		||||
gilrs = { version = "0.11", features = ["serde-serialize"] }
 | 
			
		||||
hex = "0.4"
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ thread-priority = "1"
 | 
			
		|||
tokio = { version = "1", features = ["io-util", "macros", "net", "rt", "sync", "time"] }
 | 
			
		||||
tracing = { version = "0.1", features = ["release_max_level_info"] }
 | 
			
		||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
 | 
			
		||||
wgpu = "23"
 | 
			
		||||
wgpu = "24"
 | 
			
		||||
winit = { version = "0.30", features = ["serde"] }
 | 
			
		||||
 | 
			
		||||
[target.'cfg(windows)'.dependencies]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										44
									
								
								src/app.rs
								
								
								
								
							
							
						
						
									
										44
									
								
								src/app.rs
								
								
								
								
							| 
						 | 
				
			
			@ -298,10 +298,10 @@ impl ApplicationHandler<UserEvent> for Application {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
struct WgpuState {
 | 
			
		||||
    instance: Arc<wgpu::Instance>,
 | 
			
		||||
    adapter: Arc<wgpu::Adapter>,
 | 
			
		||||
    device: Arc<wgpu::Device>,
 | 
			
		||||
    queue: Arc<wgpu::Queue>,
 | 
			
		||||
    instance: wgpu::Instance,
 | 
			
		||||
    adapter: wgpu::Adapter,
 | 
			
		||||
    device: wgpu::Device,
 | 
			
		||||
    queue: wgpu::Queue,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl WgpuState {
 | 
			
		||||
| 
						 | 
				
			
			@ -309,21 +309,21 @@ impl WgpuState {
 | 
			
		|||
        #[allow(unused_variables)]
 | 
			
		||||
        let egui_wgpu::WgpuConfiguration {
 | 
			
		||||
            wgpu_setup:
 | 
			
		||||
                egui_wgpu::WgpuSetup::CreateNew {
 | 
			
		||||
                    supported_backends,
 | 
			
		||||
                egui_wgpu::WgpuSetup::CreateNew(egui_wgpu::WgpuSetupCreateNew {
 | 
			
		||||
                    instance_descriptor: wgpu::InstanceDescriptor { backends, .. },
 | 
			
		||||
                    device_descriptor,
 | 
			
		||||
                    ..
 | 
			
		||||
                },
 | 
			
		||||
                }),
 | 
			
		||||
            ..
 | 
			
		||||
        } = egui_wgpu::WgpuConfiguration::default()
 | 
			
		||||
        else {
 | 
			
		||||
            panic!("required fields not found")
 | 
			
		||||
        };
 | 
			
		||||
        #[cfg(windows)]
 | 
			
		||||
        let supported_backends = wgpu::util::backend_bits_from_env()
 | 
			
		||||
        let backends = wgpu::Backends::from_env()
 | 
			
		||||
            .unwrap_or((wgpu::Backends::PRIMARY | wgpu::Backends::GL) - wgpu::Backends::VULKAN);
 | 
			
		||||
        let instance = wgpu::Instance::new(wgpu::InstanceDescriptor {
 | 
			
		||||
            backends: supported_backends,
 | 
			
		||||
        let instance = wgpu::Instance::new(&wgpu::InstanceDescriptor {
 | 
			
		||||
            backends,
 | 
			
		||||
            ..wgpu::InstanceDescriptor::default()
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -341,10 +341,10 @@ impl WgpuState {
 | 
			
		|||
        ))
 | 
			
		||||
        .expect("could not request device");
 | 
			
		||||
        Self {
 | 
			
		||||
            instance: Arc::new(instance),
 | 
			
		||||
            adapter: Arc::new(adapter),
 | 
			
		||||
            device: Arc::new(device),
 | 
			
		||||
            queue: Arc::new(queue),
 | 
			
		||||
            instance,
 | 
			
		||||
            adapter,
 | 
			
		||||
            device,
 | 
			
		||||
            queue,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -382,24 +382,30 @@ impl Viewport {
 | 
			
		|||
        ctx.set_fonts(fonts);
 | 
			
		||||
        ctx.style_mut(|s| {
 | 
			
		||||
            s.wrap_mode = Some(TextWrapMode::Extend);
 | 
			
		||||
            s.visuals.menu_rounding = Default::default();
 | 
			
		||||
            s.visuals.menu_corner_radius = Default::default();
 | 
			
		||||
            s.spacing.scroll = ScrollStyle::thin();
 | 
			
		||||
        });
 | 
			
		||||
        egui_extras::install_image_loaders(&ctx);
 | 
			
		||||
 | 
			
		||||
        let wgpu_config = egui_wgpu::WgpuConfiguration {
 | 
			
		||||
            present_mode: wgpu::PresentMode::AutoNoVsync,
 | 
			
		||||
            wgpu_setup: egui_wgpu::WgpuSetup::Existing {
 | 
			
		||||
            wgpu_setup: egui_wgpu::WgpuSetup::Existing(egui_wgpu::WgpuSetupExisting {
 | 
			
		||||
                instance: wgpu.instance.clone(),
 | 
			
		||||
                adapter: wgpu.adapter.clone(),
 | 
			
		||||
                device: wgpu.device.clone(),
 | 
			
		||||
                queue: wgpu.queue.clone(),
 | 
			
		||||
            },
 | 
			
		||||
            }),
 | 
			
		||||
            ..egui_wgpu::WgpuConfiguration::default()
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        let mut painter =
 | 
			
		||||
            egui_wgpu::winit::Painter::new(ctx.clone(), wgpu_config, 1, None, false, true);
 | 
			
		||||
        let mut painter = pollster::block_on(egui_wgpu::winit::Painter::new(
 | 
			
		||||
            ctx.clone(),
 | 
			
		||||
            wgpu_config,
 | 
			
		||||
            1,
 | 
			
		||||
            None,
 | 
			
		||||
            false,
 | 
			
		||||
            true,
 | 
			
		||||
        ));
 | 
			
		||||
 | 
			
		||||
        let mut info = ViewportInfo::default();
 | 
			
		||||
        let mut builder = app.initial_viewport();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,7 @@ use std::{
 | 
			
		|||
use anyhow::{Result, bail};
 | 
			
		||||
use itertools::Itertools as _;
 | 
			
		||||
use wgpu::{
 | 
			
		||||
    Device, Extent3d, ImageCopyTexture, ImageDataLayout, Origin3d, Queue, Texture,
 | 
			
		||||
    Device, Extent3d, Origin3d, Queue, TexelCopyBufferLayout, TexelCopyTextureInfo, Texture,
 | 
			
		||||
    TextureDescriptor, TextureFormat, TextureUsages, TextureView, TextureViewDescriptor,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -21,7 +21,7 @@ pub struct TextureSink {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
impl TextureSink {
 | 
			
		||||
    pub fn new(device: &Device, queue: Arc<Queue>) -> (Self, TextureView) {
 | 
			
		||||
    pub fn new(device: &Device, queue: Queue) -> (Self, TextureView) {
 | 
			
		||||
        let texture = Self::create_texture(device);
 | 
			
		||||
        let view = texture.create_view(&TextureViewDescriptor::default());
 | 
			
		||||
        let buffers = Arc::new(BufferPool::new());
 | 
			
		||||
| 
						 | 
				
			
			@ -72,7 +72,7 @@ impl TextureSink {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    fn write_texture(queue: &Queue, texture: &Texture, bytes: &[u8]) {
 | 
			
		||||
        let texture = ImageCopyTexture {
 | 
			
		||||
        let texture = TexelCopyTextureInfo {
 | 
			
		||||
            texture,
 | 
			
		||||
            mip_level: 0,
 | 
			
		||||
            origin: Origin3d::ZERO,
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +83,7 @@ impl TextureSink {
 | 
			
		|||
            height: 224,
 | 
			
		||||
            depth_or_array_layers: 1,
 | 
			
		||||
        };
 | 
			
		||||
        let data_layout = ImageDataLayout {
 | 
			
		||||
        let data_layout = TexelCopyBufferLayout {
 | 
			
		||||
            offset: 0,
 | 
			
		||||
            bytes_per_row: Some(384 * 2),
 | 
			
		||||
            rows_per_image: Some(224),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,8 +6,8 @@ use std::{
 | 
			
		|||
 | 
			
		||||
use atoi::FromRadix16;
 | 
			
		||||
use egui::{
 | 
			
		||||
    Align, Color32, CursorIcon, Event, Frame, Key, Layout, Margin, Rect, Response, RichText,
 | 
			
		||||
    Rounding, Sense, Shape, Stroke, TextEdit, Ui, UiBuilder, Vec2, Widget, WidgetText,
 | 
			
		||||
    Align, Color32, CornerRadius, CursorIcon, Event, Frame, Key, Layout, Margin, Rect, Response,
 | 
			
		||||
    RichText, Sense, Shape, Stroke, StrokeKind, TextEdit, Ui, UiBuilder, Vec2, Widget, WidgetText,
 | 
			
		||||
    ecolor::HexColor,
 | 
			
		||||
};
 | 
			
		||||
use num_traits::{CheckedAdd, CheckedSub, One};
 | 
			
		||||
| 
						 | 
				
			
			@ -37,8 +37,8 @@ impl UiExt for Ui {
 | 
			
		|||
    fn section(&mut self, title: impl Into<String>, add_contents: impl FnOnce(&mut Ui)) {
 | 
			
		||||
        let title: String = title.into();
 | 
			
		||||
        let mut frame = Frame::group(self.style());
 | 
			
		||||
        frame.outer_margin.top += 10.0;
 | 
			
		||||
        frame.inner_margin.top += 2.0;
 | 
			
		||||
        frame.outer_margin.top += 10;
 | 
			
		||||
        frame.inner_margin.top += 2;
 | 
			
		||||
        let res = self.push_id(&title, |ui| {
 | 
			
		||||
            frame.show(ui, |ui| {
 | 
			
		||||
                ui.set_max_width(ui.available_width());
 | 
			
		||||
| 
						 | 
				
			
			@ -73,7 +73,8 @@ impl UiExt for Ui {
 | 
			
		|||
        self.painter().rect_filled(right_rect, 0.0, right);
 | 
			
		||||
 | 
			
		||||
        let style = self.style().interact(&response);
 | 
			
		||||
        self.painter().rect_stroke(rect, 0.0, style.fg_stroke);
 | 
			
		||||
        self.painter()
 | 
			
		||||
            .rect_stroke(rect, 0.0, style.fg_stroke, StrokeKind::Inside);
 | 
			
		||||
        response
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -265,10 +266,10 @@ impl<T: Number> Widget for NumberEdit<'_, T> {
 | 
			
		|||
            .id(id)
 | 
			
		||||
            .desired_width(desired_width)
 | 
			
		||||
            .margin(Margin {
 | 
			
		||||
                left: 4.0,
 | 
			
		||||
                right: if self.arrows { 20.0 } else { 4.0 },
 | 
			
		||||
                top: 2.0,
 | 
			
		||||
                bottom: 2.0,
 | 
			
		||||
                left: 4,
 | 
			
		||||
                right: if self.arrows { 20 } else { 4 },
 | 
			
		||||
                top: 2,
 | 
			
		||||
                bottom: 2,
 | 
			
		||||
            });
 | 
			
		||||
        let mut res = if valid {
 | 
			
		||||
            ui.add(text)
 | 
			
		||||
| 
						 | 
				
			
			@ -337,7 +338,7 @@ impl<T: Number> Widget for NumberEdit<'_, T> {
 | 
			
		|||
            }
 | 
			
		||||
            str = to_string(self.value);
 | 
			
		||||
            stale = true;
 | 
			
		||||
        } else if res.changed {
 | 
			
		||||
        } else if res.changed() {
 | 
			
		||||
            if let Some(new_value) = from_string(&str).filter(in_range) {
 | 
			
		||||
                if *self.value != new_value {
 | 
			
		||||
                    res.mark_changed();
 | 
			
		||||
| 
						 | 
				
			
			@ -355,27 +356,20 @@ impl<T: Number> Widget for NumberEdit<'_, T> {
 | 
			
		|||
 | 
			
		||||
fn draw_arrow(ui: &mut Ui, rect: Rect, up: bool) -> Response {
 | 
			
		||||
    let arrow_res = ui
 | 
			
		||||
        .allocate_rect(
 | 
			
		||||
            rect,
 | 
			
		||||
            Sense {
 | 
			
		||||
                click: true,
 | 
			
		||||
                drag: true,
 | 
			
		||||
                focusable: false,
 | 
			
		||||
            },
 | 
			
		||||
        )
 | 
			
		||||
        .allocate_rect(rect, Sense::all())
 | 
			
		||||
        .on_hover_cursor(CursorIcon::Default);
 | 
			
		||||
    let visuals = ui.style().visuals.widgets.style(&arrow_res);
 | 
			
		||||
    let painter = ui.painter_at(arrow_res.rect);
 | 
			
		||||
 | 
			
		||||
    let rounding = if up {
 | 
			
		||||
        Rounding {
 | 
			
		||||
            ne: 2.0,
 | 
			
		||||
            ..Rounding::ZERO
 | 
			
		||||
        CornerRadius {
 | 
			
		||||
            ne: 2,
 | 
			
		||||
            ..CornerRadius::ZERO
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
        Rounding {
 | 
			
		||||
            se: 2.0,
 | 
			
		||||
            ..Rounding::ZERO
 | 
			
		||||
        CornerRadius {
 | 
			
		||||
            se: 2,
 | 
			
		||||
            ..CornerRadius::ZERO
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    painter.rect_filled(arrow_res.rect, rounding, visuals.bg_fill);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue