)]}'
{
  "commit": "8af05e7a01c33493c0fc6073ba0d70a6dea1c1bb",
  "tree": "44866f754eda6cf67fabd11c54f4c548df1c03bb",
  "parents": [
    "bb903d5ba71c914fafbff56d41c533cbfedd641c"
  ],
  "author": {
    "name": "bodymovin",
    "email": "hello@rive.app",
    "time": "Thu Jan 04 21:12:30 2024 +0000"
  },
  "committer": {
    "name": "bodymovin",
    "email": "hello@rive.app",
    "time": "Thu Jan 04 21:12:30 2024 +0000"
  },
  "message": "clone metrics path when a path is added\n\nWhen multiple strokes are added to the same path with trim path applied to them, and some are affected by transform, and some aren\u0027t, there\u0027s contention between the localPath and worldPath metrics.\nThis PR solves it by storing a unique metrics path per instance added. It copies the values from the original path so they aren\u0027t calculated more than needed.\nThere was the same contention with follow paths and trim paths, and it was solved in a slightly similar way, but there might be ramifications I\u0027m missing from this approach.\nNOTE: it also addresses this [TODO](https://github.com/rive-app/rive/blob/master/packages/runtime/src/shapes/metrics_path.cpp#L72), which ended up not being needed for this fix but left it since there was a TODO for it. I can remove it if it makes things more clear.\n\nDiffs\u003d\nb58df4ba7 clone metrics path when a path is added (#6394)\n\nCo-authored-by: hernan \u003chernan@rive.app\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "94142ab320cf984c31deb2789f2d7d5ef44a0c73",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "3eb61ea5364f7f9eb524d708b71e0994ae3822c4",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "29a7c989d296c004f64ecff68b6a534a9ebd7300",
      "old_mode": 33188,
      "old_path": "include/rive/shapes/metrics_path.hpp",
      "new_id": "7311b9cd11968ded1cd68342b6cb9cdb0445a155",
      "new_mode": 33188,
      "new_path": "include/rive/shapes/metrics_path.hpp"
    },
    {
      "type": "modify",
      "old_id": "3a0dbf5b2b5c5636436d6c4ef6a50b677dcbf1f3",
      "old_mode": 33188,
      "old_path": "src/shapes/metrics_path.cpp",
      "new_id": "46fea411a90e0901f2fd76d70e74a2c64298a775",
      "new_mode": 33188,
      "new_path": "src/shapes/metrics_path.cpp"
    },
    {
      "type": "modify",
      "old_id": "d0993309e1a074c4ce900e61e816222348961f25",
      "old_mode": 33188,
      "old_path": "src/shapes/paint/trim_path.cpp",
      "new_id": "7fad54242d4bfef4765e6a0cac3296be2056a8c5",
      "new_mode": 33188,
      "new_path": "src/shapes/paint/trim_path.cpp"
    }
  ]
}
