feat(books): add read-aloud generation

Generate a synced read-aloud EPUB from a book's EPUB and audiobook through an
optional STAlign worker (Docker on CPU, or native with MLX on Apple Silicon),
with review, re-sync, replace in place, restart recovery and live progress on
the Files tab. Book details also stack the ebook and audiobook covers when
both exist. See docs/READ_ALOUD.md.
This commit is contained in:
neon
2026-10-21 23:44:37 +00:00
parent 99aa7dce70
commit 992224f2e8
154 changed files with 69074 additions and 271 deletions
@@ -1,5 +1,5 @@
{
"totalRoutes": 667,
"totalRoutes": 677,
"byPermission": {
"(none)": 287,
"Permission.ManageMetadataConfig": 41,
@@ -12,7 +12,7 @@
"Permission.ManageEmail": 8,
"Permission.KoboSync": 13,
"Permission.NotificationAccess": 6,
"Permission.DemoRestricted": 6,
"Permission.DemoRestricted": 16,
"Permission.KoreaderSync": 9,
"Permission.OpdsAccess": 4,
"Permission.ViewAuditLog": 4,
@@ -32,7 +32,8 @@
"Permission.PodcastManageRetention": 1,
"Permission.PodcastEditMetadata": 5,
"Permission.PodcastPurge": 5,
"Permission.PodcastDownload": 4
"Permission.PodcastDownload": 4,
"Permission.LibraryGenerateReadAloud": 10
},
"byLibraryAccess": {
"'viewer'": 10,