--- # nuzlocke-tracker-lsdy title: Genlocke cumulative graveyard status: in-progress type: feature priority: normal created_at: 2026-02-09T07:42:46Z updated_at: 2026-02-09T09:58:56Z parent: nuzlocke-tracker-25mh --- Display all deaths across all legs of a genlocke in a single unified graveyard view. ## Display - Accessible from the genlocke overview page - Shows all fainted Pokemon from every leg in one list - Each entry shows: - Pokemon sprite, nickname, species - Which leg/game it died in - Death cause (if recorded) - Level at death - Whether it was a transferred Pokemon (part of a lineage) or caught fresh in that leg - Sortable/filterable by leg, species, level, etc. - Summary stats: total deaths, deaths per leg, deadliest leg ## Backend - `GET /api/v1/genlockes/{id}/graveyard` — Return all fainted encounters across all legs of the genlocke - Aggregates encounters with status "fainted" from all runs belonging to the genlocke's legs ## Frontend - Could be a tab on the genlocke overview page or a separate sub-page (`/genlockes/:id/graveyard`) - Reuse existing graveyard/encounter display components where possible ## Checklist - [x] Implement `GET /api/v1/genlockes/{id}/graveyard` — query all encounters with status "fainted" across all runs linked to the genlocke's legs, include leg/game context per entry - [x] Add summary stats to the response: total deaths, deaths per leg, deadliest leg - [ ] Indicate whether each dead Pokemon was a transferred Pokemon or caught fresh (join with GenlockeTransfer) — deferred until GenlockeTransfer model exists (nuzlocke-tracker-lsc2) - [x] Build the cumulative graveyard component: list of dead Pokemon with sprite, nickname, species, leg/game, death cause, level - [x] Add sorting (by leg, level, species) and filtering (by leg/game) - [x] Integrate as a tab on the genlocke overview page or as a sub-route - [x] Reuse existing graveyard display components where applicable