WinMerge is excellent, open source, and while Windows-only, it runs well in Wine without needing any tweaks.
Kdiff is open source, cross-platform, and while I personally don’t love it, it supports 4-pane merge, which is quite ergonomic and rare.
I ran into the same thing building a semantic diff for a DSL compiler — text diff would report noise on every whitespace or reorder change, but the meaningful question is "which fields changed type, which statements were added or removed." Once you're operating on the AST the signal-to-noise ratio is completely different.
Or you can make it even easier(cause the output is only a text) and simply print out the difference in metadata directly. You might need some other tools like ImageMagick but at least no shenanigans with viewing binary data as part of your diff.
[1]https://stackoverflow.com/questions/5132749/diff-an-image-us...
You can use it to create delta images for git diff but also to interactively compare changes via git difftool.
Mine is token based: https://replicated.wiki/blog/img/difflet.png
The set of git tools itself, very much in development: https://github.com/gritzko/git-dogs