From OpenMW Wiki
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