my-sea cards: fix rotated significator/cross blur — drop the 4-shadow contour chain on rotated image cards, keep depth — TDD
All checks were successful
ci/woodpecker/push/pyswiss Pipeline was successful
ci/woodpecker/push/main Pipeline was successful

The image-card contour stroke is 4 chained `drop-shadow()`s; each re-rasterizes
the already-downscaled card (408→~64px), so on a ROTATED card the compounded
re-sampling reads as BLUR. It's NOT the angle — even the 5° significator blurs,
while the 90° cross blurs hardest; the upright COVER (same filter, no rotation)
+ the unrotated preview modal stay crisp. Verified live (dpr 1): a lone depth
drop-shadow on a rotated card is crisp, the 4-shadow chain is not.

Fix: the rotated image cards (`.sea-sig-card` -5° + `.sea-pos-cross .sea-card-slot`
90°/270°) drop the contour chain, keeping only the depth drop-shadow → crisp.
Upright cards keep the full contour. Zeroing `--img-stroke-w` wouldn't help (the
blur is the chained-shadow re-rasterization, not the stroke offset). RWS's
contour was a redundant double-frame over its printed border anyway, so its
rotated cards lose nothing visible.

Verified in Firefox: the enlarged 5° significator renders crisp (sharp title +
edges) with depth + printed border intact.

Code architected by Disco DeDisco <discodedisco@outlook.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Disco DeDisco
2026-05-30 02:26:29 -04:00
parent 7e39740f9c
commit d8377b57bc

View File

@@ -870,6 +870,20 @@ body.deck-family-english {
--img-stroke-w: 0.125rem;
}
// ROTATED image cards (the 5° spread significator + the 90°/270° cross) drop the
// 4-cardinal CONTOUR-stroke chain, keeping ONLY the depth drop-shadow. Each
// contour drop-shadow re-rasterizes the already-downscaled card image (408→64px
// here), so a rotation compounds that re-sampling into visible BLUR — verified
// 2026-05-30: a lone depth shadow on a rotated card stays crisp, the 4-shadow
// chain does not (it's NOT the angle; even the 5° sig blurs). Upright cards keep
// the full contour. The override sets `filter` outright (zeroing `--img-stroke-w`
// wouldn't help — the blur is the chained-shadow re-rasterization, not the
// offset). Source-ordered after the base + english rules to win the 0-3-0 tie.
.sea-sig-card.sig-stage-card--image .sig-stage-card-img,
.sea-pos-cross .sea-card-slot--image .sig-stage-card-img {
filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 1));
}
// ─── My Sign picker — sizing + state-gated reveal ────────────────────────────
// Two-phase layout: landing (DRY 1-chair hex w. SCAN SIGN center) → picker
// (sig-card grid below an always-present stage frame). SAVE SIGN rides