)]}'
{
  "commit": "ed5a7c65ea202b906a6b1d371b1ee114e7a36686",
  "tree": "43fdfe0754ef7f5c9f35dde371ea9d505a530323",
  "parents": [
    "6c8af5770e7a8a6b4133fc2866cd7cdd4b50f511"
  ],
  "author": {
    "name": "Bruce Mitchener",
    "email": "bruce.mitchener@gmail.com",
    "time": "Wed Jan 14 17:48:29 2026 +0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jan 14 10:48:29 2026 +0000"
  },
  "message": "vello_cpu(filters): Add offset filter (#1351)\n\n* Implement `FilterPrimitive::Offset` bounds expansion in `vello_common`\n* Add `vello_cpu` `Offset` filter using shared in-place pixel shift\nhelper\n* Refactor `DropShadow` to reuse shared shift code\n* Add `vello_sparse_tests` coverage + reference snapshot for offset\n\n---------\n\nCo-authored-by: Thomas Churchman \u003cthomas@kepow.org\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "72f9eab9bd688e18ce41add04652eb02243ba0ed",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/filter_effects.rs",
      "new_id": "2362d9dd92f7e345086b17458d6f2bb6d432bdc2",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/filter_effects.rs"
    },
    {
      "type": "modify",
      "old_id": "24450b9f68e2dde137c2fe01d7b6517c3df19815",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/CHANGELOG.md",
      "new_id": "f5442ceb44754926d0bf55c242b3162e05641b17",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "1e6a4e450064f0c28a0f52560cc7237ff1817b29",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/filter/drop_shadow.rs",
      "new_id": "12f10c3bbba03d9131d69a776b8d69e061c93718",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/filter/drop_shadow.rs"
    },
    {
      "type": "modify",
      "old_id": "ad0c8f747370e21d6ad72ae7c65d7148cce960d2",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_cpu/src/filter/mod.rs",
      "new_id": "674d1eb0a3cce49bdf267a4e12fb7a6a83e240f2",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/filter/mod.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fc2924a9f1ef0802e5b8f24134db357ecab4cc64",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/filter/offset.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "82660794f97506033e0c2e57b31cd2514e89dd8b",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_cpu/src/filter/shift.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9f88adea0704e8ff62023e27531e95bd7e55851a",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/snapshots/filter_offset.png"
    },
    {
      "type": "modify",
      "old_id": "5c3776bc82a7adf57509718e2b737bb2bce0843f",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_tests/tests/filter.rs",
      "new_id": "06764aca66c4c0237d13a2a7c9406524034c0c17",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_tests/tests/filter.rs"
    }
  ]
}
