Overview
Simulation Architecture
An Elodin simulation consists of Entities are spawned with a list of archetypes rather than individual components.
Systems
Systems are reusable functions that operate on a set of components. Composing different systems allows for the creation of custom physics engines. Some examples of systems include gravity, aerodynamics, collision detection.
World
World is a container of all the entities in the simulation. See ECS Data Model for more context on entities.
Flight Software (FSW)
Flight software is a set of processes that run independent of the simulation. Using impeller
, FSW subscribes to relevant simulation data and sends control commands back to the simulation.
ECS Data Model
Elodin uses the Entity Component System (ECS) pattern to manage simulation data. Entities are simply unique references to a collection of components. Components are individual properties associated with an entity like position, velocity, mass, etc.
Archetypes are a unique combination of components that allow for efficient memory management and data access patterns. Entities are spawned with a list of archetypes rather than individual components.
Systems are simply functions that operate on component data.