Exhaustive file-by-file audit of every Swift file in the project (iOS app,
Watch app, Widget extension). Every interactive UI element — buttons, toggles,
pickers, links, menus, tap gestures, text editors, color pickers, photo
pickers — now has an accessibilityIdentifier for XCUITest automation.
46 files changed across Shared/, Onboarding/, Watch App/, and Widget targets.
Added ~100 new ID definitions covering settings debug controls, export/photo
views, sharing templates, customization subviews, onboarding flows, tip
modals, widget voting buttons, and watch mood buttons.
- Animation Lab moved out of #if DEBUG so it's available in release builds
- Add Test Data moved into #if DEBUG debug section
- Removed #if DEBUG wrapper from DebugAnimationSettingsView.swift
- Added 58 missing translations across all 6 languages (de, es, fr, ja, ko, pt-BR)
- Localization coverage restored from 87% to 100% (473/473 keys)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update NeonMoodTint to use synthwave colors matching Neon voting style
(cyan, lime, yellow, orange, magenta)
- Replace text label with 5 color circles in theme preview Colors row
- Remove unused textColor customization code and picker views
- Add .id(moodTint) to Month/Year views for color refresh
- Clean up various unused color-related code
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create 10 full-view celebration animations (vortex, explosion, flip, shatter, pulse wave, fireworks, confetti, morph, tunnel, gravity)
- Play random animation when user votes in-app
- Add Animation Lab debug view to preview and test animations
- Animations complete before saving mood to prevent view flash
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>