Aller au contenu principal

Schéma de Dépendances des Modules

Ce document recense les dépendances entre les modules C++ du projet. Les flèches indiquent la direction de l'inclusion (A → B signifie que A dépend de B / inclut B).

remarque

Le projet cible le standard C++14 partout. Il n'utilise pas std::optional, std::variant, les liaisons structurées ni std::filesystem.


Dépendances entre modules Source/


Dépendances du TaskSystem (Couche 2)


Dépendances du Runtime (Source/Runtime/)


Dépendances du BlueprintEditor (Couche 3)


Dépendances du sous-système Entity Prefab Editor


Dépendances du NodeGraphCore (Couche 4)


Dépendances de l'éditeur AI / Panels / Modals (Source/Editor/)


Dépendances des librairies tierces


Récapitulatif des dépendances descendantes par couche

ModuleDépend deNe doit PAS dépendre de
ECS_Entity.h(rien)Tout le reste
ECS_Components.hECS_Entity.h, DataManager, SDL3Editor, Blueprint
TaskGraphTypes.h(rien)ECS, Editor, SDL3
TaskGraphTemplate.hTaskGraphTypes, ConditionPreset, NodeConditionRefEditor UI, ImGui
VSGraphExecutorTaskGraphTemplate, LocalBlackboard, ConditionPresetEvaluatorEditor UI, ImGui
IGraphRenderer.h(rien — interface pure)Runtime, ECS
VisualScriptEditorPanelTaskGraphTemplate, imnodes, imgui, ConditionPreset, ICanvasEditorVSGraphExecutor direct
NodeGraphCorejson_helper.h, vector.hTaskSystem, ECS, Editor
EntityPrefabEditorimgui, nlohmann/json, ParameterSchemaRegistry (prefab)Runtime TaskSystem

Règle de dépendance stricte

Règle fondamentale

Les couches inférieures ne doivent jamais inclure de headers des couches supérieures. Par exemple, TaskGraphTemplate.h n'inclut aucun header ImGui ou éditeur. VSGraphExecutor n'appelle pas de fonctions de VisualScriptEditorPanel. Cette séparation garantit que la compilation runtime peut se faire sans les dépendances éditeur.