Open
Description
Bevy has reused the same conceptual names for multiple types across things within bevy. Ie Query is used by bevy_ecs and cosmic_text, Handle in Bevy_asset and bevy_log, etc
This creates confusion especially for autocomplete tooling like in vscode where the conflict leads to confusing errors that a normal person will not understand as syntactically they have done everything correctly.
Bevy should reserve the key conceptual ideas such as Query, Param, System, Handle, etc and any reuse should be name scoped, ex cosmic_text Query renamed to CosmicQuery etc
Checklist of conflicts:
- cosmic_text re-export: Remove re-exports of cosmic_text types #19516
- bevy_log re-export of Handle: TODO
- Entry: Rename bevy_ecs::world::Entry to ComponentEntry #19517
- bevy_assets::Entry: TODO
- bevy_scene::ron re-exports: TODO
- encase re-exports: TODO
-
ScalingMode
duplicate names
Metadata
Metadata
Assignees
Labels
Impacts the entire engineA change to the crates that Bevy depends onA targeted quality-of-life change that makes Bevy easier to useNice and easy! A great choice to get started with BevyA breaking change to Bevy's public API that needs to be noted in a migration guideThis issue is ready for an implementation PR. Go for it!This work is generally agreed upon