Lateania: rich character sheet, class portraits, and roster tables#348
Merged
mpiorowski merged 4 commits intoJun 16, 2026
Merged
Conversation
Bring a richer, more visual layer to Lateania's UI: - The Character panel (c) now expands to a full-width dashboard when the terminal has room (>=72x14): an accent-tinted class portrait, the six ability scores as dot ratings with the class's primary score highlighted, HP/resource shown as filled meters, combat numbers, the passive trait, earned titles, and an XP meter. It falls back to the existing narrow side panel on cramped terminals. - Each class gets an ASCII portrait bust, tinted by a per-class accent colour and captioned with a class emblem. - The room Foes and Adventurers lists and the Follow (party) panel now render as aligned roster rows: name column plus a small HP meter tinted by remaining health. The Follow panel previously ignored the occupant HP it already carried. All rendering stays lock-free and snapshot-only. Adds unit tests for the score-dot, meter, and name-fit helpers. Signed-off-by: Tony Hosaroygard <tasmaniamate@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Thanks for late.sh, @mpiorowski! This makes Lateania's UI feel a lot more alive — inspired by the dense, visual character/roster panels in team-management TUIs.
What
c) now expands into a dashboard when the terminal has room (≥72×14): an accent-tinted class portrait, the six ability scores as dot ratings (the class's primary score highlighted), HP/resource as filled meters, combat numbers, the passive trait, earned titles, and an XP meter. On cramped terminals it falls back to the existing narrow side panel, so nothing regresses for small windows.All rendering stays lock-free and snapshot-only — no changes to the service, world, or persistence. Reuses the existing
build_composer-style helpers and the snapshot's existing data; no new fields onPlayerView.Tests
Added unit tests for the pure helpers (dot-rating scaling, meter fill/clamp, unicode-aware name fit/ellipsize).
Updated
door/lateania/CONTEXT.mdto describe the new sheet/roster rendering.