fix: ENDPOINT node execution state, badge position, and edge traversal

- Synthesize COMPLETED state for ENDPOINT nodes when overlay is active
  (endpoints are route entry points, not in the processor execution tree)
- Move status badge (check/error) inside the card (top-right, below top bar)
  to avoid collision with ConfigBadge (TRACE/TAP) badges
- Include ENDPOINT nodes in edge traversal check so the edge from
  endpoint to first processor renders as green/traversed

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-27 19:29:30 +01:00
parent f675451384
commit 3d5d462de0
2 changed files with 45 additions and 12 deletions

View File

@@ -129,16 +129,16 @@ export function DiagramNode({
{/* Config badges */}
{config && <ConfigBadge nodeWidth={w} config={config} />}
{/* Execution overlay: status badge at top-right */}
{/* Execution overlay: status badge inside card, top-right corner */}
{isCompleted && (
<>
<circle cx={w - 8} cy={-8} r={8} fill="#3D7C47" />
<circle cx={w - 10} cy={TOP_BAR_HEIGHT + 8} r={6} fill="#3D7C47" />
<text
x={w - 8}
y={-4}
x={w - 10}
y={TOP_BAR_HEIGHT + 11}
textAnchor="middle"
fill="white"
fontSize={11}
fontSize={9}
fontWeight={700}
>
&#x2713;
@@ -147,13 +147,13 @@ export function DiagramNode({
)}
{isFailed && (
<>
<circle cx={w - 8} cy={-8} r={8} fill="#C0392B" />
<circle cx={w - 10} cy={TOP_BAR_HEIGHT + 8} r={6} fill="#C0392B" />
<text
x={w - 8}
y={-4}
x={w - 10}
y={TOP_BAR_HEIGHT + 11}
textAnchor="middle"
fill="white"
fontSize={12}
fontSize={9}
fontWeight={700}
>
!