diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index aa6e28f7f917..651a0af550b2 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -62,7 +62,7 @@ jobs: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.80.0 + toolchain: 1.81.0 - run: cargo build -p rerun diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ec762a5278db..f11e5db8cde3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -189,7 +189,7 @@ jobs: - [ ] cargo install of cli tool: does it install and run? - [ ] C++ SDK zip: does it contain rerun_c for all platforms? - [ ] Populate the release with the changelog and a nice header video/picture, check `Set as latest release`, then click `Publish release`. - - [ ] Update the [google colab notebooks](https://drive.google.com/drive/folders/0AC0q24MFKh3fUk9PVA) to install this version and re-execute the notebook. + - [ ] Update the [google colab notebooks](https://colab.research.google.com/drive/1R9I7s4o6wydQC_zkybqaSRFTtlEaked_) to install this version and re-execute the notebook. - [ ] Update landing's version of the web viewer (@jprochazk) A few hours after the GitHub release is created, `regro-cf-autotick-bot` will create a diff --git a/BUILD.md b/BUILD.md index 24aa759a8fe3..161679017155 100644 --- a/BUILD.md +++ b/BUILD.md @@ -23,12 +23,12 @@ cd rerun Now install the `pixi` package manager: -Make sure `cargo --version` prints `1.80.0` once you are done. +Make sure `cargo --version` prints `1.81.0` once you are done. If you are using an Apple-silicon Mac (M1, M2), make sure `rustc -vV` outputs `host: aarch64-apple-darwin`. If not, this should fix it: ```sh -rustup set default-host aarch64-apple-darwin && rustup install 1.80.0 +rustup set default-host aarch64-apple-darwin && rustup install 1.81.0 ``` ## Git-lfs diff --git a/CHANGELOG.md b/CHANGELOG.md index a94fc73a0c0d..6f40cd8ec176 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,182 @@ ## [Unreleased](https://github.com/rerun-io/rerun/compare/latest...HEAD) +## [0.21.0](https://github.com/rerun-io/rerun/compare/0.20.3...0.21.0) - Graph view, 3D Grid & UI/UX improvements + +πŸ“– Release blogpost: https://rerun.io/blog/graphs + +🧳 Migration guide: https://rerun.io/docs/reference/migration/migration-0-21 + +### ✨ Overview & highlights + +#### Graph view + +We've added two new logging primitives: [`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes) and [`GraphEdges`](https://rerun.io/docs/reference/types/archetypes/graph_edges) that can be used to visualize node-link diagrams. For this, we have implemented a new Graph View that uses force-based layouts to draw graphs. + +This video demonstrates the main features of the new graph view: + +https://github.com/user-attachments/assets/77db75c9-a8d8-401d-b90d-3daf08baf0ba + +You can also have a look at https://github.com/rerun-io/rerun/pull/7500 if you want to learn to more. + +#### UX improvements + +This video demonstrates the main UX improvements that went into this release: + +https://github.com/user-attachments/assets/bef071b5-0681-41b2-9ef0-1c6a557ff138 + +#### 3D grid + +The 3D view now offers an infinite 3D grid, enabled by default. Further controls and settings are available as usual through the blueprint API and/or the selection panel. + +

+ + + +

+ +All the nitty gritty details in https://github.com/rerun-io/rerun/pull/8230 and https://github.com/rerun-io/rerun/pull/8234. + +#### Undo/Redo support & many more UI/UX improvements + +You can now undo/redo blueprint changes in the viewer! +Watch [@emilk](https://github.com/emilk/) putting it to action and explains how it works: + +https://github.com/user-attachments/assets/a29c099d-35a3-4d32-8946-932b5a184943 + + +#### Other UX improvements + +But that's not the only thing that improved in the viewer: +* Breadcrumbs show up in the selection menu now + + ![image](https://github.com/user-attachments/assets/c1d20eb1-f259-4b43-89d4-b9fdc75dc88c) + +* Take screenshots of views from context menus + + ![image](https://github.com/user-attachments/assets/6c50e6f0-330f-43f7-a393-65dd47aa171b) + +* Entities can now be dragged from Blueprint & Streams panel into views + + ![image](https://github.com/user-attachments/assets/493d9711-c4d1-407e-ab41-eef2e4e51ba8) + +#### Index of code snippets + +We now have a new [index for all our code snippets](./docs/snippets/INDEX.md). + +You can use it to quickly find copy-pastable snippets of code for any Rerun feature you're interested in (API, Archetypes, Components, etc). +No special tools required -- all you need is a keyword of interest, and plain old text search. + +It's still the early days so it is far from perfect, but we think it can already be quite helpful; feedback welcome. +Most of it is auto-generated, so it will never get out of sync! + +### ⚠️ Breaking changes + +* Near clip plane for `Spatial2D` views now defaults to `0.1` in 3D scene units. +* Blueprint: types and fields got renamed from `.*space_view.*`/`.*SpaceView.*` to `.*view.*`/`.*View.*`. +* 3D transform arrow visualization show up less often by default. +* `DisconnectedSpace` archetype/component is deprecated in favor of implicit invalid transforms (like zero scale or zero rotation matrix). +* `RotationAxisAngle` with zero rotation axis is no longer treated as identity. + +Read our 🧳 migration guide for more detailed information: https://rerun.io/docs/reference/migration/migration-0-21. + +### πŸ”Ž Details + +#### πŸͺ΅ Log API +- End-to-end tagging: Rust [#8304](https://github.com/rerun-io/rerun/pull/8304) +- Encode `LogMsg` using protobuf [#8347](https://github.com/rerun-io/rerun/pull/8347) + +#### 🌊 C++ API +- End-to-end tagging: C++ [#8316](https://github.com/rerun-io/rerun/pull/8316) + +#### 🐍 Python API +- Never direct users towards using `rr.log_components` [#8151](https://github.com/rerun-io/rerun/pull/8151) +- Make it possible to log custom components using `rr.send_columns` [#8163](https://github.com/rerun-io/rerun/pull/8163) +- Lint and fix python SDK `(Py)RecordingStream` upcasting issues [#8184](https://github.com/rerun-io/rerun/pull/8184) +- End-to-end tagging: Python [#8298](https://github.com/rerun-io/rerun/pull/8298) +- Rename space view to view everywhere [#8396](https://github.com/rerun-io/rerun/pull/8396) +- Fix broken notebook loading on firefox by compressing the encoded wasm payload [#8426](https://github.com/rerun-io/rerun/pull/8426) +- Add utility to `rr.components.Color` to generate colors from any string (and use it in the air traffic data example) [#8458](https://github.com/rerun-io/rerun/pull/8458) +- Introduce new API to send a dataframe to Rerun [#8461](https://github.com/rerun-io/rerun/pull/8461) + +#### πŸ¦€ Rust API +- Update MSRV to 1.80 [#8178](https://github.com/rerun-io/rerun/pull/8178) +- Remove `Loggable::NAME` -- Loggables do not have any semantics [#8082](https://github.com/rerun-io/rerun/pull/8082) +- Never direct users towards using `RecordingStream::log_component_batches` [#8149](https://github.com/rerun-io/rerun/pull/8149) +- Rust API: be explicit about when we're using the arrow2 crate [#8194](https://github.com/rerun-io/rerun/pull/8194) +- Add `from_gray16` for `DepthImage` [#8213](https://github.com/rerun-io/rerun/pull/8213) (thanks [@fawdlstty](https://github.com/fawdlstty)!) +- Rust: more `impl` helpers [#8401](https://github.com/rerun-io/rerun/pull/8401) + +#### πŸͺ³ Bug fixes +- Fix outlines for lines having more perceived aliasing since 0.20 [#8317](https://github.com/rerun-io/rerun/pull/8317) +- Fix handling unnormalized axis for (Pose)RotationAxisAngle [#8341](https://github.com/rerun-io/rerun/pull/8341) +- Fix 2D/3D view artifacts on view's border when using fractional zoom [#8369](https://github.com/rerun-io/rerun/pull/8369) + +#### 🌁 Viewer improvements +- World grid part 1/2: add world grid renderer to `re_renderer` [#8230](https://github.com/rerun-io/rerun/pull/8230) +- World grid part 2/2: Integrate into Viewer [#8234](https://github.com/rerun-io/rerun/pull/8234) +- Add Undo/Redo support in the viewer [#7546](https://github.com/rerun-io/rerun/pull/7546) +- Space view screenshotting in native viewer [#8258](https://github.com/rerun-io/rerun/pull/8258) +- Remove selection history [#8296](https://github.com/rerun-io/rerun/pull/8296) +- Make the near clipping plane editable in 2D views [#8348](https://github.com/rerun-io/rerun/pull/8348) +- Don't show transform arrows on all entities without any other visualizer [#8387](https://github.com/rerun-io/rerun/pull/8387) +- Do query for default components only once per view [#8424](https://github.com/rerun-io/rerun/pull/8424) +- Improve hovered order in 2D views [#8405](https://github.com/rerun-io/rerun/pull/8405) +- Remove wait-time when opening settings panel [#8464](https://github.com/rerun-io/rerun/pull/8464) +- Deprecate `DisconnectedSpace` archetype/component in favor of implicit invalid transforms [#8459](https://github.com/rerun-io/rerun/pull/8459) +- Improve graphics device capability detection, warn on old devices, early error on unsupported render targets [#8476](https://github.com/rerun-io/rerun/pull/8476) + +#### πŸ§‘β€πŸ« Examples +- Add a new "Air Traffic Data" example [#5449](https://github.com/rerun-io/rerun/pull/5449) +- Use video logging api in `detect_and_track` example [#8261](https://github.com/rerun-io/rerun/pull/8261) (thanks [@oxkitsune](https://github.com/oxkitsune)!) +- Add hloc_glomap example and update manifest [#8352](https://github.com/rerun-io/rerun/pull/8352) (thanks [@pablovela5620](https://github.com/pablovela5620)!) +- Introduce the Snippet Index [#8383](https://github.com/rerun-io/rerun/pull/8383) +- Implement complete Graph View example [#8421](https://github.com/rerun-io/rerun/pull/8421) + +#### πŸ“š Docs +- Update wheel build instruction [#8235](https://github.com/rerun-io/rerun/pull/8235) +- Fix various doc links in SDKs [#8331](https://github.com/rerun-io/rerun/pull/8331) + +#### πŸ–Ό UI improvements +- Implement graph components and archetypes [#7500](https://github.com/rerun-io/rerun/pull/7500) +- Add support for Bezier-curve multi (self-)edges [#8256](https://github.com/rerun-io/rerun/pull/8256) +- Implement incremental graph layouts [#8308](https://github.com/rerun-io/rerun/pull/8308) +- Revert label background color to that in 0.19 [#8337](https://github.com/rerun-io/rerun/pull/8337) +- Add selection hierarchy breadcrumbs [#8319](https://github.com/rerun-io/rerun/pull/8319) +- More compact selection panel when multiple items selected [#8351](https://github.com/rerun-io/rerun/pull/8351) +- Make Position2D components editable in selection panel [#8357](https://github.com/rerun-io/rerun/pull/8357) +- Dynamic configuration of graph layout forces through blueprints [#8299](https://github.com/rerun-io/rerun/pull/8299) +- Document legend interaction in the timeseries view help text [#8406](https://github.com/rerun-io/rerun/pull/8406) +- Allow drag-and-dropping multiple containers and views in the blueprint tree [#8334](https://github.com/rerun-io/rerun/pull/8334) +- Improve picking in 2D views [#8404](https://github.com/rerun-io/rerun/pull/8404) +- Make our collapsing triangle thinner for more consistency with our icons [#8408](https://github.com/rerun-io/rerun/pull/8408) +- Entities can be dragged from the blueprint tree and streams tree to an existing view in the viewport [#8431](https://github.com/rerun-io/rerun/pull/8431) + +#### 🎨 Renderer improvements +- Update egui to latest, update wgpu to 23.0.0 [#8183](https://github.com/rerun-io/rerun/pull/8183) + +#### ✨ Other enhancement +- Improve `rrd print`'s verbosity modes [#8392](https://github.com/rerun-io/rerun/pull/8392) +- Miscellaneous improvements to archetype reflection [#8432](https://github.com/rerun-io/rerun/pull/8432) +- Migration kernel for the blueprint space-view-related breaking changes [#8439](https://github.com/rerun-io/rerun/pull/8439) + +#### πŸ—£ Refactors +- Add arrow(1)-interface on top of `Loggable` and `ArrowBuffer` [#8197](https://github.com/rerun-io/rerun/pull/8197) +- `re_types_blueprint` -> `re_types::blueprint` [#8419](https://github.com/rerun-io/rerun/pull/8419) +- `re_viewer::reflection` -> `re_types::reflection` [#8420](https://github.com/rerun-io/rerun/pull/8420) + +#### πŸ“¦ Dependencies +- Numpy 2.0 allowed in pyproject.toml [#8306](https://github.com/rerun-io/rerun/pull/8306) (thanks [@Ipuch](https://github.com/Ipuch)!) +- Upgrade to egui 0.30 (+ ecosystem) [#8516](https://github.com/rerun-io/rerun/pull/8516) + +#### πŸ§‘β€πŸ’» Dev-experience +- Add `MainThreadToken` to ensure file-dialogs only run on the main thread [#8467](https://github.com/rerun-io/rerun/pull/8467) + +#### πŸ€·β€ Other +- Deprecate `--serve`, add `--serve-web` [#8144](https://github.com/rerun-io/rerun/pull/8144) +- Clean up pass over all superfluous hashing happening on the query path [#8207](https://github.com/rerun-io/rerun/pull/8207) +- Improve performance of time panel [#8224](https://github.com/rerun-io/rerun/pull/8224) + ## [0.20.3](https://github.com/rerun-io/rerun/compare/0.20.2...0.20.3) - Web viewer fix ### πŸ”Ž Details diff --git a/Cargo.lock b/Cargo.lock index d1b14fa53311..222719c60112 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1381,7 +1381,7 @@ dependencies = [ [[package]] name = "clock" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -1724,7 +1724,7 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "custom_data_loader" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "re_build_tools", "rerun", @@ -1732,7 +1732,7 @@ dependencies = [ [[package]] name = "custom_store_subscriber" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "re_build_tools", "rerun", @@ -1740,7 +1740,7 @@ dependencies = [ [[package]] name = "custom_view" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "mimalloc", "re_crash_handler", @@ -1796,7 +1796,7 @@ checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" [[package]] name = "dataframe_query" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "itertools 0.13.0", "rerun", @@ -1891,7 +1891,7 @@ dependencies = [ [[package]] name = "dna" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "itertools 0.13.0", "rand", @@ -2395,7 +2395,7 @@ dependencies = [ [[package]] name = "extend_viewer_ui" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "mimalloc", "re_crash_handler", @@ -2928,7 +2928,7 @@ dependencies = [ [[package]] name = "graph_lattice" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -3520,7 +3520,7 @@ dependencies = [ [[package]] name = "incremental_logging" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -3951,7 +3951,7 @@ dependencies = [ [[package]] name = "log_benchmark" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -3962,7 +3962,7 @@ dependencies = [ [[package]] name = "log_file" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -4140,14 +4140,14 @@ dependencies = [ [[package]] name = "minimal" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "rerun", ] [[package]] name = "minimal_options" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -4157,7 +4157,7 @@ dependencies = [ [[package]] name = "minimal_serve" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "rerun", ] @@ -4758,7 +4758,7 @@ dependencies = [ [[package]] name = "objectron" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -4984,7 +4984,7 @@ dependencies = [ [[package]] name = "plot_dashboard_stress" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -5477,7 +5477,7 @@ checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "raw_mesh" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "bytes", @@ -5520,7 +5520,7 @@ checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" [[package]] name = "re_analytics" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "crossbeam", "directories", @@ -5568,7 +5568,7 @@ dependencies = [ [[package]] name = "re_blueprint_tree" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "egui", "itertools 0.13.0", @@ -5587,14 +5587,14 @@ dependencies = [ [[package]] name = "re_build_info" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "serde", ] [[package]] name = "re_build_tools" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "cargo_metadata 0.18.1", @@ -5607,7 +5607,7 @@ dependencies = [ [[package]] name = "re_capabilities" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "document-features", "egui", @@ -5616,14 +5616,14 @@ dependencies = [ [[package]] name = "re_case" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "convert_case", ] [[package]] name = "re_chunk" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -5652,7 +5652,7 @@ dependencies = [ [[package]] name = "re_chunk_store" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -5684,7 +5684,7 @@ dependencies = [ [[package]] name = "re_chunk_store_ui" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "egui", "egui_extras", @@ -5699,7 +5699,7 @@ dependencies = [ [[package]] name = "re_component_ui" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "arrow", "egui", @@ -5719,7 +5719,7 @@ dependencies = [ [[package]] name = "re_context_menu" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "egui", "egui_tiles", @@ -5740,7 +5740,7 @@ dependencies = [ [[package]] name = "re_crash_handler" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "backtrace", "econtext", @@ -5753,7 +5753,7 @@ dependencies = [ [[package]] name = "re_data_loader" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -5782,7 +5782,7 @@ dependencies = [ [[package]] name = "re_data_source" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "itertools 0.13.0", @@ -5800,7 +5800,7 @@ dependencies = [ [[package]] name = "re_data_ui" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -5830,7 +5830,7 @@ dependencies = [ [[package]] name = "re_dataframe" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "itertools 0.13.0", @@ -5854,7 +5854,7 @@ dependencies = [ [[package]] name = "re_dev_tools" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "argh", @@ -5881,7 +5881,7 @@ dependencies = [ [[package]] name = "re_entity_db" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -5914,21 +5914,21 @@ dependencies = [ [[package]] name = "re_error" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", ] [[package]] name = "re_format" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "num-traits", ] [[package]] name = "re_format_arrow" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "comfy-table", "re_arrow2", @@ -5938,7 +5938,7 @@ dependencies = [ [[package]] name = "re_grpc_client" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "re_chunk", "re_error", @@ -5959,7 +5959,7 @@ dependencies = [ [[package]] name = "re_int_histogram" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "criterion", "insta", @@ -5970,7 +5970,7 @@ dependencies = [ [[package]] name = "re_log" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "env_logger", "js-sys", @@ -5983,7 +5983,7 @@ dependencies = [ [[package]] name = "re_log_encoding" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "criterion", "ehttp", @@ -6011,7 +6011,7 @@ dependencies = [ [[package]] name = "re_log_types" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -6060,7 +6060,7 @@ dependencies = [ [[package]] name = "re_memory" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "backtrace", @@ -6095,7 +6095,7 @@ dependencies = [ [[package]] name = "re_protos" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "prost", "thiserror 1.0.65", @@ -6105,7 +6105,7 @@ dependencies = [ [[package]] name = "re_protos_builder" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "camino", "prost-build", @@ -6115,7 +6115,7 @@ dependencies = [ [[package]] name = "re_query" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -6169,7 +6169,7 @@ dependencies = [ [[package]] name = "re_renderer" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -6221,7 +6221,7 @@ dependencies = [ [[package]] name = "re_renderer_examples" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -6245,7 +6245,7 @@ dependencies = [ [[package]] name = "re_sdk" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "crossbeam", @@ -6280,7 +6280,7 @@ dependencies = [ [[package]] name = "re_sdk_comms" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "crossbeam", @@ -6296,7 +6296,7 @@ dependencies = [ [[package]] name = "re_selection_panel" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "arrow", "egui", @@ -6324,7 +6324,7 @@ dependencies = [ [[package]] name = "re_smart_channel" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "crossbeam", "parking_lot", @@ -6335,7 +6335,7 @@ dependencies = [ [[package]] name = "re_string_interner" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "nohash-hasher", @@ -6347,7 +6347,7 @@ dependencies = [ [[package]] name = "re_time_panel" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "criterion", @@ -6376,7 +6376,7 @@ dependencies = [ [[package]] name = "re_tracing" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "puffin", "puffin_http", @@ -6387,7 +6387,7 @@ dependencies = [ [[package]] name = "re_tuid" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "criterion", "document-features", @@ -6400,7 +6400,7 @@ dependencies = [ [[package]] name = "re_types" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "array-init", @@ -6442,7 +6442,7 @@ dependencies = [ [[package]] name = "re_types_builder" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "arrow", @@ -6473,7 +6473,7 @@ dependencies = [ [[package]] name = "re_types_core" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "arrow", @@ -6498,7 +6498,7 @@ dependencies = [ [[package]] name = "re_ui" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "eframe", "egui", @@ -6524,7 +6524,7 @@ dependencies = [ [[package]] name = "re_video" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "bit-vec", "cfg_aliases 0.2.1", @@ -6552,7 +6552,7 @@ dependencies = [ [[package]] name = "re_view" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "arrow", @@ -6578,7 +6578,7 @@ dependencies = [ [[package]] name = "re_view_bar_chart" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "egui", "egui_plot", @@ -6596,7 +6596,7 @@ dependencies = [ [[package]] name = "re_view_dataframe" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "arrow", @@ -6620,7 +6620,7 @@ dependencies = [ [[package]] name = "re_view_graph" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "egui", @@ -6644,7 +6644,7 @@ dependencies = [ [[package]] name = "re_view_map" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "bytemuck", "egui", @@ -6668,7 +6668,7 @@ dependencies = [ [[package]] name = "re_view_spatial" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -6712,7 +6712,7 @@ dependencies = [ [[package]] name = "re_view_tensor" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "bytemuck", @@ -6736,7 +6736,7 @@ dependencies = [ [[package]] name = "re_view_text_document" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "egui", "egui_commonmark", @@ -6751,7 +6751,7 @@ dependencies = [ [[package]] name = "re_view_text_log" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "egui", "egui_extras", @@ -6771,7 +6771,7 @@ dependencies = [ [[package]] name = "re_view_time_series" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "egui", "egui_plot", @@ -6793,7 +6793,7 @@ dependencies = [ [[package]] name = "re_viewer" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -6871,7 +6871,7 @@ dependencies = [ [[package]] name = "re_viewer_context" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "anyhow", @@ -6889,6 +6889,7 @@ dependencies = [ "emath", "glam", "half", + "home", "image", "indexmap 2.6.0", "itertools 0.13.0", @@ -6928,7 +6929,7 @@ dependencies = [ [[package]] name = "re_viewport" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "egui", @@ -6951,7 +6952,7 @@ dependencies = [ [[package]] name = "re_viewport_blueprint" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "arrow", @@ -6978,7 +6979,7 @@ dependencies = [ [[package]] name = "re_web_viewer_server" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "document-features", "re_analytics", @@ -6989,7 +6990,7 @@ dependencies = [ [[package]] name = "re_ws_comms" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "bincode", @@ -7186,7 +7187,7 @@ dependencies = [ [[package]] name = "rerun" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7227,7 +7228,7 @@ dependencies = [ [[package]] name = "rerun-cli" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "document-features", "mimalloc", @@ -7242,7 +7243,7 @@ dependencies = [ [[package]] name = "rerun-loader-rust-file" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "argh", @@ -7251,7 +7252,7 @@ dependencies = [ [[package]] name = "rerun_c" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "ahash", "infer", @@ -7265,7 +7266,7 @@ dependencies = [ [[package]] name = "rerun_py" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "arrow", "crossbeam", @@ -7398,7 +7399,7 @@ dependencies = [ [[package]] name = "roundtrip_annotation_context" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7408,7 +7409,7 @@ dependencies = [ [[package]] name = "roundtrip_arrows2d" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7418,7 +7419,7 @@ dependencies = [ [[package]] name = "roundtrip_arrows3d" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7428,7 +7429,7 @@ dependencies = [ [[package]] name = "roundtrip_boxes2d" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7438,7 +7439,7 @@ dependencies = [ [[package]] name = "roundtrip_boxes3d" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7448,7 +7449,7 @@ dependencies = [ [[package]] name = "roundtrip_depth_image" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7459,7 +7460,7 @@ dependencies = [ [[package]] name = "roundtrip_disconnected_space" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7469,7 +7470,7 @@ dependencies = [ [[package]] name = "roundtrip_image" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7482,7 +7483,7 @@ dependencies = [ [[package]] name = "roundtrip_line_strips2d" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7492,7 +7493,7 @@ dependencies = [ [[package]] name = "roundtrip_line_strips3d" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7502,7 +7503,7 @@ dependencies = [ [[package]] name = "roundtrip_pinhole" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7512,7 +7513,7 @@ dependencies = [ [[package]] name = "roundtrip_points2d" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7522,7 +7523,7 @@ dependencies = [ [[package]] name = "roundtrip_points3d" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7532,7 +7533,7 @@ dependencies = [ [[package]] name = "roundtrip_segmentation_image" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7543,7 +7544,7 @@ dependencies = [ [[package]] name = "roundtrip_tensor" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7554,7 +7555,7 @@ dependencies = [ [[package]] name = "roundtrip_text_document" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7564,7 +7565,7 @@ dependencies = [ [[package]] name = "roundtrip_text_log" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7574,7 +7575,7 @@ dependencies = [ [[package]] name = "roundtrip_transform3d" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7584,7 +7585,7 @@ dependencies = [ [[package]] name = "roundtrip_view_coordinates" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7594,7 +7595,7 @@ dependencies = [ [[package]] name = "roundtrip_visible_time_ranges" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -7610,7 +7611,7 @@ checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" [[package]] name = "run_wasm" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "cargo-run-wasm", "pico-args", @@ -8002,7 +8003,7 @@ dependencies = [ [[package]] name = "shared_recording" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "rerun", ] @@ -8181,7 +8182,7 @@ dependencies = [ [[package]] name = "snippets" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "itertools 0.13.0", "ndarray", @@ -8205,7 +8206,7 @@ dependencies = [ [[package]] name = "spawn_viewer" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "rerun", ] @@ -8256,7 +8257,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "stdio" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "rerun", ] @@ -8433,7 +8434,7 @@ dependencies = [ [[package]] name = "template" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "rerun", ] @@ -8449,7 +8450,7 @@ dependencies = [ [[package]] name = "test_api" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -8464,7 +8465,7 @@ dependencies = [ [[package]] name = "test_data_density_graph" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "rand", @@ -8474,7 +8475,7 @@ dependencies = [ [[package]] name = "test_image_memory" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "mimalloc", "re_format", @@ -8483,7 +8484,7 @@ dependencies = [ [[package]] name = "test_pinhole_projection" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", @@ -8494,7 +8495,7 @@ dependencies = [ [[package]] name = "test_send_columns" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "re_chunk", "rerun", @@ -8502,7 +8503,7 @@ dependencies = [ [[package]] name = "test_ui_wakeup" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = [ "anyhow", "clap", diff --git a/Cargo.toml b/Cargo.toml index 25af7569328a..3b001f0d8032 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,8 +30,8 @@ include = [ ] license = "MIT OR Apache-2.0" repository = "https://github.com/rerun-io/rerun" -rust-version = "1.80" -version = "0.21.0-alpha.1+dev" +rust-version = "1.81" +version = "0.22.0-alpha.1+dev" [workspace.dependencies] # When using alpha-release, always use exact version, e.g. `version = "=0.x.y-alpha.z" @@ -40,78 +40,78 @@ version = "0.21.0-alpha.1+dev" # re_log_types 0.3.0-alpha.0, NOT 0.3.0-alpha.4 even though it is newer and semver-compatible. # crates/build: -re_build_info = { path = "crates/build/re_build_info", version = "=0.21.0-alpha.1", default-features = false } -re_build_tools = { path = "crates/build/re_build_tools", version = "=0.21.0-alpha.1", default-features = false } -re_dev_tools = { path = "crates/build/re_dev_tools", version = "=0.21.0-alpha.1", default-features = false } -re_protos_builder = { path = "crates/build/re_protos_builder", version = "=0.21.0-alpha.1", default-features = false } -re_types_builder = { path = "crates/build/re_types_builder", version = "=0.21.0-alpha.1", default-features = false } +re_build_info = { path = "crates/build/re_build_info", version = "=0.22.0-alpha.1", default-features = false } +re_build_tools = { path = "crates/build/re_build_tools", version = "=0.22.0-alpha.1", default-features = false } +re_dev_tools = { path = "crates/build/re_dev_tools", version = "=0.22.0-alpha.1", default-features = false } +re_protos_builder = { path = "crates/build/re_protos_builder", version = "=0.22.0-alpha.1", default-features = false } +re_types_builder = { path = "crates/build/re_types_builder", version = "=0.22.0-alpha.1", default-features = false } # crates/store: -re_chunk = { path = "crates/store/re_chunk", version = "=0.21.0-alpha.1", default-features = false } -re_chunk_store = { path = "crates/store/re_chunk_store", version = "=0.21.0-alpha.1", default-features = false } -re_data_loader = { path = "crates/store/re_data_loader", version = "=0.21.0-alpha.1", default-features = false } -re_data_source = { path = "crates/store/re_data_source", version = "=0.21.0-alpha.1", default-features = false } -re_dataframe = { path = "crates/store/re_dataframe", version = "=0.21.0-alpha.1", default-features = false } -re_entity_db = { path = "crates/store/re_entity_db", version = "=0.21.0-alpha.1", default-features = false } -re_format_arrow = { path = "crates/store/re_format_arrow", version = "=0.21.0-alpha.1", default-features = false } -re_grpc_client = { path = "crates/store/re_grpc_client", version = "=0.21.0-alpha.1", default-features = false } -re_protos = { path = "crates/store/re_protos", version = "=0.21.0-alpha.1", default-features = false } -re_log_encoding = { path = "crates/store/re_log_encoding", version = "=0.21.0-alpha.1", default-features = false } -re_log_types = { path = "crates/store/re_log_types", version = "=0.21.0-alpha.1", default-features = false } -re_query = { path = "crates/store/re_query", version = "=0.21.0-alpha.1", default-features = false } -re_sdk_comms = { path = "crates/store/re_sdk_comms", version = "=0.21.0-alpha.1", default-features = false } -re_types = { path = "crates/store/re_types", version = "=0.21.0-alpha.1", default-features = false } -re_types_core = { path = "crates/store/re_types_core", version = "=0.21.0-alpha.1", default-features = false } -re_ws_comms = { path = "crates/store/re_ws_comms", version = "=0.21.0-alpha.1", default-features = false } +re_chunk = { path = "crates/store/re_chunk", version = "=0.22.0-alpha.1", default-features = false } +re_chunk_store = { path = "crates/store/re_chunk_store", version = "=0.22.0-alpha.1", default-features = false } +re_data_loader = { path = "crates/store/re_data_loader", version = "=0.22.0-alpha.1", default-features = false } +re_data_source = { path = "crates/store/re_data_source", version = "=0.22.0-alpha.1", default-features = false } +re_dataframe = { path = "crates/store/re_dataframe", version = "=0.22.0-alpha.1", default-features = false } +re_entity_db = { path = "crates/store/re_entity_db", version = "=0.22.0-alpha.1", default-features = false } +re_format_arrow = { path = "crates/store/re_format_arrow", version = "=0.22.0-alpha.1", default-features = false } +re_grpc_client = { path = "crates/store/re_grpc_client", version = "=0.22.0-alpha.1", default-features = false } +re_protos = { path = "crates/store/re_protos", version = "=0.22.0-alpha.1", default-features = false } +re_log_encoding = { path = "crates/store/re_log_encoding", version = "=0.22.0-alpha.1", default-features = false } +re_log_types = { path = "crates/store/re_log_types", version = "=0.22.0-alpha.1", default-features = false } +re_query = { path = "crates/store/re_query", version = "=0.22.0-alpha.1", default-features = false } +re_sdk_comms = { path = "crates/store/re_sdk_comms", version = "=0.22.0-alpha.1", default-features = false } +re_types = { path = "crates/store/re_types", version = "=0.22.0-alpha.1", default-features = false } +re_types_core = { path = "crates/store/re_types_core", version = "=0.22.0-alpha.1", default-features = false } +re_ws_comms = { path = "crates/store/re_ws_comms", version = "=0.22.0-alpha.1", default-features = false } # crates/top: -re_sdk = { path = "crates/top/re_sdk", version = "=0.21.0-alpha.1", default-features = false } -rerun = { path = "crates/top/rerun", version = "=0.21.0-alpha.1", default-features = false } -rerun_c = { path = "crates/top/rerun_c", version = "=0.21.0-alpha.1", default-features = false } -rerun-cli = { path = "crates/top/rerun-cli", version = "=0.21.0-alpha.1", default-features = false } +re_sdk = { path = "crates/top/re_sdk", version = "=0.22.0-alpha.1", default-features = false } +rerun = { path = "crates/top/rerun", version = "=0.22.0-alpha.1", default-features = false } +rerun_c = { path = "crates/top/rerun_c", version = "=0.22.0-alpha.1", default-features = false } +rerun-cli = { path = "crates/top/rerun-cli", version = "=0.22.0-alpha.1", default-features = false } # crates/utils: -re_analytics = { path = "crates/utils/re_analytics", version = "=0.21.0-alpha.1", default-features = false } -re_capabilities = { path = "crates/utils/re_capabilities", version = "=0.21.0-alpha.1", default-features = false } -re_case = { path = "crates/utils/re_case", version = "=0.21.0-alpha.1", default-features = false } -re_crash_handler = { path = "crates/utils/re_crash_handler", version = "=0.21.0-alpha.1", default-features = false } -re_error = { path = "crates/utils/re_error", version = "=0.21.0-alpha.1", default-features = false } -re_format = { path = "crates/utils/re_format", version = "=0.21.0-alpha.1", default-features = false } -re_int_histogram = { path = "crates/utils/re_int_histogram", version = "=0.21.0-alpha.1", default-features = false } -re_log = { path = "crates/utils/re_log", version = "=0.21.0-alpha.1", default-features = false } -re_memory = { path = "crates/utils/re_memory", version = "=0.21.0-alpha.1", default-features = false } -re_smart_channel = { path = "crates/utils/re_smart_channel", version = "=0.21.0-alpha.1", default-features = false } -re_string_interner = { path = "crates/utils/re_string_interner", version = "=0.21.0-alpha.1", default-features = false } -re_tracing = { path = "crates/utils/re_tracing", version = "=0.21.0-alpha.1", default-features = false } -re_tuid = { path = "crates/utils/re_tuid", version = "=0.21.0-alpha.1", default-features = false } -re_video = { path = "crates/utils/re_video", version = "=0.21.0-alpha.1", default-features = false } +re_analytics = { path = "crates/utils/re_analytics", version = "=0.22.0-alpha.1", default-features = false } +re_capabilities = { path = "crates/utils/re_capabilities", version = "=0.22.0-alpha.1", default-features = false } +re_case = { path = "crates/utils/re_case", version = "=0.22.0-alpha.1", default-features = false } +re_crash_handler = { path = "crates/utils/re_crash_handler", version = "=0.22.0-alpha.1", default-features = false } +re_error = { path = "crates/utils/re_error", version = "=0.22.0-alpha.1", default-features = false } +re_format = { path = "crates/utils/re_format", version = "=0.22.0-alpha.1", default-features = false } +re_int_histogram = { path = "crates/utils/re_int_histogram", version = "=0.22.0-alpha.1", default-features = false } +re_log = { path = "crates/utils/re_log", version = "=0.22.0-alpha.1", default-features = false } +re_memory = { path = "crates/utils/re_memory", version = "=0.22.0-alpha.1", default-features = false } +re_smart_channel = { path = "crates/utils/re_smart_channel", version = "=0.22.0-alpha.1", default-features = false } +re_string_interner = { path = "crates/utils/re_string_interner", version = "=0.22.0-alpha.1", default-features = false } +re_tracing = { path = "crates/utils/re_tracing", version = "=0.22.0-alpha.1", default-features = false } +re_tuid = { path = "crates/utils/re_tuid", version = "=0.22.0-alpha.1", default-features = false } +re_video = { path = "crates/utils/re_video", version = "=0.22.0-alpha.1", default-features = false } # crates/viewer: -re_blueprint_tree = { path = "crates/viewer/re_blueprint_tree", version = "=0.21.0-alpha.1", default-features = false } -re_component_ui = { path = "crates/viewer/re_component_ui", version = "=0.21.0-alpha.1", default-features = false } -re_context_menu = { path = "crates/viewer/re_context_menu", version = "=0.21.0-alpha.1", default-features = false } -re_data_ui = { path = "crates/viewer/re_data_ui", version = "=0.21.0-alpha.1", default-features = false } -re_chunk_store_ui = { path = "crates/viewer/re_chunk_store_ui", version = "=0.21.0-alpha.1", default-features = false } -re_renderer = { path = "crates/viewer/re_renderer", version = "=0.21.0-alpha.1", default-features = false } -re_renderer_examples = { path = "crates/viewer/re_renderer_examples", version = "=0.21.0-alpha.1", default-features = false } -re_selection_panel = { path = "crates/viewer/re_selection_panel", version = "=0.21.0-alpha.1", default-features = false } -re_view = { path = "crates/viewer/re_view", version = "=0.21.0-alpha.1", default-features = false } -re_view_bar_chart = { path = "crates/viewer/re_view_bar_chart", version = "=0.21.0-alpha.1", default-features = false } -re_view_spatial = { path = "crates/viewer/re_view_spatial", version = "=0.21.0-alpha.1", default-features = false } -re_view_dataframe = { path = "crates/viewer/re_view_dataframe", version = "=0.21.0-alpha.1", default-features = false } -re_view_graph = { path = "crates/viewer/re_view_graph", version = "=0.21.0-alpha.1", default-features = false } -re_view_map = { path = "crates/viewer/re_view_map", version = "=0.21.0-alpha.1", default-features = false } -re_view_tensor = { path = "crates/viewer/re_view_tensor", version = "=0.21.0-alpha.1", default-features = false } -re_view_text_document = { path = "crates/viewer/re_view_text_document", version = "=0.21.0-alpha.1", default-features = false } -re_view_text_log = { path = "crates/viewer/re_view_text_log", version = "=0.21.0-alpha.1", default-features = false } -re_view_time_series = { path = "crates/viewer/re_view_time_series", version = "=0.21.0-alpha.1", default-features = false } -re_time_panel = { path = "crates/viewer/re_time_panel", version = "=0.21.0-alpha.1", default-features = false } -re_ui = { path = "crates/viewer/re_ui", version = "=0.21.0-alpha.1", default-features = false } -re_viewer = { path = "crates/viewer/re_viewer", version = "=0.21.0-alpha.1", default-features = false } -re_viewer_context = { path = "crates/viewer/re_viewer_context", version = "=0.21.0-alpha.1", default-features = false } -re_viewport = { path = "crates/viewer/re_viewport", version = "=0.21.0-alpha.1", default-features = false } -re_viewport_blueprint = { path = "crates/viewer/re_viewport_blueprint", version = "=0.21.0-alpha.1", default-features = false } -re_web_viewer_server = { path = "crates/viewer/re_web_viewer_server", version = "=0.21.0-alpha.1", default-features = false } +re_blueprint_tree = { path = "crates/viewer/re_blueprint_tree", version = "=0.22.0-alpha.1", default-features = false } +re_component_ui = { path = "crates/viewer/re_component_ui", version = "=0.22.0-alpha.1", default-features = false } +re_context_menu = { path = "crates/viewer/re_context_menu", version = "=0.22.0-alpha.1", default-features = false } +re_data_ui = { path = "crates/viewer/re_data_ui", version = "=0.22.0-alpha.1", default-features = false } +re_chunk_store_ui = { path = "crates/viewer/re_chunk_store_ui", version = "=0.22.0-alpha.1", default-features = false } +re_renderer = { path = "crates/viewer/re_renderer", version = "=0.22.0-alpha.1", default-features = false } +re_renderer_examples = { path = "crates/viewer/re_renderer_examples", version = "=0.22.0-alpha.1", default-features = false } +re_selection_panel = { path = "crates/viewer/re_selection_panel", version = "=0.22.0-alpha.1", default-features = false } +re_view = { path = "crates/viewer/re_view", version = "=0.22.0-alpha.1", default-features = false } +re_view_bar_chart = { path = "crates/viewer/re_view_bar_chart", version = "=0.22.0-alpha.1", default-features = false } +re_view_spatial = { path = "crates/viewer/re_view_spatial", version = "=0.22.0-alpha.1", default-features = false } +re_view_dataframe = { path = "crates/viewer/re_view_dataframe", version = "=0.22.0-alpha.1", default-features = false } +re_view_graph = { path = "crates/viewer/re_view_graph", version = "=0.22.0-alpha.1", default-features = false } +re_view_map = { path = "crates/viewer/re_view_map", version = "=0.22.0-alpha.1", default-features = false } +re_view_tensor = { path = "crates/viewer/re_view_tensor", version = "=0.22.0-alpha.1", default-features = false } +re_view_text_document = { path = "crates/viewer/re_view_text_document", version = "=0.22.0-alpha.1", default-features = false } +re_view_text_log = { path = "crates/viewer/re_view_text_log", version = "=0.22.0-alpha.1", default-features = false } +re_view_time_series = { path = "crates/viewer/re_view_time_series", version = "=0.22.0-alpha.1", default-features = false } +re_time_panel = { path = "crates/viewer/re_time_panel", version = "=0.22.0-alpha.1", default-features = false } +re_ui = { path = "crates/viewer/re_ui", version = "=0.22.0-alpha.1", default-features = false } +re_viewer = { path = "crates/viewer/re_viewer", version = "=0.22.0-alpha.1", default-features = false } +re_viewer_context = { path = "crates/viewer/re_viewer_context", version = "=0.22.0-alpha.1", default-features = false } +re_viewport = { path = "crates/viewer/re_viewport", version = "=0.22.0-alpha.1", default-features = false } +re_viewport_blueprint = { path = "crates/viewer/re_viewport_blueprint", version = "=0.22.0-alpha.1", default-features = false } +re_web_viewer_server = { path = "crates/viewer/re_web_viewer_server", version = "=0.22.0-alpha.1", default-features = false } # Rerun crates in other repos: ewebsock = "0.8.0" @@ -193,6 +193,7 @@ glob = "0.3" gltf = "1.1" half = "2.3.1" hexasphere = "14.1.0" +home = "=0.5.9" image = { version = "0.25", default-features = false } indent = "0.1" indexmap = "2.1" # Version chosen to align with other dependencies @@ -382,6 +383,7 @@ rust_2021_prelude_collisions = "warn" semicolon_in_expressions_from_macros = "warn" trivial_numeric_casts = "warn" unsafe_op_in_unsafe_fn = "warn" # `unsafe_op_in_unsafe_fn` may become the default in future Rust versions: https://github.com/rust-lang/rust/issues/71668 +unexpected_cfgs = "deny" unused_extern_crates = "warn" unused_import_braces = "warn" unused_lifetimes = "warn" @@ -466,7 +468,6 @@ match_same_arms = "warn" match_wild_err_arm = "warn" match_wildcard_for_single_variants = "warn" mem_forget = "warn" -mismatched_target_os = "warn" mismatching_type_param_order = "warn" missing_enforced_import_renames = "warn" missing_safety_doc = "warn" @@ -495,6 +496,7 @@ ref_option_ref = "warn" rest_pat_in_fully_bound_structs = "warn" same_functions_in_if_condition = "warn" semicolon_if_nothing_returned = "warn" +set_contains_or_insert = "warn" should_panic_without_expect = "warn" single_char_pattern = "warn" single_match_else = "warn" diff --git a/clippy.toml b/clippy.toml index b9f05c287f9e..ec39e9871d72 100644 --- a/clippy.toml +++ b/clippy.toml @@ -3,7 +3,7 @@ # ----------------------------------------------------------------------------- # Section identical to the main scripts/clippy_wasm/clippy.toml: -msrv = "1.80" +msrv = "1.81" allow-unwrap-in-tests = true diff --git a/crates/build/re_dev_tools/src/build_web_viewer/lib.rs b/crates/build/re_dev_tools/src/build_web_viewer/lib.rs index 3a0973bc56bc..8fa7c622d433 100644 --- a/crates/build/re_dev_tools/src/build_web_viewer/lib.rs +++ b/crates/build/re_dev_tools/src/build_web_viewer/lib.rs @@ -124,7 +124,7 @@ pub fn build( cmd.arg("--no-default-features"); } if !features.is_empty() { - cmd.arg(&format!("--features={features}")); + cmd.arg(format!("--features={features}")); } if profile == Profile::Release { cmd.arg("--release"); diff --git a/crates/build/re_types_builder/src/codegen/docs/snippets_ref.rs b/crates/build/re_types_builder/src/codegen/docs/snippets_ref.rs index 47fe4e3cfeac..322785041e9c 100644 --- a/crates/build/re_types_builder/src/codegen/docs/snippets_ref.rs +++ b/crates/build/re_types_builder/src/codegen/docs/snippets_ref.rs @@ -631,9 +631,8 @@ fn is_speculative(any_name: &str) -> anyhow::Result { let minor: u32 = env!("CARGO_PKG_VERSION_MINOR") .parse() .context("couldn't parse minor crate version")?; - let pre = env!("CARGO_PKG_VERSION_PRE"); - minor < 21 || !pre.is_empty() + minor < 21 }; const RELEASED_IN_0_21: &[&str] = &[ diff --git a/crates/store/re_chunk/src/iter.rs b/crates/store/re_chunk/src/iter.rs index 1534d9ac0a28..c417e814c6ad 100644 --- a/crates/store/re_chunk/src/iter.rs +++ b/crates/store/re_chunk/src/iter.rs @@ -2,10 +2,11 @@ use std::sync::Arc; use arrow2::{ array::{ - Array as Arrow2Array, FixedSizeListArray as Arrow2FixedSizeListArray, - ListArray as Arrow2ListArray, PrimitiveArray as Arrow2PrimitiveArray, - Utf8Array as Arrow2Utf8Array, + Array as Arrow2Array, BooleanArray as Arrow2BooleanArray, + FixedSizeListArray as Arrow2FixedSizeListArray, ListArray as Arrow2ListArray, + PrimitiveArray as Arrow2PrimitiveArray, Utf8Array as Arrow2Utf8Array, }, + bitmap::Bitmap as Arrow2Bitmap, Either, }; use itertools::{izip, Itertools}; @@ -264,6 +265,49 @@ impl Chunk { ) } + /// Returns an iterator over the raw boolean values of a [`Chunk`], for a given component. + /// + /// This is a very fast path: the entire column will be downcasted at once, and then every + /// component batch will be a slice reference into that global slice. + /// Use this when working with simple arrow datatypes and performance matters. + /// + /// See also: + /// * [`Self::iter_primitive_array`] + /// * [`Self::iter_primitive_array_list`] + /// * [`Self::iter_string`] + /// * [`Self::iter_buffer`]. + /// * [`Self::iter_component_arrays`]. + /// * [`Self::iter_component`]. + #[inline] + pub fn iter_bool( + &self, + component_name: &ComponentName, + ) -> impl Iterator + '_ { + let Some(list_array) = self.get_first_component(component_name) else { + return Either::Left(std::iter::empty()); + }; + + let Some(values) = list_array + .values() + .as_any() + .downcast_ref::() + else { + if cfg!(debug_assertions) { + panic!("downcast failed for {component_name}, data discarded"); + } else { + re_log::error_once!("downcast failed for {component_name}, data discarded"); + } + return Either::Left(std::iter::empty()); + }; + let values = values.values().clone(); + + // NOTE: No need for validity checks here, `iter_offsets` already takes care of that. + Either::Right( + self.iter_component_offsets(component_name) + .map(move |(idx, len)| values.clone().sliced(idx, len)), + ) + } + /// Returns an iterator over the raw primitive arrays of a [`Chunk`], for a given component. /// /// This is a very fast path: the entire column will be downcasted at once, and then every @@ -686,6 +730,10 @@ impl Chunk { /// Use this when working with complex arrow datatypes and performance matters (e.g. ranging /// through enum types across many timestamps). /// + /// TODO(#5305): Note that, while this is much faster than deserializing each row individually, + /// this still uses the old codegen'd deserialization path, which does some very unidiomatic Arrow + /// things, and is therefore very slow at the moment. Avoid this on performance critical paths. + /// /// See also: /// * [`Self::iter_primitive`] /// * [`Self::iter_primitive_array`] diff --git a/crates/store/re_types/definitions/rerun/archetypes/ellipsoids3d.fbs b/crates/store/re_types/definitions/rerun/archetypes/ellipsoids3d.fbs index 0fb824dc7017..469ff7009186 100644 --- a/crates/store/re_types/definitions/rerun/archetypes/ellipsoids3d.fbs +++ b/crates/store/re_types/definitions/rerun/archetypes/ellipsoids3d.fbs @@ -12,7 +12,7 @@ namespace rerun.archetypes; /// Some of its component are repeated here for convenience. /// If there's more instance poses than half sizes, the last half size will be repeated for the remaining poses. /// -/// \example archetypes/ellipsoids3d_simple !api title="Covariance ellipsoid" image="https://static.rerun.io/elliopsoid3d_simple/bd5d46e61b80ae44792b52ee07d750a7137002ea/1200w.png" +/// \example archetypes/ellipsoids3d_simple title="Covariance ellipsoid" image="https://static.rerun.io/elliopsoid3d_simple/bd5d46e61b80ae44792b52ee07d750a7137002ea/1200w.png" table Ellipsoids3D ( "attr.rust.derive": "PartialEq", "attr.rust.new_pub_crate", diff --git a/crates/store/re_types/definitions/rerun/archetypes/graph_edges.fbs b/crates/store/re_types/definitions/rerun/archetypes/graph_edges.fbs index 337787158f71..c85a4e58e4bb 100644 --- a/crates/store/re_types/definitions/rerun/archetypes/graph_edges.fbs +++ b/crates/store/re_types/definitions/rerun/archetypes/graph_edges.fbs @@ -10,10 +10,8 @@ namespace rerun.archetypes; /// \example archetypes/graph_directed title="Simple directed graph" image="https://static.rerun.io/graph_directed/ca29a37b65e1e0b6482251dce401982a0bc568fa/1200w.png" table GraphEdges ( "attr.docs.category": "Graph", - "attr.docs.unreleased", "attr.docs.view_types": "GraphView", - "attr.rust.derive": "PartialEq, Eq", - "attr.rerun.experimental" + "attr.rust.derive": "PartialEq, Eq" ) { // --- Required --- diff --git a/crates/store/re_types/definitions/rerun/archetypes/graph_nodes.fbs b/crates/store/re_types/definitions/rerun/archetypes/graph_nodes.fbs index 142a88dd2444..d169b97bd25b 100644 --- a/crates/store/re_types/definitions/rerun/archetypes/graph_nodes.fbs +++ b/crates/store/re_types/definitions/rerun/archetypes/graph_nodes.fbs @@ -8,10 +8,8 @@ namespace rerun.archetypes; /// \example archetypes/graph_directed title="Simple directed graph" image="https://static.rerun.io/graph_directed/ca29a37b65e1e0b6482251dce401982a0bc568fa/1200w.png" table GraphNodes ( "attr.docs.category": "Graph", - "attr.docs.unreleased", "attr.docs.view_types": "GraphView", - "attr.rust.derive": "PartialEq", - "attr.rerun.experimental" + "attr.rust.derive": "PartialEq" ) { // --- Required --- diff --git a/crates/store/re_types/definitions/rerun/blueprint/archetypes/near_clip_plane.fbs b/crates/store/re_types/definitions/rerun/blueprint/archetypes/near_clip_plane.fbs index a157d67a2982..9875dfde1004 100644 --- a/crates/store/re_types/definitions/rerun/blueprint/archetypes/near_clip_plane.fbs +++ b/crates/store/re_types/definitions/rerun/blueprint/archetypes/near_clip_plane.fbs @@ -2,7 +2,6 @@ namespace rerun.blueprint.archetypes; /// Controls the distance to the near clip plane in 3D scene units. table NearClipPlane ( - "attr.docs.unreleased", "attr.rerun.scope": "blueprint", "attr.rust.derive": "Copy" ) { diff --git a/crates/store/re_types/definitions/rerun/blueprint/components/near_clip_plane.fbs b/crates/store/re_types/definitions/rerun/blueprint/components/near_clip_plane.fbs index 200fc64ef33b..aa7aa3582d1f 100644 --- a/crates/store/re_types/definitions/rerun/blueprint/components/near_clip_plane.fbs +++ b/crates/store/re_types/definitions/rerun/blueprint/components/near_clip_plane.fbs @@ -6,8 +6,7 @@ namespace rerun.blueprint.components; struct NearClipPlane ( "attr.rerun.scope": "blueprint", "attr.rust.derive": "Copy, PartialEq, bytemuck::Pod, bytemuck::Zeroable", - "attr.rust.repr": "transparent", - "attr.docs.unreleased" + "attr.rust.repr": "transparent" ) { /// Distance to the near clip plane in 3D scene units. near_clip_plane: rerun.datatypes.Float32 (order: 100); diff --git a/crates/store/re_types/definitions/rerun/blueprint/views/graph.fbs b/crates/store/re_types/definitions/rerun/blueprint/views/graph.fbs index 848ad4f3255a..7710b0856c02 100644 --- a/crates/store/re_types/definitions/rerun/blueprint/views/graph.fbs +++ b/crates/store/re_types/definitions/rerun/blueprint/views/graph.fbs @@ -4,8 +4,7 @@ namespace rerun.blueprint.views; /// /// \example views/graph title="Use a blueprint to create a graph view." image="https://static.rerun.io/graph_lattice/f9169da9c3f35b7260c9d74cd5be5fe710aec6a8/1200w.png" table GraphView ( - "attr.rerun.view_identifier": "Graph", - "attr.docs.unreleased" + "attr.rerun.view_identifier": "Graph" ) { /// Everything within these bounds is guaranteed to be visible. /// diff --git a/crates/store/re_types/definitions/rerun/components/graph_edge.fbs b/crates/store/re_types/definitions/rerun/components/graph_edge.fbs index 1f97a2e6c506..435dee9efa5a 100644 --- a/crates/store/re_types/definitions/rerun/components/graph_edge.fbs +++ b/crates/store/re_types/definitions/rerun/components/graph_edge.fbs @@ -4,7 +4,6 @@ namespace rerun.components; /// An edge in a graph connecting two nodes. table GraphEdge ( - "attr.docs.unreleased", "attr.rust.derive": "Default, PartialEq, Eq, PartialOrd, Ord", "attr.rust.repr": "transparent" ) { diff --git a/crates/store/re_types/definitions/rerun/components/graph_node.fbs b/crates/store/re_types/definitions/rerun/components/graph_node.fbs index 7867665a380a..3af3d6f2f185 100644 --- a/crates/store/re_types/definitions/rerun/components/graph_node.fbs +++ b/crates/store/re_types/definitions/rerun/components/graph_node.fbs @@ -4,7 +4,6 @@ namespace rerun.components; /// A string-based ID representing a node in a graph. table GraphNode ( - "attr.docs.unreleased", "attr.python.aliases": "str", "attr.python.array_aliases": "str, Sequence[str]", "attr.rust.derive": "Default, PartialEq, Eq, PartialOrd, Ord, Hash", diff --git a/crates/store/re_types/definitions/rerun/components/graph_type.fbs b/crates/store/re_types/definitions/rerun/components/graph_type.fbs index 283e3a2b93b4..1348c6b20479 100644 --- a/crates/store/re_types/definitions/rerun/components/graph_type.fbs +++ b/crates/store/re_types/definitions/rerun/components/graph_type.fbs @@ -4,7 +4,6 @@ namespace rerun.components; /// Specifies if a graph has directed or undirected edges. enum GraphType: ubyte ( - "attr.docs.unreleased", "attr.rust.derive": "Default, PartialEq, Eq" ) { /// Invalid value. Won't show up in generated types. diff --git a/crates/store/re_types/definitions/rerun/components/plane3d.fbs b/crates/store/re_types/definitions/rerun/components/plane3d.fbs index e60aa4efdf58..21c8b139d1c4 100644 --- a/crates/store/re_types/definitions/rerun/components/plane3d.fbs +++ b/crates/store/re_types/definitions/rerun/components/plane3d.fbs @@ -10,7 +10,6 @@ namespace rerun.components; /// datastore as provided, when used in the Viewer, planes will always be normalized. /// I.e. the plane with xyz = (2, 0, 0), d = 1 is equivalent to xyz = (1, 0, 0), d = 0.5 struct Plane3D ( - "attr.docs.unreleased", "attr.rust.derive": "Copy, PartialEq, bytemuck::Pod, bytemuck::Zeroable", "attr.rust.repr": "transparent" ) { diff --git a/crates/store/re_types/definitions/rerun/components/recording_uri.fbs b/crates/store/re_types/definitions/rerun/components/recording_uri.fbs index e27204f5251d..22966e126eb4 100644 --- a/crates/store/re_types/definitions/rerun/components/recording_uri.fbs +++ b/crates/store/re_types/definitions/rerun/components/recording_uri.fbs @@ -4,8 +4,7 @@ namespace rerun.components; /// A recording URI (Uniform Resource Identifier). table RecordingUri ( - "attr.rust.derive": "PartialEq, Eq, PartialOrd, Ord, Hash", - "attr.docs.unreleased" + "attr.rust.derive": "PartialEq, Eq, PartialOrd, Ord, Hash" ) { recording_uri: rerun.datatypes.Utf8 (order: 100); } diff --git a/crates/store/re_types/definitions/rerun/datatypes/plane3d.fbs b/crates/store/re_types/definitions/rerun/datatypes/plane3d.fbs index a490f8450481..acfeb4741ce8 100644 --- a/crates/store/re_types/definitions/rerun/datatypes/plane3d.fbs +++ b/crates/store/re_types/definitions/rerun/datatypes/plane3d.fbs @@ -10,7 +10,6 @@ namespace rerun.datatypes; /// datastore as provided, when used in the Viewer, planes will always be normalized. /// I.e. the plane with xyz = (2, 0, 0), d = 1 is equivalent to xyz = (1, 0, 0), d = 0.5 struct Plane3D ( - "attr.docs.unreleased", "attr.arrow.transparent", "attr.python.array_aliases": "npt.NDArray[Any], npt.ArrayLike, Sequence[Sequence[float]]", "attr.rust.derive": "Copy, PartialEq, PartialOrd, bytemuck::Pod, bytemuck::Zeroable", diff --git a/crates/store/re_types/definitions/rerun/datatypes/utf8_pair.fbs b/crates/store/re_types/definitions/rerun/datatypes/utf8_pair.fbs index 9acbb85a5052..051722a1e200 100644 --- a/crates/store/re_types/definitions/rerun/datatypes/utf8_pair.fbs +++ b/crates/store/re_types/definitions/rerun/datatypes/utf8_pair.fbs @@ -2,7 +2,6 @@ namespace rerun.datatypes; /// Stores a tuple of UTF-8 strings. table Utf8Pair ( - "attr.docs.unreleased", "attr.python.aliases": "Tuple[datatypes.Utf8Like, datatypes.Utf8Like]", "attr.python.array_aliases": "npt.NDArray[np.str_]", "attr.rust.derive": "Default, PartialEq, Eq, PartialOrd, Ord" diff --git a/crates/store/re_types/src/archetypes/ellipsoids3d.rs b/crates/store/re_types/src/archetypes/ellipsoids3d.rs index bc6ee14a53f6..034fbb9f6047 100644 --- a/crates/store/re_types/src/archetypes/ellipsoids3d.rs +++ b/crates/store/re_types/src/archetypes/ellipsoids3d.rs @@ -27,6 +27,58 @@ use ::re_types_core::{DeserializationError, DeserializationResult}; /// Note that orienting and placing the ellipsoids/spheres is handled via `[archetypes.InstancePoses3D]`. /// Some of its component are repeated here for convenience. /// If there's more instance poses than half sizes, the last half size will be repeated for the remaining poses. +/// +/// ## Example +/// +/// ### Covariance ellipsoid +/// ```ignore +/// use rand::distributions::Distribution; +/// +/// fn main() -> Result<(), Box> { +/// let rec = rerun::RecordingStreamBuilder::new("rerun_example_ellipsoid_simple").spawn()?; +/// +/// let sigmas: [f32; 3] = [5., 3., 1.]; +/// +/// let mut rng = rand::thread_rng(); +/// let normal = rand_distr::Normal::new(0.0, 1.0)?; +/// +/// rec.log( +/// "points", +/// &rerun::Points3D::new((0..50_000).map(|_| { +/// ( +/// sigmas[0] * normal.sample(&mut rng), +/// sigmas[1] * normal.sample(&mut rng), +/// sigmas[2] * normal.sample(&mut rng), +/// ) +/// })) +/// .with_radii([0.02]) +/// .with_colors([rerun::Color::from_rgb(188, 77, 185)]), +/// )?; +/// +/// rec.log( +/// "ellipsoid", +/// &rerun::Ellipsoids3D::from_centers_and_half_sizes( +/// [(0.0, 0.0, 0.0), (0.0, 0.0, 0.0)], +/// [sigmas, [sigmas[0] * 3., sigmas[1] * 3., sigmas[2] * 3.]], +/// ) +/// .with_colors([ +/// rerun::Color::from_rgb(255, 255, 0), +/// rerun::Color::from_rgb(64, 64, 0), +/// ]), +/// )?; +/// +/// Ok(()) +/// } +/// ``` +///
+/// +/// +/// +/// +/// +/// +/// +///
#[derive(Clone, Debug, PartialEq)] pub struct Ellipsoids3D { /// For each ellipsoid, half of its size on its three axes. diff --git a/crates/store/re_types/src/archetypes/graph_edges.rs b/crates/store/re_types/src/archetypes/graph_edges.rs index d30dfea19a76..19fa08c8c526 100644 --- a/crates/store/re_types/src/archetypes/graph_edges.rs +++ b/crates/store/re_types/src/archetypes/graph_edges.rs @@ -22,8 +22,6 @@ use ::re_types_core::{DeserializationError, DeserializationResult}; /// /// By default, edges are undirected. /// -/// ⚠️ **This type is experimental and may be removed in future versions** -/// /// ## Example /// /// ### Simple directed graph diff --git a/crates/store/re_types/src/archetypes/graph_nodes.rs b/crates/store/re_types/src/archetypes/graph_nodes.rs index 3f3e707e185f..5931330051f3 100644 --- a/crates/store/re_types/src/archetypes/graph_nodes.rs +++ b/crates/store/re_types/src/archetypes/graph_nodes.rs @@ -20,8 +20,6 @@ use ::re_types_core::{DeserializationError, DeserializationResult}; /// **Archetype**: A list of nodes in a graph with optional labels, colors, etc. /// -/// ⚠️ **This type is experimental and may be removed in future versions** -/// /// ## Example /// /// ### Simple directed graph diff --git a/crates/store/re_types/src/components/colormap_ext.rs b/crates/store/re_types/src/components/colormap_ext.rs new file mode 100644 index 000000000000..4ac1db7ecda1 --- /dev/null +++ b/crates/store/re_types/src/components/colormap_ext.rs @@ -0,0 +1,31 @@ +use super::Colormap; + +impl Colormap { + /// Instantiate a new [`Colormap`] from a u8 value. + /// + /// Returns `None` if the value doesn't match any of the enum's arms. + pub fn from_u8(value: u8) -> Option { + // NOTE: This code will be optimized out, it's only here to make sure this method fails to + // compile if the enum is modified. + match Self::default() { + Self::Grayscale + | Self::Inferno + | Self::Magma + | Self::Plasma + | Self::Turbo + | Self::Viridis + | Self::CyanToYellow => {} + } + + match value { + v if v == Self::Grayscale as u8 => Some(Self::Grayscale), + v if v == Self::Inferno as u8 => Some(Self::Inferno), + v if v == Self::Magma as u8 => Some(Self::Magma), + v if v == Self::Plasma as u8 => Some(Self::Plasma), + v if v == Self::Turbo as u8 => Some(Self::Turbo), + v if v == Self::Viridis as u8 => Some(Self::Viridis), + v if v == Self::CyanToYellow as u8 => Some(Self::CyanToYellow), + _ => None, + } + } +} diff --git a/crates/store/re_types/src/components/fill_mode_ext.rs b/crates/store/re_types/src/components/fill_mode_ext.rs new file mode 100644 index 000000000000..9096be0cb444 --- /dev/null +++ b/crates/store/re_types/src/components/fill_mode_ext.rs @@ -0,0 +1,21 @@ +use super::FillMode; + +impl FillMode { + /// Instantiate a new [`FillMode`] from a u8 value. + /// + /// Returns `None` if the value doesn't match any of the enum's arms. + pub fn from_u8(value: u8) -> Option { + // NOTE: This code will be optimized out, it's only here to make sure this method fails to + // compile if the enum is modified. + match Self::default() { + Self::MajorWireframe | Self::DenseWireframe | Self::Solid => {} + } + + match value { + v if v == Self::MajorWireframe as u8 => Some(Self::MajorWireframe), + v if v == Self::DenseWireframe as u8 => Some(Self::DenseWireframe), + v if v == Self::Solid as u8 => Some(Self::Solid), + _ => None, + } + } +} diff --git a/crates/store/re_types/src/components/mod.rs b/crates/store/re_types/src/components/mod.rs index 7273851612a7..8e327e644274 100644 --- a/crates/store/re_types/src/components/mod.rs +++ b/crates/store/re_types/src/components/mod.rs @@ -12,6 +12,7 @@ mod class_id_ext; mod color; mod color_ext; mod colormap; +mod colormap_ext; mod depth_meter; mod depth_meter_ext; mod disconnected_space; @@ -20,6 +21,7 @@ mod draw_order; mod draw_order_ext; mod entity_path; mod fill_mode; +mod fill_mode_ext; mod fill_ratio; mod fill_ratio_ext; mod gamma_correction; diff --git a/crates/store/re_types/src/reflection/mod.rs b/crates/store/re_types/src/reflection/mod.rs index 5555c742eceb..7318042dcd70 100644 --- a/crates/store/re_types/src/reflection/mod.rs +++ b/crates/store/re_types/src/reflection/mod.rs @@ -1411,11 +1411,11 @@ fn generate_archetype_reflection() -> ArchetypeReflectionMap { fields: vec![ ArchetypeFieldReflection { name : "edges", display_name : "Edges", component_name : "rerun.components.GraphEdge".into(), docstring_md : - "A list of node tuples.\n\n⚠\u{fe0f} **This type is experimental and may be removed in future versions**", - is_required : true, }, ArchetypeFieldReflection { name : - "graph_type", display_name : "Graph type", component_name : - "rerun.components.GraphType".into(), docstring_md : - "Specifies if the graph is directed or undirected.\n\nIf no [`components.GraphType`](https://rerun.io/docs/reference/types/components/graph_type?speculative-link) is provided, the graph is assumed to be undirected.\n\n⚠\u{fe0f} **This type is experimental and may be removed in future versions**", + "A list of node tuples.", is_required : true, }, + ArchetypeFieldReflection { name : "graph_type", display_name : + "Graph type", component_name : "rerun.components.GraphType".into(), + docstring_md : + "Specifies if the graph is directed or undirected.\n\nIf no [`components.GraphType`](https://rerun.io/docs/reference/types/components/graph_type) is provided, the graph is assumed to be undirected.", is_required : false, }, ], }, @@ -1429,29 +1429,24 @@ fn generate_archetype_reflection() -> ArchetypeReflectionMap { fields: vec![ ArchetypeFieldReflection { name : "node_ids", display_name : "Node ids", component_name : "rerun.components.GraphNode".into(), - docstring_md : - "A list of node IDs.\n\n⚠\u{fe0f} **This type is experimental and may be removed in future versions**", - is_required : true, }, ArchetypeFieldReflection { name : "positions", - display_name : "Positions", component_name : - "rerun.components.Position2D".into(), docstring_md : - "Optional center positions of the nodes.\n\n⚠\u{fe0f} **This type is experimental and may be removed in future versions**", - is_required : false, }, ArchetypeFieldReflection { name : "colors", - display_name : "Colors", component_name : "rerun.components.Color" - .into(), docstring_md : - "Optional colors for the boxes.\n\n⚠\u{fe0f} **This type is experimental and may be removed in future versions**", - is_required : false, }, ArchetypeFieldReflection { name : "labels", - display_name : "Labels", component_name : "rerun.components.Text" - .into(), docstring_md : - "Optional text labels for the node.\n\n⚠\u{fe0f} **This type is experimental and may be removed in future versions**", - is_required : false, }, ArchetypeFieldReflection { name : - "show_labels", display_name : "Show labels", component_name : + docstring_md : "A list of node IDs.", is_required : true, }, + ArchetypeFieldReflection { name : "positions", display_name : + "Positions", component_name : "rerun.components.Position2D".into(), + docstring_md : "Optional center positions of the nodes.", is_required + : false, }, ArchetypeFieldReflection { name : "colors", display_name + : "Colors", component_name : "rerun.components.Color".into(), + docstring_md : "Optional colors for the boxes.", is_required : false, + }, ArchetypeFieldReflection { name : "labels", display_name : + "Labels", component_name : "rerun.components.Text".into(), + docstring_md : "Optional text labels for the node.", is_required : + false, }, ArchetypeFieldReflection { name : "show_labels", + display_name : "Show labels", component_name : "rerun.components.ShowLabels".into(), docstring_md : - "Optional choice of whether the text labels should be shown by default.\n\n⚠\u{fe0f} **This type is experimental and may be removed in future versions**", + "Optional choice of whether the text labels should be shown by default.", is_required : false, }, ArchetypeFieldReflection { name : "radii", display_name : "Radii", component_name : "rerun.components.Radius" - .into(), docstring_md : - "Optional radii for nodes.\n\n⚠\u{fe0f} **This type is experimental and may be removed in future versions**", - is_required : false, }, + .into(), docstring_md : "Optional radii for nodes.", is_required : + false, }, ], }, ), diff --git a/crates/utils/re_analytics/src/lib.rs b/crates/utils/re_analytics/src/lib.rs index a0a10c8e7b0d..709f08f27345 100644 --- a/crates/utils/re_analytics/src/lib.rs +++ b/crates/utils/re_analytics/src/lib.rs @@ -217,12 +217,13 @@ pub struct Analytics { fn load_config() -> Result { let config = match Config::load() { Ok(config) => config, - #[allow(unused_variables)] + Err(err) => { // NOTE: This will cause the first run disclaimer to show up again on native, // and analytics will be disabled for the rest of the session. - #[cfg(not(target_arch = "wasm32"))] - re_log::warn!("failed to load analytics config file: {err}"); + if !cfg!(target_arch = "wasm32") { + re_log::warn!("failed to load analytics config file: {err}"); + } None } }; diff --git a/crates/utils/re_capabilities/README.md b/crates/utils/re_capabilities/README.md index c61326593afe..0388f986f3b5 100644 --- a/crates/utils/re_capabilities/README.md +++ b/crates/utils/re_capabilities/README.md @@ -3,7 +3,7 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. [![Latest version](https://img.shields.io/crates/v/re_capabilities.svg)](https://crates.io/crates/re_capabilitiescrates/utils/) -[![Documentation](https://docs.rs/re_capabilities/badge.svg?speculative-link)](https://docs.rs/re_capabilities?speculative-link) +[![Documentation](https://docs.rs/re_capabilities/badge.svg)](https://docs.rs/re_capabilities) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/utils/re_crash_handler/src/lib.rs b/crates/utils/re_crash_handler/src/lib.rs index 9efe2c28aa69..781954fb971b 100644 --- a/crates/utils/re_crash_handler/src/lib.rs +++ b/crates/utils/re_crash_handler/src/lib.rs @@ -28,69 +28,72 @@ pub fn install_crash_handlers(build_info: BuildInfo) { fn install_panic_hook(_build_info: BuildInfo) { let previous_panic_hook = std::panic::take_hook(); - std::panic::set_hook(Box::new(move |panic_info: &std::panic::PanicInfo<'_>| { - let callstack = callstack_from(&["panicking::panic_fmt\n"]); - - let file_line = panic_info.location().map(|location| { - let file = anonymize_source_file_path(&std::path::PathBuf::from(location.file())); - format!("{file}:{}", location.line()) - }); - - let msg = panic_info_message(panic_info); - - if let Some(msg) = &msg { - // Print our own panic message. - // Our formatting is nicer than `std` since we shorten the file paths (for privacy reasons). - // This also makes it easier for users to copy-paste the callstack into an issue - // without having any sensitive data in it. - - let thread = std::thread::current(); - let thread_name = thread - .name() - .map_or_else(|| format!("{:?}", thread.id()), |name| name.to_owned()); - - eprintln!("\nthread '{thread_name}' panicked at '{msg}'"); - if let Some(file_line) = &file_line { - eprintln!("{file_line}"); + std::panic::set_hook(Box::new( + move |panic_info: &std::panic::PanicHookInfo<'_>| { + let callstack = callstack_from(&["panicking::panic_fmt\n"]); + + let file_line = panic_info.location().map(|location| { + let file = anonymize_source_file_path(&std::path::PathBuf::from(location.file())); + format!("{file}:{}", location.line()) + }); + + let msg = panic_info_message(panic_info); + + if let Some(msg) = &msg { + // Print our own panic message. + // Our formatting is nicer than `std` since we shorten the file paths (for privacy reasons). + // This also makes it easier for users to copy-paste the callstack into an issue + // without having any sensitive data in it. + + let thread = std::thread::current(); + let thread_name = thread + .name() + .map_or_else(|| format!("{:?}", thread.id()), |name| name.to_owned()); + + eprintln!("\nthread '{thread_name}' panicked at '{msg}'"); + if let Some(file_line) = &file_line { + eprintln!("{file_line}"); + } + eprintln!("stack backtrace:\n{callstack}"); + } else { + // This prints the panic message and callstack: + (*previous_panic_hook)(panic_info); } - eprintln!("stack backtrace:\n{callstack}"); - } else { - // This prints the panic message and callstack: - (*previous_panic_hook)(panic_info); - } - econtext::print_econtext(); // Print additional error context, if any + econtext::print_econtext(); // Print additional error context, if any - eprintln!( - "\n\ + eprintln!( + "\n\ Troubleshooting Rerun: https://www.rerun.io/docs/getting-started/troubleshooting \n\ Report bugs: https://github.com/rerun-io/rerun/issues" - ); + ); - #[cfg(feature = "analytics")] - { - if let Ok(analytics) = re_analytics::Analytics::new(std::time::Duration::from_millis(1)) + #[cfg(feature = "analytics")] { - analytics.record(re_analytics::event::CrashPanic { - build_info: _build_info, - callstack, - // Don't include panic message, because it can contain sensitive information, - // e.g. `panic!("Couldn't read {sensitive_file_path}")`. - message: None, - file_line, - }); - - std::thread::sleep(std::time::Duration::from_secs(1)); // Give analytics time to send the event + if let Ok(analytics) = + re_analytics::Analytics::new(std::time::Duration::from_millis(1)) + { + analytics.record(re_analytics::event::CrashPanic { + build_info: _build_info, + callstack, + // Don't include panic message, because it can contain sensitive information, + // e.g. `panic!("Couldn't read {sensitive_file_path}")`. + message: None, + file_line, + }); + + std::thread::sleep(std::time::Duration::from_secs(1)); // Give analytics time to send the event + } } - } - // We compile with `panic = "abort"`, but we don't want to report the same problem twice, so just exit: - #[allow(clippy::exit)] - std::process::exit(102); - })); + // We compile with `panic = "abort"`, but we don't want to report the same problem twice, so just exit: + #[allow(clippy::exit)] + std::process::exit(102); + }, + )); } -fn panic_info_message(panic_info: &std::panic::PanicInfo<'_>) -> Option { +fn panic_info_message(panic_info: &std::panic::PanicHookInfo<'_>) -> Option { // `panic_info.message` is unstable, so this is the recommended way of getting // the panic message out. We need both the `&str` and `String` variants. diff --git a/crates/viewer/re_ui/src/design_tokens.rs b/crates/viewer/re_ui/src/design_tokens.rs index 125e64989d93..aa740ce30da4 100644 --- a/crates/viewer/re_ui/src/design_tokens.rs +++ b/crates/viewer/re_ui/src/design_tokens.rs @@ -15,7 +15,7 @@ pub struct DesignTokens { /// Color table for all colors used in the UI. /// /// Loaded at startup from `design_tokens.json`. - color_table: ColorTable, + pub color_table: ColorTable, // TODO(ab): get rid of these, they should be function calls like the rest. pub top_bar_color: egui::Color32, diff --git a/crates/viewer/re_ui/src/lib.rs b/crates/viewer/re_ui/src/lib.rs index 3bbc851676fb..ba9b22dbfa33 100644 --- a/crates/viewer/re_ui/src/lib.rs +++ b/crates/viewer/re_ui/src/lib.rs @@ -19,7 +19,7 @@ pub mod zoom_pan_area; use egui::NumExt as _; pub use self::{ - color_table::{ColorToken, Hue, Scale}, + color_table::{ColorTable, ColorToken, Hue, Scale}, command::{UICommand, UICommandSender}, command_palette::CommandPalette, context_ext::ContextExt, diff --git a/crates/viewer/re_view/README.md b/crates/viewer/re_view/README.md index 54410b016536..4c7f372db337 100644 --- a/crates/viewer/re_view/README.md +++ b/crates/viewer/re_view/README.md @@ -3,7 +3,7 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. [![Latest version](https://img.shields.io/crates/v/re_view.svg)](https://crates.io/crates/re_view) -[![Documentation](https://docs.rs/re_view/badge.svg?speculative-link)](https://docs.rs/re_view?speculative-link) +[![Documentation](https://docs.rs/re_view/badge.svg)](https://docs.rs/re_view) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_view/src/results_ext.rs b/crates/viewer/re_view/src/results_ext.rs index 60c4e126a67b..f51350480e55 100644 --- a/crates/viewer/re_view/src/results_ext.rs +++ b/crates/viewer/re_view/src/results_ext.rs @@ -1,9 +1,9 @@ -use std::borrow::Cow; -use std::sync::Arc; +use std::{borrow::Cow, sync::Arc}; use itertools::Itertools as _; use re_chunk_store::{Chunk, LatestAtQuery, RangeQuery, UnitChunkShared}; +use re_log_types::external::arrow2::bitmap::Bitmap as Arrow2Bitmap; use re_log_types::hash::Hash64; use re_query::{LatestAtResults, RangeResults}; use re_types_core::ComponentName; @@ -420,8 +420,12 @@ pub struct HybridResultsChunkIter<'a> { impl<'a> HybridResultsChunkIter<'a> { /// Iterate as indexed deserialized batches. /// + /// TODO(#5305): Note that this uses the old codegen'd deserialization path, which does some + /// very unidiomatic Arrow things, and is therefore very slow at the moment. Avoid this on + /// performance critical paths. + /// /// See [`Chunk::iter_component`] for more information. - pub fn component( + pub fn component_slow( &'a self, ) -> impl Iterator)> + 'a { self.chunks.iter().flat_map(move |chunk| { @@ -432,6 +436,18 @@ impl<'a> HybridResultsChunkIter<'a> { }) } + /// Iterate as indexed booleans. + /// + /// See [`Chunk::iter_bool`] for more information. + pub fn bool(&'a self) -> impl Iterator + 'a { + self.chunks.iter().flat_map(move |chunk| { + itertools::izip!( + chunk.iter_component_indices(&self.timeline, &self.component_name), + chunk.iter_bool(&self.component_name) + ) + }) + } + /// Iterate as indexed primitives. /// /// See [`Chunk::iter_primitive`] for more information. diff --git a/crates/viewer/re_view_bar_chart/README.md b/crates/viewer/re_view_bar_chart/README.md index 524f0772e339..b3fc22dc9785 100644 --- a/crates/viewer/re_view_bar_chart/README.md +++ b/crates/viewer/re_view_bar_chart/README.md @@ -3,7 +3,7 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. [![Latest version](https://img.shields.io/crates/v/re_view_bar_chart.svg)](https://crates.io/crates/re_view_bar_chart) -[![Documentation](https://docs.rs/re_view_bar_chart/badge.svg??speculative-link)](https://docs.rs/re_view_bar_chart?speculative-link) +[![Documentation](https://docs.rs/re_view_bar_chart/badge.svg?)](https://docs.rs/re_view_bar_chart) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_view_dataframe/README.md b/crates/viewer/re_view_dataframe/README.md index 23fc1c7eee2f..f08ed1966a56 100644 --- a/crates/viewer/re_view_dataframe/README.md +++ b/crates/viewer/re_view_dataframe/README.md @@ -3,7 +3,7 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. [![Latest version](https://img.shields.io/crates/v/re_view_dataframe.svg)](https://crates.io/crates/re_view_dataframe) -[![Documentation](https://docs.rs/re_view_dataframe/badge.svg?speculative-link)](https://docs.rs/re_view_dataframe?speculative-link) +[![Documentation](https://docs.rs/re_view_dataframe/badge.svg)](https://docs.rs/re_view_dataframe) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_view_graph/README.md b/crates/viewer/re_view_graph/README.md index 3a106e7ad8c3..b64b99770608 100644 --- a/crates/viewer/re_view_graph/README.md +++ b/crates/viewer/re_view_graph/README.md @@ -1,9 +1,9 @@ # re_view_graph -Part of the [`rerun`](https://github.com/rerun-io/rerun?speculative-link) family of crates. +Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_view_graph.svg)](https://crates.io/crates/re_view_graph?speculative-link) -[![Documentation](https://docs.rs/re_view_graph/badge.svg)](https://docs.rs/re_view_graph?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_view_graph.svg)](https://crates.io/crates/re_view_graph) +[![Documentation](https://docs.rs/re_view_graph/badge.svg)](https://docs.rs/re_view_graph) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_view_graph/src/graph/mod.rs b/crates/viewer/re_view_graph/src/graph/mod.rs index 4ddb4c969087..35f5c5f43750 100644 --- a/crates/viewer/re_view_graph/src/graph/mod.rs +++ b/crates/viewer/re_view_graph/src/graph/mod.rs @@ -48,14 +48,6 @@ impl Node { } } - /// The original [`components::GraphNode`] id that was logged by the user. - pub fn graph_node(&self) -> &components::GraphNode { - match self { - Self::Explicit { instance, .. } => &instance.graph_node, - Self::Implicit { graph_node, .. } => graph_node, - } - } - pub fn label(&self) -> &DrawableLabel { match self { Self::Explicit { label, .. } | Self::Implicit { label, .. } => label, @@ -81,6 +73,7 @@ pub struct Graph { entity: EntityPath, nodes: Vec, edges: Vec, + #[expect(unused)] kind: GraphType, } @@ -110,21 +103,19 @@ impl Graph { let (edges, kind) = if let Some(data) = edge_data { for edge in &data.edges { - if !seen.contains(&edge.source_index) { + if seen.insert(edge.source_index) { nodes.push(Node::Implicit { id: edge.source_index, graph_node: edge.source.clone(), label: DrawableLabel::implicit_circle(ui), }); - seen.insert(edge.source_index); } - if !seen.contains(&edge.target_index) { + if seen.insert(edge.target_index) { nodes.push(Node::Implicit { id: edge.target_index, graph_node: edge.target.clone(), label: DrawableLabel::implicit_circle(ui), }); - seen.insert(edge.target_index); } } @@ -155,10 +146,6 @@ impl Graph { &self.edges } - pub fn kind(&self) -> GraphType { - self.kind - } - pub fn entity(&self) -> &EntityPath { &self.entity } diff --git a/crates/viewer/re_view_graph/src/layout/geometry.rs b/crates/viewer/re_view_graph/src/layout/geometry.rs index 52498c900049..0a8e2d306d19 100644 --- a/crates/viewer/re_view_graph/src/layout/geometry.rs +++ b/crates/viewer/re_view_graph/src/layout/geometry.rs @@ -39,6 +39,7 @@ impl EdgeGeometry { } /// The starting position of an edge. + #[expect(unused)] pub fn source_pos(&self) -> Pos2 { match self.path { PathGeometry::Line { source, .. } | PathGeometry::CubicBezier { source, .. } => source, @@ -53,6 +54,7 @@ impl EdgeGeometry { } /// The direction of the edge at the source node (normalized). + #[expect(unused)] pub fn source_arrow_direction(&self) -> Vec2 { use PathGeometry::{CubicBezier, Line}; match self.path { diff --git a/crates/viewer/re_view_graph/src/layout/result.rs b/crates/viewer/re_view_graph/src/layout/result.rs index 85c03a5d33fb..7ed15553187b 100644 --- a/crates/viewer/re_view_graph/src/layout/result.rs +++ b/crates/viewer/re_view_graph/src/layout/result.rs @@ -41,6 +41,7 @@ impl Layout { } /// Gets the shape of an edge in the final layout. + #[expect(unused)] pub fn get_edge(&self, edge: &EdgeId) -> Option<&[EdgeGeometry]> { self.edges.get(edge).map(|es| es.as_slice()) } diff --git a/crates/viewer/re_view_graph/src/ui/state.rs b/crates/viewer/re_view_graph/src/ui/state.rs index e15ec96afb3c..79c0221174e0 100644 --- a/crates/viewer/re_view_graph/src/ui/state.rs +++ b/crates/viewer/re_view_graph/src/ui/state.rs @@ -82,10 +82,6 @@ impl LayoutState { *self = Self::None; } - pub fn is_none(&self) -> bool { - matches!(self, Self::None) - } - pub fn is_in_progress(&self) -> bool { matches!(self, Self::InProgress { .. }) } diff --git a/crates/viewer/re_view_graph/src/visualizers/edges.rs b/crates/viewer/re_view_graph/src/visualizers/edges.rs index 4f980e559df1..fac36b789bf5 100644 --- a/crates/viewer/re_view_graph/src/visualizers/edges.rs +++ b/crates/viewer/re_view_graph/src/visualizers/edges.rs @@ -62,7 +62,8 @@ impl VisualizerSystem for EdgesVisualizer { let all_indexed_edges = results.iter_as(query.timeline, components::GraphEdge::name()); let graph_type = results.get_mono_with_fallback::(); - for (_index, edges) in all_indexed_edges.component::() { + // TODO(cmc): Provide a `iter_struct`. + for (_index, edges) in all_indexed_edges.component_slow::() { let edges = edges .iter() .enumerate() diff --git a/crates/viewer/re_view_graph/src/visualizers/nodes.rs b/crates/viewer/re_view_graph/src/visualizers/nodes.rs index b03a0c3121f6..5c13da73385b 100644 --- a/crates/viewer/re_view_graph/src/visualizers/nodes.rs +++ b/crates/viewer/re_view_graph/src/visualizers/nodes.rs @@ -41,7 +41,6 @@ pub enum Label { /// A [`NodeInstance`] is the output of the [`NodeVisualizer`] and represents a single node in the graph. #[derive(Clone)] pub struct NodeInstance { - pub graph_node: components::GraphNode, pub instance_index: Instance, pub id: NodeId, pub position: Option, @@ -89,8 +88,9 @@ impl VisualizerSystem for NodeVisualizer { .map_or(true, bool::from); let data = range_zip_1x4( - all_indexed_nodes.component::(), - all_colors.component::(), + // TODO(cmc): Provide a `iter_struct`. + all_indexed_nodes.component_slow::(), + all_colors.primitive::(), all_positions.primitive_array::<2, f32>(), all_labels.string(), all_radii.primitive::(), @@ -101,7 +101,7 @@ impl VisualizerSystem for NodeVisualizer { nodes.iter(), (0..).map(Instance::from), colors.unwrap_or_default().iter().map(Option::Some), - Option::<&Color>::default, + Option::<&u32>::default, positions .unwrap_or_default() .iter() @@ -114,7 +114,7 @@ impl VisualizerSystem for NodeVisualizer { Option::::default, ) .map(|(node, instance, color, position, label, radius)| { - let color = color.map(|&c| egui::Color32::from(c)); + let color = color.map(|&c| egui::Color32::from(Color::new(c))); let label = match (label, show_label) { (Some(label), true) => Label::Text { text: label.clone(), @@ -128,7 +128,6 @@ impl VisualizerSystem for NodeVisualizer { }; NodeInstance { - graph_node: node.clone(), instance_index: instance, id: NodeId::from_entity_node(&data_result.entity_path, node), position: position.map(|[x, y]| egui::Pos2::new(x, y)), diff --git a/crates/viewer/re_view_map/README.md b/crates/viewer/re_view_map/README.md index 5555ab0cf427..e4f2338ed605 100644 --- a/crates/viewer/re_view_map/README.md +++ b/crates/viewer/re_view_map/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_view_map.svg)](https://crates.io/crates/re_view_spatial?speculative-link) -[![Documentation](https://docs.rs/re_view_map/badge.svg)](https://docs.rs/re_view_spatial?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_view_map.svg)](https://crates.io/crates/re_view_spatial) +[![Documentation](https://docs.rs/re_view_map/badge.svg)](https://docs.rs/re_view_spatial) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_view_map/src/visualizers/geo_line_strings.rs b/crates/viewer/re_view_map/src/visualizers/geo_line_strings.rs index 2b2e145d13e2..74550c4f368a 100644 --- a/crates/viewer/re_view_map/src/visualizers/geo_line_strings.rs +++ b/crates/viewer/re_view_map/src/visualizers/geo_line_strings.rs @@ -66,20 +66,20 @@ impl VisualizerSystem for GeoLineStringsVisualizer { // iterate over each chunk and find all relevant component slices for (_index, lines, colors, radii) in re_query::range_zip_1x2( - all_lines.component::(), - all_colors.component::(), - all_radii.component::(), + all_lines.primitive_array_list::<2, f64>(), + all_colors.primitive::(), + all_radii.primitive::(), ) { // required component let lines = lines.as_slice(); // optional components - let colors = colors.as_ref().map(|c| c.as_slice()).unwrap_or(&[]); - let radii = radii.as_ref().map(|r| r.as_slice()).unwrap_or(&[]); + let colors = colors.unwrap_or(&[]); + let radii = radii.unwrap_or(&[]); // optional components values to be used for instance clamping semantics - let last_color = colors.last().copied().unwrap_or(fallback_color); - let last_radii = radii.last().copied().unwrap_or(fallback_radius); + let last_color = colors.last().copied().unwrap_or(fallback_color.0 .0); + let last_radii = radii.last().copied().unwrap_or(fallback_radius.0 .0); // iterate over all instances for (instance_index, (line, color, radius)) in itertools::izip!( @@ -90,13 +90,12 @@ impl VisualizerSystem for GeoLineStringsVisualizer { .enumerate() { batch_data.lines.push( - line.0 - .iter() - .map(|pos| walkers::Position::from_lat_lon(pos.x(), pos.y())) + line.iter() + .map(|pos| walkers::Position::from_lat_lon(pos[0], pos[1])) .collect(), ); - batch_data.radii.push(*radius); - batch_data.colors.push(color.0.into()); + batch_data.radii.push(Radius((*radius).into())); + batch_data.colors.push(Color::new(*color).into()); batch_data .instance_id .push(re_renderer::PickingLayerInstanceId(instance_index as _)); diff --git a/crates/viewer/re_view_map/src/visualizers/geo_points.rs b/crates/viewer/re_view_map/src/visualizers/geo_points.rs index 29f9426e8d05..f904049f8893 100644 --- a/crates/viewer/re_view_map/src/visualizers/geo_points.rs +++ b/crates/viewer/re_view_map/src/visualizers/geo_points.rs @@ -69,13 +69,12 @@ impl VisualizerSystem for GeoPointsVisualizer { // iterate over each chunk and find all relevant component slices for (_index, positions, colors, radii, class_ids) in re_query::range_zip_1x3( - all_positions.component::(), + all_positions.primitive_array::<2, f64>(), all_colors.primitive::(), - all_radii.component::(), + all_radii.primitive::(), all_class_ids.primitive::(), ) { // required component - let positions = positions.as_slice(); let num_instances = positions.len(); // Resolve annotation info (if needed). @@ -94,10 +93,10 @@ impl VisualizerSystem for GeoPointsVisualizer { &annotation_infos, colors.map_or(&[], |colors| bytemuck::cast_slice(colors)), ); - let radii = radii.as_ref().map(|r| r.as_slice()).unwrap_or(&[]); + let radii = radii.unwrap_or(&[]); // optional components values to be used for instance clamping semantics - let last_radii = radii.last().copied().unwrap_or(fallback_radius); + let last_radii = radii.last().copied().unwrap_or(fallback_radius.0 .0); // iterate over all instances for (instance_index, (position, color, radius)) in itertools::izip!( @@ -107,11 +106,10 @@ impl VisualizerSystem for GeoPointsVisualizer { ) .enumerate() { - batch_data.positions.push(walkers::Position::from_lat_lon( - position.latitude(), - position.longitude(), - )); - batch_data.radii.push(*radius); + batch_data + .positions + .push(walkers::Position::from_lat_lon(position[0], position[1])); + batch_data.radii.push(Radius((*radius).into())); batch_data.colors.push(*color); batch_data .instance_id diff --git a/crates/viewer/re_view_spatial/README.md b/crates/viewer/re_view_spatial/README.md index 950c5eb13548..3a23de917b1e 100644 --- a/crates/viewer/re_view_spatial/README.md +++ b/crates/viewer/re_view_spatial/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_view_spatial.svg)](https://crates.io/crates/re_view_spatial?speculative-link) -[![Documentation](https://docs.rs/re_view_spatial/badge.svg)](https://docs.rs/re_view_spatial?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_view_spatial.svg)](https://crates.io/crates/re_view_spatial) +[![Documentation](https://docs.rs/re_view_spatial/badge.svg)](https://docs.rs/re_view_spatial) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_view_spatial/src/visualizers/arrows2d.rs b/crates/viewer/re_view_spatial/src/visualizers/arrows2d.rs index e8a01ee5a988..93b2e76457a6 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/arrows2d.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/arrows2d.rs @@ -244,7 +244,7 @@ impl VisualizerSystem for Arrows2DVisualizer { all_labels.string(), all_class_ids.primitive::(), all_keypoint_ids.primitive::(), - all_show_labels.component::(), + all_show_labels.bool(), ) .map( |( @@ -268,7 +268,7 @@ impl VisualizerSystem for Arrows2DVisualizer { .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), keypoint_ids: keypoint_ids .map_or(&[], |keypoint_ids| bytemuck::cast_slice(keypoint_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_spatial/src/visualizers/arrows3d.rs b/crates/viewer/re_view_spatial/src/visualizers/arrows3d.rs index 5249863867f3..2e02f969f53d 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/arrows3d.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/arrows3d.rs @@ -241,7 +241,7 @@ impl VisualizerSystem for Arrows3DVisualizer { all_radii.primitive::(), all_labels.string(), all_class_ids.primitive::(), - all_show_labels.component::(), + all_show_labels.bool(), ) .map( |(_index, vectors, origins, colors, radii, labels, class_ids, show_labels)| { @@ -253,7 +253,7 @@ impl VisualizerSystem for Arrows3DVisualizer { labels: labels.unwrap_or_default(), class_ids: class_ids .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_spatial/src/visualizers/boxes2d.rs b/crates/viewer/re_view_spatial/src/visualizers/boxes2d.rs index 5f05e0f649c1..2a236f2cd3e6 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/boxes2d.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/boxes2d.rs @@ -245,7 +245,7 @@ impl VisualizerSystem for Boxes2DVisualizer { all_radii.primitive::(), all_labels.string(), all_class_ids.primitive::(), - all_show_labels.component::(), + all_show_labels.bool(), ) .map( |( @@ -266,7 +266,7 @@ impl VisualizerSystem for Boxes2DVisualizer { labels: labels.unwrap_or_default(), class_ids: class_ids .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_spatial/src/visualizers/boxes3d.rs b/crates/viewer/re_view_spatial/src/visualizers/boxes3d.rs index 40dfe1adbf05..2d48e092ed32 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/boxes3d.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/boxes3d.rs @@ -159,9 +159,11 @@ impl VisualizerSystem for Boxes3DVisualizer { let all_fill_modes = results.iter_as(timeline, FillMode::name()); // fill mode is currently a non-repeated component let fill_mode: FillMode = all_fill_modes - .component::() + .primitive::() .next() - .and_then(|(_, fill_modes)| fill_modes.as_slice().first().copied()) + .and_then(|(_, fill_modes)| { + fill_modes.first().copied().and_then(FillMode::from_u8) + }) .unwrap_or_default(); match fill_mode { @@ -181,7 +183,7 @@ impl VisualizerSystem for Boxes3DVisualizer { all_radii.primitive::(), all_labels.string(), all_class_ids.primitive::(), - all_show_labels.component::(), + all_show_labels.bool(), ) .map( |(_index, half_sizes, colors, radii, labels, class_ids, show_labels)| { @@ -194,7 +196,7 @@ impl VisualizerSystem for Boxes3DVisualizer { labels: labels.unwrap_or_default(), class_ids: class_ids .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_spatial/src/visualizers/capsules3d.rs b/crates/viewer/re_view_spatial/src/visualizers/capsules3d.rs index a397cb80f8af..a2e2c5f1b41c 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/capsules3d.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/capsules3d.rs @@ -195,7 +195,7 @@ impl VisualizerSystem for Capsules3DVisualizer { all_radii_indexed, all_colors.primitive::(), all_labels.string(), - all_show_labels.component::(), + all_show_labels.bool(), all_class_ids.primitive::(), ) .map( @@ -207,7 +207,7 @@ impl VisualizerSystem for Capsules3DVisualizer { labels: labels.unwrap_or_default(), class_ids: class_ids .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_spatial/src/visualizers/depth_images.rs b/crates/viewer/re_view_spatial/src/visualizers/depth_images.rs index 6d5fbbf68dee..94c53af9c08b 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/depth_images.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/depth_images.rs @@ -292,7 +292,7 @@ impl VisualizerSystem for DepthImageVisualizer { let mut data = re_query::range_zip_1x5( all_buffers_indexed, all_formats_indexed, - all_colormaps.component::(), + all_colormaps.primitive::(), all_value_ranges.primitive_array::<2, f64>(), all_depth_meters.primitive::(), all_fill_ratios.primitive::(), @@ -310,7 +310,7 @@ impl VisualizerSystem for DepthImageVisualizer { }, depth_meter: first_copied(depth_meter).map(Into::into), fill_ratio: first_copied(fill_ratio).map(Into::into), - colormap: first_copied(colormap.as_deref()), + colormap: first_copied(colormap).and_then(Colormap::from_u8), value_range: first_copied(value_range).map(Into::into), }) }, diff --git a/crates/viewer/re_view_spatial/src/visualizers/ellipsoids.rs b/crates/viewer/re_view_spatial/src/visualizers/ellipsoids.rs index db2add13a89c..fa4f55c57f6c 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/ellipsoids.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/ellipsoids.rs @@ -178,10 +178,10 @@ impl VisualizerSystem for Ellipsoids3DVisualizer { all_half_sizes_indexed, all_colors.primitive::(), all_line_radii.primitive::(), - all_fill_modes.component::(), + all_fill_modes.primitive::(), all_labels.string(), all_class_ids.primitive::(), - all_show_labels.component::(), + all_show_labels.bool(), ) .map( |( @@ -204,11 +204,12 @@ impl VisualizerSystem for Ellipsoids3DVisualizer { .unwrap_or_default() .first() .copied() + .and_then(FillMode::from_u8) .unwrap_or_default(), labels: labels.unwrap_or_default(), class_ids: class_ids .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_spatial/src/visualizers/lines2d.rs b/crates/viewer/re_view_spatial/src/visualizers/lines2d.rs index c922ec9ecc22..d5b5db1f7cae 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/lines2d.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/lines2d.rs @@ -232,7 +232,7 @@ impl VisualizerSystem for Lines2DVisualizer { all_radii.primitive::(), all_labels.string(), all_class_ids.primitive::(), - all_show_labels.component::(), + all_show_labels.bool(), ) .map( |(_index, strips, colors, radii, labels, class_ids, show_labels)| { @@ -243,7 +243,7 @@ impl VisualizerSystem for Lines2DVisualizer { labels: labels.unwrap_or_default(), class_ids: class_ids .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_spatial/src/visualizers/lines3d.rs b/crates/viewer/re_view_spatial/src/visualizers/lines3d.rs index d8dc908f8458..9ef6d4511fb2 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/lines3d.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/lines3d.rs @@ -236,7 +236,7 @@ impl VisualizerSystem for Lines3DVisualizer { all_radii.primitive::(), all_labels.string(), all_class_ids.primitive::(), - all_show_labels.component::(), + all_show_labels.bool(), ) .map( |(_index, strips, colors, radii, labels, class_ids, show_labels)| { @@ -247,7 +247,7 @@ impl VisualizerSystem for Lines3DVisualizer { labels: labels.unwrap_or_default(), class_ids: class_ids .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_spatial/src/visualizers/meshes.rs b/crates/viewer/re_view_spatial/src/visualizers/meshes.rs index 09a73e05bea5..d5e83f60f9d2 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/meshes.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/meshes.rs @@ -214,8 +214,10 @@ impl VisualizerSystem for Mesh3DVisualizer { all_vertex_texcoords.primitive_array::<2, f32>(), all_triangle_indices.primitive_array::<3, u32>(), all_albedo_factors.primitive::(), - all_albedo_buffers.component::(), - all_albedo_formats.component::(), + // TODO(cmc): Provide a `iter_blob`. + all_albedo_buffers.component_slow::(), + // Legit call to `component_slow`, `ImageFormat` is real complicated. + all_albedo_formats.component_slow::(), all_class_ids.primitive::(), ) .map( diff --git a/crates/viewer/re_view_spatial/src/visualizers/points2d.rs b/crates/viewer/re_view_spatial/src/visualizers/points2d.rs index 55bb5eb9908c..2b54e568c1d7 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/points2d.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/points2d.rs @@ -251,7 +251,7 @@ impl VisualizerSystem for Points2DVisualizer { all_labels.string(), all_class_ids.primitive::(), all_keypoint_ids.primitive::(), - all_show_labels.component::(), + all_show_labels.bool(), ) .map( |( @@ -273,7 +273,7 @@ impl VisualizerSystem for Points2DVisualizer { .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), keypoint_ids: keypoint_ids .map_or(&[], |keypoint_ids| bytemuck::cast_slice(keypoint_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_spatial/src/visualizers/points3d.rs b/crates/viewer/re_view_spatial/src/visualizers/points3d.rs index 4860a6f6128c..7928fea07477 100644 --- a/crates/viewer/re_view_spatial/src/visualizers/points3d.rs +++ b/crates/viewer/re_view_spatial/src/visualizers/points3d.rs @@ -241,7 +241,7 @@ impl VisualizerSystem for Points3DVisualizer { all_labels.string(), all_class_ids.primitive::(), all_keypoint_ids.primitive::(), - all_show_labels.component::(), + all_show_labels.bool(), ) .map( |( @@ -263,7 +263,7 @@ impl VisualizerSystem for Points3DVisualizer { .map_or(&[], |class_ids| bytemuck::cast_slice(class_ids)), keypoint_ids: keypoint_ids .map_or(&[], |keypoint_ids| bytemuck::cast_slice(keypoint_ids)), - show_labels: show_labels.unwrap_or_default().first().copied(), + show_labels: show_labels.unwrap_or_default().get(0).map(Into::into), } }, ); diff --git a/crates/viewer/re_view_tensor/README.md b/crates/viewer/re_view_tensor/README.md index bd8bab191ee3..c0a325259122 100644 --- a/crates/viewer/re_view_tensor/README.md +++ b/crates/viewer/re_view_tensor/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_view_tensor.svg)](https://crates.io/crates/re_view_tensor?speculative-link) -[![Documentation](https://docs.rs/re_view_tensor/badge.svg)](https://docs.rs/re_view_tensor?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_view_tensor.svg)](https://crates.io/crates/re_view_tensor) +[![Documentation](https://docs.rs/re_view_tensor/badge.svg)](https://docs.rs/re_view_tensor) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_view_tensor/src/lib.rs b/crates/viewer/re_view_tensor/src/lib.rs index 19492b29bf34..f6e913430dd0 100644 --- a/crates/viewer/re_view_tensor/src/lib.rs +++ b/crates/viewer/re_view_tensor/src/lib.rs @@ -32,10 +32,12 @@ impl TensorDimension { .collect() } + #[allow(dead_code)] // Used for tests pub fn unnamed(size: u64) -> Self { Self { size, name: None } } + #[allow(dead_code)] // Used for tests pub fn named(size: u64, name: impl Into) -> Self { Self { size, diff --git a/crates/viewer/re_view_tensor/src/visualizer_system.rs b/crates/viewer/re_view_tensor/src/visualizer_system.rs index ce6bd9a18858..aa5e0cbd2412 100644 --- a/crates/viewer/re_view_tensor/src/visualizer_system.rs +++ b/crates/viewer/re_view_tensor/src/visualizer_system.rs @@ -69,13 +69,18 @@ impl VisualizerSystem for TensorSystem { let all_ranges = results.iter_as(timeline, ValueRange::name()); for ((_, tensor_row_id), tensors, data_ranges) in - re_query::range_zip_1x1(all_tensors_indexed, all_ranges.component::()) + re_query::range_zip_1x1(all_tensors_indexed, all_ranges.primitive_array::<2, f64>()) { let Some(tensor) = tensors.first() else { continue; }; let data_range = data_ranges - .and_then(|ranges| ranges.first().copied()) + .and_then(|ranges| { + ranges + .first() + .copied() + .map(|range| ValueRange(range.into())) + }) .unwrap_or_else(|| { let tensor_stats = ctx .viewer_ctx diff --git a/crates/viewer/re_view_text_document/README.md b/crates/viewer/re_view_text_document/README.md index 28580760e6cd..bc8b92289567 100644 --- a/crates/viewer/re_view_text_document/README.md +++ b/crates/viewer/re_view_text_document/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_view_text_document.svg)](https://crates.io/crates/re_view_text_document?speculative-link) -[![Documentation](https://docs.rs/re_view_text_document/badge.svg)](https://docs.rs/re_view_text_document?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_view_text_document.svg)](https://crates.io/crates/re_view_text_document) +[![Documentation](https://docs.rs/re_view_text_document/badge.svg)](https://docs.rs/re_view_text_document) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_view_text_log/README.md b/crates/viewer/re_view_text_log/README.md index 8ae9b824d012..1d0ff0848bf9 100644 --- a/crates/viewer/re_view_text_log/README.md +++ b/crates/viewer/re_view_text_log/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_view_text_log.svg)](https://crates.io/crates/re_view_text_log?speculative-link) -[![Documentation](https://docs.rs/re_view_text_log/badge.svg)](https://docs.rs/re_view_text_log?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_view_text_log.svg)](https://crates.io/crates/re_view_text_log) +[![Documentation](https://docs.rs/re_view_text_log/badge.svg)](https://docs.rs/re_view_text_log) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_view_text_log/src/visualizer_system.rs b/crates/viewer/re_view_text_log/src/visualizer_system.rs index 9440dbf5883d..d6330d8b842d 100644 --- a/crates/viewer/re_view_text_log/src/visualizer_system.rs +++ b/crates/viewer/re_view_text_log/src/visualizer_system.rs @@ -111,7 +111,7 @@ impl TextLogSystem { let all_frames = range_zip_1x2( all_texts.string(), - all_levels.component(), + all_levels.string(), all_colors.primitive::(), ); @@ -139,7 +139,7 @@ impl TextLogSystem { timepoint: timepoint.clone(), color, body: text.clone().into(), - level, + level: level.clone().map(Into::into), }); } } diff --git a/crates/viewer/re_view_time_series/README.md b/crates/viewer/re_view_time_series/README.md index 2c6c7fb5ab32..fc2556bd111d 100644 --- a/crates/viewer/re_view_time_series/README.md +++ b/crates/viewer/re_view_time_series/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_view_bar_chart.svg)](https://crates.io/crates/re_view_bar_chart?speculative-link) -[![Documentation](https://docs.rs/re_view_bar_chart/badge.svg)](https://docs.rs/re_view_bar_chart?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_view_bar_chart.svg)](https://crates.io/crates/re_view_bar_chart) +[![Documentation](https://docs.rs/re_view_bar_chart/badge.svg)](https://docs.rs/re_view_bar_chart) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_viewer/README.md b/crates/viewer/re_viewer/README.md index adf3ef575924..10c648321f03 100644 --- a/crates/viewer/re_viewer/README.md +++ b/crates/viewer/re_viewer/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_viewer.svg)](https://crates.io/crates/viewer/re_viewer?speculative-link) -[![Documentation](https://docs.rs/re_viewer/badge.svg)](https://docs.rs/re_viewer?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_viewer.svg)](https://crates.io/crates/viewer/re_viewer) +[![Documentation](https://docs.rs/re_viewer/badge.svg)](https://docs.rs/re_viewer) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_viewer/data/quick_start_guides/rust_connect.md b/crates/viewer/re_viewer/data/quick_start_guides/rust_connect.md index c5b748b7772f..e3facf5f3f64 100644 --- a/crates/viewer/re_viewer/data/quick_start_guides/rust_connect.md +++ b/crates/viewer/re_viewer/data/quick_start_guides/rust_connect.md @@ -10,7 +10,7 @@ Let's try it out in a brand-new Rust project: cargo init cube && cd cube && cargo add rerun --features native_viewer ``` -Note that the Rerun SDK requires a working installation of Rust 1.80+. +Note that the Rerun SDK requires a working installation of Rust 1.81+. ## Logging your own data diff --git a/crates/viewer/re_viewer/data/quick_start_guides/rust_spawn.md b/crates/viewer/re_viewer/data/quick_start_guides/rust_spawn.md index cde772f1aad2..ae2c4aa1cddd 100644 --- a/crates/viewer/re_viewer/data/quick_start_guides/rust_spawn.md +++ b/crates/viewer/re_viewer/data/quick_start_guides/rust_spawn.md @@ -10,7 +10,7 @@ Let's try it out in a brand-new Rust project: cargo init cube && cd cube && cargo add rerun ``` -Note that the Rerun SDK requires a working installation of Rust 1.80+. +Note that the Rerun SDK requires a working installation of Rust 1.81+. ## Logging your own data diff --git a/crates/viewer/re_viewer_context/Cargo.toml b/crates/viewer/re_viewer_context/Cargo.toml index a541a6600d27..dc1dc38cbc33 100644 --- a/crates/viewer/re_viewer_context/Cargo.toml +++ b/crates/viewer/re_viewer_context/Cargo.toml @@ -75,6 +75,7 @@ wgpu.workspace = true arboard = { workspace = true, default-features = false, features = [ "image-data", ] } +home.workspace = true # Web dependencies: [target.'cfg(target_arch = "wasm32")'.dependencies] diff --git a/crates/viewer/re_viewer_context/README.md b/crates/viewer/re_viewer_context/README.md index fa3ef603ddc5..7edbbaaf7fde 100644 --- a/crates/viewer/re_viewer_context/README.md +++ b/crates/viewer/re_viewer_context/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_viewer_context.svg)](https://crates.io/crates/viewer/re_viewer_context?speculative-link) -[![Documentation](https://docs.rs/re_viewer_context/badge.svg)](https://docs.rs/re_viewer_context?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_viewer_context.svg)](https://crates.io/crates/viewer/re_viewer_context) +[![Documentation](https://docs.rs/re_viewer_context/badge.svg)](https://docs.rs/re_viewer_context) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_viewport/README.md b/crates/viewer/re_viewport/README.md index b6bf90cd4967..8bd5548bbb5e 100644 --- a/crates/viewer/re_viewport/README.md +++ b/crates/viewer/re_viewport/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_viewport.svg)](https://crates.io/crates/re_viewport?speculative-link) -[![Documentation](https://docs.rs/re_viewport/badge.svg)](https://docs.rs/re_viewport?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_viewport.svg)](https://crates.io/crates/re_viewport) +[![Documentation](https://docs.rs/re_viewport/badge.svg)](https://docs.rs/re_viewport) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/crates/viewer/re_viewport_blueprint/README.md b/crates/viewer/re_viewport_blueprint/README.md index ee8c229a13c8..8280a9e5d34b 100644 --- a/crates/viewer/re_viewport_blueprint/README.md +++ b/crates/viewer/re_viewport_blueprint/README.md @@ -2,8 +2,8 @@ Part of the [`rerun`](https://github.com/rerun-io/rerun) family of crates. -[![Latest version](https://img.shields.io/crates/v/re_viewport_blueprint.svg)](https://crates.io/crates/re_viewport_blueprint?speculative-link) -[![Documentation](https://docs.rs/re_viewport_blueprint/badge.svg)](https://docs.rs/re_viewport_blueprint?speculative-link) +[![Latest version](https://img.shields.io/crates/v/re_viewport_blueprint.svg)](https://crates.io/crates/re_viewport_blueprint) +[![Documentation](https://docs.rs/re_viewport_blueprint/badge.svg)](https://docs.rs/re_viewport_blueprint) ![MIT](https://img.shields.io/badge/license-MIT-blue.svg) ![Apache](https://img.shields.io/badge/license-Apache-blue.svg) diff --git a/docs/content/getting-started/installing-viewer.md b/docs/content/getting-started/installing-viewer.md index 55ebc55e8ab8..89aac23fed2b 100644 --- a/docs/content/getting-started/installing-viewer.md +++ b/docs/content/getting-started/installing-viewer.md @@ -40,7 +40,7 @@ There are many ways to install the viewer. Please pick whatever works best for y - Download `rerun-cli` for your platform from the [GitHub Release artifacts](https://github.com/rerun-io/rerun/releases/latest/). - Via Cargo - `cargo binstall rerun-cli` - download binaries via [`cargo binstall`](https://github.com/cargo-bins/cargo-binstall) - - `cargo install rerun-cli --locked` - build it from source (this requires Rust 1.80+) + - `cargo install rerun-cli --locked` - build it from source (this requires Rust 1.81+) - Together with the Rerun [Python SDK](./quick-start/python.md): - `pip3 install rerun-sdk` - download it via pip - `conda install -c conda-forge rerun-sdk` - download via Conda diff --git a/docs/content/getting-started/quick-start/rust.md b/docs/content/getting-started/quick-start/rust.md index c79bc34db7c2..69f92ff3c9ce 100644 --- a/docs/content/getting-started/quick-start/rust.md +++ b/docs/content/getting-started/quick-start/rust.md @@ -5,7 +5,7 @@ order: 3 ## Setup -The Rerun SDK for Rust requires a working installation of Rust 1.80+. +The Rerun SDK for Rust requires a working installation of Rust 1.81+. After you have [installed the viewer](../installing-viewer.md#installing-the-viewer) you can simply add [the Rerun crate](https://crates.io/crates/rerun) to your project with `cargo add rerun`. diff --git a/docs/content/howto/logging/send-columns.md b/docs/content/howto/logging/send-columns.md index 07c6051e8c08..a1b28109f65f 100644 --- a/docs/content/howto/logging/send-columns.md +++ b/docs/content/howto/logging/send-columns.md @@ -33,7 +33,7 @@ snippet: archetypes/points3d_send_columns.py ### Using `send_columns` for logging custom components -An entire batch of a custom component can be logged at once using [`rr.AnyBatchValue`](https://ref.rerun.io/docs/python/0.20.0/common/custom_data/#rerun.AnyBatchValue?speculative-link) along with `send_column`: +An entire batch of a custom component can be logged at once using [`rr.AnyBatchValue`](https://ref.rerun.io/docs/python/0.20.0/common/custom_data/#rerun.AnyBatchValue) along with `send_column`: snippet: howto/any_batch_value_send_columns diff --git a/docs/content/reference/migration/migration-0-21.md b/docs/content/reference/migration/migration-0-21.md index 84a720a41338..481c17a509bb 100644 --- a/docs/content/reference/migration/migration-0-21.md +++ b/docs/content/reference/migration/migration-0-21.md @@ -29,14 +29,15 @@ rr.send_blueprint( ``` -### Types and fields got renamed from `.*space_view.*`/`.*SpaceView.*` to `.*view.*`/`.*View.*` +### Blueprint types and fields got renamed from `.*space_view.*`/`.*SpaceView.*` to `.*view.*`/`.*View.*` Various types and fields got changed to refer to "views" rather than "space views". -This exclusively affects the Python blueprint sdk: +This exclusively affects the Python blueprint sdk. -#### Field/argument changes: -* `ViewportBlueprint(...auto_views=...)` -> `ViewportBlueprint(...auto_views=...)` -* `Blueprint(...auto_views=...)` -> `Blueprint(...auto_views=...)` +#### Field/argument changes + +* `ViewportBlueprint(...auto_space_views=...)` -> `ViewportBlueprint(...auto_views=...)` +* `Blueprint(...auto_space_views=...)` -> `Blueprint(...auto_views=...)` #### Type changes diff --git a/docs/content/reference/types/archetypes/graph_edges.md b/docs/content/reference/types/archetypes/graph_edges.md index 47dc62ca7791..de405287b53b 100644 --- a/docs/content/reference/types/archetypes/graph_edges.md +++ b/docs/content/reference/types/archetypes/graph_edges.md @@ -3,9 +3,6 @@ title: "GraphEdges" --- - -⚠️ **This is an experimental API! It is not fully supported, and is likely to change significantly in future versions.** - A list of edges in a graph. By default, edges are undirected. @@ -21,9 +18,9 @@ By default, edges are undirected. * [DataframeView](../views/dataframe_view.md) ## API reference links - * 🌊 [C++ API docs for `GraphEdges`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1GraphEdges.html?speculative-link) - * 🐍 [Python API docs for `GraphEdges`](https://ref.rerun.io/docs/python/stable/common/archetypes?speculative-link#rerun.archetypes.GraphEdges) - * πŸ¦€ [Rust API docs for `GraphEdges`](https://docs.rs/rerun/latest/rerun/archetypes/struct.GraphEdges.html?speculative-link) + * 🌊 [C++ API docs for `GraphEdges`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1GraphEdges.html) + * 🐍 [Python API docs for `GraphEdges`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.GraphEdges) + * πŸ¦€ [Rust API docs for `GraphEdges`](https://docs.rs/rerun/latest/rerun/archetypes/struct.GraphEdges.html) ## Examples diff --git a/docs/content/reference/types/archetypes/graph_nodes.md b/docs/content/reference/types/archetypes/graph_nodes.md index c5b6d38ebab0..69fc86ddb4da 100644 --- a/docs/content/reference/types/archetypes/graph_nodes.md +++ b/docs/content/reference/types/archetypes/graph_nodes.md @@ -3,9 +3,6 @@ title: "GraphNodes" --- - -⚠️ **This is an experimental API! It is not fully supported, and is likely to change significantly in future versions.** - A list of nodes in a graph with optional labels, colors, etc. ## Components @@ -19,9 +16,9 @@ A list of nodes in a graph with optional labels, colors, etc. * [DataframeView](../views/dataframe_view.md) ## API reference links - * 🌊 [C++ API docs for `GraphNodes`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1GraphNodes.html?speculative-link) - * 🐍 [Python API docs for `GraphNodes`](https://ref.rerun.io/docs/python/stable/common/archetypes?speculative-link#rerun.archetypes.GraphNodes) - * πŸ¦€ [Rust API docs for `GraphNodes`](https://docs.rs/rerun/latest/rerun/archetypes/struct.GraphNodes.html?speculative-link) + * 🌊 [C++ API docs for `GraphNodes`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1archetypes_1_1GraphNodes.html) + * 🐍 [Python API docs for `GraphNodes`](https://ref.rerun.io/docs/python/stable/common/archetypes#rerun.archetypes.GraphNodes) + * πŸ¦€ [Rust API docs for `GraphNodes`](https://docs.rs/rerun/latest/rerun/archetypes/struct.GraphNodes.html) ## Examples diff --git a/docs/content/reference/types/components/color.md b/docs/content/reference/types/components/color.md index 7e28f1ebae84..835488c2c0cf 100644 --- a/docs/content/reference/types/components/color.md +++ b/docs/content/reference/types/components/color.md @@ -34,7 +34,7 @@ uint32 * [`Ellipsoids3D`](../archetypes/ellipsoids3d.md) * [`GeoLineStrings`](../archetypes/geo_line_strings.md) * [`GeoPoints`](../archetypes/geo_points.md) -* [`GraphNodes`](../archetypes/graph_nodes.md?speculative-link) +* [`GraphNodes`](../archetypes/graph_nodes.md) * [`LineStrips2D`](../archetypes/line_strips2d.md) * [`LineStrips3D`](../archetypes/line_strips3d.md) * [`Mesh3D`](../archetypes/mesh3d.md) diff --git a/docs/content/reference/types/components/graph_edge.md b/docs/content/reference/types/components/graph_edge.md index 7e3d6a7a8300..002d4ef6010f 100644 --- a/docs/content/reference/types/components/graph_edge.md +++ b/docs/content/reference/types/components/graph_edge.md @@ -18,11 +18,11 @@ Struct { ``` ## API reference links - * 🌊 [C++ API docs for `GraphEdge`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1GraphEdge.html?speculative-link) - * 🐍 [Python API docs for `GraphEdge`](https://ref.rerun.io/docs/python/stable/common/components?speculative-link#rerun.components.GraphEdge) - * πŸ¦€ [Rust API docs for `GraphEdge`](https://docs.rs/rerun/latest/rerun/components/struct.GraphEdge.html?speculative-link) + * 🌊 [C++ API docs for `GraphEdge`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1GraphEdge.html) + * 🐍 [Python API docs for `GraphEdge`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.GraphEdge) + * πŸ¦€ [Rust API docs for `GraphEdge`](https://docs.rs/rerun/latest/rerun/components/struct.GraphEdge.html) ## Used by -* [`GraphEdges`](../archetypes/graph_edges.md?speculative-link) +* [`GraphEdges`](../archetypes/graph_edges.md) diff --git a/docs/content/reference/types/components/graph_node.md b/docs/content/reference/types/components/graph_node.md index 23e0732351b0..638c20cf3217 100644 --- a/docs/content/reference/types/components/graph_node.md +++ b/docs/content/reference/types/components/graph_node.md @@ -15,11 +15,11 @@ utf8 ``` ## API reference links - * 🌊 [C++ API docs for `GraphNode`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1GraphNode.html?speculative-link) - * 🐍 [Python API docs for `GraphNode`](https://ref.rerun.io/docs/python/stable/common/components?speculative-link#rerun.components.GraphNode) - * πŸ¦€ [Rust API docs for `GraphNode`](https://docs.rs/rerun/latest/rerun/components/struct.GraphNode.html?speculative-link) + * 🌊 [C++ API docs for `GraphNode`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1GraphNode.html) + * 🐍 [Python API docs for `GraphNode`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.GraphNode) + * πŸ¦€ [Rust API docs for `GraphNode`](https://docs.rs/rerun/latest/rerun/components/struct.GraphNode.html) ## Used by -* [`GraphNodes`](../archetypes/graph_nodes.md?speculative-link) +* [`GraphNodes`](../archetypes/graph_nodes.md) diff --git a/docs/content/reference/types/components/graph_type.md b/docs/content/reference/types/components/graph_type.md index 5bb3a94c79ec..24aa3323c707 100644 --- a/docs/content/reference/types/components/graph_type.md +++ b/docs/content/reference/types/components/graph_type.md @@ -19,11 +19,11 @@ uint8 ``` ## API reference links - * 🌊 [C++ API docs for `GraphType`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1components.html?speculative-link) - * 🐍 [Python API docs for `GraphType`](https://ref.rerun.io/docs/python/stable/common/components?speculative-link#rerun.components.GraphType) - * πŸ¦€ [Rust API docs for `GraphType`](https://docs.rs/rerun/latest/rerun/components/enum.GraphType.html?speculative-link) + * 🌊 [C++ API docs for `GraphType`](https://ref.rerun.io/docs/cpp/stable/namespacererun_1_1components.html) + * 🐍 [Python API docs for `GraphType`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.GraphType) + * πŸ¦€ [Rust API docs for `GraphType`](https://docs.rs/rerun/latest/rerun/components/enum.GraphType.html) ## Used by -* [`GraphEdges`](../archetypes/graph_edges.md?speculative-link) +* [`GraphEdges`](../archetypes/graph_edges.md) diff --git a/docs/content/reference/types/components/plane3d.md b/docs/content/reference/types/components/plane3d.md index 58d7e4e31c40..4dc7f25f7c0c 100644 --- a/docs/content/reference/types/components/plane3d.md +++ b/docs/content/reference/types/components/plane3d.md @@ -23,8 +23,8 @@ FixedSizeList<4, float32> ``` ## API reference links - * 🌊 [C++ API docs for `Plane3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Plane3D.html?speculative-link) - * 🐍 [Python API docs for `Plane3D`](https://ref.rerun.io/docs/python/stable/common/components?speculative-link#rerun.components.Plane3D) - * πŸ¦€ [Rust API docs for `Plane3D`](https://docs.rs/rerun/latest/rerun/components/struct.Plane3D.html?speculative-link) + * 🌊 [C++ API docs for `Plane3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1Plane3D.html) + * 🐍 [Python API docs for `Plane3D`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.Plane3D) + * πŸ¦€ [Rust API docs for `Plane3D`](https://docs.rs/rerun/latest/rerun/components/struct.Plane3D.html) diff --git a/docs/content/reference/types/components/position2d.md b/docs/content/reference/types/components/position2d.md index faa24a3318ab..78f839ff55db 100644 --- a/docs/content/reference/types/components/position2d.md +++ b/docs/content/reference/types/components/position2d.md @@ -24,5 +24,5 @@ FixedSizeList<2, float32> * [`Arrows2D`](../archetypes/arrows2d.md) * [`Boxes2D`](../archetypes/boxes2d.md) -* [`GraphNodes`](../archetypes/graph_nodes.md?speculative-link) +* [`GraphNodes`](../archetypes/graph_nodes.md) * [`Points2D`](../archetypes/points2d.md) diff --git a/docs/content/reference/types/components/radius.md b/docs/content/reference/types/components/radius.md index 3d976dd859d9..e0ded53ec2f4 100644 --- a/docs/content/reference/types/components/radius.md +++ b/docs/content/reference/types/components/radius.md @@ -37,7 +37,7 @@ float32 * [`Ellipsoids3D`](../archetypes/ellipsoids3d.md) * [`GeoLineStrings`](../archetypes/geo_line_strings.md) * [`GeoPoints`](../archetypes/geo_points.md) -* [`GraphNodes`](../archetypes/graph_nodes.md?speculative-link) +* [`GraphNodes`](../archetypes/graph_nodes.md) * [`LineStrips2D`](../archetypes/line_strips2d.md) * [`LineStrips3D`](../archetypes/line_strips3d.md) * [`Points2D`](../archetypes/points2d.md) diff --git a/docs/content/reference/types/components/recording_uri.md b/docs/content/reference/types/components/recording_uri.md index 99133fc12b35..0e002267a23d 100644 --- a/docs/content/reference/types/components/recording_uri.md +++ b/docs/content/reference/types/components/recording_uri.md @@ -15,8 +15,8 @@ utf8 ``` ## API reference links - * 🌊 [C++ API docs for `RecordingUri`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1RecordingUri.html?speculative-link) - * 🐍 [Python API docs for `RecordingUri`](https://ref.rerun.io/docs/python/stable/common/components?speculative-link#rerun.components.RecordingUri) - * πŸ¦€ [Rust API docs for `RecordingUri`](https://docs.rs/rerun/latest/rerun/components/struct.RecordingUri.html?speculative-link) + * 🌊 [C++ API docs for `RecordingUri`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1components_1_1RecordingUri.html) + * 🐍 [Python API docs for `RecordingUri`](https://ref.rerun.io/docs/python/stable/common/components#rerun.components.RecordingUri) + * πŸ¦€ [Rust API docs for `RecordingUri`](https://docs.rs/rerun/latest/rerun/components/struct.RecordingUri.html) diff --git a/docs/content/reference/types/components/show_labels.md b/docs/content/reference/types/components/show_labels.md index 1f81d6c88e8f..81c2df55751c 100644 --- a/docs/content/reference/types/components/show_labels.md +++ b/docs/content/reference/types/components/show_labels.md @@ -32,7 +32,7 @@ boolean * [`Boxes3D`](../archetypes/boxes3d.md) * [`Capsules3D`](../archetypes/capsules3d.md) * [`Ellipsoids3D`](../archetypes/ellipsoids3d.md) -* [`GraphNodes`](../archetypes/graph_nodes.md?speculative-link) +* [`GraphNodes`](../archetypes/graph_nodes.md) * [`LineStrips2D`](../archetypes/line_strips2d.md) * [`LineStrips3D`](../archetypes/line_strips3d.md) * [`Points2D`](../archetypes/points2d.md) diff --git a/docs/content/reference/types/components/text.md b/docs/content/reference/types/components/text.md index 456c2fc088df..c4dfafa3c62d 100644 --- a/docs/content/reference/types/components/text.md +++ b/docs/content/reference/types/components/text.md @@ -28,7 +28,7 @@ utf8 * [`Boxes3D`](../archetypes/boxes3d.md) * [`Capsules3D`](../archetypes/capsules3d.md) * [`Ellipsoids3D`](../archetypes/ellipsoids3d.md) -* [`GraphNodes`](../archetypes/graph_nodes.md?speculative-link) +* [`GraphNodes`](../archetypes/graph_nodes.md) * [`LineStrips2D`](../archetypes/line_strips2d.md) * [`LineStrips3D`](../archetypes/line_strips3d.md) * [`Points2D`](../archetypes/points2d.md) diff --git a/docs/content/reference/types/datatypes/plane3d.md b/docs/content/reference/types/datatypes/plane3d.md index 3f0973d64b6d..94cb6e572b38 100644 --- a/docs/content/reference/types/datatypes/plane3d.md +++ b/docs/content/reference/types/datatypes/plane3d.md @@ -20,11 +20,11 @@ FixedSizeList<4, float32> ``` ## API reference links - * 🌊 [C++ API docs for `Plane3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Plane3D.html?speculative-link) - * 🐍 [Python API docs for `Plane3D`](https://ref.rerun.io/docs/python/stable/common/datatypes?speculative-link#rerun.datatypes.Plane3D) - * πŸ¦€ [Rust API docs for `Plane3D`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Plane3D.html?speculative-link) + * 🌊 [C++ API docs for `Plane3D`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Plane3D.html) + * 🐍 [Python API docs for `Plane3D`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Plane3D) + * πŸ¦€ [Rust API docs for `Plane3D`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Plane3D.html) ## Used by -* [`Plane3D`](../components/plane3d.md?speculative-link) +* [`Plane3D`](../components/plane3d.md) diff --git a/docs/content/reference/types/datatypes/utf8.md b/docs/content/reference/types/datatypes/utf8.md index b4180a94ad44..092555b91625 100644 --- a/docs/content/reference/types/datatypes/utf8.md +++ b/docs/content/reference/types/datatypes/utf8.md @@ -20,11 +20,11 @@ utf8 ## Used by * [`AnnotationInfo`](../datatypes/annotation_info.md) -* [`GraphNode`](../components/graph_node.md?speculative-link) +* [`GraphNode`](../components/graph_node.md) * [`MediaType`](../components/media_type.md) * [`Name`](../components/name.md) -* [`RecordingUri`](../components/recording_uri.md?speculative-link) +* [`RecordingUri`](../components/recording_uri.md) * [`TextLogLevel`](../components/text_log_level.md) * [`Text`](../components/text.md) -* [`Utf8Pair`](../datatypes/utf8pair.md?speculative-link) +* [`Utf8Pair`](../datatypes/utf8pair.md) * [`VisibleTimeRange`](../datatypes/visible_time_range.md) diff --git a/docs/content/reference/types/datatypes/utf8pair.md b/docs/content/reference/types/datatypes/utf8pair.md index 1815cd16438e..15cb7fb87d49 100644 --- a/docs/content/reference/types/datatypes/utf8pair.md +++ b/docs/content/reference/types/datatypes/utf8pair.md @@ -26,11 +26,11 @@ Struct { ``` ## API reference links - * 🌊 [C++ API docs for `Utf8Pair`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Utf8Pair.html?speculative-link) - * 🐍 [Python API docs for `Utf8Pair`](https://ref.rerun.io/docs/python/stable/common/datatypes?speculative-link#rerun.datatypes.Utf8Pair) - * πŸ¦€ [Rust API docs for `Utf8Pair`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Utf8Pair.html?speculative-link) + * 🌊 [C++ API docs for `Utf8Pair`](https://ref.rerun.io/docs/cpp/stable/structrerun_1_1datatypes_1_1Utf8Pair.html) + * 🐍 [Python API docs for `Utf8Pair`](https://ref.rerun.io/docs/python/stable/common/datatypes#rerun.datatypes.Utf8Pair) + * πŸ¦€ [Rust API docs for `Utf8Pair`](https://docs.rs/rerun/latest/rerun/datatypes/struct.Utf8Pair.html) ## Used by -* [`GraphEdge`](../components/graph_edge.md?speculative-link) +* [`GraphEdge`](../components/graph_edge.md) diff --git a/docs/content/reference/types/views/graph_view.md b/docs/content/reference/types/views/graph_view.md index e222d74616b7..e76a96c14613 100644 --- a/docs/content/reference/types/views/graph_view.md +++ b/docs/content/reference/types/views/graph_view.md @@ -41,7 +41,7 @@ Tries to move the center of mass of the graph to the origin. * `strength`: The strength of the force. ## API reference links - * 🐍 [Python API docs for `GraphView`](https://ref.rerun.io/docs/python/stable/common/blueprint_views?speculative-link#rerun.blueprint.views.GraphView) + * 🐍 [Python API docs for `GraphView`](https://ref.rerun.io/docs/python/stable/common/blueprint_views#rerun.blueprint.views.GraphView) ## Example diff --git a/docs/snippets/INDEX.md b/docs/snippets/INDEX.md index d64fed561048..16ee05d96c03 100644 --- a/docs/snippets/INDEX.md +++ b/docs/snippets/INDEX.md @@ -25,7 +25,7 @@ Use it to quickly find copy-pastable snippets of code for any Rerun feature you' | **Dataframes** | `dataframe_query` | Query and display the first 10 rows of a recording | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/reference/dataframe_query.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/reference/dataframe_query.rs) | | | **Dataframes** | `dataframe_view_query` | Query and display the first 10 rows of a recording in a dataframe view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/reference/dataframe_view_query.py) | | | | **`AnyValue`** | `any_values` | Log arbitrary data | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/tutorials/any_values.py) | | | -| **`AnyValue`** | `any_values_send_columns` | Use `AnyValues` and `send_column` to send entire columns of custom data to Rerun | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/howto/any_values_send_columns.py?speculative-link) | | | +| **`AnyValue`** | `any_values_send_columns` | Use `AnyValues` and `send_column` to send entire columns of custom data to Rerun | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/howto/any_values_send_columns.py) | | | | **`AnyValue`** | `extra_values` | Log extra values with a Points2D | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/tutorials/extra_values.py) | | | @@ -82,11 +82,11 @@ _All snippets, organized by the [`Archetype`](https://rerun.io/docs/reference/ty | **[`GeoLineStrings`](https://rerun.io/docs/reference/types/archetypes/geo_line_strings)** | `archetypes/geo_line_strings_simple` | Log a simple geospatial line string | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_line_strings_simple.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_line_strings_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_line_strings_simple.cpp) | | **[`GeoPoints`](https://rerun.io/docs/reference/types/archetypes/geo_points)** | `archetypes/geo_points_simple` | Log some very simple geospatial point | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_points_simple.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_points_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_points_simple.cpp) | | **[`GeoPoints`](https://rerun.io/docs/reference/types/archetypes/geo_points)** | `views/map` | Use a blueprint to customize a map view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/map.py) | | | -| **[`GraphEdges`](https://rerun.io/docs/reference/types/archetypes/graph_edges?speculative-link)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.cpp?speculative-link) | -| **[`GraphEdges`](https://rerun.io/docs/reference/types/archetypes/graph_edges?speculative-link)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.cpp?speculative-link) | -| **[`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes?speculative-link)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.cpp?speculative-link) | -| **[`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes?speculative-link)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.cpp?speculative-link) | -| **[`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes?speculative-link)** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py?speculative-link?speculative-link) | | | +| **[`GraphEdges`](https://rerun.io/docs/reference/types/archetypes/graph_edges)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.cpp) | +| **[`GraphEdges`](https://rerun.io/docs/reference/types/archetypes/graph_edges)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.cpp) | +| **[`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.cpp) | +| **[`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.cpp) | +| **[`GraphNodes`](https://rerun.io/docs/reference/types/archetypes/graph_nodes)** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py) | | | | **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/segmentation_image_simple` | Create and log a segmentation image | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/segmentation_image_simple.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/segmentation_image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/segmentation_image_simple.cpp) | | **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/image_simple` | Create and log an image | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_simple.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_simple.cpp) | | **[`Image`](https://rerun.io/docs/reference/types/archetypes/image)** | `archetypes/image_send_columns` | Send multiple images at once using `send_columns` | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_send_columns.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_send_columns.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_send_columns.cpp) | @@ -135,9 +135,9 @@ _All snippets, organized by the [`Archetype`](https://rerun.io/docs/reference/ty | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/instance_poses3d_combined` | Log a simple 3D box with a regular & instance pose transform | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/instance_poses3d_combined.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/instance_poses3d_combined.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/instance_poses3d_combined.cpp) | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/pinhole_perspective` | Logs a point cloud and a perspective camera looking at it | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/pinhole_perspective.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/pinhole_perspective.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/pinhole_perspective.cpp) | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `archetypes/transform3d_hierarchy` | Logs a transforms transform hierarchy | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/transform3d_hierarchy.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/transform3d_hierarchy.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/transform3d_hierarchy.cpp) | -| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `concepts/explicit_recording` | Just makes sure that explicit recordings actually work | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/explicit_recording.py?speculative-link) | | | -| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `descriptors/descr_builtin_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_archetype.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_archetype.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_archetype.cpp?speculative-link) | -| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.cpp?speculative-link) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `concepts/explicit_recording` | Just makes sure that explicit recordings actually work | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/explicit_recording.py) | | | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `descriptors/descr_builtin_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_archetype.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_archetype.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_archetype.cpp) | +| **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.cpp) | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `migration/log_line` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/migration/log_line.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/migration/log_line.rs) | | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `quick_start/quick_start_connect` | Connect to the viewer and log some data | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/quick_start/quick_start_connect.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/quick_start/quick_start_connect.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/quick_start/quick_start_connect.cpp) | | **[`Points3D`](https://rerun.io/docs/reference/types/archetypes/points3d)** | `quick_start/quick_start_spawn` | Spawn a viewer and log some data | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/quick_start/quick_start_spawn.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/quick_start/quick_start_spawn.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/quick_start/quick_start_spawn.cpp) | @@ -204,25 +204,25 @@ _All snippets, organized by the [`Component`](https://rerun.io/docs/reference/ty | **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `concepts/viscomp-component-override` | Override a component | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/viscomp-component-override.py) | | | | **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `concepts/viscomp-visualizer-override` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/viscomp-visualizer-override.py) | | | | **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `concepts/viscomp-visualizer-override-multiple` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/viscomp-visualizer-override-multiple.py) | | | -| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.cpp?speculative-link) | +| **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.cpp) | | **[`Color`](https://rerun.io/docs/reference/types/components/color)** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/spatial3d.py) | | | | **[`DisconnectedSpace`](https://rerun.io/docs/reference/types/components/disconnected_space)** | `archetypes/disconnected_space` | Disconnect two spaces | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/disconnected_space.cpp) | | **[`GeoLineString`](https://rerun.io/docs/reference/types/components/geo_line_string)** | `archetypes/geo_line_strings_simple` | Log a simple geospatial line string | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_line_strings_simple.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_line_strings_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/geo_line_strings_simple.cpp) | -| **[`GraphEdge`](https://rerun.io/docs/reference/types/components/graph_edge?speculative-link)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.cpp?speculative-link) | -| **[`GraphEdge`](https://rerun.io/docs/reference/types/components/graph_edge?speculative-link)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.cpp?speculative-link) | -| **[`GraphNode`](https://rerun.io/docs/reference/types/components/graph_node?speculative-link)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.cpp?speculative-link) | -| **[`GraphNode`](https://rerun.io/docs/reference/types/components/graph_node?speculative-link)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.cpp?speculative-link) | -| **[`GraphNode`](https://rerun.io/docs/reference/types/components/graph_node?speculative-link)** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py?speculative-link?speculative-link) | | | +| **[`GraphEdge`](https://rerun.io/docs/reference/types/components/graph_edge)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.cpp) | +| **[`GraphEdge`](https://rerun.io/docs/reference/types/components/graph_edge)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.cpp) | +| **[`GraphNode`](https://rerun.io/docs/reference/types/components/graph_node)** | `archetypes/graph_directed` | Log a simple directed graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_directed.cpp) | +| **[`GraphNode`](https://rerun.io/docs/reference/types/components/graph_node)** | `archetypes/graph_undirected` | Log a simple undirected graph | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/graph_undirected.cpp) | +| **[`GraphNode`](https://rerun.io/docs/reference/types/components/graph_node)** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py) | | | | **[`ImageBuffer`](https://rerun.io/docs/reference/types/components/image_buffer)** | `archetypes/image_send_columns` | Send multiple images at once using `send_columns` | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_send_columns.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_send_columns.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_send_columns.cpp) | | **[`ImageFormat`](https://rerun.io/docs/reference/types/components/image_format)** | `archetypes/image_send_columns` | Send multiple images at once using `send_columns` | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_send_columns.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_send_columns.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/image_send_columns.cpp) | | **[`MediaType`](https://rerun.io/docs/reference/types/components/media_type)** | `archetypes/text_document` | Log a `TextDocument` | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/text_document.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/text_document.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/text_document.cpp) | | **[`MediaType`](https://rerun.io/docs/reference/types/components/media_type)** | `views/text_document` | Use a blueprint to show a text document | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/text_document.py) | | | -| **[`Plane3D`](https://rerun.io/docs/reference/types/components/plane3d?speculative-link)** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/spatial3d.py?speculative-link) | | | +| **[`Plane3D`](https://rerun.io/docs/reference/types/components/plane3d)** | `views/spatial3d` | Use a blueprint to customize a Spatial3DView | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/spatial3d.py) | | | | **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `archetypes/mesh3d_partial_updates` | Log a simple colored triangle, then update its vertices' positions each frame | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/mesh3d_partial_updates.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/mesh3d_partial_updates.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/mesh3d_partial_updates.cpp) | | **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `archetypes/points3d_send_columns` | Use the `send_columns` API to send several point clouds over time in a single call | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_send_columns.py) | | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_send_columns.cpp) | -| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `descriptors/descr_builtin_component` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_component.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_component.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_component.cpp?speculative-link) | -| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.cpp?speculative-link) | -| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `descriptors/descr_custom_component` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_component.py?speculative-link) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_component.rs?speculative-link) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_component.cpp?speculative-link) | +| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `descriptors/descr_builtin_component` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_component.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_component.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_builtin_component.cpp) | +| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `descriptors/descr_custom_archetype` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_archetype.cpp) | +| **[`Position3D`](https://rerun.io/docs/reference/types/components/position3d)** | `descriptors/descr_custom_component` | | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_component.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_component.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/descriptors/descr_custom_component.cpp) | | **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/points3d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_ui_radius.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points3d_ui_radius.cpp) | | **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/points2d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points2d_ui_radius.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points2d_ui_radius.cpp) | | **[`Radius`](https://rerun.io/docs/reference/types/components/radius)** | `archetypes/line_strips3d_ui_radius` | Log lines with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/line_strips3d_ui_radius.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/line_strips3d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/line_strips3d_ui_radius.cpp) | @@ -280,7 +280,7 @@ _All snippets, organized by the [`View`](https://rerun.io/docs/reference/types/v | **[`DataframeView`](https://rerun.io/docs/reference/types/views/dataframe_view)** | `reference/dataframe_view_query` | Query and display the first 10 rows of a recording in a dataframe view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/reference/dataframe_view_query.py) | | | | **[`DataframeView`](https://rerun.io/docs/reference/types/views/dataframe_view)** | `reference/dataframe_save_blueprint` | Craft a blueprint with the python API and save it to a file for future use | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/reference/dataframe_save_blueprint.py) | | | | **[`DataframeView`](https://rerun.io/docs/reference/types/views/dataframe_view)** | `views/dataframe` | Use a blueprint to customize a DataframeView | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/dataframe.py) | | | -| **[`GraphView`](https://rerun.io/docs/reference/types/views/graph_view?speculative-link)** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py?speculative-link?speculative-link) | | | +| **[`GraphView`](https://rerun.io/docs/reference/types/views/graph_view)** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py) | | | | **[`MapView`](https://rerun.io/docs/reference/types/views/map_view)** | `views/map` | Use a blueprint to customize a map view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/map.py) | | | | **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/line_strips2d_batch` | Log a batch of 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/line_strips2d_batch.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/line_strips2d_batch.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/line_strips2d_batch.cpp) | | **[`Spatial2DView`](https://rerun.io/docs/reference/types/views/spatial2d_view)** | `archetypes/line_strips2d_segments_simple` | Log a couple 2D line segments using 2D line strips | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/line_strips2d_segments_simple.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/line_strips2d_segments_simple.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/line_strips2d_segments_simple.cpp) | @@ -333,7 +333,7 @@ _All snippets, organized by the blueprint-related [`Archetype`](https://rerun.io | **`VisualBounds2D`** | `archetypes/points2d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points2d_ui_radius.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points2d_ui_radius.cpp) | | **`VisualBounds2D`** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/different_data_per_timeline.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/different_data_per_timeline.cpp) | | **`VisualBounds2D`** | `tutorials/extra_values` | Log extra values with a Points2D | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/tutorials/extra_values.py) | | | -| **`VisualBounds2D`** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py?speculative-link) | | | +| **`VisualBounds2D`** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py) | | | | **`VisualBounds2D`** | `views/spatial2d` | Use a blueprint to customize a Spatial2DView | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/spatial2d.py) | | | @@ -357,7 +357,7 @@ _All snippets, organized by the blueprint-related [`Component`](https://rerun.io | **`VisualBounds2D`** | `archetypes/points2d_ui_radius` | Log some points with ui points & scene unit radii | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points2d_ui_radius.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points2d_ui_radius.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/archetypes/points2d_ui_radius.cpp) | | **`VisualBounds2D`** | `concepts/different_data_per_timeline` | Log different data on different timelines | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/different_data_per_timeline.py) | [πŸ¦€](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/different_data_per_timeline.rs) | [🌊](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/different_data_per_timeline.cpp) | | **`VisualBounds2D`** | `tutorials/extra_values` | Log extra values with a Points2D | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/tutorials/extra_values.py) | | | -| **`VisualBounds2D`** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py?speculative-link) | | | +| **`VisualBounds2D`** | `views/graph` | Use a blueprint to customize a graph view | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/graph.py) | | | | **`VisualBounds2D`** | `views/spatial2d` | Use a blueprint to customize a Spatial2DView | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/views/spatial2d.py) | | | | **`VisualizerOverrides`** | `concepts/viscomp-visualizer-override` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/viscomp-visualizer-override.py) | | | | **`VisualizerOverrides`** | `concepts/viscomp-visualizer-override-multiple` | Override a visualizer | [🐍](https://github.com/rerun-io/rerun/blob/main/docs/snippets/all/concepts/viscomp-visualizer-override-multiple.py) | | | diff --git a/examples/python/graph_lattice/README.md b/examples/python/graph_lattice/README.md index a44ec2eeab8d..f6d55edcd3c9 100644 --- a/examples/python/graph_lattice/README.md +++ b/examples/python/graph_lattice/README.md @@ -17,8 +17,8 @@ Since no explicit positions are passed for the nodes, Rerun will layout the grap ## Used Rerun types -[`GraphNodes`](https://www.rerun.io/docs/reference/types/archetypes/graph_nodes?speculative-link), -[`GraphEdges`](https://www.rerun.io/docs/reference/types/archetypes/graph_edges?speculative-link) +[`GraphNodes`](https://www.rerun.io/docs/reference/types/archetypes/graph_nodes), +[`GraphEdges`](https://www.rerun.io/docs/reference/types/archetypes/graph_edges) ## Run the code diff --git a/examples/python/graph_lattice/graph_lattice.py b/examples/python/graph_lattice/graph_lattice.py index 21eb327df1ca..0df3efa1f7d3 100644 --- a/examples/python/graph_lattice/graph_lattice.py +++ b/examples/python/graph_lattice/graph_lattice.py @@ -17,7 +17,7 @@ In this example, the node positionsβ€”and therefore the graph layoutβ€”are computed by Rerun internally. The full source code for this example is available -[on GitHub](https://github.com/rerun-io/rerun/blob/latest/examples/python/graph_lattice?speculative-link). +[on GitHub](https://github.com/rerun-io/rerun/blob/latest/examples/python/graph_lattice). """.strip() diff --git a/examples/python/graphs/README.md b/examples/python/graphs/README.md index b06d813bd166..2d855c9cb919 100644 --- a/examples/python/graphs/README.md +++ b/examples/python/graphs/README.md @@ -25,8 +25,8 @@ This example shows different types of layouts: ## Used Rerun types -[`GraphNodes`](https://www.rerun.io/docs/reference/types/archetypes/graph_nodes?speculative-link), -[`GraphEdges`](https://www.rerun.io/docs/reference/types/archetypes/graph_edges?speculative-link) +[`GraphNodes`](https://www.rerun.io/docs/reference/types/archetypes/graph_nodes), +[`GraphEdges`](https://www.rerun.io/docs/reference/types/archetypes/graph_edges) ## Force-based layouts diff --git a/examples/python/graphs/graphs.py b/examples/python/graphs/graphs.py index 3bf490c625d9..9b1abf9c6acc 100644 --- a/examples/python/graphs/graphs.py +++ b/examples/python/graphs/graphs.py @@ -37,7 +37,7 @@ You can modify how these graphs look by changing the parameters of the force-based layout algorithm in the selection panel. The full source code for this example is available -[on GitHub](https://github.com/rerun-io/rerun/blob/latest/examples/python/graphs?speculative-link). +[on GitHub](https://github.com/rerun-io/rerun/blob/latest/examples/python/graphs). """.strip() diff --git a/examples/rust/clock/Cargo.toml b/examples/rust/clock/Cargo.toml index 8e7862da7ed7..1d27cfce16ef 100644 --- a/examples/rust/clock/Cargo.toml +++ b/examples/rust/clock/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "clock" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/custom_data_loader/Cargo.toml b/examples/rust/custom_data_loader/Cargo.toml index a7c4699037ac..cbdf1c81a6b0 100644 --- a/examples/rust/custom_data_loader/Cargo.toml +++ b/examples/rust/custom_data_loader/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "custom_data_loader" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/custom_store_subscriber/Cargo.toml b/examples/rust/custom_store_subscriber/Cargo.toml index 654d3353575c..a1b110bc6c8f 100644 --- a/examples/rust/custom_store_subscriber/Cargo.toml +++ b/examples/rust/custom_store_subscriber/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "custom_store_subscriber" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/custom_view/Cargo.toml b/examples/rust/custom_view/Cargo.toml index 31818d428102..cc38521c6e30 100644 --- a/examples/rust/custom_view/Cargo.toml +++ b/examples/rust/custom_view/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "custom_view" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/dataframe_query/Cargo.toml b/examples/rust/dataframe_query/Cargo.toml index 538b9047d8aa..004e0a4804a6 100644 --- a/examples/rust/dataframe_query/Cargo.toml +++ b/examples/rust/dataframe_query/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "dataframe_query" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/dna/Cargo.toml b/examples/rust/dna/Cargo.toml index 21dec7a03ced..8b023677ef44 100644 --- a/examples/rust/dna/Cargo.toml +++ b/examples/rust/dna/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "dna" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/extend_viewer_ui/Cargo.toml b/examples/rust/extend_viewer_ui/Cargo.toml index 6e4a385aa850..633cdb891f63 100644 --- a/examples/rust/extend_viewer_ui/Cargo.toml +++ b/examples/rust/extend_viewer_ui/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "extend_viewer_ui" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/external_data_loader/Cargo.toml b/examples/rust/external_data_loader/Cargo.toml index 956a9c949d0c..5eab8acb917c 100644 --- a/examples/rust/external_data_loader/Cargo.toml +++ b/examples/rust/external_data_loader/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "rerun-loader-rust-file" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/graph_lattice/Cargo.toml b/examples/rust/graph_lattice/Cargo.toml index b0c602c619e7..ca476d428b9e 100644 --- a/examples/rust/graph_lattice/Cargo.toml +++ b/examples/rust/graph_lattice/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "graph_lattice" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/graph_lattice/README.md b/examples/rust/graph_lattice/README.md index 0f3e4ea460f9..eaddac3f256d 100644 --- a/examples/rust/graph_lattice/README.md +++ b/examples/rust/graph_lattice/README.md @@ -17,8 +17,8 @@ Since no explicit positions are passed for the nodes, Rerun will layout the grap ## Used Rerun types -[`GraphNodes`](https://www.rerun.io/docs/reference/types/archetypes/graph_nodes?speculative-link), -[`GraphEdges`](https://www.rerun.io/docs/reference/types/archetypes/graph_edges?speculative-link) +[`GraphNodes`](https://www.rerun.io/docs/reference/types/archetypes/graph_nodes), +[`GraphEdges`](https://www.rerun.io/docs/reference/types/archetypes/graph_edges) ## Run the code diff --git a/examples/rust/incremental_logging/Cargo.toml b/examples/rust/incremental_logging/Cargo.toml index 16d0e2c8dcfd..f23f29eb4d35 100644 --- a/examples/rust/incremental_logging/Cargo.toml +++ b/examples/rust/incremental_logging/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "incremental_logging" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/log_file/Cargo.toml b/examples/rust/log_file/Cargo.toml index 61efa8c61bdb..517929141648 100644 --- a/examples/rust/log_file/Cargo.toml +++ b/examples/rust/log_file/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "log_file" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/minimal/Cargo.toml b/examples/rust/minimal/Cargo.toml index fa1574b3c4cb..2f42d214ca71 100644 --- a/examples/rust/minimal/Cargo.toml +++ b/examples/rust/minimal/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "minimal" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/minimal_options/Cargo.toml b/examples/rust/minimal_options/Cargo.toml index 12aeb3549093..263afae8696b 100644 --- a/examples/rust/minimal_options/Cargo.toml +++ b/examples/rust/minimal_options/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "minimal_options" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/minimal_serve/Cargo.toml b/examples/rust/minimal_serve/Cargo.toml index cc9b36b7eaab..323edd8656c3 100644 --- a/examples/rust/minimal_serve/Cargo.toml +++ b/examples/rust/minimal_serve/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "minimal_serve" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/objectron/Cargo.toml b/examples/rust/objectron/Cargo.toml index 201a3218a7e8..fb1af36d4c16 100644 --- a/examples/rust/objectron/Cargo.toml +++ b/examples/rust/objectron/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "objectron" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/raw_mesh/Cargo.toml b/examples/rust/raw_mesh/Cargo.toml index 051b612e2275..2e4aa045e57c 100644 --- a/examples/rust/raw_mesh/Cargo.toml +++ b/examples/rust/raw_mesh/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "raw_mesh" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/shared_recording/Cargo.toml b/examples/rust/shared_recording/Cargo.toml index ba713863611f..d892dade3bb2 100644 --- a/examples/rust/shared_recording/Cargo.toml +++ b/examples/rust/shared_recording/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "shared_recording" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/spawn_viewer/Cargo.toml b/examples/rust/spawn_viewer/Cargo.toml index 050cc9655af5..2b16517bf9b0 100644 --- a/examples/rust/spawn_viewer/Cargo.toml +++ b/examples/rust/spawn_viewer/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "spawn_viewer" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/stdio/Cargo.toml b/examples/rust/stdio/Cargo.toml index 285564d8bc2f..8966b236b5a3 100644 --- a/examples/rust/stdio/Cargo.toml +++ b/examples/rust/stdio/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "stdio" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/examples/rust/template/Cargo.toml b/examples/rust/template/Cargo.toml index 2876785083e5..38c375a8ecf4 100644 --- a/examples/rust/template/Cargo.toml +++ b/examples/rust/template/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "template" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" edition = "2021" -rust-version = "1.80" +rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/pixi.lock b/pixi.lock index 704ab17f98a4..ad8fed5b1757 100644 --- a/pixi.lock +++ b/pixi.lock @@ -30286,8 +30286,8 @@ packages: - watchfiles ; extra == 'dev' - pypi: rerun_notebook name: rerun-notebook - version: 0.21.0a1+dev - sha256: 047bf251505a9b46f02e7f700fe4073247fa2c95f8dd36f6f2f628e0ade8c055 + version: 0.22.0a1+dev + sha256: 7e12a38063373d2b82c7eb731a3985d7646c0ecd59b5c6230a8a48955094b723 requires_dist: - anywidget - jupyter-ui-poll @@ -30362,8 +30362,8 @@ packages: requires_python: '>=3.8,<3.13' - pypi: rerun_py name: rerun-sdk - version: 0.21.0a1+dev - sha256: a2a848bd650eb5075582955b9dfcb9e4e43a5d1209ca7f053ceeed16ded0118a + version: 0.22.0a1+dev + sha256: 4a0b3da14f4aef104a2c3c4c8db24f35528b5b96590c282a5e52d53a96aea177 requires_dist: - attrs>=23.1.0 - numpy>=1.23 @@ -30371,7 +30371,7 @@ packages: - pyarrow>=14.0.2 - typing-extensions>=4.5 - pytest==7.1.2 ; extra == 'tests' - - rerun-notebook==0.21.0a1+dev ; extra == 'notebook' + - rerun-notebook==0.22.0a1+dev ; extra == 'notebook' requires_python: '>=3.8' editable: true - pypi: https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl diff --git a/rerun_cpp/src/rerun/archetypes/ellipsoids3d.hpp b/rerun_cpp/src/rerun/archetypes/ellipsoids3d.hpp index b65fbb6419ee..b84f7c317287 100644 --- a/rerun_cpp/src/rerun/archetypes/ellipsoids3d.hpp +++ b/rerun_cpp/src/rerun/archetypes/ellipsoids3d.hpp @@ -34,6 +34,61 @@ namespace rerun::archetypes { /// Note that orienting and placing the ellipsoids/spheres is handled via `[archetypes.InstancePoses3D]`. /// Some of its component are repeated here for convenience. /// If there's more instance poses than half sizes, the last half size will be repeated for the remaining poses. + /// + /// ## Example + /// + /// ### Covariance ellipsoid + /// ![image](https://static.rerun.io/elliopsoid3d_simple/bd5d46e61b80ae44792b52ee07d750a7137002ea/full.png) + /// + /// ```cpp + /// #include + /// + /// #include + /// #include + /// #include + /// + /// int main() { + /// const auto rec = rerun::RecordingStream("rerun_example_ellipsoid_simple"); + /// rec.spawn().exit_on_failure(); + /// + /// const float sigmas[3] = {5.0f, 3.0f, 1.0f}; + /// + /// std::default_random_engine gen; + /// std::normal_distribution dist(0.0, 1.0f); + /// + /// std::vector points3d(50000); + /// std::generate(points3d.begin(), points3d.end(), [&] { + /// return rerun::Position3D( + /// sigmas[0] * dist(gen), + /// sigmas[1] * dist(gen), + /// sigmas[2] * dist(gen) + /// ); + /// }); + /// + /// rec.log( + /// "points", + /// rerun::Points3D(points3d).with_radii(0.02f).with_colors(rerun::Rgba32(188, 77, 185)) + /// ); + /// + /// rec.log( + /// "ellipsoid", + /// rerun::Ellipsoids3D::from_centers_and_half_sizes( + /// { + /// {0.0f, 0.0f, 0.0f}, + /// {0.0f, 0.0f, 0.0f}, + /// }, + /// { + /// {sigmas[0], sigmas[1], sigmas[2]}, + /// {3.0f * sigmas[0], 3.0f * sigmas[1], 3.0f * sigmas[2]}, + /// } + /// ) + /// .with_colors({ + /// rerun::Rgba32(255, 255, 0), + /// rerun::Rgba32(64, 64, 0), + /// }) + /// ); + /// } + /// ``` struct Ellipsoids3D { /// For each ellipsoid, half of its size on its three axes. /// diff --git a/rerun_cpp/src/rerun/archetypes/graph_edges.hpp b/rerun_cpp/src/rerun/archetypes/graph_edges.hpp index a19940a3a351..7ae79b0a58b6 100644 --- a/rerun_cpp/src/rerun/archetypes/graph_edges.hpp +++ b/rerun_cpp/src/rerun/archetypes/graph_edges.hpp @@ -44,8 +44,6 @@ namespace rerun::archetypes { /// ); /// } /// ``` - /// - /// ⚠ **This is an experimental API! It is not fully supported, and is likely to change significantly in future versions.** struct GraphEdges { /// A list of node tuples. Collection edges; diff --git a/rerun_cpp/src/rerun/archetypes/graph_nodes.hpp b/rerun_cpp/src/rerun/archetypes/graph_nodes.hpp index 3ee519b9e729..6017a265a565 100644 --- a/rerun_cpp/src/rerun/archetypes/graph_nodes.hpp +++ b/rerun_cpp/src/rerun/archetypes/graph_nodes.hpp @@ -46,8 +46,6 @@ namespace rerun::archetypes { /// ); /// } /// ``` - /// - /// ⚠ **This is an experimental API! It is not fully supported, and is likely to change significantly in future versions.** struct GraphNodes { /// A list of node IDs. Collection node_ids; diff --git a/rerun_cpp/src/rerun/c/sdk_info.h b/rerun_cpp/src/rerun/c/sdk_info.h index d1e864f0498e..eb36492072a9 100644 --- a/rerun_cpp/src/rerun/c/sdk_info.h +++ b/rerun_cpp/src/rerun/c/sdk_info.h @@ -2,13 +2,13 @@ /// /// This should match the string returned by `rr_version_string` (C) or `rerun::version_string` (C++). /// If not, the SDK's binary and the C header are out of sync. -#define RERUN_SDK_HEADER_VERSION "0.21.0-alpha.1+dev" +#define RERUN_SDK_HEADER_VERSION "0.22.0-alpha.1+dev" /// Major version of the Rerun C SDK. #define RERUN_SDK_HEADER_VERSION_MAJOR 0 /// Minor version of the Rerun C SDK. -#define RERUN_SDK_HEADER_VERSION_MINOR 21 +#define RERUN_SDK_HEADER_VERSION_MINOR 22 /// Patch version of the Rerun C SDK. #define RERUN_SDK_HEADER_VERSION_PATCH 0 diff --git a/rerun_js/web-viewer-react/README.md b/rerun_js/web-viewer-react/README.md index 361b1d63f155..3b569a57ea11 100644 --- a/rerun_js/web-viewer-react/README.md +++ b/rerun_js/web-viewer-react/README.md @@ -35,7 +35,7 @@ export default function App() { ``` The `rrd` in the snippet above should be a URL pointing to either: -- A hosted `.rrd` file, such as +- A hosted `.rrd` file, such as - A WebSocket connection to the SDK opened via the [`serve`](https://www.rerun.io/docs/reference/sdk/operating-modes#serve) API If `rrd` is not set, the Viewer will display the same welcome screen as . diff --git a/rerun_js/web-viewer-react/package.json b/rerun_js/web-viewer-react/package.json index a3f9eb5734a1..2b296ea8b714 100644 --- a/rerun_js/web-viewer-react/package.json +++ b/rerun_js/web-viewer-react/package.json @@ -1,6 +1,6 @@ { "name": "@rerun-io/web-viewer-react", - "version": "0.21.0-alpha.1+dev", + "version": "0.22.0-alpha.1+dev", "description": "Embed the Rerun web viewer in your React app", "licenses": [ { @@ -39,7 +39,7 @@ "tsconfig.json" ], "dependencies": { - "@rerun-io/web-viewer": "0.21.0-alpha.1", + "@rerun-io/web-viewer": "0.22.0-alpha.1", "@types/react": "^18.2.33", "react": "^18.2.0" }, diff --git a/rerun_js/web-viewer/README.md b/rerun_js/web-viewer/README.md index 7b714f3915a6..a9f0609f49e5 100644 --- a/rerun_js/web-viewer/README.md +++ b/rerun_js/web-viewer/README.md @@ -41,7 +41,7 @@ viewer.stop(); ``` The `rrd` in the snippet above should be a URL pointing to either: -- A hosted `.rrd` file, such as +- A hosted `.rrd` file, such as - A WebSocket connection to the SDK opened via the [`serve`](https://www.rerun.io/docs/reference/sdk/operating-modes#serve) API If `rrd` is not set, the Viewer will display the same welcome screen as . diff --git a/rerun_js/web-viewer/package.json b/rerun_js/web-viewer/package.json index 4da306e5c0a6..2ee11bf4a1dd 100644 --- a/rerun_js/web-viewer/package.json +++ b/rerun_js/web-viewer/package.json @@ -1,6 +1,6 @@ { "name": "@rerun-io/web-viewer", - "version": "0.21.0-alpha.1+dev", + "version": "0.22.0-alpha.1+dev", "description": "Embed the Rerun web viewer in your app", "licenses": [ { diff --git a/rerun_notebook/pyproject.toml b/rerun_notebook/pyproject.toml index 52105c2c8d55..23ae9bdd7ae0 100644 --- a/rerun_notebook/pyproject.toml +++ b/rerun_notebook/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "hatchling.build" [project] name = "rerun-notebook" description = "Implementation helper for running rerun-sdk in notebooks" -version = "0.21.0-alpha.1+dev" +version = "0.22.0-alpha.1+dev" dependencies = ["anywidget", "jupyter-ui-poll"] readme = "README.md" keywords = ["rerun", "notebook"] diff --git a/rerun_py/pyproject.toml b/rerun_py/pyproject.toml index fb430c0a825f..7c67fc68b6b0 100644 --- a/rerun_py/pyproject.toml +++ b/rerun_py/pyproject.toml @@ -33,7 +33,7 @@ text = "MIT OR Apache-2.0" [project.optional-dependencies] tests = ["pytest==7.1.2"] -notebook = ["rerun-notebook==0.21.0-alpha.1+dev"] +notebook = ["rerun-notebook==0.22.0-alpha.1+dev"] [project.urls] documentation = "https://www.rerun.io/docs" diff --git a/rerun_py/rerun_sdk/rerun/__init__.py b/rerun_py/rerun_sdk/rerun/__init__.py index ffa7ac282107..f396868fbd8e 100644 --- a/rerun_py/rerun_sdk/rerun/__init__.py +++ b/rerun_py/rerun_sdk/rerun/__init__.py @@ -9,8 +9,8 @@ import numpy as np -__version__ = "0.21.0-alpha.1+dev" -__version_info__ = (0, 21, 0, "alpha.1") +__version__ = "0.22.0-alpha.1+dev" +__version_info__ = (0, 22, 0, "alpha.1") if sys.version_info < (3, 9): warnings.warn( diff --git a/rerun_py/rerun_sdk/rerun/archetypes/ellipsoids3d.py b/rerun_py/rerun_sdk/rerun/archetypes/ellipsoids3d.py index 0b8b6b679faa..d96015a93802 100644 --- a/rerun_py/rerun_sdk/rerun/archetypes/ellipsoids3d.py +++ b/rerun_py/rerun_sdk/rerun/archetypes/ellipsoids3d.py @@ -28,6 +28,40 @@ class Ellipsoids3D(Ellipsoids3DExt, Archetype): Note that orienting and placing the ellipsoids/spheres is handled via `[archetypes.InstancePoses3D]`. Some of its component are repeated here for convenience. If there's more instance poses than half sizes, the last half size will be repeated for the remaining poses. + + Example + ------- + ### Covariance ellipsoid: + ```python + import numpy as np + import rerun as rr + + rr.init("rerun_example_ellipsoid_simple", spawn=True) + + center = np.array([0, 0, 0]) + sigmas = np.array([5, 3, 1]) + points = np.random.randn(50_000, 3) * sigmas.reshape(1, -1) + + rr.log("points", rr.Points3D(points, radii=0.02, colors=[188, 77, 185])) + rr.log( + "ellipsoid", + rr.Ellipsoids3D( + centers=[center, center], + half_sizes=[sigmas, 3 * sigmas], + colors=[[255, 255, 0], [64, 64, 0]], + ), + ) + ``` +
+ + + + + + + +
+ """ # __init__ can be found in ellipsoids3d_ext.py diff --git a/rerun_py/rerun_sdk/rerun/archetypes/graph_edges.py b/rerun_py/rerun_sdk/rerun/archetypes/graph_edges.py index a1568b980108..9cc648521d64 100644 --- a/rerun_py/rerun_sdk/rerun/archetypes/graph_edges.py +++ b/rerun_py/rerun_sdk/rerun/archetypes/graph_edges.py @@ -25,8 +25,6 @@ class GraphEdges(Archetype): By default, edges are undirected. - ⚠️ **This is an experimental API! It is not fully supported, and is likely to change significantly in future versions.** - Example ------- ### Simple directed graph: diff --git a/rerun_py/rerun_sdk/rerun/archetypes/graph_nodes.py b/rerun_py/rerun_sdk/rerun/archetypes/graph_nodes.py index 13426e12ae29..ad23e270e2dc 100644 --- a/rerun_py/rerun_sdk/rerun/archetypes/graph_nodes.py +++ b/rerun_py/rerun_sdk/rerun/archetypes/graph_nodes.py @@ -23,8 +23,6 @@ class GraphNodes(Archetype): """ **Archetype**: A list of nodes in a graph with optional labels, colors, etc. - ⚠️ **This is an experimental API! It is not fully supported, and is likely to change significantly in future versions.** - Example ------- ### Simple directed graph: diff --git a/rust-toolchain b/rust-toolchain index 38e5e90f3acf..0eefd31bc5a3 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -5,6 +5,6 @@ # to the user in the error, instead of "error: invalid channel name '[toolchain]'". [toolchain] -channel = "1.80.0" +channel = "1.81.0" components = ["rustfmt", "clippy"] targets = ["wasm32-unknown-unknown"] diff --git a/scripts/check_env.py b/scripts/check_env.py index 66c6cdd9854d..c93375c3fc3b 100644 --- a/scripts/check_env.py +++ b/scripts/check_env.py @@ -7,8 +7,8 @@ import subprocess PIXI_VERSION = "0.39.0" -CARGO_VERSION = "1.80.0" -RUST_VERSION = "1.80.0" +CARGO_VERSION = "1.81.0" +RUST_VERSION = "1.81.0" def check_version(cmd: str, expected: str, update: str, install: str) -> bool: diff --git a/scripts/ci/crates.py b/scripts/ci/crates.py index 89079fe39e3d..e4e818286d0a 100755 --- a/scripts/ci/crates.py +++ b/scripts/ci/crates.py @@ -434,7 +434,7 @@ def publish_crate(crate: Crate, token: str, version: str, env: dict[str, Any]) - while True: try: cargo( - f"publish --quiet --token {token}", + f"publish --quiet --locked --token {token}", cwd=crate.path, env=env, dry_run=False, diff --git a/scripts/clippy_wasm/clippy.toml b/scripts/clippy_wasm/clippy.toml index 1db82f4f0cec..34291cb025f6 100644 --- a/scripts/clippy_wasm/clippy.toml +++ b/scripts/clippy_wasm/clippy.toml @@ -6,7 +6,7 @@ # ----------------------------------------------------------------------------- # Section identical to the main clippy.toml: -msrv = "1.80" +msrv = "1.81" allow-unwrap-in-tests = true diff --git a/scripts/lint.py b/scripts/lint.py index f99428e69a89..f9ba2ed823ea 100755 --- a/scripts/lint.py +++ b/scripts/lint.py @@ -619,7 +619,7 @@ def test_lint_workspace_deps() -> None: name = "clock" version = "0.6.0-alpha.0" edition = "2021" - rust-version = "1.80" + rust-version = "1.81" license = "MIT OR Apache-2.0" publish = false diff --git a/tests/python/release_checklist/check_hover_select_reset.py b/tests/python/release_checklist/check_hover_select_reset.py index 253949bb0c7d..abcc498bac10 100644 --- a/tests/python/release_checklist/check_hover_select_reset.py +++ b/tests/python/release_checklist/check_hover_select_reset.py @@ -11,9 +11,6 @@ This checks whether different UIs behave correctly with hover and selection. -Known bugs: -* TODO(#5138): Hovering over text document views does not highlight the corresponding entity in the blueprint tree. - ### Hover For each of the views: * Hover the view and verify it shows up as highlighted in the blueprint tree.