dubbodeck per-card FLIP back: the sig stage FLIPs each card to its OWN deck's back, not the seat's — finishes the cross-deck story — TDD
Pairs with the dubbodeck assembly: a mixed pile can now hold cards from up to three decks per polarity, so the single server-rendered back (the viewer's seat deck) was wrong for any cross-deck card. Now per-card: each .sig-card thumbnail carries data-back-image-url (its OWN deck back, only for non-polarized image decks; empty otherwise); stage-card.js fromDataset reads back_image_url + _setImageMode repoints the stage .sig-stage-card-back-img at the FOCUSED card's back and shows/hides the FLIP affordance per card (a backless card in the pile hides FLIP + drops any flipped state). - _sig_select_overlay.html: the stage back-img + FLIP now render on sig_pile_has_backs (ANY pile card is a non-polarized image deck) instead of the viewer's-seat-deck gate, so an RWS grails/blades card in a PC-earthman viewer's pile can FLIP. Initial src dropped (JS sets it on first focus). epic/views.py computes the flag where sig_cards is set; _court_cards/_major_cards gained select_related(deck_variant) to keep the per-card deck access N+1-free. TDD: 3 ITs in SigSelectUnifiedStageTest (non-polarized image deck -> per-card /static back url + sig_pile_has_backs + stage back-img/FLIP rendered; polarized deck -> empty back + no FLIP element; text-only deck -> empty back). 562 epic view+model ITs green. The JS repoint/hide is the stage-Jasmine debt (deferred) — manually verified. - bundled (parallel work): rootvars.scss ongoing palette tuning. [[project-deck-segment-model]] [[project-image-based-deck-face-rendering]] Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -17,26 +17,26 @@
|
||||
/* Precious Metal Hues */
|
||||
// nickel
|
||||
--priNi: 141, 142, 140;
|
||||
--secNi: 118, 120, 118;
|
||||
--terNi: 93, 95, 94;
|
||||
--terNi: 0, 0, 0;
|
||||
--quaNi: 0, 0, 0;
|
||||
--quiNi: 0, 0, 0;
|
||||
--sixNi: 0, 0, 0;
|
||||
--secNi: 108, 120, 108;
|
||||
--terNi: 80, 108, 80;
|
||||
--quaNi: 63, 95, 64;
|
||||
--quiNi: 43, 75, 44;
|
||||
--sixNi: 23, 56, 26;
|
||||
|
||||
// palladium
|
||||
--priPd: 188, 193, 165;
|
||||
--secPd: 155, 160, 138;
|
||||
--terPd: 124, 129, 111;
|
||||
--quaPd: 0, 0, 0;
|
||||
--quiPd: 0, 0, 0;
|
||||
--sixPd: 0, 0, 0;
|
||||
--priPd: 218, 223, 181;
|
||||
--secPd: 188, 193, 165;
|
||||
--terPd: 155, 160, 138;
|
||||
--quaPd: 124, 129, 111;
|
||||
--quiPd: 97, 99, 76;
|
||||
--sixPd: 72, 75, 0;
|
||||
// platinum
|
||||
--priPt: 229, 228, 226;
|
||||
--secPt: 189, 190, 189;
|
||||
--terPt: 152, 153, 153;
|
||||
--quaPt: 0, 0, 0;
|
||||
--quiPt: 0, 0, 0;
|
||||
--sixPt: 0, 0, 0;
|
||||
--secPt: 191, 190, 188;
|
||||
--terPt: 152, 151, 149;
|
||||
--quaPt: 122, 121, 119;
|
||||
--quiPt: 92, 91, 89;
|
||||
--sixPt: 62, 61, 59;
|
||||
// titanium
|
||||
--priTi: 38, 57, 69;
|
||||
--secTi: 57, 79, 94;
|
||||
@@ -350,16 +350,18 @@
|
||||
--secBlt: 137, 107, 32;
|
||||
// white
|
||||
--terBlt: 255, 255, 255;
|
||||
// --quaBlt: ;
|
||||
// red
|
||||
--quaBlt: 178, 12, 18;
|
||||
// black
|
||||
--quiBlt: 0, 0, 0;
|
||||
--sixBlt: 162, 170, 173;
|
||||
// purple
|
||||
--sepBlt: 50, 30, 95;
|
||||
// red again
|
||||
--octBlt: 157, 34, 53;
|
||||
// orange
|
||||
--ninBlt: 221, 73, 38;
|
||||
--decBlt: 181, 57, 30;
|
||||
--ninBlt: 200, 63, 28;
|
||||
--decBlt: 121, 39, 22;
|
||||
|
||||
// Felt values
|
||||
--undUser: var(--priFor);
|
||||
@@ -452,11 +454,11 @@
|
||||
.palette-baltimore {
|
||||
--priUser: var(--sepBlt);
|
||||
--secUser: var(--sixBlt);
|
||||
--terUser: var(--ninBlt);
|
||||
--terUser: var(--quaBlt);
|
||||
--quaUser: var(--priBlt);
|
||||
--quiUser: var(--secBlt);
|
||||
--sixUser: var(--ninBlt);
|
||||
--sepUser: var(--quiBlt);
|
||||
--sepUser: var(--quaBlt);
|
||||
--octUser: var(--decBlt);
|
||||
--ninUser: var(--terBlt);
|
||||
--decUser: var(--quiBlt);
|
||||
@@ -466,12 +468,12 @@
|
||||
.palette-maryland {
|
||||
--priUser: var(--quiBlt);
|
||||
--secUser: var(--sixBlt);
|
||||
--terUser: var(--secBlt);
|
||||
--quaUser: var(--priYl);
|
||||
--quiUser: var(--octBlt);
|
||||
--sixUser: var(--quiBlt);
|
||||
--sepUser: var(--quiBlt);
|
||||
--octUser: var(--quiBlt);
|
||||
--terUser: var(--priYl);
|
||||
--quaUser: var(--priBlt);
|
||||
--quiUser: var(--quaBlt);
|
||||
--sixUser: var(--octBlt);
|
||||
--sepUser: var(--sepBlt);
|
||||
--octUser: var(--decBlt);
|
||||
--ninUser: var(--priRd);
|
||||
--decUser: var(--quiBlt);
|
||||
}
|
||||
@@ -483,9 +485,9 @@
|
||||
--terUser: var(--sixAg); /* 240,240,240 — bright white accent */
|
||||
--quaUser: var(--sixAg); /* 240,240,240 — active/interactive */
|
||||
--quiUser: var(--secAg); /* 133,133,133 — secondary action */
|
||||
--sixUser: var(--quaAg); /* 100,100,100 — subtle mid */
|
||||
--sepUser: var(--priPt); /* 60,60,60 — deep subtle */
|
||||
--octUser: var(--quiPt); /* 189,190,189 — links (cooler silver) */
|
||||
--sixUser: var(--secFe); /* 100,100,100 — subtle mid */
|
||||
--sepUser: var(--quiPd); /* 60,60,60 — deep subtle */
|
||||
--octUser: var(--priFe); /* 189,190,189 — links (cooler silver) */
|
||||
--ninUser: var(--sixAg); /* 240,240,240 — glow highlight */
|
||||
--decUser: var(--terAg); /* 100,100,100 — mid tone */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user