From 2b78ece00d522d099e1102b8aef10b4921c14bc8 Mon Sep 17 00:00:00 2001 From: znetsixe Date: Wed, 8 Apr 2026 13:03:07 +0200 Subject: [PATCH] Fix: only up/down creates new track, diagonals extend the line MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ↑ ↓ = new track → ← ↘ ↗ = extend same line Co-Authored-By: Claude Opus 4.6 (1M context) --- resources/js/Components/MetroMap/MetroCanvas.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/js/Components/MetroMap/MetroCanvas.vue b/resources/js/Components/MetroMap/MetroCanvas.vue index 7c9ed5d..521067b 100644 --- a/resources/js/Components/MetroMap/MetroCanvas.vue +++ b/resources/js/Components/MetroMap/MetroCanvas.vue @@ -585,7 +585,7 @@ const renderBranchHandles = (nodeGroup, node, allNodes) => { .attr('font-family', "'VT323', monospace") .attr('font-size', '12px') .attr('opacity', 0.5) - .text(occupied ? 'interchange' : ([0, 180].includes(b.deg) ? 'extend' : 'new track')) + .text(occupied ? 'interchange' : ([90, 270].includes(b.deg) ? 'new track' : 'extend')) }) .on('mouseleave', () => { handleGroup.selectAll('.ghost-preview').remove() @@ -595,7 +595,7 @@ const renderBranchHandles = (nodeGroup, node, allNodes) => { emit('create-node', { x: targetX, y: targetY, - lineId: [0, 180].includes(b.deg) ? node.lineId : null, // horizontal = same line, vertical + diagonal = new track + lineId: [90, 270].includes(b.deg) ? null : node.lineId, // only up/down = new track, everything else extends afterNodeId: node.id, branchAngle: b.deg, parentNodeId: currentDimensionData.value?.parentNodeId ?? null,