)]}'
{
  "commit": "93e4ce468f0aadff5622e960baa16e6c87e0d5fb",
  "tree": "223b7b7aad2bd2b18bcca5304d2dd8fb15cb13ba",
  "parents": [
    "af45192d7335c988bb7fe34ef2e9f8413e9b7a85"
  ],
  "author": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Tue Sep 22 18:40:57 2026 +0000"
  },
  "committer": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Tue Sep 22 18:40:57 2026 +0000"
  },
  "message": "perf(runtime): cheaper advance for rigs with many hidden shapes (#14255) 6dcbf68a58\n* cache skinned path and layout participant lookups on shape\n\n* notify the shape of a path change once per dirt cycle\n\n* skip stroke effect updates while the paint is hidden\n\n* scan for skinned paths and layout participants in editor builds, where children change under us\n\n* keep measuring hidden effects that feed a clip\n\n* keep the shape lookup caches in the never defer flag and spare padding so shape does not grow\n\n* exempt only clip sources from the hidden effect skip, nothing else reads a hidden effect path\n\nCo-authored-by: Luigi Rosso \u003cluigi-rosso@users.noreply.github.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "02f75b4199d0b922ccf59d060e972f715b48bd47",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "6eb0cf145af2b945ee3bfca310f9d8f8abe3965c",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "4f192b52215b744d107a24e91e5c058e7b0a72a8",
      "old_mode": 33188,
      "old_path": "include/rive/shapes/path.hpp",
      "new_id": "1741819df8ba802d26ccec6b2db7d8c14417bd96",
      "new_mode": 33188,
      "new_path": "include/rive/shapes/path.hpp"
    },
    {
      "type": "modify",
      "old_id": "9b398fae5a4ce0542889ffd48b47c21abbd21cc2",
      "old_mode": 33188,
      "old_path": "include/rive/shapes/path_composer.hpp",
      "new_id": "e8605ff9f7eaf9fb6fd7b75612e6e7c96fa01415",
      "new_mode": 33188,
      "new_path": "include/rive/shapes/path_composer.hpp"
    },
    {
      "type": "modify",
      "old_id": "25da3f19dcdbdbc8809062c34440da02d8aab032",
      "old_mode": 33188,
      "old_path": "include/rive/shapes/shape.hpp",
      "new_id": "44381012d78b441f35a9f7f887c15f01be520054",
      "new_mode": 33188,
      "new_path": "include/rive/shapes/shape.hpp"
    },
    {
      "type": "modify",
      "old_id": "af8e32c89b96730e0db9ea3173c8249de4b9a9b5",
      "old_mode": 33188,
      "old_path": "src/shapes/paint/shape_paint.cpp",
      "new_id": "c85ee8b3ff31451d33d59419f17f97bb7c0cecea",
      "new_mode": 33188,
      "new_path": "src/shapes/paint/shape_paint.cpp"
    },
    {
      "type": "modify",
      "old_id": "d249a5c7dec0326b7b4697e37160019c85e3cddb",
      "old_mode": 33188,
      "old_path": "src/shapes/path.cpp",
      "new_id": "4359e1f1e3d861c443a91e1178d684d182e92e83",
      "new_mode": 33188,
      "new_path": "src/shapes/path.cpp"
    },
    {
      "type": "modify",
      "old_id": "4d037be036d89e9537481c47a95120939e7f5a20",
      "old_mode": 33188,
      "old_path": "src/shapes/path_composer.cpp",
      "new_id": "344467bff5cef434cad0b3b26d34c60b111483cc",
      "new_mode": 33188,
      "new_path": "src/shapes/path_composer.cpp"
    },
    {
      "type": "modify",
      "old_id": "dc9b77632f308065d99ecbc8eb7b480b75befe60",
      "old_mode": 33188,
      "old_path": "src/shapes/shape.cpp",
      "new_id": "d4db4519a4fe6242348bb6b37c03abcb779faf9e",
      "new_mode": 33188,
      "new_path": "src/shapes/shape.cpp"
    },
    {
      "type": "modify",
      "old_id": "5dca83b3fdf62932f4ca1a136d1281103b980be3",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/runtime/trim_test.cpp",
      "new_id": "52e13a293748524170b269c15890c08a87570bd4",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/runtime/trim_test.cpp"
    }
  ]
}
