moved files to Decks/ directory

This commit is contained in:
2026-03-07 00:55:49 -08:00
parent f0ca6190e9
commit 71f006d984
242 changed files with 210 additions and 0 deletions

65
_template/STRUCTURE.md Normal file
View File

@@ -0,0 +1,65 @@
# Recommended Deck Layout
This file shows two practical folder layouts that match the example manifests in this template folder.
## Option 1: Template-Driven Layout
Use with `deck.json`.
```text
My Custom Deck/
deck.json
majors/
00.png
01.png
02.png
...
21.png
minors/
wands-01.png
wands-02.png
...
wands-14.png
cups-01.png
...
swords-14.png
disks-14.png
```
How it resolves:
- Majors use `majors/{number}.png` with `numberPad: 2`
- Minors use `minors/{suit}{index}.png`
- `suitPrefix.wands = "wands-"` means `Ace of Wands -> minors/wands-01.png`
## Option 2: Explicit Major Map + Sequential Minors
Use with `deck.canonical-map.example.json` after renaming it to `deck.json`.
```text
My Mapped Deck/
deck.json
majors/
fool.webp
magician.webp
high-priestess.webp
...
world.webp
minors/
01.webp
02.webp
03.webp
...
56.webp
```
How it resolves:
- Each major is explicitly mapped in `majors.cards`
- Minors use `minors/{number}.webp`
- `suitBase` controls where each suit starts in the numbered run
## Practical Notes
- Keep file extensions and case consistent with your manifest.
- If your deck uses renamed trumps such as `Aeon` or `Universe`, keep the image names aligned with either `nameOverrides` or explicit `cards` mappings.
- If your minors have titled names such as `Six of Cups -> Pleasure`, define those in `minorNameOverrides`.
- `validate:decks` checks manifest shape, required card coverage, supported modes, and referenced image files.

View File

@@ -0,0 +1,61 @@
{
"id": "my-mapped-deck",
"label": "My Mapped Deck",
"majors": {
"mode": "canonical-map",
"cards": {
"fool": "majors/fool.webp",
"magician": "majors/magician.webp",
"high priestess": "majors/high-priestess.webp",
"empress": "majors/empress.webp",
"emperor": "majors/emperor.webp",
"hierophant": "majors/hierophant.webp",
"lovers": "majors/lovers.webp",
"chariot": "majors/chariot.webp",
"strength": "majors/strength.webp",
"hermit": "majors/hermit.webp",
"wheel of fortune": "majors/wheel-of-fortune.webp",
"justice": "majors/justice.webp",
"hanged man": "majors/hanged-man.webp",
"death": "majors/death.webp",
"temperance": "majors/temperance.webp",
"devil": "majors/devil.webp",
"tower": "majors/tower.webp",
"star": "majors/star.webp",
"moon": "majors/moon.webp",
"sun": "majors/sun.webp",
"judgement": "majors/judgement.webp",
"world": "majors/world.webp"
}
},
"minors": {
"mode": "suit-base-number-template",
"template": "minors/{number}.webp",
"suitBase": {
"wands": 1,
"cups": 15,
"swords": 29,
"disks": 43
},
"rankOrder": [
"Ace",
"Two",
"Three",
"Four",
"Five",
"Six",
"Seven",
"Eight",
"Nine",
"Ten",
"Page",
"Knight",
"Queen",
"King"
],
"numberPad": 2
},
"minorNameOverrides": {
"six of cups": "Pleasure"
}
}

53
_template/deck.json Normal file
View File

@@ -0,0 +1,53 @@
{
"id": "my-custom-deck",
"label": "My Custom Deck",
"majors": {
"mode": "trump-template",
"template": "majors/{number}.png",
"numberPad": 2
},
"minors": {
"mode": "suit-prefix-and-rank-order",
"template": "minors/{suit}{index}.png",
"suitPrefix": {
"wands": "wands-",
"cups": "cups-",
"swords": "swords-",
"disks": "disks-"
},
"rankOrder": [
"Ace",
"Two",
"Three",
"Four",
"Five",
"Six",
"Seven",
"Eight",
"Nine",
"Ten",
"Princess",
"Prince",
"Queen",
"Knight"
],
"indexStart": 1,
"indexPad": 2
},
"nameOverrides": {
"judgement": "Aeon",
"justice": "Adjustment",
"temperance": "Art",
"strength": "Lust",
"world": "Universe",
"magician": "Magus"
},
"minorNameOverrides": {
"six of cups": "Pleasure",
"two of swords": "Peace"
},
"majorNameOverridesByTrump": {
"20": "Aeon",
"21": "Universe"
}
}