Masonmason 080eb5b887 Add intelligent pipeline topology analysis and comprehensive UI framework
Major Features:
• Advanced topological sorting algorithm with cycle detection and resolution
• Intelligent pipeline optimization with parallelization analysis
• Critical path analysis and performance metrics calculation
• Comprehensive .mflow file converter for seamless UI-to-API integration
• Complete modular UI framework with node-based pipeline editor
• Enhanced model node properties (scpu_fw_path, ncpu_fw_path)
• Professional output formatting without emoji decorations

Technical Improvements:
• Graph theory algorithms (DFS, BFS, topological sort)
• Automatic dependency resolution and conflict prevention
• Multi-criteria pipeline optimization
• Real-time stage count calculation and validation
• Comprehensive configuration validation and error handling
• Modular architecture with clean separation of concerns

New Components:
• MFlow converter with topology analysis (core/functions/mflow_converter.py)
• Complete node system with exact property matching
• Pipeline editor with visual node connections
• Performance estimation and dongle management panels
• Comprehensive test suite and demonstration scripts

🤖 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 12:58:47 +08:00

67 lines
1.3 KiB
Plaintext

{
"project_name": "Untitled Pipeline",
"description": "",
"nodes": [
{
"id": "0x111398750",
"name": "Input Node",
"type": "ExactInputNode",
"pos": [
228.0,
53.0
],
"properties": {
"source_type": "Camera",
"device_id": 0,
"resolution": "1920x1080",
"fps": 30,
"source_path": ""
}
},
{
"id": "0x1113b5a50",
"name": "Model Node",
"type": "ExactModelNode",
"pos": [
295.0,
292.0
],
"properties": {
"dongle_series": "520",
"num_dongles": 1,
"model_path": "",
"port_id": ""
}
},
{
"id": "0x1113b6e90",
"name": "Output Node",
"type": "ExactOutputNode",
"pos": [
504.8299047169322,
430.1696952829989
],
"properties": {
"output_type": "File",
"format": "JSON",
"destination": "",
"save_interval": 1.0
}
}
],
"connections": [
{
"input_node": "0x1113b5a50",
"input_port": "input",
"output_node": "0x111398750",
"output_port": "output"
},
{
"input_node": "0x1113b6e90",
"input_port": "input",
"output_node": "0x1113b5a50",
"output_port": "output"
}
],
"version": "1.0"
}