Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Important updates #2

Merged
merged 66 commits into from
Jan 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
b68b4e9
Update to latest egui (#8469)
emilk Dec 16, 2024
4ccfcef
Add utility to `rr.components.Color` to generate colors from any stri…
abey79 Dec 16, 2024
c439c8a
Attempt to fix `StorageNodeClient.query_catalog(…)` signature mismatc…
grtlr Dec 16, 2024
8e2cf5f
Fix broken interaction outside of graph views (#8457)
emilk Dec 16, 2024
745e6f8
craft blueprint for Catalog view from raw chunks (#8449)
zehiko Dec 16, 2024
dd77aba
Implement level-of-detail on text labels (#8450)
grtlr Dec 16, 2024
a8ae6f5
Fix `re_renderer`'s wgpu error scopes not handling internal errors (#…
Wumpf Dec 16, 2024
40338bd
Fix single-click and double-click in the graph view (#8474)
grtlr Dec 16, 2024
69fbaa5
Remove wait-time when opening settings panel (#8464)
emilk Dec 16, 2024
c385877
Update to re_arrow2 0.18 (#8480)
emilk Dec 16, 2024
671b25b
Fix double click no longer selecting the entire entity in 2d/3d views…
Wumpf Dec 16, 2024
947d708
Update thumbnail for air traffic example (#8483)
abey79 Dec 16, 2024
8466c45
Introduce new API to send a dataframe to Rerun (#8461)
jleibs Dec 16, 2024
6288d04
Deprecate `DisconnectedSpace` archetype/component in favor of implici…
Wumpf Dec 16, 2024
02a8757
Fix 2D/3D view artifacts on view's border when using fractional zoom …
Wumpf Dec 16, 2024
019bbac
Fix context menu release checklist formatting and casing of the `Hide…
abey79 Dec 17, 2024
a7acf15
Add missing click and hover interactions for views (#8495)
grtlr Dec 17, 2024
11c06b1
Implement save-view-as-screenshot on web (#8472)
emilk Dec 17, 2024
7781de0
Remove debug information from graph view selection panel (#8496)
grtlr Dec 17, 2024
4f9ba38
Improve graphics device capability detection, warn on old devices, ea…
Wumpf Dec 17, 2024
db18508
Add `MainThreadToken` to ensure file-dialogs only run on the main thr…
emilk Dec 17, 2024
952e397
Disable tagging entirely for 0.21 (#8499)
teh-cmc Dec 17, 2024
02ae9c5
Entities can be dragged from the blueprint tree and streams tree to a…
abey79 Dec 17, 2024
d41c53f
Add better support for scrolling content to our modals (#8492)
abey79 Dec 17, 2024
6b00c77
Improve the tooltip of the `Force*` graph view properties (#8501)
abey79 Dec 17, 2024
49fb94f
Fix ui radius crashing graph view (#8502)
Wumpf Dec 17, 2024
d5d0d4c
Update egui to the commit before 0.30.0 (#8506)
emilk Dec 17, 2024
cd524ea
Fix graph node hover (#8508)
Wumpf Dec 17, 2024
0a5fe08
Fix setting fallback `Position2D` and geometry improvements (#8505)
grtlr Dec 17, 2024
57b45e7
Hide outline rectangle around views (#8507)
emilk Dec 17, 2024
75c6f14
Fix the event count in the static-over-temporal error message (#8513)
abey79 Dec 17, 2024
7a19d10
Fix Plane3D component ui when it's non-editable (#8509)
Wumpf Dec 17, 2024
13b56d7
Fix missing `ComponentBatchCow` export in public lib (#8515)
teh-cmc Dec 17, 2024
5a5e2b5
egui 0.30 (#8516)
teh-cmc Dec 17, 2024
06fed3d
Fix graph view node highlight on hover (#8512)
grtlr Dec 17, 2024
b1fe788
Fix broken doc test (#8517)
teh-cmc Dec 17, 2024
a040ce3
Make all checklists force activate their blueprints (#8520)
abey79 Dec 17, 2024
091e57a
Catalog view: fetch StoreInfo from the catalog and do the catalog dat…
zehiko Dec 18, 2024
84da132
Update the remote APIs to take and send a Table (#8521)
jleibs Dec 18, 2024
e9b2bff
Hide graph edges from individual graph node ui (#8511)
Wumpf Dec 18, 2024
ed05c75
Fix multi-entity drag-and-drop only adding one entity (#8519)
abey79 Dec 18, 2024
c5ee5d3
Fix cargo warning (#8523)
abey79 Dec 18, 2024
9d38189
Fix undo not working in some entity drag-and-drop instances (#8526)
abey79 Dec 18, 2024
fd1adf9
Use single log call in graph examples (#8527)
Wumpf Dec 18, 2024
5b62c37
Add docstring about need for `include_indicator_columns=True` (#8528)
jleibs Dec 18, 2024
e9d0476
Enable GH releases for RC (#8524)
abey79 Dec 18, 2024
879e531
Tensor shape and dimension names as separate arrow fields (#8376)
emilk Dec 18, 2024
e10d5bc
Add `grtlr` to list of `OFFICIAL_RERUN_DEVS` (#8485)
grtlr Dec 18, 2024
efcb2f5
Remove manual truncation of tensor shape UI (#8531)
abey79 Dec 18, 2024
905c2fc
Fix: `./scripts/lint.py` ignored all under `crates/build` (#8532)
emilk Dec 18, 2024
8839f9c
Update colab notebook link (#8535)
jprochazk Dec 18, 2024
204fef0
Release 0.21.0 (#8484)
rerun-bot Dec 19, 2024
5a54e08
Update MSRV to 1.81 (#8529)
emilk Dec 19, 2024
5acbbab
Find and annihilate slow component iterators (#8540)
teh-cmc Dec 19, 2024
2c72d87
Find and annihilate slow boolean-component iterators (#8541)
teh-cmc Dec 19, 2024
662e404
Port parts of viewer to `arrow-rs` (#8534)
emilk Dec 19, 2024
d65c9ec
Expand remote APIs to allow for server-side query execution (#8537)
jleibs Dec 19, 2024
cee46d6
grpc codec simplification - get rid of NoData message (#8550)
zehiko Dec 19, 2024
774ad70
Show the `GraphNode` as a label by default (#8542)
grtlr Dec 20, 2024
3532706
Introduce snapshot unit tests for `re_component_ui` (#8546)
abey79 Dec 20, 2024
649d74c
Remove `Chunk::iter_component_arrays` (#8548)
teh-cmc Dec 20, 2024
8ff8336
Move `trait SizeBytes` to new crate `re_byte_size` (#8544)
emilk Dec 20, 2024
8731f34
Remove deprecated `DisconnectedSpace` archetype & component (#8545)
Wumpf Dec 20, 2024
7596891
remove screenshot tests for disconnected space component ui (#8552)
Wumpf Dec 20, 2024
19e93a6
Short circuit graph simulation if all nodes are fixed (#8549)
grtlr Dec 20, 2024
ac6b5df
Panel with recent notifications (#8465)
jprochazk Dec 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -321,7 +321,7 @@ jobs:

github-release:
name: "GitHub Release"
if: inputs.release-type == 'final'
if: inputs.release-type == 'rc' || inputs.release-type == 'final'
needs:
[
version,
Expand All @@ -347,9 +347,16 @@ jobs:
run: |
version="${{ needs.version.outputs.final }}"
commit="${{ needs.version.outputs.release-commit }}"

if [ ${{ inputs.release-type }} = "final" ]; then
pre_arg=""
else
pre_arg="--prerelease"
fi

git tag $version $commit
git push origin $version
gh release create $version --verify-tag --draft --title $version
gh release create $version --verify-tag --draft --title $version $pre_arg

- name: Create comment
env:
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ __MACOSX
*.bin
*.o
/arrow/
/build/
./build/
**/build-msvc/
**/CMakeFiles/
**/CMakeCache.txt
Expand Down
2 changes: 2 additions & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@ Update instructions:
| Crate | Description |
|--------------------|--------------------------------------------------------------------------------------|
| re_analytics | Rerun's analytics SDK |
| re_byte_size | Calculate the heap-allocated size of values at runtime |
| re_capabilities | Capability tokens |
| re_case | Case conversions, the way Rerun likes them |
| re_crash_handler | Detect panics and signals, logging them and optionally sending them to analytics. |
| re_error | Helpers for handling errors. |
Expand Down
4 changes: 2 additions & 2 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ cd rerun

Now install the `pixi` package manager: <https://github.com/prefix-dev/pixi?tab=readme-ov-file#installation>

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
Expand Down
176 changes: 176 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

<p align="center">
<picture>
<img src="https://static.rerun.io/changelog_grid/cc7177ee485a3b29b8a4b7f52be29c1ae9970e3d/480w.png" alt="">
</picture>
</p>

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<AsComponents>` 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
Expand Down
Loading
Loading