Skip to content

feat: P3 presentation polish — glyph presets, segmented separators, live preview row - #118

Merged
rz1989s merged 9 commits into
mainfrom
feat/104-fleet-presentation-p3
Sep 6, 2026
Merged

rz1989s merged 9 commits into
mainfrom
feat/104-fleet-presentation-p3

Conversation

@rz1989s

@rz1989s rz1989s commented Sep 5, 2026

Copy link
Copy Markdown
Member

P3 — presentation polish (spec §5 P3, ratified 39c3a3f)

  • Glyph presets: unicode (default) / nerd (FA PUA icons) / ascii (dumb terminals) — static resolve from ARMORY_FLEET_GLYPHS at module load; invalid value → unicode + one stderr warning; zero consumer call-site churn; per-preset key-parity tests.
  • Segmented footer separators: hint() joins hint-bar segments with the preset footerSep ( / |); totals strip and intra-row · separators unchanged (normative mockup).
  • Live run-card preview row: Fleet tab renders the selected run's state line exactly as in-transcript (unthemed), only while the run is running; blank reserved line otherwise; stale ids degrade to blank.
  • stateLine extracted from liveCardLines (byte-identical, existing pins untouched); bgCardSnapshot lifted from index.ts to rows.ts.

Spec: §5 P3 · Tests: per-preset parity, resolvePresetName table, hint joins, stateLine parity, previewLine truth table (933/933, typecheck clean) · Smoke: 3-preset real-pi tour at 140 cols (unicode regression + live preview tick, ascii glyph-free, nerd byte-verified, invalid-env warn-once).

Dogfood catches filed during execution: #115 (footer r:Run-new no handler, pre-existing), #116 (widget glued separators, pre-existing), #117 (preview ctx% — RunRecord maxContext follow-up).

@rz1989s
rz1989s merged commit f6492fc into main Sep 6, 2026
1 check passed
@rz1989s
rz1989s deleted the feat/104-fleet-presentation-p3 branch September 6, 2026 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant