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

Comprehensive Source Tracking #16775

Open
1 of 6 tasks
NthTensor opened this issue Dec 11, 2024 · 6 comments
Open
1 of 6 tasks

Comprehensive Source Tracking #16775

NthTensor opened this issue Dec 11, 2024 · 6 comments
Labels
A-Dev-Tools Tools used to debug Bevy applications. A-Diagnostics Logging, crash handling, error reporting and performance analysis A-ECS Entities, components, systems, and events C-Feature A new feature, making something new possible C-Tracking-Issue An issue that collects information about a broad development initiative X-Uncontroversial This work is generally agreed upon

Comments

@NthTensor
Copy link
Contributor

NthTensor commented Dec 11, 2024

Bevy code can get very spread out. It's not uncommon for very well separated pieces of machinery to have to coordinate, often across crate boundaries. Bevy has great tools to accomplish this sort of coordination, but it is often hard to inspect.

The first attempt at improving runtime inspection was made in #14034, which added optional tracking of exactly where every component is accessed or mutated, as an extension of the change detection system. But there's still several other places we don't track this information.

@NthTensor NthTensor added A-Dev-Tools Tools used to debug Bevy applications. A-Diagnostics Logging, crash handling, error reporting and performance analysis A-ECS Entities, components, systems, and events C-Feature A new feature, making something new possible D-Straightforward Simple bug fixes and API improvements, docs, test and examples S-Ready-For-Implementation This issue is ready for an implementation PR. Go for it! labels Dec 11, 2024
@alice-i-cecile alice-i-cecile added the X-Uncontroversial This work is generally agreed upon label Dec 11, 2024
@alice-i-cecile
Copy link
Member

Each of these work items should be tackled one PR at a time to help them get merged in smoothly :)

@SpecificProtagonist
Copy link
Contributor

Another aspect to add source location tracking to: Spawns/Despawn (PR: #16047).

@NthTensor
Copy link
Contributor Author

Thanks for helping with triage & de-duplication @SpecificProtagonist <3.

@SpecificProtagonist
Copy link
Contributor

Another potential issue: Currently, custom commands cannot preserve source location tracking. A simple solution would be to expose all *_with_caller functions, but that would lead to a lot of API duplication.

@NthTensor
Copy link
Contributor Author

NthTensor commented Dec 12, 2024

The location would point back to the custom commands though, right? That seems acceptable, it can still help users debug their code.

It just shouldn't return locations pointing to the core engine crates.

@SpecificProtagonist
Copy link
Contributor

Another missing feature: This info should be accessible via the Bevy Remote Protocol.

@ItsDoot ItsDoot added the C-Tracking-Issue An issue that collects information about a broad development initiative label Dec 12, 2024
@NthTensor NthTensor added C-Tracking-Issue An issue that collects information about a broad development initiative and removed C-Tracking-Issue An issue that collects information about a broad development initiative S-Ready-For-Implementation This issue is ready for an implementation PR. Go for it! D-Straightforward Simple bug fixes and API improvements, docs, test and examples labels Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Dev-Tools Tools used to debug Bevy applications. A-Diagnostics Logging, crash handling, error reporting and performance analysis A-ECS Entities, components, systems, and events C-Feature A new feature, making something new possible C-Tracking-Issue An issue that collects information about a broad development initiative X-Uncontroversial This work is generally agreed upon
Projects
None yet
Development

No branches or pull requests

4 participants