)]}'
{
  "commit": "af1d0917ebe5cbd8a8100337f166ef9d0adba282",
  "tree": "29c93e5ee3cf94dd8d342224e91c39699405e98f",
  "parents": [
    "8d528e799c757cc894ec9d0cbaa78a28cfb7640c"
  ],
  "author": {
    "name": "Alex Gemberg",
    "email": "gemberg67@gmail.com",
    "time": "Mon Jul 27 15:42:41 2026 +1000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 27 05:42:41 2026 +0000"
  },
  "message": "refactor: migrate sparse shaders to WESL (#1767)\n\nMigrate the sparse-strip shaders from WGSL source files to\n[WESL](https://wesl-lang.dev/) while preserving their existing behavior.\nThe build now links each WESL root to WGSL and retains optional GLSL\ngeneration for WebGL.\n\nThis establishes the foundation for future specialized shader variants,\nreusable imported shader modules, reduced duplication, and conditional\nshader composition. It also exposes linked shaders for shared linting\nand tooling while keeping stripping disabled during the initial\nmigration.\n\nCreated with assistance from GPT-5.6 Sol.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ac95a65612d36ec118f3a9066bd4faa54ac5b91f",
      "old_mode": 33188,
      "old_path": "Cargo.lock",
      "new_id": "7df92f0110dbec16b7ce4e2f79835d8a07858f82",
      "new_mode": 33188,
      "new_path": "Cargo.lock"
    },
    {
      "type": "modify",
      "old_id": "4c807d513194d6ba32d582f12b315b7fe9893ade",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/filter/gaussian_blur.rs",
      "new_id": "0b68f6acc219b6aaf280dbd41cd97dda001b9be0",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/filter/gaussian_blur.rs"
    },
    {
      "type": "modify",
      "old_id": "7c98d68f14443036fe9e99756267ea27918a3e0c",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_common/src/math.rs",
      "new_id": "21760ba974f73fb3886511145f7e17329afc3c63",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_common/src/math.rs"
    },
    {
      "type": "modify",
      "old_id": "93b69e0c61f02192de511fc569a1066db7b0f648",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/filter.rs",
      "new_id": "5a850afdca1dc0976e88f27faf36a8776d98c917",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/filter.rs"
    },
    {
      "type": "modify",
      "old_id": "4545aa2f00e9b774f8f9e464a8b76275bb281635",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/paint.rs",
      "new_id": "f0a2aaa40b8274199228532cab9894d86095ac45",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/paint.rs"
    },
    {
      "type": "modify",
      "old_id": "919315ee809f2c1af7c17306a27fa21f8ce2c104",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/render/common.rs",
      "new_id": "fdc814b32e84c81c3a1597ee2b1c396b29c4933c",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/render/common.rs"
    },
    {
      "type": "modify",
      "old_id": "ae90916ea1957be05cb0ce980d7c7831d6d84311",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_hybrid/src/scene.rs",
      "new_id": "a977055d0123942f2d0c4432ecec27a3d36ae65a",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_hybrid/src/scene.rs"
    },
    {
      "type": "modify",
      "old_id": "208af6df628586aae246e4114a95d01a993acd8d",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/Cargo.toml",
      "new_id": "0d8f04bc1120e1592b835bb76737f029f228f005",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/Cargo.toml"
    },
    {
      "type": "modify",
      "old_id": "87f3b9285035d50a19ef42ba7f38a1d6d97b1daa",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/README.md",
      "new_id": "dbcabf36209a01ad1837fcc94ec29355ba0f4c39",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/README.md"
    },
    {
      "type": "modify",
      "old_id": "88115320917f79b4f322aa94253d6dcef49207c4",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/build.rs",
      "new_id": "7ac2ab65551fdab2ea6a491db67f8cdc1fc6d6ab",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/build.rs"
    },
    {
      "type": "rename",
      "old_id": "3c6b6a5cb1433606bf149d4233c641e632507d63",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/shaders/blend.wgsl",
      "new_id": "3c6b6a5cb1433606bf149d4233c641e632507d63",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/shaders/blend.wesl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "7353225efcdae9ca4ab1e491cfb7c742c5386ec6",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/shaders/clear.wgsl",
      "new_id": "7353225efcdae9ca4ab1e491cfb7c742c5386ec6",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/shaders/clear.wesl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "cca0ddc0bc5b1124e5c5b26983b39e91fe1ccd8e",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/shaders/copy.wgsl",
      "new_id": "cca0ddc0bc5b1124e5c5b26983b39e91fe1ccd8e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/shaders/copy.wesl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "5973d8f1ff5c7f48b88bd1b98a3d3b78d9ff5260",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/shaders/filter.wgsl",
      "new_id": "5973d8f1ff5c7f48b88bd1b98a3d3b78d9ff5260",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/shaders/filter.wesl",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "f3648ca342cbf2a72b4d660020adeefe02f71f90",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/shaders/render.wgsl",
      "new_id": "f3648ca342cbf2a72b4d660020adeefe02f71f90",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/shaders/render.wesl",
      "score": 100
    },
    {
      "type": "modify",
      "old_id": "2b50c239df40ee1046e36e0f6d483dfa46dea4bb",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/src/lib.rs",
      "new_id": "aa7fe02ee87a6099d087de4bf9f6a60b43da89f9",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "0faa1ff67b517289da21f0ba07d1d45a9e7ceca4",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/src/lint/mod.rs",
      "new_id": "f76bdf8cfb3f3f4b9f920ffe3ac7542b3f8bb80c",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/src/lint/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "989f4d63a0002319a9f20b5ac32f503adb272386",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/src/main.rs",
      "new_id": "f689608fa8c2a17fb7d20acfd462d74a4f9eca5e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/src/main.rs"
    },
    {
      "type": "delete",
      "old_id": "eb4aa9404684a4080602f6c77fb6364c0ba144ac",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/src/shader_info.rs",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "7c8c632f52b54c68e2563cc55b5b7e7b8a479806",
      "old_mode": 33188,
      "old_path": "sparse_strips/vello_sparse_shaders/src/types.rs",
      "new_id": "80714852ecd8c922f5952073cd52199a168cf65e",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/src/types.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf8bf375722a3400fd54c038d05dc73d39e86c17",
      "new_mode": 33188,
      "new_path": "sparse_strips/vello_sparse_shaders/wesl.toml"
    }
  ]
}
