refactor & augmentation of thedmd's imgui-node-editor blueprint example to be a more plug-and-play library.
Loads of code taken from: https://github.com/thedmd/imgui-node-editor
imgui-node-editor is a "way to make your own node graph system". I found that the blueprint examples, while compelling, were not really plug-and-play solutions.
This project aims to provide a layer that rides on top of thedmd/imgui-node-editor that provides these changes from thedmd's "blueprint example":
- The blueprint example functions aren't dependent on the example framework, eg imgui-node-editor\examples\application\
- The implementation details of a node type is reorganized to a small api. So to make a new node type known to the editor, you implement simple callbacks, and then the plano layer handles runtime and savefile instantation, drawing, interaction, etc.
- Full serialization and deserialzation is implemented
- Individual node instances track their own personal configuration data using a simple attribute system. this makes saving and loading node configuration simple, and writing the node gui widget interactions simple to implement.
- Moves the blueprint example's context variables from a pile of static variables to a context container. The context is set statefully (eg, API calls implicitly affect the last "set context), and multple contexts are supported.
For an example implementation, please see the crolando/nodos project.