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

C++ SDK V1 #2919

Closed
26 of 33 tasks
Wumpf opened this issue Aug 7, 2023 · 3 comments · Fixed by #4082
Closed
26 of 33 tasks

C++ SDK V1 #2919

Wumpf opened this issue Aug 7, 2023 · 3 comments · Fixed by #4082
Assignees
Labels
🌊 C++ API C/C++ API specific enhancement New feature or request 🎄 tracking issue issue that tracks a bunch of subissues
Milestone

Comments

@Wumpf
Copy link
Member

Wumpf commented Aug 7, 2023

Tracking issue for everything we want to have for a first version of an officially supported C++ SDK.

General guideline:

  • Feature complete: Log everything that the new object oriented Python API can log
  • First class: Once this ticket is closed we treat it just like our Rust and Python SDK, the same principles for CI, docs, quality etc. apply
  • basic distributability - we have an installation guide but it doesn't need to be smooth at this point
  • works on Linux & Mac, Windows optional at this point

Must have:

Stretch-goals

Future (i.e. excluded from this release)

@Wumpf Wumpf added enhancement New feature or request 🌊 C++ API C/C++ API specific labels Aug 7, 2023
This was referenced Aug 7, 2023
@Wumpf Wumpf self-assigned this Aug 7, 2023
@Wumpf Wumpf added the 🎄 tracking issue issue that tracks a bunch of subissues label Aug 7, 2023
@emilk
Copy link
Member

emilk commented Aug 8, 2023

It seems like we should add API docs (generated from docstrings) to this as well

@Wumpf
Copy link
Member Author

Wumpf commented Aug 8, 2023

that's covered by generate documentation and link from website
clarifying that bulletpoint

Wumpf added a commit that referenced this issue Aug 9, 2023
…p test (#2937)

Part of:
* #2919 
* #2791

### What

Major facelift of the C++ codegen as it got restructured to support more
support more nested kind of serialization and moved away entirely from
using the arrow type registry at all (this happened originally due to
c&p from Rust without understanding the details; this change makes a lot
of the code a lot simpler!)

In order to test the new nested serialization this also enables the
transform 3d roundtrip test which required adding some extensions on
various datatypes to make the test code readable.
**These are not the transform related final extensions.** More is under
way in a future PR to make transform usable.

The resulting transforms can't yet be loaded in the viewer due to #2871

The only remaining cases that don't produce (presumably until tested)
correct serialization now are:
* nullable component/datatype inside a transparent component/datatype
* lists/vectors inside as a union variant

(they are not particularly hard to solve, just left out of this PR)

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2937) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/2937)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Funion-support/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Funion-support/examples)
Wumpf added a commit that referenced this issue Aug 9, 2023
### What

* depends on #2937
* part of #2919 
* fixes #2791

Roundtrip test is part of #2937
Does not yet work in viewer because of
#2871

C++ extensions now get additional includes copied into the generated
header

Extensions circle around making use of the `Transform3D` archetype easy.
Note that the willingness of a c++ compiler to convert arrays and floats
to bool causes us quite a lot of extra overloads (luckily the added unit
tests catches these and there are warnings emitted).
The amount of overloads introduced leaves a bit of a bad taste, but the
expectation is that this is rather special to `Transform3D`. Some of the
provided overloads may be generated in the future if a pattern emerges.

A bunch of code example added to demonstrate what it looks like now to
use Transform3D:
```cpp
// translation only
rr_stream.log("translated", rr::artchetypes::Transform3D({1.0f, 0.0f, 0.0f}));

// translation/rotation/uniform-scale
rr_stream.log(
    "rotated_scaled",
    rr::archetypes::Transform3D(
        rrd::RotationAxisAngle({0.0f, 0.0f, 1.0f}, rrd::Angle::radians(pi / 4.0f)),
        2.0f
    )
);

// 3x3 matrix
rec_stream.log(
    "translation_and_mat3x3/rotation",
    rr::archetypes::Transform3D({
        {1.0f, 4.0f, 7.0f},
        {2.0f, 5.0f, 8.0f},
        {3.0f, 6.0f, 9.0f},
    })
);
```

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2940) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/2940)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Ftransform3d/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Ftransform3d/examples)
@Wumpf Wumpf mentioned this issue Aug 9, 2023
2 tasks
Wumpf added a commit that referenced this issue Aug 10, 2023
### What


