Scene entities are processed with high cache coherence using a proprietary design. Entities are constructed in a component style, but the underlying architecture is not ECS.
An entity does not itself affect the scene, but contains objects that affect the scene. Scene objects are not added to an entity as pointers or references, but append their memory to the entity (composition). An entity's final memory size is the sum of object memory sizes. Object memory becomes coherent within an entity, and entity memory is coherent between entities, maximizing CPU cache effectiveness.
All entity processing is completed in a single pass. Passes have extremely low overhead. An optional reverse pass can be invoked.This can be helpful in various use cases. For example, UI elements benefit from handling events in reverse order in the UI element hierarchy.
An entity can be dependent on another entity. Hierarchal entities maintain data orientedness. An entity that has a dependency on another entity will always be processed after the entity it is dependent on is processed. Hierarchal entities have a super entity (parent) and possible subentities (children).
Entity add/remove is very fast. Efficient caching order is typically maintained. Gaps are possible that can break cache coherency, but in the typical pattern for games, gaps should be filled quickly.
Entities use keys instead of pointers. It's possible to check if an entity exists in the entity list before accessing the entity object by key. Versioning is used to make sure the entity referenced by the key is the original entity.