Skip to content

Clarify purpose of bevy_dev_tools in crate-level docs #12358

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

Open
alice-i-cecile opened this issue Mar 7, 2024 · 2 comments
Open

Clarify purpose of bevy_dev_tools in crate-level docs #12358

alice-i-cecile opened this issue Mar 7, 2024 · 2 comments
Labels
A-Dev-Tools Tools used to debug Bevy applications. C-Docs An addition or correction to our documentation

Comments

@alice-i-cecile
Copy link
Member

Great question! My stance on "what is bevy_dev_tools":

  1. I'd like a unified set of tools that can be used to ease the development of Bevy games, primarily by displaying information about the state of the app.
  2. These tools should be easy to discover.
  3. These tools should have a unified style and use shared idioms and code.
  4. These tools should be able to be toggled on and off by end users in a number of convenient ways using a consistent pattern (e.g. editor command palette, dev console, and so on).

The fact that users could use these tools in a final product doesn't negate the fact that they're primarily going to be used for development: there's nothing stopping you from enabling dev tools in your final build but only turning on the key features you need :)

Originally posted by @alice-i-cecile in #12354 (comment)

@alice-i-cecile alice-i-cecile added the A-Dev-Tools Tools used to debug Bevy applications. label Mar 7, 2024
@alice-i-cecile alice-i-cecile self-assigned this Mar 7, 2024
@alice-i-cecile alice-i-cecile added the C-Docs An addition or correction to our documentation label Mar 7, 2024
@pablo-lua
Copy link
Contributor

pablo-lua commented Mar 7, 2024

For instance, we have to clarify what is a dev tool and what is a candidate of ingressing this crate.

IMO, a simple way of saying if the thing is a dev tool or not is one question: Is this a feature that the user can already do themselves from their own code? If the answer is yes, so maybe this is indeed a tool. For example, in #11237, the user can already do this plugin if they want, but we are trying to do this tool native so the user don't need to do that, as a shortcut. There is a number of ways of doing the same thing, so the user can try to do this themselves if they wants something more from this tool.
At the same time, not everything that is a tool necessarily needs to be in this crate, some tools might need Resources or Components that aren't public for the crate, or the tool isn't a debug only tool, or the tool deserves a crate for it for example.

@matiqo15
Copy link
Member

matiqo15 commented Mar 7, 2024

I think every tool should be something that isn't required by the engine itself, something that most users wouldn't need to include in final builds. And most importantly it should be aimed at helping development, whether by speeding it up or allowing for faster prototyping.

@alice-i-cecile alice-i-cecile removed their assignment Jun 25, 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. C-Docs An addition or correction to our documentation
Projects
None yet
Development

No branches or pull requests

3 participants