bevy icon indicating copy to clipboard operation
bevy copied to clipboard

Add PhysicsSystems and AiSystems system sets.

Open andriyDev opened this issue 1 year ago • 2 comments

Objective

  • Allow ordering systems against unknown physics engine / AI crate.

Solution

  • Add an unused generic PhysicsSystems and AiSystems system set that crates can opt into.

Showcase

The PhysicsSystems and AiSystems are useful general system sets for ordering systems relative to unknown crates. For example, your crate may care that it manipulates transforms before a physics engine. Physics engines can put their systems in this system set, and your crate can order its systems before this system set. This allows crates to avoid pulling in extra dependencies just for their system sets!

andriyDev avatar Nov 26 '24 07:11 andriyDev

AiSystems feels a bit too generic to me. "AI" can be arbitrary app logic, whereas "Physics" is more often handled in a specific "physics step".

cart avatar Nov 26 '24 21:11 cart

AI might not be the best word for that anymore and we can make the use case more clear. Maybe call it "AgentSystems" (for ordering against when entities with agency make decisions).

BenjaminBrienen avatar Dec 02 '24 11:12 BenjaminBrienen