)]}'
{
  "commit": "c213529116fc3b8b02a315a073081936b4f1de76",
  "tree": "4bd0d0bfde26019f2bd52bb854501f46791e7be6",
  "parents": [
    "163b2250afe78c2dc38246d04b6eec7a16d3dc4d"
  ],
  "author": {
    "name": "csmartdalton",
    "email": "hello@rive.app",
    "time": "Tue Jan 02 16:31:16 2024 +0000"
  },
  "committer": {
    "name": "csmartdalton",
    "email": "hello@rive.app",
    "time": "Tue Jan 02 16:31:16 2024 +0000"
  },
  "message": "Refactor PLSRenderer into draw objects\n\nDespaghettifies PLSRenderer into high level \"PLSDraw\" objects that have the ability to count their resource requirements ahead of time and write out their draw data later. This refactoring will eventually allow us to remove intermediate flushes and implement sorting for atomic and msaa modes.\n\nWe take a ~50% CPU performance/cache loss from moving the path-processing scratch buffers into persistent heap allocations, but we need this persistence in order to count up allocation sizes and remove intermediate flushes. If CPU performance actually becomes a bottleneck in rendering, we can explore options to get this performance back.\n\nDiffs\u003d\nd52d14a1f Refactor PLSRenderer into draw objects (#6397)\n\nCo-authored-by: Chris Dalton \u003c99840794+csmartdalton@users.noreply.github.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cdccb941772e613e85f41c06972419a4351cd1c7",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "fc236ec1eea153ebac361e5d59d6fdaab80d1bac",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "0aefab5186b75ffe35c63d1b505c0e5c1d524321",
      "old_mode": 33188,
      "old_path": "include/rive/math/raw_path.hpp",
      "new_id": "7f277f84c1a766f7b6246c743fc792aedbaa0fc5",
      "new_mode": 33188,
      "new_path": "include/rive/math/raw_path.hpp"
    },
    {
      "type": "modify",
      "old_id": "4bbaccbf03e9d7227c5143510f052abf4a230a3f",
      "old_mode": 33188,
      "old_path": "src/math/raw_path.cpp",
      "new_id": "29a1d5efd5400361b6bb1c7249aa49dcc6ffbf1a",
      "new_mode": 33188,
      "new_path": "src/math/raw_path.cpp"
    }
  ]
}