* Fixes #2794
* Part of #2919 

Small codegen fix for nested array serialization was required.
Adds example & test & roundtrip test for annotation context to C++

Sneaked in: Fixes a few annoyances with VSCode Cpp/CMake config.

<img width="1016" alt="image"
src="https://github.com/rerun-io/rerun/assets/1220815/31a764bc-cb51-4420-a75f-0da0eb6bfd39">


### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x ] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2948) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/2948)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fannotation-context/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fannotation-context/examples)
teh-cmc pushed a commit that referenced this issue Aug 10, 2023
* Fixes #2794
* Part of #2919

Small codegen fix for nested array serialization was required.
Adds example & test & roundtrip test for annotation context to C++

Sneaked in: Fixes a few annoyances with VSCode Cpp/CMake config.

<img width="1016" alt="image"
src="https://github.com/rerun-io/rerun/assets/1220815/31a764bc-cb51-4420-a75f-0da0eb6bfd39">

* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x ] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2948) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/2948)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fannotation-context/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fannotation-context/examples)
Wumpf added a commit that referenced this issue Aug 11, 2023
### What

Was happy with the look of the interface as is, so no extension types
this time around, which also keeps the tests simple :)

<img width="1039" alt="image"
src="https://github.com/rerun-io/rerun/assets/1220815/3cfa4364-1788-4e72-a5e5-3d32f7b7deac">

* fixes most of #2787
* again, one roundtrip test couldn't be implemented because of rects. I
implemented the examples already this time but without the extra rect -
for lines it's not actually necessary, still looks alright
* part of #2919  

<img width="1080" alt="image"
src="https://github.com/rerun-io/rerun/assets/1220815/b8b95ac8-4387-44c8-a890-6f75fcb409df">



### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2956) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/2956)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Flines/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Flines/examples)

---------

Co-authored-by: Jeremy Leibs <jeremy@rerun.io>
Wumpf added a commit that referenced this issue Aug 11, 2023
### What

As kindly supplied by a user on Discord. Didn't get to test them myself
yet but makes lot of sense to me regardless.

* Part of #2919
* requires additionally C++20 fixes from #2957
* currently every dependend binary has to know about arrow, should be
fixed as part of #2873

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2959) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/2959)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fwindows-fixes/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fwindows-fixes/examples)
Wumpf added a commit that referenced this issue Aug 15, 2023
### What

* Fixes #2903 
* Part of #2919
* currate warning list for gcc/clang
* enable warnings as errors on CI, for simplicity it's always active on
roundtrip tests
* enable standard set of warning settings on all C++ targets
* fix warnings in codegen'ed code and manually written code
* fix accidental C++20 (should have been caught in theory by warnings
but it didn't trigger for unknown reason)

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/2957) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/2957)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fwarning-fixes-and-ci-werror/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fwarning-fixes-and-ci-werror/examples)
Wumpf added a commit that referenced this issue Aug 17, 2023
### What

Introduces error handling to C/C++.
* C status object
* utilities for dealing safely with pointers in rerun_c and exposing any
errors on the way
* C++ wrapper with configurable logging
* bunch of tests for various error cases on recording stream (not 100%
coverage but deemed "good enough")
* depend on loguru in tests but not in the sdk itself

Missing (and already in the works!) is a custom result type that will
allow us to remove dependency on arrow status/result which right now
doesn't translate to `rerun::Status`

* Part of #2919
* Almost solves #2917
* Prerequisite for #2873

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3001) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/3001)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Ferrorhandling/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Ferrorhandling/examples)
Wumpf added a commit that referenced this issue Aug 17, 2023
* Depends on #3001
* Part of #2919
* Fixes #2917
* Solves a big chunk of #2873

### What

Introduces a very simple `rerun::Result`. I decided to keep it **a lot**
more simple than the arrow Result type and refrained from the typical
"return or assign" etc. macro since I noticed that they get quite
complicated quickly.

