Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix bug when joining cleared optional components (#3726)
### What Resolves the second issue identified from: - #3711 Even with the fix from: - #3720 We could still reproduce an error with code such as: ``` """Log a simple line strip.""" import rerun as rr rr.init("rerun_example_line_strip3d", spawn=True) points = [ [0, 0, 0], [0, 0, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1], [0, 1, 0], [0, 1, 1], ] rr.log("strip", rr.LineStrips3D([points], radii=[])) ``` Which would still display no lines. It turns out the single-row joining iterator introduced a bug when a component is cleared. This yields an empty cell for the component, but still passes the key-based check that was being done, and then subsequently yields no items. This PR adds a unit-test reproing the issue, a debug_assertion where we were previously violating an assumption, and now guards against the condition. ### 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/3726) (if applicable) - [PR Build Summary](https://build.rerun.io/pr/3726) - [Docs preview](https://rerun.io/preview/7434604b10e7fb047e289dfd5ff1352ba23eadef/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/7434604b10e7fb047e289dfd5ff1352ba23eadef/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://ref.rerun.io/dev/bench/) - [Wasm size tracking](https://ref.rerun.io/dev/sizes/)
- Loading branch information