diff --git a/Cargo.lock b/Cargo.lock index b2c6769..376c8ee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,17 +43,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - [[package]] name = "ahash" version = "0.8.7" @@ -77,6 +66,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + [[package]] name = "android-activity" version = "0.5.1" @@ -84,7 +79,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39b801912a977c3fd52d80511fe1c0c8480c6f957f21ae2ce1b92ffe970cf4b9" dependencies = [ "android-properties", - "bitflags 2.4.0", + "bitflags 2.5.0", "cc", "cesu8", "jni", @@ -117,7 +112,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c494134f746c14dc653a35a4ea5aca24ac368529da5370ecf41fe0341c35772f" dependencies = [ "android_log-sys", - "env_logger", + "env_logger 0.10.0", "log", "once_cell", ] @@ -131,6 +126,55 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + [[package]] name = "anyhow" version = "1.0.74" @@ -139,16 +183,15 @@ checksum = "8c6f84b74db2535ebae81eede2f39b947dcbf01d093ae5f791e5dd414a1bf289" [[package]] name = "app-surface" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7366caffe045b52edd017854b5f67325f01a27229e4089dbe8913d79b445b3" +checksum = "fa661bee8304e1e46607075c748ec779838602bcc6fc2ac404f0cf61f81396c5" dependencies = [ "android_logger", "ash", - "async-executor", "cfg-if", "core-graphics", - "env_logger", + "env_logger 0.11.3", "glam", "jni", "libc", @@ -156,7 +199,7 @@ dependencies = [ "ndk-sys 0.4.1+23.1.7779620", "objc", "pollster", - "raw-window-handle 0.6.0", + "raw-window-handle", "wasm-bindgen", "web-sys", "wgpu", @@ -199,37 +242,6 @@ dependencies = [ "libloading 0.7.4", ] -[[package]] -name = "async-executor" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" -dependencies = [ - "async-lock", - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "slab", -] - -[[package]] -name = "async-lock" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" -dependencies = [ - "event-listener", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-task" -version = "4.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" - [[package]] name = "atomic-waker" version = "1.1.2" @@ -257,16 +269,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base64" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" -dependencies = [ - "byteorder", - "safemem", -] - [[package]] name = "base64" version = "0.21.2" @@ -302,9 +304,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "block" @@ -328,7 +330,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15b55663a85f33501257357e6421bb33e769d5c9ffb5ba0921c975a123e35e68" dependencies = [ "block-sys", - "objc2", + "objc2 0.4.1", +] + +[[package]] +name = "block2" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43ff7d91d3c1d568065b06c899777d1e48dcf76103a672a0adbc238a7f247f1e" +dependencies = [ + "objc2 0.5.1", ] [[package]] @@ -339,9 +350,9 @@ checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" dependencies = [ "bytemuck_derive", ] @@ -375,7 +386,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "log", "polling", "rustix", @@ -462,6 +473,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + [[package]] name = "com" version = "0.6.0" @@ -540,9 +557,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -550,9 +567,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core-graphics" @@ -569,9 +586,9 @@ dependencies = [ [[package]] name = "core-graphics-types" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -634,11 +651,11 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307" +checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "libloading 0.8.0", "winapi", ] @@ -677,6 +694,15 @@ dependencies = [ "libloading 0.8.0", ] +[[package]] +name = "document-features" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95" +dependencies = [ + "litrs", +] + [[package]] name = "downcast-rs" version = "1.2.0" @@ -685,8 +711,8 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "ecolor" -version = "0.25.0" -source = "git+https://github.com/emilk/egui?rev=5d0bc2b#5d0bc2bf7d1066a625b57b5576ea3ed7d3930e15" +version = "0.27.2" +source = "git+https://github.com/emilk/egui?rev=ded8dbd#ded8dbd45bc8616475c364878f6b8e2f7293d12c" dependencies = [ "bytemuck", "serde", @@ -694,11 +720,12 @@ dependencies = [ [[package]] name = "egui" -version = "0.25.0" -source = "git+https://github.com/emilk/egui?rev=5d0bc2b#5d0bc2bf7d1066a625b57b5576ea3ed7d3930e15" +version = "0.27.2" +source = "git+https://github.com/emilk/egui?rev=ded8dbd#ded8dbd45bc8616475c364878f6b8e2f7293d12c" dependencies = [ "accesskit", - "ahash 0.8.7", + "ahash", + "emath", "epaint", "log", "nohash-hasher", @@ -707,34 +734,36 @@ dependencies = [ [[package]] name = "egui-wgpu" -version = "0.25.0" -source = "git+https://github.com/emilk/egui?rev=5d0bc2b#5d0bc2bf7d1066a625b57b5576ea3ed7d3930e15" +version = "0.27.2" +source = "git+https://github.com/emilk/egui?rev=ded8dbd#ded8dbd45bc8616475c364878f6b8e2f7293d12c" dependencies = [ "bytemuck", + "document-features", "egui", "epaint", "log", "thiserror", "type-map", + "web-time", "wgpu", ] [[package]] name = "egui-winit" -version = "0.25.0" -source = "git+https://github.com/emilk/egui?rev=5d0bc2b#5d0bc2bf7d1066a625b57b5576ea3ed7d3930e15" +version = "0.27.2" +source = "git+https://github.com/emilk/egui?rev=ded8dbd#ded8dbd45bc8616475c364878f6b8e2f7293d12c" dependencies = [ "egui", "log", - "raw-window-handle 0.6.0", + "raw-window-handle", "web-time", "winit", ] [[package]] name = "egui_extras" -version = "0.25.0" -source = "git+https://github.com/emilk/egui?rev=5d0bc2b#5d0bc2bf7d1066a625b57b5576ea3ed7d3930e15" +version = "0.27.2" +source = "git+https://github.com/emilk/egui?rev=ded8dbd#ded8dbd45bc8616475c364878f6b8e2f7293d12c" dependencies = [ "egui", "enum-map", @@ -751,8 +780,8 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "emath" -version = "0.25.0" -source = "git+https://github.com/emilk/egui?rev=5d0bc2b#5d0bc2bf7d1066a625b57b5576ea3ed7d3930e15" +version = "0.27.2" +source = "git+https://github.com/emilk/egui?rev=ded8dbd#ded8dbd45bc8616475c364878f6b8e2f7293d12c" dependencies = [ "bytemuck", "serde", @@ -799,6 +828,16 @@ dependencies = [ "syn 2.0.48", ] +[[package]] +name = "env_filter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +dependencies = [ + "log", + "regex", +] + [[package]] name = "env_logger" version = "0.10.0" @@ -812,13 +851,26 @@ dependencies = [ "termcolor", ] +[[package]] +name = "env_logger" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", +] + [[package]] name = "epaint" -version = "0.25.0" -source = "git+https://github.com/emilk/egui?rev=5d0bc2b#5d0bc2bf7d1066a625b57b5576ea3ed7d3930e15" +version = "0.27.2" +source = "git+https://github.com/emilk/egui?rev=ded8dbd#ded8dbd45bc8616475c364878f6b8e2f7293d12c" dependencies = [ "ab_glyph", - "ahash 0.8.7", + "ahash", "bytemuck", "ecolor", "emath", @@ -844,27 +896,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener", - "pin-project-lite", -] - [[package]] name = "exr" version = "1.7.0" @@ -1003,25 +1034,6 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-lite" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - [[package]] name = "futures-sink" version = "0.3.28" @@ -1109,9 +1121,9 @@ dependencies = [ [[package]] name = "glam" -version = "0.25.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" +checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" [[package]] name = "glow" @@ -1140,7 +1152,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "gpu-alloc-types", ] @@ -1150,7 +1162,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", ] [[package]] @@ -1168,22 +1180,22 @@ dependencies = [ [[package]] name = "gpu-descriptor" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a" +checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "gpu-descriptor-types", - "hashbrown 0.12.3", + "hashbrown 0.14.0", ] [[package]] name = "gpu-descriptor-types" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126" +checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] @@ -1219,15 +1231,16 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.6", -] [[package]] name = "hashbrown" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +dependencies = [ + "ahash", + "allocator-api2", +] [[package]] name = "hassle-rs" @@ -1235,7 +1248,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "com", "libc", "libloading 0.8.0", @@ -1357,9 +1370,9 @@ version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d3aaff8a54577104bafdf686ff18565c3b6903ca5782a2026ef06e2c7aa319" dependencies = [ - "block2", + "block2 0.3.0", "dispatch", - "objc2", + "objc2 0.4.1", ] [[package]] @@ -1446,6 +1459,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itoa" version = "1.0.9" @@ -1494,9 +1513,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -1573,12 +1592,29 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "libredox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +dependencies = [ + "bitflags 2.5.0", + "libc", + "redox_syscall 0.4.1", +] + [[package]] name = "linux-raw-sys" version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "lock_api" version = "0.4.10" @@ -1591,9 +1627,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "malloc_buf" @@ -1650,11 +1686,11 @@ dependencies = [ [[package]] name = "metal" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "block", "core-graphics-types", "foreign-types 0.5.0", @@ -1708,12 +1744,13 @@ dependencies = [ [[package]] name = "naga" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8878eb410fc90853da3908aebfe61d73d26d4437ef850b70050461f939509899" +checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" dependencies = [ + "arrayvec", "bit-set", - "bitflags 2.4.0", + "bitflags 2.5.0", "codespan-reporting", "hexf-parse", "indexmap 2.0.0", @@ -1759,12 +1796,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "jni-sys", "log", "ndk-sys 0.5.0+25.2.9519653", "num_enum", - "raw-window-handle 0.6.0", + "raw-window-handle", "thiserror", ] @@ -1924,14 +1961,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] [[package]] name = "objc-sys" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459" +checksum = "da284c198fb9b7b0603f8635185e85fbd5b64ee154b1ed406d489077de2d6d60" [[package]] name = "objc2" @@ -1940,7 +1976,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" dependencies = [ "objc-sys", - "objc2-encode", + "objc2-encode 3.0.0", +] + +[[package]] +name = "objc2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4b25e1034d0e636cd84707ccdaa9f81243d399196b8a773946dcffec0401659" +dependencies = [ + "objc-sys", + "objc2-encode 4.0.1", ] [[package]] @@ -1950,12 +1996,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" [[package]] -name = "objc_exception" -version = "0.1.2" +name = "objc2-encode" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +checksum = "88658da63e4cc2c8adb1262902cd6af51094df0488b760d6fd27194269c0950a" + +[[package]] +name = "objc2-foundation" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfaefe14254871ea16c7d88968c0ff14ba554712a20d76421eec52f0a7fb8904" dependencies = [ - "cc", + "block2 0.5.0", + "objc2 0.5.1", ] [[package]] @@ -2025,11 +2078,11 @@ checksum = "978aa494585d3ca4ad74929863093e87cac9790d81fe7aba2b3dc2890643a0fc" [[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", + "libredox", ] [[package]] @@ -2041,12 +2094,6 @@ dependencies = [ "ttf-parser", ] -[[package]] -name = "parking" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" - [[package]] name = "parking_lot" version = "0.12.1" @@ -2065,7 +2112,7 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.3.5", "smallvec", "windows-targets 0.48.2", ] @@ -2283,12 +2330,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" -[[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - [[package]] name = "raw-window-handle" version = "0.6.0" @@ -2324,6 +2365,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "regex" version = "1.9.3" @@ -2355,9 +2405,9 @@ checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "renderdoc-sys" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "reqwest" @@ -2365,7 +2415,7 @@ version = "0.11.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" dependencies = [ - "base64 0.21.2", + "base64", "bytes", "encoding_rs", "futures-core", @@ -2437,7 +2487,7 @@ version = "0.38.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys", @@ -2450,12 +2500,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - [[package]] name = "same-file" version = "1.0.6" @@ -2591,7 +2635,7 @@ dependencies = [ "egui-winit", "egui_extras", "enum-map", - "env_logger", + "env_logger 0.10.0", "glam", "image", "instant", @@ -2599,7 +2643,7 @@ dependencies = [ "log", "pollster", "rand", - "raw-window-handle 0.6.0", + "raw-window-handle", "rayon", "reqwest", "rustc-hash", @@ -2646,7 +2690,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "calloop", "calloop-wayland-source", "cursor-icon", @@ -2721,7 +2765,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", ] [[package]] @@ -2772,7 +2816,7 @@ checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" dependencies = [ "cfg-if", "fastrand", - "redox_syscall", + "redox_syscall 0.3.5", "rustix", "windows-sys 0.48.0", ] @@ -2788,18 +2832,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ "proc-macro2", "quote", @@ -2921,20 +2965,19 @@ 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-core", ] [[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", ] @@ -3131,6 +3174,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "vcpkg" version = "0.2.15" @@ -3198,9 +3247,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3208,9 +3257,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", @@ -3223,12 +3272,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-cli-support" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a875870b7b39024cbca8f61a0e1fc8edfe7ac02b484e5a9bcea64374050a850e" +checksum = "ca821da8c1ae6c87c5e94493939a206daa8587caff227c6032e0061a3d80817f" dependencies = [ "anyhow", - "base64 0.9.3", + "base64", "log", "rustc-demangle", "serde_json", @@ -3245,9 +3294,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-externref-xform" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04c5d468dc79cfd824d181c386f34c2e7ea521ea5855ddd95af8f4cf3fa676f4" +checksum = "102582726b35a30d53157fbf8de3d0f0fed4c40c0c7951d69a034e9ef01da725" dependencies = [ "anyhow", "walrus", @@ -3255,9 +3304,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.40" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -3267,9 +3316,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3277,9 +3326,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", @@ -3290,9 +3339,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-multi-value-xform" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65f10c037dad45759d53b598d4737acdced90a0945023c8c6cd8d67b4b3e4eaf" +checksum = "3498e4799f43523d780ceff498f04d882a8dbc9719c28020034822e5952f32a4" dependencies = [ "anyhow", "walrus", @@ -3300,15 +3349,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wasm-bindgen-threads-xform" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ddf1a4beb1bceb2b73c2325581901ca2cd92af628f24389a678854dcd65b24" +checksum = "2d5add359b7f7d09a55299a9d29be54414264f2b8cf84f8c8fda5be9269b5dd9" dependencies = [ "anyhow", "walrus", @@ -3317,9 +3366,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-wasm-conventions" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f13ed8ccdac31eadcfd4c9b2ec7bd43e77454b14acb1f43189f2875a9b0391" +checksum = "8c04e3607b810e76768260db3a5f2e8beb477cb089ef8726da85c8eb9bd3b575" dependencies = [ "anyhow", "walrus", @@ -3327,9 +3376,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-wasm-interpreter" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4282a271772a3063d4057c1144e118254f207fbbc1381b8d50b23c25585d893" +checksum = "9ea966593c8243a33eb4d643254eb97a69de04e89462f46cf6b4f506aae89b3a" dependencies = [ "anyhow", "log", @@ -3372,7 +3421,7 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "nix", "wayland-backend", "wayland-scanner", @@ -3384,7 +3433,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "cursor-icon", "wayland-backend", ] @@ -3406,7 +3455,7 @@ version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -3418,7 +3467,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -3431,7 +3480,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -3463,9 +3512,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -3483,17 +3532,18 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.10" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd222aa310eb7532e3fd427a5d7db7e44bc0b0cf1c1e21139c345325511a85b6" +checksum = "425ba64c1e13b1c6e8c5d2541c8fac10022ca584f33da781db01b5756aef1f4e" dependencies = [ + "block2 0.5.0", "core-foundation", "home", "jni", "log", "ndk-context", - "objc", - "raw-window-handle 0.5.2", + "objc2 0.5.1", + "objc2-foundation", "url", "web-sys", ] @@ -3506,19 +3556,20 @@ checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" [[package]] name = "wgpu" -version = "0.19.3" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b1213b52478a7631d6e387543ed8f642bc02c578ef4e3b49aca2a29a7df0cb" +checksum = "32ff1bfee408e1028e2e3acbf6d32d98b08a5a059ccbf5f33305534453ba5d3e" dependencies = [ "arrayvec", "cfg-if", "cfg_aliases", + "document-features", "js-sys", "log", "naga", "parking_lot", "profiling", - "raw-window-handle 0.6.0", + "raw-window-handle", "smallvec", "static_assertions", "wasm-bindgen", @@ -3531,22 +3582,23 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b15e451d4060ada0d99a64df44e4d590213496da7c4f245572d51071e8e30ed" +checksum = "ac6a86eaa5e763e59c73cf9e97d55fffd4dfda69fd8bda19589fcf851ddfef1f" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.4.0", + "bitflags 2.5.0", "cfg_aliases", "codespan-reporting", + "document-features", "indexmap 2.0.0", "log", "naga", "once_cell", "parking_lot", "profiling", - "raw-window-handle 0.6.0", + "raw-window-handle", "rustc-hash", "smallvec", "thiserror", @@ -3557,15 +3609,15 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bb47856236bfafc0bc591a925eb036ac19cd987624a447ff353e7a7e7e6f72" +checksum = "4d71c8ae05170583049b65ee562fd839fdc0b3e9ddb84f4e40c9d5f8ea0d4c8c" dependencies = [ "android_system_properties", "arrayvec", "ash", "bit-set", - "bitflags 2.4.0", + "bitflags 2.5.0", "block", "cfg_aliases", "core-graphics-types", @@ -3583,12 +3635,13 @@ dependencies = [ "log", "metal", "naga", + "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", "parking_lot", "profiling", "range-alloc", - "raw-window-handle 0.6.0", + "raw-window-handle", "renderdoc-sys", "rustc-hash", "smallvec", @@ -3601,11 +3654,11 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "895fcbeb772bfb049eb80b2d6e47f6c9af235284e9703c96fc0218a42ffd5af2" +checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "js-sys", "web-sys", ] @@ -3866,14 +3919,14 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winit" -version = "0.29.10" +version = "0.29.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf" +checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" dependencies = [ - "ahash 0.8.7", + "ahash", "android-activity", "atomic-waker", - "bitflags 2.4.0", + "bitflags 2.5.0", "bytemuck", "calloop", "cfg_aliases", @@ -3887,12 +3940,12 @@ dependencies = [ "memmap2", "ndk", "ndk-sys 0.5.0+25.2.9519653", - "objc2", + "objc2 0.4.1", "once_cell", "orbclient", "percent-encoding", - "raw-window-handle 0.6.0", - "redox_syscall", + "raw-window-handle", + "redox_syscall 0.3.5", "rustix", "sctk-adwaita", "smithay-client-toolkit", @@ -3973,11 +4026,11 @@ dependencies = [ [[package]] name = "xkbcommon-dl" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.5.0", "dlib", "log", "once_cell", diff --git a/Cargo.toml b/Cargo.toml index abc526d..441d58f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,4 +1,17 @@ [workspace] resolver = "2" members = ["simuverse", "run-wasm"] -default-members = ["simuverse"] \ No newline at end of file +default-members = ["simuverse"] + +[profile.wasm-release] +# Use release profile as default values +inherits = "release" +# Optimize with size in mind, also try "s", sometimes it is better. +# This doesn't increase compilation times compared to -O3, great improvements +opt-level = "z" +# Do a second optimization pass removing duplicate or unused code from dependencies. +# Slows compile times, marginal improvements +lto = "fat" +# When building crates, optimize larger chunks at a time +# Slows compile times, marginal improvements +codegen-units = 1 \ No newline at end of file diff --git a/build-wasm.sh b/build-wasm.sh index 2eac375..4e13c12 100755 --- a/build-wasm.sh +++ b/build-wasm.sh @@ -6,3 +6,7 @@ for i in target/wasm32-unknown-unknown/release/*.wasm; do wasm-bindgen --no-typescript --out-dir wasm --web "$i"; done + +# 优化 wasm 包大小 +# 2024/5/5, 4.6MB -> 3.2MB +wasm-opt -Oz --output wasm/optimized.wasm wasm/simuverse_bg.wasm \ No newline at end of file diff --git a/simuverse/Cargo.toml b/simuverse/Cargo.toml index 31c2be9..a02ae15 100644 --- a/simuverse/Cargo.toml +++ b/simuverse/Cargo.toml @@ -6,24 +6,22 @@ edition = "2021" rust-version = "1.76" [dependencies] -app-surface = { version = "0.4.1" } +app-surface = { version = "0.4.2" } # app-surface = { path = "../../idroid/wgpu-in-app/app-surface" } -egui = { git = "https://github.com/emilk/egui", rev = "5d0bc2b", default-features = false } -egui_extras = { git = "https://github.com/emilk/egui", package = "egui_extras", rev = "5d0bc2b" } -egui-wgpu = { git = "https://github.com/emilk/egui", package = "egui-wgpu", rev = "5d0bc2b" } -egui-winit = { git = "https://github.com/emilk/egui", package = "egui-winit", rev = "5d0bc2b", default-features = false } +egui = { git = "https://github.com/emilk/egui", rev = "ded8dbd", default-features = false } +egui_extras = { git = "https://github.com/emilk/egui", package = "egui_extras", rev = "ded8dbd" } +egui-wgpu = { git = "https://github.com/emilk/egui", package = "egui-wgpu", rev = "ded8dbd" } +egui-winit = { git = "https://github.com/emilk/egui", package = "egui-winit", rev = "ded8dbd", default-features = false } -webbrowser = { version = "0.8.3" } +webbrowser = { version = "1.0.1" } +# 需要 egui 先升级到 winit 0.30 后才能使用 winit = { version = "0.29.10" } raw-window-handle = "0.6" -wgpu = "0.19.3" -# wgpu = { git = "https://github.com/gfx-rs/wgpu", rev = "7c25c00f" } -# wgpu = { path = "../../forks/wgpu/wgpu" } - -glam = "0.25" +wgpu = "0.20" +glam = "0.27" # syntax_highlighting 需要 enum-map enum-map = { version = "2", features = ["serde"] } -bytemuck = "1.14" +bytemuck = "1.15" env_logger = "0.10" log = "0.4" rand = "0.8" @@ -48,134 +46,24 @@ console_error_panic_hook = "0.1.7" console_log = "1.0" js-sys = "0.3.67" reqwest = "0.11.15" -wasm-bindgen = "0.2.90" +wasm-bindgen = "0.2.92" wasm-bindgen-futures = "0.4.40" web-sys = { version = "0.3.67", features = [ + "Blob", "Document", - "Navigator", + 'Element', + 'HtmlElement', "Node", "NodeList", - "Gpu", - "GpuAdapter", - "GpuAddressMode", - "GpuAutoLayoutMode", - "GpuBindGroup", - "GpuBindGroupDescriptor", - "GpuBindGroupEntry", - "GpuBindGroupLayout", - "GpuBindGroupLayoutDescriptor", - "GpuBindGroupLayoutEntry", - "GpuBlendComponent", - "GpuBlendFactor", - "GpuBlendOperation", - "GpuBlendState", - "GpuBuffer", - "GpuBufferBinding", - "GpuBufferBindingLayout", - "GpuBufferBindingType", - "GpuBufferDescriptor", - "GpuCanvasAlphaMode", - "GpuCanvasContext", - "GpuCanvasConfiguration", - "GpuColorDict", - "GpuColorTargetState", - "GpuCommandBuffer", - "GpuCommandBufferDescriptor", - "GpuCommandEncoder", - "GpuCommandEncoderDescriptor", - "GpuCompareFunction", - "GpuCompilationInfo", - "GpuCompilationMessage", - "GpuCompilationMessageType", - "GpuComputePassDescriptor", - "GpuComputePassEncoder", - "GpuComputePipeline", - "GpuComputePipelineDescriptor", - "GpuCullMode", - "GpuDepthStencilState", - "GpuDevice", - "GpuDeviceDescriptor", - "GpuDeviceLostInfo", - "GpuDeviceLostReason", - "GpuError", - "GpuErrorFilter", - "GpuExtent3dDict", - "GpuFeatureName", - "GpuFilterMode", - "GpuFragmentState", - "GpuFrontFace", - "GpuImageCopyBuffer", - "GpuImageCopyExternalImage", - "GpuImageCopyTexture", - "GpuImageCopyTextureTagged", - "GpuImageDataLayout", - "GpuIndexFormat", - "GpuLoadOp", - "gpu_map_mode", - "GpuMipmapFilterMode", - "GpuMultisampleState", - "GpuObjectDescriptorBase", - "GpuOrigin2dDict", - "GpuOrigin3dDict", - "GpuOutOfMemoryError", - "GpuPipelineDescriptorBase", - "GpuPipelineLayout", - "GpuPipelineLayoutDescriptor", - "GpuPowerPreference", - "GpuPrimitiveState", - "GpuPrimitiveTopology", - "GpuProgrammableStage", - "GpuQuerySet", - "GpuQuerySetDescriptor", - "GpuQueryType", - "GpuQueue", - "GpuRenderBundle", - "GpuRenderBundleDescriptor", - "GpuRenderBundleEncoder", - "GpuRenderBundleEncoderDescriptor", - "GpuRenderPassColorAttachment", - "GpuRenderPassDepthStencilAttachment", - "GpuRenderPassDescriptor", - "GpuRenderPassEncoder", - "GpuRenderPipeline", - "GpuRenderPipelineDescriptor", - "GpuRequestAdapterOptions", - "GpuSampler", - "GpuSamplerBindingLayout", - "GpuSamplerBindingType", - "GpuSamplerDescriptor", - "GpuShaderModule", - "GpuShaderModuleDescriptor", - "GpuStencilFaceState", - "GpuStencilOperation", - "GpuStorageTextureAccess", - "GpuStorageTextureBindingLayout", - "GpuStoreOp", - "GpuSupportedFeatures", - "GpuSupportedLimits", - "GpuTexture", - "GpuTextureAspect", - "GpuTextureBindingLayout", - "GpuTextureDescriptor", - "GpuTextureDimension", - "GpuTextureFormat", - "GpuTextureSampleType", - "GpuTextureView", - "GpuTextureViewDescriptor", - "GpuTextureViewDimension", - "GpuUncapturedErrorEvent", - "GpuUncapturedErrorEventInit", - "GpuValidationError", - "GpuVertexAttribute", - "GpuVertexBufferLayout", - "GpuVertexFormat", - "GpuVertexState", - "GpuVertexStepMode", "HtmlCanvasElement", - "Response", + "OffscreenCanvas", "ImageBitmap", "ImageBitmapRenderingContext", + "Url", "Window", + "WorkerGlobalScope", "XmlHttpRequest", - "XmlHttpRequestResponseType", -] } + # Needed by webgpu_sys + "Event", + "EventTarget", +] } \ No newline at end of file diff --git a/simuverse/src/egui_layer.rs b/simuverse/src/egui_layer.rs index 7a984e7..33b2537 100644 --- a/simuverse/src/egui_layer.rs +++ b/simuverse/src/egui_layer.rs @@ -91,7 +91,7 @@ impl EguiLayer { }); let clipped_primitives = self.ctx.tessellate(full_output.shapes, app.scale_factor); let textures_delta = full_output.textures_delta; - let screen_descriptor = egui_wgpu::renderer::ScreenDescriptor { + let screen_descriptor = egui_wgpu::ScreenDescriptor { size_in_pixels: [app.config.width, app.config.height], pixels_per_point: app.scale_factor, }; diff --git a/simuverse/src/fluid/d2q9_node.rs b/simuverse/src/fluid/d2q9_node.rs index 89926c4..6319ffe 100644 --- a/simuverse/src/fluid/d2q9_node.rs +++ b/simuverse/src/fluid/d2q9_node.rs @@ -154,6 +154,7 @@ impl D2Q9Node { layout: Some(&pipeline_layout), module: &collide_stream_shader, entry_point: "cs_main", + compilation_options: Default::default(), }); let boundary_pipeline = device.create_compute_pipeline(&wgpu::ComputePipelineDescriptor { @@ -161,6 +162,7 @@ impl D2Q9Node { layout: Some(&pipeline_layout), module: &boundary_shader, entry_point: "cs_main", + compilation_options: Default::default(), }); setting_nodes.push(setting_node); collide_stream_pipelines.push(collide_stream_pipeline); diff --git a/simuverse/src/fluid/particle_render_node.rs b/simuverse/src/fluid/particle_render_node.rs index 2fa92f4..e060140 100644 --- a/simuverse/src/fluid/particle_render_node.rs +++ b/simuverse/src/fluid/particle_render_node.rs @@ -255,11 +255,13 @@ fn generate_pipeline( module: shader, entry_point: entry_points.0, buffers: &buffers, + compilation_options: Default::default(), }, fragment: Some(wgpu::FragmentState { module: shader, entry_point: entry_points.1, targets: &targets, + compilation_options: Default::default(), }), primitive: wgpu::PrimitiveState { topology: wgpu::PrimitiveTopology::TriangleStrip, diff --git a/simuverse/src/node/bufferless_fullscreen_node.rs b/simuverse/src/node/bufferless_fullscreen_node.rs index 55dc525..05204b9 100644 --- a/simuverse/src/node/bufferless_fullscreen_node.rs +++ b/simuverse/src/node/bufferless_fullscreen_node.rs @@ -32,6 +32,7 @@ impl BufferlessFullscreenNode { module: shader_module, entry_point: "vs_main", buffers: &pipeline_vertex_buffers, + compilation_options: Default::default(), }, fragment: Some(wgpu::FragmentState { module: shader_module, @@ -41,6 +42,7 @@ impl BufferlessFullscreenNode { blend: blend_state, write_mask: wgpu::ColorWrites::ALL, })], + compilation_options: Default::default(), }), // the bufferless vertices are in clock-wise order primitive: wgpu::PrimitiveState { diff --git a/simuverse/src/node/compute_node.rs b/simuverse/src/node/compute_node.rs index cc43a16..57fc7e4 100644 --- a/simuverse/src/node/compute_node.rs +++ b/simuverse/src/node/compute_node.rs @@ -58,6 +58,7 @@ impl ComputeNode { layout: Some(&pipeline_layout), module: shader_module, entry_point: "cs_main", + compilation_options: Default::default(), }); ComputeNode { @@ -105,6 +106,7 @@ impl ComputeNode { layout: Some(&pipeline_layout), module: shader_module, entry_point: "cs_main", + compilation_options: Default::default(), }); ComputeNode { diff --git a/simuverse/src/node/view_node.rs b/simuverse/src/node/view_node.rs index 9509408..a1f3bc8 100644 --- a/simuverse/src/node/view_node.rs +++ b/simuverse/src/node/view_node.rs @@ -217,6 +217,7 @@ impl ViewNode { module: attributes.shader_module, entry_point: "vs_main", buffers: &vertex_buffer_layouts, + compilation_options: Default::default(), }, fragment: Some(wgpu::FragmentState { module: attributes.shader_module, @@ -226,6 +227,7 @@ impl ViewNode { blend: attributes.color_blend_state, write_mask: wgpu::ColorWrites::ALL, })], + compilation_options: Default::default(), }), primitive: wgpu::PrimitiveState { topology: attributes.primitive_topology, diff --git a/simuverse/src/setting/control_panel.rs b/simuverse/src/setting/control_panel.rs index 85ccc0a..b99f647 100644 --- a/simuverse/src/setting/control_panel.rs +++ b/simuverse/src/setting/control_panel.rs @@ -144,7 +144,7 @@ impl ControlPanel { .resizable(false) .collapsible(true) .title_bar(true) - .scroll2([false, true]) + .scroll([false, true]) .movable(false) .fixed_size(self.window_size) .frame(self.panel_frame) diff --git a/simuverse/src/truck/rendimpl/polygon_instance.rs b/simuverse/src/truck/rendimpl/polygon_instance.rs index 230ddab..fc0930d 100644 --- a/simuverse/src/truck/rendimpl/polygon_instance.rs +++ b/simuverse/src/truck/rendimpl/polygon_instance.rs @@ -150,6 +150,7 @@ impl Rendered for PolygonInstance { }, ], }], + compilation_options: Default::default(), }, fragment: Some(FragmentState { module: fragment_module, @@ -159,6 +160,7 @@ impl Rendered for PolygonInstance { blend, write_mask: ColorWrites::ALL, })], + compilation_options: Default::default(), }), primitive: PrimitiveState { topology: PrimitiveTopology::TriangleList, diff --git a/simuverse/src/truck/rendimpl/wireframe_instance.rs b/simuverse/src/truck/rendimpl/wireframe_instance.rs index 26e520e..33150a9 100644 --- a/simuverse/src/truck/rendimpl/wireframe_instance.rs +++ b/simuverse/src/truck/rendimpl/wireframe_instance.rs @@ -105,6 +105,7 @@ impl Rendered for WireFrameInstance { shader_location: 0, }], }], + compilation_options: Default::default(), }, fragment: Some(FragmentState { module: &self.shaders.fragment_module, @@ -114,6 +115,7 @@ impl Rendered for WireFrameInstance { blend: Some(BlendState::REPLACE), write_mask: ColorWrites::ALL, })], + compilation_options: Default::default(), }), primitive: PrimitiveState { topology: PrimitiveTopology::LineList,