review: address feedback — expand cut to include full outgoing structure (all hops)

This commit is contained in:
Claude Bot
2026-03-23 19:58:40 +00:00
parent ed30804839
commit 07571b64be

View File

@@ -112,16 +112,20 @@ export default function NodeContextMenu({
? selectedNodeIds
: [nodeContext.nodeId];
// Also include nodes reachable by outgoing edges from base nodes
const baseIdSet = new Set(baseIds);
const linkedIds = new Set<string>();
for (const nodeId of baseIds) {
// BFS to collect all nodes reachable via outgoing edges from base nodes (all hops)
const visited = new Set(baseIds);
const queue = [...baseIds];
while (queue.length > 0) {
const nodeId = queue.shift()!;
currentGraph.edges
.filter(e => e.from === nodeId && !baseIdSet.has(e.to))
.forEach(e => linkedIds.add(e.to));
.filter(e => e.from === nodeId && !visited.has(e.to))
.forEach(e => {
visited.add(e.to);
queue.push(e.to);
});
}
const allCutIds = [...baseIds, ...linkedIds];
const allCutIds = [...visited];
const allCutIdSet = new Set(allCutIds);
const cutNodes = currentGraph.nodes.filter(n => allCutIdSet.has(n.id));