)]}'
{
  "commit": "c27002a5d3b15ee75ac786e3e84d0e12c59de76b",
  "tree": "7814ffe074168db7f1ba6e85808850b4f6b8bce2",
  "parents": [
    "6dcdb9760252c717316a764aaf473e2fe39cb243"
  ],
  "author": {
    "name": "bodymovin",
    "email": "hello@rive.app",
    "time": "Tue Nov 14 00:01:33 2023 +0000"
  },
  "committer": {
    "name": "bodymovin",
    "email": "hello@rive.app",
    "time": "Tue Nov 14 00:01:33 2023 +0000"
  },
  "message": "add clipResult enum and render clips to copy the editor behavior\n\nThis PR changes how clipping works in the runtime in order to mimic how the editor works.\nA hidden path will now behave as an empty path effectively fully hiding the clipped element instead of being skipped.\nIt also introduces a performance improvement in case shapes don\u0027t have any visible paths. The ClipResult enum is used to differentiate between clipping with at least an empty path or no empty paths at all.\nFor now, that improvement will only be used for hidden paths but an upcoming PR will also use it for collapsed paths inside solos.\n\nDiffs\u003d\ne717ed98a add clipResult enum and render clips to copy the editor behavior (#6218)\n\nCo-authored-by: hernan \u003chernan@rive.app\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "08fea997cc3d695fc3efee579155ee6d97bbe246",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "46863b2cb90e7d8f863271208dc893be6a579b1f",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7b9b7dc86daef533d268054b421f1078334da274",
      "new_mode": 33188,
      "new_path": "include/rive/clip_result.hpp"
    },
    {
      "type": "modify",
      "old_id": "08a40c29c06ab12ba3f2801623408b64b14fc9d0",
      "old_mode": 33188,
      "old_path": "include/rive/drawable.hpp",
      "new_id": "0e4c494c1f328a2989e62956b92f19200b9f07c3",
      "new_mode": 33188,
      "new_path": "include/rive/drawable.hpp"
    },
    {
      "type": "modify",
      "old_id": "401514743cab0fcda613855529db33d837808efb",
      "old_mode": 33188,
      "old_path": "include/rive/shapes/path.hpp",
      "new_id": "5293fafaa3e08548a583a21e3a5a78baafa8cc16",
      "new_mode": 33188,
      "new_path": "include/rive/shapes/path.hpp"
    },
    {
      "type": "modify",
      "old_id": "75b9a669da09eaa31a52e3822da3566f41cf3bc1",
      "old_mode": 33188,
      "old_path": "include/rive/shapes/shape.hpp",
      "new_id": "2696c39a69a2627855d39df012401ef36a960784",
      "new_mode": 33188,
      "new_path": "include/rive/shapes/shape.hpp"
    },
    {
      "type": "modify",
      "old_id": "32b86ecca6e6e8674a9f856649b10ce2ed079d4d",
      "old_mode": 33188,
      "old_path": "src/drawable.cpp",
      "new_id": "5f41d68f26d301f01590b43f3d6cdfbe3680315d",
      "new_mode": 33188,
      "new_path": "src/drawable.cpp"
    },
    {
      "type": "modify",
      "old_id": "25bd218bf9c6d32b3e0772c038fb851900cbecc5",
      "old_mode": 33188,
      "old_path": "src/nested_artboard.cpp",
      "new_id": "8b80df4821486aa1442a04cebb4b5dcee25b1e76",
      "new_mode": 33188,
      "new_path": "src/nested_artboard.cpp"
    },
    {
      "type": "modify",
      "old_id": "f904194b6158b0cddcdc36e425f1e51fb6b6c30c",
      "old_mode": 33188,
      "old_path": "src/shapes/clipping_shape.cpp",
      "new_id": "8d68908baef2360ab3c843918b13fabb1a3bdfed",
      "new_mode": 33188,
      "new_path": "src/shapes/clipping_shape.cpp"
    },
    {
      "type": "modify",
      "old_id": "df51c66a81fe59c65039154f5cf01f9f58c19bc3",
      "old_mode": 33188,
      "old_path": "src/shapes/image.cpp",
      "new_id": "fac4a59547e8ddc8725fd7077af4e14c147aa534",
      "new_mode": 33188,
      "new_path": "src/shapes/image.cpp"
    },
    {
      "type": "modify",
      "old_id": "34faf3dbc711eb343efee13f314e61eda5485e05",
      "old_mode": 33188,
      "old_path": "src/shapes/path_composer.cpp",
      "new_id": "6e4764e55f4be5b2db78abe1061369adc73163fd",
      "new_mode": 33188,
      "new_path": "src/shapes/path_composer.cpp"
    },
    {
      "type": "modify",
      "old_id": "9abbf75ff2aa84d862478a1fa6ff21cf7dd78ff6",
      "old_mode": 33188,
      "old_path": "src/shapes/shape.cpp",
      "new_id": "33dd3f9cbae473df1b46a504909414619cd5da7b",
      "new_mode": 33188,
      "new_path": "src/shapes/shape.cpp"
    },
    {
      "type": "modify",
      "old_id": "14bb666a4c240456748b527df793fc85cf7d95b7",
      "old_mode": 33188,
      "old_path": "src/text/text.cpp",
      "new_id": "56bbbfd33bde4cc4390345fa72c7beaf94872c63",
      "new_mode": 33188,
      "new_path": "src/text/text.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2505f3c727bccbf8b96602eec83906b7471ef945",
      "new_mode": 33188,
      "new_path": "test/assets/clip_tests.riv"
    },
    {
      "type": "modify",
      "old_id": "79e7fcc53461fc3ddc3a6721badbfac20b4dd25b",
      "old_mode": 33188,
      "old_path": "test/clip_test.cpp",
      "new_id": "1a3cb999818c8245f91458f93bcf2e11beafd233",
      "new_mode": 33188,
      "new_path": "test/clip_test.cpp"
    }
  ]
}
