Skip to content

Basic Energy plates, every SV/ME foil printing masked - #16

Merged
cheyras merged 2 commits into
mainfrom
feat/basic-energy
Oct 19, 2026
Merged

cheyras merged 2 commits into
mainfrom
feat/basic-energy

Conversation

@cheyras

@cheyras cheyras commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

The 32 basic energies (Scarlet & Violet Energy, Mega Evolution Energy) now have generated masks, and their Tinsel and Poké Ball reverse variants point at the right foils.

Where the images come from

TCGdex has no card images for sve or mee. The API has no image field for them and every asset URL returns 404, so DeckPal (which reads TCGdex) has none either. Limitless's card CDN has all 32, so the plates are generated from those scans. Resized to TCGdex's 600×825 framing they line up with zero offset. The scans are used only to generate plates and aren't stored; NOTICE.md records the source.

What changes

  • New basic-energy plate generator. The SV/ME reverse generator was treating Basic Energy as Special Energy (a text band with a star mosaic). The new plate is:
    • the whole art rectangle as foil;
    • the energy-symbol disc matte, found per card (the 2025 design moves it down);
    • the printed white glow treated as ink, so it lowers the plate.
  • Accuracy. The plate agrees 88–92% with the reference plates. Rendered as a mirror reverse it gives the same result as the reference plate: |dL| 0.034/0.032/0.032/0.025 against 0.036/0.034/0.034/0.027.
  • Scale. 81 variant rows; 32 objects uploaded and confirmed.
  • Variant fixes:
    • Tinsel energy reverses → tinsel-ii (the game's tinsel film).
    • Poké Ball energy reverses → pokeball-masterball (was ex-emerald, an EX-era sheet).
  • Cracked-ice energy reverses stay on cracked-ice. The game's cracked-ice film is near-invisible (|dL| 0.003), and ours is in the same range.

Every SV/ME foil printing gets a mask

  • Promos without TCGdex scans: 61 promos get scans from Limitless (svp-085 from pokemontcg.io) and are generated like the rest.
  • Odd variant kinds: 13 printings with stamp, metal or league kinds that the exporters never matched get their card's own plate.
  • Missing etches: 9 Phantasmal Flames Double Rares get etches.
  • Checked:
    • all 6,229 SV/ME foil printings have a foil plate;
    • all 2,031 full-art printings whose recipe reads an etch have one;
    • every index row's object is in the bucket (8,351 rows).

Checks

pnpm test passes 774/774. The data receipt, manifest, task queue, stage --check and independence checks all pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AuKmKnZs33HUQkf9nJEgLy

- TCGdex has no images for sve / mee; plates are generated from Limitless
  scans (used only for generation). New basic-energy generator: art
  rectangle foil, symbol disc matte (found per card), printed glow as ink.
  81 rows; our plate renders like the reference plate.
- Tinsel energy reverses -> tinsel-ii; Poke Ball energy reverses ->
  pokeball-masterball.

On-Behalf-Of: @cheyras
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AuKmKnZs33HUQkf9nJEgLy
@vercel

vercel Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
foilkit Ready Ready Preview Oct 19, 2026 11:15pm UTC

Request Review

- 61 promos without TCGdex scans: scans from Limitless (svp-085 from
  pokemontcg.io), classified and generated like the rest.
- 13 stamp / metal / league variant kinds get their card's own plate.
- 9 me02 Double rares get etch v2.
- Checked: 6,229 foil printings all have a plate; every etch-reading full
  printing has an etch; every index row's object is in the bucket.

On-Behalf-Of: @cheyras
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AuKmKnZs33HUQkf9nJEgLy
@cheyras cheyras changed the title Basic Energy printings get generated plates; energy variant fixes Basic Energy plates, every SV/ME foil printing masked Oct 19, 2026
@cheyras
cheyras merged commit 1d9d7e5 into main Oct 19, 2026
14 checks passed

This branch was successfully deployed

1 active deployment
Preview — de468876 Deployed Oct 19, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant