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

craft blueprint for Catalog view from raw chunks #8449

Merged
merged 6 commits into from
Dec 16, 2024
Merged

craft blueprint for Catalog view from raw chunks #8449

merged 6 commits into from
Dec 16, 2024

Conversation

zehiko
Copy link
Contributor

@zehiko zehiko commented Dec 13, 2024

Note: for now we accept that have to do a lot of things manually until we have proper rust blueprint API or we stream this blueprint recording from ReDap

Copy link

github-actions bot commented Dec 13, 2024

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

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

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

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.

This is not as bad as I feared, but obviously it contains heaps of hard-coded stuff that might broke in the future. I'll drop in comments the places where these can be found in our code base. Refactoring it all might be tricky though, as most of it is in re_viewport_blueprint. Can you depend on it from re_grpc_client? If not, we could maybe move some of it to re_types or re_log_types? TBD with @Wumpf as a topic.

crates/store/re_grpc_client/src/lib.rs Outdated Show resolved Hide resolved
application_id: ApplicationId::from("redap_catalog"),
store_id: blueprint_store_id.clone(),
cloned_from: None,
is_official_example: false,
Copy link
Member

Choose a reason for hiding this comment

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

Side note: IIRC this is related to how we deal with analytics. We probably should do something special for these meta-recordings at some point as well.

return Ok(());
}

let timepoint = [(Timeline::new_sequence("blueprint"), 1)];
Copy link
Member

Choose a reason for hiding this comment

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

re_viewer_context::blueprint_timeline()

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'm actually not sure it's worth bringing in re_viewer_context to grpc client just for this one.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ah, right, I see suggestions below are also from this crate...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

and adding it would create a dependency cycle :/

Copy link
Member

@abey79 abey79 Dec 16, 2024

Choose a reason for hiding this comment

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

Yeah I was expecting that dependency cycle. I dont think we should do anything about it in this PR. My suggestion is to simply add a bunch of todos, and maybe open an issue to document this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Had a brief huddle with @abey79 and he explained a bit the dependencies and what I'm hitting here makes sense and we don't want grpc client to depend on re_viewer_context. When rust blueprint API is properly introduced, we might depend on that crate (something like re_blueprint), but arguably by then catalog view blueprint might simply move to Data Platform and live along other customer recording's blueprints.

For now we'll go with what we have here and I'll add some TODOs in the code.

crates/store/re_grpc_client/src/lib.rs Outdated Show resolved Hide resolved
crates/store/re_grpc_client/src/lib.rs Outdated Show resolved Hide resolved
let container_uuid = uuid::Uuid::new_v4();
let container_chunk = ChunkBuilder::new(
ChunkId::new(),
format!("/container/{container_uuid}").into(),
Copy link
Member

Choose a reason for hiding this comment

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

Likewise, these are derived from ContainerId::registry_path()

.build()?;

let vp = ViewportBlueprint::new().with_root_container(RootContainer(container_uuid.into()));
let viewport_chunk = ChunkBuilder::new(ChunkId::new(), "/viewport".into())
Copy link
Member

Choose a reason for hiding this comment

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

re_viewport_blueprint::VIEWPORT_PATH

@zehiko zehiko marked this pull request as ready for review December 16, 2024 09:41
@zehiko zehiko self-assigned this Dec 16, 2024
@zehiko zehiko changed the title Draft: craft blueprint for Catalog view from raw chunks craft blueprint for Catalog view from raw chunks Dec 16, 2024
@zehiko zehiko added exclude from changelog PRs with this won't show up in CHANGELOG.md remote-store remote store gRPC API labels Dec 16, 2024
@zehiko zehiko merged commit 745e6f8 into main Dec 16, 2024
37 of 39 checks passed
@zehiko zehiko deleted the zehiko/cvbp branch December 16, 2024 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exclude from changelog PRs with this won't show up in CHANGELOG.md remote-store remote store gRPC API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants