v0.3.0
This release lands the unified TUI framework & redesign — dwe's three full-screen interfaces (command browser, docs browser, status dashboard) are rebuilt on a single framework with mouse support, a redesigned frame, ?-invoked modal help, and in-TUI form overlays.
✨ Features
Unified TUI framework & redesign (#45)
The command browser, docs browser, and status dashboard now share one framework (internal/core/ui/tui) that owns layout, project-styled panel borders, focus, action-based keymaps, overlays, and mouse. The frame is redesigned: the brand/title moved to a bottom status line, help is promoted to a ?-invoked modal (no more permanent footer), and borders stay project-styled. Delivered across Stages 0–7 (#24, #33–#38, #42).
First-class mouse support
Wheel scroll and click work across all three TUIs — implemented once in the framework (hit-zone pointer routing, click-outside-to-close, and a wheel-coalescing input filter that kills the macOS momentum-scroll backlog).
In-TUI form overlays
Interactive forms now run inside the TUI instead of dropping to the terminal — the dwe commands parameter prompt and the dwe vars editor both open as in-frame overlays.
Under the hood
- Generic tree engine shared by the command and docs browsers (the two duplicated tree widgets are gone).
- Forms unification — the last three raw
huh.NewFormsites (deploy menu, setup port-overrides, setup service-toggles) collapse back into the sharedaskwrapper via declarative keymap overrides. - Charm stack standardised on v2 —
statustuimigrated off lipgloss v1.
🔒 Security & dependencies
golang.org/x/net→ 0.55.0, fixing a medium-severity HTML-parser DoS advisory (GHSA-5cv4-jp36-h3mw).- Charm stack patch bumps:
bubbletea2.0.8,lipgloss2.0.5,bubbles2.1.1 (emoji/grapheme rendering + textarea fixes) (#41).
Full changelog: v0.2.4...v0.3.0