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>
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user