Sobre o projeto

# Editor de Nós em ImGui Este projeto fornece uma implementação de editor de nós com uma API semelhante à do ImGui, concebida como base para soluções complexas como editores de blueprints. A filosofia central é "desenhe o seu conteúdo, nós tratamos do resto": o editor trata das interações (colocação de nós, arrasto, zoom/scroll, seleção e vários eventos consultáveis como criação/eliminação/alterações de seleção), enquanto os utilizadores tratam da renderização do conteúdo. ## Funcionalidades Principais - **Gestão Interna de Nós**: O movimento e a seleção dos nós são tratados internamente. - **Conteúdo Totalmente Personalizável**: Os conteúdos dos nós e dos pinos são completamente definidos pelo utilizador. - **Estilo**: Totalmente estilizado com um tema predefinido inspirado nos blueprints do UE4; suficientemente flexível para criar aparências de nós diversificadas. - **Ligações Personalizáveis**: Ligações baseadas em curvas de Bézier. - **Realces Automáticos**: Realces para nós, pinos e ligações. - **Navegação Fluida**: Navegação e seleção fluidas. - **Persistência de Estado**: O estado dos nós pode ser guardado no contexto do utilizador, preservando o layout. - **Seleção e Agrupamento**: Retângulos de seleção e arrasto de grupos. - **Menu de Contexto e Atalhos**: Suporte de menu de contexto e atalhos básicos (cortar/copiar/colar/eliminar). - **API de Estilo ImGui**: Consistente com as convenções do ImGui. ## Dependências - ImGui vanilla 1.72+ - C++14 As extensões opcionais para exemplos e atalhos adicionais estão listadas no README. ## Compilação / Instalação Os ficheiros fonte estão no diretório raiz; copie-os e cole-os no seu projeto como faria com o ImGui. Os exemplos podem ser compilados com CMake no Windows, macOS e Linux. ## Início Rápido Um exemplo mínimo cria um contexto de editor, inicia um nó com pinos de entrada/saída e renderiza-o. O cabeçalho principal é `imgui_node_editor.h`. Há mais exemplos na pasta `examples`, incluindo uma amostra de blueprints. ## Contexto de Utilização O editor foi usado para implementar um editor de blueprints no motor Spark CE, comprovando a sua capacidade. O projeto está em transição de protótipo para estado estável.