-
Notifications
You must be signed in to change notification settings - Fork 368
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
Conversation
Web viewer built successfully. If applicable, you should also test it:
Note: This comment is updated whenever you push a commit. |
There was a problem hiding this 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.
application_id: ApplicationId::from("redap_catalog"), | ||
store_id: blueprint_store_id.clone(), | ||
cloned_from: None, | ||
is_official_example: false, |
There was a problem hiding this comment.
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)]; |
There was a problem hiding this comment.
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()
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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...
There was a problem hiding this comment.
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 :/
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
let container_uuid = uuid::Uuid::new_v4(); | ||
let container_chunk = ChunkBuilder::new( | ||
ChunkId::new(), | ||
format!("/container/{container_uuid}").into(), |
There was a problem hiding this comment.
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()) |
There was a problem hiding this comment.
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
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