- Regenerate seed JSON for all 37 games with more complete PokeDB data
- Add category field to games.json (original/enhanced/remake/sequel/spinoff)
- Include all 1350 pokemon in pokemon.json with types and local sprites
- Build reverse index for PokeDB form lookups (types/sprites for evolutions)
- Move sprites to frontend/public/sprites, reference as /sprites/{id}.webp
- Truncate Sw/Sh den names to fit DB VARCHAR(100) limit
- Deduplicate route names and merge unnamed child areas into parent routes
- Populate 7 previously empty games (Sw/Sh, BDSP, PLA, Sc/Vi)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
1.7 KiB
Markdown
31 lines
1.7 KiB
Markdown
---
|
|
# nuzlocke-tracker-gkcy
|
|
title: Output seed JSON
|
|
status: completed
|
|
type: task
|
|
priority: normal
|
|
created_at: 2026-02-11T08:43:21Z
|
|
updated_at: 2026-02-11T10:00:00Z
|
|
parent: nuzlocke-tracker-bs05
|
|
blocking:
|
|
- nuzlocke-tracker-vdks
|
|
---
|
|
|
|
Generate the final per-game JSON files in the existing seed format.
|
|
|
|
## Checklist
|
|
|
|
- [x] **Apply route ordering**: Use the existing `backend/src/app/seeds/route_order.json` to assign `order` values to routes. Handle aliases (e.g. "red-blue" → "firered-leafgreen"). Log warnings for routes not in the order file.
|
|
- [x] **Merge special encounters**: Integrate starters, gifts, fossils, and trades from `backend/src/app/seeds/special_encounters.json` into the appropriate routes. Pokemon names are resolved to proper display names via PokemonMapper.
|
|
- [x] **Output per-game JSON**: Write `{game-slug}.json` files matching the existing format:
|
|
```json
|
|
[{"name": "Route 1", "order": 3, "encounters": [...], "children": []}]
|
|
```
|
|
- [x] **Output games.json**: Generate the global games list from `version_groups.json` — 38 games written, matching existing count.
|
|
- [x] **Output pokemon.json**: Generate the global pokemon list including all pokemon referenced in any encounter. Include pokeapi_id, national_dex, name, types, sprite_url.
|
|
- [x] **Handle version exclusives**: Encounters are filtered by `version_identifiers` per game — verified FireRed vs LeafGreen have 18 exclusives each.
|
|
|
|
## Notes
|
|
- The output must be a drop-in replacement for the existing files in `backend/src/app/seeds/data/`
|
|
- Boss data (`{game}-bosses.json`) is NOT generated by this tool — it's manually curated
|
|
- Evolutions data is also separate (currently from PokeAPI) — out of scope for this task |