bevy-assets icon indicating copy to clipboard operation
bevy-assets copied to clipboard

Question: How should these crates be handled?

Open benfrankel opened this issue 1 year ago • 8 comments

I took some notes as I went by adding a crate field to every asset:

Unreleased (AKA a crate with no crates.io release):
- bootleg_networking
- bevy_input_actionmap
- bevy_advanced_input
- prototype_bevy_sdl2
- bevy_shadertoy_wgsl
- bevy_miniquad
- bevy_prototype_css
- Bevy-WoW
- bevy_kajiya: Unreleased?
- bevy_dev_console: Crate name reserved, though.
- bevy_doryen: There's a different library with the same name that _is_ released...
- bevy_prototype_simple_net: Also archived.

Archived (on GitHub):
- bevy_rtc
- bevy_networking_turbulence
- physme
- spew
- ezinput
- bevy_tilemap
- bevy-discord-presence
- bevy_ldtk: Merged into bevy_retrograde.

Unmaintained (according to README):
- bevy_retrograde: No longer developed. Moved to Bones Framework, which is not a Bevy plugin.
- seldom_interop: No longer maintained. Merged into seldom_map_nav.
- bevy-orbit-controls: Unmaintained. Suggests using smooth-bevy-cameras instead.

Obsolete:
- seldom_fn_plugin: Almost obsolete.
- bevy_mod_ui_sprite: Obsolete?
- bevy_ui_borders: Obsolete?
- bevy_mod_ui_texture_atlas_image: Obsolete?

Wrong category:
- bevier: Tool, not a template.
- bevy-in-web-worker: Tool, not a crate.
- bevy-in-app: Tool, not a crate.
- autodefault: Not a "development tool", and not even a Bevy Asset technically, just a Rust library.

Multiple crates:
- blender_bevy_components_workflow
- naia
- avian
- bevy_rapier
- bevy_wasm

benfrankel avatar Jul 16 '24 08:07 benfrankel

This is not explicitly including the crates that are very old and haven't been updated. Sorting by latest supported Bevy version will help with those cases (https://github.com/bevyengine/bevy-assets/issues/297).

benfrankel avatar Jul 16 '24 08:07 benfrankel

The "multiple crates" assets are fine of course. I marked them down to note that I had to pick just one of their multiple crates for the crate field.

benfrankel avatar Jul 16 '24 08:07 benfrankel

My take: IMO the crates with no crates.io release should never have been added to Bevy Assets in the first place. It feels like there should be some minimum bar required, even if it's a very low bar to be as permissive as possible.

If not fully removed, at the very least a lot of these crates should be hidden or marked somehow to avoid misleading / wasting a Bevy user's time.

benfrankel avatar Jul 16 '24 08:07 benfrankel

My take: IMO the crates with no crates.io release should never have been added to Bevy Assets in the first place.

Personally I think it's okay. Some crates are intentionally waiting for a proper release while others never intend on releasing for whatever reason. I think the important thing is that the crate can be imported somehow.

If not fully removed, at the very least a lot of these crates should be hidden or marked somehow to avoid misleading / wasting a Bevy user's time.

Agreed. Crates should be marked by "easiest" import: if not crates.io, then git, otherwise other (I’m assuming Rust supports alternative package registries)?

MrGVSV avatar Jul 16 '24 14:07 MrGVSV

I left spew in there because it might still be useful to people on 0.13 and I've updated it to 0.14 to be nice, but I won't continue working on it since it's superseded by Observers. Feel free to add it to the "obsolete" pile.

janhohenheim avatar Jul 19 '24 14:07 janhohenheim

It might be useful too if crates automatically tracked when they were last published or when a commit was last pushed.

MrGVSV avatar Jul 19 '24 14:07 MrGVSV

@MrGVSV wouldn't that already be handled by sorting by latest supported Bevy version? I think going beyond that would be a bit hard to analyze, since many crates are good as they are now and don't need changes beyond Bevy version bumps.

janhohenheim avatar Jul 19 '24 14:07 janhohenheim

@MrGVSV wouldn't that already be handled by sorting by latest supported Bevy version? I think going beyond that would be a bit hard to analyze, since many crates are good as they are now and don't need changes beyond Bevy version bumps.

Fair. I like to see how "active" a dependency is before I bring it in, but I suppose "last updated" doesn't really give the full picture there.

MrGVSV avatar Jul 19 '24 14:07 MrGVSV