ecs-core-overview
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| ecs-core-overview [2026/04/25 09:45] – created diviner | ecs-core-overview [2026/04/27 15:43] (current) – [ECS Core Architectural Overview] diviner | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== ECS Core Architectural Overview ====== | ====== ECS Core Architectural Overview ====== | ||
| + | |||
| + | The Core Architecture defines and enforces clean separation between the following architectural layers: | ||
| + | |||
| + | * **Data Model** | ||
| + | * Static State | ||
| + | * Entity Static Data | ||
| + | * Component Static Data | ||
| + | * System Static Data | ||
| + | * Runtime State | ||
| + | * [[Entity]] | ||
| + | * [[Component]] | ||
| + | * **Business Logic** | ||
| + | * Services | ||
| + | * Systems | ||
| + | |||
| + | ==== Data Model ==== | ||
| + | |||
| + | The Data Model defines the Application State. It is cleanly separated into Runtime Model, state generated, modified and disposed during the Application runtime, and Static Model, immutable state generated and serialized during application design time, and loaded into the application on start up. Static State can also be thought of as Application Configuration. Dependency happens from Runtime Model to Static Model and never the other way around. The general pattern used throughout this architecture is that Static State is loaded into Systems during application start, and then this Static State is used by these systems as instructions to generate Runtime State. | ||
| + | |||
| + | === Static State === | ||
| + | |||
| + | The way static state is serialized depends on the implementor of the architecture. Static State can be serialized as XML, Json, Plain Text or binaries, or Game Engine dependent structures like Unity' | ||
| + | |||
| + | The architecture defines two different types of Static State: EntityStaticData (and its dependent ComponentStaticData) and SystemStaticData. | ||
| + | |||
| + | The EntityStaticData defines instructions for the [[IEntityFactory]] used to generate a type of Transient Runtime State called [[Entity]] (described below). From the same EntityStaticData configuration, | ||
| + | |||
| + | Unlike EntityStaticData, | ||
| + | |||
| + | === Runtime State === | ||
| + | |||
| + | Runtime state is any state created during the lifetime of the Application. As such, it can be any class necessary to service the business logic. However, there is one structure that is treated exceptionally by the architecture: | ||
| + | |||
| + | {{ : | ||
| + | |||
ecs-core-overview.1777110338.txt.gz · Last modified: by diviner
