diff --git a/Cargo.lock b/Cargo.lock index 67b63fe47a50..dede2a47ed3e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -110,9 +110,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.8.8" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42cd52102d3df161c77a887b608d7a4897d7cc112886a9537b738a887a03aaff" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "getrandom", @@ -144,7 +144,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39b801912a977c3fd52d80511fe1c0c8480c6f957f21ae2ce1b92ffe970cf4b9" dependencies = [ "android-properties", - "bitflags 2.4.1", + "bitflags 2.5.0", "cc", "cesu8", "jni", @@ -236,19 +236,18 @@ checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "arboard" -version = "3.3.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1faa3c733d9a3dd6fbaf85da5d162a2e03b2e0033a90dceb0e2a90fdd1e5380a" +checksum = "9fb4009533e8ff8f1450a5bcbc30f4242a1d34442221f72314bea1f5dc9c7f89" dependencies = [ "clipboard-win", "core-graphics", "image", "log", - "objc", - "objc-foundation", - "objc_id", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation", "parking_lot", - "thiserror", "windows-sys 0.48.0", "x11rb", ] @@ -618,9 +617,9 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -685,9 +684,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" dependencies = [ "bytemuck", ] @@ -722,7 +721,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae85a0696e7ea3b835a453750bf002770776609115e6d25c6d2ff28a8200f7e7" dependencies = [ - "objc-sys 0.3.2", + "objc-sys 0.3.5", ] [[package]] @@ -745,6 +744,15 @@ dependencies = [ "objc2 0.4.1", ] +[[package]] +name = "block2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2 0.5.2", +] + [[package]] name = "blocking" version = "1.3.1" @@ -821,7 +829,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b50b5a44d59a98c55a9eeb518f39bf7499ba19fd98ee7d22618687f3f10adbf" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "log", "polling 3.3.0", "rustix 0.38.24", @@ -917,11 +925,13 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.79" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" dependencies = [ "jobserver", + "libc", + "once_cell", ] [[package]] @@ -1060,9 +1070,9 @@ checksum = "aaa6b4b263a5d737e9bf6b7c09b72c41a5480aec4d7219af827f6564e950b6a5" [[package]] name = "clipboard-win" -version = "5.1.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ec832972fefb8cf9313b45a0d1945e29c9c251f1d4c6eafc5fe2124c02d2e81" +checksum = "79f4473f5144e20d9aceaf2972478f06ddf687831eafeeb434fbaf0acc4144ad" dependencies = [ "error-code", ] @@ -1076,36 +1086,6 @@ dependencies = [ "rerun", ] -[[package]] -name = "cocoa" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics", - "foreign-types", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation", - "core-graphics-types", - "libc", - "objc", -] - [[package]] name = "codespan-reporting" version = "0.11.1" @@ -1116,12 +1096,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - [[package]] name = "colorchoice" version = "1.0.0" @@ -1538,7 +1512,7 @@ dependencies = [ name = "dna" version = "0.17.0-alpha.3" dependencies = [ - "itertools 0.12.0", + "itertools 0.13.0", "rand", "rerun", ] @@ -1567,8 +1541,7 @@ checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30" [[package]] name = "ecolor" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20930a432bbd57a6d55e07976089708d4893f3d556cf42a0d79e9e321fa73b10" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ "bytemuck", "serde", @@ -1577,11 +1550,10 @@ dependencies = [ [[package]] name = "eframe" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020e2ccef6bbcec71dbc542f7eed64a5846fc3076727f5746da8fd307c91bab2" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ + "ahash", "bytemuck", - "cocoa", "directories-next", "document-features", "egui", @@ -1591,7 +1563,9 @@ dependencies = [ "image", "js-sys", "log", - "objc", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation", "parking_lot", "percent-encoding", "pollster", @@ -1600,7 +1574,6 @@ dependencies = [ "ron", "serde", "static_assertions", - "thiserror", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -1613,12 +1586,12 @@ dependencies = [ [[package]] name = "egui" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "584c5d1bf9a67b25778a3323af222dbe1a1feb532190e103901187f92c7fe29a" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ "accesskit", "ahash", "backtrace", + "emath", "epaint", "log", "nohash-hasher", @@ -1630,9 +1603,9 @@ dependencies = [ [[package]] name = "egui-wgpu" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469ff65843f88a702b731a1532b7d03b0e8e96d283e70f3a22b0e06c46cb9b37" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ + "ahash", "bytemuck", "document-features", "egui", @@ -1649,10 +1622,10 @@ dependencies = [ [[package]] name = "egui-winit" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e3da0cbe020f341450c599b35b92de4af7b00abde85624fd16f09c885573609" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ "accesskit_winit", + "ahash", "arboard", "egui", "log", @@ -1667,21 +1640,31 @@ dependencies = [ [[package]] name = "egui_commonmark" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "013480797931a2649e03069613ed35514569372d6f79df70fc3653ae18a75c6c" +version = "0.16.1" +source = "git+https://github.com/rerun-io/egui_commonmark?rev=1c08d5ea58d60c6a61487b5eecefdfdb35c47036#1c08d5ea58d60c6a61487b5eecefdfdb35c47036" dependencies = [ "egui", + "egui_commonmark_backend", "egui_extras", - "pulldown-cmark 0.10.0", + "pulldown-cmark 0.11.0", +] + +[[package]] +name = "egui_commonmark_backend" +version = "0.16.1" +source = "git+https://github.com/rerun-io/egui_commonmark?rev=1c08d5ea58d60c6a61487b5eecefdfdb35c47036#1c08d5ea58d60c6a61487b5eecefdfdb35c47036" +dependencies = [ + "egui", + "egui_extras", + "pulldown-cmark 0.11.0", ] [[package]] name = "egui_extras" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b78779f35ded1a853786c9ce0b43fe1053e10a21ea3b23ebea411805ce41593" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ + "ahash", "egui", "ehttp", "enum-map", @@ -1695,9 +1678,9 @@ dependencies = [ [[package]] name = "egui_glow" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0e5d975f3c86edc3d35b1db88bb27c15dde7c55d3b5af164968ab5ede3f44ca" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ + "ahash", "bytemuck", "egui", "egui-winit", @@ -1713,21 +1696,20 @@ dependencies = [ [[package]] name = "egui_plot" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7854b86dc1c2d352c5270db3d600011daa913d6b554141a03939761323288a1" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ + "ahash", "egui", ] [[package]] name = "egui_tiles" version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e2c0ff99daddcbdc54b141dbb7be3b014463da48a03ebc801bf63e500b23d75" +source = "git+https://github.com/rerun-io/egui_tiles?rev=7a9ef17dd873efc2c803a0a91a64246ab1a2fa83#7a9ef17dd873efc2c803a0a91a64246ab1a2fa83" dependencies = [ "ahash", "egui", - "itertools 0.12.0", + "itertools 0.13.0", "log", "serde", ] @@ -1757,8 +1739,7 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "emath" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c3a552cfca14630702449d35f41c84a0d15963273771c6059175a803620f3f" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ "bytemuck", "serde", @@ -1859,8 +1840,7 @@ dependencies = [ [[package]] name = "epaint" version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381f8b149657a4acf837095351839f32cd5c4aec1817fc4df84e18d76334176" +source = "git+https://github.com/emilk/egui.git?rev=54429e0549e829c64b8de1b66f846fdf1a7ee37c#54429e0549e829c64b8de1b66f846fdf1a7ee37c" dependencies = [ "ab_glyph", "ahash", @@ -2293,23 +2273,24 @@ dependencies = [ [[package]] name = "gltf" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad2dcfb6dd7a66f9eb3d181a29dcfb22d146b0bcdc2e1ed1713cbf03939a88ea" +checksum = "e3ce1918195723ce6ac74e80542c5a96a40c2b26162c1957a5cd70799b8cacf7" dependencies = [ "base64 0.13.1", "byteorder", "gltf-json", "image", "lazy_static", + "serde_json", "urlencoding", ] [[package]] name = "gltf-derive" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cbcea5dd47e7ad4e9ee6f040384fcd7204bbf671aa4f9e7ca7dfc9bfa1de20" +checksum = "14070e711538afba5d6c807edb74bcb84e5dbb9211a3bf5dea0dfab5b24f4c51" dependencies = [ "inflections", "proc-macro2", @@ -2319,9 +2300,9 @@ dependencies = [ [[package]] name = "gltf-json" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5b810806b78dde4b71a95cc0e6fdcab34c4c617da3574df166f9987be97d03" +checksum = "e6176f9d60a7eab0a877e8e96548605dedbde9190a7ae1e80bbcc1c9af03ab14" dependencies = [ "gltf-derive", "serde", @@ -2344,7 +2325,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "gpu-alloc-types", ] @@ -2354,7 +2335,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", ] [[package]] @@ -2376,7 +2357,7 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "gpu-descriptor-types", "hashbrown 0.14.2", ] @@ -2435,7 +2416,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "com", "libc", "libloading 0.8.1", @@ -2559,18 +2540,17 @@ dependencies = [ [[package]] name = "image" -version = "0.24.6" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527909aa81e20ac3a44803521443a765550f09b5130c2c2fa1ea59c2f8f50a3a" +checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11" dependencies = [ "bytemuck", "byteorder", - "color_quant", - "jpeg-decoder", - "num-rational", "num-traits", "png", "tiff", + "zune-core", + "zune-jpeg", ] [[package]] @@ -2719,9 +2699,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] @@ -2756,9 +2736,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] @@ -2829,9 +2809,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.154" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" @@ -3039,7 +3019,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "block", "core-graphics-types", "foreign-types", @@ -3138,7 +3118,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8878eb410fc90853da3908aebfe61d73d26d4437ef850b70050461f939509899" dependencies = [ "bit-set", - "bitflags 2.4.1", + "bitflags 2.5.0", "codespan-reporting", "hexf-parse", "indexmap 2.1.0", @@ -3187,7 +3167,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "jni-sys", "log", "ndk-sys", @@ -3242,7 +3222,7 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "crossbeam-channel", "filetime", "fsevent-sys", @@ -3294,17 +3274,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.15" @@ -3390,9 +3359,9 @@ checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" [[package]] name = "objc-sys" -version = "0.3.2" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" [[package]] name = "objc2" @@ -3411,10 +3380,60 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "559c5a40fdd30eb5e344fbceacf7595a81e242529fb4e21cf5f43fb4f11ff98d" dependencies = [ - "objc-sys 0.3.2", + "objc-sys 0.3.5", "objc2-encode 3.0.0", ] +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys 0.3.5", + "objc2-encode 4.0.3", +] + +[[package]] +name = "objc2-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.5.0", + "block2 0.5.1", + "libc", + "objc2 0.5.2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.5.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", + "objc2-metal", +] + [[package]] name = "objc2-encode" version = "2.0.0-pre.2" @@ -3430,6 +3449,49 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" +[[package]] +name = "objc2-encode" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.5.0", + "block2 0.5.1", + "libc", + "objc2 0.5.2", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.5.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.5.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", + "objc2-metal", +] + [[package]] name = "objc_exception" version = "0.1.2" @@ -3926,11 +3988,11 @@ dependencies = [ [[package]] name = "pulldown-cmark" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce76ce678ffc8e5675b22aa1405de0b7037e2fdf8913fea40d1926c6fe1e6e7" +checksum = "8746739f11d39ce5ad5c2520a9b75285310dbfe78c541ccf832d38615765aec0" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "memchr", "unicase", ] @@ -4155,7 +4217,7 @@ name = "re_blueprint_tree" version = "0.17.0-alpha.3" dependencies = [ "egui", - "itertools 0.12.0", + "itertools 0.13.0", "re_context_menu", "re_data_ui", "re_entity_db", @@ -4195,7 +4257,7 @@ version = "0.17.0-alpha.3" dependencies = [ "egui", "egui_tiles", - "itertools 0.12.0", + "itertools 0.13.0", "nohash-hasher", "once_cell", "re_entity_db", @@ -4215,7 +4277,7 @@ name = "re_crash_handler" version = "0.17.0-alpha.3" dependencies = [ "backtrace", - "itertools 0.12.0", + "itertools 0.13.0", "libc", "parking_lot", "re_analytics", @@ -4249,7 +4311,7 @@ name = "re_data_source" version = "0.17.0-alpha.3" dependencies = [ "anyhow", - "itertools 0.12.0", + "itertools 0.13.0", "rayon", "re_build_tools", "re_data_loader", @@ -4271,7 +4333,7 @@ dependencies = [ "document-features", "indent", "insta", - "itertools 0.12.0", + "itertools 0.13.0", "mimalloc", "nohash-hasher", "once_cell", @@ -4303,7 +4365,7 @@ dependencies = [ "egui_extras", "egui_plot", "image", - "itertools 0.12.0", + "itertools 0.13.0", "re_data_store", "re_entity_db", "re_error", @@ -4331,7 +4393,7 @@ dependencies = [ "cargo_metadata 0.18.1", "glob", "indicatif", - "itertools 0.12.0", + "itertools 0.13.0", "rayon", "re_build_tools", "re_format", @@ -4372,7 +4434,7 @@ dependencies = [ "document-features", "emath", "getrandom", - "itertools 0.12.0", + "itertools 0.13.0", "mimalloc", "nohash-hasher", "parking_lot", @@ -4482,7 +4544,7 @@ dependencies = [ "document-features", "fixed", "half 2.3.1", - "itertools 0.12.0", + "itertools 0.13.0", "mimalloc", "natord", "nohash-hasher", @@ -4516,7 +4578,7 @@ dependencies = [ "ahash", "backtrace", "emath", - "itertools 0.12.0", + "itertools 0.13.0", "memory-stats", "nohash-hasher", "once_cell", @@ -4540,7 +4602,7 @@ dependencies = [ "criterion", "indent", "indexmap 2.1.0", - "itertools 0.12.0", + "itertools 0.13.0", "mimalloc", "nohash-hasher", "parking_lot", @@ -4569,7 +4631,7 @@ version = "0.17.0-alpha.3" dependencies = [ "ahash", "anyhow", - "bitflags 2.4.1", + "bitflags 2.5.0", "bytemuck", "cfg-if", "cfg_aliases 0.2.0", @@ -4582,7 +4644,7 @@ dependencies = [ "glam", "gltf", "half 2.3.1", - "itertools 0.12.0", + "itertools 0.13.0", "macaw", "never", "notify", @@ -4620,7 +4682,7 @@ dependencies = [ "console_error_panic_hook", "glam", "image", - "itertools 0.12.0", + "itertools 0.13.0", "macaw", "pollster", "rand", @@ -4642,7 +4704,7 @@ dependencies = [ "anyhow", "crossbeam", "document-features", - "itertools 0.12.0", + "itertools 0.13.0", "libc", "ndarray", "ndarray-rand", @@ -4689,7 +4751,7 @@ version = "0.17.0-alpha.3" dependencies = [ "egui", "egui_tiles", - "itertools 0.12.0", + "itertools 0.13.0", "nohash-hasher", "once_cell", "re_context_menu", @@ -4778,12 +4840,12 @@ version = "0.17.0-alpha.3" dependencies = [ "ahash", "anyhow", - "bitflags 2.4.1", + "bitflags 2.5.0", "bytemuck", "criterion", "egui", "glam", - "itertools 0.12.0", + "itertools 0.13.0", "macaw", "mimalloc", "nohash-hasher", @@ -4875,7 +4937,7 @@ version = "0.17.0-alpha.3" dependencies = [ "egui", "egui_plot", - "itertools 0.12.0", + "itertools 0.13.0", "rayon", "re_data_store", "re_format", @@ -4908,7 +4970,7 @@ name = "re_time_panel" version = "0.17.0-alpha.3" dependencies = [ "egui", - "itertools 0.12.0", + "itertools 0.13.0", "re_context_menu", "re_data_store", "re_data_ui", @@ -4961,7 +5023,7 @@ dependencies = [ "half 2.3.1", "image", "infer", - "itertools 0.12.0", + "itertools 0.13.0", "linked-hash-map", "mime_guess2", "mint", @@ -4981,8 +5043,6 @@ dependencies = [ "smallvec", "thiserror", "uuid", - "zune-core", - "zune-jpeg", ] [[package]] @@ -5008,7 +5068,7 @@ dependencies = [ "convert_case", "flatbuffers", "indent", - "itertools 0.12.0", + "itertools 0.13.0", "prettyplease", "proc-macro2", "quote", @@ -5033,7 +5093,7 @@ dependencies = [ "backtrace", "criterion", "document-features", - "itertools 0.12.0", + "itertools 0.13.0", "once_cell", "re_arrow2", "re_error", @@ -5081,7 +5141,7 @@ dependencies = [ "egui_plot", "ehttp", "image", - "itertools 0.12.0", + "itertools 0.13.0", "js-sys", "poll-promise", "re_analytics", @@ -5154,7 +5214,7 @@ dependencies = [ "glam", "half 2.3.1", "indexmap 2.1.0", - "itertools 0.12.0", + "itertools 0.13.0", "macaw", "ndarray", "nohash-hasher", @@ -5189,7 +5249,7 @@ dependencies = [ "egui_tiles", "glam", "image", - "itertools 0.12.0", + "itertools 0.13.0", "nohash-hasher", "rayon", "re_context_menu", @@ -5213,7 +5273,7 @@ dependencies = [ "ahash", "egui", "egui_tiles", - "itertools 0.12.0", + "itertools 0.13.0", "nohash-hasher", "once_cell", "parking_lot", @@ -5337,7 +5397,7 @@ dependencies = [ "clap", "document-features", "env_logger", - "itertools 0.12.0", + "itertools 0.13.0", "log", "puffin", "rayon", @@ -5403,7 +5463,7 @@ version = "0.17.0-alpha.3" dependencies = [ "crossbeam", "document-features", - "itertools 0.12.0", + "itertools 0.13.0", "mimalloc", "once_cell", "parking_lot", @@ -5784,7 +5844,7 @@ version = "0.38.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys 0.4.11", @@ -6089,7 +6149,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "calloop", "calloop-wayland-source", "cursor-icon", @@ -6132,7 +6192,7 @@ dependencies = [ name = "snippets" version = "0.17.0-alpha.3" dependencies = [ - "itertools 0.12.0", + "itertools 0.13.0", "ndarray", "rand", "re_build_tools", @@ -6169,7 +6229,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.1", + "bitflags 2.5.0", ] [[package]] @@ -6303,7 +6363,7 @@ dependencies = [ "anyhow", "clap", "glam", - "itertools 0.12.0", + "itertools 0.13.0", "ndarray", "ndarray-rand", "rand", @@ -6364,9 +6424,9 @@ dependencies = [ [[package]] name = "tiff" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7449334f9ff2baf290d55d73983a7d6fa15e01198faef72af07e2a8db851e471" +checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" dependencies = [ "flate2", "jpeg-decoder", @@ -6975,7 +7035,7 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "nix", "wayland-backend", "wayland-scanner", @@ -6987,7 +7047,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "cursor-icon", "wayland-backend", ] @@ -7009,7 +7069,7 @@ version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -7021,7 +7081,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7034,7 +7094,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7087,17 +7147,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.1", "core-foundation", "home", "jni", "log", "ndk-context", - "objc", - "raw-window-handle 0.5.2", + "objc2 0.5.2", + "objc2-foundation", "url", "web-sys", ] @@ -7156,7 +7217,7 @@ checksum = "28b94525fc99ba9e5c9a9e24764f2bc29bad0911a7446c12f446a8277369bf3a" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.4.1", + "bitflags 2.5.0", "cfg_aliases 0.1.1", "codespan-reporting", "indexmap 2.1.0", @@ -7183,7 +7244,7 @@ dependencies = [ "android_system_properties", "arrayvec", "ash", - "bitflags 2.4.1", + "bitflags 2.5.0", "block", "cfg_aliases 0.1.1", "core-graphics-types", @@ -7222,7 +7283,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b671ff9fb03f78b46ff176494ee1ebe7d603393f42664be55b64dc8d53969805" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.5.0", "js-sys", "web-sys", ] @@ -7528,14 +7589,14 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winit" -version = "0.29.9" +version = "0.29.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2376dab13e09c01ad8b679f0dbc7038af4ec43d9a91344338e37bd686481550" +checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.4.1", + "bitflags 2.5.0", "bytemuck", "calloop", "cfg_aliases 0.1.1", @@ -7641,11 +7702,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.1", + "bitflags 2.5.0", "dlib", "log", "once_cell", diff --git a/Cargo.toml b/Cargo.toml index 1f6f7b8112b1..fce5ac4c73eb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -91,12 +91,11 @@ eframe = { version = "0.27.2", default-features = false, features = [ ] } egui = { version = "0.27.2", features = [ "callstack", - "extra_debug_asserts", "log", "puffin", "rayon", ] } -egui_commonmark = { version = "0.15", default-features = false } +egui_commonmark = { version = "0.16", default-features = false } egui_extras = { version = "0.27.2", features = ["http", "image", "puffin"] } egui_plot = "0.27.2" egui_tiles = "0.8.0" @@ -145,13 +144,13 @@ glam = "0.22" # glam update blocked by macaw glob = "0.3" gltf = "1.1" half = "2.3.1" -image = { version = "0.24", default-features = false } +image = { version = "0.25", default-features = false } indent = "0.1" indexmap = "2.1" # Version chosen to align with other dependencies indicatif = "0.17.7" # Progress bar infer = "0.15" # infer MIME type by checking the magic number signaturefer MIME type by checking the magic number signature insta = "1.23" -itertools = "0.12" # updating itertools is blocked on the next egui_tiles update +itertools = "0.13" js-sys = "0.3" libc = "0.2" linked-hash-map = { version = "0.5", default-features = false } @@ -239,7 +238,7 @@ wasm-bindgen-cli-support = "0.2.89" wasm-bindgen-futures = "0.4.33" web-sys = "0.3" web-time = "0.2.0" -webbrowser = "0.8" +webbrowser = "1.0" winit = { version = "0.29.9", default-features = false } # TODO(andreas): Try to get rid of `fragile-send-sync-non-atomic-wasm`. This requires re_renderer being aware of single-thread restriction on resources. # See also https://gpuweb.github.io/gpuweb/explainer/#multithreading-transfer (unsolved part of the Spec as of writing!) @@ -260,8 +259,6 @@ wgpu = { version = "0.19.4", default-features = false, features = [ wgpu-core = "0.19.4" xshell = "0.2" zip = { version = "0.6", default-features = false } -zune-core = "0.4" -zune-jpeg = "0.4" [profile.dev] @@ -455,13 +452,13 @@ missing_errors_doc = "allow" # As a last resport, patch with a commit to our own repository. # ALWAYS document what PR the commit hash is part of, or when it was merged into the upstream trunk. -# ecolor = { git = "https://github.com/emilk/egui.git", rev = "8a10f81ca01b2ba4e0bd6e08d02fdd2063f1ddcc" } # egui master 2024-03-26 -# eframe = { git = "https://github.com/emilk/egui.git", rev = "8a10f81ca01b2ba4e0bd6e08d02fdd2063f1ddcc" } # egui master 2024-03-26 -# egui = { git = "https://github.com/emilk/egui.git", rev = "8a10f81ca01b2ba4e0bd6e08d02fdd2063f1ddcc" } # egui master 2024-03-26 -# egui_extras = { git = "https://github.com/emilk/egui.git", rev = "8a10f81ca01b2ba4e0bd6e08d02fdd2063f1ddcc" } # egui master 2024-03-26 -# egui_plot = { git = "https://github.com/emilk/egui.git", rev = "8a10f81ca01b2ba4e0bd6e08d02fdd2063f1ddcc" } # egui master 2024-03-26 -# egui-wgpu = { git = "https://github.com/emilk/egui.git", rev = "8a10f81ca01b2ba4e0bd6e08d02fdd2063f1ddcc" } # egui master 2024-03-26 -# emath = { git = "https://github.com/emilk/egui.git", rev = "8a10f81ca01b2ba4e0bd6e08d02fdd2063f1ddcc" } # egui master 2024-03-26 +ecolor = { git = "https://github.com/emilk/egui.git", rev = "54429e0549e829c64b8de1b66f846fdf1a7ee37c" } # egui master 2024-05-28 +eframe = { git = "https://github.com/emilk/egui.git", rev = "54429e0549e829c64b8de1b66f846fdf1a7ee37c" } # egui master 2024-05-28 +egui = { git = "https://github.com/emilk/egui.git", rev = "54429e0549e829c64b8de1b66f846fdf1a7ee37c" } # egui master 2024-05-28 +egui_extras = { git = "https://github.com/emilk/egui.git", rev = "54429e0549e829c64b8de1b66f846fdf1a7ee37c" } # egui master 2024-05-28 +egui_plot = { git = "https://github.com/emilk/egui.git", rev = "54429e0549e829c64b8de1b66f846fdf1a7ee37c" } # egui master 2024-05-28 +egui-wgpu = { git = "https://github.com/emilk/egui.git", rev = "54429e0549e829c64b8de1b66f846fdf1a7ee37c" } # egui master 2024-05-28 +emath = { git = "https://github.com/emilk/egui.git", rev = "54429e0549e829c64b8de1b66f846fdf1a7ee37c" } # egui master 2024-05-28 # Useful while developing: # ecolor = { path = "../../egui/crates/ecolor" } @@ -472,6 +469,6 @@ missing_errors_doc = "allow" # egui-wgpu = { path = "../../egui/crates/egui-wgpu" } # emath = { path = "../../egui/crates/emath" } -# egui_tiles = { git = "https://github.com/rerun-io/egui_tiles", rev = "5245a28df8a3a5befd0c55085de4f7044a6d831e" } # main 2024-02-27, which works with egui master +egui_tiles = { git = "https://github.com/rerun-io/egui_tiles", rev = "7a9ef17dd873efc2c803a0a91a64246ab1a2fa83" } # main 2024-05-28, which works with egui master -# egui_commonmark = { git = "https://github.com/rerun-io/egui_commonmark", rev = "3d83a92f995a1d18ab1172d0b129d496e0eedaae" } # Update to egui 0.25 https://github.com/lampsitter/egui_commonmark/pull/27 +egui_commonmark = { git = "https://github.com/rerun-io/egui_commonmark", rev = "1c08d5ea58d60c6a61487b5eecefdfdb35c47036" } # https://github.com/lampsitter/egui_commonmark/pull/51 diff --git a/crates/re_data_ui/src/item_ui.rs b/crates/re_data_ui/src/item_ui.rs index 751de737fd73..82fb0d74962a 100644 --- a/crates/re_data_ui/src/item_ui.rs +++ b/crates/re_data_ui/src/item_ui.rs @@ -411,7 +411,7 @@ pub fn component_path_button_to( let response = response.on_hover_ui(|ui| { // TODO(egui#4471): better tooltip size management ui.set_max_width(250.0); - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); // wrap lone item list_item::list_item_scope(ui, "component_path_tooltip", |ui| { diff --git a/crates/re_data_ui/src/lib.rs b/crates/re_data_ui/src/lib.rs index fa9dd93e2c37..b97e05ba024c 100644 --- a/crates/re_data_ui/src/lib.rs +++ b/crates/re_data_ui/src/lib.rs @@ -220,9 +220,9 @@ pub fn label_for_ui_layout( let mut label = egui::Label::new(text); match ui_layout { - UiLayout::List => label = label.truncate(true), + UiLayout::List => label = label.truncate(), UiLayout::Tooltip | UiLayout::SelectionPanelLimitHeight | UiLayout::SelectionPanelFull => { - label = label.wrap(true); + label = label.wrap(); } } diff --git a/crates/re_edit_ui/src/corner2d.rs b/crates/re_edit_ui/src/corner2d.rs index 2f2f49369564..4dd04fe01adf 100644 --- a/crates/re_edit_ui/src/corner2d.rs +++ b/crates/re_edit_ui/src/corner2d.rs @@ -25,7 +25,7 @@ pub fn edit_corner2d( egui::ComboBox::from_id_source("corner2d") .selected_text(format!("{corner}")) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.set_min_width(64.0); ui.selectable_value( diff --git a/crates/re_edit_ui/src/lib.rs b/crates/re_edit_ui/src/lib.rs index 08c63a25f29e..d04ee788cce1 100644 --- a/crates/re_edit_ui/src/lib.rs +++ b/crates/re_edit_ui/src/lib.rs @@ -172,7 +172,7 @@ fn edit_scatter_ui( egui::ComboBox::from_id_source("scatter") .selected_text(scattered_text) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.selectable_value(&mut edit_scatter, false, "Line"); ui.selectable_value(&mut edit_scatter, true, "Scattered"); }); @@ -277,11 +277,7 @@ fn edit_marker_shape_ui( // workaround to force `ui.max_rect()` to reflect the content size ui.set_width(item_width); - let background_x_range = ui - .spacing() - .menu_margin - .expand_rect(ui.max_rect()) - .x_range(); + let background_x_range = (ui.max_rect() + ui.spacing().menu_margin).x_range(); let list_ui = |ui: &mut egui::Ui| { for marker in MarkerShape::ALL { diff --git a/crates/re_log/src/lib.rs b/crates/re_log/src/lib.rs index 3a8fc97e624e..71cb27234b4c 100644 --- a/crates/re_log/src/lib.rs +++ b/crates/re_log/src/lib.rs @@ -51,8 +51,6 @@ pub mod external { /// Never log anything less serious than a `ERROR` from these crates. const CRATES_AT_ERROR_LEVEL: &[&str] = &[ - // Waiting for https://github.com/etemesi254/zune-image/issues/131 to be released - "zune_jpeg", // silence rustls in release mode: https://github.com/rerun-io/rerun/issues/3104 #[cfg(not(debug_assertions))] "rustls", diff --git a/crates/re_selection_panel/src/override_ui.rs b/crates/re_selection_panel/src/override_ui.rs index cca26fcf6be5..7377eb651560 100644 --- a/crates/re_selection_panel/src/override_ui.rs +++ b/crates/re_selection_panel/src/override_ui.rs @@ -193,7 +193,7 @@ pub fn add_new_override( let menu = ui .menu_button("Add", |ui| { opened = true; - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); // Present the option to add new components for each component that doesn't // already have an active override. @@ -410,7 +410,7 @@ pub fn add_new_visualizer( ui.add_enabled_ui(enabled, |ui| { let menu = ui .menu_button("Add", |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); opened = true; if visualizer_options.is_empty() { diff --git a/crates/re_selection_panel/src/selection_panel.rs b/crates/re_selection_panel/src/selection_panel.rs index 602991000a6b..317d222f741a 100644 --- a/crates/re_selection_panel/src/selection_panel.rs +++ b/crates/re_selection_panel/src/selection_panel.rs @@ -964,7 +964,7 @@ fn container_top_level_properties( egui::ComboBox::from_id_source("container_grid_columns") .selected_text(columns_to_string(&new_columns)) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.set_min_width(64.0); ui.selectable_value(&mut new_columns, None, columns_to_string(&None)); @@ -1043,7 +1043,7 @@ fn container_kind_selection_ui( let selected_text = format!("{in_out_kind:?}"); re_ui::drop_down_menu(ui, "container_kind", min_width, selected_text, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); static_assertions::const_assert_eq!(ContainerKind::ALL.len(), 4); for (kind, icon) in [ diff --git a/crates/re_space_view_bar_chart/src/space_view_class.rs b/crates/re_space_view_bar_chart/src/space_view_class.rs index 56863531807b..7732bbbaac64 100644 --- a/crates/re_space_view_bar_chart/src/space_view_class.rs +++ b/crates/re_space_view_bar_chart/src/space_view_class.rs @@ -131,7 +131,7 @@ impl SpaceViewClass for BarChartSpaceView { egui::ComboBox::from_id_source("legend_corner") .selected_text(corner.to_string()) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.set_min_width(64.0); ui.selectable_value( diff --git a/crates/re_space_view_dataframe/src/space_view_class.rs b/crates/re_space_view_dataframe/src/space_view_class.rs index c57803e0d751..854f43cbd3f2 100644 --- a/crates/re_space_view_dataframe/src/space_view_class.rs +++ b/crates/re_space_view_dataframe/src/space_view_class.rs @@ -186,7 +186,7 @@ impl SpaceViewClass for DataframeSpaceView { egui::ScrollArea::both() .auto_shrink([false, false]) .show(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); egui::Frame { inner_margin: egui::Margin::same(5.0), diff --git a/crates/re_space_view_spatial/src/space_view_2d.rs b/crates/re_space_view_spatial/src/space_view_2d.rs index 778f663dd2a5..26880af26d19 100644 --- a/crates/re_space_view_spatial/src/space_view_2d.rs +++ b/crates/re_space_view_spatial/src/space_view_2d.rs @@ -296,7 +296,7 @@ fn visual_bounds_ui(ctx: &ViewerContext<'_>, space_view_id: SpaceViewId, ui: &mu .grid_left_hand_label(ui, "Visible bounds") .on_hover_text(tooltip); ui.vertical(|ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); if let Some(bounds2d) = bounds2d_opt { let rect = egui::Rect::from(*bounds2d); diff --git a/crates/re_space_view_spatial/src/ui.rs b/crates/re_space_view_spatial/src/ui.rs index b3240fd51eba..ecd6c3a74cb0 100644 --- a/crates/re_space_view_spatial/src/ui.rs +++ b/crates/re_space_view_spatial/src/ui.rs @@ -101,7 +101,7 @@ impl SpatialSpaceViewState { .grid_left_hand_label(ui, "Bounding box") .on_hover_text("The bounding box encompassing all Entities in the view right now"); ui.vertical(|ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); let BoundingBox { min, max } = self.bounding_boxes.current; ui.label(format!("x [{} - {}]", format_f32(min.x), format_f32(max.x),)); ui.label(format!("y [{} - {}]", format_f32(min.y), format_f32(max.y),)); @@ -211,7 +211,7 @@ fn size_ui( egui::ComboBox::from_id_source("auto_size_mode") .selected_text(mode) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.set_min_width(64.0); ui.selectable_value(&mut mode, AutoSizeUnit::Auto, AutoSizeUnit::Auto) @@ -392,7 +392,7 @@ pub fn screenshot_context_menu( if _ctx.app_options.experimental_space_view_screenshots { let mut take_screenshot = None; _response.context_menu(|ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); if ui.button("Save screenshot to disk").clicked() { take_screenshot = Some(ScreenshotMode::SaveAndCopyToClipboard); ui.close_menu(); diff --git a/crates/re_space_view_tensor/src/space_view_class.rs b/crates/re_space_view_tensor/src/space_view_class.rs index b13fff2baba0..1889e5b58217 100644 --- a/crates/re_space_view_tensor/src/space_view_class.rs +++ b/crates/re_space_view_tensor/src/space_view_class.rs @@ -474,7 +474,7 @@ impl TextureSettings { egui::ComboBox::from_id_source("texture_scaling") .selected_text(scaling.to_string()) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.set_min_width(64.0); let mut selectable_value = @@ -501,7 +501,7 @@ impl TextureSettings { egui::ComboBox::from_id_source("texture_filter") .selected_text(tf_to_string(options.magnification)) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.set_min_width(64.0); let mut selectable_value = |ui: &mut egui::Ui, e| { diff --git a/crates/re_space_view_text_document/src/space_view_class.rs b/crates/re_space_view_text_document/src/space_view_class.rs index 2158c2e717f0..16c704f2b1b6 100644 --- a/crates/re_space_view_text_document/src/space_view_class.rs +++ b/crates/re_space_view_text_document/src/space_view_class.rs @@ -173,7 +173,11 @@ impl SpaceViewClass for TextDocumentSpaceView { text = text.monospace(); } - ui.add(Label::new(text).wrap(state.word_wrap)); + ui.add(Label::new(text).wrap_mode(if state.word_wrap { + egui::TextWrapMode::Wrap + } else { + egui::TextWrapMode::Extend + })); } else { // TODO(jleibs): better handling for multiple results ui.label(format!( diff --git a/crates/re_space_view_time_series/src/space_view_class.rs b/crates/re_space_view_time_series/src/space_view_class.rs index 8af064c0340e..0ab2f61bfab5 100644 --- a/crates/re_space_view_time_series/src/space_view_class.rs +++ b/crates/re_space_view_time_series/src/space_view_class.rs @@ -165,7 +165,7 @@ impl SpaceViewClass for TimeSeriesSpaceView { egui::ComboBox::from_id_source("aggregation_mode") .selected_text(agg_mode.to_string()) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.set_min_width(64.0); for variant in TimeSeriesAggregator::variants() { diff --git a/crates/re_time_panel/src/lib.rs b/crates/re_time_panel/src/lib.rs index 5de13b450a98..3834e1410e15 100644 --- a/crates/re_time_panel/src/lib.rs +++ b/crates/re_time_panel/src/lib.rs @@ -365,7 +365,7 @@ impl TimePanel { let size = egui::vec2(self.prev_col_width, 28.0); ui.allocate_ui_with_layout(size, egui::Layout::top_down(egui::Align::LEFT), |ui| { ui.set_min_size(size); - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.add_space(4.0); // hack to vertically center the text if self.source == TimePanelSource::Blueprint { ui.strong("Blueprint Streams"); diff --git a/crates/re_time_panel/src/time_control_ui.rs b/crates/re_time_panel/src/time_control_ui.rs index ff164db6cb66..ca45736790d1 100644 --- a/crates/re_time_panel/src/time_control_ui.rs +++ b/crates/re_time_panel/src/time_control_ui.rs @@ -27,7 +27,7 @@ impl TimeControlUi { egui::ComboBox::from_id_source("timeline") .selected_text(time_control.timeline().name().as_str()) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.set_min_width(64.0); for timeline in times_per_timeline.timelines() { diff --git a/crates/re_types/Cargo.toml b/crates/re_types/Cargo.toml index 6dc2a6b6ec00..efba7c322c42 100644 --- a/crates/re_types/Cargo.toml +++ b/crates/re_types/Cargo.toml @@ -37,7 +37,7 @@ egui_plot = ["dep:egui_plot"] glam = ["dep:glam"] ## Integration with the [`image`](https://crates.io/crates/image/) crate, plus JPEG support. -image = ["dep:ecolor", "dep:image", "dep:zune-core", "dep:zune-jpeg"] +image = ["dep:ecolor", "dep:image"] ## Enable (de)serialization using serde. serde = ["dep:serde"] @@ -81,11 +81,11 @@ uuid = { workspace = true, features = ["serde", "v4", "js"] } ecolor = { workspace = true, optional = true } egui_plot = { workspace = true, optional = true } glam = { workspace = true, optional = true } -image = { workspace = true, optional = true, default-features = false } +image = { workspace = true, optional = true, default-features = false, features = [ + "jpeg", +] } mint = { workspace = true, optional = true } serde = { workspace = true, optional = true, features = ["derive", "rc"] } -zune-core = { workspace = true, optional = true } -zune-jpeg = { workspace = true, optional = true } [dev-dependencies] diff --git a/crates/re_types/src/datatypes/tensor_data_ext.rs b/crates/re_types/src/datatypes/tensor_data_ext.rs index e43765ad5bb4..4d8eacd44cab 100644 --- a/crates/re_types/src/datatypes/tensor_data_ext.rs +++ b/crates/re_types/src/datatypes/tensor_data_ext.rs @@ -647,19 +647,17 @@ impl TensorData { pub fn from_jpeg_bytes(jpeg_bytes: Vec) -> Result { re_tracing::profile_function!(); - use zune_jpeg::JpegDecoder; - - let mut decoder = JpegDecoder::new(&jpeg_bytes); - decoder.decode_headers()?; - let (w, h) = decoder - .dimensions() - .expect("can't fail after a successful decode_headers"); + // Parse JPEG header: + use image::ImageDecoder as _; + let jpeg = image::codecs::jpeg::JpegDecoder::new(std::io::Cursor::new(&jpeg_bytes))?; + let (w, h) = jpeg.dimensions(); + let depth = jpeg.color_type().channel_count(); Ok(Self { shape: vec![ TensorDimension::height(h as _), TensorDimension::width(w as _), - TensorDimension::depth(3), + TensorDimension::depth(depth as _), ], buffer: TensorBuffer::Jpeg(jpeg_bytes.into()), }) diff --git a/crates/re_types/src/tensor_data.rs b/crates/re_types/src/tensor_data.rs index c80aaf4a9f55..31dcc37e6615 100644 --- a/crates/re_types/src/tensor_data.rs +++ b/crates/re_types/src/tensor_data.rs @@ -47,9 +47,6 @@ pub enum TensorImageLoadError { #[error("The encoded tensor shape did not match its metadata {expected:?} != {found:?}")] InvalidMetaData { expected: Vec, found: Vec }, - - #[error(transparent)] - JpegDecode(#[from] zune_jpeg::errors::DecodeErrors), } #[cfg(feature = "image")] @@ -562,62 +559,31 @@ impl DecodedTensor { /// Decode the contents of a JPEG file, with the given expected size. /// /// Returns an error if the size does not match. - fn decode_jpeg_bytes( + pub fn decode_jpeg_bytes( jpeg_bytes: &[u8], [expected_height, expected_width, expected_channels]: [u64; 3], ) -> Result { re_tracing::profile_function!(format!("{expected_width}x{expected_height}")); - use zune_core::colorspace::ColorSpace; - use zune_core::options::DecoderOptions; - use zune_jpeg::JpegDecoder; - - let mut options = DecoderOptions::default(); - - let depth = if expected_channels == 1 { - options = options.jpeg_set_out_colorspace(ColorSpace::Luma); - 1 - } else { - // We decode to RGBA directly so we don't need to pad to four bytes later when uploading to GPU. - options = options.jpeg_set_out_colorspace(ColorSpace::RGBA); - 4 + use image::io::Reader as ImageReader; + let mut reader = ImageReader::new(std::io::Cursor::new(jpeg_bytes)); + reader.set_format(image::ImageFormat::Jpeg); + let img = { + re_tracing::profile_scope!("decode_jpeg"); + reader.decode()? }; - let mut decoder = JpegDecoder::new_with_options(jpeg_bytes, options); - let pixels = decoder.decode()?; - let (w, h) = decoder - .dimensions() - .expect("can't fail after a successful decode"); - - let (w, h) = (w as u64, h as u64); + let (w, h) = (img.width() as u64, img.height() as u64); + let channels = img.color().channel_count() as u64; - if w != expected_width || h != expected_height { + if (w, h, channels) != (expected_width, expected_height, expected_channels) { return Err(TensorImageLoadError::InvalidMetaData { expected: [expected_height, expected_width, expected_channels].into(), - found: [h, w, depth].into(), + found: [h, w, channels].into(), }); } - if pixels.len() as u64 != w * h * depth { - return Err(zune_jpeg::errors::DecodeErrors::Format(format!( - "Bug in zune-jpeg: Expected {w}x{h}x{depth}={} bytes, got {}", - w * h * depth, - pixels.len() - )) - .into()); - } - - let tensor = TensorData { - shape: vec![ - TensorDimension::height(h), - TensorDimension::width(w), - TensorDimension::depth(depth), - ], - buffer: TensorBuffer::U8(pixels.into()), - }; - let decoded_tensor = Self(tensor); - - Ok(decoded_tensor) + Self::from_image(img) } } diff --git a/crates/re_types_builder/src/codegen/docs/mod.rs b/crates/re_types_builder/src/codegen/docs/mod.rs index 8ce1be89a9ab..b7e8da64557b 100644 --- a/crates/re_types_builder/src/codegen/docs/mod.rs +++ b/crates/re_types_builder/src/codegen/docs/mod.rs @@ -170,7 +170,7 @@ fn index_page(kind: ObjectKind, order: u64, prelude: &str, objects: &[&Object]) a.doc_category().cmp(&b.doc_category()) } }) - .group_by(|o| o.doc_category()) + .chunk_by(|o| o.doc_category()) { if category.is_some() { any_category = true; diff --git a/crates/re_ui/examples/re_ui_example/main.rs b/crates/re_ui/examples/re_ui_example/main.rs index 5875680f368d..39380ca7258c 100644 --- a/crates/re_ui/examples/re_ui_example/main.rs +++ b/crates/re_ui/examples/re_ui_example/main.rs @@ -249,7 +249,7 @@ impl eframe::App for ExampleApp { }); self.re_ui .large_collapsing_header(ui, "Blueprint", true, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.label("Some blueprint stuff here, that might be wide."); self.re_ui.checkbox(ui, &mut self.dummy_bool, "Checkbox"); diff --git a/crates/re_ui/src/command_palette.rs b/crates/re_ui/src/command_palette.rs index 3e97e7e7b240..67c77710b959 100644 --- a/crates/re_ui/src/command_palette.rs +++ b/crates/re_ui/src/command_palette.rs @@ -34,7 +34,7 @@ impl CommandPalette { .fixed_size([width, max_height]) .pivot(egui::Align2::CENTER_TOP) .resizable(false) - .scroll2(false) + .scroll(false) .title_bar(false) .show(egui_ctx, |ui| { // We need an extra egui frame here because we set clip_rect_margin to zero. @@ -136,7 +136,7 @@ impl CommandPalette { // TODO(emilk): shorten long text using '…' let galley = text.into_galley( ui, - Some(false), + Some(egui::TextWrapMode::Extend), f32::INFINITY, egui::FontSelection::default(), ); diff --git a/crates/re_ui/src/lib.rs b/crates/re_ui/src/lib.rs index 58daa3c547db..427aedff67e0 100644 --- a/crates/re_ui/src/lib.rs +++ b/crates/re_ui/src/lib.rs @@ -66,10 +66,9 @@ pub enum LabelStyle { // ---------------------------------------------------------------------------- -use egui::emath::{Rangef, Rot2}; use egui::{ - epaint::util::FloatOrd, pos2, Align2, CollapsingResponse, Color32, Mesh, NumExt, Rect, Shape, - Ui, Vec2, Widget, + emath::{Float, Rangef, Rot2}, + pos2, Align2, CollapsingResponse, Color32, Mesh, NumExt, Rect, Shape, Ui, Vec2, Widget, }; #[derive(Debug, Clone)] @@ -684,10 +683,9 @@ impl ReUi { let indent = 18.0; let text_pos = available.min + egui::vec2(indent, 0.0); let wrap_width = available.right() - text_pos.x; - let wrap = Some(false); let galley = egui::WidgetText::from(label).into_galley( ui, - wrap, + Some(egui::TextWrapMode::Extend), wrap_width, egui::TextStyle::Button, ); @@ -1308,11 +1306,7 @@ pub fn drop_down_menu( .show_ui(ui, |ui| { ui.set_min_width(min_width); - let background_x_range = ui - .spacing() - .menu_margin - .expand_rect(ui.max_rect()) - .x_range(); + let background_x_range = (ui.max_rect() + ui.spacing().menu_margin).x_range(); list_item::list_item_scope(ui, "inner_scope", |ui| { full_span::full_span_scope(ui, background_x_range, |ui| { diff --git a/crates/re_ui/src/list_item/property_content.rs b/crates/re_ui/src/list_item/property_content.rs index f469b87d6733..de81ad37ec61 100644 --- a/crates/re_ui/src/list_item/property_content.rs +++ b/crates/re_ui/src/list_item/property_content.rs @@ -175,7 +175,7 @@ impl<'a> PropertyContent<'a> { #[inline] pub fn value_text(self, text: impl Into + 'a) -> Self { self.value_fn(move |_, ui, _| { - ui.add(egui::Label::new(text.into()).truncate(true)); + ui.add(egui::Label::new(text.into()).truncate()); }) } diff --git a/crates/re_ui/src/toasts.rs b/crates/re_ui/src/toasts.rs index 59b0480b1b9a..c78ca288c382 100644 --- a/crates/re_ui/src/toasts.rs +++ b/crates/re_ui/src/toasts.rs @@ -133,7 +133,7 @@ fn default_toast_contents(ui: &mut egui::Ui, toast: &Toast) -> egui::Response { .inner_margin(10.0) .show(ui, |ui| { ui.horizontal(|ui| { - ui.style_mut().wrap = Some(true); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Wrap); ui.set_max_width(400.0); ui.spacing_mut().item_spacing = egui::Vec2::splat(5.0); diff --git a/crates/re_viewer/src/ui/memory_panel.rs b/crates/re_viewer/src/ui/memory_panel.rs index 9b896e97a98a..c7bf4ca9f953 100644 --- a/crates/re_viewer/src/ui/memory_panel.rs +++ b/crates/re_viewer/src/ui/memory_panel.rs @@ -153,7 +153,7 @@ impl MemoryPanel { re_memory::accounting_allocator::set_tracking_callstacks(is_tracking_callstacks); if let Some(tracking_stats) = re_memory::accounting_allocator::tracking_stats() { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); Self::tracking_stats(ui, tracking_stats); } else if !cfg!(target_arch = "wasm32") { ui.label(format!( diff --git a/crates/re_viewer/src/ui/rerun_menu.rs b/crates/re_viewer/src/ui/rerun_menu.rs index dc0575c886a2..d112548c44c0 100644 --- a/crates/re_viewer/src/ui/rerun_menu.rs +++ b/crates/re_viewer/src/ui/rerun_menu.rs @@ -80,7 +80,7 @@ impl App { ui.add_space(SPACING); ui.menu_button("Options", |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); options_menu_ui( &self.command_sender, &self.re_ui, @@ -92,7 +92,7 @@ impl App { #[cfg(debug_assertions)] ui.menu_button("Debug", |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); debug_menu_options_ui( &self.re_ui, ui, @@ -130,7 +130,7 @@ impl App { datetime, } = *self.build_info(); - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); let git_hash_suffix = if git_hash.is_empty() { String::new() diff --git a/crates/re_viewer/src/ui/top_panel.rs b/crates/re_viewer/src/ui/top_panel.rs index 0d1a7d554bed..1e11edb06fd2 100644 --- a/crates/re_viewer/src/ui/top_panel.rs +++ b/crates/re_viewer/src/ui/top_panel.rs @@ -141,7 +141,7 @@ fn top_bar_ui( // Warn if in debug build if cfg!(debug_assertions) && !app.is_screenshotting() { ui.vertical_centered(|ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.add_space(6.0); // TODO(emilk): in egui, add a proper way of centering a single widget in a UI. egui::warn_if_debug_build(ui); }); diff --git a/crates/re_viewer/src/ui/welcome_screen/example_section.rs b/crates/re_viewer/src/ui/welcome_screen/example_section.rs index 5d333aa24fad..49a11c1c3f82 100644 --- a/crates/re_viewer/src/ui/welcome_screen/example_section.rs +++ b/crates/re_viewer/src/ui/welcome_screen/example_section.rs @@ -553,7 +553,7 @@ impl ExampleDescLayout { ..Default::default() } .show(ui, |ui| { - ui.add(egui::Label::new(title).truncate(true)); + ui.add(egui::Label::new(title).truncate()); }); } @@ -581,7 +581,7 @@ impl ExampleDescLayout { 1.0, egui::Color32::WHITE.gamma_multiply(0.086), )) - .wrap(false), + .wrap_mode(egui::TextWrapMode::Extend), ); } }); diff --git a/crates/re_viewer/src/ui/welcome_screen/no_data_ui.rs b/crates/re_viewer/src/ui/welcome_screen/no_data_ui.rs index 6c0ae92e39c2..5d86c114f9a8 100644 --- a/crates/re_viewer/src/ui/welcome_screen/no_data_ui.rs +++ b/crates/re_viewer/src/ui/welcome_screen/no_data_ui.rs @@ -13,7 +13,7 @@ pub fn no_data_ui(ui: &mut egui::Ui) { .line_height(Some(36.0)) .text_style(re_ui::ReUi::welcome_screen_h2()), ) - .wrap(true), + .wrap(), ); ui.add_space(10.0); @@ -29,7 +29,7 @@ pub fn no_data_ui(ui: &mut egui::Ui) { .color(ui.visuals().weak_text_color()) .text_style(re_ui::ReUi::welcome_screen_body()), ) - .wrap(true), + .wrap(), ); }); ui.add_space(4.0); diff --git a/crates/re_viewer/src/ui/welcome_screen/welcome_section.rs b/crates/re_viewer/src/ui/welcome_screen/welcome_section.rs index a28873a9f443..71f77360437f 100644 --- a/crates/re_viewer/src/ui/welcome_screen/welcome_section.rs +++ b/crates/re_viewer/src/ui/welcome_screen/welcome_section.rs @@ -24,7 +24,7 @@ pub(super) fn welcome_section_ui(ui: &mut egui::Ui) { .line_height(Some(line_height)) .text_style(style), ) - .wrap(true), + .wrap(), ); ui.add_space(18.0); @@ -40,7 +40,7 @@ pub(super) fn welcome_section_ui(ui: &mut egui::Ui) { .color(ui.visuals().widgets.active.text_color()) .text_style(re_ui::ReUi::welcome_screen_body()), ) - .wrap(true), + .wrap(), ); }); ui.add_space(4.0); diff --git a/crates/re_viewer_context/src/gpu_bridge/colormap.rs b/crates/re_viewer_context/src/gpu_bridge/colormap.rs index dc75de5ceae5..1e24596577f5 100644 --- a/crates/re_viewer_context/src/gpu_bridge/colormap.rs +++ b/crates/re_viewer_context/src/gpu_bridge/colormap.rs @@ -95,11 +95,7 @@ pub fn colormap_dropdown_button_ui( .show_ui(ui, |ui| { ui.set_width(200.0); - let background_x_range = ui - .spacing() - .menu_margin - .expand_rect(ui.max_rect()) - .x_range(); + let background_x_range = (ui.max_rect() + ui.spacing().menu_margin).x_range(); list_item::list_item_scope(ui, "inner_scope", |ui| { full_span::full_span_scope(ui, background_x_range, content_ui); diff --git a/crates/re_viewport/src/viewport.rs b/crates/re_viewport/src/viewport.rs index d47f6ee189f6..1183034ad9f2 100644 --- a/crates/re_viewport/src/viewport.rs +++ b/crates/re_viewport/src/viewport.rs @@ -884,7 +884,7 @@ impl TabWidget { }; let font_id = egui::TextStyle::Button.resolve(ui.style()); - let galley = text.into_galley(ui, Some(false), f32::INFINITY, font_id); + let galley = text.into_galley(ui, Some(egui::TextWrapMode::Extend), f32::INFINITY, font_id); let x_margin = tab_viewer.tab_title_spacing(ui.visuals()); let (_, rect) = ui.allocate_space(egui::vec2( diff --git a/crates/re_viewport_blueprint/src/ui/add_space_view_or_container_modal.rs b/crates/re_viewport_blueprint/src/ui/add_space_view_or_container_modal.rs index 112eb1eb8550..70de1a0f57ba 100644 --- a/crates/re_viewport_blueprint/src/ui/add_space_view_or_container_modal.rs +++ b/crates/re_viewport_blueprint/src/ui/add_space_view_or_container_modal.rs @@ -185,7 +185,7 @@ fn row_ui(ui: &mut egui::Ui, icon: &re_ui::Icon, title: &str, subtitle: &str) -> ui.vertical(|ui| { ui.strong(title); ui.add_space(-5.0); - ui.add(egui::Label::new(subtitle).wrap(false)); + ui.add(egui::Label::new(subtitle).wrap_mode(egui::TextWrapMode::Extend)); }); let right_coord = ui.cursor().max.x; diff --git a/deny.toml b/deny.toml index c7773eb03dd2..072a8afa43a0 100644 --- a/deny.toml +++ b/deny.toml @@ -49,6 +49,7 @@ skip = [ { name = "ahash" }, # Popular crate + fast release schedule = lots of crates still using old versions { name = "async-fs" }, # Old version via accesskit { name = "base64" }, # Too popular + { name = "block2" }, # Old version via winit 0.29 -> icrate 0.0.4 { name = "cargo_metadata" }, # Older version used by ply-rs. It's small, and it's build-time only! { name = "cfg_aliases" }, # Tiny macro-only crate. Winit and other use older version than us. { name = "hashbrown" }, # Old version used by polar-rs diff --git a/examples/rust/custom_space_view/src/color_coordinates_space_view.rs b/examples/rust/custom_space_view/src/color_coordinates_space_view.rs index 1105a29c7c88..bd612cca3493 100644 --- a/examples/rust/custom_space_view/src/color_coordinates_space_view.rs +++ b/examples/rust/custom_space_view/src/color_coordinates_space_view.rs @@ -138,7 +138,7 @@ impl SpaceViewClass for ColorCoordinatesSpaceView { egui::ComboBox::from_id_source("color_coordinates_mode") .selected_text(state.mode.to_string()) .show_ui(ui, |ui| { - ui.style_mut().wrap = Some(false); + ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend); ui.set_min_width(64.0); for mode in &ColorCoordinatesMode::ALL { diff --git a/examples/rust/dna/Cargo.toml b/examples/rust/dna/Cargo.toml index 85db0f48a2c2..f20d9fa11c8e 100644 --- a/examples/rust/dna/Cargo.toml +++ b/examples/rust/dna/Cargo.toml @@ -9,5 +9,5 @@ publish = false [dependencies] rerun = { path = "../../../crates/rerun" } -itertools = "0.12" +itertools = "0.13" rand = "0.8"