6d1c6c1b88
fix(characters): remove divider lines from the concept sheet
...
The sheet composer drew light lines between the three poses and between
the top and bottom rows, cutting through capes and swords.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 07:49:19 +02:00
b50855ea2e
test(magazine): use a fixed fixture for the page-159 delete-picture test
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 06:34:14 +02:00
0244fceb55
feat(magazine): filter the page grid by status from the legend
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-02 06:34:14 +02:00
80ec22b752
fix(magazine): deleting a picture removes both of its records; say clearly while a turn is being read
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 18:35:20 +02:00
884bbf33aa
fix(magazine): a turned page shows at once (versioned picture URLs), turns are visible and undoable, one turn at a time
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 13:35:25 +02:00
28d6439604
fix(magazine): unbreakable text can no longer collapse the review; endless repeated tokens are OCR noise
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 13:13:40 +02:00
8da797751b
fix(magazine): draw and edit panels are mounted on body so the sticky bars cannot cover them
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 12:48:27 +02:00
130fd273c6
fix(magazine): read a turned page through a ladder (turned, original with carried boxes, tesseract)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 12:31:44 +02:00
6fdf9fbc38
feat(magazine): turn a page scanned sideways or upside down and read it again
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 12:13:13 +02:00
119d3ba3ae
fix(magazine): correct flagged words in place; whole-text editor keeps the paragraph's look and underlines
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 11:54:50 +02:00
9ad881ada8
feat(magazine): manage OPDS catalogues in the app, env-based login, result paging
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 11:03:03 +02:00
7e9be98709
feat(magazine): page overview shows status, article count, page flow and what to do next
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 10:59:08 +02:00
85c5b8427a
feat(magazine): hands-free listening (Media Session, wake lock); fix Listen not starting audio
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 10:50:41 +02:00
e241821325
fix(magazine): keep the Order by clicking controls on screen in a floating panel
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 10:45:48 +02:00
268ed391a3
feat(magazine): EPUB 3 Media Overlay export with measured sentence timings; tolerate missing mutagen
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 10:33:08 +02:00
4a20a12f66
feat(magazine): show sidebars in the reading view as labelled, never-narrated asides
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 10:26:27 +02:00
30b80fcbf7
feat(magazine): mark hand-edited text, show a word diff against the recognised text, restore it
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 10:24:27 +02:00
0f4b28ba14
feat(magazine): link a tail to its head from 'continued from page N'
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 10:20:35 +02:00
0005ae0ebd
feat(magazine): import a magazine from PNG/JPEG page images
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 10:19:14 +02:00
6faaa349d5
docs: OCR porting brief; test: current prompt version fixture, known phone-width issue
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-29 21:38:28 +02:00
c3c5c55f17
feat(magazine): find and import issues from the Internet Archive and OPDS catalogues
...
Also reuses the existing magFmtClock for the contents list (the duplicate
tripped the frontend collision gate).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-29 17:35:08 +02:00
834146de30
feat(magazine): synthesis state, MP3 length and inline play in the contents list
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-29 17:24:13 +02:00
4d7434f9af
fix: explain why designed-voice benchmarks fail and stop batches on an unreachable service
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-29 16:03:23 +02:00
faa3c16a91
fix(magazine): exclude advertisement pages from magazine-comparison statistics
...
A page either side marks as a full-page ad is skipped by that side's quality
run, so comparing its near-empty boxes against the same page freshly OCR'd
on the other side (ad-marking is a one-time manual step) was a review-state
difference, not a pipeline one, skewing whole-issue numbers. Verified: text
similarity 0.837->0.870, box precision 0.62->0.66 on the real re-import.
Also records the clean from-scratch re-ingest results: the ingest-time
duplicate-check ordering fix is proven in isolation (0 additional duplicates
found afterward, vs 13 before the fix), and the auto-chained Auto-fix ran
end to end.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 13:11:00 +02:00
f0b5d5aa68
feat(magazine): run the whole-issue Auto-fix pass automatically after import
...
A fresh import used to stop once laid out, leaving missed text, unverified
OCR and provable misspellings for a separate manual click. _ingest_sync now
runs _quality_run_sync itself, under the same job, so the ingest progress
bar carries through it and the reviewer opens an already-worked magazine.
An Auto-fix failure is reported as an ingest failure without losing the
ingest's own result.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 09:37:28 +02:00
ac1153b782
fix(magazine): re-check for duplicate boxes after box-fitting/seam-mending grows them
...
The duplicate detector only ran once, before geometry fixes could merge or
grow a box into one that now duplicates another's text -- narrating it
twice. Now re-run after the geometry loop at ingest and after
recover_missing_text in the whole-issue quality run. Confirmed live: 13
such duplicates in a fresh import, 6 in the already-reviewed magazine.
TODO: F decided unnecessary per user; G updated with both universal fixes
from this pass.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-29 08:50:13 +02:00
1fb5528112
fix(magazine): drop hallucinated vision-OCR refusal text tiled over unreadable images
...
TODO A-E marked done for this pass; comparison report saved as evidence.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 23:26:59 +02:00
d06f990379
feat(magazine): fast LLM calls for spelling agent, run-together word repair, magazine comparison tool
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 20:09:42 +02:00
29b1f63e60
feat(magazine): click a flagged word to type your own correction
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:35:13 +02:00
63cb129d24
fix(magazine): draw panel placed inside the window; Undo/Redo lead the toolbar's second row; lines and frames are not missed text
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:33:15 +02:00
0136842258
fix: asset URLs carry a content-based build id so edited scripts are never served stale
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:13:42 +02:00
3b5e20a4c8
feat(magazine): undo and redo buttons (20-step history) in the sticky review bar
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:07:23 +02:00
a23e4be2a1
feat(magazine): Contents button in the sticky review bar
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 18:00:10 +02:00
1b9a4bd3bc
fix(magazine): clipped-edge audit requires ink on the box's own text lines
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 17:54:12 +02:00
9fa661fb6a
feat(magazine): page thumbnail is the Review target; one button per article only on shared pages
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 17:49:21 +02:00
25eea74096
feat(magazine): mend column seams; docs: TODO for verify/re-import/compare and Voice Studio evaluation
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 17:44:28 +02:00
32a23a237a
fix(magazine): dotted leaders and thin rules are not reported as missed text
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 17:34:06 +02:00
19af236bcd
fix(magazine): stale audio on unapproved articles no longer counts as reviewed in the page grid
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 16:35:33 +02:00
d712058d68
fix(magazine): an approval wins over the quality flag in the page grid
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 16:33:24 +02:00
3d5da78a98
feat(magazine): blue unreviewed articles, auto-resolve overlapping boxes, ignore unboxed ink near graphics/ads, fewer false clipped edges
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 15:20:25 +02:00
c62cc6953d
feat(magazine): auto-add figures for unboxed pictures, junk filter for linking, keep quality report in step
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 13:33:11 +02:00
bf5c795f02
fix(magazine): keep approval when auto-linking already-approved text
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 13:10:57 +02:00
4c1c97400b
fix(magazine): apply column reading order automatically; article-end detection by signed end or following headline; link-next-page chip
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 13:00:14 +02:00
05bdecd58a
feat(magazine): auto-link continuation pages, manual page linking, flow arrows by reading order, compact report, names/brands in spellcheck
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 11:46:32 +02:00
d0fba6a16f
feat(magazine): text flow indicator (arrows, chips, reading-view seams); Auto-fix all pages with backup
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 10:46:55 +02:00
b85f40e263
feat(magazine): live per-page issue markers and panel, one-click page auto-fix, run fixes boxes too
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 10:41:39 +02:00
efaab0590e
feat(magazine): cut a paragraph's box where its text wraps around an inset pull quote
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 09:50:26 +02:00
e00b215bc6
feat(magazine): detect inset pull quotes as their own region
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 09:27:04 +02:00
05a3ef4095
fix(magazine): full text with spelling underlines in review rows; drop [Non-Text]/hairline boxes; pad grown boxes
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 08:45:29 +02:00
d1c15b0e2b
fix(magazine): boxes grow over cut-off lines without entering neighbours; re-read grown boxes
...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 08:35:35 +02:00