Skip to content

Shop room: readable text in Foundry, and Chronicle's current room - #168

Merged
keyxmakerx merged 1 commit into
mainfrom
claude/project-thread-5tj6tg
Oct 4, 2026
Merged

keyxmakerx merged 1 commit into
mainfrom
claude/project-thread-5tj6tg

Conversation

@keyxmakerx

Copy link
Copy Markdown
Owner

Fixes: none (Key Maker's report: the text in the Foundry shop room is unreadable because of its colours)
Security implication: none. CSS and a vendored widget copy only.
Consumer-verified: n/a
Mockup: n/a. This is an "it works again" fix: the room's text and panels now look as they do on the Chronicle shop page. The widget refresh brings in Chronicle's shop room from keyxmakerx/Chronicle#1093, which was signed on the Chronicle side.

What this changes

Before: in Foundry the shop room's text was hard or impossible to read. Labels, prices and the basket showed pale text on white panels.

After: the room uses Chronicle's own light colours, so the text reads the same as on the Chronicle shop page. This covers the hover tooltip, the speech bubble and the character picker too.

Why it happened

The widget colours itself from Chronicle's theme variables, such as --color-text-primary and --color-card-bg, with light fallbacks. Foundry's own theme defines some of those same names for its own palette, including the text ones, but not the panel ones. In Foundry the text therefore took Foundry's light theme text colour, while the panels fell back to white.

How

  • styles/chronicle-sync.css: .chronicle-shop-room and the widget's body-level .shr-tip, .shr-say and .shr-pick pin Chronicle's light palette. The values are Chronicle's :root light values, which are also the widget's own fallbacks.
  • vendor/chronicle/shop_room.js: copied again from Chronicle main 5580c08, which includes #1093. shop_room_icons.js is unchanged.

Test plan

  • CHRONICLE_DIR=../Chronicle node --test tools/test-*.mjs, with Chronicle at main 5580c08: 1174 pass, 0 fail. On module main without this change, the vendored-copy comparison fails, so the run is 1173 pass, 1 fail.
  • Live Foundry check (TESTING.md "Shop Widget"), on a dark Foundry theme:
    1. Open a shop's room.
    2. The shop name, goods list, prices and basket are dark text on light panels.
    3. Hovering a good shows a readable tooltip.

Tenet self-check

  • T-B1 security: n/a.
  • T-B2 plugin isolation: module CSS and vendored file only.
  • T-B3 production UI: restores readable text.
  • T-B4 docs: comment in the CSS says why.

Generated by Claude Code

Foundry's theme defines some of Chronicle's colour variable names for its
own palette but not the panel ones, so the room showed light text on its
white fallback panels. The window and the widget's tooltip, bubble and
picker now pin Chronicle's light palette. The vendored widget is copied
again from Chronicle main.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JRAx4Ex5fEHkxVB5Yaqw86
@keyxmakerx
keyxmakerx marked this pull request as ready for review October 4, 2026 22:05
@keyxmakerx
keyxmakerx merged commit 60b3983 into main Oct 4, 2026
3 checks passed
@keyxmakerx
keyxmakerx deleted the claude/project-thread-5tj6tg branch October 4, 2026 23:17
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.

2 participants