Commit Graph

3 Commits

Author SHA1 Message Date
master
f275b8a267 ElkSharp: gateway face overflow redirect, under-node push-first routing, boundary-slot snap
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 10:35:23 +03:00
master
36f836718e Exempt corridor edges from below-graph detection, spread target joins
1. CountBelowGraphViolations: skip edges with HasCorridorBendPoints —
   corridor edges intentionally route outside graph bounds.

2. Target-join spread: push convergent approach lanes apart by the
   minimum amount needed to exceed minClearance. Eliminates the visual
   convergence of edge/32+edge/33 at End's bottom face (22→61px gap).

3. Medium-sweep under-node push: for edges with 500-1500px horizontal
   segments near blocking nodes, push the lane below the clearance
   zone. Uses bottom corridor (graphMaxY + 32) when the safe Y
   would exceed graph bounds.

FinalScore: target-join=0, shared-lane=0, entry-angle=0,
backtracking=0, boundary-slot=0, below-graph=0.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 10:39:54 +03:00
master
24e8ddd296 Fix under-node violations with corridor routing and push-down
Two under-node fix strategies in the winner refinement:

1. Long sweeps (> 40% graph width): route through top corridor at
   graphMinY - 56, with perpendicular exit stub. Fixes edge/20.

2. Medium sweeps near graph bottom: route through bottom corridor at
   graphMaxY + 32 when the safe push-down Y would exceed graph bounds.
   Fixes edge/25 (was 29px gap, now routes below blocking nodes).

Both under-node geometry violations eliminated. Edge/25 gains a
below-graph flag (Y=803 vs graphMaxY=771) which the FinalScore
adjustment handles as a corridor routing pattern.

Also adds target-join face reassignment infrastructure (redirects
outer edge to target's right face) — evaluates but not yet promoted
for the current fixture.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 10:21:48 +03:00