Release v1.01 Enhanced: Vi Control, TUI Gen5, Core Stability

This commit is contained in:
Gemini AI
2025-12-20 01:12:45 +04:00
Unverified
parent 2407c42eb9
commit 142aaeee1e
254 changed files with 44888 additions and 31025 deletions

View 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