)]}'
{
  "commit": "b293125a77dc0aa680b40b3ed7cd9b12aefc8d7e",
  "tree": "7f8365cae461144fac75ea64607f787d676e0914",
  "parents": [
    "0ddf2b892cbee47eb39c41ae82952934ed0ea1e3"
  ],
  "author": {
    "name": "Raph Levien",
    "email": "raph@google.com",
    "time": "Fri Mar 15 10:49:16 2024 -0700"
  },
  "committer": {
    "name": "Raph Levien",
    "email": "raph@google.com",
    "time": "Fri Mar 15 11:06:56 2024 -0700"
  },
  "message": "Apply robustness fixes to CPU shader as well\n\nThis should make CPU and GPU shaders consistent. Some ideas were borrowed from #520, in particular the divide by zero of the chord length in offset calculation is avoided (though there is now refactoring so the robustness logic is applied once and the effective chord length is now stored in cubic_params).\n\nThe rustdoc for CubicParams::from_points_derivs also documents a bit of the rationale for the current robustness logic.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "17c6bc9bb3d3f5c1ddaa631d10b73f8f4aea11a6",
      "old_mode": 33188,
      "old_path": "src/cpu_shader/euler.rs",
      "new_id": "575ed5bf7d39256fba15a2e88c9b7b0a8a2df2d5",
      "new_mode": 33188,
      "new_path": "src/cpu_shader/euler.rs"
    },
    {
      "type": "modify",
      "old_id": "bfc7d3aa050c5e0f2526c808b2cb65a69710a156",
      "old_mode": 33188,
      "old_path": "src/cpu_shader/flatten.rs",
      "new_id": "d43837ca37427f9fd107587ae4aa7389120e5ae6",
      "new_mode": 33188,
      "new_path": "src/cpu_shader/flatten.rs"
    }
  ]
}
