From bf6f632d2772c3da812d5864c401f17e1aa8666a Mon Sep 17 00:00:00 2001 From: Max Richter Date: Thu, 12 Feb 2026 22:27:11 +0100 Subject: [PATCH] feat: add shortcut to quick connect to debug --- .../lib/graph-interface/graph-state.svelte.ts | 23 +++++++++++++++++++ .../lib/graph-interface/graph/mouse.events.ts | 4 ++++ app/src/lib/node-registry/debugNode.ts | 6 ++--- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/app/src/lib/graph-interface/graph-state.svelte.ts b/app/src/lib/graph-interface/graph-state.svelte.ts index 223d741..a62fac5 100644 --- a/app/src/lib/graph-interface/graph-state.svelte.ts +++ b/app/src/lib/graph-interface/graph-state.svelte.ts @@ -160,6 +160,29 @@ export class GraphState { return 1; } + tryConnectToDebugNode(nodeId: number) { + const node = this.graph.nodes.get(nodeId); + if (!node) return; + if (node.type.endsWith('/debug')) return; + if (!node.state.type?.outputs?.length) return; + for (const _node of this.graph.nodes.values()) { + if (_node.type.endsWith('/debug')) { + this.graph.createEdge(node, 0, _node, 'input'); + return; + } + } + + const debugNode = this.graph.createNode({ + type: 'max/plantarium/debug', + position: [node.position[0] + 30, node.position[1]], + props: {} + }); + + if (debugNode) { + this.graph.createEdge(node, 0, debugNode, 'input'); + } + } + copyNodes() { if (this.activeNodeId === -1 && !this.selectedNodes?.size) { return; diff --git a/app/src/lib/graph-interface/graph/mouse.events.ts b/app/src/lib/graph-interface/graph/mouse.events.ts index 184dc65..935c784 100644 --- a/app/src/lib/graph-interface/graph/mouse.events.ts +++ b/app/src/lib/graph-interface/graph/mouse.events.ts @@ -222,6 +222,10 @@ export class MouseEventManager { this.state.boxSelection = true; } + if (event.ctrlKey && event.shiftKey && this.state.activeNodeId !== -1) { + this.state.tryConnectToDebugNode(this.state.activeNodeId); + } + const node = this.graph.getNode(this.state.activeNodeId); if (!node) return; node.state = node.state || {}; diff --git a/app/src/lib/node-registry/debugNode.ts b/app/src/lib/node-registry/debugNode.ts index d03231d..f86fcd5 100644 --- a/app/src/lib/node-registry/debugNode.ts +++ b/app/src/lib/node-registry/debugNode.ts @@ -13,11 +13,9 @@ export function getDebugData() { export const debugNode = { id: 'max/plantarium/debug', inputs: { - a: { + input: { type: '*' } }, - execute(data: Int32Array) { - return data; - } + execute() {} } as const;