)]}'
{
  "commit": "5b58fd09d46871d2d81775c616c5fa0b2a685e5c",
  "tree": "785cdd8dc3f2f04c4027c2ad3b4d762caede37c5",
  "parents": [
    "54f76d5b266784e95040b691db60fce0dabdcdc2"
  ],
  "author": {
    "name": "Raph Levien",
    "email": "raphl@canva.com",
    "time": "Sat Oct 10 16:23:10 2026 +1100"
  },
  "committer": {
    "name": "Raph Levien",
    "email": "raphl@canva.com",
    "time": "Sat Oct 10 16:23:10 2026 +1100"
  },
  "message": "vello_gpu: direct GPU strip draws inside layers, exact buffer sizing\n\nPaths inside layers are now drawn from GPU-built instances too: the instance\npass clips each segment to the draw target\u0027s tile bounds and applies the\nlayer\u0027s geometry shift (as `visit_strip_fill_segments` and `RectU16::shift`\ndo), with unused instance slots cleared per frame. Buffers and clears are\nsized to the exact strip and block totals from the path summaries, and the\nstrip-record pass is skipped when nothing is read back. Readback now happens\nonly for paths under a clip path and for non-solid paints.\n\nWritten primarily by Claude Fable 5.1\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fe292aa3f1c33621550ac73f8a6cf6e8394c75f7",
      "old_mode": 33188,
      "old_path": "vello_gpu/examples/sparse_strips_compare.rs",
      "new_id": "cb88c9bf959f22985546bd27580cba454fcdd437",
      "new_mode": 33188,
      "new_path": "vello_gpu/examples/sparse_strips_compare.rs"
    },
    {
      "type": "modify",
      "old_id": "28016007b6668caa30c31b71be6f2b83c8b78bd9",
      "old_mode": 33188,
      "old_path": "vello_gpu/src/draw.rs",
      "new_id": "b87f1bd0d2cd5679b5cf5780ccfc45a206d60f84",
      "new_mode": 33188,
      "new_path": "vello_gpu/src/draw.rs"
    },
    {
      "type": "modify",
      "old_id": "cc90c780af58af37eb113a627c779b10e6390662",
      "old_mode": 33188,
      "old_path": "vello_gpu/src/scene.rs",
      "new_id": "c8965c3973c19f06bdf6d609d63c3cfa5ae3a3b3",
      "new_mode": 33188,
      "new_path": "vello_gpu/src/scene.rs"
    },
    {
      "type": "modify",
      "old_id": "fbb5944611ec5484d11398234193fc040d035767",
      "old_mode": 33188,
      "old_path": "vello_gpu/src/sparse_strips/gpu.rs",
      "new_id": "5793f95ebfc866070e6e6d1335d70f4182ddefaa",
      "new_mode": 33188,
      "new_path": "vello_gpu/src/sparse_strips/gpu.rs"
    },
    {
      "type": "modify",
      "old_id": "25d5cf089087a7587d56ac3f28ed6721a79683e0",
      "old_mode": 33188,
      "old_path": "vello_gpu/src/sparse_strips/mod.rs",
      "new_id": "5b889a80787da60b93373fe5a8fd74e0fd85a6d5",
      "new_mode": 33188,
      "new_path": "vello_gpu/src/sparse_strips/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "f9af3f01228a2d71fa3c54b3de6c539d2982615b",
      "old_mode": 33188,
      "old_path": "vello_gpu_shaders/shaders/helpers/sparse_strips.wesl",
      "new_id": "67193e54c5e5b774d33cfd269d1c4199c86e4fee",
      "new_mode": 33188,
      "new_path": "vello_gpu_shaders/shaders/helpers/sparse_strips.wesl"
    },
    {
      "type": "modify",
      "old_id": "c1ebc2414575872ef143b070f3147040e170c7b1",
      "old_mode": 33188,
      "old_path": "vello_gpu_shaders/shaders/sparse_strips_instances.wesl",
      "new_id": "30dd518559071d004d5a9e99f11e2d753f65cab1",
      "new_mode": 33188,
      "new_path": "vello_gpu_shaders/shaders/sparse_strips_instances.wesl"
    }
  ]
}
