feat(cli): default focus to logs panel and tighten splash + log row layout

- Default activeSection is now "logs" so the live log feed is what the
  user sees first when running `fn`.
- Splash drops the ASCII circle brand mark; only the FUSION block-letter
  word and tagline remain. The splash always pins to the top-left rather
  than centering, so it doesn't shift on resize. Compact terminals show
  plain "FUSION" text instead of block letters.
- Log rows render as a single Text with inline-colored spans (marker,
  timestamp, level, prefix, message). Prefix sits in a fixed 14-char
  slot so the message column aligns across rows, and the selection
  highlight now spans the full row width.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-04-24 19:46:48 -07:00
parent 58c7d88a3f
commit 314f8acccc
4 changed files with 41 additions and 88 deletions

View File

@@ -24,7 +24,7 @@ import { SECTION_ORDER } from "./state.js";
export class DashboardTUI {
// State fields mirror the original private layout so tests can access them.
activeSection: SectionId = "system";
activeSection: SectionId = "logs";
// Named `logBuffer` to match what captureConsole tests access via
// `(tui as unknown as { logBuffer: LogRingBuffer }).logBuffer`.
logBuffer: LogRingBuffer;