1 line
2.3 KiB
Plaintext
1 line
2.3 KiB
Plaintext
@startuml\n!theme plain\nskinparam componentStyle rectangle\n\nactor \"User\" as user\nparticipant \"Orchestrated Discussions\" as od\nparticipant \"Artifact Editor\" as ae\nparticipant \"SmartTool: dictate\" as st_dictate\nparticipant \"SmartTool: artifact-generate\" as st_aigen\nparticipant \"Renderer (e.g., PlantUML)\" as renderer\nparticipant \"External Binary (e.g., plantuml.jar)\" as ext_bin\n\nuser -> od : Clicks \"Add Artifact\"\nod -> ae : Launches with --output path\nactivate ae\n\nae --> user : Displays editor UI (text area, preview, input options)\nnote right of ae\n **UX Point:**\n Clear onboarding for new users.\n Intuitive layout of input methods.\n Initial blank state.\nend note\n\nalt Text/Code Input\n user -> ae : Types code in text editor\n note right of ae\n **UX Point:**\n Syntax highlighting, auto-completion (future).\n end note\nelse Voice Input\n user -> ae : Clicks \"Dictate\" button\n activate st_dictate\n ae -> st_dictate : Sends audio stream\n st_dictate -> st_aigen : Transcribed text\n activate st_aigen\n st_aigen -> st_aigen : Generates artifact code from text\n st_aigen --> ae : Returns generated code\n deactivate st_aigen\n deactivate st_dictate\n ae --> user : Updates text editor with generated code\n note right of ae\n **UX Point:**\n Visual feedback for voice input (listening, processing).\n Clear indication of AI-generated changes.\n Easy to correct AI errors.\n end note\nend\n\nae -> ae : Triggers render (on save for MVP, live for future)\nactivate renderer\nae -> renderer : Sends artifact code\nrenderer -> ext_bin : Executes external binary\nactivate ext_bin\nnote right of ext_bin\n **UX Point:**\n Loading indicator/progress for rendering.\n Timeout/cancellation mechanism.\nend note\next_bin --> renderer : Returns rendered image/SVG\ndeactivate ext_bin\nrenderer --> ae : Returns rendered output\ndeactivate renderer\n\nae --> user : Displays rendered artifact in preview\nnote right of ae\n **UX Point:**\n Clear error messages if rendering fails.\n Responsive preview updates.\nend note\n\nuser -> ae : Reviews and makes further edits (loop back)\nuser -> ae : Clicks \"Save\" button\nae -> od : Prints \"ARTIFACT_SAVED:/path/to/file\" to stdout\ndeactivate ae\nod -> od : Embeds artifact reference\nod --> user : Confirms artifact saved/embedded\n@enduml |