WIP almost done with track planning
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
# Visual DAG & Interactive Ticket Editing
|
||||
|
||||
**Track ID:** visual_dag_ticket_editing_20260306
|
||||
|
||||
**Status:** Planned
|
||||
|
||||
**See Also:**
|
||||
- [Spec](./spec.md)
|
||||
- [Plan](./plan.md)
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"id": "visual_dag_ticket_editing_20260306",
|
||||
"name": "Visual DAG & Interactive Ticket Editing",
|
||||
"status": "planned",
|
||||
"created_at": "2026-03-06T00:00:00Z",
|
||||
"updated_at": "2026-03-06T00:00:00Z",
|
||||
"type": "feature",
|
||||
"priority": "medium"
|
||||
}
|
||||
@@ -1,16 +1,29 @@
|
||||
# Implementation Plan: Visual DAG & Interactive Ticket Editing (visual_dag_ticket_editing)
|
||||
# Implementation Plan: Visual DAG Ticket Editing (visual_dag_ticket_editing_20260306)
|
||||
|
||||
## Phase 1: Research & Design
|
||||
- [ ] Task: Analyze existing backend implementation
|
||||
- [ ] Task: Design GUI/UX approach
|
||||
- [ ] Task: Conductor - User Manual Verification
|
||||
## Phase 1: Node Editor Setup
|
||||
- [ ] Task: Initialize MMA Environment
|
||||
- [ ] Task: Verify ImGui Bundle node editor available
|
||||
- WHERE: requirements.txt
|
||||
- WHAT: Ensure imgui-bundle with node editor
|
||||
- HOW: pip install
|
||||
|
||||
## Phase 2: Implementation
|
||||
- [ ] Task: Implement feature
|
||||
- [ ] Task: Write tests
|
||||
- [ ] Task: Conductor - User Manual Verification
|
||||
- [ ] Task: Implement ticket node rendering
|
||||
- WHERE: src/gui_2.py
|
||||
- WHAT: Render tickets as nodes
|
||||
- HOW: imgui.node_editor with custom drawing
|
||||
- SAFETY: 60fps target
|
||||
- [ ] Task: Implement drag-drop
|
||||
- WHERE: src/gui_2.py
|
||||
- WHAT: Handle node drag and dependency lines
|
||||
- HOW: Node editor callbacks
|
||||
- SAFETY: Validate DAG after edit
|
||||
- [ ] Task: Implement status display
|
||||
- WHERE: src/gui_2.py
|
||||
- WHAT: Color-coded status per node
|
||||
- HOW: Node colors based on ticket status
|
||||
- SAFETY: Sync with backend state
|
||||
|
||||
## Phase 3: Verification
|
||||
- [ ] Task: Run test suite
|
||||
- [ ] Task: Verify coverage
|
||||
- [ ] Task: Conductor - Phase Completion Verification
|
||||
## Phase 3: Tests & Verification
|
||||
- [ ] Task: Write node editor tests
|
||||
- [ ] Task: Conductor - Phase Verification
|
||||
|
||||
@@ -1,27 +1,22 @@
|
||||
# Track Specification: Visual DAG & Interactive Ticket Editing
|
||||
# Track Specification: Visual DAG & Interactive Ticket Editing (visual_dag_ticket_editing_20260306)
|
||||
|
||||
## Overview
|
||||
Replace linear ticket list with interactive node graph using ImGui Bundle.
|
||||
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.
|
||||
|
||||
## Current State Audit
|
||||
### Already Implemented
|
||||
- Ticket/DAG display in gui_2.py
|
||||
- DAG engine for dependency resolution
|
||||
|
||||
### Gaps to Fill
|
||||
- Linear ticket list only
|
||||
- No drag-drop dependency editing
|
||||
|
||||
## Goals
|
||||
- Interactive node graph visualization
|
||||
- Drag dependency lines
|
||||
- Split/delete nodes visually
|
||||
## 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.
|
||||
|
||||
## Functional Requirements
|
||||
- ImGui Bundle node editor integration
|
||||
- Click-drag node positioning
|
||||
- Visual dependency lines
|
||||
- **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.
|
||||
|
||||
## Non-Functional Requirements
|
||||
- Maintain DAG validity on edit
|
||||
- Smooth 60fps rendering
|
||||
## 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.
|
||||
|
||||
Reference in New Issue
Block a user