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

Add a "Visualizers and Overrides" concept page #6679

Merged
merged 15 commits into from
Jul 2, 2024

Conversation

abey79
Copy link
Member

@abey79 abey79 commented Jun 28, 2024

What

This is a first iteration on the visualisers and override doc update. This PR introduces a "concepts" page that happens to also include many snippets and screenshot.

TODO:

  •  are we happy with this structure
  • final schematics
  • final screenshots
  • add link to Gh issue for the future of visualiser overrides

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
  • If applicable, add a new check to the release checklist!

To run all checks from main, comment on the PR with @rerun-bot full-check.

@abey79 abey79 added 📖 documentation Improvements or additions to documentation include in changelog labels Jun 28, 2024

Views rely on visualizers to display each of their entities. For example, [3D views](../reference/types/views/spatial3d_view.md) use the `Points3D` visualizer to display 3D point clouds, and [time series views](../reference/types/views/time_series_view.md) use the `SeriesLine` visualizer to display time series line plots. Which visualizers are available is highly dependent on the specific kind of view. For example, the `SeriesLine` visualizer only exist for time series views—not, e.g., 3D views.

For a given view, visualizers are selected for each of its entities based on their content. For example, in a 3D view, an entity containing a [`Position3D`](../reference/types/components/position3d.md) results in a `Points3D` visualizer being selected by default. (We will see that the visualizer selection process can be influenced by both the user interface and the blueprints.)
Copy link
Member

Choose a reason for hiding this comment

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

This is slightly incorrect.

If an entity contains Position3D component it is compatible with the Points3D visualizer. To be compatible with Visualizer, an entity must have all of the required components.

The thing that makes it selected by default is the Points3DIndicator component that is also logged when you use the Points3D archetype.

If you just log Position3DBatch without the Points3D archetype, then you will have to instantiate the visualizer manually.

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks. I wasn't sure if we had this strong indicator<->visualiser relationship in place already.

Copy link

github-actions bot commented Jun 28, 2024

Deployed docs

Commit Link
c797903 https://landing-a8tg5z29h-rerun.vercel.app/docs

@teh-cmc
Copy link
Member

teh-cmc commented Jul 1, 2024

Fantastic article. I learned a few things 😄

@abey79 abey79 marked this pull request as ready for review July 1, 2024 13:56
@nikolausWest
Copy link
Member

Wondering if it might be helpful for users to remind them where the data came from:
full

@Wumpf Wumpf self-requested a review July 1, 2024 15:24
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.

amazing work. love it

This is determined by the [entity query](../reference/entity-queries.md), which is part of the view blueprint.
The query is run against the data store to generate the list of view entities.

Views rely on visualizers to display each of their entities. For example, [3D views](../reference/types/views/spatial3d_view.md) use the `Points3D` visualizer to display 3D point clouds, and [time series views](../reference/types/views/time_series_view.md) use the `SeriesLine` visualizer to display time series line plots. Which visualizers are available is highly dependent on the specific kind of view. For example, the `SeriesLine` visualizer only exist for time series views—not, e.g., 3D views.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Views rely on visualizers to display each of their entities. For example, [3D views](../reference/types/views/spatial3d_view.md) use the `Points3D` visualizer to display 3D point clouds, and [time series views](../reference/types/views/time_series_view.md) use the `SeriesLine` visualizer to display time series line plots. Which visualizers are available is highly dependent on the specific kind of view. For example, the `SeriesLine` visualizer only exist for time series viewsnot, e.g., 3D views.
Views rely on visualizers to display each of their entities. For example, [3D views](../reference/types/views/spatial3d_view.md) use the `Points3D` visualizer to display 3D point clouds, and [time series views](../reference/types/views/time_series_view.md) use the `SeriesLine` visualizer to display time series line plots. Which visualizers are available is highly dependent on the specific kind of view. For example, the `SeriesLine` visualizer only exist for time series viewsnot, e.g., for 3D views.

Copy link
Member Author

Choose a reason for hiding this comment

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

This is actually a em-dash (not visible with monospace font) and I exploit the lack of style guide to decide that we dont use spaces around it :) A cursory look indicates that I'm mostly the only one to actually use them, so I'm not infringing on some untold consistency rule 😅

Here is how it looks IRL (I'm taking that "for" in):
image

Copy link
Member Author

Choose a reason for hiding this comment

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

Background: https://www.merriam-webster.com/grammar/em-dash-en-dash-how-to-use (last paragraph covers spacing)

Copy link
Member

Choose a reason for hiding this comment

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

🤯

@Wumpf
Copy link
Member

Wumpf commented Jul 1, 2024

tiny issue with the color example: the fact that white shows as the fallback is a bug actually. It should show a entity path hash based fallback. I'm a about to fix that

@abey79
Copy link
Member Author

abey79 commented Jul 2, 2024

tiny issue with the color example: the fact that white shows as the fallback is a bug actually. It should show a entity path hash based fallback. I'm a about to fix that

I'm gonna decide that this is an acceptable glitch for now :)

@abey79 abey79 merged commit 7444b8c into main Jul 2, 2024
35 checks passed
@abey79 abey79 deleted the antoine/vis-comp-concept-doc branch July 2, 2024 09:56
@abey79 abey79 mentioned this pull request Jul 2, 2024
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📖 documentation Improvements or additions to documentation include in changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants