Terminology

The world-model terminology is confusing. We have


 * the original terminology (MW), which is rather unintuitive and partially overlaps with the C++ language terminology, which creates additional ambiguity.
 * and the new terminology (NEW), which is reasonable, but incompatible with MM and overlaps even stronger with the C++ language terminology, which creates even more additional ambiguity.

The current state of OpenMW (code and comments) is an unhealthy mix between these two.


 * ID (MW)
 * A certain type of item, which is internally represented as a record. Each ID is identified by a unique string. IDs are immutable. Example: katana_goldbrand_unique


 * Reference (MW)
 * An instance of an ID, that exists either somewhere in the world or in a container/inventory. A reference consists of the name of its ID and some additional data. References are mutable. Not to be confused with C++ references. Example: The sword Goldbrand that you have in your inventory after finishing the Boethiah quest in Morrowind.


 * Class (NEW)
 * New name for IDs (MW). Not to be confused with C++ classes. We don't have a C++ class per Class (NEW). We have however a C++ class per type of Class (NEW), e.g. Weapon, Misc, Static.


 * Object (NEW)
 * New name for references (MW). Not to be confused with C++ objects.


 * Instance (NEW)
 * Synonym for Object