cards 48–49 polarity-split titles; sea-stage mobile breakpoints; @comment fix — TDD
- migration 0015 fills card 49 levity_reversal=The Vibrational Mould of Man, gravity_reversal=The All-Bestowing Eagle (card 48 already seeded in 0004)
- _tarot_fan.html: 4 new data-* attrs (data-levity-emanation / data-gravity-emanation / data-levity-reversal / data-gravity-reversal); upright + reversal slots render full polarity-split title in name slot when set, qualifier slots blank
- StageCard.fromDataset: parse the 4 new attrs; populateCard: emanationOverride / reversalOverride per polarity bypasses the standard name+qualifier rendering
- model: emanation_for / reversal_for fall back to name_title (group prefix stripped) instead of full self.name; reversal_for uses self.reversal_qualifier (was leftover self.reversal post-rename)
- sea-stage-content: --sig-card-w lifted from inline style to SCSS w. portrait ≤480px / landscape ≤500h breakpoints both stepping to 130px (mirrors fan modal triggers); default 180px
- _tarot_fan.html: rewrite multi-line {# #} that rendered as page text into {% comment %}{% endcomment %}
Code architected by Disco DeDisco <discodedisco@outlook.com>
Git commit message Co-Authored-By:
Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
"""Populate card 49's polarity-split reversal titles.
|
||||
|
||||
The Earthman deck's last two cards (48–49) carry distinct titles per polarity
|
||||
(stored in `levity_emanation` / `gravity_emanation` / `levity_reversal` /
|
||||
`gravity_reversal`) rather than a shared title + qualifier.
|
||||
|
||||
Card 48 had its full set seeded in migration 0004:
|
||||
levity: Father Sky → reversal: The Storm
|
||||
gravity: Mother Sea → reversal: The Flood
|
||||
|
||||
Card 49 had only emanations seeded; this migration fills the reversals:
|
||||
levity: The Effulgent Mould of Man → reversal: The Vibrational Mould of Man
|
||||
gravity: The Devouring Eagle → reversal: The All-Bestowing Eagle
|
||||
|
||||
The "qualifier" (Effulgent / Vibrational / Devouring / All-Bestowing) is baked
|
||||
into the title between "The" and the title-proper rather than rendered as a
|
||||
separate qualifier slot — the per-polarity title strings are stored verbatim.
|
||||
"""
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
def populate_card49_reversals(apps, schema_editor):
|
||||
TarotCard = apps.get_model("epic", "TarotCard")
|
||||
DeckVariant = apps.get_model("epic", "DeckVariant")
|
||||
try:
|
||||
earthman = DeckVariant.objects.get(slug="earthman")
|
||||
except DeckVariant.DoesNotExist:
|
||||
return
|
||||
TarotCard.objects.filter(
|
||||
deck_variant=earthman, arcana="MAJOR", number=49,
|
||||
).update(
|
||||
levity_reversal="The Vibrational Mould of Man",
|
||||
gravity_reversal="The All-Bestowing Eagle",
|
||||
)
|
||||
|
||||
|
||||
def clear_card49_reversals(apps, schema_editor):
|
||||
TarotCard = apps.get_model("epic", "TarotCard")
|
||||
DeckVariant = apps.get_model("epic", "DeckVariant")
|
||||
try:
|
||||
earthman = DeckVariant.objects.get(slug="earthman")
|
||||
except DeckVariant.DoesNotExist:
|
||||
return
|
||||
TarotCard.objects.filter(
|
||||
deck_variant=earthman, arcana="MAJOR", number=49,
|
||||
).update(
|
||||
levity_reversal="",
|
||||
gravity_reversal="",
|
||||
)
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("epic", "0014_rename_reversal_to_reversal_qualifier"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(populate_card49_reversals, reverse_code=clear_card49_reversals),
|
||||
]
|
||||
Reference in New Issue
Block a user