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

VisibleTimeRange is now a union, add serialization comparision test #6259

Merged

Conversation

Wumpf
Copy link
Member

@Wumpf Wumpf commented May 7, 2024

What

Part of a train

Replaces a fair chunk of

Makes VisibleTimeRange a union - the motivator for this pr train in the first place. Adds a roundtrip test that compares the serialization ofVisibleTimeRange archetype across sdk languages. (the archetype is meant for blueprint only, but I'm simply using the datastore for this comparision)

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
  • If applicable, add a new check to the release checklist!

To run all checks from main, comment on the PR with @rerun-bot full-check.

@Wumpf Wumpf added 🔨 testing testing and benchmarks do-not-merge Do not merge this PR 🟦 blueprint The data that defines our UI exclude from changelog PRs with this won't show up in CHANGELOG.md labels May 7, 2024
Copy link

github-actions bot commented May 7, 2024

Deployed docs

Commit Link
0f9307c https://landing-mvu2aijhu-rerun.vercel.app/docs

@Wumpf
Copy link
Member Author

Wumpf commented May 7, 2024

@rerun-bot full-check

Copy link

github-actions bot commented May 7, 2024

@Wumpf
Copy link
Member Author

Wumpf commented May 7, 2024

some python formatting needed, otherwise main build was happy

Wumpf added a commit that referenced this pull request May 8, 2024
### What

Part of a train 
* ➡️ #6257
* #6258
* #6259

This is needed to implement `TimeRangeBoundary` nicer: the `infinite`
variant is supposed to use this unit type.
The way I solved it is by introducing a special built-in `UnitType` that
we always map to `Type::Unit`. For purposes of serialization this is
just a variant of type null, i.e. we append to a `NullArray`.

_are you sure this works?_ Yes, check the last piece of the train!

### 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 the web demo (if applicable):
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/{{pr.number}}?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/{{pr.number}}?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!

- [PR Build Summary](https://build.rerun.io/pr/{{pr.number}})
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
@Wumpf Wumpf force-pushed the andreas/python-union-codegen branch from 36cdca9 to 447881c Compare May 8, 2024 08:53
@Wumpf Wumpf force-pushed the andreas/visible-time-range-union-and-test branch from dd1a868 to 0f9307c Compare May 8, 2024 08:54
Copy link
Member

@jleibs jleibs left a comment

Choose a reason for hiding this comment

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

This looks good -- still need the python helpers to really finish it off, but that can come in one last PR.

@Wumpf Wumpf removed the do-not-merge Do not merge this PR label May 8, 2024
@Wumpf Wumpf merged commit 9029698 into andreas/python-union-codegen May 8, 2024
39 of 42 checks passed
@Wumpf Wumpf deleted the andreas/visible-time-range-union-and-test branch May 8, 2024 13:58
Wumpf added a commit that referenced this pull request May 8, 2024
### What

Part of a train 
* #6257
* ➡️ #6258
* #6259

This is fair chunk of:
* #2623

In theory this should have been enough to be able to serialize
`Transform3D` with generated code. However, I ran into native crashes in
unrelated tests when trying to do so. Also, this requires shuffling
around some other manual serialization code where we don't generate
serialization for structs yet.

_are you sure this works?_ Passes existing python test & comparison
tests. For the new unit-union variants check the last part of the train.

### 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 the web demo (if applicable):
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6258?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/6258?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!

- [PR Build Summary](https://build.rerun.io/pr/6258)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🟦 blueprint The data that defines our UI exclude from changelog PRs with this won't show up in CHANGELOG.md 🔨 testing testing and benchmarks
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants