À propos du projet

# Éditeur de nœuds dans ImGui Ce projet fournit une implémentation d'éditeur de nœuds avec une API de type ImGui, conçue comme base pour des solutions complexes telles que les éditeurs de blueprints. La philosophie centrale est « dessinez votre contenu, nous nous occupons du reste » : l'éditeur gère les interactions (placement des nœuds, glisser-déposer, zoom/défilement, sélection et divers événements interrogeables comme les changements de création/suppression/sélection), tandis que les utilisateurs gèrent le rendu du contenu. ## Fonctionnalités clés - **Gestion interne des nœuds** : Le déplacement et la sélection des nœuds sont gérés en interne. - **Contenu entièrement personnalisable** : Le contenu des nœuds et des broches est entièrement défini par l'utilisateur. - **Style** : Entièrement stylisé avec un thème par défaut inspiré des blueprints UE4 ; suffisamment flexible pour créer des apparences de nœuds variées. - **Liens personnalisables** : Liens basés sur des courbes de Bézier. - **Mises en surbrillance automatiques** : Mises en surbrillance pour les nœuds, les broches et les liens. - **Navigation fluide** : Navigation et sélection fluides. - **Persistance de l'état** : L'état des nœuds peut être sauvegardé dans le contexte utilisateur, préservant la disposition. - **Sélection et regroupement** : Rectangles de sélection et glisser-déposer de groupes. - **Menu contextuel et raccourcis** : Prise en charge du menu contextuel et raccourcis de base (couper/copier/coller/supprimer). - **API de style ImGui** : Cohérente avec les conventions d'ImGui. ## Dépendances - ImGui vanilla 1.72+ - C++14 Des extensions optionnelles pour les exemples et des raccourcis supplémentaires sont listés dans le README. ## Compilation / Installation Les sources se trouvent dans le répertoire racine ; copiez-les et collez-les dans votre projet comme ImGui. Les exemples peuvent être compilés avec CMake sur Windows, macOS et Linux. ## Démarrage rapide Un exemple minimal crée un contexte d'éditeur, commence un nœud avec des broches d'entrée/sortie et le rend. L'en-tête principal est `imgui_node_editor.h`. D'autres exemples se trouvent dans le dossier `examples`, notamment un exemple de blueprints. ## Contexte d'utilisation L'éditeur a été utilisé pour implémenter un éditeur de blueprints dans le moteur Spark CE, prouvant sa capacité. Le projet passe du prototype à un état stable.