GraphiteEditor / GraphiteEditor/Graphite

A network's import cannot be connected directly to its export

Aperta
#1,762 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Architecture Graphene
Lingua principale
Rust
Stelle
27.2k
Fork
1.3k
Merge medio
20h 5m
PR unite (30g)
57

Descrizione

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::Import. To fix this, the flattening processing in `flatten_with_fns` will have to be adjusted to include exports when setting a NodeInput::Import 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`.

There are also some pictures and helpful discussion here:
https://discord.com/channels/731730685944922173/1238015208534966313/1239327786104262730
![image](https://github.com/GraphiteEditor/Graphite/assets/116332429/a60b2e8c-e7b6-41c3-952a-a0f1d86df0b3)

https://discord.com/channels/731730685944922173/1238015208534966313/1240797177467506688
![image](https://github.com/GraphiteEditor/Graphite/assets/116332429/7b9bf657-04b6-4c4d-b7a1-71ee448b6ef5)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.