Nodetypes design and implementation
Opened this issue · 0 comments
teodosin commented
Complete the future-proof design and implementation of node types. The requirements are roughly so:
- A thorough, complete NodeType struct that serialises smoothly into Agdb's DbValue
- Ability to hierarchically categorise node types together (eg. operators, types of operators, files)
- Account for the differences and overlap between NodeTypes and DataTypes (the type of data that a node outputs, sometimes different per output socket)
- Ergonomic way of defining new node types, both internally in the crate and for hypothetical plugin developers
- Support for defining input and output sockets, their data types, and validating connections to those sockets
- NodeType "origins" to differentiate nodes defined by Karta and by different plugins
- Each unique node type should be indexed so that instances of each type can be easily found throughout the whole db. See #96 for similar issue