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

Implement support for opt-in eagerly-serialized archetypes #8646

Merged
merged 2 commits into from
Jan 13, 2025

Conversation

teh-cmc
Copy link
Member

@teh-cmc teh-cmc commented Jan 10, 2025

This introduces a new attr.rust.archetype_eager codegen attribute. When toggled, the associated archetype will now only carry raw Arrow data around, and go through the new eager logging APIs.

The attribute has been set on Points3D:
image

Legacy and eagerly-serialized archetypes can co-exist, making it possible to migrate everything incrementally.

Copy link

github-actions bot commented Jan 10, 2025

Web viewer failed to build.

| Result | Commit | Link | Manifest |
| ------ | ------- | ----- |
| ❌ | | https://rerun.io/viewer/pr/8646 | +nightly +main |

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

@teh-cmc teh-cmc marked this pull request as ready for review January 10, 2025 16:15
@teh-cmc teh-cmc added 🦀 Rust API Rust logging API do-not-merge Do not merge this PR 🍏 primitives Relating to Rerun primitives codegen/idl exclude from changelog PRs with this won't show up in CHANGELOG.md labels Jan 10, 2025
@emilk emilk self-requested a review January 10, 2025 17:39
Copy link
Member

@emilk emilk left a comment

Choose a reason for hiding this comment

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

BEAUTIFUL ⭐⭐⭐⭐⭐

Comment on lines +329 to +333
let keypoint_ids = arrays_by_descr
.get(&Self::descriptor_keypoint_ids())
.map(|array| {
SerializedComponentBatch::new(array.clone(), Self::descriptor_keypoint_ids())
});
Copy link
Member

Choose a reason for hiding this comment

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

It's so much shorter and beautiful ❤️

@teh-cmc teh-cmc force-pushed the cmc/eager_partial_2_tagged_from_to_arrow branch from 1ecedd4 to 13926a3 Compare January 13, 2025 08:20
Base automatically changed from cmc/eager_partial_2_tagged_from_to_arrow to main January 13, 2025 08:20
@teh-cmc teh-cmc force-pushed the cmc/eager_partial_3_eager_archetypes branch from 15b27bd to 159b53f Compare January 13, 2025 08:22
@teh-cmc teh-cmc removed the do-not-merge Do not merge this PR label Jan 13, 2025
@teh-cmc teh-cmc force-pushed the cmc/eager_partial_3_eager_archetypes branch from 7c341c7 to 38330b0 Compare January 13, 2025 08:34
@teh-cmc teh-cmc merged commit 9f73860 into main Jan 13, 2025
26 checks passed
@teh-cmc teh-cmc deleted the cmc/eager_partial_3_eager_archetypes branch January 13, 2025 08:35
teh-cmc added a commit that referenced this pull request Jan 13, 2025
This extends the codegen of the `attr.rust.archetype_eager` attribute so
that it automatically generates partial updates APIs for all eager
archetypes.

* DNM: requires #8646 
* Part of #8581
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
codegen/idl exclude from changelog PRs with this won't show up in CHANGELOG.md 🍏 primitives Relating to Rerun primitives 🦀 Rust API Rust logging API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants