Technical implementation priorities and considerations for PyFlowGraph development.
Every competitor has these - PyFlowGraph must implement to be viable:
- Undo/Redo System - Multi-level undo/redo with Command Pattern
- Node Grouping/Containers - Collapsible subgraphs for complexity management
Shared Subprocess Execution Model
- Current: Isolated subprocess per node
- Target: Shared Python process with direct object passing
- Expected gain: 10-100x performance improvement
- Implementation: Replace serialization overhead with memory sharing
- Security: Maintain through sandboxing options
Python-Native Debugging
- Syntax-highlighted logs (remove emoji output)
- Breakpoints and step-through execution
- Native pdb integration
- Live data inspection at nodes
- This would set PyFlowGraph apart from competitors
Pin Type Visibility
- Type badges/labels on pins (Unity Visual Scripting style)
- Hover tooltips with full type information
- Connection compatibility highlighting during drag
- Color + shape coding for accessibility
- Relatively easy to implement, high user value
Search Features
- Node search palette (Ctrl+Space or Tab)
- Quick node creation from connection drag
- Context-sensitive node suggestions
- Standard in most node editors, essential for usability
- Critical Path: Undo/Redo → Node Grouping → Performance Model
- Parallel Development: Pin visibility improvements, search features
- Differentiation: Python debugging capabilities
- Foundation: Proper type system and validation
- Pin direction categorization bug (affects markdown loading)
- GUI rendering inconsistencies
- Connection validation system
- Execution flow coordination
- Command Pattern for undo/redo system
- Observer pattern for live data visualization
- Plugin architecture for extensibility
- Type system redesign for better validation