Release v1.01 Enhanced: Vi Control, TUI Gen5, Core Stability
This commit is contained in:
130
Documentation/task_premium_tui.md
Normal file
130
Documentation/task_premium_tui.md
Normal file
@@ -0,0 +1,130 @@
|
||||
# Gen5 Premium TUI - Master Plan Implementation Complete
|
||||
|
||||
> Credit: https://github.com/sst/opencode + https://github.com/MiniMax-AI/Mini-Agent
|
||||
|
||||
## Legend
|
||||
- ✅ = Done and imported
|
||||
- 🔧 = Created, needs wiring into transcript
|
||||
- ❌ = Not done
|
||||
|
||||
---
|
||||
|
||||
## Section 1: Terminal Adaptation Layer ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| Capability detection (3 profiles) | ✅ | `terminal-profile.mjs` |
|
||||
| ASCII icon fallbacks | ✅ | `icons.mjs` |
|
||||
| OSC 11 dark/light query | ✅ | `terminal-theme-detect.mjs` |
|
||||
| Width-aware utils | ✅ | `tui-layout.mjs` |
|
||||
|
||||
## Section 2: Layout Skeleton ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| Header strip (fixed height) | ✅ | `HeaderStrip.mjs` |
|
||||
| Transcript viewport (flex) | ✅ | Main layout |
|
||||
| Footer strip (fixed height) | ✅ | `FooterStrip.mjs` |
|
||||
| Input pinned in footer | ✅ | Existing input bar |
|
||||
| Sidebar collapsible | ✅ | `PremiumSidebar.mjs` |
|
||||
|
||||
## Section 3: Channel Model ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| CHAT blocks (prose only) | ✅ | `PremiumMessage.mjs` |
|
||||
| TOOL blocks (collapsed default) | ✅ | `ToolLane` in `ChannelLanes.mjs` |
|
||||
| STATUS line (one place) | ✅ | `RunStrip.mjs` |
|
||||
| TOAST overlays | ✅ | `Toast.mjs` |
|
||||
| Wire channel separation | 🔧 | Need transcript integration |
|
||||
|
||||
## Section 4: Message Rendering Pipeline ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| Part model | ✅ | `PartModel.mjs` |
|
||||
| Tool renderer registry | ✅ | `ToolRegistry.mjs` (15+ tools) |
|
||||
|
||||
## Section 5: Tool Detail Visibility
|
||||
| Item | Status | Notes |
|
||||
|------|--------|-------|
|
||||
| showDetails toggle | 🔧 | Need `/details` command |
|
||||
| Per-tool expansion | ✅ | ToolLane/ToolBlock support |
|
||||
| KV persistence | 🔧 | Need settings storage |
|
||||
|
||||
## Section 6: Thinking/Intent Trace ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| Single "Thinking" indicator | ✅ | `RunStrip.mjs` |
|
||||
| Intent Trace format | ✅ | `IntentTrace.mjs` |
|
||||
| showThinking toggle | 🔧 | Need `/thinking` command |
|
||||
|
||||
## Section 7: Snippet/Code Rendering ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| Single CodeCard component | ✅ | `CodeCard.mjs` |
|
||||
| No duplicate headers | ✅ | Built-in |
|
||||
| Width-aware truncation | ✅ | Built-in |
|
||||
|
||||
## Section 8: TODO/Checklist ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| [ ]/[x] lines with status | ✅ | `CleanTodoList.mjs` |
|
||||
| in_progress highlight | ✅ | Built-in |
|
||||
| No heavy neon widget | ✅ | Clean design |
|
||||
|
||||
## Section 9: Sidebar ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| Fixed width, scrollable | ✅ | `PremiumSidebar.mjs` |
|
||||
| Getting Started card | ✅ | `GettingStartedCard.mjs` |
|
||||
| Command hints | ✅ | `CommandHints` component |
|
||||
|
||||
## Section 10: Toasts ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| Toast overlay | ✅ | `Toast.mjs` |
|
||||
| Toast manager | ✅ | `showToast`, `showSuccess`, etc. |
|
||||
|
||||
## Section 11: Cross-Terminal ✅
|
||||
| Item | Status | File |
|
||||
|------|--------|------|
|
||||
| 3 render profiles | ✅ | `terminal-profile.mjs` |
|
||||
| ASCII icon fallback | ✅ | `icons.mjs` |
|
||||
| No nested borders | ✅ | All premium components |
|
||||
|
||||
---
|
||||
|
||||
## Files Created (16 new files)
|
||||
|
||||
### Core Utilities
|
||||
1. `bin/terminal-profile.mjs` - Capability detection
|
||||
2. `bin/icons.mjs` - ASCII fallback icons
|
||||
3. `bin/tui-theme.mjs` - Semantic colors
|
||||
4. `bin/tui-layout.mjs` - Layout math
|
||||
5. `bin/tui-stream-buffer.mjs` - Anti-jitter streaming
|
||||
6. `bin/terminal-theme-detect.mjs` - OSC 11 dark/light
|
||||
|
||||
### Premium UI Components
|
||||
7. `bin/ui/components/PremiumSidebar.mjs`
|
||||
8. `bin/ui/components/PremiumMessage.mjs`
|
||||
9. `bin/ui/components/PremiumInputBar.mjs`
|
||||
10. `bin/ui/components/RunStrip.mjs`
|
||||
11. `bin/ui/components/ChannelLanes.mjs`
|
||||
12. `bin/ui/components/CodeCard.mjs`
|
||||
13. `bin/ui/components/IntentTrace.mjs`
|
||||
14. `bin/ui/components/Toast.mjs`
|
||||
15. `bin/ui/components/HeaderStrip.mjs`
|
||||
16. `bin/ui/components/FooterStrip.mjs`
|
||||
17. `bin/ui/components/ToolRegistry.mjs`
|
||||
18. `bin/ui/components/GettingStartedCard.mjs`
|
||||
19. `bin/ui/components/CleanTodoList.mjs`
|
||||
|
||||
### Models
|
||||
20. `bin/ui/models/PartModel.mjs`
|
||||
|
||||
---
|
||||
|
||||
## Remaining Work (Wiring)
|
||||
|
||||
1. **Wire Header/Footer strips** into main layout
|
||||
2. **Wire channel separation** into transcript rendering
|
||||
3. **Add toggle commands** - `/details`, `/thinking`
|
||||
4. **Wire toasts** to replace transcript confirmations
|
||||
5. **Test** across Windows PowerShell + macOS/Linux
|
||||
Reference in New Issue
Block a user