48 Commits

Author SHA1 Message Date
9439cbe954 remove stale submodule refs, clean up legacy dirs, simplify gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 10:42:08 +01:00
3160ab1dc5 set automatic signing, bump CalVer to 2026.03.14, remove Signing.xcconfig
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 10:38:18 +01:00
baba422ea5 fix project.yml resource bundling, regenerate Xcode project
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 07:50:16 +01:00
77057aec7c add macOS PagedBookView, wire book mode in both reader views
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 07:46:50 +01:00
46f7d255eb add iOS PagedBookView with UIPageViewController and curl transition
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 06:16:12 +01:00
d2c2586009 rewrite macOS MacReaderView: use ReaderViewModel, full-book attributed text, reading mode picker, delete MacReadingTextView
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 05:51:40 +01:00
70407a0c4d rewrite iOS ReaderView: use ReaderViewModel, full-book attributed text, reading mode picker, delete ReadingTextView
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 05:51:35 +01:00
232492f161 add macOS BookTextView: NSViewRepresentable with NSAttributedString, highlight, click-to-seek, scroll-to-offset
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 05:51:29 +01:00
c0170ca84f add iOS BookTextView: UIViewRepresentable with NSAttributedString, highlight, tap-to-seek, scroll-to-offset
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 05:51:23 +01:00
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
8d4da7dc92 add implementation plan: memory fix, reader UI redesign
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 05:15:48 +01:00
cf78e0d189 refine design spec: fix reviewer issues (UIKit coupling, pagination, offsets)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 05:03:59 +01:00
59f4d54cfe add design spec: memory fix, reader UI redesign
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 04:55:40 +01:00
68eee5dd6d fix project.yml Info.plist generation, verify macOS build succeeds 2026-03-13 22:43:13 +01:00
2ea334f525 fix project.yml YAML indentation (tabs→spaces), generate Xcode project 2026-03-13 22:40:01 +01:00
4f0d04190c set CalVer 2026.03.13, remove legacy code
Remove old Vorleser/, VorleserMac/, Vendor/ directories and
Vorleser.xcodeproj. Add MARKETING_VERSION and
CURRENT_PROJECT_VERSION to both targets in project.yml.
2026-03-13 22:34:19 +01:00
5a0183f236 add gitignore for model weights and voice embeddings 2026-03-13 22:29:40 +01:00
0c55fd50b4 add macOS app shell with sidebar library, reader, click-to-play
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 22:29:10 +01:00
ce7eb279c0 fix module/type name conflicts in iOS app shell imports 2026-03-13 22:27:07 +01:00
b52bf532f3 add iOS app shell with library, reader, tap-to-play, playback controls
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 22:25:36 +01:00
6a8a290672 add XcodeGen project config with iOS and macOS targets, resource directories 2026-03-13 22:23:31 +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
6c19f89287 add implementation plan for Vorleser greenfield rebuild
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:36:59 +01:00
f53eb59ec3 add greenfield design spec for Vorleser rebuild
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 21:09:13 +01:00
f852e3e97d reduce maxTokens to 45 for 3s bucket compatibility 2026-02-19 12:56:07 +01:00
def76b02b5 add more debug output for token count 2026-02-19 12:38:46 +01:00
2774fb8379 add per-channel min-max normalization for ASR features 2026-02-19 12:36:29 +01:00
2b24d520fa add debug output for chunk being played 2026-02-19 11:30:44 +01:00
ef32087be7 add debug output for sample count 2026-02-19 11:03:10 +01:00
2c975007ca revert tokenizer to character-by-character, add debug output 2026-02-19 10:39:54 +01:00
4c40e93542 reduce chunk size to 80 chars to fit within 128 token model limit 2026-02-19 10:35:36 +01:00
217eb78e87 fix tokenizer to split on whitespace for proper phoneme tokens 2026-02-19 10:33:46 +01:00
7098f318e9 increase maxTokens from 96 to 512 to fix text truncation 2026-02-19 10:28:16 +01:00
1dd0676fca snapshot current state before gitea sync 2026-02-18 10:59:55 +01:00