feat: glance-compressed shelf cards (#242) #250

Merged
claude-bot merged 1 commit from feat/242-glance-cards into main 2026-07-22 06:17:46 +00:00
Contributor

Glance-compressed shelf cards

Second v3.11 slice on top of the shelf MVP (#240). Shelf cards were rendering their full body, which reads as a wall of text at arm's length during play. Now each card shows a compact glance face by default, with full detail one tap away (Show more / Show less).

  • NPC generation cards get a structured face: a one-line want (else occupation) lead, occupation / pronouns facts, and a voice cue — with the secret held back until expanded.
  • Other kinds (rumor / table / loot / lore / prep) get a 3-line clamped gist, expandable to the full text.
  • The toggle only appears when there's more to show.

The glance is derived from the existing card snapshot (npcGlance helper) — so no backend, no migration, and cards already on a shelf compress immediately. The per-card render moved into a ShelfCard component that owns the expand state (drag-move / corner-resize / scroll from #240 preserved). Unit-tested across the glance shapes.

Fully offline — no LLM/ASR.

Closes #242. Part of #235.

🤖 Generated with Claude Code

## Glance-compressed shelf cards Second v3.11 slice on top of the shelf MVP (#240). Shelf cards were rendering their full body, which reads as a wall of text at arm's length during play. Now each card shows a **compact glance face by default**, with full detail **one tap away** (Show more / Show less). - **NPC generation cards** get a structured face: a one-line **want** (else occupation) lead, **occupation / pronouns** facts, and a **voice cue** — with the **secret held back until expanded**. - **Other kinds** (rumor / table / loot / lore / prep) get a 3-line **clamped gist**, expandable to the full text. - The toggle only appears when there's more to show. The glance is derived from the existing card **snapshot** (`npcGlance` helper) — so **no backend, no migration**, and cards already on a shelf compress immediately. The per-card render moved into a `ShelfCard` component that owns the expand state (drag-move / corner-resize / scroll from #240 preserved). Unit-tested across the glance shapes. Fully offline — no LLM/ASR. Closes #242. Part of #235. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(frontend): glance-compressed shelf cards (#242)
All checks were successful
CI / Docker image build (pull_request) Successful in 43s
CI / Backend lint (ruff) (pull_request) Successful in 50s
CI / Bot tests and audit (pull_request) Successful in 2m6s
CI / Frontend tests, audit, and build (pull_request) Successful in 3m50s
CI / Backend migration, tests, and audit (pull_request) Successful in 10m16s
fa63a0ce01
Shelf cards now show a compact glance face by default, with full detail one
tap away (Show more/less), so they read at arm's length during play instead of
as walls of text. NPC generation cards get a structured face — one-line want
(else occupation) lead, occupation/pronouns facts, and a voice cue — with the
secret held back until expanded; other kinds get a 3-line clamped gist. Glance
is derived from the existing snapshot (npcGlance helper), so no backend/migration
and existing cards compress immediately. Extracted the per-card render into a
ShelfCard component to own the expand state. Unit-tested.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
claude-bot deleted branch feat/242-glance-cards 2026-07-22 06:17:47 +00:00
Sign in to join this conversation.
No description provided.