)]}'
{
  "commit": "02009561dc960de0c9f165efc379fcc81bd1b388",
  "tree": "916d50cdfbb417f2e79cfcba7a20f5365466f2a1",
  "parents": [
    "daf940230a24cbb123a458b6de95721af47aef98"
  ],
  "author": {
    "name": "Andrew Jakubowicz",
    "email": "ajakubowicz@canva.com",
    "time": "Mon Jul 28 10:51:43 2025 +1000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 28 00:51:43 2025 +0000"
  },
  "message": "[vello_hybrid] Add opacity layers (#1122)\n\n### Context\n\nAdd opacity handling in `vello_hybrid` layers!\n\n### Discussion\n\nIt\u0027s probably best to look at the documentation in the shader code, but\nthis PR leverages the fact that we have a huge amount of bits that do\nnothing. I\u0027ve packed opacity into bits 0-7.\n\n### Test plan\n\nTested via the existing opacity tests.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "88f94b8b824e2287bf06898a956bb771ea6b2e16",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_dev_macros/src/test.rs",
      "new_id": "60a13a4b197cbf9b0b2f17d0e94f51a7a5f3e2bb",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_dev_macros/src/test.rs"
    },
    {
      "type": "modify",
      "old_id": "38247f2419c65e28d7f028247fe5d2851ce53b4d",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/scene.rs",
      "new_id": "e99ea520117c239d99205a829634c7e36235efce",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/scene.rs"
    },
    {
      "type": "modify",
      "old_id": "42928e7d782f160694e2baa7506377cc72cce2e3",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/schedule.rs",
      "new_id": "3d5665b49b1f377693008713aeea1a6426d4709b",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/schedule.rs"
    },
    {
      "type": "modify",
      "old_id": "9410033dc2d5dca631525a9fe7b58629c91fbca6",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/shaders/render_strips.wgsl",
      "new_id": "1d2bc1bae30f20196c39143f47d857db869d3290",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/shaders/render_strips.wgsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e8991cc7eb7b1090a5b2dd6905aaaf5dda9cbf39",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/image_with_opacity.png"
    },
    {
      "type": "modify",
      "old_id": "caba16c1797f8e89462c66399927a6f3648c0f7c",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/tests/image.rs",
      "new_id": "2798454f9d005e8514590bc93871b5ecbc68b512",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/tests/image.rs"
    },
    {
      "type": "modify",
      "old_id": "b6c8e8c840f008142c0efe7f54c4aafe0bddadfc",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/tests/renderer.rs",
      "new_id": "c7992f8677482935ffbd37a8955e172a3f3e65af",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/tests/renderer.rs"
    }
  ]
}
