Enjoy Player v0.8.2
What's Changed
- [repo-assist] perf(image-cache): swap profile avatar ImageProviders for cached provider by @github-actions[bot] in #548
- [repo-assist] test(asr): direct unit tests for AsrGenerationJob model by @github-actions[bot] in #550
- feat(transcript): persist nested word/phone spans matching enjoy web by @an-lee in #553
- [repo-assist] perf(api): fold ASCII uppercase in case_conversion without per-char allocation by @github-actions[bot] in #551
- feat(alignment): add unused on-device DTW engine as a path package by @an-lee in #554
- feat(alignment): require a spoken eSpeak-NG reference for production align by @an-lee in #556
- [repo-assist] test(media-resolver): cover filename extension classifier by @github-actions[bot] in #557
- feat(craft): opt-in nested word/phone timings on save by @an-lee in #558
- feat(transcript): karaoke word highlight while playing by @an-lee in #559
- feat(transcript): opt-in word practice and stored IPA overlay by @an-lee in #560
- fix(transcript): stacked IPA, CC sheet toggles, eSpeak UTF-8 by @an-lee in #561
- fix(player): compact audio collapse chrome (no blank AppBar) by @an-lee in #562
- feat(transcript): on-demand enrichment and gated karaoke/IPA by @an-lee in #563
- style(test): apply dart format to media_resolver_test by @an-lee in #564
- fix(api): preserve non-ASCII keys in convertKeysToSnake by @an-lee in #565
- feat(alignment): vendor eSpeak-NG 1.52.0 for linux, macos, android by @an-lee in #566
- feat(alignment): vendor iOS eSpeak-NG and bundle for macOS/iOS apps by @an-lee in #567
- feat(alignment): bundle eSpeak-NG into Android APKs for all ABIs by @an-lee in #568
- [repo-assist] refactor(player): remove orphan PlayerInteractions.toggleWordLoop by @github-actions[bot] in #569
- fix(android): move extractNativeLibs to AGP packaging option by @an-lee in #570
- fix(android): ship eSpeak lang/ voices so YouTube IPA works by @an-lee in #571
- chore(alignment): finish #540 checklist — parity fixtures, es-ES golden, ADR-0079 by @an-lee in #572
Full Changelog: v0.8.1...v0.8.2