You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: implement DAG visualization and debug panel with flowState props (#311)
# DAG Visualization and Debug Panel for pgflow Demo
This PR adds a visual DAG (Directed Acyclic Graph) representation and a comprehensive debug panel to the pgflow demo application. The implementation provides real-time visualization of workflow execution and detailed debugging information.
Key features:
- **DAG Visualization Component**: Displays a 4-node graph showing the article processing workflow with dynamic styling based on execution state (pending, running, completed, failed)
- **Debug Panel Component**: Shows run information, step states, and a real-time event stream
- **Improved State Management**: Utilizes the existing `createFlowState()` pattern for reactive state management
- **UI Framework**: Implements shadcn/svelte components with a dark theme for a polished interface
- **Two-Column Layout**: Organizes the UI with DAG visualization on the left and debug panel on the right
Technical improvements:
- Added watchdog SQL migration to ensure the article flow worker stays running
- Fixed broadcast order and timestamp handling in pgflow SQL functions
- Updated Tailwind to v4 with proper configuration for the new styling system
- Added animation support for visual feedback during workflow execution
This enhancement provides a much clearer visualization of the workflow execution process, making it easier to understand and debug pgflow applications.
Copy file name to clipboardExpand all lines: PHASE_3_DAG_DEBUG.md
+28-7Lines changed: 28 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,8 @@
15
15
16
16
**Philosophy:** Build the observability foundation. UI can still be basic - focus on data flow and state management.
17
17
18
+
**State Management:** Phase 2 already implemented `createFlowState()` which auto-discovers steps and manages all event subscriptions. Components receive `flowState` via props and access reactive state through getters.
0 commit comments