Commit Graph

19 Commits

Author SHA1 Message Date
38aa0752cb kanban: apply worker changes — evaluate polish, db index, mobile stats styling 2026-08-09 23:13:09 +00:00
9cc8441c39 autoresearch: accept trial 2 score=100.0 2026-08-09 22:51:42 +00:00
bbd01be483 autoresearch: accept trial 1 score=91.0 2026-08-09 22:51:42 +00:00
242fc707ed autoresearch: accept trial 2 score=97.0 2026-08-09 22:44:13 +00:00
f7b7b8c9eb autoresearch: accept trial 1 score=97.0 2026-08-09 22:40:23 +00:00
48b84a6e98 feat: game balance improvements, stats dashboard, and encouraging narration
Balance fixes:
- Discord scene 1: normal → let (was 0% success)
- Angel scene 4: svaert → normal (too hard for kids)
- Rarity scene 4: normal → svaert (was 100% win)
- Apple scene 1, Twilight scene 1, Angel scene 1: let → normal
- Overall win rate: 47% (target 40-60%)

Frontend improvements:
- Encouraging failure narration for kids
- Stats dashboard page with backend integration
- Stats button on home page
- API loadStats() function

Evaluation:
- Exhaustive mode: all 32 pony×theme combos
- Per-scene success rate tracking
- JSON output for automated analysis
2026-08-09 22:28:27 +00:00
f2e61a6c13 feat: game stats tracking with SQLite persistence
- Add game_stats table: pony_type, tema, successes, failures, victory, dice rolls
- Record stats automatically when a game finishes (via /api/kast or /api/interact)
- New GET /api/stats endpoint: total games, win rate, by pony type, by tema, recent games
- Stats include: total_games, total_victories, win_rate, by_pony_type, by_tema, recent_games
2026-08-09 18:07:48 +00:00
88ef6f11eb feat: add voice interaction, TTS, fullscreen, and dice improvements
- Add voice button and voice flow services for speech interaction
- Add text-to-speech (TTS) service and narration
- Add fullscreen button component
- Update dice logic with hardened numDice fallback
- Add voice integration tests
- Update themes, game routes, and intent classifier
- Add developer notes and QA directory
2026-08-09 18:02:16 +00:00
33700ee5cc feat: catalog the full pixel-art source pack, add story-matched scene icons
Analyzed every file across all three folders of the source "Pixel Ponies"
pack (NES Style/, root, 32x32/ -- 143 files total) via three parallel
agents, each instructed to actually render and look at every file rather
than infer content from filename (the lesson from the earlier mane/eye-icon
mixup). Findings written to web/app/data/pixel_assets.py, following the
themes.py/pony.py data-module convention:

- NES_STYLE_ASSETS: confirms the 9 "personality" files really are eye-icon
  glyphs (not hair), and that unicorn horn.png/pegasus wing.png really are
  just alignment-marker dots -- plus a new find: ponyville.png (same 256x256
  canvas as the pose sheets) is actually an unused town tileset + a strip of
  achievement-style icon badges.
- ROOT_ASSETS: 45 files, mostly mislabeled or incompatible (e.g. pegasus.png
  depicts a wolf-like creature with no wings; several "fly*" frames are
  blank; one has a hidden low-opacity watermark) -- 14 flagged usable.
- GRID_32_SURVEY: the 76-file scraped collection surveyed by category (not
  usable as-is -- different, more detailed art style than the game's own
  sprites).

Cropped 9 icon badges (apple/book/heart/horseshoe/hourglass/potion/sparkle/
tree/trophy) from ponyville.png's icon strip into
pony-frontend/public/sprites/scenes/, and mapped 8 of them to the game's 8
adventure themes by actual story content (book -> Twilight's missing book,
heart -> Fluttershy's rabbit, apple -> the apple harvest, sparkle -> Rarity's
gem and Luna's stars, etc. -- see SCENE_ICONS in pixel_assets.py). Backend
now returns "icon" on each theme from /api/content and "themeIcon" on scene
data; frontend shows the pixel icon on theme-select cards and next to the
theme title during gameplay.

74 backend + 65 frontend tests passing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-09 13:08:46 +00:00
c19c8afc6d 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
2026-08-09 11:09:25 +00:00
c16b8e8438 test: restore working App.test.js (39/39 passing across 4 test suites) 2026-08-09 09:19:18 +00:00
a3241b0f0b feat: voice button, intent classifier, theme/game service updates 2026-08-09 09:14:04 +00:00
5ef76439e9 test: 37 frontend tests (App integration, API service, achievements), 43 backend tests — all passing 2026-08-09 09:11:13 +00:00
7c4a0aadc4 chore: add *.db to .gitignore, remove game_state.db from tracking 2026-08-09 08:12:20 +00:00
4f26ca8e1c feat: API input validation — bounds check pony type & tema, reject invalid input 2026-08-09 08:12:10 +00:00
cfb0a95df3 feat: theme selection page, dynamic content from API, pony data from backend 2026-08-09 07:47:49 +00:00
466dbc2214 refactor: game state persistence (SQLite), cookie-based sessions, health/reset endpoints 2026-08-09 07:44:42 +00:00
06618b5e7d refactor: modular backend - dice engine, pony types, game state, API routes, tests 2026-08-09 07:41:57 +00:00
aab36f9a85 audit: baseline commit - MLP Pony Game prototype 2026-08-09 07:36:21 +00:00