diff --git a/src/components/Editor.vue b/src/components/Editor.vue index e612a7f..4943fa9 100644 --- a/src/components/Editor.vue +++ b/src/components/Editor.vue @@ -36,6 +36,7 @@ import GlossPanel from "./GlossPanel.vue" import LoopOverlay from "./LoopOverlay.vue" import Palette from "./Palette.vue" import InfoLinkEdge from "./edges/InfoLinkEdge.vue" +import PipeEdge from "./edges/PipeEdge.vue" import CloudNode from "./nodes/CloudNode.vue" import ConverterNode from "./nodes/ConverterNode.vue" import FlowNode from "./nodes/FlowNode.vue" @@ -405,6 +406,9 @@ onBeforeUnmount(() => { + diff --git a/src/components/edges/PipeEdge.vue b/src/components/edges/PipeEdge.vue new file mode 100644 index 0000000..93d1942 --- /dev/null +++ b/src/components/edges/PipeEdge.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/model/projection.ts b/src/model/projection.ts index d39ec1d..0bc10cb 100644 --- a/src/model/projection.ts +++ b/src/model/projection.ts @@ -54,6 +54,7 @@ export function projectEdges(model: Model): FlowGraphEdge[] { // Pipe in: source → valve. No arrowhead — the valve is the visual midpoint. edges.push({ id: `${node.id}::in`, + type: "pipe", source: node.source, sourceHandle: HANDLE_OUT, target: node.id, @@ -64,13 +65,14 @@ export function projectEdges(model: Model): FlowGraphEdge[] { // Pipe out: valve → target. Arrowhead carries the flow direction. edges.push({ id: `${node.id}::out`, + type: "pipe", source: node.id, sourceHandle: HANDLE_OUT, target: node.target, targetHandle: HANDLE_IN, data: { kind: "pipe" }, style: { strokeWidth: "2.5px" }, - markerEnd: "arrowclosed", + markerEnd: "arrow", }) } @@ -86,7 +88,7 @@ export function projectEdges(model: Model): FlowGraphEdge[] { targetHandle: HANDLE_IN, data: { kind: "info", polarity: link.polarity }, style: { strokeDasharray: "5 4" }, - markerEnd: "arrowclosed", + markerEnd: "arrow", }) }