orchestrated-discussions/diagrams/artifact-editor-architectur...

65 lines
1.3 KiB
Plaintext

@startuml
!theme plain
skinparam componentStyle rectangle
package "Artifact Editor" {
[CLI Entry] as cli
[Editor Core] as core
[State Manager] as state
package "Renderers" {
[Renderer Registry] as registry
[Mermaid Renderer] as mermaid
[PlantUML Renderer] as plantuml
[OpenSCAD Renderer] as openscad
}
package "UI Layer" {
[Code Editor Panel] as code_panel
[Preview Panel] as preview
[Voice Input Button] as voice
}
}
package "SmartTools (subprocess)" {
[dictate] as dictate
[artifact-generate] as ai_gen
[artifact-modify] as ai_mod
}
package "External Renderers (subprocess)" {
[mmdc] as mmdc_bin
[plantuml.jar] as puml_bin
[openscad] as oscad_bin
}
cli --> core : args
core --> state : manage
core --> registry : render request
registry --> mermaid
registry --> plantuml
registry --> openscad
mermaid --> mmdc_bin : subprocess
plantuml --> puml_bin : subprocess
openscad --> oscad_bin : subprocess
code_panel --> core : code changes
voice --> dictate : subprocess
dictate --> ai_gen : pipe
ai_gen --> core : generated code
preview <-- registry : rendered image
state --> code_panel : undo/redo
note right of ai_gen
SmartTools called via
subprocess, never imported
end note
note bottom of registry
All renderers run in
isolated subprocess with
timeout and cancellation
end note
@enduml