)]}'
{
  "commit": "04c7e15e112ad7ac0df42866f9a9efbc883177e8",
  "tree": "7ade70102059ba421e17865090424341a1f4b71c",
  "parents": [
    "eb4ecf7aff288601ee2ac2492ef293df9f947a53"
  ],
  "author": {
    "name": "csmartdalton",
    "email": "hello@rive.app",
    "time": "Tue Dec 20 00:30:16 2022 +0000"
  },
  "committer": {
    "name": "csmartdalton",
    "email": "hello@rive.app",
    "time": "Tue Dec 20 00:30:16 2022 +0000"
  },
  "message": "RawPath::Iter improvements\n\n- Add direct accessors to RawPath::Iter for verbs and points. When not using a range-for, it\u0027s awkward to have to use \"*iter\" and then pick pieces out of the resulting tuple. It\u0027s also a tiny bit faster to access the type of points directly (i.e., \"linePts()\", \"cubicPts()\"), if we\u0027re already in a switch and already know the verb anyway, as opposed to having the iterator also check the verb in a generic accessor.\n\n - Update RawPath::end() to also return the correct ending pointer for the points, not just for the verbs.\n\nDiffs\u003d\n87f079a10 RawPath::Iter improvements\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f5c51d20132c0cea21b27a359c0784e75bdd7640",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "ecf6ff9cd60c4805076cd5106ae72879be97ee1f",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "f4419176313f5614202b925b2c81654b5556079c",
      "old_mode": 33188,
      "old_path": "include/rive/math/raw_path.hpp",
      "new_id": "2536aad3e4f5c839095644223fda97eda3a98634",
      "new_mode": 33188,
      "new_path": "include/rive/math/raw_path.hpp"
    },
    {
      "type": "modify",
      "old_id": "815ba2e66afe81dd01014c4897dcbb3bf060e3a1",
      "old_mode": 33188,
      "old_path": "test/raw_path_test.cpp",
      "new_id": "b992f6124fa1f922a8df4659f92e5e17deb0347f",
      "new_mode": 33188,
      "new_path": "test/raw_path_test.cpp"
    }
  ]
}
