docs: archive completed frame-bubbletea plan
Some checks failed
Deploy / build (push) Failing after 5s
Security Scan / security (push) Successful in 19s

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:
Claude 2026-02-24 13:51:21 +00:00
parent ced9a7037f
commit 800223757c
No known key found for this signature in database
GPG key ID: AF404715446AEB41
3 changed files with 39 additions and 0 deletions

View 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).