diff --git a/Cargo.lock b/Cargo.lock index 3038749..5ac701c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -465,12 +465,45 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "async-task" version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +[[package]] +name = "async-trait" +version = "0.1.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "atoi" version = "2.0.0" @@ -498,6 +531,53 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "axum" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper", + "tower 0.5.2", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper", + "tower-layer", + "tower-service", +] + [[package]] name = "az" version = "1.2.1" @@ -1508,12 +1588,6 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" -[[package]] -name = "bit-vec" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22" - [[package]] name = "bit-vec" version = "0.8.0" @@ -1808,6 +1882,16 @@ dependencies = [ "unicode-width 0.1.14", ] +[[package]] +name = "colored" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" +dependencies = [ + "lazy_static", + "windows-sys 0.59.0", +] + [[package]] name = "combine" version = "4.6.7" @@ -2269,9 +2353,9 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "ecolor" -version = "0.29.1" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775cfde491852059e386c4e1deb4aef381c617dc364184c6f6afee99b87c402b" +checksum = "7d72e9c39f6e11a2e922d04a34ec5e7ef522ea3f5a1acfca7a19d16ad5fe50f5" dependencies = [ "emath", ] @@ -2290,9 +2374,9 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "emath" -version = "0.29.1" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1fe0049ce51d0fb414d029e668dd72eb30bc2b739bf34296ed97bd33df544f3" +checksum = "c4fe73c1207b864ee40aa0b0c038d6092af1030744678c60188a05c28553515d" [[package]] name = "encase" @@ -2592,6 +2676,46 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -2823,6 +2947,25 @@ dependencies = [ "svg_fmt", ] +[[package]] +name = "h2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap 2.7.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "half" version = "2.4.1" @@ -2841,6 +2984,12 @@ version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c" +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.14.5" @@ -2889,12 +3038,111 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" +[[package]] +name = "http" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "hyper" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-timeout" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" +dependencies = [ + "hyper", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + [[package]] name = "iana-time-zone" version = "0.1.61" @@ -2947,6 +3195,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9f1a0777d972970f204fdf8ef319f1f4f8459131636d7e3c96c5d59570d0fa6" +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + [[package]] name = "indexmap" version = "2.7.0" @@ -3307,6 +3565,12 @@ dependencies = [ "regex-automata 0.1.10", ] +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + [[package]] name = "matrixmultiply" version = "0.3.9" @@ -3389,6 +3653,17 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.52.0", +] + [[package]] name = "naga" version = "23.0.0" @@ -3401,7 +3676,7 @@ dependencies = [ "cfg_aliases 0.1.1", "codespan-reporting", "hexf-parse", - "indexmap", + "indexmap 2.7.0", "log", "pp-rs", "rustc-hash", @@ -3420,7 +3695,7 @@ dependencies = [ "bit-set 0.5.3", "codespan-reporting", "data-encoding", - "indexmap", + "indexmap 2.7.0", "naga", "once_cell", "regex", @@ -4039,7 +4314,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset 0.4.2", - "indexmap", + "indexmap 2.7.0", "serde", "serde_derive", ] @@ -4070,6 +4345,12 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + [[package]] name = "piper" version = "0.2.4" @@ -4121,6 +4402,16 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "poll-promise" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6a58fecbf9da8965bcdb20ce4fd29788d1acee68ddbb64f0ba1b81bccdb7df" +dependencies = [ + "document-features", + "static_assertions", +] + [[package]] name = "polling" version = "3.7.4" @@ -4215,6 +4506,29 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" +[[package]] +name = "prost" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-derive" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" +dependencies = [ + "anyhow", + "itertools 0.13.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "puffin" version = "0.19.1" @@ -4341,9 +4655,9 @@ dependencies = [ [[package]] name = "re_arrow2" -version = "0.17.6" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "787fa1df3020f018e02c1f957edfc6890a73372444de397c36011cda61c9b489" +checksum = "2f046c5679b0f305d610f80d93fd51ad702cfc077bbe16d9553a1660a2505160" dependencies = [ "ahash", "arrow-array", @@ -4359,6 +4673,7 @@ dependencies = [ "ethnum", "foreign_vec", "getrandom", + "half", "hash_hasher", "hashbrown 0.14.5", "num-traits", @@ -4368,18 +4683,18 @@ dependencies = [ [[package]] name = "re_build_info" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "517bef56ed778112195a374333465ec3e4dc85fa9f490b9539be599434cbe8ba" +checksum = "5b88b413ebeee91520b7825e4fde0b65702394f5282f5e783e56d0d8155a536a" dependencies = [ "serde", ] [[package]] name = "re_build_tools" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d44a6a1eb8033fd1322cef92fbc0d2f1ae70e1d72e3fd949c998fdd52167c4c9" +checksum = "0892c63699ce6d5a87a8b18a8b2ab587124aa32fee251c1107fab44ca4e4c786" dependencies = [ "anyhow", "cargo_metadata 0.18.1", @@ -4390,23 +4705,34 @@ dependencies = [ "walkdir", ] +[[package]] +name = "re_capabilities" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ff19bd8c1f2604f4207847a80b1ffebe1654a24f422872b60e873e28b369462" +dependencies = [ + "document-features", + "static_assertions", +] + [[package]] name = "re_case" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f8d3c1ab2e48402e9db14c4ae219113d64cb6892a1da3859ca4cbaf3e0b7eae" +checksum = "07dce93a41adb3c620e2b03c1c995eb9ba57e520143ef7ee4d8b4f7e53514a36" dependencies = [ "convert_case", ] [[package]] name = "re_chunk" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da6d64af273dde39ddb3d97804b41a0f701ff649326a3f281298fd9ec105a523" +checksum = "1a0cc5e3e6c262b0c3b9babad886e30af36ca041da64121afbe68c6341e6d924" dependencies = [ "ahash", "anyhow", + "arrow", "bytemuck", "crossbeam", "document-features", @@ -4429,9 +4755,9 @@ dependencies = [ [[package]] name = "re_chunk_store" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a63ee2c9d18811c3bbbc36dfbfcf5dbacdd2fd0c28877624557fbc83afa1464" +checksum = "9468c4409588cba5cad103fe5205a922294ada40989cbbc13fd83a1ac982c932" dependencies = [ "ahash", "anyhow", @@ -4447,6 +4773,7 @@ dependencies = [ "re_log", "re_log_encoding", "re_log_types", + "re_protos", "re_tracing", "re_types_core", "thiserror", @@ -4455,9 +4782,9 @@ dependencies = [ [[package]] name = "re_crash_handler" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d391e5bbaabc4aaacd4c82b92df73b4f492ec37e049737e624001f9961cd4962" +checksum = "62bdf77e0a0c1310fa5c02b9d66e33b73693bbd61d44a93bcb3d58cae8a34156" dependencies = [ "backtrace", "econtext", @@ -4469,9 +4796,9 @@ dependencies = [ [[package]] name = "re_entity_db" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89fd21cf079b3d31d728867b8ee74349bfd2332cc90cf1edf46e6b400a4bbadf" +checksum = "eec319df6d68a71390aae382ae2982915c95ab3fa69bd286104e6954b46d8986" dependencies = [ "ahash", "document-features", @@ -4497,24 +4824,24 @@ dependencies = [ [[package]] name = "re_error" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56a532660bca60b95f2d3baeb6c0136fb61dfd2e9ce2759e4f8828b8a013107b" +checksum = "f0adebf7ffebab798e5171717bc99f228619cdf8bb9a79806346f3c41ef7a0f3" [[package]] name = "re_format" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff9572db5ecc863e03d7d6cd5a8062edda8a4f2bfff91bc9423d132d68146b19" +checksum = "b01706f49ef1e074aca58c7161280057f74ff181199c558146585b58f23c0ecd" dependencies = [ "num-traits", ] [[package]] name = "re_format_arrow" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e264d1a6593ff3fdc54ab6ed430e752c25749c4e5268b019c6b8acbb000c3d9" +checksum = "5f318b5363e4d798b08f2fa0c0135f0fd137136100000a06adae235ba368344f" dependencies = [ "comfy-table", "re_arrow2", @@ -4524,9 +4851,9 @@ dependencies = [ [[package]] name = "re_int_histogram" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713ac89c0e8143a32f54d13cf9b9bf55a0ad165e8193a1157d920dff29e81e4c" +checksum = "2bd1fc768a59b0ffd7178cf592d6290f48346ade4adb930862f2c7d83ded2d32" dependencies = [ "smallvec", "static_assertions", @@ -4534,9 +4861,9 @@ dependencies = [ [[package]] name = "re_log" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc6e1d8b0f15e887dde00051ec776cb64bf03151937aa26e64cfe3c0446e9da" +checksum = "fdd546fa37286a0114641cf7b271eca4bce3b4a20041ca378fb3530b8dc947b8" dependencies = [ "env_logger", "js-sys", @@ -4549,16 +4876,18 @@ dependencies = [ [[package]] name = "re_log_encoding" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b64633b75e8acc2c503311c94fbaccabe217bdd24a811d8e6bfb21f2e1e4a1e" +checksum = "c6ddf1fbcb460622f305711563047d1f04ca248f0dca046dbba19b4b6df51424" dependencies = [ "lz4_flex", "parking_lot", + "re_arrow2", "re_build_info", "re_chunk", "re_log", "re_log_types", + "re_protos", "re_smart_channel", "re_tracing", "rmp-serde", @@ -4567,16 +4896,15 @@ dependencies = [ [[package]] name = "re_log_types" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eae0402f95562af7010696377413205c97fb45bce9de27c03d4678a47be9cdd" +checksum = "3a48047201720a8d950910b2d90471d36b05a4fc581d3b4c4ec1856c939d9a39" dependencies = [ "ahash", "anyhow", "backtrace", "bytemuck", "clean-path", - "crossbeam", "document-features", "fixed", "half", @@ -4589,13 +4917,13 @@ dependencies = [ "re_build_info", "re_format", "re_log", + "re_protos", "re_string_interner", "re_tracing", "re_tuid", "re_types_core", "serde", "serde_bytes", - "similar-asserts", "static_assertions", "thiserror", "time", @@ -4604,11 +4932,20 @@ dependencies = [ "web-time", ] +[[package]] +name = "re_math" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "999db5029a2879efeddb538f2e486aabf33adf7a0b3708c6df5c1cae13b3af49" +dependencies = [ + "glam 0.28.0", +] + [[package]] name = "re_memory" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955c483e350ed6d438d64fc3c34081d83b67f5671086a65d46b399e4b30a275a" +checksum = "ec4106e54dde4835fc601458283c02a783f8fa5bfd5b010c74e7bf251c3bf83e" dependencies = [ "ahash", "backtrace", @@ -4641,11 +4978,23 @@ dependencies = [ "thiserror", ] +[[package]] +name = "re_protos" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95f75d9831745a5944ef6a338cc3cc06f8d39a83506f943896eaf602ab1166c4" +dependencies = [ + "prost", + "thiserror", + "tonic", + "tonic-web-wasm-client", +] + [[package]] name = "re_query" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b54efe4a46be8e16921104814b3d91d582d3901e76e127d2dc3d13dc78220c0" +checksum = "b9c7b7cd2bcd4ee1f2bdfaba50f10af72baca0ac44fb7865618f7108cd0e7f7b" dependencies = [ "ahash", "anyhow", @@ -4670,15 +5019,16 @@ dependencies = [ [[package]] name = "re_sdk" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "554227ef7c5ae33279f8e54a004b8d647886ec2d56cc85ce7b353b812933d508" +checksum = "1c3b408455022a5cbbfe3a36e0006eb87c07b3b63dd55f14ff01cfe0e7de902f" dependencies = [ "ahash", "crossbeam", "document-features", "itertools 0.13.0", "libc", + "nohash-hasher", "once_cell", "parking_lot", "re_arrow2", @@ -4696,9 +5046,9 @@ dependencies = [ [[package]] name = "re_sdk_comms" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94cf00b1de4eda76a4e82d82093f5dd44ac210458420ec6a108ad1244b554f82" +checksum = "8ce2eb73d054d2bea611e6eb5c8aba1e1b25010a46c834cbc545a9855dd9c0a8" dependencies = [ "ahash", "crossbeam", @@ -4713,9 +5063,9 @@ dependencies = [ [[package]] name = "re_smart_channel" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1508722dacb39ee80a7cae303683826c1fe0a6f6096a1bd27b26097662c7c6f" +checksum = "d7d07784b8939f05364f526590fc7aa3d3a43797f31db0a0492a279046f7d690" dependencies = [ "crossbeam", "parking_lot", @@ -4726,9 +5076,9 @@ dependencies = [ [[package]] name = "re_string_interner" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdec7efb723c8306666baec8a0fe924a2dbdc6ae9e21364c171da046a397ff2" +checksum = "10218faacf52f7453a6fda036d4418907e3465229e9ec32bf662c181e6b365c0" dependencies = [ "ahash", "nohash-hasher", @@ -4740,34 +5090,36 @@ dependencies = [ [[package]] name = "re_tracing" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e223d16abbb2aa466eadbd369f982fc4d2c12b7f49f77971c51768a893ca6aca" +checksum = "6112ec08a39f169bdf843ffb318872c909038effde68e67e1b0b19ffa3f380c1" dependencies = [ "puffin", ] [[package]] name = "re_tuid" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e817c3f2edffa4f04378d33b8ec9b16a1abce2ba28dd6bf0b71c755fc88f20" +checksum = "b0fab74c48f17a4a29b29e1184f690c4470f0f34126eedd5051868afc8e908af" dependencies = [ "document-features", "getrandom", "once_cell", + "re_protos", "serde", "web-time", ] [[package]] name = "re_types" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c32c586bcf383345c3507808243f8a7fde95e2abcff8e356605a6a644a68112" +checksum = "8969f3feb653267d32b3a50272adebd2b36e874572a591e61fa1081418a49ec3" dependencies = [ "anyhow", "array-init", + "arrow", "bytemuck", "document-features", "ecolor", @@ -4789,6 +5141,7 @@ dependencies = [ "re_format", "re_log", "re_log_types", + "re_math", "re_tracing", "re_types_builder", "re_types_core", @@ -4799,14 +5152,15 @@ dependencies = [ [[package]] name = "re_types_builder" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22482d11e2650298d917016a6b7e696433735acd7bf4e01f2812aecc0626c32d" +checksum = "5d9a754673bb2a1a08266d32797cf429394dca0bf80c5d13594d6d7d207f9e11" dependencies = [ "anyhow", "arrow", "camino", "clang-format", + "colored", "flatbuffers", "indent", "itertools 0.13.0", @@ -4821,22 +5175,26 @@ dependencies = [ "re_log", "re_tracing", "rust-format", + "serde", "syn", "tempfile", + "toml", "unindent", "xshell", ] [[package]] name = "re_types_core" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc8aef506e030a6fd0a2ddfd55b5e9a8babbfb396b9cb5c321b41648c809adc6" +checksum = "23ba9a0b66c99a435560675ff422da8e5ee9f42eaf6bf9daae75a0cc9a084573" dependencies = [ "anyhow", + "arrow", "backtrace", "bytemuck", "document-features", + "half", "itertools 0.13.0", "nohash-hasher", "once_cell", @@ -4853,11 +5211,11 @@ dependencies = [ [[package]] name = "re_video" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b996b48fa9501ca3f3912c6792538d36b7af4ffef7b20114b23920c0845b42" +checksum = "4c6626e79ef75582a27d3610ed777cfb12e928446dbccf5fec518a503e2c365e" dependencies = [ - "bit-vec 0.7.0", + "bit-vec 0.8.0", "cfg_aliases 0.2.1", "crossbeam", "econtext", @@ -4865,6 +5223,7 @@ dependencies = [ "js-sys", "once_cell", "parking_lot", + "poll-promise", "re_build_info", "re_build_tools", "re_log", @@ -4961,9 +5320,9 @@ checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "rerun" -version = "0.20.3" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed4ff45b89d955f60249837e14ae326eb166e5a3dc4aec653ba917d6c185f4d3" +checksum = "620b001ee2d8f6187e2c91ef2726379a29eb4d89c440aab8ed0bba886d9d4c83" dependencies = [ "anyhow", "document-features", @@ -4972,12 +5331,14 @@ dependencies = [ "rayon", "re_build_info", "re_build_tools", + "re_capabilities", "re_chunk", "re_crash_handler", "re_entity_db", "re_error", "re_format", "re_log", + "re_log_encoding", "re_log_types", "re_memory", "re_sdk", @@ -5212,6 +5573,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + [[package]] name = "sha2" version = "0.10.8" @@ -5328,6 +5698,16 @@ dependencies = [ "serde", ] +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "spirv" version = "0.3.0+sdk-1.3.268.0" @@ -5396,6 +5776,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" + [[package]] name = "sys-locale" version = "0.3.2" @@ -5555,11 +5941,78 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "tokio" +version = "1.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-stream" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "indexmap 2.7.0", + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + [[package]] name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -5567,11 +6020,114 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap", + "indexmap 2.7.0", + "serde", + "serde_spanned", "toml_datetime", "winnow", ] +[[package]] +name = "tonic" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +dependencies = [ + "async-stream", + "async-trait", + "axum", + "base64 0.22.1", + "bytes", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost", + "socket2", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic-web-wasm-client" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef5ca6e7bdd0042c440d36b6df97c1436f1d45871ce18298091f114004b1beb4" +dependencies = [ + "base64 0.22.1", + "byteorder", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "httparse", + "js-sys", + "pin-project", + "thiserror", + "tonic", + "tower-service", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + [[package]] name = "tracing" version = "0.1.41" @@ -5660,6 +6216,12 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + [[package]] name = "ttf-parser" version = "0.20.0" @@ -5811,6 +6373,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -5884,6 +6455,19 @@ version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "web-sys" version = "0.3.76" @@ -5940,7 +6524,7 @@ dependencies = [ "bitflags 2.6.0", "cfg_aliases 0.1.1", "document-features", - "indexmap", + "indexmap 2.7.0", "log", "naga", "once_cell", diff --git a/Cargo.toml b/Cargo.toml index d1e47c0..c78103a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,7 +25,7 @@ targets = ["x86_64-unknown-linux-gnu", "wasm32-unknown-unknown"] [dependencies] -rerun = { version = "0.20", default-features = false, features = [ +rerun = { version = "0.21.0", default-features = false, features = [ "sdk", "image", "glam", diff --git a/README.md b/README.md index 253746c..7c95438 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,9 @@ https://github.com/rerun-io/revy/assets/2910679/cd096cbe-5e68-4acf-8010-e6c32c55 ## Examples -|[Breakout](https://github.com/rerun-io/revy/blob/0.20.0/examples/breakout.rs#L69-L82)|[3D shapes](https://github.com/rerun-io/revy/blob/0.20.0/examples/3d_shapes.rs#L41-L54)|[Alien Cake Addict](https://github.com/rerun-io/revy/blob/0.20.0/examples/alien_cake_addict.rs#L39-L52)| +|[Breakout](https://github.com/rerun-io/revy/blob/0.21.0/examples/breakout.rs#L69-L82)|[3D shapes](https://github.com/rerun-io/revy/blob/0.21.0/examples/3d_shapes.rs#L41-L54)|[Alien Cake Addict](https://github.com/rerun-io/revy/blob/0.21.0/examples/alien_cake_addict.rs#L39-L52)| | :----------------------------------------------------------------: | :-------------------------------------------------------------: | :--------------------------------------------------------------: | -| [*Live demo*](https://rerun.io/viewer/version/0.20.0/?url=https://static.rerun.io/rrd/0.20.0/revy_breakout_3572dc5d61f77dc4fc9675a85c74035a6ee4b020.rrd) | [*Live demo*](https://rerun.io/viewer/version/0.20.0/?url=https://static.rerun.io/rrd/0.20.0/revy_3d_shapes_146ceeb1ab6e9bb69df6e3a39df6243579ed4f1d.rrd) | [*Live demo*](https://rerun.io/viewer/version/0.20.0/?url=https://static.rerun.io/rrd/0.20.0/revy_alien_cake_addict_cadb9e027130bade64c9d9352073fc7240dfc238.rrd) | +| [*Live demo*](https://rerun.io/viewer/version/0.21.0/?url=https://static.rerun.io/rrd/0.20.0/revy_breakout_3572dc5d61f77dc4fc9675a85c74035a6ee4b020.rrd) | [*Live demo*](https://rerun.io/viewer/version/0.21.0/?url=https://static.rerun.io/rrd/0.20.0/revy_3d_shapes_146ceeb1ab6e9bb69df6e3a39df6243579ed4f1d.rrd) | [*Live demo*](https://rerun.io/viewer/version/0.21.0/?url=https://static.rerun.io/rrd/0.20.0/revy_alien_cake_addict_cadb9e027130bade64c9d9352073fc7240dfc238.rrd) | | | | | --- @@ -36,11 +36,11 @@ https://github.com/rerun-io/revy/assets/2910679/cd096cbe-5e68-4acf-8010-e6c32c55 ## Usage -1. [Install the Rerun Viewer](https://www.rerun.io/docs/getting-started/installing-viewer) (`0.20`). +1. [Install the Rerun Viewer](https://www.rerun.io/docs/getting-started/installing-viewer) (`0.21`). 2. Add `revy` to your dependencies: ```toml - revy = "0.20" # always matches the rerun version + revy = "0.21" # always matches the rerun version ``` 3. Initialize the `rerun` plugin: @@ -105,3 +105,4 @@ You can also register your own custom loggers by inserting a `RerunComponentLogg | [0.13](https://github.com/bevyengine/bevy/releases/tag/v0.13.0) | [0.16](https://github.com/rerun-io/revy/releases/tag/0.16.0) | [0.16](https://github.com/rerun-io/rerun/releases/tag/0.16.0) | | [0.14](https://github.com/bevyengine/bevy/releases/tag/v0.14.0) | [0.17](https://github.com/rerun-io/revy/releases/tag/0.17.0) | [0.17](https://github.com/rerun-io/rerun/releases/tag/0.17.0) | | [0.15](https://github.com/bevyengine/bevy/releases/tag/v0.15.0) | [0.20](https://github.com/rerun-io/revy/releases/tag/0.20.0) | [0.20](https://github.com/rerun-io/rerun/releases/tag/0.20.0) | +| [0.15](https://github.com/bevyengine/bevy/releases/tag/v0.15.0) | [0.21](https://github.com/rerun-io/revy/releases/tag/0.21.0) | [0.21](https://github.com/rerun-io/rerun/releases/tag/0.21.0) | diff --git a/deny.toml b/deny.toml index daa2ab6..68ee415 100644 --- a/deny.toml +++ b/deny.toml @@ -48,6 +48,7 @@ skip-tree = [ "event-listener", "fixedbitset", # Bevy has internally several versions "glam", # Rerun is behind versus Bevy + "indexmap", "itertools", "libloading", "nix", @@ -56,9 +57,10 @@ skip-tree = [ "regex-automata", "regex-syntax", "sysinfo", # rerun depends on 0.30, bevy on 0.32 + "tower", "ttf-parser", # cosmic-text 0.12.1 depends on one version directly and on another one via fontdb 0.16.2 - "windows-sys", "windows", + "windows-sys", ] diff --git a/src/default_loggers.rs b/src/default_loggers.rs index 95ad62c..becae40 100644 --- a/src/default_loggers.rs +++ b/src/default_loggers.rs @@ -5,7 +5,7 @@ use bevy::{ utils::HashMap, }; -use crate::{compute_entity_path, rerun_logger::ManyAsComponents, Aliased, RerunLogger, ToRerun}; +use crate::{compute_entity_path, Aliased, RerunLogger, ToRerun}; // --- @@ -108,11 +108,11 @@ fn bevy_global_transform<'w>( // TODO(cmc): once again the DataUi does the wrong thing... we really need to // go typeless. let data = entity.get::().map(|transform| { - Box::new(ManyAsComponents(vec![ + Box::new(vec![ Box::new(Aliased::::new( "GlobalTransform3D.translation", transform.translation().to_rerun(), - )), + )) as Box, Box::new(Aliased::::new( "GlobalTransform3D.rotation", transform.rotation().to_rerun(), @@ -121,7 +121,7 @@ fn bevy_global_transform<'w>( "GlobalTransform3D.scale", transform.scale().to_rerun(), )), - ])) as _ + ]) as _ }); (suffix, data) diff --git a/src/lib.rs b/src/lib.rs index eed22c8..a1a564e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,5 @@ +#![allow(rustdoc::bare_urls)] +#![allow(clippy::doc_markdown)] #![doc = include_str!("../README.md")] use bevy::prelude::*; diff --git a/src/rerun_logger.rs b/src/rerun_logger.rs index 6232087..70a85b4 100644 --- a/src/rerun_logger.rs +++ b/src/rerun_logger.rs @@ -191,14 +191,14 @@ use rerun::external::{arrow2, re_types_core}; /// Helper to log any [`rerun::LoggableBatch`] as a [`rerun::Component`] with the specified name. #[derive(Debug)] pub struct Aliased { - name: rerun::ComponentName, + descriptor: rerun::ComponentDescriptor, data: C, } impl Aliased { pub fn new(name: impl Into, data: impl Into) -> Self { Self { - name: name.into(), + descriptor: rerun::ComponentDescriptor::new(name.into()), data: data.into(), } } @@ -206,41 +206,23 @@ impl Aliased { impl rerun::AsComponents for Aliased { #[inline] - fn as_component_batches(&self) -> Vec> { - vec![rerun::MaybeOwnedComponentBatch::Ref(self)] + fn as_component_batches(&self) -> Vec> { + vec![rerun::ComponentBatchCowWithDescriptor::new( + self as &dyn rerun::ComponentBatch, + )] } } impl rerun::LoggableBatch for Aliased { - type Name = rerun::ComponentName; - #[inline] - fn name(&self) -> Self::Name { - self.name - } - - #[inline] - fn to_arrow(&self) -> re_types_core::SerializationResult> { - self.data.to_arrow() + fn to_arrow2(&self) -> re_types_core::SerializationResult> { + self.data.to_arrow2() } } -impl rerun::ComponentBatch for Aliased {} - -// --- - -// TODO(cmc): Rerun should provide tools for this. - -/// Helper to merge any number of [`rerun::AsComponents`]. -#[allow(dead_code)] -pub struct ManyAsComponents(pub Vec>); - -impl rerun::AsComponents for ManyAsComponents { +impl rerun::ComponentBatch for Aliased { #[inline] - fn as_component_batches(&self) -> Vec> { - self.0 - .iter() - .flat_map(|data| data.as_component_batches()) - .collect() + fn descriptor(&self) -> std::borrow::Cow<'_, rerun::ComponentDescriptor> { + std::borrow::Cow::Borrowed(&self.descriptor) } } diff --git a/src/sync.rs b/src/sync.rs index 95c3e4b..e9e9eb0 100644 --- a/src/sync.rs +++ b/src/sync.rs @@ -225,7 +225,10 @@ fn sync_components( for batches in &component_batches { for batch in batches { - current_components.insert(batch.name(), entity_path.clone()); + current_components.insert( + rerun::ComponentBatch::descriptor(batch).into_owned(), + entity_path.clone(), + ); } } @@ -235,7 +238,7 @@ fn sync_components( component_batches .iter() .flatten() - .map(|batch| batch.as_ref()), + .map(|batch| batch as &dyn rerun::ComponentBatch), ) .ok_or_log_error(); } @@ -245,8 +248,8 @@ fn sync_components( .get::() .unwrap_or(&empty_components); - for (component_name, entity_path) in last_components.iter() { - if !current_components.contains_key(component_name) { + for (component_desc, entity_path) in last_components.iter() { + if !current_components.contains_key(component_desc) { rec.log(entity_path.clone(), &rerun::Clear::flat()) .ok_or_log_error(); } @@ -323,4 +326,4 @@ struct CurrentHashes(HashMap); /// Keeps track of all components on an entity in order to `Clear` removed ones. #[derive(Component, Debug, Clone, Default, Deref, DerefMut)] -struct CurrentComponents(HashMap); +struct CurrentComponents(HashMap);