pub fn process_atlas_definitions<T>(
    definition_handle: Option<ResMut<'_, TypedAtlasDefinition<T>>>,
    commands: Commands<'_, '_>,
    asset_server: Res<'_, AssetServer>,
    atlas_definitions: ResMut<'_, Assets<GenericAtlasDefinitions>>,
    texture_atlases: ResMut<'_, Assets<TextureAtlas>>,
    texture_images: ResMut<'_, Assets<Image>>,
    atlas_definition_events: EventReader<'_, '_, AssetEvent<GenericAtlasDefinitions>>,
    atlas_texture_event: EventWriter<'_, '_, AtlasTexturesEvent<T>>
) where
    T: VariantNames + FromStr,
    T: Eq + Hash + Send + Sync + 'static,
    <T as FromStr>::Err: Debug