Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nodetypes design and implementation #97

Open
teodosin opened this issue Sep 2, 2024 · 0 comments
Open

Nodetypes design and implementation #97

teodosin opened this issue Sep 2, 2024 · 0 comments
Labels
foundational A long-term decision or architectural implementation. Worth the extra effort.

Comments

@teodosin
Copy link
Owner

teodosin commented Sep 2, 2024

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 AGDB indexing impl for attributes #96 for similar issue
@teodosin teodosin added the foundational A long-term decision or architectural implementation. Worth the extra effort. label Sep 2, 2024
@teodosin teodosin transferred this issue from teodosin/karta_server Sep 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
foundational A long-term decision or architectural implementation. Worth the extra effort.
Projects
None yet
Development

No branches or pull requests

1 participant