flowchart TD
Start("Identify Learning Objective"):::startNode
Describe["Describe the Visualization"]:::teacherNode
WritePrompt["Write AI Prompt"]:::teacherNode
Generate["Generate Initial Code"]:::aiNode
Test["Test in p5.js Editor"]:::testNode
Decision{"Meets Learning Objective?"}:::decisionNode
Refine["Refine with AI"]:::aiNode
AddCourse["Add to Course Materials"]:::teacherNode
Feedback["Gather Student Feedback"]:::testNode
End("Effective Learning Tool"):::endNode
Start --> Describe
Describe --> WritePrompt
WritePrompt --> Generate
Generate --> Test
Test --> Decision
Decision -->|No| Refine
Refine --> Test
Decision -->|Yes| AddCourse
AddCourse --> Feedback
Feedback --> End
classDef startNode fill:#22c55e,stroke:#166534,stroke-width:2px,color:#fff,font-size:16px
classDef endNode fill:#22c55e,stroke:#166534,stroke-width:2px,color:#fff,font-size:16px
classDef teacherNode fill:#3b82f6,stroke:#1d4ed8,stroke-width:2px,color:#fff,font-size:16px
classDef aiNode fill:#a855f7,stroke:#7c3aed,stroke-width:2px,color:#fff,font-size:16px
classDef testNode fill:#f97316,stroke:#c2410c,stroke-width:2px,color:#fff,font-size:16px
classDef decisionNode fill:#eab308,stroke:#a16207,stroke-width:2px,color:#333,font-size:16px
linkStyle default stroke:#999,stroke-width:2px,font-size:16px