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

Show the GraphNode as a label by default #8542

Merged
merged 1 commit into from
Dec 20, 2024
Merged

Conversation

grtlr
Copy link
Contributor

@grtlr grtlr commented Dec 19, 2024

What

This changes the default behavior of the graph view to show the GraphNode ids as a label by default, if no labels are logged explicitly. Of course, this can still be overridden by ShowLabels

@grtlr grtlr added ui concerns graphical user interface include in changelog labels Dec 19, 2024
Copy link

github-actions bot commented Dec 19, 2024

Web viewer built successfully. If applicable, you should also test it:

  • I have tested the web viewer
Result Commit Link Manifest
a308182 https://rerun.io/viewer/pr/8542 +nightly +main

Note: This comment is updated whenever you push a commit.

Copy link
Member

@Wumpf Wumpf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes sense on one hand, but on the other I don't get the implications of this: I was trying before/after in the viewer with nodes that don't have label, enabling show_labels in the ui and in each case it showed the node name as label already and I don't understand what in the code makes it do that 😕
image

can you share a relevant before/after?

@grtlr
Copy link
Contributor Author

grtlr commented Dec 20, 2024

The example that you posted has a Text component logged.

This code path is for when the user does not explicitly log Text. Previously, in this case the nodes were rendered as circles by default, this PR changes this to render the GraphNode value (which already is a Utf8) as a label, with the option to turn of the labels. This works because the default of ShowLabels in the context of the graph view is true.

@Wumpf
Copy link
Member

Wumpf commented Dec 20, 2024

The example that you posted has a Text component logged.

oh wow I was looking for "label" literally and didn't see that there was 'text' already there.

@Wumpf Wumpf merged commit 774ad70 into main Dec 20, 2024
37 checks passed
@Wumpf Wumpf deleted the grtlr/graph-nodes-as-label branch December 20, 2024 08:22
MAVRICK-1 added a commit to DEVRhylme-Foundation/rerun that referenced this pull request Jan 2, 2025
* Update to latest egui (rerun-io#8469)

### Related
* Part of rerun-io#8454 (but not a
complete fix)
* Part of rerun-io#8264 (will try to
implement later)

