Fix branch semantics: only horizontal extends, vertical + diagonal = new track

→ ← = extend same line (horizontal tracks)
↑ ↓ = new track (parallel line above/below)
↘ ↗ = new track (diagonal fork)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
znetsixe
2026-04-08 12:04:10 +02:00
parent 6fdeb1b5e2
commit c21cb29401

View File

@@ -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, 90, 180, 270].includes(b.deg) ? 'extend' : 'fork'))
.text(occupied ? 'interchange' : ([0, 180].includes(b.deg) ? 'extend' : 'new track'))
})
.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, 90, 180, 270].includes(b.deg) ? node.lineId : null, // cardinal = same line, diagonal = new track
lineId: [0, 180].includes(b.deg) ? node.lineId : null, // horizontal = same line, vertical + diagonal = new track
afterNodeId: node.id,
branchAngle: b.deg,
parentNodeId: currentDimensionData.value?.parentNodeId ?? null,