)]}'
{
  "commit": "e8a506e1df309ca508b12841dbb46f2579f9892d",
  "tree": "7d3a2c21aec89ce559d6b85323eec7ef0b3468a6",
  "parents": [
    "f0a4eaa0e8e2deb3550237c50beb6e2d8c62a39d"
  ],
  "author": {
    "name": "Raph Levien",
    "email": "raph@google.com",
    "time": "Wed Aug 23 14:07:28 2023 -0700"
  },
  "committer": {
    "name": "Raph Levien",
    "email": "raph@google.com",
    "time": "Wed Aug 30 17:51:25 2023 -0700"
  },
  "message": "Improve numerical robustness of path filling\n\nHandle various edge cases according to epsilon theory. Also add test SVG file which is useful for hitting those cases.\n\nWhile this handles all known artifacts, there are some rough edges. For one, area antialiasing still exhibits some artifacts. Another issue is that the bounding box culling is now slightly more lenient on the Rust side than the WGSL one (edges aligned to the left edge of the tile are now included). The WGSL path hasn\u0027t been exercised as carefully as the Rust one.\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ba1ee65db5b0a2fba6e974be6d9a4b6dda18202",
      "new_mode": 33188,
      "new_path": "examples/assets/robustness.svg"
    },
    {
      "type": "modify",
      "old_id": "f5b6b9177cb5ee04102c029b1a0eee1f3fb3bac6",
      "old_mode": 33188,
      "old_path": "shader/fine.wgsl",
      "new_id": "95f5aeb826ec2ef3753842f910fe63f3bdf22122",
      "new_mode": 33188,
      "new_path": "shader/fine.wgsl"
    },
    {
      "type": "modify",
      "old_id": "0ddc4ce4ff637bd500f1937c49572edf53fc7bec",
      "old_mode": 33188,
      "old_path": "shader/path_count.wgsl",
      "new_id": "3cf4e4c02bce90dceaea1490d5c5347ea2bace0d",
      "new_mode": 33188,
      "new_path": "shader/path_count.wgsl"
    },
    {
      "type": "modify",
      "old_id": "c48cc0ced2658c6bb7cdf062423a53af8d9cd091",
      "old_mode": 33188,
      "old_path": "src/cpu_shader/path_count.rs",
      "new_id": "670cbf03d19e7a68dd4602b54008e1264c5bb4eb",
      "new_mode": 33188,
      "new_path": "src/cpu_shader/path_count.rs"
    },
    {
      "type": "modify",
      "old_id": "95065a7f3c239e24353132ad2bc39398a5b54e1d",
      "old_mode": 33188,
      "old_path": "src/shaders.rs",
      "new_id": "0d21501abbee88ea9360aa001b5268c3f7de9438",
      "new_mode": 33188,
      "new_path": "src/shaders.rs"
    }
  ]
}
