added overlay function for tarot cards

This commit is contained in:
2026-03-08 03:52:25 -07:00
parent 84b340d7d1
commit 78abb582dd
17 changed files with 4050 additions and 1175 deletions

View File

@@ -64,6 +64,7 @@
suit: null,
rank: null,
hebrewLetterId,
kabbalahPathNumber: Number.isFinite(Number(card?.number)) ? Number(card.number) + 11 : null,
hebrewLetter: hebrewLetterRelation?.data || null,
summary: card.summary,
meanings: {
@@ -139,6 +140,7 @@
const cards = [];
const signs = Array.isArray(referenceData?.signs) ? referenceData.signs : [];
const signById = Object.fromEntries(signs.map((sign) => [sign.id, sign]));
const planets = referenceData?.planets || {};
const decanById = new Map();
const decansBySign = referenceData?.decansBySign || {};
@@ -200,6 +202,24 @@
)
);
const ruler = planets?.[meta?.decan?.rulerPlanetId] || null;
if (ruler) {
dynamicRelations.push(
createRelation(
"decanRuler",
`${meta.signId}-${meta.index}-${ruler.id || meta.decan?.rulerPlanetId || rankKey}-${rankKey}-${suitKey}`,
`Decan ruler: ${ruler.symbol || ""} ${ruler.name || meta.decan?.rulerPlanetId || ""}`.trim(),
{
signId: meta.signId,
decanIndex: meta.index,
planetId: ruler.id || meta.decan?.rulerPlanetId || null,
symbol: ruler.symbol || "",
name: ruler.name || meta.decan?.rulerPlanetId || ""
}
)
);
}
const dateRange = meta.dateRange;
if (dateRange?.start && dateRange?.end) {
const monthNumbers = listMonthNumbersBetween(dateRange.start, dateRange.end);