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

Move the already existent tools into bevy_dev_tools and creation of new ones #12351

Open
2 of 9 tasks
pablo-lua opened this issue Mar 6, 2024 · 13 comments
Open
2 of 9 tasks
Labels
A-Dev-Tools Tools used to debug Bevy applications. C-Code-Quality A section of code that is hard to understand or change C-Tracking-Issue An issue that collects information about a broad development initiative D-Trivial Nice and easy! A great choice to get started with Bevy S-Blocked This cannot move forward until something else changes

Comments

@pablo-lua
Copy link
Contributor

pablo-lua commented Mar 6, 2024

What problem does this solve or what need does it fill?

After #11341, we now have a canonical place to store our native tools in a better way

What solution would you like?

The moval of the following tools:

- Aabb gizmos: #12354
- Light gizmos

And the creation of the new tools, like the following ones:

What alternative(s) have you considered?

None

Additional context

Message related of which tools we can try to move first:
https://discord.com/channels/691052431525675048/789987800014651412/1215063888064938064

See #11341 for more information.

@pablo-lua pablo-lua added C-Feature A new feature, making something new possible S-Needs-Triage This issue needs to be labelled labels Mar 6, 2024
@alice-i-cecile alice-i-cecile added D-Trivial Nice and easy! A great choice to get started with Bevy C-Code-Quality A section of code that is hard to understand or change and removed C-Feature A new feature, making something new possible S-Needs-Triage This issue needs to be labelled labels Mar 6, 2024
@alice-i-cecile
Copy link
Member

Can you update your message with a checklist of tools so we can track them as they get moved? :) These should be moved one tool at a time, to ease burden on reviewers and make sure things don't get stuck pointlessly.

@alice-i-cecile alice-i-cecile added the A-Dev-Tools Tools used to debug Bevy applications. label Mar 6, 2024
@pablo-lua
Copy link
Contributor Author

I did a little checklist here. Let me know if there is anything that can be improved :)

@pablo-lua
Copy link
Contributor Author

I added Light Gizmos to the checklist: Noticed that this is a debug tool and even adds a plugin to the app

@mockersf
Copy link
Member

mockersf commented Mar 7, 2024

I disagree on moving some gizmos to the dev tools. It should be either all of them or none, and I think I would prefer none.

We could move the mechanic to draw them automatically for all entities, but the gizmo themself should stay with the others

@pablo-lua
Copy link
Contributor Author

I disagree on moving some gizmos to the dev tools. It should be either all of them or none, and I think I would prefer none.

We could move the mechanic to draw them automatically for all entities, but the gizmo themself should stay with the others

I agree here that moving something like the ArrowBuilder don't make sense: after all, they are just a "line composer", if I can say that. However, that's not the case of the Aabb gizmos and Light Gizmos: they are plugins Added by the user when they enable bevy_gizmos, they add systems and "event trackers" to entities to drawn above entities automatically, and they even have resources to enable that behavior or disable. So, IMO, those two In specific are exactly the meaning of dev tools.

@alice-i-cecile
Copy link
Member

Yeah to me those two are "dev tools that happen to be built using gizmos". Like Pablo says, there's a qualitative difference between those two and the remaining gizmos.

Just like we shouldn't put "dev tools built using UI" in bevy_ui, I don't think these belong in bevy_gizmo either.

@matiqo15
Copy link
Member

matiqo15 commented Mar 7, 2024

I would add:

@matiqo15 matiqo15 added the C-Tracking-Issue An issue that collects information about a broad development initiative label Mar 7, 2024
@pablo-lua
Copy link
Contributor Author

pablo-lua commented Mar 7, 2024

Ui Layout debug

I don't think this can be here, because this isn't much of a tool, even if it works for debugging. And It use some fields in types that aren't public. This can be solved, But I don't see much a reason to move it in bevy_dev_tools for now.

I think FPS counter can be a controversial decision. But I agree that its a tool and can be moved.

@alice-i-cecile
Copy link
Member

FPS counter is high on my list :)

I think that the UI layout debug should be refactored so it can fit well into this crate.

@pablo-lua pablo-lua changed the title Move the already existent tools into bevy_dev_tools Move the already existent tools into bevy_dev_tools and creation of new ones Mar 8, 2024
@pablo-lua
Copy link
Contributor Author

pablo-lua commented Mar 8, 2024

I changed this issue to track new tools too. If there is anything that I forgot, feel free to comment here
:)

@alice-i-cecile
Copy link
Member

We should probably restrict the scope of this issue to "PRs that are already open": otherwise we'll never manage to close it :) Ideas for new features deserve their own issues.

@matiqo15 matiqo15 mentioned this issue Mar 8, 2024
github-merge-queue bot pushed a commit that referenced this issue Mar 11, 2024
# Objective

- Part of #12351
- Add fps overlay

## Solution

- Create `FpsOverlayPlugin`
- Allow for configuration through resource `FpsOverlayConfig`
- Allow for configuration during runtime

### Preview on default settings

![20240308_22h23m25s_grim](https://github.com/bevyengine/bevy/assets/62356462/33d3d7a9-435e-4e0b-9814-d3274e779a69)

---------

Co-authored-by: Alice Cecile <[email protected]>
@cart
Copy link
Member

cart commented Mar 18, 2024

I disagree on moving some gizmos to the dev tools. It should be either all of them or none, and I think I would prefer none.

I agree. I think there are better paths:

  1. Move gizmo implementations next to their features (ex: bevy_sprite defines its own gizmos)
  2. Create a new bevy_editor_gizmos crate to be the home for bevy editor gizmos.

"gizmos" are a clear enough feature slice that putting them in the bevy_dev_tools grab bag feels wrong.

@pablo-lua pablo-lua added the S-Blocked This cannot move forward until something else changes label Apr 3, 2024
@pablo-lua
Copy link
Contributor Author

Blocked on the RFC
See bevyengine/rfcs#77

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. C-Code-Quality A section of code that is hard to understand or change C-Tracking-Issue An issue that collects information about a broad development initiative D-Trivial Nice and easy! A great choice to get started with Bevy S-Blocked This cannot move forward until something else changes
Projects
None yet
Development

No branches or pull requests

5 participants