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);