Feat/use blazediff instead of pixelmatch #4843
Open
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.
Description
Replace pixelmatch with BlazeDiff. BlazeDiff is 50% faster than pixelmatch, using the same API and producing the same results. It weighs twice as much, is actively supported, and is type-safe out of the box.
It's already been checked and integrated into:
This Pull Request meets the following criteria:
For new components:
d.tsfiles and are exported inindex.d.ts✨
Description by Callstackai
This PR replaces the
pixelmatchlibrary withBlazeDifffor image comparison, improving performance and maintaining the same API.Diagrams of code changes
sequenceDiagram participant IconSystem participant FileSystem participant BlazeDiff participant PNG IconSystem->>FileSystem: Read existing icon SVG IconSystem->>FileSystem: Get new icon SVG content IconSystem->>IconSystem: Convert existing SVG to PNG IconSystem->>IconSystem: Convert new SVG to PNG IconSystem->>PNG: Create new PNG with dimensions IconSystem->>BlazeDiff: Compare PNG pixel data Note over BlazeDiff: Compare existing vs new icon BlazeDiff-->>IconSystem: Return number of different pixelsFiles Changed
pixelmatchwithBlazeDifffor image comparison.@blazediff/coreand removedpixelmatch.This PR includes files in programming languages that we currently do not support. We have not reviewed files with the extensions
.mts,.json. See list of supported languages.