)]}'
{
  "commit": "0686491bde973cafe18376ede349ffc92e24a30a",
  "tree": "f2d6af002429f2f61048e9118fddb2ebd20cdacc",
  "parents": [
    "87cc5bee6d3a34d15017dbbb58634ddc7f33ff9b"
  ],
  "author": {
    "name": "Laurenz Stampfl",
    "email": "47084093+LaurenzV@users.noreply.github.com",
    "time": "Wed Jul 16 09:56:52 2025 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 16 07:56:52 2025 +0000"
  },
  "message": "Performance improvements for gradients (#1098)\n\nThis PR contains a number of changes to improve the performance of\ncomplex paints:\n- Instead of wrapping each painter in a `Box`, we use generics. I\nchecked the changes in my C wrapper library and it didn\u0027t have any\nnoticeable impact on binary size, which makes sense because the\n`paint_u8` and `paint_f32` methods are probably never inlined. However,\nit does feel like it might have impacted compilation time a bit, but I\nhaven\u0027t measured it. But this is definitely a necessary change, as the\n`Box` allocations really showed up in the profiles (~20%).\n- I implemented an optimization for SRGB gradients so we don\u0027t create\nadditional stops which are unnecessary.\n- I slightly reduced the size of the LUT table for certain number of\nstops, but this should still be more than sufficient (and also matches\nBlend2D).\n- I SIMDified and optimized the actual LUT computation.\n\nHere is a comparison of rendering times for linear gradients, the gains\nare especially noticeable for smaller sizes, but also the biggest one\nhas gotten quite a bit faster thanks to the removal of `Box`.:\n\nBefore:\n\u003cimg width\u003d\"1349\" height\u003d\"723\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/5b162d17-134f-44c6-b478-d85598c1de2f\"\n/\u003e\n\n\nAfter:\n\u003cimg width\u003d\"1348\" height\u003d\"727\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/0d61c65f-91cb-4c5d-b895-52e921478c1c\"\n/\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "715e79d2b21e77d3eeaa823e1aa27deda22345bb",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/encode.rs",
      "new_id": "df558f3b9ba32333712872438f4ee7ddb2559819",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/encode.rs"
    },
    {
      "type": "modify",
      "old_id": "754523317f1d90e87e53f65a857cfa5883591679",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/lib.rs",
      "new_id": "661694f1d641425d1c404c2f0b9ecb5126007378",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/lib.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7f920055477d483c39f19a2674f2d5c3d4e72cd0",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/simd.rs"
    },
    {
      "type": "modify",
      "old_id": "42183dc6a67650bb901d9ca9ec54c4d392a54dea",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/fine/common/gradient/mod.rs",
      "new_id": "a39e6e5bca7d210593e88bb7b8e5957cd278de5a",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/fine/common/gradient/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "39bc6ade7af0ada21b747d1640527d2228aa9378",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/fine/common/image.rs",
      "new_id": "b61c9f114813caf72c2da5112e5549b05ed2dd65",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/fine/common/image.rs"
    },
    {
      "type": "modify",
      "old_id": "9ac35a7069570509d6d3a40fd6e95f2f5df01db7",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/fine/highp/mod.rs",
      "new_id": "557900ec511ec7afcf3de1139f5537e87293aeab",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/fine/highp/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "f5877392eb224ad765719c08ae83eba42b2d4dcc",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/fine/lowp/gradient.rs",
      "new_id": "f71320d5ce7a98d5ab60b289f19a65f62795694b",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/fine/lowp/gradient.rs"
    },
    {
      "type": "modify",
      "old_id": "9a555f63f0c612702278b5c6002960f3a2ddbcff",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/fine/lowp/image.rs",
      "new_id": "8a61eaadae4165a3f9fe1d04691387f983025eba",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/fine/lowp/image.rs"
    },
    {
      "type": "modify",
      "old_id": "26e0ef939176589c6e3558f5f9184dc0cc71bed1",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/fine/lowp/mod.rs",
      "new_id": "bdb045bd471787f3652c5b83b2d1e88e43b5bd6b",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/fine/lowp/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "00f432d7fdc97a9c7fd3a869e809e343a0be10c0",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/fine/mod.rs",
      "new_id": "07f849b573e7428b5a91501fea9d4aaeb8ef6a51",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/fine/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "35eb53c27140732524812477073278dab96d11e3",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/glyphs_colr_noto.png",
      "new_id": "167770b43bbd0496d3e261637990d0eae6a73cad",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/glyphs_colr_noto.png"
    },
    {
      "type": "modify",
      "old_id": "49bfbe47da425c48a9687c1f88f7c51c3d53f24c",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/glyphs_colr_test_glyphs.png",
      "new_id": "5e65bbd2042ce2b9fb312e4585e4cdd25185bc10",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/glyphs_colr_test_glyphs.png"
    },
    {
      "type": "modify",
      "old_id": "b0235913e0d0f2ee752e18e4cbff9f7fed159c2c",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_2_stops.png",
      "new_id": "cbcc9e461f3484c7439fe3fa1072652b0771426a",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_2_stops.png"
    },
    {
      "type": "modify",
      "old_id": "78d6600b1d400caf0b2e76282c68fb49ade8c8b0",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_2_stops_with_alpha.png",
      "new_id": "e10a574e6c73bf35a7fe9bf940cab39e438d74e1",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_2_stops_with_alpha.png"
    },
    {
      "type": "modify",
      "old_id": "57d26624fdbf3dcddf3a55dd6de3c1a2b04f70b6",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_negative_direction.png",
      "new_id": "b242c99c41f9fa5fd9e8392b141b7a8d409e9ab2",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_negative_direction.png"
    },
    {
      "type": "modify",
      "old_id": "2324add3e1cdb0de1f29c265dfb16b7b65914c0b",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_spread_method_pad.png",
      "new_id": "4017d7795cbbc70564f4b983bbaaf167611ce889",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_spread_method_pad.png"
    },
    {
      "type": "modify",
      "old_id": "de10c620d7894584020e80d8fa3c711d7da8f399",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_spread_method_reflect.png",
      "new_id": "b3b3207247d4c6f4d1dc8cede1121607d6916187",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_spread_method_reflect.png"
    },
    {
      "type": "modify",
      "old_id": "a32d6a15af52903aa1faebbc7251d70456f3c889",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_spread_method_repeat.png",
      "new_id": "8232587033049c9ded482149911c43e3e722869b",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_spread_method_repeat.png"
    },
    {
      "type": "modify",
      "old_id": "83d2925374e8658617698b94227baf1508adcbe5",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_vertical.png",
      "new_id": "2085d3a0867c6305a3f0c48258b2aad1e984dc58",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_vertical.png"
    },
    {
      "type": "modify",
      "old_id": "bbb822369499cdfc253dd42bb7506ebb50cf394c",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_downward_y.png",
      "new_id": "04ea3bf39b244c51df4825711cc0952c1a12970e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_downward_y.png"
    },
    {
      "type": "modify",
      "old_id": "70a8c191ad9c4650d1bd17a2c040d54a683d6266",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_identity.png",
      "new_id": "f2e06b3a167b982975cf89be69c8e2b187205738",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_identity.png"
    },
    {
      "type": "modify",
      "old_id": "cc4224e864c405927d8049bbadd9b0c87e89fa7a",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_negative_scale.png",
      "new_id": "100ac0d103b296422c7884fec8cbb7ef7cae8e8a",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_negative_scale.png"
    },
    {
      "type": "modify",
      "old_id": "70a8c191ad9c4650d1bd17a2c040d54a683d6266",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_scale.png",
      "new_id": "f2e06b3a167b982975cf89be69c8e2b187205738",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_scale.png"
    },
    {
      "type": "modify",
      "old_id": "70a8c191ad9c4650d1bd17a2c040d54a683d6266",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_scale_and_translate.png",
      "new_id": "f2e06b3a167b982975cf89be69c8e2b187205738",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_scale_and_translate.png"
    },
    {
      "type": "modify",
      "old_id": "7cd787f19e99d06ff34bf7861067df98903e2140",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_scaling_non_uniform.png",
      "new_id": "65ec90be6c3d5c7c1aa09dea125e7051aa5496a0",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_scaling_non_uniform.png"
    },
    {
      "type": "modify",
      "old_id": "70a8c191ad9c4650d1bd17a2c040d54a683d6266",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_translate.png",
      "new_id": "f2e06b3a167b982975cf89be69c8e2b187205738",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_transform_translate.png"
    },
    {
      "type": "modify",
      "old_id": "b207a696a27d1394b82f8dfd0257a321617a32ac",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_upward_y.png",
      "new_id": "2fb15bfaed54c2d2be6011613b14179246d9404e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_linear_with_upward_y.png"
    },
    {
      "type": "modify",
      "old_id": "6406951bed1483def6e639d61b2095790fc379d9",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_on_3_wide_tiles.png",
      "new_id": "a39af520ad66ba41148d4a9d1e07bdfbb82063df",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_on_3_wide_tiles.png"
    },
    {
      "type": "modify",
      "old_id": "5e349543965d03fc790c53ecad796f753561f11f",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_2_stops.png",
      "new_id": "fb9ce9877ed52b7bbd6ebb3606c6ec6bb152d3eb",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_2_stops.png"
    },
    {
      "type": "modify",
      "old_id": "28de26c7e53f4bb12c9ce1ee1b6d8a741d250bac",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_2_stops_with_alpha.png",
      "new_id": "573374eba3061d21cf5084eb6a738b099c7ee6da",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_2_stops_with_alpha.png"
    },
    {
      "type": "modify",
      "old_id": "05a63497ead898a732f4186ddc35aea08030cc28",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_4_stops.png",
      "new_id": "8659de93401722013cff990fb1117d3396ef9f5e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_4_stops.png"
    },
    {
      "type": "modify",
      "old_id": "9014b572cbd98422403f93c778e5f5de07541b60",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_c0_bigger.png",
      "new_id": "a5c9aca594a08a46877895ec06a4e64561e69d67",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_c0_bigger.png"
    },
    {
      "type": "modify",
      "old_id": "d8528a38fb36b75ca221f9fbb68464d55226830a",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_center_offset_bottom_left.png",
      "new_id": "523ce53ae1d3398f4926ec979ae0e65373d2e1d7",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_center_offset_bottom_left.png"
    },
    {
      "type": "modify",
      "old_id": "a4798e8d639c4787789cb0ec7eaaded14edddb03",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_center_offset_bottom_right.png",
      "new_id": "62009c1e2b03923c7c83c0a9fa687f51e9c5a257",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_center_offset_bottom_right.png"
    },
    {
      "type": "modify",
      "old_id": "6dc449cfad6df4f462c475746233fef2992cee7c",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_center_offset_top_left.png",
      "new_id": "a9c6f037e92bfa0f0ffb23b43e75a25e464eecde",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_center_offset_top_left.png"
    },
    {
      "type": "modify",
      "old_id": "3f65a9960634e9b7c99c77ec80e3057b783cb561",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_center_offset_top_right.png",
      "new_id": "8fb8b0d652ed053b1a1c7a1a9084adcb17f4e0be",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_center_offset_top_right.png"
    },
    {
      "type": "modify",
      "old_id": "8a2499c5f4dbace70aef6d464d7502ad7a3baf6c",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_focal_on_circle.png",
      "new_id": "cc6798fadd05135b797350f1f44b7b736a12ca52",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_focal_on_circle.png"
    },
    {
      "type": "modify",
      "old_id": "c4981ec002a28af00e81375b8acece43a1949b12",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_natively_focal.png",
      "new_id": "e3b8ae62f1e0577ee07c047260172465c01ad898",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_natively_focal.png"
    },
    {
      "type": "modify",
      "old_id": "60fab80b958754dfc8e838c7c8b974c9ebc00c76",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_non_overlapping_c0_larger.png",
      "new_id": "64b527a24d27d3f979ed12910f52a6c2dfd63a4b",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_non_overlapping_c0_larger.png"
    },
    {
      "type": "modify",
      "old_id": "926b27e8512eab597b1ea2e832e50163e863b826",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_non_overlapping_c0_smaller.png",
      "new_id": "59c077f5a9932c9ff2a8c2436da090e32ccbb407",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_non_overlapping_c0_smaller.png"
    },
    {
      "type": "modify",
      "old_id": "28a6a6d6eea3db4b82b3125cfe3dc03163d841d2",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_non_overlapping_same_size.png",
      "new_id": "00dee1e34f7945ce0822469cea45a7ed4ba4bd85",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_non_overlapping_same_size.png"
    },
    {
      "type": "modify",
      "old_id": "e2fd4c0c383bbea92ec43f7967ad79fa7e88bd0f",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_spread_method_reflect.png",
      "new_id": "690360738cbe606b4628a8708ddce6f526b95b4c",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_spread_method_reflect.png"
    },
    {
      "type": "modify",
      "old_id": "35080bca42fca6420270a25b3d159d3a6f834aa6",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_swapped.png",
      "new_id": "b3ecd1ea80659607b163b82aa9655ce3286032b9",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_swapped.png"
    },
    {
      "type": "modify",
      "old_id": "398b66b6fb8bf5342a7a441029fd4615617da3ef",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_with_transform_negative_scale.png",
      "new_id": "e830b7beafb3227033485a001dcb8c722f9c25eb",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_with_transform_negative_scale.png"
    },
    {
      "type": "modify",
      "old_id": "398b66b6fb8bf5342a7a441029fd4615617da3ef",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_with_transform_scale.png",
      "new_id": "e830b7beafb3227033485a001dcb8c722f9c25eb",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_with_transform_scale.png"
    },
    {
      "type": "modify",
      "old_id": "398b66b6fb8bf5342a7a441029fd4615617da3ef",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_with_transform_scale_and_translate.png",
      "new_id": "e830b7beafb3227033485a001dcb8c722f9c25eb",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_with_transform_scale_and_translate.png"
    },
    {
      "type": "modify",
      "old_id": "0856fb753933bbfcf408d14410a27fb069a2b780",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_with_transform_scale_non_uniform.png",
      "new_id": "d1f7800517c38e44dd1b981128e6a557901b7e1d",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_radial_with_transform_scale_non_uniform.png"
    },
    {
      "type": "modify",
      "old_id": "1b2a24240784a670124cfbd63e99960d5c8bc598",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_2_stops.png",
      "new_id": "e07d365dd75ae2c221cc947a751ccd38395a2a8a",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_2_stops.png"
    },
    {
      "type": "modify",
      "old_id": "bac89aedf0c4d956b22e4b9bf1bb119803e82c3b",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_2_stops_with_alpha.png",
      "new_id": "987e8c574db8e9c49113d226ae3e7e614ee20aba",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_2_stops_with_alpha.png"
    },
    {
      "type": "modify",
      "old_id": "733456fd21755e3e8f242270dcb30623f0cfe17b",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_4_stops.png",
      "new_id": "126e8fec493ac8048fd7a36ebe1a299d7e28b505",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_4_stops.png"
    },
    {
      "type": "modify",
      "old_id": "f7ca15c0cd6e4a207c3cc2e4429ad2d02ac2e444",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_complex_shape.png",
      "new_id": "9b60af1aacc23445e87c1362a14b9654b14daf6d",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_complex_shape.png"
    },
    {
      "type": "modify",
      "old_id": "0cd9e5c25894c99eeafd3f4f78f50d64ada9c342",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_not_in_center.png",
      "new_id": "3de042c28ef6633e00623dc726c0d6d49c21b152",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_not_in_center.png"
    },
    {
      "type": "modify",
      "old_id": "750c14fcfc7405191c2f80f1629372ed41341cc5",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_spread_method_pad.png",
      "new_id": "02c566955ac2c02b2dee4ef5b99faba50e8cdcbd",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_spread_method_pad.png"
    },
    {
      "type": "modify",
      "old_id": "7bb79aa6c31871b9788a1a7657fba97c3e0d59c9",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_spread_method_reflect.png",
      "new_id": "870585d3313701486bb46b615bb7df81502b1d1f",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_spread_method_reflect.png"
    },
    {
      "type": "modify",
      "old_id": "c2730c2ee55fc7aafdf55c5c6fec92aa2dad0199",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_spread_method_repeat.png",
      "new_id": "cbf7a768f237dec2c51df29698a0062eec0a2fd3",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_spread_method_repeat.png"
    },
    {
      "type": "modify",
      "old_id": "71bd7d7ec55e7596bdb22856b6734577c1d6eb78",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_with_transform_rotate_2.png",
      "new_id": "faf763608190876d2c68ca886a4707a31a40be4f",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_with_transform_rotate_2.png"
    },
    {
      "type": "modify",
      "old_id": "db20d5d8afabfd002f47e497adf9f44d9e04d627",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_with_transform_scale_non_uniform.png",
      "new_id": "bb8f56a6844fabaec4713a6b923c0be3c7bed6e7",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_sweep_with_transform_scale_non_uniform.png"
    },
    {
      "type": "modify",
      "old_id": "bee0416db499725ba5cf9f375e8226c8679528b2",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_with_color_spaces_1.png",
      "new_id": "d6277a72d57b011a981704ba18c8f76af0101161",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_with_color_spaces_1.png"
    },
    {
      "type": "modify",
      "old_id": "cf7404d7459429d73d946137a182965302fbae9b",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_with_color_spaces_2.png",
      "new_id": "2a9c69594b745b59f257fe4c68ecd3370c78580d",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_with_color_spaces_2.png"
    },
    {
      "type": "modify",
      "old_id": "03d79f9fb4b056bcc2f444a29611f9523547cfe8",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_with_color_spaces_3.png",
      "new_id": "67e3b8dd1e365c0f4956e9662f40aa7225372670",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/gradient_with_color_spaces_3.png"
    },
    {
      "type": "modify",
      "old_id": "ceba61fe8e20b22eebfeac1f4e7761bb693d4ebe",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/layer_multiple_properties_1.png",
      "new_id": "3c20fc4210d91a29d08a9330daae6bdf4c9a0675",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/layer_multiple_properties_1.png"
    },
    {
      "type": "modify",
      "old_id": "bd8a31a59d595ae83fe7ab8adae5b14eaf828cb4",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/mask_alpha.png",
      "new_id": "68a13c1c9e355bdc865ad30d9574e2535caf6b95",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/mask_alpha.png"
    },
    {
      "type": "modify",
      "old_id": "e52d5d82abc371201c4d4369afc20ae250a5a690",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/snapshots/mask_luminance.png",
      "new_id": "685f5bebbcff7adc8404187dd8b14632e19dd95e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/mask_luminance.png"
    }
  ]
}
