refinement of upcoming tracks
This commit is contained in:
@@ -1,22 +1,44 @@
|
||||
# Track Specification: Visual DAG & Interactive Ticket Editing (visual_dag_ticket_editing_20260306)
|
||||
|
||||
## Overview
|
||||
Replace the linear ticket list in the GUI with an interactive node graph using ImGui Bundle's node editor. Users can visually drag dependency lines, split nodes, or delete tasks before execution.
|
||||
Replace linear ticket list with interactive node graph using ImGui Bundle node editor.
|
||||
|
||||
## Architectural Constraints
|
||||
- **DAG Validity**: Any visual edit MUST maintain valid dependency graph (no cycles).
|
||||
- **Performance**: Node rendering MUST maintain 60fps with 50+ nodes.
|
||||
- **State Sync**: Visual state MUST stay synchronized with backend ticket state.
|
||||
## Current State Audit
|
||||
|
||||
### Already Implemented
|
||||
- **`imgui_bundle`**: Includes node editor capability
|
||||
- **`_render_ticket_dag_node()`**: Renders ticket nodes (simple)
|
||||
- **`dag_engine.py`**: DAG validation, cycle detection
|
||||
|
||||
### Gaps to Fill
|
||||
- No true node editor integration
|
||||
- No visual dependency lines
|
||||
- No drag-to-connect for dependencies
|
||||
|
||||
## Functional Requirements
|
||||
- **Node Editor**: Integrate ImGui Bundle node editor for ticket visualization.
|
||||
- **Drag-Drop**: Users can drag nodes to reorder and create dependency lines.
|
||||
- **Visual Status**: Nodes display color-coded status (todo, running, blocked, done).
|
||||
- **Edit Validation**: Changes MUST validate against DAG constraints before saving.
|
||||
- Use `imgui.node_editor` for ticket visualization
|
||||
- Visual dependency lines between nodes
|
||||
- Color-coded status (todo=gray, running=yellow, blocked=red, done=green)
|
||||
- Drag nodes to create/remove dependencies
|
||||
- Validate DAG (no cycles) before saving
|
||||
|
||||
## Key Integration Points
|
||||
| File | Purpose |
|
||||
|-----|---------|
|
||||
| `src/gui_2.py` | Node editor integration |
|
||||
| `src/dag_engine.py` | DAG validation |
|
||||
|
||||
## Architectural Constraints
|
||||
- 60fps with 50+ nodes
|
||||
- Visual state synced with backend
|
||||
|
||||
## Dependencies
|
||||
- **Depends on**: `true_parallel_worker_execution_20260306` (for real-time status)
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Node editor displays all tickets as connected nodes.
|
||||
- [ ] Users can drag nodes to create/remove dependencies.
|
||||
- [ ] Visual changes sync to backend ticket state.
|
||||
- [ ] DAG validity enforced (no cycles allowed).
|
||||
- [ ] 60fps maintained with 50+ nodes.
|
||||
- [ ] Node editor displays all tickets
|
||||
- [ ] Users can create/remove dependencies
|
||||
- [ ] Visual changes sync to backend
|
||||
- [ ] DAG validity enforced
|
||||
- [ ] 60fps with 50+ nodes
|
||||
- [ ] 1-space indentation
|
||||
|
||||
Reference in New Issue
Block a user