Files
Ferrous-Solitaire/assets/cards/faces/classic/QS_BUG.md
T
funman300 9623bdeede fix(engine): wire FiraMono to Android corner label and add CardImageSet tests
Bug #1 (QS wrong watermark): extracted card_face_asset_path() pure helper so
the (Rank, Suit) → filename mapping is tested in isolation. 6 new unit tests
confirm all 52 keys are unique and each suit resolves to its correct letter.
QS.png has the wrong artwork baked in (confirmed via MD5); QS_BUG.md documents
the required asset replacement.

Bug #2/#3 (red square / invisible black suit on Android): add_android_corner_label
used TextFont { ..default() } which gives Bevy's built-in font — that font
lacks U+2660–U+2666, so suit glyphs rendered as a colored missing-glyph
rectangle. Threaded Option<&Handle<Font>> from sync_cards_startup/on_change →
sync_cards → spawn/update_card_entity → add_android_corner_label, which now
passes FiraMono explicitly. Non-Android builds silence the unused param with
let _ = font_handle.

Bug #4 (waste pile): static analysis found no z or fan-offset bug; two new
tests (waste_pile_cards_have_strictly_increasing_z, _draw_one_cards_have_distinct_z)
pin the invariant for future changes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 13:12:02 -07:00

17 lines
755 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# QS.png — Asset Content Bug
**Status:** Needs manual fix — replace `QS.png` with correct artwork.
**Symptom:** The Queen of Spades card renders with a diamond watermark baked
into the PNG artwork, while the top-left Android overlay correctly shows "Q♠".
**Diagnosis:**
- The code-side mapping (`card_face_asset_path(Rank::Queen, Suit::Spades)`)
correctly returns `"cards/faces/classic/QS.png"` — confirmed by unit test.
- `QS.png` and `QD.png` have distinct MD5 hashes, so they are not the same
file. The bug is in the pixel content of `QS.png` itself.
**Fix:** Replace `QS.png` with a correctly-drawn Queen of Spades image (spade
watermark, not diamond). The image should be 120×168 px to match every other
card face in this directory.