2.2 KiB
2.2 KiB
Story 3.2: Lineare und bedingte Edges
Status: done
Story
Als Nutzer, möchte ich Pfeile zwischen Nodes ziehen und als linear/bedingt markieren, so dass ich den Workflow meines Councils definieren kann.
Acceptance Criteria
- Verbindungsziehen zwischen Handles → lineare graue Edge entsteht
- Klick auf Edge →
EdgeSettingsPanelöffnet sich - Edge als „bedingt" markieren mit Condition-Label → gestrichelte rote Linie mit Label
- Edge als „approve" markieren → grüne Linie mit Label
- Edge-Typ und Condition werden im Zustand persistiert
Tasks / Subtasks
- Task 1:
components/edges/ConditionalEdge.tsxCustom React Flow Edge (AC: 3, 4)- Subtask 1.1:
SmoothStepPathBasis-Routing - Subtask 1.2: Farb-Kodierung: grau (linear), rot gestrichelt (rework), grün (approve)
- Subtask 1.3: Label-Rendering via
EdgeLabelRenderer
- Subtask 1.1:
- Task 2:
components/panels/EdgeSettingsPanel.tsx(AC: 2, 3, 4)- Subtask 2.1: Typ-Auswahl (linear/conditional)
- Subtask 2.2: Condition-Label-Eingabe wenn
type = conditional
- Task 3:
store/council-store.ts—updateEdgeData()Funktion (AC: 5) - Task 4:
EDGE_TYPESRegistrierung inArchitectCanvas
Dev Notes
EDGE_TYPES = { conditional: ConditionalEdge }+defaultEdgeType: "conditional"- Edge-Daten:
edge.data.type(linear|conditional),edge.data.condition(string) EdgeLabelRendererpositioniert Label absolut relativ zum Edge-Mittelpunkt
Project Structure Notes
frontend/app/components/edges/ConditionalEdge.tsxfrontend/app/components/panels/EdgeSettingsPanel.tsx
References
- [Source: _bmad-output/planning-artifacts/ux-design.md#Edge-Verbindungspfeil]
Dev Agent Record
Agent Model Used
Amelia (💻 BMAD Dev Agent)
Completion Notes List
getSmoothStepPathaus@xyflow/reactliefertedgePath,labelX,labelYin einem Aufruf.- Farben werden direkt via
stroke-Prop aufBaseEdgegesetzt.
File List
frontend/app/components/edges/ConditionalEdge.tsxfrontend/app/components/panels/EdgeSettingsPanel.tsx