An overview of the entity system
All content in Hitman is defined using the entity system. It works on a hierachy of scenes, bricks, templates and classes.
All of these shown below (except classes) are a kind of entity called an entity template; this kind of entity can include other entities and form links between them/set properties.
A scene is a map, like Sapienza. It references bricks which include subsections of the map.
A brick can be used to add, remove or override content in a map. For example, escalations that add more guards use bricks to do so. For Sapienza, bricks include base parts of the map like the lighting, environment and geometry, but also changes that can be added or removed at will such as hackable laptops for escalations.
Bricks then reference templates, which usually contain small amounts of customisable content that can be used anywhere, like the base template for an NPC or agent 47 (just in case either need to be edited, it means they can be edited everywhere without manual editing of those locations).
Classes are actual engine code in C++.
Any entity can reference any entity, but for the purposes of showing the general hierachy the diagram is more strict; it shows the structure usually used by IO.