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

New partial updates logging APIs: Rust #8581

Closed
teh-cmc opened this issue Jan 6, 2025 · 1 comment
Closed

New partial updates logging APIs: Rust #8581

teh-cmc opened this issue Jan 6, 2025 · 1 comment
Assignees
Labels
enhancement New feature or request 🦀 Rust API Rust logging API

Comments

@teh-cmc
Copy link
Member

teh-cmc commented Jan 6, 2025

TODO

@teh-cmc teh-cmc added enhancement New feature or request 🦀 Rust API Rust logging API labels Jan 6, 2025
@teh-cmc teh-cmc self-assigned this Jan 10, 2025
teh-cmc added a commit that referenced this issue Jan 13, 2025
…8643)

Generate methods for all archetypes that allow retrieving the
fully-qualified descriptor for any of the archetype's field.
E.g. this method returns the descriptor for the `radii` field of
`Points3D`:
```rust
impl Points3D {
    /// Returns the [`ComponentDescriptor`] for [`Self::radii`].
    #[inline]
    pub fn descriptor_radii() -> ComponentDescriptor {
        ComponentDescriptor {
            archetype_name: Some("rerun.archetypes.Points3D".into()),
            component_name: "rerun.components.Radius".into(),
            archetype_field_name: Some("radii".into()),
        }
    }
}
```

This becomes a must as we start require tags in more and more places
(e.g. partial updates APIs).

* DNM: requires #8642 
* Part of #8581
teh-cmc added a commit that referenced this issue 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
teh-cmc added a commit that referenced this issue Jan 13, 2025
…8649)

This adds a partial update example for `Points3D`, in all languages,
using both the legacy and new APIs (if they already exist).

This acts as a before/after comparison, a piece of documentation and a
way to make sure that the legacy and new APIs behave similarly.

* DNM: requires #8648 
* Part of #8583 
* Part of #8581 
* Part of #8582
teh-cmc added a commit that referenced this issue Jan 13, 2025
This PR makes `LineStrips2D` and `LineStrips3D` eagerly serialized and
partially update-able.

This demonstrates how to migrate an archetype in the simple case.

* DNM: requires #8649  
* Part of #8581
@teh-cmc
Copy link
Member Author

teh-cmc commented Jan 14, 2025

All done.

@teh-cmc teh-cmc closed this as completed Jan 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request 🦀 Rust API Rust logging API
Projects
None yet
Development

No branches or pull requests

1 participant