refactor: extract audiobook cast view
This commit is contained in:
parent
262e37fffd
commit
6f2c0b7b3d
@ -8,6 +8,8 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) · versioned wi
|
||||
## [Unreleased]
|
||||
|
||||
### Changed
|
||||
- **Audiobook live cast-view extraction.** The live cast feed, roster, settings, and prompt controls now live in
|
||||
`audiobook-cast.js`; the legacy `audiobookCastView` entry point remains available for compatibility.
|
||||
- **Rehearser voice-matching extraction.** Local voice matching, preview-line selection, fish.audio search/import,
|
||||
and candidate assignment now live in `rehearser-voice-picker.js`; DOM event registration remains timing-safe.
|
||||
- **Audiobook/Reader stylesheet extraction.** Reader controls, Audiobook casting, page layout, character overlays,
|
||||
|
||||
3
TODO.md
3
TODO.md
@ -137,7 +137,8 @@ architecture change: the larger Audiobook/Rehearser/style split.
|
||||
- [x] Extract Rehearser character development and backend-selection controls into `rehearser-voice-design.js`.
|
||||
- [x] Extract Audiobook quote segmentation and conservative turn-taking into `audiobook-segmentation.js`.
|
||||
- [x] Extract Rehearser library persistence and IndexedDB migration into `rehearser-library.js`.
|
||||
- [ ] Extract Audiobook parsing and casting.
|
||||
- [x] Extract Audiobook parsing and casting; parsing, segmentation, cast normalization/serialization, and the live cast
|
||||
view now live in focused modules, while LLM orchestration and transport remain in `audiobook.js`.
|
||||
- [x] Extract Audiobook parsing primitives and speaker-heuristic constants into `audiobook-parse.js`.
|
||||
- [x] Extract Audiobook cast serialization and page-stamping helpers into `audiobook-cast.js`.
|
||||
- [x] Split the Performance/resource diagnostic styles into `static/css/resource-diagnostics.css`.
|
||||
|
||||
@ -38,7 +38,7 @@ Done incrementally as global-scope ordered files (no ES-module change needed)
|
||||
- ✅ `rehearser-voice-design.js` — character development, backend selection, and backend-refresh synchronization.
|
||||
- ✅ `audiobook-segmentation.js` — quote segmentation, conservative turn-taking, and dialogue-piece validation.
|
||||
- ✅ `audiobook-parse.js` — dialogue detection, dehyphenation, and speaker-heuristic constants; the casting pipeline remains in `audiobook.js`.
|
||||
- ✅ `audiobook-cast.js` — cast Markdown export, legacy page-stamping migration, and deterministic speaker/sentence/duplicate/alias normalization helpers; live casting remains in `audiobook.js`.
|
||||
- ✅ `audiobook-cast.js` — cast Markdown export, legacy page-stamping migration, deterministic speaker/sentence/duplicate/alias normalization helpers, and the live cast-view renderer.
|
||||
- ✅ `static/css/resource-diagnostics.css` — isolated Performance/resource diagnostic panel styles.
|
||||
- ✅ `static/css/background-jobs.css` — isolated background-job history and retry-panel styles.
|
||||
- ✅ `static/css/voice-design.css` — isolated Voice Design form, samples, and preview-match styles.
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<meta name="color-scheme" content="light dark">
|
||||
<meta name="theme-color" content="#2563EB">
|
||||
<meta name="app-version" content="1.24.47">
|
||||
<meta name="app-version" content="1.24.48">
|
||||
<link rel="manifest" href="/manifest.webmanifest">
|
||||
<link rel="icon" href="/static/icon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="/static/icon.svg">
|
||||
@ -27,12 +27,12 @@
|
||||
|
||||
<!-- ── Core styles (local — no CDN dependency for first paint) ────────── -->
|
||||
<link rel="stylesheet" href="/static/vendor/mdi/materialdesignicons.min.css">
|
||||
<link rel="stylesheet" href="/static/style.css?v=1.24.47">
|
||||
<link rel="stylesheet" href="/static/css/resource-diagnostics.css?v=1.24.47">
|
||||
<link rel="stylesheet" href="/static/css/background-jobs.css?v=1.24.47">
|
||||
<link rel="stylesheet" href="/static/css/voice-design.css?v=1.24.47">
|
||||
<link rel="stylesheet" href="/static/css/rehearser.css?v=1.24.47">
|
||||
<link rel="stylesheet" href="/static/css/audiobook.css?v=1.24.47">
|
||||
<link rel="stylesheet" href="/static/style.css?v=1.24.48">
|
||||
<link rel="stylesheet" href="/static/css/resource-diagnostics.css?v=1.24.48">
|
||||
<link rel="stylesheet" href="/static/css/background-jobs.css?v=1.24.48">
|
||||
<link rel="stylesheet" href="/static/css/voice-design.css?v=1.24.48">
|
||||
<link rel="stylesheet" href="/static/css/rehearser.css?v=1.24.48">
|
||||
<link rel="stylesheet" href="/static/css/audiobook.css?v=1.24.48">
|
||||
|
||||
|
||||
<!-- ── Flag icons — non-blocking (loaded async, icons appear after JS) ── -->
|
||||
@ -397,7 +397,7 @@ window.toggleNavTree = function(treeId, chevronId) {
|
||||
</script>
|
||||
|
||||
<!-- loader.js: fetches sections → loads JS modules → removes skeleton -->
|
||||
<script src="/static/loader.js?v=1.24.47"></script>
|
||||
<script src="/static/loader.js?v=1.24.48"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user