131 lines
4.7 KiB
Plaintext
131 lines
4.7 KiB
Plaintext
@startuml
|
|
!define RECTANGLE(x, y, w, h) rectangle "x" as x at (y, h)
|
|
!define ARROW(from, to, label) from -> to : label
|
|
|
|
skinparam backgroundColor #FFFFFF
|
|
skinparam defaultFontSize 14
|
|
skinparam rectangle {
|
|
BorderColor #333333
|
|
BackgroundColor #F0F0F0
|
|
}
|
|
|
|
title Stand-Alone Artifact Editor - MVP vs Over-Engineered Approaches
|
|
|
|
rectangle "Add diagram to discussion comment" as goal #LightBlue
|
|
rectangle "MVP Path (2-4 weeks)" as mvp_path #LightGreen
|
|
rectangle "Complex Path (6-9 months)" as complex_path #LightCoral
|
|
|
|
rectangle "1. Text editor for PlantUML\n2. Save contract (ARTIFACT_SAVED)\n3. Use existing discussion-diagram-editor SmartTool\n4. Simple preview on save" as mvp_details #LightGreen
|
|
|
|
rectangle "1. Graphical canvas with drag-drop\n2. Bidirectional text-canvas sync\n3. Voice command integration\n4. Live preview with timer\n5. Multiple format support\n6. Custom GUI framework" as complex_details #LightCoral
|
|
|
|
rectangle "MVP Outcome" as mvp_outcome #LightGreen
|
|
rectangle "Complex Outcome" as complex_outcome #LightCoral
|
|
|
|
rectangle "Working integration\nUsers can add diagrams\nImmediate value\nIterate based on feedback" as mvp_outcome_details #LightGreen
|
|
|
|
rectangle "Feature-rich editor\nMonths of development\nHigh risk of scope creep\nDelayed user value" as complex_outcome_details #LightCoral
|
|
|
|
goal --> mvp_path : "Simplest path"
|
|
goal --> complex_path : "Ambitious vision"
|
|
|
|
mvp_path --> mvp_details
|
|
complex_path --> complex_details
|
|
|
|
mvp_details --> mvp_outcome : "Ship in weeks"
|
|
complex_details --> complex_outcome : "Ship in months"
|
|
|
|
mvp_outcome --> mvp_outcome_details
|
|
complex_outcome --> complex_outcome_details
|
|
|
|
rectangle "GUI Framework Options" as gui_options #LightYellow {
|
|
rectangle "PyQt6/PySide6\nMature, rich widgets\nGood for drawing\nSteep learning curve" as pyqt
|
|
rectangle "Dear PyGui\nUsed by parent project\nLimited drawing capabilities\nFast to implement" as dearpygui
|
|
rectangle "Web-based (Electron)\nMost flexible\nHeavy dependencies\nCross-platform" as web
|
|
rectangle "TUI (urwid)\nSimplest\nNo graphical canvas\nTerminal-only" as tui
|
|
}
|
|
|
|
note right of mvp_path
|
|
**Recommended MVP Stack:**
|
|
- Text editor: urwid TUI
|
|
- AI: discussion-diagram-editor SmartTool
|
|
- Preview: Render on save
|
|
- Contract: ARTIFACT_SAVED
|
|
end note
|
|
|
|
note right of complex_path
|
|
**Complexity Drivers:**
|
|
- Graphical canvas implementation
|
|
- Bidirectional sync logic
|
|
- Voice command pipeline
|
|
- Live preview architecture
|
|
- Multiple format renderers
|
|
end note
|
|
|
|
@enduml
|
|
@startuml
|
|
!define RECTANGLE(x, y, w, h) rectangle "x" as x at (y, h)
|
|
!define ARROW(from, to, label) from -> to : label
|
|
|
|
skinparam backgroundColor #FFFFFF
|
|
skinparam defaultFontSize 14
|
|
skinparam rectangle {
|
|
BorderColor #333333
|
|
BackgroundColor #F0F0F0
|
|
}
|
|
|
|
title Stand-Alone Artifact Editor - MVP vs Over-Engineered Approaches
|
|
|
|
rectangle "User Goal" as goal #LightBlue
|
|
rectangle "MVP Path (2-4 weeks)" as mvp_path #LightGreen
|
|
rectangle "Complex Path (6-9 months)" as complex_path #LightCoral
|
|
|
|
goal : "Add diagram to discussion comment"
|
|
|
|
mvp_path : "1. Text editor for PlantUML\n2. Save contract (ARTIFACT_SAVED)\n3. Use existing discussion-diagram-editor SmartTool\n4. Simple preview on save"
|
|
|
|
complex_path : "1. Graphical canvas with drag-drop\n2. Bidirectional text-canvas sync\n3. Voice command integration\n4. Live preview with timer\n5. Multiple format support\n6. Custom GUI framework"
|
|
|
|
rectangle "MVP Outcome" as mvp_outcome #LightGreen
|
|
rectangle "Complex Outcome" as complex_outcome #LightCoral
|
|
|
|
mvp_outcome : "Working integration\nUsers can add diagrams\nImmediate value\nIterate based on feedback"
|
|
|
|
complex_outcome : "Feature-rich editor\nMonths of development\nHigh risk of scope creep\nDelayed user value"
|
|
|
|
goal --> mvp_path : "Simplest path"
|
|
goal --> complex_path : "Ambitious vision"
|
|
|
|
mvp_path --> mvp_outcome : "Ship in weeks"
|
|
complex_path --> complex_outcome : "Ship in months"
|
|
|
|
rectangle "GUI Framework Options" as gui_options #LightYellow {
|
|
rectangle "PyQt6/PySide6" as pyqt
|
|
rectangle "Dear PyGui" as dearpygui
|
|
rectangle "Web-based (Electron)" as web
|
|
rectangle "TUI (urwid)" as tui
|
|
}
|
|
|
|
pyqt : "Mature, rich widgets\nGood for drawing\nSteep learning curve"
|
|
dearpygui : "Used by parent project\nLimited drawing capabilities\nFast to implement"
|
|
web : "Most flexible\nHeavy dependencies\nCross-platform"
|
|
tui : "Simplest\nNo graphical canvas\nTerminal-only"
|
|
|
|
note right of mvp_path
|
|
**Recommended MVP Stack:**
|
|
- Text editor: urwid TUI
|
|
- AI: discussion-diagram-editor SmartTool
|
|
- Preview: Render on save
|
|
- Contract: ARTIFACT_SAVED
|
|
end note
|
|
|
|
note right of complex_path
|
|
**Complexity Drivers:**
|
|
- Graphical canvas implementation
|
|
- Bidirectional sync logic
|
|
- Voice command pipeline
|
|
- Live preview architecture
|
|
- Multiple format renderers
|
|
end note
|
|
|
|
@enduml |