Here’s a list of definitions for terms that I use that may not be consistent with how others use them, or define them.
Encompasses all of the following
A Positive, unique number that pertains to an abstract existence of something.
That something is defined by Properties and Attributes.
Consists of an Entity ID, an aggregation of Properties, and a collection of attributes.
A textual name that defines what something is.
Consists of the Property name, a set of all Entities that have this Property.
A Component Contracts that a Property has a set of Attributes with certain names and respective types.
Where the Key is a textual String, the Value is an arbitrary value of some type.
Raw instances do not duplicate if the same value exists somewhere else if not under the context of a Property Contract.
A Component is some code that acts on Entities that contain the subset of Properties which the Component has registered interest in.
The Instances register Property Contracts so that the Attributes which the component is interested in conform to existence and have some default value.
A collection of related Components.
Components interact through the outside world through a System, or Subsystem. Such Systems contain libraries, assistants, or wrappers which interact with the outside world.
A discrete collection of related code that computes and or interacts with the user.
A collection of routines which are optimized for calculation of specific things within the same topic.
Holds commands and or interactions with an external library with minimal code between, acts as an abstraction.