full graph with collapsed clusters

This commit is contained in:
Pascal Serrarens 2026-04-21 14:25:25 +02:00
parent 1a1919fb8e
commit befb69d00c

View File

@ -282,11 +282,16 @@ namespace NanoBrain {
private void DescendGraph(Dag.Node receiver, ref int ix, Dag dag) {
foreach (Synapse synapse in receiver.nucleus.synapses) {
Dag.Node synapseNode = dag.FindNode(synapse.neuron.name);
Nucleus nucleus = synapse.neuron;
if (nucleus.parent != null && nucleus.parent != currentNucleus.parent) {
nucleus = nucleus.parent;
}
string nucleusName = nucleus.name;
Dag.Node synapseNode = dag.FindNode(nucleusName);
if (synapseNode == null) {
synapseNode = new() {
id = ix,
nucleus = synapse.neuron
nucleus = nucleus
};
dag.nodes.Add(synapseNode);
}
@ -744,9 +749,20 @@ namespace NanoBrain {
public List<Node> nodes = new();
public List<Edge> edges = new();
public Node FindNode(string name) {
public Node FindNode(string name, bool justBaseName = true) {
if (justBaseName) {
int colonPos = name.IndexOf(":");
if (colonPos > 0)
name = name[..colonPos];
}
foreach (Node node in this.nodes) {
if (node.nucleus.name == name)
string nodeName = node.nucleus.name;
if (justBaseName) {
int colonPos = nodeName.IndexOf(":");
if (colonPos > 0)
nodeName = nodeName[..colonPos];
}
if (nodeName == name)
return node;
}
return null;