revert: re-apply EIP_CIRCUIT_BREAKER compound rendering
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m2s
CI / docker (push) Successful in 1m1s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 37s

Restores e8039f9. The compound rendering regression was caused by
the agent sending flat nodes without children, not the renderer code.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-29 18:22:43 +02:00
parent 673f0958c5
commit 59ddbb65b9
3 changed files with 149 additions and 3 deletions

View File

@@ -65,8 +65,8 @@ export function CompoundNode({
onNodeClick, onNodeDoubleClick, onNodeEnter, onNodeLeave,
};
// _TRY_BODY: transparent wrapper — no header, no border, just layout
if (node.type === '_TRY_BODY') {
// _TRY_BODY / _CB_MAIN: transparent wrapper — no header, no border, just layout
if (node.type === '_TRY_BODY' || node.type === '_CB_MAIN') {
return (
<g transform={`translate(${x}, ${y})`}>
{renderInternalEdges(internalEdges, absX, absY, executionOverlay)}
@@ -75,6 +75,24 @@ export function CompoundNode({
);
}
// _CB_FALLBACK: section styling with EIP purple
if (node.type === '_CB_FALLBACK') {
const fallbackColor = '#7C3AED'; // EIP purple
return (
<g data-node-id={node.id} transform={`translate(${x}, ${y})`}>
<rect x={0} y={0} width={w} height={h} rx={CORNER_RADIUS}
fill={fallbackColor} fillOpacity={0.06} />
<rect x={0} y={0} width={w} height={h} rx={CORNER_RADIUS}
fill="none" stroke={fallbackColor} strokeWidth={1} strokeOpacity={0.4} strokeDasharray="4 2" />
<text x={8} y={12} fill={fallbackColor} fontSize={10} fontWeight={600}>
fallback
</text>
{renderInternalEdges(internalEdges, absX, absY, executionOverlay)}
{renderChildren(node, absX, absY, childProps)}
</g>
);
}
// DO_CATCH / DO_FINALLY: section-like styling (tinted bg, thin border, label)
if (node.type === 'DO_CATCH' || node.type === 'DO_FINALLY') {
const sectionLabel = node.type === 'DO_CATCH'

View File

@@ -64,6 +64,7 @@ const COMPOUND_TYPES = new Set([
'EIP_LOOP', 'EIP_MULTICAST', 'EIP_AGGREGATE',
'ON_EXCEPTION', 'ERROR_HANDLER',
'ON_COMPLETION',
'EIP_CIRCUIT_BREAKER', '_CB_MAIN', '_CB_FALLBACK',
]);
const ERROR_COMPOUND_TYPES = new Set([