Summary
The fest chain TUI / chain visualization should use the same Lipgloss styling and terminal-UX polish as the rest of fest's TUIs. fest already depends on the Charm stack (charmbracelet/lipgloss, bubbletea, bubbles), and surfaces like the explore TUI (internal/tui/explore/) use it; the chain view should match that standard.
Why (enhancement)
The chain logic in internal/chain/ (resolve / graph / discovery / validate / write) is rendering-agnostic and carries no styling, which is correct for a data layer. The gap is on the presentation side: the chain visualization does not yet match the styled, polished presentation used elsewhere in fest. Consistent styling makes chained-festival relationships easier to read and keeps the CLI visually coherent.
Proposed scope
- Apply consistent Lipgloss styling to the chain view: colors, borders, spacing, and a clear visual hierarchy for chain nodes/edges and statuses.
- Improve terminal UX: responsive layout to terminal width, standard keybindings plus a visible help line, clear selection/focus state, and graceful rendering for deep or wide chains.
- Reuse the shared TUI theme/style conventions already used by the other fest TUIs rather than introducing a parallel styling path.
Acceptance
- The chain TUI is visually consistent with fest's other TUIs (same theme and styling primitives).
- Chain relationships and statuses are clearly legible; navigation and a help line are present.
- No regression to the chain data/logic in
internal/chain/.
Pointers
- Chain logic:
internal/chain/
- Existing styled TUIs to align with:
internal/tui/ (e.g. internal/tui/explore/ already renders chains with Lipgloss)
Summary
The
fest chainTUI / chain visualization should use the same Lipgloss styling and terminal-UX polish as the rest of fest's TUIs. fest already depends on the Charm stack (charmbracelet/lipgloss,bubbletea,bubbles), and surfaces like the explore TUI (internal/tui/explore/) use it; the chain view should match that standard.Why (enhancement)
The chain logic in
internal/chain/(resolve / graph / discovery / validate / write) is rendering-agnostic and carries no styling, which is correct for a data layer. The gap is on the presentation side: the chain visualization does not yet match the styled, polished presentation used elsewhere in fest. Consistent styling makes chained-festival relationships easier to read and keeps the CLI visually coherent.Proposed scope
Acceptance
internal/chain/.Pointers
internal/chain/internal/tui/(e.g.internal/tui/explore/already renders chains with Lipgloss)