Refine Naming Generator Epic

This commit is contained in:
Julian Tabel
2026-02-11 17:00:16 +01:00
parent 5582d9028f
commit e61fce5f72
5 changed files with 132 additions and 4 deletions

View File

@@ -0,0 +1,28 @@
---
# nuzlocke-tracker-bi4e
title: Integrate name suggestions into encounter registration UI
status: todo
type: task
created_at: 2026-02-11T15:56:44Z
updated_at: 2026-02-11T15:56:44Z
parent: nuzlocke-tracker-igl3
---
Show name suggestions in the encounter registration flow so users can pick a nickname with a single click.
## Requirements
- When a user clicks an encounter slot and registers a new Pokemon, display 5-10 name suggestions below/near the nickname input
- Each suggestion is a clickable chip/button that fills in the nickname field
- Include a "regenerate" button to get a fresh batch of suggestions
- Only show suggestions if the run has a naming scheme selected
- The nickname input should still be editable for manual entry
## Checklist
- [ ] Add a name suggestions component (chips/buttons with regenerate)
- [ ] Integrate the component into the encounter registration modal/form
- [ ] Wire up the name suggestion engine to the component
- [ ] Ensure clicking a suggestion populates the nickname field
- [ ] Ensure regenerate fetches a new batch without repeating prior suggestions
- [ ] Hide suggestions gracefully if no naming scheme is set on the run

View File

@@ -0,0 +1,28 @@
---
# nuzlocke-tracker-c6ly
title: Build name suggestion engine
status: todo
type: task
priority: normal
created_at: 2026-02-11T15:56:44Z
updated_at: 2026-02-11T15:56:48Z
parent: nuzlocke-tracker-igl3
blocking:
- nuzlocke-tracker-bi4e
---
Build the core logic that picks random name suggestions from the dictionary based on a selected naming scheme (category).
## Requirements
- Given a category and a list of already-used names in the run, return 5-10 unique suggestions
- Suggestions must not include names already assigned to other Pokemon in the same run
- Support regeneration (return a fresh batch, avoiding previously shown suggestions where possible)
- Handle edge case where category is nearly exhausted gracefully (return fewer suggestions)
## Checklist
- [ ] Create a service/utility module for name suggestion logic
- [ ] Implement random selection from a category with exclusion of used names
- [ ] Implement regeneration that avoids repeating previous suggestions
- [ ] Add unit tests for the suggestion logic

View File

@@ -1,11 +1,26 @@
---
# nuzlocke-tracker-igl3
title: Name Generation
status: draft
status: todo
type: epic
priority: deferred
priority: normal
created_at: 2026-02-05T13:45:15Z
updated_at: 2026-02-10T12:05:44Z
updated_at: 2026-02-11T15:57:27Z
---
For nuzlockes I want to implement name generation. The user should be able to provide a naming scheme or a list of nick names that can then be selected when a new encounter is registered.
Implement a dictionary-based nickname generation system for Nuzlocke runs. Instead of using an LLM API to generate names on the fly, provide a static dictionary of words categorised by theme. A word can belong to multiple categories, making it usable across different naming schemes.
## Approach
- **Static dictionary**: A local data file (JSON) containing words tagged with categories (e.g. mythology, food, space, nature, warriors, music, etc.)
- **~150-200 words per category**: A typical Nuzlocke has ~100 encounters, so this provides ample variety without repetition.
- **Name suggestion UX**: When registering a new encounter, the user is shown 5-10 suggested names from their chosen naming scheme. They can click one to select it, or regenerate for a fresh batch.
- **Naming scheme selection**: Users pick a naming scheme (category) per run, either at run creation or in run settings.
## Success Criteria
- [ ] Word dictionary data file exists with multiple categories, each containing 150-200 words
- [ ] Name suggestion engine picks random names from the selected category, avoiding duplicates already used in the run
- [ ] Encounter registration UI shows 5-10 clickable name suggestions
- [ ] User can regenerate suggestions if none fit
- [ ] User can select a naming scheme per run

View File

@@ -0,0 +1,28 @@
---
# nuzlocke-tracker-m86o
title: Add naming scheme selection to run configuration
status: todo
type: task
priority: normal
created_at: 2026-02-11T15:56:44Z
updated_at: 2026-02-11T15:56:48Z
parent: nuzlocke-tracker-igl3
blocking:
- nuzlocke-tracker-bi4e
---
Allow users to select a naming scheme (category) for their Nuzlocke run.
## Requirements
- Add a `namingScheme` field to the run model/settings (optional, nullable — user may not want auto-naming)
- Provide a dropdown/selector in run creation and run settings where the user can pick a category
- List available categories dynamically from the dictionary data
- Allow changing the naming scheme mid-run
## Checklist
- [ ] Add `namingScheme` field to the NuzlockeRun type/model
- [ ] Add naming scheme selector to run creation UI
- [ ] Add naming scheme selector to run settings UI
- [ ] Persist the selected naming scheme with the run data

View File

@@ -0,0 +1,29 @@
---
# nuzlocke-tracker-ueyy
title: Create name dictionary data file
status: todo
type: task
priority: normal
created_at: 2026-02-11T15:56:26Z
updated_at: 2026-02-11T15:56:48Z
parent: nuzlocke-tracker-igl3
blocking:
- nuzlocke-tracker-c6ly
---
Create a JSON data file containing themed words for nickname generation.
## Requirements
- Each word entry has: `word` (string) and `categories` (string array)
- Categories should include themes like: mythology, food, space, nature, warriors, music, literature, gems, ocean, weather, etc.
- Target 150-200 words per category
- Words can belong to multiple categories
- Words should be short, punchy, and suitable as Pokemon nicknames (ideally 1-2 words, max ~12 characters)
## Checklist
- [ ] Define the data schema / TypeScript type for dictionary entries
- [ ] Create the JSON data file with initial categories
- [ ] Populate each category with 150-200 words
- [ ] Validate no duplicates exist within the file