Move `all_tuples` and friends into its own crate
FYI I'm merging the simple fix in #15933 now, but I do think we should move fully to this. It does make me think we should pull all_tuples out into its own crate though: I'm not a fan of bevy_math relying on bevy_utils.
Originally posted by @alice-i-cecile in https://github.com/bevyengine/bevy/issues/15936#issuecomment-2415352291
This should be part of the Bevy extended universe, over with atomiccow. The name of the crate should not have "Bevy" in it to encourage broader adoption.
To commence the bikeshedding, I propose polytuple as a name.
variadics_please gets my vote.
Oh in line with the not-BSN crate, i-cant-believe-its-not-variadics
I like variadics_please, but maybe we should also consider keeping the name all_tuples (assuming someone else hasn't taken it)? Especially considering it's a fairly known about macro in the community.
I think that putting variadics into the crate name in some form is helpful for searchability. I also think it's a natural home for any other variadic-related functionality that Bevy or other users might need.
Since bevy_utils/macros only contains all_tuples! and all_tuples_with_size!, it seems like the steps are pretty straightforward:
- Reserve the name
variadics_pleaseon crates.io - Create the repository
bevyengine/variadics_please - Copy
bevy_utils/macrosinto the new repo, polish the documentation, etc. - Publish
- Update
bevy_utilsto re-exportvariadics_please, or update the other crates to directly usevariadics_pleaseinstead.
https://crates.io/crates/variadics_please