# genesis v0.10.0 - Table of Contents ## Pages - [Genesis](README.md) ## Modules - [Genesis](Genesis.md): Genesis is a framework for building ECS-based games in Elixir. It provides a flexible way to manage game entities, components, and event-driven game logic. - [Genesis.Component](Genesis.Component.md): Provides common behavior and callbacks for components. - [Genesis.Context](Genesis.Context.md): Provides low-level entity storage backed by ETS. - [Genesis.ETS](Genesis.ETS.md): This module provides useful helpers for working with ETS tables. - [Genesis.Entity](Genesis.Entity.md): A struct that represents an entity and contains information about its origin. In essence, an entity is simply a unique identifier (reference) that exists within a specific context. An entity holds information about the world and context it belongs to, along with a unique identification hash. - [Genesis.Event](Genesis.Event.md): A struct representing an event that can be dispatched to entities. - [Genesis.Manager](Genesis.Manager.md): Manages the registration and lifecycle of components and prefabs. - [Genesis.Prefab](Genesis.Prefab.md): Prefabs are templates for creating entities with predefined components and properties. They can extend other prefabs to inherit their components, and override or merge properties. - [Genesis.Value](Genesis.Value.md): Helper functions to handle property values for Components. - [Genesis.World](Genesis.World.md): World is a GenServer that manages the lifecycle of entities at runtime. A world is responsible for creating, cloning, and destroying entities from its own context. It also manages the event routing logic for the components an entity has, ensuring that events are dispatched and handled correctly.