The idea is that the rerun result type won't be needed by a lot of
manual code, so erring on the too lightweight side should be in our
favor.

We use this now accross the entire public serialization path - meaning
that once we move out array->arrow serialization helper into separate
headers we should be pretty much done with not exposing arrow headers!


### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3005) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/3005)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fcustom-result-type/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fcustom-result-type/examples)
Wumpf added a commit that referenced this issue Aug 18, 2023
…3028)

* Part of #2919

### What

Adds ci jobs to upload rerun_c for linux x64, mac x64, mac aarch64,
windows x64 and shows those both on the build summary html as well as
the github developer release

Unrelated changes
* remove unnecessary dependency from rerun_c - part of #2905
* no longer show full changelog on Dev releases - this got often very
long and isn't all that useful, also doesn't understand our minor
releases


### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3028) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/3028)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Frerun_c-ci-build/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Frerun_c-ci-build/examples)

---------

Co-authored-by: Jan Procházka <1665677+jprochazk@users.noreply.github.com>
Wumpf added a commit that referenced this issue Aug 18, 2023
* Part of #2919
* Depends on #3001
* Solves C++ part of #2537

### What

Moves out all affix-fuzzer and co. testing types of the actual SDK.

While working on that...
* I figured out why warnings from arrow headers showed up only
sometimes: When Arrow isn't added explicitely as a dependency, CMake
doesn't seem to declare it as system header which normally suppresses
warnings (as you can imagine this got really bad now when adding more
cpps that include arrow to the test library). Obvious workaround is to
add arrow explicitly to the text executable.
* internal include paths got shorter/more natural in some cases. I had
to make the `Includes` utility more clever in order to support types
outside of the sdk, so we got this almost for free :)

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3007) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/3007)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fseparate-test-types/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fseparate-test-types/examples)
Wumpf added a commit that referenced this issue Aug 19, 2023
…l set (#3041)

* Part of #2919
* Fixes #2873

### What

We now use our own status type everywhere, allowing us to predeclare
everything arrow.
On top of that I made sure that we include a much more minimal set of
arrow headers for the serialization code itself.

There's a static assertion in the unit test that ensures that we don't
start leaking arrow headers into the future

Haven't measured, but it feels like this also improved compile times of
the sdk which were already pretty good.

-----------

The one thing that's noted in #2873 but is not happening here yet (?) is
splitting out the utility methods. The idea would be this (actual
generated code I already have on a test branch!) :
```cpp
        struct LineStrip2D {
// .........
            /// Creates a Rerun DataCell from an array of LineStrip2D components.
            static Result<rerun::DataCell> to_data_cell(
                const LineStrip2D* instances, size_t num_instances
            );
        };

        /// Serialization utilities for arrays of LineStrip2D
        namespace LineStrip2DSerializationUtils {
            /// Returns the arrow data type this type corresponds to.
            static const std::shared_ptr<arrow::DataType>& to_arrow_datatype();

            /// Creates a new array builder with an array of this type.
            static Result<std::shared_ptr<arrow::ListBuilder>> new_arrow_array_builder(
                arrow::MemoryPool* memory_pool
            );

            /// Fills an arrow array builder with an array of this type.
            static Error fill_arrow_array_builder(
                arrow::ListBuilder* builder, const LineStrip2D* elements, size_t num_elements
            );
        } // namespace LineStrip2DSerializationUtils
```

The problem is that this makes calling these helpers unnecessary
complicated sicne I need to append `SerializationUtils` to the typename
of some previously static method calls which is suprisingly cumbersome 🤔
EDIT: Briefly chatted with Emil about it. Let's do it, it's actually not
that hard

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3041) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/3041)
- [Docs
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fdont-leak-arrow-headers/docs)
- [Examples
preview](https://rerun.io/preview/pr%3Aandreas%2Fcpp%2Fdont-leak-arrow-headers/examples)
- [Recent benchmark results](https://ref.rerun.io/dev/bench/)
- [Wasm size tracking](https://ref.rerun.io/dev/sizes/)
@Wumpf Wumpf added this to the 0.9 milestone Aug 19, 2023
Wumpf added a commit that referenced this issue Sep 8, 2023
### What

* Part of: #2919 
* Fixes #3256
* just like in Rust it's actually `as_component_lists`, we return a
vector of type erased component arrays that know how to serialize
themselves, dubbed `AnonymousComponentList` for now.
* I'm not happy with naming and internals of `AnonymousComponentList`.
This smells very much like we should have actual inheritance somewhere,
but it's a bit tricky since we want to extract pointer out of arbitrary
list types, giving rise to the type aware `ComponentList`. Overall the
approach here tries to mimic Rust but ultimately misses the target,
since, well this is not Rust. To be revisited, maybe it is just a naming
issue!
* Fixes #3255
* indicators are regular components now, their handling in
`as_component_lists` is very slightly dubious since they're not backed
by data but ofc indicator components don't have any data to begin with 🤷
* Fixes #3040
* First step towards #3050


Trigger of this PR was the inability to deal with mono components like
`DrawOrder` -> need splatting -> don't want to implement splatting
separately for components & archetype -> implement as_components-style

Quick throw-away test for splatting radius on the random point demo:
<img width="943" alt="image"
src="https://github.com/rerun-io/rerun/assets/1220815/d256b281-34c7-4d6c-a143-b4d604a13b75">



### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3258) (if
applicable)

- [PR Build Summary](https://build.rerun.io/pr/3258)
- [Docs
preview](https://rerun.io/preview/f732aad18515476d81d57b89108e08f787729ae6/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/f732aad18515476d81d57b89108e08f787729ae6/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://ref.rerun.io/dev/bench/)
- [Wasm size tracking](https://ref.rerun.io/dev/sizes/)
@emilk emilk modified the milestones: 0.10 Polish, 0.10 C++ Sep 22, 2023
@Wumpf Wumpf removed their assignment Sep 26, 2023
@Wumpf Wumpf self-assigned this Oct 9, 2023
@emilk
Copy link
Member

emilk commented Oct 9, 2023

Let's create issues for each of the out-standing must-haves

Wumpf added a commit that referenced this issue Oct 17, 2023
### What

* Part of #2919

Needed to enhance segmentation image a bit for this.

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3891) (if
applicable)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/3891)
- [Docs
preview](https://rerun.io/preview/7d5a3671560ee6c593530b9b858e28a74555d91a/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/7d5a3671560ee6c593530b9b858e28a74555d91a/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://ref.rerun.io/dev/bench/)
- [Wasm size tracking](https://ref.rerun.io/dev/sizes/)
Wumpf added a commit that referenced this issue Oct 18, 2023
…ge/tensor (#3899)

### What

* Fixes #3380
* Part of #2919

commit history is a bit messy because this was based on the annotation
context example pr. Speaking off, I made those a bit nicer on the way


### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/3899) (if
applicable)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/3899)
- [Docs
preview](https://rerun.io/preview/c324163602dfdde33684cae0f9365fd72b177ad3/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/c324163602dfdde33684cae0f9365fd72b177ad3/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://ref.rerun.io/dev/bench/)
- [Wasm size tracking](https://ref.rerun.io/dev/sizes/)
@emilk emilk mentioned this issue Oct 30, 2023
33 tasks
emilk added a commit that referenced this issue Oct 30, 2023
### What
Fix a couple of `TODO(#2919)`

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested [demo.rerun.io](https://demo.rerun.io/pr/4063) (if
applicable)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/4063)
- [Docs
preview](https://rerun.io/preview/ae498219a0bc0be3458bb7d39c52a857c6acff43/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/ae498219a0bc0be3458bb7d39c52a857c6acff43/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://ref.rerun.io/dev/bench/)
- [Wasm size tracking](https://ref.rerun.io/dev/sizes/)
@Wumpf Wumpf linked a pull request Oct 30, 2023 that will close this issue
17 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🌊 C++ API C/C++ API specific enhancement New feature or request 🎄 tracking issue issue that tracks a bunch of subissues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants