Repository navigation
feat(reader): elliptical translation bubbles with a shape preference - #1286
Merged
Merged
Conversation
everpcpc
added a commit
that referenced
this pull request
Oct 17, 2026
#1288) Manga translation bubbles are easier to read and no longer smudge the page. - The bubble shape preference (ellipse vs. rounded rectangle, added in #1286) is removed; bubbles always render as rounded rectangles. Stored preferences carrying the old key decode harmlessly. - For whole-bubble (YOLO) detection boxes, the white blob and its feather now stay inside the detected box, so the bubble's own border line survives instead of being painted over and blurred beyond it. The translated text sits in a centered 0.5 of the box, keeping a manga-like margin. - Horizontal bubble text now shrinks until it actually fits (previously it could give up early and overflow onto the bubble's edge line). - Tiny detected boxes always get a background: the feather is clamped so the opaque core never vanishes. - Removes three now-unused localization keys (Bubble Shape / Ellipse / Rounded Rectangle). Pages cached between #1259 and #1286 keep their pre-existing rendering until re-detected, as their rows carry no box-kind field.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
MangaTextBoxKind:MangaBubbleBackgroundacross iOS/macOS/tvOS.text: the outgrown ellipse keeps their text covered no matter which detector produced them.Why
Manga speech bubbles are elliptical; a rounded rectangle reads as a caption box. The two detector families need different treatment: rt_detr boxes wrap the text, while yolo boxes already wrap the entire bubble — outgrowing the latter would paint white far beyond the original bubble into the surrounding art. The preference lets users who prefer the tighter caption-box look switch back.
Behavior notes: text-tight bubbles touching the page edge are clipped into a straight edge slightly more than before with the ellipse shape (the overlay clips at page bounds, and the background overflows by more than just the feather band), and in dense regions feathered edges of neighboring bubbles overlap more. Both follow from the larger ellipse footprint on text-tight boxes.
Validation
make buildpasses on iOS, macOS, and tvOS;make localizesyncs the new keys and./misc/translate.py listreports no missing translations.artifacts/bubble-bg-checkprobe compiled against the modified sources: blob alpha (opaque core, transparent exterior, feather gradient) passes; ellipse text-tight background ≥ √2 of the box, ellipse whole-bubble background and rounded-rectangle backgrounds hug box + feather, whole-bubble text frame corners within 85% of the ellipse radius, rounded-rectangle text frame matching the small insets — all pass.