dubbodeck: assemble each sig pile per-segment from the contributing seat's own deck (cross-deck), not one shared deck — TDD
Each polarity's 18-card sig pile now assembles from THREE seats by segment, each FROM THAT SEAT'S OWN deck: CROWNS/BRANDS courts (8) from the cb role's deck, GRAILS/BLADES courts (8) from the gb role's, majors 0/1 (2) from the tr role's — levity cb/gb/tr = PC/SC/NC, gravity = BC/AC/EC. So an RWS King of Grails (SC seat) can sit beside a Minchiate Queen of Wands (PC seat) in one levity pile, each carrying its own deck_variant -> per-card face/back art, NO schema change (cards already carry deck_variant). - models.py: new _POLARITY_SEGMENT_ROLES + _seat_deck_for_role + _court_cards + _major_cards + _polarity_sig_cards. A missing seat/deck falls back to _room_deck_variant, so a single-deck (or CARTE-solo) room assembles the IDENTICAL 18-card pile it always did (16 courts + 2 majors). sig_deck_cards is now the UNION of both polarity piles (note-unfiltered) -> select_sig's pick validation (views.py:1664) accepts a card from EITHER deck/polarity with no view change. Dropped the now-dead _sig_unique_cards; _sig_unique_cards_for_deck stays for personal_sig_cards (my_sign, single equipped deck). - TDD: DubbodeckAssemblyTest (4 ITs) — levity grails/blades come from the SC seat's distinct deck while crowns/brands stay earthman; the gravity pile is unaffected by a levity-seat deck; the validation set spans both decks; CARTE-solo one-deck feeds BOTH polarity piles sharing pks (no cross-polarity dedup). Existing SigDeckCompositionTest (36/16/16/4) + SigCardHelperTest (single-deck counts, note unlocks, share-pks, empty fallback) green — single-deck behavior preserved. 736 epic+drama ITs green. - 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:
@@ -296,7 +296,7 @@
|
||||
--terMrb: 115, 116, 117;
|
||||
--quaMrb: 85, 86, 87;
|
||||
--quiMrb: 55, 56, 57;
|
||||
--sixMrb: 25, 26, 27;
|
||||
--sixMrb: 35, 36, 37;
|
||||
// flaming porphyry (Satisfaction)
|
||||
--priPhy: 250, 105, 116;
|
||||
--secPhy: 200, 85, 92;
|
||||
@@ -306,7 +306,7 @@
|
||||
--sixPhy: 66, 20, 32;
|
||||
// threshold of adamant (Absolution)
|
||||
--priAdm: 35, 40, 43;
|
||||
--secAdm: 75, 81, 84;
|
||||
--secAdm: 65, 71, 74;
|
||||
--terAdm: 119, 131, 135;
|
||||
--quaAdm: 164, 180, 186;
|
||||
--quiAdm: 197, 213, 228;
|
||||
@@ -329,7 +329,7 @@
|
||||
--priBfp: 255, 92, 43;
|
||||
// Animal Bundle
|
||||
// • amber (clear honey)
|
||||
--priClh: 238, 160, 70;
|
||||
--priClh: 218, 145, 60;
|
||||
--secClh: 255, 216, 171;
|
||||
// • pink (common)
|
||||
--terClh: 238, 70, 148;
|
||||
@@ -347,7 +347,7 @@
|
||||
/* Lord Baltimore Hues */
|
||||
// yellow
|
||||
--priBlt: 235, 191, 0;
|
||||
--secBlt: 187, 147, 52;
|
||||
--secBlt: 137, 107, 32;
|
||||
// white
|
||||
--terBlt: 255, 255, 255;
|
||||
// --quaBlt: ;
|
||||
@@ -359,7 +359,7 @@
|
||||
--octBlt: 157, 34, 53;
|
||||
// orange
|
||||
--ninBlt: 221, 73, 38;
|
||||
// --decBlt: ;
|
||||
--decBlt: 181, 57, 30;
|
||||
|
||||
// Felt values
|
||||
--undUser: var(--priFor);
|
||||
@@ -420,16 +420,16 @@
|
||||
}
|
||||
/* Torre Terrestre Palette */
|
||||
.palette-terrestre {
|
||||
--priUser: var(--priAdm);
|
||||
--priUser: var(--sixMrb);
|
||||
--secUser: var(--quaAdm);
|
||||
--terUser: var(--sixAdm);
|
||||
--quaUser: var(--priPhy);
|
||||
--quiUser: var(--quiPhy);
|
||||
--sixUser: var(--terPer);
|
||||
--sepUser: var(--quaMrb);
|
||||
--sepUser: var(--secAdm);
|
||||
--octUser: var(--priPer);
|
||||
--ninUser: var(--sixPer);
|
||||
--decUser: var(--terMrb);
|
||||
--decUser: var(--priMrb);
|
||||
}
|
||||
/* Fantastia Celestia Palette */
|
||||
.palette-celestia {
|
||||
@@ -438,8 +438,8 @@
|
||||
--terUser: var(--terClh);
|
||||
--quaUser: var(--decClh);
|
||||
--quiUser: var(--ninClh);
|
||||
--sixUser: var(--sepClh);
|
||||
--sepUser: var(--priClh);
|
||||
--sixUser: var(--priClh);
|
||||
--sepUser: var(--sepClh);
|
||||
--octUser: var(--quaClh);
|
||||
--ninUser: var(--secClh);
|
||||
--decUser: var(--quiClh);
|
||||
@@ -454,10 +454,10 @@
|
||||
--secUser: var(--sixBlt);
|
||||
--terUser: var(--ninBlt);
|
||||
--quaUser: var(--priBlt);
|
||||
--quiUser: var(--terMze);
|
||||
--sixUser: var(--quiBlt);
|
||||
--quiUser: var(--secBlt);
|
||||
--sixUser: var(--ninBlt);
|
||||
--sepUser: var(--quiBlt);
|
||||
--octUser: var(--quiBlt);
|
||||
--octUser: var(--decBlt);
|
||||
--ninUser: var(--terBlt);
|
||||
--decUser: var(--quiBlt);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user