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

Dynamic configuration of graph layout forces through blueprints #8299

Merged
merged 52 commits into from
Dec 10, 2024

Conversation

grtlr
Copy link
Contributor

@grtlr grtlr commented Dec 3, 2024

grtlr added a commit that referenced this pull request Dec 4, 2024
### Related

* Closes #8282

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

### What

We made the decision to carry over layout information between timestamps
as it leads to a much nicer user experience. This PR implements that
feature.

@abey79 Some of the logic in `provider.rs` has to change again for
blueprint support. I plan to do a cleanup pass in #8299.



https://github.com/user-attachments/assets/ae5b8c8e-9482-452c-bcf0-feb73fc165f0

<!--
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 <49431240+abey79@users.noreply.github.com>
Co-authored-by: Andreas Reich <andreas@rerun.io>
Co-authored-by: Jan Procházka <honza.spacir@gmail.com>
@grtlr grtlr force-pushed the grtlr/force-blueprints branch from ebf1c7f to 0381e95 Compare December 5, 2024 08:10
Copy link

github-actions bot commented Dec 5, 2024

Latest documentation preview deployed successfully.

Result Commit Link
b79e16f https://landing-dxz9yexn9-rerun.vercel.app/docs

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

Copy link

github-actions bot commented Dec 5, 2024

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

  • I have tested the web viewer
Result Commit Link
b79e16f https://rerun.io/viewer/pr/8299

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

@grtlr grtlr force-pushed the grtlr/force-blueprints branch from 33e92f7 to f5cbe55 Compare December 5, 2024 14:18
@grtlr grtlr added include in changelog ui concerns graphical user interface labels Dec 9, 2024
grtlr added a commit that referenced this pull request Dec 9, 2024
### Related

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

* Part of #8299 

### What

This adds a simple single line edit for position 2D. There is no
`speed_fn` because I think in most applications UI coordinates are
probably good unit (for example in graphs).



https://github.com/user-attachments/assets/2fad00c4-8e68-40fe-a474-32fa5806814e



<!--
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: Andreas Reich <andreas@rerun.io>
@grtlr grtlr marked this pull request as ready for review December 9, 2024 16:05
@grtlr grtlr force-pushed the grtlr/force-blueprints branch from a88334c to 319e697 Compare December 9, 2024 16:09
@abey79 abey79 self-requested a review December 10, 2024 08:21
Copy link
Member

@abey79 abey79 left a comment

Choose a reason for hiding this comment

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

Very nice! And for all its flaws, the default UI isn't that bad already.

Minor quip though: with this PR's web-build, I'm unable to get to a "correct" lattice run:

image

Does it need custom properties to work better? If so that should be added as blueprint in the python version (and would be a bit unfortunate for the rust version).

namespace rerun.blueprint.archetypes;

/// Aims to achieve a target distance between two nodes that are connected by an edge.
struct ForceLink (
Copy link
Member

Choose a reason for hiding this comment

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

Shouldn't that be named ForceEdge then? We don't use this "link" terminology anywhere else do we?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I used the terminology from d3 here (which is a bit weird), but that way we can point users to the d3 documentation, which is quite good.

It also helps with reproducing some of the d3 examples.

@grtlr
Copy link
Contributor Author

grtlr commented Dec 10, 2024

Thank you for the feedback, I will expand the documentation.

Yeah the web viewer does not resolve the lattice very well. I think once we have a better graph view example (like we talked about earlier), we can demote the lattice to not be part of the manifest anymore.

@Wumpf Wumpf self-requested a review December 10, 2024 11:08
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.

re_component ui, fallback provider & selection ui customization looks good to me!
I wonder if we could do something to make view_property_force_ui and similar ones shorter still 🤔

pity this pr doesn't have a video clip, would surely look great ;)

@grtlr grtlr merged commit 671b510 into main Dec 10, 2024
37 checks passed
@grtlr grtlr deleted the grtlr/force-blueprints branch December 10, 2024 11:36
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.

Allow dynamic configuration of forces through blueprints
3 participants