-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Remove or shrink bevy_utils #11478
Copy link
Copy link
Open
Labels
A-UtilsUtility functions and typesUtility functions and typesC-Code-QualityA section of code that is hard to understand or changeA section of code that is hard to understand or changeD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesA "normal" level of difficulty; suitable for simple features or challenging fixesS-Ready-For-ImplementationThis issue is ready for an implementation PR. Go for it!This issue is ready for an implementation PR. Go for it!
Description
What problem does this solve or what need does it fill?
bevy_utils is a collection of unrelated utilities for Bevy. Utility modules/classes/libraries are generally frowned upon in the programming community since they are most likely a sign of poor organization.
What solution would you like?
Move bevy_utils's contents into existing bevy crates or into separate crates.
Long list of what to do with each item in bevy_utils
-
BoxedFuturecould probably be removed since async in traits were added in Rust 1.75 - all
HashMaprelated stuff: no idea where to put that. - Move
EntityHashrelated types intobevy_ecs#11498 -
OnDropcould be its own crate -
tracingrelated stuff: put inbevy_log -
oncerelated stuff: I would put it inbevy_log, but this could cause some issues (see move once from bevy_log to bevy_utils, to allow for it's use in bevy_ecs #11419) -
get_short_name: put inbevy_reflect -
SyncCell: usestd::sync::Exclusivewhen stabilized (Tracking Issue forExclusiverust-lang/rust#98407) -
SyncUnsafeCell: usestd::cell::SyncUnsafeCellwhen stablized (Tracking Issue for SyncUnsafeCell rust-lang/rust#95439) -
generate_composite_uuid: Maybe contribute this to theuuidcrate? -
labelmodule: Sounds like abevy_reflectthing but isn't actually used anywhere there so idk -
Interned: put inbevy_ecs -
futuresmodule: only used inbevy_render, so put it there. -
FloatOrd: could be its own crate -
default: Could be its own crate (Thedefaultcrate already exists, so maybe we should use that) -
CowArc: Could be its own crate
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-UtilsUtility functions and typesUtility functions and typesC-Code-QualityA section of code that is hard to understand or changeA section of code that is hard to understand or changeD-ModestA "normal" level of difficulty; suitable for simple features or challenging fixesA "normal" level of difficulty; suitable for simple features or challenging fixesS-Ready-For-ImplementationThis issue is ready for an implementation PR. Go for it!This issue is ready for an implementation PR. Go for it!