Commit Graph
16 Commits
Author SHA1 Message Date
gurix cf21710e2f feat(quick-260329-u1d): add kindgerechte Erklaerung on forest screen
- Added forest__intro paragraph between title and greeting area in index.html
- Added .forest__intro CSS block with Nunito font, centered, pastel-style styling
2026-03-29 21:40:07 +02:00
gurixandClaude Opus 4.6 fabf9211c4 feat: add lightbox for viewing forest and reward images fullscreen
- Click any forest element or reward image to see it large
- Smooth zoom-in animation, click anywhere to close
- Hover effect on clickable images
- Works on both forest grid and reward screen

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:50:20 +02:00
gurixandClaude Opus 4.6 50a4e987c7 fix: replace ASCII umlauts with proper German umlauts throughout UI and prompts
- index.html: Wähle, Zurück, Übersicht, zurücksetzen, üben
- screens.ts: Üben, Wörter phase labels
- companion.ts: All Gemini prompts use proper umlauts
- fallbacks.ts: All fallback texts use proper umlauts
- parent.ts: löschen, überschreiben confirmations
- reward.ts: für, grüner, Eichhörnchen
- Tests updated to match

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:46:04 +02:00
gurix 52596c57b0 feat(04-01): add mute button with CSS, wire audio toggle in main.ts
- Add mute-btn element to index.html outside all screen sections
- Add .mute-btn CSS styles (fixed position, bottom-right, circular)
- Wire mute button click handler to toggle audioEnabled in Settings
- Initialize AudioContext on first user interaction (autoplay policy)
- Fix lint issues: import ordering, non-null assertion
2026-03-29 18:18:31 +02:00
gurix f3cb948878 feat(04-02): global error handler + child-friendly error overlay
- Add error overlay HTML element in index.html before script tag
- Add window error + unhandledrejection listeners in main.ts
- Add error overlay CSS styles (fixed, z-index 9999, tree icon, reload button)
- Error message: "Oh, der Wald braucht kurz eine Pause..."
2026-03-29 18:16:34 +02:00
gurixandClaude Opus 4.6 5396dc0e62 feat(04-03): add Daten section with Export/Import/Reset buttons in parent area
- HTML section with export-btn, import-btn, reset-btn, hidden file input
- CSS styles for action buttons including danger variant for reset

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 18:15:44 +02:00
gurix e599050303 feat(03-04): add reward module with pre-generation and reward screen
- Create src/forest/reward.ts with startPreGeneration() and initRewardScreen()
- Image pre-generation starts at lesson begin, placeholder shows while loading
- Fallback to static SVGs when rate-limited or API unavailable
- Reward screen HTML with image area, companion comment, action buttons
- CSS for reward screen with animated leaves placeholder and image appear animation
2026-03-29 13:52:05 +02:00
gurixandClaude Opus 4.6 770f566972 feat(03-02): lesson screen 3-phase state machine with review and repetition
- Discover phase: companion introduces new key, key pulses, child presses once
- Practice phase: existing letter exercise with cumulative stats
- Words phase: word display with active letter highlighting
- Review mode skips discover, mixes letters/words from recent levels
- Encouragement messages for repetition protection
- Phase indicator UI (Entdecken / Ueben / Woerter)
- CSS for word display, phase indicator, discover pulse animation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 13:48:56 +02:00
gurix 44c28fe226 feat(03-05): parent area HTML, CSS, and access gate
- Add parent screen HTML with code gate, stats overview, and settings form
- Add parent area CSS styles for stats grid, calendar dots, error badges, settings
- Create src/ui/parent.ts with showParentCodePrompt, initParentScreen, loadParentData
2026-03-29 13:46:10 +02:00
gurix c9abc9e6a1 feat(03-03): add SVG forest background and 4x3 grid HTML/CSS structure
- SVG woodland background with sky gradient, clouds, sun, trees, hills, ground
- 4x3 CSS grid overlay for forest element placement
- Fade-in + scale-up animation keyframes for new elements
2026-03-29 13:40:54 +02:00
gurixandClaude Opus 4.6 57a929bc1a feat(02-05): add companion greeting to forest and avatar to lesson screen
- Add forest-greeting companion area in HTML with avatar + text
- Add lesson-companion area in HTML above letter area
- Wire getGreeting() call for returning users in app.ts
- Show companion avatar in lesson screen via getProgress lookup
- Fix pre-existing noUncheckedIndexedAccess errors in fallbacks.ts (Rule 3)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 12:15:45 +02:00
gurixandClaude Opus 4.6 78d516c55d fix(01): add lesson cancel button and handle level 6 completion
- Back button in lesson screen to return to forest without completing
- "Alle Stufen geschafft!" message when all 6 levels are done
- Cap currentLevel at MAX_LEVEL to prevent out-of-bounds progression

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 11:30:55 +02:00
gurixandClaude Opus 4.6 5bac8501bf feat(01-05): forest screen with level map and complete app flow
- Add forest overview screen with 6-level map showing locked/current/completed states
- Create src/forest/scene.ts with getLevelStatus, renderLevelMap, initForestScreen
- Wire complete flow: welcome -> forest -> lesson -> forest with progress updates
- Add forest CSS with level card styles and continue button

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 11:15:18 +02:00
gurixandClaude Opus 4.6 ba4525daf3 feat(01-04): wire lesson screen UI with keyboard and falling letters
- Lesson screen HTML with letter-area and keyboard containers
- initLessonScreen: renders keyboard, shows letters, handles keypress
- Correct key dissolves letter with animation, advances to next
- Wrong key does nothing (per D-03), correct key stays highlighted
- startLesson in app.ts: manages lesson lifecycle and cleanup
- onComplete: updates progress, unlocks next level, saves to IndexedDB
- CSS: floating letter animation, dissolve effect on correct press

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 11:12:13 +02:00
gurixandClaude Opus 4.6 20a7670ef9 feat(01-02): welcome screen UI with onboarding flow
- Implement initWelcomeScreen with companion card rendering, layout toggle, start button
- Update index.html with welcome screen structure (companion-grid, layout-toggle, start-btn)
- Add CSS for companion cards, layout buttons, start button with hover/selected/disabled states
- Selecting a companion enables start, clicking start saves progress to IndexedDB and navigates to forest

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 11:06:54 +02:00
gurixandClaude Opus 4.6 4dc9523044 feat(01-01): scaffold Vite project with CSS design system and project structure
- Vite 6 + TypeScript + Biome + Vitest configured
- All directories from spec section 13 created
- CSS custom properties for full color palette and finger colors
- index.html with 5 screen sections and Google Fonts
- Dev server binds to 0.0.0.0:5173 for VPS access

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 11:01:10 +02:00