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

Refactor: merge ArchetypeFieldInfo into the reflection module #6616

Closed
emilk opened this issue Jun 24, 2024 · 0 comments · Fixed by #6623
Closed

Refactor: merge ArchetypeFieldInfo into the reflection module #6616

emilk opened this issue Jun 24, 2024 · 0 comments · Fixed by #6623
Assignees
Labels
codegen/idl 🚜 refactor Change the code, not the functionality

Comments

@emilk
Copy link
Member

emilk commented Jun 24, 2024

#6609 added a reflection API for components (ComponentName -> docstrings).

We should use the same interface and system for the ArchetypeFieldInfo/attr.rust.generate_field_info stuff, which is another form of reflection.

@emilk emilk added 🚜 refactor Change the code, not the functionality codegen/idl labels Jun 24, 2024
emilk added a commit that referenced this issue Jun 24, 2024
### What
* Part of #6556

Now that we can override all kinds of components in the UI, we should
also take care to explain them to the user.

Previously all the user had to go on was the name. With this PR they get
the first line of the docstring for the component, plus a link to the
full docs on our website.

This required adding a new (generated) reflection API.


![image](https://github.com/rerun-io/rerun/assets/1148717/358b1517-a36f-4b7c-8dd0-fc42f29a2e78)

Best reviewed commit-by-commit.

### Related
* lampsitter/egui_commonmark#54

### Later PR
* #6616

### 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/6609?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/6609?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/6609)
- [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`.

---------

Co-authored-by: Andreas Reich <[email protected]>
@emilk emilk self-assigned this Jun 24, 2024
emilk added a commit that referenced this issue Jun 25, 2024
### What
* Closes #6616

Replaces the previous code with the new reflection code.

For now I decided that the archetype reflection is still opt-in (with
`attr.rust.generate_field_info`) just to reduce the amount of strings
bloating our .wasm binary. We can easily change this in the future if we
want to.

### 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/6623?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/6623?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/6623)
- [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
codegen/idl 🚜 refactor Change the code, not the functionality
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant