refactor: replace pony configurator with pixel art sprites from zip

- Removed PonyConfiguratorPage, PonyAvatar, ponyCustomization
- Flow is now: Home → Theme → Pony Select → Game (no configurator step)
- Added pixel art pony sprite sheets from /tmp/Pixel Ponies.zip
- GameScenePage uses pony image directly instead of SVG avatar
- 48 frontend + 67 backend tests passing
This commit is contained in:
2026-08-09 11:09:25 +00:00
parent c16b8e8438
commit c19c8afc6d
69 changed files with 1891 additions and 256 deletions

View File

@@ -15,8 +15,10 @@ export STT_API_KEY="..."
export STT_MODEL="whisper-1"
```
Uden disse variabler forbliver den almindelige spilknap aktiv, og barnet får en
venlig besked om at prøve igen. API-nøglen sendes aldrig til browseren.
den lokale spilserver bruges som standard den installerede
`Systran/faster-whisper-base`-model på CPU. Lyd forlader derfor ikke maskinen.
Servicen sætter `STT_PROVIDER=local`. En ekstern provider kan vælges med
variablerne ovenfor; API-nøglen sendes aldrig til browseren.
Den valgfrie Qwen-fallback bruger en OpenAI-kompatibel chat-endpoint:
@@ -29,6 +31,12 @@ export QWEN_MODEL="Qwen3.6-27B"
Qwen modtager kun spørgsmålet, transskriptionen og scenens tilladte intents.
Output valideres, og modellen kan ikke opfinde eller udføre nye handlinger.
På spilserveren bruges Hermes/OpenAI-endpointet fra `HERMES_CONFIG_PATH` med
`thinkingcap-27b`. Hermes får kun den aktive scene og en servergenereret liste
over tilladte valg. Den kan besvare spørgsmål om scenen, vælge `wait` eller
foreslå `roll_scene`; Flask validerer valget og er alene om at ændre spillet.
Off-topic svar erstattes med en fast, børnevenlig besked.
## Dansk TTS
Frontend bruger browserens Speech Synthesis med sproget `da-DK` og foretrækker