docs: archive completed frame-bubbletea plan
Move frame-bubbletea design and plan to docs/plans/completed/ with completion summary. Frame now implements tea.Model with full bubbletea lifecycle. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ced9a7037f
commit
800223757c
3 changed files with 39 additions and 0 deletions
39
docs/plans/completed/frame-bubbletea.md
Normal file
39
docs/plans/completed/frame-bubbletea.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# Frame Bubbletea Upgrade — Completion Summary
|
||||
|
||||
**Completed:** 22 February 2026
|
||||
**Module:** `forge.lthn.ai/core/cli`
|
||||
**Status:** Complete — Frame implements tea.Model with full bubbletea lifecycle
|
||||
|
||||
## What Was Built
|
||||
|
||||
Upgraded the Frame layout system from a static HLCRF renderer to a full
|
||||
bubbletea `tea.Model` with lifecycle management, keyboard handling, and
|
||||
panel navigation.
|
||||
|
||||
### Key changes
|
||||
|
||||
- **Frame implements `tea.Model`** — `Init()`, `Update()`, `View()` lifecycle
|
||||
- **`KeyMap`** — configurable keybindings with default set (quit, navigate,
|
||||
help, focus cycling)
|
||||
- **`Navigate(name)` / `Back()`** — panel switching with history stack
|
||||
- **Focus management** — Tab/Shift-Tab cycles focus between visible models
|
||||
- **lipgloss layout** — HLCRF regions (Header, Left, Content, Right, Footer)
|
||||
rendered with lipgloss instead of raw ANSI
|
||||
- **`FrameModel` interface** — models register with `Frame.Header()`,
|
||||
`.Content()`, `.Footer()` etc., receiving focus/blur/resize messages
|
||||
|
||||
### Tests
|
||||
|
||||
Navigate/Back stack tests, focus cycling, key dispatch, resize propagation.
|
||||
All passing with `-race`.
|
||||
|
||||
### Dependencies
|
||||
|
||||
- `github.com/charmbracelet/bubbletea`
|
||||
- `github.com/charmbracelet/lipgloss`
|
||||
|
||||
### Consumer
|
||||
|
||||
`go-blockchain/cmd/chain/` is the first consumer — TUI dashboard uses
|
||||
Frame with StatusModel (header), ExplorerModel (content), KeyHintsModel
|
||||
(footer).
|
||||
Loading…
Add table
Reference in a new issue