Implements the genlocke creation feature end-to-end: Genlocke and GenlockeLeg models with migration, POST /genlockes endpoint that creates the genlocke with all legs and auto-starts the first run, and a 4-step wizard UI (Name, Select Games with preset templates, Rules, Confirm) at /genlockes/new. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
title, status, type, priority, created_at, updated_at, parent, blocking
| title | status | type | priority | created_at | updated_at | parent | blocking | |
|---|---|---|---|---|---|---|---|---|
| Gather generation metadata (games, regions) | completed | task | normal | 2026-02-08T19:20:49Z | 2026-02-09T08:06:19Z | nuzlocke-tracker-25mh |
|
Collect and store metadata about each Pokemon generation to support genlocke features. This data is needed so the app can present generation-aware options when setting up a genlocke (e.g. "pick one game per generation").
Data to gather per generation
- Generation number (1–9)
- Main region (e.g. Gen 1 → Kanto, Gen 2 → Johto, etc.)
- Games in the generation — including remakes and enhanced versions:
- Original titles (e.g. Red, Blue, Yellow)
- Remakes that belong to the generation's region (e.g. FireRed/LeafGreen are Gen 1 region but Gen 3 era)
- Consider whether remakes should be listed under their original generation (by region) or their release generation (by engine/dex) — genlocke players typically organize by region
Notes
- This could be stored as seed data (JSON) or as a database table
- The existing Game model already has
generationandregionfields, so some of this data may already be derivable from existing games in the DB - However, a dedicated generations reference would be useful for UI purposes (showing all generations even if not all games are seeded yet)
- Check if
backend/src/app/seeds/data/generations.jsonalready exists or if this needs to be created from scratch
Decisions
- Legends games (Hisui, Lumiose) are excluded from genlocke presets — available via Custom only
- Black 2/White 2 are grouped with Black/White in the same Unova slot (category: sequel)
- Normal Genlocke defaults use best mainline remake: FireRed, HeartGold, Alpha Sapphire, Platinum, Ultra Sun
- Metadata stored as
categoryfield on Game model + standaloneregions.jsonseed file
Checklist
- Define the generation-to-region mapping (Gen 1 = Kanto, Gen 2 = Johto, ..., Gen 9 = Paldea)
- Determine how to group games by region (use
regionfield on existing Game model, or create a dedicated lookup) - Create a
regions.jsonseed file (or equivalent) with: generation number, region name, region order, and which games belong to each region - Categorize each game as "original", "remake", "enhanced", "sequel", or "spinoff" so presets can filter appropriately
- Define which game is the "default" pick per region for the Normal Genlocke preset (e.g., FireRed for Kanto, HeartGold for Johto)
- Add an API endpoint or extend the games endpoint to return games grouped by region with generation metadata
- Verify all seeded games are correctly tagged with their region