|
|
b91bfcce2f
|
add ReaderViewModel: observable view model wrapping AudioEngine, chapter offsets, synthesizer init
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-14 05:50:04 +01:00 |
|
|
|
ef6f9eeefc
|
task 8: add readingMode field to StoredBook, default to scroll
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-14 05:36:09 +01:00 |
|
|
|
ec5bb6d0af
|
task 7: restructure PlainTextParser to single-chapter model, update tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-14 05:36:06 +01:00 |
|
|
|
bfbfb93b5a
|
task 6: produce attributedText in EPUBParser, add attributed string tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-14 05:36:04 +01:00 |
|
|
|
31d1f1d20f
|
task 5: add AttributedStringBuilder for platform-aware font attributes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-14 05:36:01 +01:00 |
|
|
|
3329a2ac82
|
task 4: add attributedText to Chapter
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-14 05:35:58 +01:00 |
|
|
|
c5999f6855
|
cache Book.sentences as stored let property, add sentencesAreCached test
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-14 05:24:42 +01:00 |
|
|
|
60fef9c75b
|
wrap synthesis in autoreleasepool, clear MLX cache after each sentence
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-14 05:24:40 +01:00 |
|
|
|
bf7fce3fae
|
add clearCache() to Synthesizer to free MLX memory after synthesis
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-14 05:24:37 +01:00 |
|
|
|
8d429dc1db
|
add AudioEngine with AVAudioEngine playback, one-ahead buffering, skip controls
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-13 22:22:07 +01:00 |
|
|
|
c81b78bea0
|
add Synthesizer wrapper around KokoroSwift with voice pack support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-13 22:17:45 +01:00 |
|
|
|
c76ef0aec6
|
add SwiftData storage with BookStore for library management, position tracking
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-13 21:55:26 +01:00 |
|
|
|
e7c9c018f1
|
add BookParser facade with format detection, Book character addressing tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-13 21:53:53 +01:00 |
|
|
|
c753a3a147
|
add plain text parser with paragraph-based chapter splitting
|
2026-03-13 21:52:42 +01:00 |
|
|
|
2e647d7fe3
|
add EPUB parser with ZIP extraction, OPF/spine parsing, HTML-to-text
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-13 21:51:34 +01:00 |
|
|
|
53b91ee4ed
|
scaffold VorleserKit package with shared types, sentence segmenter, tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-13 21:48:39 +01:00 |
|