Skip to content

Comparer: pilot pink-dot grid overlay for pixel diffs (issue #13)#38

Merged
chammoru merged 1 commit into
masterfrom
feature/pixel-diff-overlay
May 26, 2026
Merged

Comparer: pilot pink-dot grid overlay for pixel diffs (issue #13)#38
chammoru merged 1 commit into
masterfrom
feature/pixel-diff-overlay

Conversation

@chammoru
Copy link
Copy Markdown
Owner

Pilot for #13. Not for merge yet — sharing the build for visual review.

What changed

  • ComparerView: each pane overlays a pink dot in any 24×24 display-pixel cell that contains a differing pixel between the two sources. Cell size is fixed in display pixels, so zooming in implicitly subdivides the source region per cell. At maximum zoom each dot resolves to a single differing source pixel.
  • PosInfoView: per-row red diff lines removed (the grid overlay covers that information). The timeline is hidden when neither pane is a video; frame picking is still available for video sources.

How to try

  1. Download the build artifact from this PR's CI run
  2. Open two images (or two video frames) into Comparer that have any pixel difference
  3. Confirm pink dots appear on differing cells; zoom in (Ctrl+wheel) and verify dots become more precise

Open questions

  • Dot size / color tuning
  • Whether to keep the timeline visible for image sources (currently hidden)
  • Performance at very low zoom on large images

@chammoru chammoru force-pushed the feature/pixel-diff-overlay branch from 42f5d25 to 40fb091 Compare May 26, 2026 02:57
@chammoru chammoru force-pushed the master branch 3 times, most recently from 6a52798 to ff90ffa Compare May 26, 2026 08:52
The image area in each pane is divided into a fixed-size grid in
display pixels. Every cell that contains at least one pixel that
differs from the reference pane is highlighted with a translucent pink
rectangle outline plus a center dot, drawn with GDI+ alpha blending so
the underlying image stays visible. Because the cell size is fixed in
display pixels, zooming in implicitly subdivides the source region each
cell covers — at maximum zoom each dot resolves to a single differing
source pixel. The overlay is hidden automatically once zoom is high
enough to render per-pixel value labels, since the labels already
convey the diff.

'D' toggles the overlay on and off (default on); '?' shows or hides
the new Comparer shortcut panel. docs/USER_GUIDE.md gains a Comparer
controls table and a mention of the diff overlay; the Viewer table now
also lists the 'M' mute shortcut.

Per-row red diff lines in PosInfoView are removed (the grid overlay
covers the same information). The timeline is hidden when neither pane
is a video; frame picking is still available for video sources.
@chammoru chammoru force-pushed the feature/pixel-diff-overlay branch from 40fb091 to f3d2a2d Compare May 26, 2026 10:03
@chammoru chammoru merged commit f3d2a2d into master May 26, 2026
1 check passed
@chammoru chammoru deleted the feature/pixel-diff-overlay branch May 26, 2026 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant