footprint-explainable-ui 0.18.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/fromRuntimeSnapshot.d.ts +33 -4
- package/dist/adapters/fromRuntimeSnapshot.d.ts.map +1 -1
- package/dist/adapters/fromRuntimeSnapshot.js +162 -33
- package/dist/adapters/fromRuntimeSnapshot.js.map +1 -1
- package/dist/components/ExplainableShell/ExplainableShell.d.ts +157 -14
- package/dist/components/ExplainableShell/ExplainableShell.d.ts.map +1 -1
- package/dist/components/ExplainableShell/ExplainableShell.js +676 -68
- package/dist/components/ExplainableShell/ExplainableShell.js.map +1 -1
- package/dist/components/ExplainableShell/index.d.ts +1 -1
- package/dist/components/ExplainableShell/index.d.ts.map +1 -1
- package/dist/components/FlowchartView/SubflowTree.d.ts +7 -14
- package/dist/components/FlowchartView/SubflowTree.d.ts.map +1 -1
- package/dist/components/FlowchartView/SubflowTree.js +56 -46
- package/dist/components/FlowchartView/SubflowTree.js.map +1 -1
- package/dist/components/FlowchartView/index.d.ts +32 -4
- package/dist/components/FlowchartView/index.d.ts.map +1 -1
- package/dist/components/FlowchartView/index.js +22 -2
- package/dist/components/FlowchartView/index.js.map +1 -1
- package/dist/components/FlowchartView/useSubflowNavigation.d.ts +41 -16
- package/dist/components/FlowchartView/useSubflowNavigation.d.ts.map +1 -1
- package/dist/components/FlowchartView/useSubflowNavigation.js +69 -50
- package/dist/components/FlowchartView/useSubflowNavigation.js.map +1 -1
- package/dist/components/GanttTimeline/GanttTimeline.d.ts.map +1 -1
- package/dist/components/GanttTimeline/GanttTimeline.js +5 -5
- package/dist/components/GanttTimeline/GanttTimeline.js.map +1 -1
- package/dist/components/MemoryInspector/MemoryInspector.d.ts.map +1 -1
- package/dist/components/MemoryInspector/MemoryInspector.js +36 -13
- package/dist/components/MemoryInspector/MemoryInspector.js.map +1 -1
- package/dist/components/NarrativeTrace/NarrativeTrace.d.ts.map +1 -1
- package/dist/components/NarrativeTrace/NarrativeTrace.js +24 -17
- package/dist/components/NarrativeTrace/NarrativeTrace.js.map +1 -1
- package/dist/components/ScopeDiff/ScopeDiff.js +3 -3
- package/dist/components/ScopeDiff/ScopeDiff.js.map +1 -1
- package/dist/components/StageNode/StageNode.d.ts +21 -0
- package/dist/components/StageNode/StageNode.d.ts.map +1 -1
- package/dist/components/StageNode/StageNode.js +189 -9
- package/dist/components/StageNode/StageNode.js.map +1 -1
- package/dist/components/TimeTravelControls/TimeTravelControls.d.ts.map +1 -1
- package/dist/components/TimeTravelControls/TimeTravelControls.js +19 -3
- package/dist/components/TimeTravelControls/TimeTravelControls.js.map +1 -1
- package/dist/components/TimeTravelDebugger/TimeTravelDebugger.d.ts +19 -8
- package/dist/components/TimeTravelDebugger/TimeTravelDebugger.d.ts.map +1 -1
- package/dist/components/TimeTravelDebugger/TimeTravelDebugger.js +23 -8
- package/dist/components/TimeTravelDebugger/TimeTravelDebugger.js.map +1 -1
- package/dist/flowchart.cjs +3485 -1340
- package/dist/flowchart.cjs.map +1 -1
- package/dist/flowchart.d.cts +1616 -177
- package/dist/flowchart.d.ts +1616 -177
- package/dist/flowchart.d.ts.map +1 -1
- package/dist/flowchart.js +3507 -1384
- package/dist/flowchart.js.map +1 -1
- package/dist/index.cjs +749 -557
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +276 -29
- package/dist/index.d.ts +276 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +742 -547
- package/dist/index.js.map +1 -1
- package/dist/theme/ThemeProvider.d.ts +14 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/ThemeProvider.js +15 -1
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/index.d.ts +4 -2
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +3 -2
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/presets.d.ts +3 -0
- package/dist/theme/presets.d.ts.map +1 -1
- package/dist/theme/presets.js +22 -0
- package/dist/theme/presets.js.map +1 -1
- package/dist/theme/tokens.d.ts +22 -1
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +23 -2
- package/dist/theme/tokens.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/components/FlowchartView/FlowchartView.d.ts +0 -20
- package/dist/components/FlowchartView/FlowchartView.d.ts.map +0 -1
- package/dist/components/FlowchartView/FlowchartView.js +0 -80
- package/dist/components/FlowchartView/FlowchartView.js.map +0 -1
- package/dist/components/FlowchartView/TracedFlowchartView.d.ts +0 -20
- package/dist/components/FlowchartView/TracedFlowchartView.d.ts.map +0 -1
- package/dist/components/FlowchartView/TracedFlowchartView.js +0 -101
- package/dist/components/FlowchartView/TracedFlowchartView.js.map +0 -1
- package/dist/components/FlowchartView/specToReactFlow.d.ts +0 -56
- package/dist/components/FlowchartView/specToReactFlow.d.ts.map +0 -1
- package/dist/components/FlowchartView/specToReactFlow.js +0 -202
- package/dist/components/FlowchartView/specToReactFlow.js.map +0 -1
|
@@ -1,14 +1,130 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from "react";
|
|
2
|
+
import { memo, useEffect, useRef } from "react";
|
|
3
3
|
import { Handle, Position } from "@xyflow/react";
|
|
4
4
|
import { theme } from "../../theme";
|
|
5
|
+
const KEYFRAMES_ID = "fp-stage-node-keyframes";
|
|
6
|
+
const KEYFRAMES_CSS = `
|
|
7
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
8
|
+
@keyframes fp-pulse {
|
|
9
|
+
0%, 100% { opacity: 0.4; transform: scale(1); }
|
|
10
|
+
50% { opacity: 0.15; transform: scale(1.06); }
|
|
11
|
+
}
|
|
12
|
+
@keyframes fp-blink {
|
|
13
|
+
0%, 100% { opacity: 1; }
|
|
14
|
+
50% { opacity: 0.3; }
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
@media (prefers-reduced-motion: reduce) {
|
|
18
|
+
@keyframes fp-pulse { 0%, 100% { opacity: 0.3; } }
|
|
19
|
+
@keyframes fp-blink { 0%, 100% { opacity: 1; } }
|
|
20
|
+
}
|
|
21
|
+
`;
|
|
22
|
+
// ── Stage icon SVGs ───────────────────────────────────────────────────────
|
|
23
|
+
// Inline SVGs for crisp rendering at any size. Consumers pass a string key
|
|
24
|
+
// via SpecNode.icon; StageNode renders the matching mini-icon.
|
|
25
|
+
const ICON_SIZE = 16;
|
|
26
|
+
function StageIcon({ type, color }) {
|
|
27
|
+
const s = ICON_SIZE;
|
|
28
|
+
const props = { width: s, height: s, viewBox: `0 0 ${s} ${s}`, fill: "none", style: { flexShrink: 0 } };
|
|
29
|
+
switch (type) {
|
|
30
|
+
// LLM / AI call — brain/sparkle
|
|
31
|
+
case "llm":
|
|
32
|
+
case "ai":
|
|
33
|
+
return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "8", cy: "8", r: "6", stroke: color, strokeWidth: "1.5" }), _jsx("path", { d: "M5.5 8C5.5 6.5 6.5 5 8 5S10.5 6.5 10.5 8", stroke: color, strokeWidth: "1.2", strokeLinecap: "round" }), _jsx("circle", { cx: "8", cy: "9.5", r: "1", fill: color }), _jsx("line", { x1: "8", y1: "2", x2: "8", y2: "3.5", stroke: color, strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "12.5", y1: "4", x2: "11.2", y2: "5", stroke: color, strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "3.5", y1: "4", x2: "4.8", y2: "5", stroke: color, strokeWidth: "1", strokeLinecap: "round" })] }));
|
|
34
|
+
// Tool / function call — gear
|
|
35
|
+
case "tool":
|
|
36
|
+
case "function":
|
|
37
|
+
return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "8", cy: "8", r: "3", stroke: color, strokeWidth: "1.5" }), [0, 45, 90, 135, 180, 225, 270, 315].map((angle) => {
|
|
38
|
+
const rad = (angle * Math.PI) / 180;
|
|
39
|
+
const x1 = 8 + Math.cos(rad) * 4.5;
|
|
40
|
+
const y1 = 8 + Math.sin(rad) * 4.5;
|
|
41
|
+
const x2 = 8 + Math.cos(rad) * 6;
|
|
42
|
+
const y2 = 8 + Math.sin(rad) * 6;
|
|
43
|
+
return _jsx("line", { x1: x1, y1: y1, x2: x2, y2: y2, stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }, angle);
|
|
44
|
+
})] }));
|
|
45
|
+
// RAG / retrieval — magnifying glass + doc
|
|
46
|
+
case "rag":
|
|
47
|
+
case "search":
|
|
48
|
+
case "retrieval":
|
|
49
|
+
return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "7", cy: "7", r: "4", stroke: color, strokeWidth: "1.5" }), _jsx("line", { x1: "10", y1: "10", x2: "13.5", y2: "13.5", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "5.5", y1: "6", x2: "8.5", y2: "6", stroke: color, strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "5.5", y1: "8", x2: "7.5", y2: "8", stroke: color, strokeWidth: "1", strokeLinecap: "round" })] }));
|
|
50
|
+
// Parse / process — diamond with arrows
|
|
51
|
+
case "parse":
|
|
52
|
+
case "process":
|
|
53
|
+
case "transform":
|
|
54
|
+
return (_jsx("svg", { ...props, children: _jsx("rect", { x: "4", y: "4", width: "8", height: "8", rx: "1.5", stroke: color, strokeWidth: "1.5", transform: "rotate(45 8 8)" }) }));
|
|
55
|
+
// Start / seed — play triangle
|
|
56
|
+
case "start":
|
|
57
|
+
case "seed":
|
|
58
|
+
case "init":
|
|
59
|
+
return (_jsx("svg", { ...props, children: _jsx("path", { d: "M5 3.5L12.5 8L5 12.5V3.5Z", fill: color, opacity: "0.8" }) }));
|
|
60
|
+
// End / finalize — stop square
|
|
61
|
+
case "end":
|
|
62
|
+
case "finalize":
|
|
63
|
+
case "output":
|
|
64
|
+
return (_jsx("svg", { ...props, children: _jsx("rect", { x: "4", y: "4", width: "8", height: "8", rx: "1.5", fill: color, opacity: "0.8" }) }));
|
|
65
|
+
// Agent — person silhouette
|
|
66
|
+
case "agent":
|
|
67
|
+
case "orchestrator":
|
|
68
|
+
return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "8", cy: "5", r: "2.5", stroke: color, strokeWidth: "1.5" }), _jsx("path", { d: "M3.5 14C3.5 11 5.5 9 8 9S12.5 11 12.5 14", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" })] }));
|
|
69
|
+
// Swarm — multi-agent
|
|
70
|
+
case "swarm":
|
|
71
|
+
case "multi-agent":
|
|
72
|
+
return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "5", cy: "5", r: "2", stroke: color, strokeWidth: "1.2" }), _jsx("circle", { cx: "11", cy: "5", r: "2", stroke: color, strokeWidth: "1.2" }), _jsx("circle", { cx: "8", cy: "11", r: "2", stroke: color, strokeWidth: "1.2" }), _jsx("line", { x1: "5", y1: "7", x2: "8", y2: "9", stroke: color, strokeWidth: "1", opacity: "0.5" }), _jsx("line", { x1: "11", y1: "7", x2: "8", y2: "9", stroke: color, strokeWidth: "1", opacity: "0.5" })] }));
|
|
73
|
+
// Guard / guardrail — shield
|
|
74
|
+
case "guard":
|
|
75
|
+
case "guardrail":
|
|
76
|
+
case "validate":
|
|
77
|
+
return (_jsxs("svg", { ...props, children: [_jsx("path", { d: "M8 2L3 5V9C3 11.5 5 13.5 8 14.5C11 13.5 13 11.5 13 9V5L8 2Z", stroke: color, strokeWidth: "1.5", strokeLinejoin: "round" }), _jsx("path", { d: "M6 8L7.5 9.5L10 6.5", stroke: color, strokeWidth: "1.2", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
78
|
+
// Stream — wave
|
|
79
|
+
case "stream":
|
|
80
|
+
case "streaming":
|
|
81
|
+
return (_jsxs("svg", { ...props, children: [_jsx("path", { d: "M2 8C4 5 6 11 8 8S12 5 14 8", stroke: color, strokeWidth: "1.5", strokeLinecap: "round", fill: "none" }), _jsx("path", { d: "M2 11C4 8 6 14 8 11S12 8 14 11", stroke: color, strokeWidth: "1", strokeLinecap: "round", fill: "none", opacity: "0.5" })] }));
|
|
82
|
+
// Memory / state — database cylinder
|
|
83
|
+
case "memory":
|
|
84
|
+
case "state":
|
|
85
|
+
case "db":
|
|
86
|
+
return (_jsxs("svg", { ...props, children: [_jsx("ellipse", { cx: "8", cy: "4.5", rx: "5", ry: "2", stroke: color, strokeWidth: "1.3" }), _jsx("line", { x1: "3", y1: "4.5", x2: "3", y2: "11.5", stroke: color, strokeWidth: "1.3" }), _jsx("line", { x1: "13", y1: "4.5", x2: "13", y2: "11.5", stroke: color, strokeWidth: "1.3" }), _jsx("ellipse", { cx: "8", cy: "11.5", rx: "5", ry: "2", stroke: color, strokeWidth: "1.3" })] }));
|
|
87
|
+
// Loop — circular arrow
|
|
88
|
+
case "loop":
|
|
89
|
+
case "retry":
|
|
90
|
+
return (_jsxs("svg", { ...props, children: [_jsx("path", { d: "M12 8A4 4 0 1 1 8 4", stroke: color, strokeWidth: "1.5", strokeLinecap: "round", fill: "none" }), _jsx("path", { d: "M8 1.5L10.5 4L8 6.5", stroke: color, strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })] }));
|
|
91
|
+
// Lazy / service — cloud (deferred resolution, loaded on demand)
|
|
92
|
+
case "lazy":
|
|
93
|
+
case "service":
|
|
94
|
+
case "cloud":
|
|
95
|
+
return (_jsx("svg", { ...props, children: _jsx("path", { d: "M4.5 12C2.8 12 1.5 10.7 1.5 9C1.5 7.5 2.5 6.3 3.8 6C4 4 5.8 2.5 8 2.5C9.8 2.5 11.3 3.5 11.9 5C13.9 5.2 15.5 6.8 15.5 8.8C15.5 10.8 13.9 12.5 11.8 12.5H4.5", stroke: color, strokeWidth: "1.3", strokeLinecap: "round", fill: "none" }) }));
|
|
96
|
+
// Decision — diamond (already handled by isDecider shape)
|
|
97
|
+
case "decision":
|
|
98
|
+
case "router":
|
|
99
|
+
return (_jsxs("svg", { ...props, children: [_jsx("path", { d: "M8 2L14 8L8 14L2 8Z", stroke: color, strokeWidth: "1.5", fill: "none" }), _jsx("circle", { cx: "8", cy: "8", r: "1.5", fill: color })] }));
|
|
100
|
+
default:
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
5
104
|
/**
|
|
6
105
|
* Custom ReactFlow node for pipeline stages.
|
|
7
106
|
* All colors and fonts come from `--fp-*` CSS variables (via theme).
|
|
8
107
|
* Shows execution state via color, icon, step badge, and pulse animation.
|
|
9
108
|
*/
|
|
10
109
|
export const StageNode = memo(function StageNode({ data, }) {
|
|
11
|
-
const { label, active, done, error, linked, stepNumbers, dimmed, isSubflow, description } = data;
|
|
110
|
+
const { label, active, done, error, linked, icon, stepNumbers, dimmed, isSubflow, isLazy, isDecider, isFork, description, stageId, showStageId } = data;
|
|
111
|
+
// Lazy nodes show cloud icon by default (unless another icon is specified)
|
|
112
|
+
const effectiveIcon = icon || (isLazy ? "lazy" : undefined);
|
|
113
|
+
// Lazy + unresolved = dashed border
|
|
114
|
+
const isLazyUnresolved = isLazy && !done && !active;
|
|
115
|
+
// Inject keyframes once into document head
|
|
116
|
+
const injectedRef = useRef(false);
|
|
117
|
+
useEffect(() => {
|
|
118
|
+
if (injectedRef.current)
|
|
119
|
+
return;
|
|
120
|
+
if (typeof document !== "undefined" && !document.getElementById(KEYFRAMES_ID)) {
|
|
121
|
+
const styleEl = document.createElement("style");
|
|
122
|
+
styleEl.id = KEYFRAMES_ID;
|
|
123
|
+
styleEl.textContent = KEYFRAMES_CSS;
|
|
124
|
+
document.head.appendChild(styleEl);
|
|
125
|
+
}
|
|
126
|
+
injectedRef.current = true;
|
|
127
|
+
}, []);
|
|
12
128
|
const isOnPath = active || done;
|
|
13
129
|
const bg = active
|
|
14
130
|
? theme.primary
|
|
@@ -67,20 +183,75 @@ export const StageNode = memo(function StageNode({ data, }) {
|
|
|
67
183
|
}) })), linked && (_jsx("div", { style: {
|
|
68
184
|
position: "absolute",
|
|
69
185
|
inset: -6,
|
|
70
|
-
borderRadius: `calc(${theme.radius} + 4px)`,
|
|
186
|
+
borderRadius: isDecider ? 0 : `calc(${theme.radius} + 4px)`,
|
|
187
|
+
clipPath: isDecider ? "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)" : undefined,
|
|
71
188
|
border: `2px solid ${theme.primary}`,
|
|
72
189
|
opacity: 0.4,
|
|
73
190
|
animation: "fp-pulse 2s ease-in-out infinite",
|
|
74
191
|
} })), active && (_jsx("div", { style: {
|
|
75
192
|
position: "absolute",
|
|
76
193
|
inset: -6,
|
|
77
|
-
borderRadius: `calc(${theme.radius} + 4px)`,
|
|
194
|
+
borderRadius: isDecider ? 0 : `calc(${theme.radius} + 4px)`,
|
|
195
|
+
clipPath: isDecider ? "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)" : undefined,
|
|
78
196
|
border: `2px solid ${theme.primary}`,
|
|
79
197
|
opacity: 0.3,
|
|
80
198
|
animation: "fp-pulse 1.5s ease-out infinite",
|
|
81
|
-
} })), _jsxs("div", { style: {
|
|
199
|
+
} })), isDecider ? (_jsxs("div", { style: { position: "relative", width: 120, height: 72 }, children: [_jsx("div", { style: {
|
|
200
|
+
position: "absolute",
|
|
201
|
+
inset: 0,
|
|
202
|
+
background: bg,
|
|
203
|
+
clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",
|
|
204
|
+
border: "none",
|
|
205
|
+
boxShadow: shadow,
|
|
206
|
+
transition: "all 0.3s ease",
|
|
207
|
+
} }), _jsx("div", { style: {
|
|
208
|
+
position: "absolute",
|
|
209
|
+
inset: -2,
|
|
210
|
+
clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",
|
|
211
|
+
background: borderColor,
|
|
212
|
+
zIndex: -1,
|
|
213
|
+
...(isLazyUnresolved ? {
|
|
214
|
+
background: "transparent",
|
|
215
|
+
// Dashed border via SVG for clip-path (CSS border doesn't work with clip-path)
|
|
216
|
+
} : {}),
|
|
217
|
+
} }), _jsxs("div", { style: {
|
|
218
|
+
position: "absolute",
|
|
219
|
+
inset: 0,
|
|
220
|
+
display: "flex",
|
|
221
|
+
flexDirection: "column",
|
|
222
|
+
alignItems: "center",
|
|
223
|
+
justifyContent: "center",
|
|
224
|
+
gap: 1,
|
|
225
|
+
fontFamily: theme.fontSans,
|
|
226
|
+
zIndex: 1,
|
|
227
|
+
}, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 4 }, children: [effectiveIcon && _jsx(StageIcon, { type: effectiveIcon, color: textColor }), !effectiveIcon && (_jsx("span", { style: { fontSize: 9, color: textColor }, children: "\u25C7" })), _jsx("span", { style: {
|
|
228
|
+
fontSize: 11,
|
|
229
|
+
fontWeight: 600,
|
|
230
|
+
color: textColor,
|
|
231
|
+
whiteSpace: "nowrap",
|
|
232
|
+
}, children: label })] }), description && (_jsx("span", { style: {
|
|
233
|
+
fontSize: 8,
|
|
234
|
+
fontWeight: 400,
|
|
235
|
+
color: textColor,
|
|
236
|
+
opacity: 0.7,
|
|
237
|
+
whiteSpace: "nowrap",
|
|
238
|
+
overflow: "hidden",
|
|
239
|
+
textOverflow: "ellipsis",
|
|
240
|
+
maxWidth: 100,
|
|
241
|
+
}, children: description })), showStageId && stageId && (_jsx("span", { style: {
|
|
242
|
+
fontSize: 8,
|
|
243
|
+
fontFamily: "ui-monospace, monospace",
|
|
244
|
+
color: textColor,
|
|
245
|
+
opacity: 0.55,
|
|
246
|
+
whiteSpace: "nowrap",
|
|
247
|
+
overflow: "hidden",
|
|
248
|
+
textOverflow: "ellipsis",
|
|
249
|
+
maxWidth: 100,
|
|
250
|
+
}, title: `stageId: ${stageId}`, children: stageId }))] })] })) : (
|
|
251
|
+
/* Standard rectangular node */
|
|
252
|
+
_jsxs("div", { style: {
|
|
82
253
|
background: bg,
|
|
83
|
-
border: `2px solid ${borderColor}`,
|
|
254
|
+
border: `2px ${isLazyUnresolved ? "dashed" : "solid"} ${borderColor}`,
|
|
84
255
|
borderRadius: theme.radius,
|
|
85
256
|
padding: description ? "8px 16px" : "10px 20px",
|
|
86
257
|
display: "flex",
|
|
@@ -92,14 +263,14 @@ export const StageNode = memo(function StageNode({ data, }) {
|
|
|
92
263
|
fontFamily: theme.fontSans,
|
|
93
264
|
minWidth: 100,
|
|
94
265
|
justifyContent: "center",
|
|
95
|
-
}, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [done && (_jsx("span", { style: { fontSize: 10, color: textColor }, children: "\u2713" })), active && (_jsx("span", { style: {
|
|
266
|
+
}, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [effectiveIcon && _jsx(StageIcon, { type: effectiveIcon, color: textColor }), done && !effectiveIcon && (_jsx("span", { style: { fontSize: 10, color: textColor }, children: "\u2713" })), active && !effectiveIcon && (_jsx("span", { style: {
|
|
96
267
|
width: 8,
|
|
97
268
|
height: 8,
|
|
98
269
|
borderRadius: "50%",
|
|
99
270
|
background: "#fff",
|
|
100
271
|
animation: "fp-blink 1s ease-in-out infinite",
|
|
101
272
|
flexShrink: 0,
|
|
102
|
-
} })), error && (_jsx("span", { style: { fontSize: 10, color: textColor }, children: "\u2717" })), _jsx("span", { style: {
|
|
273
|
+
} })), error && !effectiveIcon && (_jsx("span", { style: { fontSize: 10, color: textColor }, children: "\u2717" })), _jsx("span", { style: {
|
|
103
274
|
fontSize: 13,
|
|
104
275
|
fontWeight: 500,
|
|
105
276
|
color: textColor,
|
|
@@ -129,6 +300,15 @@ export const StageNode = memo(function StageNode({ data, }) {
|
|
|
129
300
|
overflow: "hidden",
|
|
130
301
|
textOverflow: "ellipsis",
|
|
131
302
|
maxWidth: 160,
|
|
132
|
-
}, children: description }))
|
|
303
|
+
}, children: description })), showStageId && stageId && (_jsx("span", { style: {
|
|
304
|
+
fontSize: 9,
|
|
305
|
+
fontFamily: "ui-monospace, monospace",
|
|
306
|
+
color: textColor,
|
|
307
|
+
opacity: 0.55,
|
|
308
|
+
whiteSpace: "nowrap",
|
|
309
|
+
overflow: "hidden",
|
|
310
|
+
textOverflow: "ellipsis",
|
|
311
|
+
maxWidth: 160,
|
|
312
|
+
}, title: `stageId: ${stageId}`, children: stageId }))] }))] }), _jsx(Handle, { type: "source", position: Position.Bottom, style: { opacity: 0 } }), _jsx(Handle, { id: "loop-source", type: "source", position: Position.Bottom, style: { background: "transparent", border: "none", width: 6, height: 6, left: "75%" } }), _jsx(Handle, { id: "loop-target", type: "target", position: Position.Right, style: { background: "transparent", border: "none", width: 6, height: 6 } })] }));
|
|
133
313
|
});
|
|
134
314
|
//# sourceMappingURL=StageNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageNode.js","sourceRoot":"","sources":["../../../src/components/StageNode/StageNode.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StageNode.js","sourceRoot":"","sources":["../../../src/components/StageNode/StageNode.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeTravelControls.d.ts","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/TimeTravelControls.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGrE,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,sBAAsB;IACtB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sDAAsD;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,aAAa,EACb,aAAa,EACb,YAAmB,EACnB,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"TimeTravelControls.d.ts","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/TimeTravelControls.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGrE,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,sBAAsB;IACtB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sDAAsD;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,aAAa,EACb,aAAa,EACb,YAAmB,EACnB,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,uBAAuB,2CA0NzB"}
|
|
@@ -38,9 +38,25 @@ export function TimeTravelControls({ snapshots, selectedIndex, onIndexChange, au
|
|
|
38
38
|
setPlaying(true);
|
|
39
39
|
}
|
|
40
40
|
}, [playing, selectedIndex, total, onIndexChange]);
|
|
41
|
+
const handleKeyDown = useCallback((e) => {
|
|
42
|
+
if (e.key === "ArrowLeft" && canPrev && !playing) {
|
|
43
|
+
e.preventDefault();
|
|
44
|
+
setPlaying(false);
|
|
45
|
+
onIndexChange(selectedIndex - 1);
|
|
46
|
+
}
|
|
47
|
+
else if (e.key === "ArrowRight" && canNext && !playing) {
|
|
48
|
+
e.preventDefault();
|
|
49
|
+
setPlaying(false);
|
|
50
|
+
onIndexChange(selectedIndex + 1);
|
|
51
|
+
}
|
|
52
|
+
else if (e.key === " " && autoPlayable) {
|
|
53
|
+
e.preventDefault();
|
|
54
|
+
togglePlay();
|
|
55
|
+
}
|
|
56
|
+
}, [canPrev, canNext, playing, selectedIndex, onIndexChange, autoPlayable, togglePlay]);
|
|
41
57
|
const fs = fontSize[size];
|
|
42
58
|
if (unstyled) {
|
|
43
|
-
return (_jsxs("div", { className: className, style: style, "data-fp": "time-travel-controls", children: [_jsx("button", { "data-fp": "tt-prev", disabled: !canPrev || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex - 1); }, children: "Prev" }), autoPlayable && (_jsx("button", { "data-fp": "tt-play", onClick: togglePlay, children: playing ? "Pause" : "Play" })), _jsx("button", { "data-fp": "tt-next", disabled: !canNext || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex + 1); }, children: "Next" }), _jsx("div", { "data-fp": "tt-ticks", children: snapshots.map((snap, i) => (_jsx("button", { "data-fp": "tt-tick", "data-active": i === selectedIndex, "data-done": i < selectedIndex, onClick: () => { setPlaying(false); onIndexChange(i); }, title: snap.stageLabel }, i))) })] }));
|
|
59
|
+
return (_jsxs("div", { className: className, style: style, "data-fp": "time-travel-controls", role: "toolbar", "aria-label": "Time travel controls", tabIndex: 0, onKeyDown: handleKeyDown, children: [_jsx("button", { "data-fp": "tt-prev", disabled: !canPrev || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex - 1); }, "aria-label": "Previous stage", children: "Prev" }), autoPlayable && (_jsx("button", { "data-fp": "tt-play", onClick: togglePlay, "aria-label": playing ? "Pause" : "Play", children: playing ? "Pause" : "Play" })), _jsx("button", { "data-fp": "tt-next", disabled: !canNext || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex + 1); }, "aria-label": "Next stage", children: "Next" }), _jsx("div", { "data-fp": "tt-ticks", children: snapshots.map((snap, i) => (_jsx("button", { "data-fp": "tt-tick", "data-active": i === selectedIndex, "data-done": i < selectedIndex, onClick: () => { setPlaying(false); onIndexChange(i); }, title: snap.stageLabel }, i))) })] }));
|
|
44
60
|
}
|
|
45
61
|
const btnStyle = (disabled) => ({
|
|
46
62
|
background: theme.bgTertiary,
|
|
@@ -63,7 +79,7 @@ export function TimeTravelControls({ snapshots, selectedIndex, onIndexChange, au
|
|
|
63
79
|
gap: 6,
|
|
64
80
|
flexShrink: 0,
|
|
65
81
|
...style,
|
|
66
|
-
}, "data-fp": "time-travel-controls", children: [_jsx("button", { style: btnStyle(!canPrev || playing), disabled: !canPrev || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex - 1); }, children: "\u25C0" }), autoPlayable && (_jsx("button", { onClick: togglePlay, style: {
|
|
82
|
+
}, "data-fp": "time-travel-controls", role: "toolbar", "aria-label": "Time travel controls", tabIndex: 0, onKeyDown: handleKeyDown, children: [_jsx("button", { style: btnStyle(!canPrev || playing), disabled: !canPrev || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex - 1); }, "aria-label": "Previous stage", children: "\u25C0" }), autoPlayable && (_jsx("button", { onClick: togglePlay, style: {
|
|
67
83
|
background: playing ? theme.primary : theme.bgTertiary,
|
|
68
84
|
border: `1px solid ${theme.border}`,
|
|
69
85
|
color: playing ? "white" : theme.textPrimary,
|
|
@@ -76,7 +92,7 @@ export function TimeTravelControls({ snapshots, selectedIndex, onIndexChange, au
|
|
|
76
92
|
cursor: "pointer",
|
|
77
93
|
fontSize: 14,
|
|
78
94
|
flexShrink: 0,
|
|
79
|
-
}, title: playing ? "Pause" : "Play", children: playing ? "\u23F8" : "\u25B6" })), _jsx("button", { style: btnStyle(!canNext || playing), disabled: !canNext || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex + 1); }, children: "\u25B6" }), _jsx("div", { style: {
|
|
95
|
+
}, title: playing ? "Pause" : "Play", "aria-label": playing ? "Pause" : "Play", children: playing ? "\u23F8" : "\u25B6" })), _jsx("button", { style: btnStyle(!canNext || playing), disabled: !canNext || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex + 1); }, "aria-label": "Next stage", children: "\u25B6" }), _jsx("div", { style: {
|
|
80
96
|
flex: 1,
|
|
81
97
|
display: "flex",
|
|
82
98
|
alignItems: "center",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeTravelControls.js","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/TimeTravelControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAa9C,MAAM,UAAU,kBAAkB,CAAC,EACjC,SAAS,EACT,aAAa,EACb,aAAa,EACb,YAAY,GAAG,IAAI,EACnB,IAAI,GAAG,SAAS,EAChB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,KAAK,GACmB;IACxB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC;IAE1C,wCAAwC;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY;YAAE,OAAO;QACtC,IAAI,aAAa,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC/B,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAE/D,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,CAAC,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,aAAa,IAAI,KAAK,GAAG,CAAC;gBAAE,aAAa,CAAC,CAAC,CAAC,CAAC;YACjD,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAEnD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE1B,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"TimeTravelControls.js","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/TimeTravelControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAa9C,MAAM,UAAU,kBAAkB,CAAC,EACjC,SAAS,EACT,aAAa,EACb,aAAa,EACb,YAAY,GAAG,IAAI,EACnB,IAAI,GAAG,SAAS,EAChB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,KAAK,GACmB;IACxB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,aAAa,GAAG,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC;IAE1C,wCAAwC;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY;YAAE,OAAO;QACtC,IAAI,aAAa,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC/B,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,IAAI,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAE/D,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,CAAC,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,aAAa,IAAI,KAAK,GAAG,CAAC;gBAAE,aAAa,CAAC,CAAC,CAAC,CAAC;YACjD,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,CAAsB,EAAE,EAAE;QACzB,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACjD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACzD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;YACzC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,CACpF,CAAC;IAEF,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE1B,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,aACJ,sBAAsB,EAC9B,IAAI,EAAC,SAAS,gBACH,sBAAsB,EACjC,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,aAAa,aAExB,4BACU,SAAS,EACjB,QAAQ,EAAE,CAAC,OAAO,IAAI,OAAO,EAC7B,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAC5D,gBAAgB,qBAGpB,EACR,YAAY,IAAI,CACf,4BAAgB,SAAS,EAAC,OAAO,EAAE,UAAU,gBAAc,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAClF,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GACpB,CACV,EACD,4BACU,SAAS,EACjB,QAAQ,EAAE,CAAC,OAAO,IAAI,OAAO,EAC7B,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAC5D,YAAY,qBAGhB,EACT,yBAAa,UAAU,YACpB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,4BAEU,SAAS,iBACJ,CAAC,KAAK,aAAa,eACrB,CAAC,GAAG,aAAa,EAC5B,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,KAAK,EAAE,IAAI,CAAC,UAAU,IALjB,CAAC,CAMN,CACH,CAAC,GACE,IACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,QAAiB,EAAuB,EAAE,CAAC,CAAC;QAC5D,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,EAAE;QACnC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW;QACrD,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,EAAE,CAAC,IAAI;QACjB,UAAU,EAAE,GAAG;QACf,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QAC5C,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3B,UAAU,EAAE,CAAC;KACd,CAAC,CAAC;IAEH,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,KAAK,CAAC,WAAW;YAC7B,YAAY,EAAE,aAAa,KAAK,CAAC,MAAM,EAAE;YACzC,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,UAAU,EAAE,CAAC;YACb,GAAG,KAAK;SACT,aACO,sBAAsB,EAC9B,IAAI,EAAC,SAAS,gBACH,sBAAsB,EACjC,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,aAAa,aAExB,iBACE,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,EACpC,QAAQ,EAAE,CAAC,OAAO,IAAI,OAAO,EAC7B,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAC5D,gBAAgB,uBAGpB,EAER,YAAY,IAAI,CACf,iBACE,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE;oBACL,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU;oBACtD,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,EAAE;oBACnC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW;oBAC5C,YAAY,EAAE,KAAK;oBACnB,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,MAAM,EAAE,SAAS;oBACjB,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,CAAC;iBACd,EACD,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,gBACrB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAErC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GACvB,CACV,EAED,iBACE,KAAK,EAAE,QAAQ,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,EACpC,QAAQ,EAAE,CAAC,OAAO,IAAI,OAAO,EAC7B,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAC5D,YAAY,uBAGhB,EAGT,cACE,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,OAAO;iBACjB,YAEA,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBACzB,MAAM,QAAQ,GAAG,CAAC,KAAK,aAAa,CAAC;oBACrC,MAAM,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC;oBACjC,OAAO,CACL,iBAEE,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC;4BACP,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BACzB,YAAY,EAAE,CAAC;4BACf,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,SAAS;4BACjB,UAAU,EAAE,QAAQ;gCAClB,CAAC,CAAC,KAAK,CAAC,OAAO;gCACf,CAAC,CAAC,MAAM;oCACN,CAAC,CAAC,KAAK,CAAC,OAAO;oCACf,CAAC,CAAC,KAAK,CAAC,UAAU;4BACtB,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;4BACrC,UAAU,EAAE,gBAAgB;yBAC7B,IAhBI,CAAC,CAiBN,CACH,CAAC;gBACJ,CAAC,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import type { Node, Edge } from "@xyflow/react";
|
|
2
1
|
import type { StageSnapshot, BaseComponentProps } from "../../types";
|
|
2
|
+
import type { TraceGraph } from "../FlowchartView/traceStructureRecorder";
|
|
3
|
+
import type { RuntimeOverlay } from "../FlowchartView/createTraceRuntimeOverlay";
|
|
3
4
|
export interface TimeTravelDebuggerProps extends BaseComponentProps {
|
|
4
5
|
/** Stage snapshots */
|
|
5
6
|
snapshots: StageSnapshot[];
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
/** Recorder-captured build-time graph (from
|
|
8
|
+
* `createTraceStructureRecorder().getGraph()`). Required for the
|
|
9
|
+
* chart rendering — replaces the legacy `nodes` / `edges` props. */
|
|
10
|
+
graph: TraceGraph;
|
|
11
|
+
/** Optional runtime overlay (from
|
|
12
|
+
* `createTraceRuntimeOverlay().getOverlay()`). When provided, the
|
|
13
|
+
* chart renders via `<TracedFlow>` with per-step coloring synced to
|
|
14
|
+
* the scrubber; otherwise renders via `<TraceFlow>` (build-time only). */
|
|
15
|
+
runtimeOverlay?: RuntimeOverlay;
|
|
10
16
|
/** Show Gantt timeline */
|
|
11
17
|
showGantt?: boolean;
|
|
12
18
|
/** Layout direction */
|
|
@@ -15,8 +21,13 @@ export interface TimeTravelDebuggerProps extends BaseComponentProps {
|
|
|
15
21
|
title?: string;
|
|
16
22
|
}
|
|
17
23
|
/**
|
|
18
|
-
* Full time-travel debugger: scrubber + flowchart +
|
|
19
|
-
* This is the "batteries included"
|
|
24
|
+
* Full time-travel debugger: scrubber + recorder-driven flowchart +
|
|
25
|
+
* memory + narrative + gantt. This is the "batteries included"
|
|
26
|
+
* component for pipeline debugging.
|
|
27
|
+
*
|
|
28
|
+
* v6+: chart rendering is recorder-driven. Pass `graph` (always) and
|
|
29
|
+
* optionally `runtimeOverlay` for per-step coloring tied to the
|
|
30
|
+
* scrubber.
|
|
20
31
|
*/
|
|
21
|
-
export declare function TimeTravelDebugger({ snapshots,
|
|
32
|
+
export declare function TimeTravelDebugger({ snapshots, graph, runtimeOverlay, showGantt, layout, title, size, unstyled, className, style, }: TimeTravelDebuggerProps): import("react/jsx-runtime").JSX.Element;
|
|
22
33
|
//# sourceMappingURL=TimeTravelDebugger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeTravelDebugger.d.ts","sourceRoot":"","sources":["../../../src/components/TimeTravelDebugger/TimeTravelDebugger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"TimeTravelDebugger.d.ts","sourceRoot":"","sources":["../../../src/components/TimeTravelDebugger/TimeTravelDebugger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,sBAAsB;IACtB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B;;yEAEqE;IACrE,KAAK,EAAE,UAAU,CAAC;IAClB;;;+EAG2E;IAC3E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB;IACvB,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACnC,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,KAAK,EACL,cAAc,EACd,SAAgB,EAChB,MAAqB,EACrB,KAA8B,EAC9B,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,uBAAuB,2CAwOzB"}
|
|
@@ -4,12 +4,18 @@ import { theme, fontSize, padding } from "../../theme";
|
|
|
4
4
|
import { MemoryInspector } from "../MemoryInspector";
|
|
5
5
|
import { NarrativeLog } from "../NarrativeLog";
|
|
6
6
|
import { GanttTimeline } from "../GanttTimeline";
|
|
7
|
-
import {
|
|
7
|
+
import { TraceFlow } from "../FlowchartView/TraceFlow";
|
|
8
|
+
import { TracedFlow } from "../FlowchartView/TracedFlow";
|
|
8
9
|
/**
|
|
9
|
-
* Full time-travel debugger: scrubber + flowchart +
|
|
10
|
-
* This is the "batteries included"
|
|
10
|
+
* Full time-travel debugger: scrubber + recorder-driven flowchart +
|
|
11
|
+
* memory + narrative + gantt. This is the "batteries included"
|
|
12
|
+
* component for pipeline debugging.
|
|
13
|
+
*
|
|
14
|
+
* v6+: chart rendering is recorder-driven. Pass `graph` (always) and
|
|
15
|
+
* optionally `runtimeOverlay` for per-step coloring tied to the
|
|
16
|
+
* scrubber.
|
|
11
17
|
*/
|
|
12
|
-
export function TimeTravelDebugger({ snapshots,
|
|
18
|
+
export function TimeTravelDebugger({ snapshots, graph, runtimeOverlay, showGantt = true, layout = "horizontal", title = "Time-Travel Debugger", size = "default", unstyled = false, className, style, }) {
|
|
13
19
|
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
14
20
|
const fs = fontSize[size];
|
|
15
21
|
const pad = padding[size];
|
|
@@ -22,8 +28,17 @@ export function TimeTravelDebugger({ snapshots, nodes, edges, showGantt = true,
|
|
|
22
28
|
}, children: "No snapshots to debug" }));
|
|
23
29
|
}
|
|
24
30
|
const isHorizontal = layout === "horizontal";
|
|
31
|
+
// Click → jump scrubber to whichever snapshot maps to the clicked
|
|
32
|
+
// stage. Matches the legacy `onNodeClick(index)` semantics: callers
|
|
33
|
+
// receive a stage id, we translate to a snapshot index.
|
|
34
|
+
const handleNodeClick = (stageId) => {
|
|
35
|
+
const idx = snapshots.findIndex((s) => s.stageName === stageId || s.stageLabel === stageId);
|
|
36
|
+
if (idx >= 0)
|
|
37
|
+
setSelectedIndex(idx);
|
|
38
|
+
};
|
|
39
|
+
const chart = runtimeOverlay ? (_jsx(TracedFlow, { graph: graph, overlay: runtimeOverlay, scrubIndex: selectedIndex, onNodeClick: handleNodeClick })) : (_jsx(TraceFlow, { graph: graph, onNodeClick: handleNodeClick }));
|
|
25
40
|
if (unstyled) {
|
|
26
|
-
return (_jsxs("div", { className: className, style: style, "data-fp": "time-travel-debugger", children: [_jsx("h3", { children: title }), _jsx("input", { type: "range", min: 0, max: snapshots.length - 1, value: selectedIndex, onChange: (e) => setSelectedIndex(parseInt(e.target.value)) }),
|
|
41
|
+
return (_jsxs("div", { className: className, style: style, "data-fp": "time-travel-debugger", children: [_jsx("h3", { children: title }), _jsx("input", { type: "range", min: 0, max: snapshots.length - 1, value: selectedIndex, onChange: (e) => setSelectedIndex(parseInt(e.target.value)) }), chart, _jsx(MemoryInspector, { snapshots: snapshots, selectedIndex: selectedIndex, unstyled: true }), _jsx(NarrativeLog, { snapshots: snapshots, selectedIndex: selectedIndex, unstyled: true }), showGantt && (_jsx(GanttTimeline, { snapshots: snapshots, selectedIndex: selectedIndex, onSelect: setSelectedIndex, unstyled: true }))] }));
|
|
27
42
|
}
|
|
28
43
|
return (_jsxs("div", { className: className, style: {
|
|
29
44
|
display: "flex",
|
|
@@ -50,12 +65,12 @@ export function TimeTravelDebugger({ snapshots, nodes, edges, showGantt = true,
|
|
|
50
65
|
}, children: title }), _jsx("span", { style: {
|
|
51
66
|
fontSize: fs.small,
|
|
52
67
|
color: theme.textMuted,
|
|
53
|
-
}, children: "Scrub to replay execution" })] }), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx(ScrubButton, { label: "
|
|
68
|
+
}, children: "Scrub to replay execution" })] }), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx(ScrubButton, { label: "\u25C0", disabled: selectedIndex === 0, onClick: () => setSelectedIndex((i) => Math.max(0, i - 1)) }), _jsx("input", { type: "range", min: 0, max: snapshots.length - 1, value: selectedIndex, onChange: (e) => setSelectedIndex(parseInt(e.target.value)), style: {
|
|
54
69
|
flex: 1,
|
|
55
70
|
height: 4,
|
|
56
71
|
accentColor: theme.primary,
|
|
57
72
|
cursor: "pointer",
|
|
58
|
-
} }), _jsx(ScrubButton, { label: "
|
|
73
|
+
} }), _jsx(ScrubButton, { label: "\u25B6", disabled: selectedIndex === snapshots.length - 1, onClick: () => setSelectedIndex((i) => Math.min(snapshots.length - 1, i + 1)) }), _jsxs("span", { style: {
|
|
59
74
|
fontSize: fs.small,
|
|
60
75
|
color: theme.textMuted,
|
|
61
76
|
flexShrink: 0,
|
|
@@ -74,7 +89,7 @@ export function TimeTravelDebugger({ snapshots, nodes, edges, showGantt = true,
|
|
|
74
89
|
borderBottom: !isHorizontal
|
|
75
90
|
? `1px solid ${theme.border}`
|
|
76
91
|
: "none",
|
|
77
|
-
}, children:
|
|
92
|
+
}, children: chart }), _jsxs("div", { style: { flex: 1, overflow: "auto" }, children: [_jsx(MemoryInspector, { snapshots: snapshots, selectedIndex: selectedIndex, size: size }), _jsx("div", { style: {
|
|
78
93
|
height: 1,
|
|
79
94
|
background: theme.border,
|
|
80
95
|
margin: `0 ${pad}px`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeTravelDebugger.js","sourceRoot":"","sources":["../../../src/components/TimeTravelDebugger/TimeTravelDebugger.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TimeTravelDebugger.js","sourceRoot":"","sources":["../../../src/components/TimeTravelDebugger/TimeTravelDebugger.tsx"],"names":[],"mappings":"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"}
|