fix(callouts): report clipped targets as quality finding + editor warning (#1853) #1868
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!1868
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/callout-clipped-target-1853"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Callout targets that fall outside the visible image area under cover/zoom previously disappeared silently — no marker rendered, and nothing told the author why. This PR makes that visible in two places:
calloutTargetOutOfViewissue kind in the slide quality analyzer, reported when a callout target maps outside the painted image rect under the current focal/zoom settings.What changed
lib/utils/image_dimensions.dart— new lightweight image dimension reader (PNG, JPEG, GIF, BMP, WebP headers only).lib/services/slide_quality/slide_quality_analyzer_callouts.dart— new part file with the clip check.lib/models/slide_quality.dart—calloutTargetOutOfViewadded to the issue kind enum.lib/l10n/slide_quality_localization.dart— localization for the new issue.lib/widgets/editors/callout_editor.dart— intrinsic resolution + clipped-target warning.lib/widgets/editors/callout_marker_helpers.dart— extracted helper widgets (clipped badge, drag preview,Handle,DragRegion).lib/widgets/slides/previews/callout_overlay.dart— shared_calloutImageProvidermade public for reuse.tool/add_l10n.dart.docs/SOURCE_MAP.md— entries for the two new files.Why no bewaker-step
This touches none of the five triggers: not the file format, not storage, no new dependency, no outbound traffic or keys, no public promise in the interface. It is a quality-finding and an editor affordance within the existing callout feature.
Test plan
make check— all 10.968 tests pass, 87.0% coverage, per-file floor cleanmake check-secrets— gitleaks + trufflehog cleanmake sast— semgrep clean (0 findings)test/callout_clip_check_test.dart— quality finding fires for clipped targets, not for in-view targetstest/image_dimensions_test.dart— dimension reader for all supported formatstest/callout_marker_helpers_test.dart— badge, drag preview, DragRegion, Handletest/callout_editor_test.dart— editor shows warning when a callout is clippedGenerated with Devin