From ef479d0557979f6aad97d922ace62144576ccbd8 Mon Sep 17 00:00:00 2001 From: Max Richter Date: Tue, 2 Dec 2025 17:27:23 +0100 Subject: [PATCH] chore: update --- .../graph-interface/components/AddMenu.svelte | 24 ++--- app/src/lib/graph-interface/edges/Edge.svelte | 32 +++---- .../graph-interface/edges/FloatingEdge.svelte | 12 --- .../lib/graph-interface/graph/Graph.svelte | 91 +++++++++++++------ app/src/lib/graph-interface/node/Node.svelte | 19 ++-- 5 files changed, 95 insertions(+), 83 deletions(-) delete mode 100644 app/src/lib/graph-interface/edges/FloatingEdge.svelte diff --git a/app/src/lib/graph-interface/components/AddMenu.svelte b/app/src/lib/graph-interface/components/AddMenu.svelte index 835a6d5..906d731 100644 --- a/app/src/lib/graph-interface/components/AddMenu.svelte +++ b/app/src/lib/graph-interface/components/AddMenu.svelte @@ -4,6 +4,12 @@ import type { Node, NodeType } from "@nodarium/types"; import { getGraphManager, getGraphState } from "../graph/state.svelte"; + type Props = { + onnode: (n: Node) => void; + }; + + const { onnode }: Props = $props(); + const graph = getGraphManager(); const graphState = getGraphState(); @@ -35,24 +41,12 @@ function handleNodeCreation(nodeType: Node["type"]) { if (!graphState.addMenuPosition) return; - - const newNode = graph.createNode({ + onnode?.({ + id: -1, type: nodeType, - position: graphState.addMenuPosition, + position: [...graphState.addMenuPosition], props: {}, }); - - const edgeInputSocket = graphState.activeSocket; - if (edgeInputSocket && newNode) { - if (typeof edgeInputSocket.index === "number") { - graph.smartConnect(edgeInputSocket.node, newNode); - } else { - graph.smartConnect(newNode, edgeInputSocket.node); - } - } - - graphState.activeSocket = null; - graphState.addMenuPosition = null; } function handleKeyDown(event: KeyboardEvent) { diff --git a/app/src/lib/graph-interface/edges/Edge.svelte b/app/src/lib/graph-interface/edges/Edge.svelte index 5c133b9..83c1660 100644 --- a/app/src/lib/graph-interface/edges/Edge.svelte +++ b/app/src/lib/graph-interface/edges/Edge.svelte @@ -34,12 +34,14 @@ import { appSettings } from "$lib/settings/app-settings.svelte"; type Props = { - from: { x: number; y: number }; - to: { x: number; y: number }; + x1: number; + y1: number; + x2: number; + y2: number; z: number; }; - const { from, to, z }: Props = $props(); + const { x1, y1, x2, y2, z }: Props = $props(); const thickness = $derived(Math.max(0.001, 0.00082 * Math.exp(0.055 * z))); @@ -48,10 +50,9 @@ let lastId: string | null = null; function update() { - const new_x = to.x - from.x; - const new_y = to.y - from.y; - const curveId = `${from.x}-${from.y}-${to.x}-${to.y}`; - + const new_x = x2 - x1; + const new_y = y2 - y1; + const curveId = `${x1}-${y1}-${x2}-${y2}`; if (lastId === curveId) { return; } @@ -79,15 +80,15 @@ } $effect(() => { - if (from || to) { + if (x1 || x2 || y1 || y2) { update(); } }); - + diff --git a/app/src/lib/graph-interface/edges/FloatingEdge.svelte b/app/src/lib/graph-interface/edges/FloatingEdge.svelte deleted file mode 100644 index b65baac..0000000 --- a/app/src/lib/graph-interface/edges/FloatingEdge.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/app/src/lib/graph-interface/graph/Graph.svelte b/app/src/lib/graph-interface/graph/Graph.svelte index 743d183..1966644 100644 --- a/app/src/lib/graph-interface/graph/Graph.svelte +++ b/app/src/lib/graph-interface/graph/Graph.svelte @@ -1,5 +1,5 @@