55f147d7a7
fix(magazine): derive figure boundaries from the page render
...
Test and SonarQube / quality (push) Waiting to run
A vision OCR engine grounds a figure far less precisely than it
transcribes one. Over all 138 figure regions of a 204-page issue the
transcribed contents were right while the boxes were routinely offset,
undersized, or sitting on the neighbouring text column -- page 23's card
grid was reported at x 0.24-0.54 where the graphic runs 0.41-0.95.
snap_visual_bboxes() reduces the page render to an ink-coverage grid,
seeds a connected-component search with the engine's box, and re-joins
tiles a gutter apart so a card grid comes back as one figure. Text
blocks are excluded from the mask, which is what stops a figure
swallowing the column beside it. A candidate must be solidly inked or
framed on nearly all of its rows and columns (admitting a white-interior
screenshot), may not shrink below 30% of the seed, and reverts when two
figures land on the same graphic; anything else keeps the box it had.
Runs before the figure crop in both OCR paths, so the images shown
during playback are framed correctly too. Replaces refine_picture_
bounds(), which only recognised coloured panels and had no text fence.
Also adds "Fix figure boundaries" in review and POST
/api/magazine/{id}/figures/refine behind it, so an issue ingested before
this pass can be corrected without re-running OCR. Verified live against
c't KI Wissen 2026: 78 of 138 boxes corrected, the rest declined.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 10:17:00 +02:00
c1a2d6dc74
Release v1.26.14: Studio-style side-by-side Magazine upload layout with Durchsuchen button
Test and SonarQube / quality (push) Has been cancelled
2026-09-10 14:45:00 +02:00
30e01a5cec
Release v1.26.13: Fix drag-and-drop file opening in tab & improve magazine dropzone reliability
2026-09-10 14:31:16 +02:00
11142842c2
Release v1.26.12: Fix page-wide drag-and-drop interception & magOnShow navigation hook
Test and SonarQube / quality (push) Waiting to run
2026-09-10 13:22:26 +02:00
f5f887bb1d
Release v1.26.11: Enhanced layout-aware OCR element recognition, grounding parsing, and preview thumbnails
Test and SonarQube / quality (push) Waiting to run
2026-09-10 13:08:53 +02:00
29dc913ed1
Release v1.26.10
Test and SonarQube / quality (push) Waiting to run
2026-09-10 12:50:33 +02:00
e6211f1333
Release v1.26.9
Test and SonarQube / quality (push) Waiting to run
2026-09-10 12:45:42 +02:00
9b1e29bb79
feat: automate semantic magazine layout
Test and SonarQube / quality (push) Waiting to run
2026-09-09 17:48:56 +02:00
f8af18e8f7
fix: release current magazine UI assets
Test and SonarQube / quality (push) Waiting to run
2026-09-09 17:40:25 +02:00
31b13a4e16
feat: improve magazine review navigation
Test and SonarQube / quality (push) Waiting to run
2026-09-09 17:36:27 +02:00
c1d86ec13d
fix: return All magazines to library
Test and SonarQube / quality (push) Waiting to run
2026-09-09 17:14:27 +02:00
272d4872bd
fix: use native Unlimited-OCR layout regions
Test and SonarQube / quality (push) Waiting to run
2026-09-09 13:27:14 +02:00
037f3dd74d
fix: stabilize OCR and character sheet casting
Test and SonarQube / quality (push) Waiting to run
2026-09-09 07:51:59 +02:00
ff827a74bd
fix: recover character sheet requests from gateway 405
Test and SonarQube / quality (push) Waiting to run
2026-09-09 06:49:52 +02:00
b7aade39db
Release v1.26.1
Test and SonarQube / quality (push) Waiting to run
2026-09-08 23:39:44 +02:00
1a06a8bf8c
Release v1.26.0
Test and SonarQube / quality (push) Waiting to run
2026-09-07 19:05:10 +02:00
6553d5003d
fix: preserve custom OCR engine cards
2026-09-05 08:11:57 +02:00
60ef436ce1
feat: add OCR engine profiles
2026-09-04 22:29:11 +02:00
2caa417401
fix: preserve audiobook dialogue boundaries
2026-09-04 15:36:26 +02:00
29f5243f6b
test: preserve dialogue-only recast merges
2026-09-04 15:31:45 +02:00
b6f4a9518b
test: lock visual identity prompts
2026-09-04 15:30:39 +02:00
8181c491c0
docs: complete frontend namespace migration
2026-09-04 13:43:36 +02:00
18e586d06f
refactor: scope conversation state
2026-09-04 13:42:02 +02:00
417d7215d2
refactor: scope i18n state
2026-09-04 13:40:07 +02:00
ee4208ec51
refactor: scope cast compatibility modules
2026-09-04 13:38:40 +02:00
542f44fbb8
refactor: scope seed finder
2026-09-04 13:36:55 +02:00
10f618c179
refactor: scope character columns
2026-09-04 13:35:10 +02:00
d2a8dd43b4
perf: tighten character pagination
2026-09-04 13:31:18 +02:00
7938f9ca74
refactor: scope frontend utilities
2026-09-04 13:27:43 +02:00
d055596504
refactor: scope voice inspector
2026-09-04 13:25:13 +02:00
67ee55d3ac
refactor: scope character library
2026-09-04 13:23:54 +02:00
73f8f92826
refactor: scope character sheets
2026-09-04 13:21:31 +02:00
e5bd2a149f
refactor: scope voice library
2026-09-04 13:19:52 +02:00
1b7d6b2346
refactor: scope generation module
2026-09-04 13:15:30 +02:00
ababdf6741
refactor: scope stt module
2026-09-04 13:13:10 +02:00
c53c47ce2d
refactor: scope ai backends
2026-09-04 13:10:51 +02:00
716e601fac
refactor: scope integrations module
2026-09-04 13:06:59 +02:00
3fffae9015
refactor: scope combined library
2026-09-04 13:04:46 +02:00
260c5c22a7
refactor: scope engine support
2026-09-04 13:02:29 +02:00
b747553bf6
refactor: scope routing module
2026-09-04 13:00:10 +02:00
28c72c76dd
refactor: scope voice sources
2026-09-04 12:57:53 +02:00
d219aec676
refactor: scope voice clone
2026-09-04 12:55:50 +02:00
998a65f2ba
refactor: scope tts preview
2026-09-04 12:53:44 +02:00
656d0473d4
refactor: scope settings module
2026-09-04 12:51:29 +02:00
8002ca1d75
refactor: scope character library
2026-09-04 12:49:22 +02:00
0e615d52de
refactor: scope studio module
2026-09-04 12:47:30 +02:00
ac55cd88a3
refactor: scope rehearser cast
2026-09-04 12:44:58 +02:00
df95ada578
refactor: scope rehearser voice design
2026-09-04 12:44:08 +02:00
0f3d410260
refactor: scope rehearser voice picker
2026-09-04 12:43:11 +02:00
dea1de5c57
refactor: scope rehearser stage
2026-09-04 12:42:22 +02:00