-
Notifications
You must be signed in to change notification settings - Fork 330
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
Introduce Extension Components #1023
Conversation
|
||
if color: | ||
colors = _normalize_colors([color]) | ||
comps["rerun.colorrgba"] = ColorRGBAArray.from_numpy(colors) | ||
instanced["rerun.colorrgba"] = ColorRGBAArray.from_numpy(colors) |
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 seems weird to me. A user can set a single color as an argument, and then it will be a splat, and should go into splats
. Same with label
etc
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 didn't change the behavior that was there -- just highlighted the issue. The core of what you're seeing is the fact that the arrow3d API doesn't expose batches at all. There is no "log_arrows" at the moment. I agree we should do a pass to make this consistent across the board, but this isn't the PR to do it.
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 so excited for this feature! I've been playing around with it a bit an was very pleasantly surprised that it already works so well. Because it's so useful I directly found I wanted #1024 when using it.
One thing I'd really like to change: the names "user_components" in the SDK and "user" in the Viewer.
I don't like the word "user", as it conveys that this is just a small corner on the side for the user's own stuff. I think we should use something like extend
, extension
, or extra
. I also think the parameter to the logging function should be super short, perhaps even ext
.
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.
Seems like a good stop-gap until we have the runtime component registry
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.
Nice!
Add your own meta-data to anything you log.
Standalone API:
Or optional arg for all of the existing APIs:
Behind the scenes we track both the inferred numpy type and arrow type and thereafter use those to attempt to do type-conversions. If the conversion fails we just warn and drop the component. This gives us fairly reasonable and forgiving behavior without violating the needs of the data-store to have a single type-per-component.
The data is visible through both hover and selection:
Resolves: #401
Checklist
CHANGELOG.md
(if this is a big enough change to warrant it)