Currently it is only possible to connect NodeInput::Value (disconnected export), or NodeInput::Node (link to node) to an export (UI only export node). It is not possible to connect an import directly to the export, which would result in a NodeInput::Network. To fix this, the flattening processing in flatten_with_fns will have to be adjusted to include exports when setting a NodeInput::Network to whatever that parent nodes input is.
I started some code, which outlines the general idea, but I could not get it to compile. I think this is an interesting problem to solve, which requires understanding the flattening process during compilation, and how to adapt the various methods to work with the network exports vec, rather than the node inputs vec.
Some relevant starting points are uncommenting the (None, None) case in NodeGraphMessage::ConnectNodesByLink, removing the reconnect restriction in remove_references_from_network, and understanding flatten_with_fns.
Currently it is only possible to connect NodeInput::Value (disconnected export), or NodeInput::Node (link to node) to an export (UI only export node). It is not possible to connect an import directly to the export, which would result in a NodeInput::Network. To fix this, the flattening processing in
flatten_with_fns
will have to be adjusted to include exports when setting a NodeInput::Network to whatever that parent nodes input is.I started some code, which outlines the general idea, but I could not get it to compile. I think this is an interesting problem to solve, which requires understanding the flattening process during compilation, and how to adapt the various methods to work with the network exports vec, rather than the node inputs vec.
Some relevant starting points are uncommenting the (None, None) case in
NodeGraphMessage::ConnectNodesByLink
, removing the reconnect restriction inremove_references_from_network
, and understandingflatten_with_fns
.There are also some pictures and helpful discussion here: https://discord.com/channels/731730685944922173/1238015208534966313/1239327786104262730
https://discord.com/channels/731730685944922173/1238015208534966313/1240797177467506688