Skip to content

Optimise the size of Vello (Classic) test snapshots using oxipng #1087

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

DJMcNab
Copy link
Member

@DJMcNab DJMcNab commented Jul 4, 2025

The size of these screenshots was the main reason we ended up using LFS for storing snapshots. These have now been reduced significantly by using oxipng, as in Vello Sparse Tests:

.../vello/vello_tests/snapshots/big_bitmap.png: 8.87 kB (-5.70 kB)
.../vello/vello_tests/snapshots/big_bitmap_apple.png: 13.30 kB (-5.06 kB)
.../vello/vello_tests/snapshots/big_colr.png: 10.14 kB (-5.87 kB)
.../vello/vello_tests/snapshots/bitmap_undef.png: 68 B (-221 B)
.../vello/vello_tests/snapshots/blurred_rounded_rect.png: 19.25 kB (-102.38 kB)
.../vello/vello_tests/snapshots/colr_undef.png: 68 B (-221 B)
.../vello/vello_tests/snapshots/deep_blend.png: 236 B (-6.76 kB)
.../vello/vello_tests/snapshots/fill_types.png: 27.77 kB (-54.34 kB)
.../vello/vello_tests/snapshots/funky_paths.png: 2.31 kB (-15.68 kB)
.../vello/vello_tests/snapshots/gradient_extend.png: 11.23 kB (-44.17 kB)
.../vello/vello_tests/snapshots/image_extend_modes_bilinear.png: 18.81 kB (-102.47 kB)
.../vello/vello_tests/snapshots/image_extend_modes_nearest_neighbor.png: 911 B (-19.11 kB)
.../vello/vello_tests/snapshots/image_sampling.png: 17.14 kB (-66.48 kB)
.../vello/vello_tests/snapshots/integer_translation.png: 657 B (-2.52 kB)
.../vello/vello_tests/snapshots/little_bitmap.png: 759 B (-705 B)
.../vello/vello_tests/snapshots/little_colr.png: 1.35 kB (-599 B)
.../vello/vello_tests/snapshots/longpathdash_butt.png: 13.62 kB (-28.81 kB)
.../vello/vello_tests/snapshots/many_clips.png: 14.47 kB (-11.04 kB)
.../vello/vello_tests/snapshots/non_integer_translation.png: 657 B (-2.52 kB)
.../vello/vello_tests/snapshots/rounded_rectangle_watertight.png: 183 B (-638 B)
.../vello/vello_tests/snapshots/scaled_hinted.png: 1.01 kB (-4.71 kB)
.../vello/vello_tests/snapshots/simple_hinted.png: 647 B (-2.48 kB)
.../vello/vello_tests/snapshots/smoke/data_image_roundtrip.png: 602 B (-59 B)
.../vello/vello_tests/snapshots/smoke/filled_circle.png: 149 B (-339 B)
.../vello/vello_tests/snapshots/smoke/filled_square.png: 82 B (-244 B)
.../vello/vello_tests/snapshots/smoke/layer_size.png: 109 B (-70 B)
.../vello/vello_tests/snapshots/smoke/two_emoji.png: 2.29 kB (-783 B)
.../vello/vello_tests/snapshots/splash.png: 49.78 kB (-50.08 kB)
.../vello/vello_tests/snapshots/stroke_styles.png: 42.30 kB (-53.71 kB)
.../vello/vello_tests/snapshots/stroke_styles_non_uniform.png: 42.73 kB (-47.17 kB)
.../vello/vello_tests/snapshots/stroke_styles_skew.png: 44.08 kB (-55.96 kB)
.../vello/vello_tests/snapshots/tricky_strokes.png: 17.37 kB (-17.36 kB)
----------------------------
Total size: 362.96 kB (-708.25 kB)

This does not move us away from LFS. I think there are some reasonable arguments for doing that now (primarily to allow using jujitsu). But I'm not planning on pushing for that until we have another need for it.

@DJMcNab DJMcNab added the C-classic Applies to the classic `vello` crate label Jul 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-classic Applies to the classic `vello` crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant