Marks an entity to have a bounding volume generated. This entity should have a Mesh
component. A bounding volume component of type T will be computed and added to the entity once
the aforementioned mesh has loaded and can be read. This ensures that bounding volume
components are always valid when queried, and at worst case can only be out of date if queried
in a frame before the bounding volume update system is run.
A BoundingVolume stores its properties in mesh space to maximize precision. Because some types
of bounding volume must be recomputed if the mesh is scaled or rotated, this trait calls an
update function depending on whether the mesh or transform has updated.
Spawns a new BoundingVolume, replacing the [AddBoundingVolume] marker component on the
entity. This new BoundingVolume is fully initialized and will be kept up to date with the
update() system.