Fix: only up/down creates new track, diagonals extend the line

↑ ↓ = new track
→ ← ↘ ↗ = extend same line

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
znetsixe
2026-04-08 13:03:07 +02:00
parent c21cb29401
commit 2b78ece00d

View File

@@ -585,7 +585,7 @@ const renderBranchHandles = (nodeGroup, node, allNodes) => {
.attr('font-family', "'VT323', monospace") .attr('font-family', "'VT323', monospace")
.attr('font-size', '12px') .attr('font-size', '12px')
.attr('opacity', 0.5) .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', () => { .on('mouseleave', () => {
handleGroup.selectAll('.ghost-preview').remove() handleGroup.selectAll('.ghost-preview').remove()
@@ -595,7 +595,7 @@ const renderBranchHandles = (nodeGroup, node, allNodes) => {
emit('create-node', { emit('create-node', {
x: targetX, x: targetX,
y: targetY, 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, afterNodeId: node.id,
branchAngle: b.deg, branchAngle: b.deg,
parentNodeId: currentDimensionData.value?.parentNodeId ?? null, parentNodeId: currentDimensionData.value?.parentNodeId ?? null,