)]}'
{
  "commit": "94d378d055983463c8581bcf9ca5272abe7bc0a8",
  "tree": "2f94ae8b984390214e5d947f4e65bae969e29b83",
  "parents": [
    "5cb364d1f2a764372c0757fe88837d650792c711"
  ],
  "author": {
    "name": "csmartdalton",
    "email": "hello@rive.app",
    "time": "Fri Dec 08 02:57:31 2023 +0000"
  },
  "committer": {
    "name": "csmartdalton",
    "email": "hello@rive.app",
    "time": "Fri Dec 08 02:57:31 2023 +0000"
  },
  "message": "Add a \"lite_rtti\" utility and use it with Render objects\n\nWe need to be more robust if a user tries to use mismatched factories and renderers. This PR creates a simple \"lite_rtti\" utility and applies it to every Render object. The renderers now abort early instead of crashing if they are given a Render object for the wrong renderer.\n\nDiffs\u003d\nc357e7aa7 Add a \"lite_rtti\" utility and use it with Render objects (#6311)\n\nCo-authored-by: Chris Dalton \u003c99840794+csmartdalton@users.noreply.github.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "467da65ba7b36109fb87fa961eb65800bc352e14",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "a54f657e300126a7062204472595840bd892e9fc",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "fc22574303f0d1881fa9fb95bcffb6cdb27d52bd",
      "old_mode": 33188,
      "old_path": "cg_renderer/src/cg_factory.cpp",
      "new_id": "8d4244ae09182b298be66a84bad0e73f9f59fed6",
      "new_mode": 33188,
      "new_path": "cg_renderer/src/cg_factory.cpp"
    },
    {
      "type": "modify",
      "old_id": "e59543523b612a5664d55084967d35bf1e26a89b",
      "old_mode": 33188,
      "old_path": "include/rive/renderer.hpp",
      "new_id": "4b3182550d672f44e0ef870e54745272a2db8a35",
      "new_mode": 33188,
      "new_path": "include/rive/renderer.hpp"
    },
    {
      "type": "modify",
      "old_id": "5ad69c8caba5270d773d8e8ce2d5395715280fb0",
      "old_mode": 33188,
      "old_path": "include/utils/factory_utils.hpp",
      "new_id": "27ee8b0be648447a77f2344618a62dcf92196468",
      "new_mode": 33188,
      "new_path": "include/utils/factory_utils.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2c1c934a6946d2b658cef190a2c376deb6d68639",
      "new_mode": 33188,
      "new_path": "include/utils/lite_rtti.hpp"
    },
    {
      "type": "modify",
      "old_id": "d3ac0d3ea9eb5d2ec228d4339815f93762fbf1f7",
      "old_mode": 33188,
      "old_path": "skia/renderer/src/skia_factory.cpp",
      "new_id": "f0bc87dc77417d6bd21ee2f4751a2ceebacc967d",
      "new_mode": 33188,
      "new_path": "skia/renderer/src/skia_factory.cpp"
    },
    {
      "type": "modify",
      "old_id": "463bcc1d0d5b8156afea9953bceb810ee3e5195f",
      "old_mode": 33188,
      "old_path": "tess/include/rive/tess/sokol/sokol_tess_renderer.hpp",
      "new_id": "67454fa2d2405699c6dc96c768383ad7b11e2f22",
      "new_mode": 33188,
      "new_path": "tess/include/rive/tess/sokol/sokol_tess_renderer.hpp"
    },
    {
      "type": "modify",
      "old_id": "3e97bad6e64645d5603ad2ac91ddbc3532f75fb1",
      "old_mode": 33188,
      "old_path": "tess/include/rive/tess/tess_render_path.hpp",
      "new_id": "b374c75ad6386f1f9b3ad20b6cf4236ad1929c21",
      "new_mode": 33188,
      "new_path": "tess/include/rive/tess/tess_render_path.hpp"
    },
    {
      "type": "modify",
      "old_id": "51b0192e32f1da7330deabb3a5d4c1cb60433458",
      "old_mode": 33188,
      "old_path": "tess/src/sokol/sokol_factory.cpp",
      "new_id": "00904ab1113e670473e9df70dc6964a93f848dd5",
      "new_mode": 33188,
      "new_path": "tess/src/sokol/sokol_factory.cpp"
    },
    {
      "type": "modify",
      "old_id": "b7fb081058608ebc9a7bf36ba2cce181d48b3ec4",
      "old_mode": 33188,
      "old_path": "tess/src/sokol/sokol_tess_renderer.cpp",
      "new_id": "6dc792e129b07e21a84f28f6f6dfd2d989a4f5d8",
      "new_mode": 33188,
      "new_path": "tess/src/sokol/sokol_tess_renderer.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d29d39f16012c891f8a833cc8f3fc0d34154c721",
      "new_mode": 33188,
      "new_path": "test/lite_rtti_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "b250b34799a32d78f1a361f80c9ff81e31238e9d",
      "old_mode": 33188,
      "old_path": "viewer/src/sample_tools/sample_atlas_packer.cpp",
      "new_id": "845361566dd22117d0be36e2bf2ce75abb02b130",
      "new_mode": 33188,
      "new_path": "viewer/src/sample_tools/sample_atlas_packer.cpp"
    }
  ]
}
