tts-voice-creator-clone-and.../static
mARTin-B78 71a398b82f feat: add magazine reader frontend (P1)
Studio -> Magazines: library, contents tree grouped by section with
confidence/pages/listening-time/audio status, the Stage D review
screen (tick/untick layout blocks, correct title/author, approve or
reject), a reflowed article view with click-to-seek sentence
highlighting, a linked original-page view showing the source bounding
box, and a podcast panel (2-3 host pickers, script generation,
turn-by-turn playback).

Wired into the existing lazy-module system (module-manifest.json,
loader.js, nav.js) rather than a separate app. Reuses /api/tts-preview
for both narration and podcast turns -- no new audio pipeline.

Fixes found building this:
- The pane toggle used role="tab" without the full ARIA tabs pattern
  (aria-selected, roving tabindex, arrow-key nav) -- fails WCAG 2.2 AA
  and hid the buttons from role-based tooling. Replaced with a button
  group + aria-pressed, matching the plain-click interaction it
  actually has.
- Print layout cues ("(continued on page 8)") were being sent to TTS
  verbatim -- narration would have spoken the parenthetical aloud.
  Stripped from the narration copy only; layout.json keeps the
  original for the review screen.
- has_podcast now comes from the articles listing so opening an
  article without a generated script skips a doomed GET instead of a
  routine 404 on every open.

Verified against the real API contract with Playwright (library,
review pre-selection, approval, sentence highlighting + PDF-page
linking, podcast approval gate, zero console errors across the flow)
and manually end-to-end against a real ingested fixture, screenshots
included. Full suite: 94 Python tests, 33/34 desktop Playwright tests
(one unrelated pre-existing flaky DOM-count assertion).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-06 15:00:58 +02:00
..
css refactor: extract audiobook stylesheet 2026-09-04 11:44:55 +02:00
dist feat: expand resource diagnostics 2026-09-04 10:42:08 +02:00
js feat: add magazine reader frontend (P1) 2026-09-06 15:00:58 +02:00
samples chore: release 1.21.0 - Consistent ComfyUI Character Renders and Audiobook Export 2026-08-23 09:12:57 +02:00
sections feat: add magazine reader frontend (P1) 2026-09-06 15:00:58 +02:00
vendor Add skeleton loading, self-host assets, fix LLM empty response 2026-05-29 17:28:42 +02:00
icon.svg Release v1.6.0: a11y (WCAG AA), i18n (DE), PWA, perf, tests, Cast UX 2026-06-03 14:23:35 +02:00
index.html feat: add magazine reader frontend (P1) 2026-09-06 15:00:58 +02:00
loader.js feat: add magazine reader frontend (P1) 2026-09-06 15:00:58 +02:00
manifest.webmanifest Release v1.6.0: a11y (WCAG AA), i18n (DE), PWA, perf, tests, Cast UX 2026-06-03 14:23:35 +02:00
module-manifest.json feat: add magazine reader frontend (P1) 2026-09-06 15:00:58 +02:00
nav.js feat: add magazine reader frontend (P1) 2026-09-06 15:00:58 +02:00
style.css feat: add magazine reader frontend (P1) 2026-09-06 15:00:58 +02:00
sw.js Add unified Studio casting workflow and fix voice/casting pipeline bugs 2026-07-26 02:03:56 +02:00