* Add utility to `rr.components.Color` to generate colors from any string (and use it in the air traffic data example) (rerun-io#8458)

### What

It's some time nice to log some color information in multiple entities
to make it easier to relate them visually. This PR adds a
`rr.components.Color.from_str()` utility that does exactly that:
generate a nice color randomly picked up based on the provided string.

This PR also updates the air traffic data example so the barometric
traces have matching colors with the map data.

---------

Co-authored-by: Clement Rey <[email protected]>

* Attempt to fix `StorageNodeClient.query_catalog(…)` signature mismatch (rerun-io#8468)

### Related

<!--
Include links to any related issues/PRs in a bulleted list, for example:
* Closes rerun-io#1234
* Part of rerun-io#1337
-->

CI is failing on `nightly`:
https://github.com/rerun-io/rerun/actions/runs/12335447188/job/34427482723

### What

Seems to be a mismatch between doc strings.

<!--
Make sure the PR title and labels are set to maximize their usefulness
for the CHANGELOG,
and our `git log`.

If you have noticed any breaking changes, include them in the migration
guide.

We track various metrics at <https://build.rerun.io>.

For maintainers:
* To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
* To deploy documentation changes immediately after merging this PR, add
the `deploy docs` label.
-->

* Fix broken interaction outside of graph views (rerun-io#8457)

## Related

* Closes rerun-io#8454 

UI interaction was sometimes broken outside of graph views. This PR is
the cure.

* Reverts rerun-io#8416

---------

Co-authored-by: Jochen Görtler <[email protected]>

* craft blueprint for Catalog view from raw chunks (rerun-io#8449)

* Implement level-of-detail on text labels (rerun-io#8450)

### What

@emilk and I discussed level-of-details on the graph. Here is an initial
experiment.

Overall, I'm not sure the performance improvements warrant this
addition.

Discussion + video:
https://rerunio.slack.com/archives/C041NHU952S/p1734084741247629

<!--
Make sure the PR title and labels are set to maximize their usefulness
for the CHANGELOG,
and our `git log`.

If you have noticed any breaking changes, include them in the migration
guide.

We track various metrics at <https://build.rerun.io>.

For maintainers:
* To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
* To deploy documentation changes immediately after merging this PR, add
the `deploy docs` label.
-->

---------

Co-authored-by: Antoine Beyeler <[email protected]>

* Fix `re_renderer`'s wgpu error scopes not handling internal errors (rerun-io#8473)

Wasn't exposed in earlier wgpu versions.
Usually not a problem, but when it is it's usually too late ;)

* Fix single-click and double-click in the graph view (rerun-io#8474)

### Related

<!--
Include links to any related issues/PRs in a bulleted list, for example:
* Closes rerun-io#1234
* Part of rerun-io#1337
-->

* Closes rerun-io#8437
* Closes rerun-io#8442

### What

This implements:
* Single-click on empty space to select view.
* Double-click on node to select entire entity.

Merging @emilk's recent changes (rerun-io#8469 and rerun-io#8457) seems to have fixed
the flickering on selection too.

* Remove wait-time when opening settings panel (rerun-io#8464)

### Related
* Closes rerun-io#8263

### What
I couldn't stand the half-second delay when opening the options screen.
Rerun needs to feel snappy!

Gettings the ffmpeg version is now done on a background thread, showing
s spinner until it is done.

Unfortunately we still have to wait for ffmpeg when starting up an H.264
video on native. We could fix that by pre-warming the cache though 🤔

---------

Co-authored-by: Clement Rey <[email protected]>
Co-authored-by: Andreas Reich <[email protected]>

* Update to re_arrow2 0.18 (rerun-io#8480)

* Fix double click no longer selecting the entire entity in 2d/3d views (rerun-io#8482)

* Fixes rerun-io#8481

* Update thumbnail for air traffic example (rerun-io#8483)

* Introduce new API to send a dataframe to Rerun (rerun-io#8461)

### What

This is not perfect, since Sorbet hasn't been formalized.

This decodes the place-holder sorbet data we currently use in our query
results, as well as some of the Rerun-chunk metadata.

Eventually we should move this onto the rust-side of things, but as this
is largely just metadata processing, doing it in python is not terrible.

* Deprecate `DisconnectedSpace` archetype/component in favor of implicit invalid transforms (rerun-io#8459)

### Related

* Fixes rerun-io#7868

### What

See title. In detail:
* `RotationAxisAngle` will no longer be ignored when axis is
non-normalizable
* deprecation of `DisconnectedSpace`
   * slight fixes to codegen for handling this smoothly
* lots of doc updates
* wherever we had constants for identity, we now also have one for
invalid
* python didn't have any at all so far, but I didn't want to add this in
this iteration since generally constants there are a bit tricky
    * we should have more of those generally

---------

Co-authored-by: Jeremy Leibs <[email protected]>

* Fix 2D/3D view artifacts on view's border when using fractional zoom (rerun-io#8369)

### Related

* Fixes rerun-io#8330

### What

Wasn't able to repro the issue in the first place though - tried
fractional zoom and a contrast heavy background to no avail
* [x] confirm this fixes it

---------

Co-authored-by: Antoine Beyeler <[email protected]>

* Fix context menu release checklist formatting and casing of the `Hide/Show all` item (rerun-io#8493)

### What

☝🏻 title. Formatting glitches were introduced in the "space view rename"

* Add missing click and hover interactions for views (rerun-io#8495)

### Related

<!--
Include links to any related issues/PRs in a bulleted list, for example:
* Closes rerun-io#1234
* Part of rerun-io#1337
-->

* Closes rerun-io#8479
* Closes rerun-io#5138

### What

This adds missing view interactions the following views:

* Map view
* Graph view
* TextDocument view

@Wumpf @abey79 I feel like the pattern repeats itself and it's easy to
miss when writing new views. So I wonder if this could be unified. I see
several options for this:

* repurpose `handle_select_hover_drag_interactions` which only seems to
be used for `DataResult` right now
* Making each view return a `Result<(Response,
ViewSystemExecutionError>` (instead of `()`) and handling it outside of
the view.
* Creating a function analogous to
`handle_select_hover_drag_interactions`.

<!--
Make sure the PR title and labels are set to maximize their usefulness
for the CHANGELOG,
and our `git log`.

If you have noticed any breaking changes, include them in the migration
guide.

We track various metrics at <https://build.rerun.io>.

For maintainers:
* To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
* To deploy documentation changes immediately after merging this PR, add
the `deploy docs` label.
-->

* Implement save-view-as-screenshot on web (rerun-io#8472)

### Related
* Part of rerun-io#8264
* Using emilk/egui#5438

Still missing: copy screenshot to clipboard

Also fixes a crash when screenshotting graph views.

### Usage

![image](https://github.com/user-attachments/assets/88948342-8279-4bf6-9bc6-13722229dc44)

### Result
![Node-link
diagram](https://github.com/user-attachments/assets/b2ff8dd5-ae55-436a-9cd2-263eeb72a0df)

* Remove debug information from graph view selection panel (rerun-io#8496)

### What

Title.

This was a small part of @gavrelina's feedback.


<!--
Make sure the PR title and labels are set to maximize their usefulness
for the CHANGELOG,
and our `git log`.

If you have noticed any breaking changes, include them in the migration
guide.

We track various metrics at <https://build.rerun.io>.

For maintainers:
* To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
* To deploy documentation changes immediately after merging this PR, add
the `deploy docs` label.
-->

* Improve graphics device capability detection, warn on old devices, early error on unsupported render targets (rerun-io#8476)

### Related

* Fixes rerun-io#8466
* Related to rerun-io#8475


### What

Improved & sharpend overall how we handle device tiers. Next steps that
went too far in scope right now detailed in
* rerun-io#8475


### Testing

this shouldn't be all that problematic, but just in case let's be
thorough:

* [x] WebGL
* [x] WebGPU
* [x] Mac Metal
* [x] Windows Vulkan
* [x] Windows OpenGL
* [ ] Linux Vulkan
* [ ] Linux OpengL

* Add `MainThreadToken` to ensure file-dialogs only run on the main thread (rerun-io#8467)

### What

We have a foot-gun in our code: our file dialogs (via `rfd`) [are only
allowed to be run from the main thread (at least on
Mac)](https://docs.rs/rfd/latest/rfd/#macos-non-windowed-applications-async-and-threading).
However, there is nothing stopping a user from accidentally calling
these functions from a background thread, and if you test it on e.g.
Linux, it may very well work.

So this PR introduces a new crate `re_capabilities` and a new type
`MainThreadToken`. Any function that uses `rfd` should require the
`MainThreadToken` as an argument. The `MainThreadToken` is only allowed
to be created in `fn main`, and since it is neither `Send` nor `Sync`,
this guarantees at compile-time that any functions that take a
`MainThreadToken` can only be called from the main thread.

NOTE: I have no way to enforce that all uses of `rfd` also require
`MainThreadToken` - we need to remember this ourselves, but I've made
sure that all our _current_ uses of `rfd` require a `MainThreadToken`.

* Disable tagging entirely for 0.21 (rerun-io#8499)

There are too many pitfalls that users can fall into because the current
logging APIs are not designed with tagging in mind, and we have not yet
communicated at all about any of this.

This has to be done below the chunk level, directly at the descriptor
level.

* Entities can be dragged from the blueprint tree and streams tree to an existing view in the viewport (rerun-io#8431)

### Related

* Closes rerun-io#8266
* Related to rerun-io#8267 

### What

This PR makes it possible to drag one or more entities from the
blueprint and streams tree to existing views in the viewport. This
involves introducing and/or adjusting a whole bunch of semantics around
selection and dragging.

#### `DragAndDropFeedback`

This PR introduced the notion of drag-and-drop feedback from the hovered
ui element.

Feedback may be either of:
- **Ignore** (default): hovered element is uninterested in the type of
drag payload, or in any payload at all, or is outright oblivious to all
that drag-and-drop stuff.
- **Reject**: hovered element is compatible with the _type_ of drag
payload, but not its actual _content_. For example, a view might already
contains the dragged entities.
- **Accept**: hovered element is compatible with both the type and the
content of the payload.

A drop should only ever happen in the latter case.

#### Payload visualisation

The payload pill display is now adjusted based on the feedback, both its
opacity (ranging from 50 to 80%) and its colour (grey or blue). The
mouse cursor is also adjusted based on the feedback.


#### Drop container visualisation

This PR slightly adjust the look of the drop container visualisation:
the blue frame is now 2px wide.

Note that the drop container is _not_ necessarily the thing that's
hovered by the mouse, see e.g. containers in the blueprint.


#### Selection handling during drag-and-drop

This PR slightly alter the current behaviour. Now:

- dragging a selected item drags the entire selection
- dragging an unselected item with `cmd` held adds that item to the
selection, and drags the entire selection
- dragging an unselected item drags that item, _without changing the
selection_ (new)


#### Entity-to-viewport-view drag semantics

This is the original goal of this PR.

- An existing view will accept a payload containing entities **IFF** any
of these entities—or their children—is both visualisable and not already
contained in that view.
- An existing view will reject a payload containing entities **IFF** all
of these entities are either non-visualisable or already contained.
- An existing view will ignore a payload containing anything else.
- When a drop succeeds:
- The view will add an inclusive ("…/**") rule for each of the dropped
entities that are both visualisable and not already included.
  - The view becomes selected.

Emphasis on that last point. This subtle UX behaviour (courtesy of
@gavrelina) makes the drop success and impact on the entity path filter
more explicit.


#### Theory of operation for drag-and-drop

With this PR, a "framework" slowly starts to emerge. For now, it's
mainly this bit of documentation:

```rust
//! ## Theory of operation
//!
//! ### Setup
//!
//! A [`DragAndDropManager`] should be created at the start of the frame and made available to the
//! entire UI code.
//!
//!
//! ### Initiating a drag
//!
//! Any UI representation of an [`crate::Item`] may initiate a drag.
//! [`crate::ViewerContext::handle_select_hover_drag_interactions`] will handle that automatically
//! when passed `true` for its `draggable` argument.
//!
//!
//! ### Reacting to a drag and accepting a drop
//!
//! This part of the process is more involved and typically includes the following steps:
//!
//! 1. When hovered, the receiving UI element should check for a compatible payload using
//!    [`egui::DragAndDrop::payload`] and matching one or more variants of the returned
//!    [`DragAndDropPayload`], if any.
//!
//! 2. If an acceptable payload type is being dragged, the UI element should provide appropriate
//!    visual feedback. This includes:
//!    - Calling [`DragAndDropManager::set_feedback`] with the appropriate feedback.
//!    - Drawing a frame around the target container with
//!      [`re_ui::DesignToken::drop_target_container_stroke`].
//!    - Optionally provide more feedback, e.g., where exactly the payload will be inserted within
//!      the container.
//!
//! 3. If the mouse is released (using [`egui::PointerState::any_released`]), the payload must be
//!    actually transferred to the container and [`egui::DragAndDrop::clear_payload`] must be
//!    called.
```

### TODO

- [x] release checklist to check the above semantics


https://github.com/user-attachments/assets/047c0d41-fead-424a-b673-b6cb1479d1fa

* Add better support for scrolling content to our modals (rerun-io#8492)

### What

This PR builds proper scrollability to our modals, thereby fixing:
- an ugly glitch with large add/remove entity modal
- add view/container modal not scrollable with very small viewer window
size


#### Before

<img width="625" alt="image"
src="https://github.com/user-attachments/assets/cfe3d0cb-ac10-4bf5-84cb-4766589c5b41"
/>


#### After

<img width="641" alt="image"
src="https://github.com/user-attachments/assets/919cb62b-4934-429b-a41c-025f7c0cd9a9"
/>

<img width="951" alt="image"
src="https://github.com/user-attachments/assets/e8eec505-a789-4285-b2c5-0c4906660fff"
/>

---------

Co-authored-by: Clement Rey <[email protected]>

* Improve the tooltip of the `Force*` graph view properties (rerun-io#8501)

### Related

- fixes rerun-io#8456 

### What

☝🏻 


<img width="793" alt="image"
src="https://github.com/user-attachments/assets/9ffea3a3-da2b-49dd-b5d8-0ce37491451f"
/>

* Fix ui radius crashing graph view (rerun-io#8502)

* Update egui to the commit before 0.30.0 (rerun-io#8506)

Make sure we test everything that went into 0.30.0, while we wait for
* lampsitter/egui_commonmark#69

* Fix graph node hover (rerun-io#8508)

* no hover at all
* no highlight on non-text box nodes

* Fix setting fallback `Position2D` and geometry improvements (rerun-io#8505)

### Related

* Closes rerun-io#8503.

### What

This fixes setting the fallback value in the selection panel.

It also deals with geometry that can't be drawn in a meaningful way
because of that.

<!--
Make sure the PR title and labels are set to maximize their usefulness
for the CHANGELOG,
and our `git log`.

If you have noticed any breaking changes, include them in the migration
guide.

We track various metrics at <https://build.rerun.io>.

For maintainers:
* To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
* To deploy documentation changes immediately after merging this PR, add
the `deploy docs` label.
-->

* Hide outline rectangle around views (rerun-io#8507)

* Closes rerun-io#8494

Removes the highlighted rectangle around views that are hovered or
selected.
Why? Because we already have the tab title for this.

Keeps it for containers, because they have no tab title.



https://github.com/user-attachments/assets/bb407161-f3a8-4c66-bbd9-816f8dd28561

* Fix the event count in the static-over-temporal error message (rerun-io#8513)

Regression introduced in rerun-io#6934 and caught by
`check_static_components_ui`


Before:


![image](https://github.com/user-attachments/assets/b06bea44-ae51-4989-a3a2-eb4f4a7e1bc0)


After:


![image](https://github.com/user-attachments/assets/1250995a-6ae8-42ad-90c9-aee42234ff4f)

* Fix Plane3D component ui when it's non-editable (rerun-io#8509)

* Fixes rerun-io#8488

Shows normal always as a vec now

![image](https://github.com/user-attachments/assets/b23a1437-bc67-4054-abc3-04d3a7fa973f)

Editable one is unchanged (we'd need more space for edit boxes, so we
rely on multiline ui):

![image](https://github.com/user-attachments/assets/ebf0b8e6-c116-49f4-be99-10731e9c99b8)

* Fix missing `ComponentBatchCow` export in public lib (rerun-io#8515)

Title.

* egui 0.30 (rerun-io#8516)

Title.

* Fix graph view node highlight on hover (rerun-io#8512)

### What

This fixes a problem introduced by rerun-io#8495 that was only partially fixed
by rerun-io#8508, with graph view highlights flickering (ping-ponging) in the
blueprint view.

* Fix broken doc test (rerun-io#8517)

This broke `cargo t --all --all-features`, which is not run on CI, hence
why it doesn't show up there.

* Make all checklists force activate their blueprints (rerun-io#8520)

☝🏻 

This ensure a clean blueprint slate for checklists without having to
`rerun reset`

---------

Co-authored-by: Clement Rey <[email protected]>

* Catalog view: fetch StoreInfo from the catalog and do the catalog data enrichment on the viewer side (rerun-io#8504)

### What

Rerun Data Platform now supports simple filtering by recording ids and
also stores (some of the) fields required to create StoreInfo, hence
we can fetch it from the catalog.

Also, instead of doing all the arrow data manipulation to make
DataframePart convertible to Rerun Chunk on the ReDap side, we now
do it on the viewer side.

* Update the remote APIs to take and send a Table (rerun-io#8521)

This allows the update APIs to now support multi-recording updates, and
generally gives users more direct control over things like the column
metadata, etc.

* Hide graph edges from individual graph node ui (rerun-io#8511)

### Related

* rerun-io#7026

### What

Lots of considerations & (soft) implications in this hack, see comment.

The important outcome here is that node hover now looks like this:

![image](https://github.com/user-attachments/assets/5f4e693b-19cf-4ac5-b359-1354dd8377e9)
node selection:

![image](https://github.com/user-attachments/assets/be75a273-bcb6-4bd4-b90a-5a19c994eb0f)
and node entity selection (note that edges are still around:

![image](https://github.com/user-attachments/assets/e76c7cf9-3a1b-4687-bc61-10c6ace02103)
also you can still browse the edges:

![image](https://github.com/user-attachments/assets/90c5d116-e9fe-4e4f-8032-ce8687e80097)

* Fix multi-entity drag-and-drop only adding one entity (rerun-io#8519)

### Related

* Related to rerun-io#8518
* Related to rerun-io#8431

### What

Fix a bug in rerun-io#8431 where multi-entity drag-and-drop would only add a
single entity due to a foot-gun in our entity path filter mutation API
(see rerun-io#8518 for more). Also add a new checklist.

* Fix cargo warning (rerun-io#8523)

The warning:

```
warning: /Users/hhip/src/rerun/crates/utils/re_capabilities/Cargo.toml: `default-features` is ignored for egui, since `default-features` was not specified for `workspace.dependencies.egui`, this could become a hard error in the future
```

* Fix undo not working in some entity drag-and-drop instances (rerun-io#8526)

This is a band-aid patch to address an issue with entity path filter
which would result in the following behaviours:

- the entity path filter would be perma-writen to the blueprint store
when the view is selected (in some cases)
- in such cases, this would break undo on user change (aka with entity
drag-and-drop)

The core issue is deeper and might cause panics with rust 1.81+. The
TL;DR is that the current `EntityPathFilter` type is ambiguous as to
whether its content has substitutions (aka $origin) applied or not. In
particular `Eq` and `Ord` apply to unsubstituted, resp. substituted
content (which can lead to the above panic). This should be further
cleaned by having two structures, one unsubstituted and another
substituted.

---------

Co-authored-by: Clement Rey <[email protected]>

* Use single log call in graph examples (rerun-io#8527)

Makes the graph examples look a lil bit nicer and more compact.

Note that this is a very recent thing that we can do this in Rust 🥳 

Also, embedds `graph_directed` in the examples (this has been done
directly on the release branch already)


* [x] full check passed in order to confirm the example output is still
the same (tested this locally but who knows)

* Add docstring about need for `include_indicator_columns=True` (rerun-io#8528)

### Related
- rerun-io#8522

### What
Explains how to avoid hitting an issue.

* Enable GH releases for RC (rerun-io#8524)

This PR enables the creation of GH releases (as draft and marked as
pre-release) for RCs.

Motivations for doing so:
- test that part of the workflow, in particular that all binaries are
correctly produced
- test the binary using `cargo binstall`
- these releases a single-click deletable from GH (if we want to do so)
- GH releases marked as "pre-release" aren't displayed in the GH project
page

Pending questions: do we want that?  what about alphas?

* Tensor shape and dimension names as separate arrow fields (rerun-io#8376)

### Related

* Closes rerun-io#6830

### What

⚠️  Breaks tensors in .rrd files!

In `TensorData` we used to have `shape: [TensorDimension]` with `struct
TensorDimension { size: u64, name: Option<String> }`.

Now `TensorData` has `shape: [u64], names: Option<[String]>` instead.

So basically a AoS -> SoA change

### TODO
* [x] Port Python
* [x] Port C++
* [x] Document in migration guide
* [x] Run `@rerun-bot full-check`

---------

Co-authored-by: Antoine Beyeler <[email protected]>

* Add `grtlr` to list of `OFFICIAL_RERUN_DEVS` (rerun-io#8485)

* Remove manual truncation of tensor shape UI (rerun-io#8531)

### Related

* fixes rerun-io#8525

### What

Truncation now happens at egui test level, so we no longer need that
manual truncation code. (This code is soon going to disappear anyways
but at least it'll disappear in a good state 🤷🏻)


![image](https://github.com/user-attachments/assets/ee8c0d00-1ff3-4e2c-8154-41c2e1c58bae)

* Fix: `./scripts/lint.py` ignored all under `crates/build` (rerun-io#8532)

* Update colab notebook link (rerun-io#8535)

* Release 0.21.0 (rerun-io#8484)

Co-authored-by: Clement Rey <[email protected]>
Co-authored-by: Andreas Reich <[email protected]>
Co-authored-by: Katerina Gavrilo <[email protected]>
Co-authored-by: Jochen Görtler <[email protected]>

* Update MSRV to 1.81 (rerun-io#8529)

### Related
* rerun-io#7485
* rerun-io#8530


### What
Update MSRV to 1.81

---------

Co-authored-by: Jochen Görtler <[email protected]>

* Find and annihilate slow component iterators (rerun-io#8540)

* `HybridResultsChunkIter::component` is now
`HybridResultsChunkIter::component_slow`, in order to scare people off.
* I have removed *a lot* of those, and will remove a few more in follow
up PRs, but I need to add more iteration tools first.

* Find and annihilate slow boolean-component iterators (rerun-io#8541)

* Follow-up to rerun-io#8540 
* introduce `iter_bool`
* annihilate a bunch of `component_slow` using it

* Port parts of viewer to `arrow-rs` (rerun-io#8534)

### Related
* Part if rerun-io#3741

### TODO
* [x] `@rerun-bot full-check`

* Expand remote APIs to allow for server-side query execution (rerun-io#8537)

### What
This mirrors the existing Recording API surface and query-construction,
but dispatches the query through the the server.

Without access to the schema, we are not yet able to support
glob-expressions for content
(https://github.com/rerun-io/dataplatform/issues/105)

Recommend viewing without whitespace:
https://github.com/rerun-io/rerun/pull/8537/files?w=1

* grpc codec simplification - get rid of NoData message (rerun-io#8550)

* Show the `GraphNode` as a label by default (rerun-io#8542)

* Introduce snapshot unit tests for `re_component_ui` (rerun-io#8546)

Co-authored-by: Andreas Reich <[email protected]>

* Remove `Chunk::iter_component_arrays` (rerun-io#8548)

This method makes no sense. It's a complete anti-pattern. The whole
point of the Chunk level methods is to pay the cost of
reflection/downcasting/deserialization once for the whole Chunk, this
can never happen with the way this method is defined.

I'm not sure what I was thinking back then. I likely wasn't. There is
never a good reason to use this.

* Move `trait SizeBytes` to new crate `re_byte_size` (rerun-io#8544)

This is so that I can move `fn arrow_ui` (which depend on `SizeBytes`)
into `re_ui`, as part of improved testing of it before migrating it to
arrow1.

And `re_byte_size` sounds nicer than `re_sizes_bytes`. Maybe we should
rename the trait to `ByteSize` too.

---------

Co-authored-by: Clement Rey <[email protected]>

* Remove deprecated `DisconnectedSpace` archetype & component (rerun-io#8545)

### Related

* Fixes rerun-io#6817
   * because, well, it got removed

### What

As planned, removed `DisconnectedSpace` which was deprecated in 0.21
This makes `SpatialTopology` & `TransformContext` a little bit simpler,
one thing less to take into account. Further simplifications should be
possible now, but one thing at a time.

---------

Co-authored-by: Clement Rey <[email protected]>

* remove screenshot tests for disconnected space component ui (rerun-io#8552)

* Short circuit graph simulation if all nodes are fixed (rerun-io#8549)

### What

Title.

Wonder if we should even show the forces section in the selection panel
in this case—but that might be confusing for the user too.

<!--
Make sure the PR title and labels are set to maximize their usefulness
for the CHANGELOG,
and our `git log`.

If you have noticed any breaking changes, include them in the migration
guide.

We track various metrics at <https://build.rerun.io>.

For maintainers:
* To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
* To deploy documentation changes immediately after merging this PR, add
the `deploy docs` label.
-->

* Panel with recent notifications (rerun-io#8465)

---------

Co-authored-by: Emil Ernerfeldt <[email protected]>
Co-authored-by: Antoine Beyeler <[email protected]>
Co-authored-by: Clement Rey <[email protected]>
Co-authored-by: Jochen Görtler <[email protected]>
Co-authored-by: Jochen Görtler <[email protected]>
Co-authored-by: Zeljko Mihaljcic <[email protected]>
Co-authored-by: Andreas Reich <[email protected]>
Co-authored-by: Jeremy Leibs <[email protected]>
Co-authored-by: Antoine Beyeler <[email protected]>
Co-authored-by: Jan Procházka <[email protected]>
Co-authored-by: rerun-bot <[email protected]>
Co-authored-by: Katerina Gavrilo <[email protected]>
Co-authored-by: Andreas Reich <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
include in changelog ui concerns graphical user interface
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants