)]}'
{
  "commit": "5fdecf25e6e24622da1a64ae153fd6ada02d5850",
  "tree": "b71f5fbca7016e21500e6df59fb598b57b66ded3",
  "parents": [
    "aaaef0cd9b5ada3b85800379e65f5ad60c2fad26"
  ],
  "author": {
    "name": "Alex Gemberg",
    "email": "gemberg@canva.com",
    "time": "Mon Feb 23 20:54:28 2026 +1100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Feb 23 09:54:28 2026 +0000"
  },
  "message": "vello_hybrid: Optimize rendering of opaque full-tile images (#1461)\n\nSkip prior draw commands when a wide tile is fully covered by an opaque\nfill (opaque image). This avoids unnecessary compositing work for tiles\nthat would be entirely overwritten.\n\nI also added additional examples that allocate more and more images when\npressing “a”, so I could run a very rough benchmark. It shows roughly a\n1.65x improvement in the image randomized positioning scenario.\n\nI am not entirely happy with the approach of carrying\n`may_have_opacities` inside `ImageSource`, but I have not come up with a\nbetter solution yet. I would really welcome any ideas if you have\nsuggestions.\n\nbefore|after\n---|---\n\u003cvideo\nsrc\u003dhttps://github.com/user-attachments/assets/6207df28-032f-4fd0-8223-d47b6e4eeb38/\u003e|\u003cvideo\nsrc\u003dhttps://github.com/user-attachments/assets/85c47dda-e493-4a59-92f0-28ccf3212302/\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "665bff718b9fedf3758ad3c1c2b0c67096c14f86",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/coarse.rs",
      "new_id": "3341016b59e691edf45a3eadd90cd04fae2514cc",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/coarse.rs"
    },
    {
      "type": "modify",
      "old_id": "9503f57e65bb20280af5ae341dccbee6715183fb",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/encode.rs",
      "new_id": "a3a65a8b7329250b9430da46f08ef3e18a0ca942",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/encode.rs"
    },
    {
      "type": "modify",
      "old_id": "bdf9646f184c46c05b3789aabe64967d8b65a6cc",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/paint.rs",
      "new_id": "a2a9156d3a771e76f485d9ae8fd2a20983861e4e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/paint.rs"
    },
    {
      "type": "modify",
      "old_id": "23a22b611bc691f3d097fe94f50f5d441954ab51",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/api.rs",
      "new_id": "cb5fba112b1e41513ada3ff0b8c8ec40fd9b3fc0",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/api.rs"
    },
    {
      "type": "modify",
      "old_id": "0d7ef4aff538aa63096dddc77915599992faad6a",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/fine/mod.rs",
      "new_id": "536f6f0d663d81946bacc63eced9d6ac90f0adee",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/fine/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "b5cdcf1b99d7baa1d96e6c88f2ee9691ea20408f",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_example_scenes/src/lib.rs",
      "new_id": "d4756b22e6cc3355b2d52896107bc0b8fa2be678",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_example_scenes/src/lib.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7c58ea2180db15ec4da12a50ef6775c2c62542dc",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_example_scenes/src/multi_image.rs"
    },
    {
      "type": "modify",
      "old_id": "69156425a93cd83edffb9387a6bbc42512891934",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/examples/native_webgl/src/lib.rs",
      "new_id": "0476a8a2086a002cf7f2f1016ee4c77a45cccd4f",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/examples/native_webgl/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "ac89be09ef7fc1a5d4c2dde269691304a8b7826f",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/examples/wgpu_webgl/src/lib.rs",
      "new_id": "13ff8500e1ca0f191b313e0276ecacb02832dd73",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/examples/wgpu_webgl/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "a235f6fd6e5bab68fcf9099f2c3749cef247feb2",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/examples/winit/src/main.rs",
      "new_id": "c2493a1d291d81aee1839acc0ef83d310db97799",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/examples/winit/src/main.rs"
    },
    {
      "type": "modify",
      "old_id": "203b33e87dfd9537337eb0d20c7c66eee0585111",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/api.rs",
      "new_id": "dc0e245a1ab91660f09d61eb9d43c979bb1dd52f",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/api.rs"
    },
    {
      "type": "modify",
      "old_id": "59502d60f6a93bdfeb8c70a2b419db22a11d43d9",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/render/webgl.rs",
      "new_id": "eb359c791d81cfa25f4a85b1f6d16c6a167b087c",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/render/webgl.rs"
    },
    {
      "type": "modify",
      "old_id": "40f0ef3e75d9ce58691ed52d19f2e8b0088a5492",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/render/wgpu.rs",
      "new_id": "a86b2b8b3b707080e8c532cb266dc8c8c9c0b451",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/render/wgpu.rs"
    },
    {
      "type": "modify",
      "old_id": "826bb8a2bfa18ac9292cf548e744b0890c180c17",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/schedule.rs",
      "new_id": "10298b87ef9fc0ba90495f65b568db8ba59a076b",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/schedule.rs"
    },
    {
      "type": "modify",
      "old_id": "eb81bfe4c0983887f8b3c15b83447c9e06c7b1ff",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/tests/image.rs",
      "new_id": "cc79fc8ad8e02d27a05e8c42aa4f3c75d9fcd6a9",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/tests/image.rs"
    },
    {
      "type": "modify",
      "old_id": "75dd3967100d8c8e881f644e42fccbce9dd69874",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/tests/renderer.rs",
      "new_id": "05fe0e7faa74b49334ebcd6b090efa28c338f17f",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/tests/renderer.rs"
    }
  ]
}
