)]}'
{
  "commit": "1d3c3475865d65eff0940b26d0f6f6870e1b6d3e",
  "tree": "f0582ce23631535dac90e6a091191ff36245d0a6",
  "parents": [
    "52f10f8179257eb8d9603483b1a364c6f4f4d145"
  ],
  "author": {
    "name": "mikerreed",
    "email": "hello@rive.app",
    "time": "Mon Jul 25 19:43:14 2022 +0000"
  },
  "committer": {
    "name": "mikerreed",
    "email": "hello@rive.app",
    "time": "Mon Jul 25 19:43:14 2022 +0000"
  },
  "message": "Move noop subclasses into utils\n\nWe had the idea of a \"noop\" factory or renderer in a few places. Centralize these in \"utils\".\n\nInvolved moving the specialized noorenderpath into its test file.\n\nDiffs\u003d\nec44ae50d Move noop subclasses into utils\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "87d3f8d1d038c5e4f6c2bf3efcc65027d7928054",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "be0bf2a650306e6686c8b487f7a7c944d01e0388",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "c0d716bb3e691a85bf7e4bc69b95100fd7318782",
      "old_mode": 33188,
      "old_path": "dev/test/premake5.lua",
      "new_id": "1e3cb63c5fbf045090ecb6ebdcd0238ceebd2a69",
      "new_mode": 33188,
      "new_path": "dev/test/premake5.lua"
    },
    {
      "type": "rename",
      "old_id": "f0f7330250e23c3022fa9c35759f09e1110b4e0e",
      "old_mode": 33188,
      "old_path": "test/no_op_factory.hpp",
      "new_id": "32c83b66d284680f936f066d7df1384c853270d5",
      "new_mode": 33188,
      "new_path": "include/utils/no_op_factory.hpp",
      "score": 93
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "468e585e1761e12066ae7c6cde4d2f359e0fc195",
      "new_mode": 33188,
      "new_path": "include/utils/no_op_renderer.hpp"
    },
    {
      "type": "modify",
      "old_id": "0c69b568bb67abfc6de1cb6128a8a956e1a0db25",
      "old_mode": 33188,
      "old_path": "rivinfo/build/premake5.lua",
      "new_id": "897904efafe012ae93b35fd2784be09ec04d0c52",
      "new_mode": 33188,
      "new_path": "rivinfo/build/premake5.lua"
    },
    {
      "type": "modify",
      "old_id": "c99e10bb82a4f84a5218b2cb5bc9742e5f7a3c45",
      "old_mode": 33188,
      "old_path": "rivinfo/main.cpp",
      "new_id": "d4a9b37f7b8a233caf854665301b335076a76493",
      "new_mode": 33188,
      "new_path": "rivinfo/main.cpp"
    },
    {
      "type": "modify",
      "old_id": "d34b3307cacb7b1478d90832e0c9af7c26c065ce",
      "old_mode": 33188,
      "old_path": "test/bound_bones_test.cpp",
      "new_id": "004f8c7e8989583a1ca16f1331d7e64e7c676d0d",
      "new_mode": 33188,
      "new_path": "test/bound_bones_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "5fd4c76a9fd35b617c856d008275941bd0317b96",
      "old_mode": 33188,
      "old_path": "test/clip_test.cpp",
      "new_id": "6d8bada96fea8acaca360827461e40c5e503119e",
      "new_mode": 33188,
      "new_path": "test/clip_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "bfe7d1adce8d964819a6387fd2126acc0323b3f7",
      "old_mode": 33188,
      "old_path": "test/default_state_machine_test.cpp",
      "new_id": "6da2b4ec38095b099478486549d8f4ae51434c13",
      "new_mode": 33188,
      "new_path": "test/default_state_machine_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "02bf3a846323fd0274961444b484ad3abdd864b6",
      "old_mode": 33188,
      "old_path": "test/draw_order_test.cpp",
      "new_id": "be3a122a5735681af9b1618270f188f9593add0a",
      "new_mode": 33188,
      "new_path": "test/draw_order_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "b8cd48bfb634d808ee7c214d9c9b3d76d2bc0ce5",
      "old_mode": 33188,
      "old_path": "test/file_test.cpp",
      "new_id": "54c0fe0a2a7910db92aee50f64dc575e17700271",
      "new_mode": 33188,
      "new_path": "test/file_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "ac872407b928d39c2374ee15426cc0c6f861065d",
      "old_mode": 33188,
      "old_path": "test/ik_test.cpp",
      "new_id": "f02aef0ccbaf25823891b457672a8e77d137e297",
      "new_mode": 33188,
      "new_path": "test/ik_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "891e112cb027f7cc7458f70f5d2f261099efd46d",
      "old_mode": 33188,
      "old_path": "test/image_asset_test.cpp",
      "new_id": "4eb4a3db8163310c2ff0135eec8b091ea7549a41",
      "new_mode": 33188,
      "new_path": "test/image_asset_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "aa7c3b830bdef81b8e1d03564d34dc013e4aa893",
      "old_mode": 33188,
      "old_path": "test/image_mesh_test.cpp",
      "new_id": "e04b7b29a39f6202e28ba1ada42f9dfab9bd39b8",
      "new_mode": 33188,
      "new_path": "test/image_mesh_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "93fe204c0dd7794dd9d48689db8846b7e0d0d19d",
      "old_mode": 33188,
      "old_path": "test/instancing_test.cpp",
      "new_id": "e500c6bec87b771c7f5d472d21a9532d013154d2",
      "new_mode": 33188,
      "new_path": "test/instancing_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "469b4aebb389ef4713cd4f699271500a8f4f0157",
      "old_mode": 33188,
      "old_path": "test/linear_animation_instance_test.cpp",
      "new_id": "fa24fb0e0f09052ae082748b3f1b3ff140188ab6",
      "new_mode": 33188,
      "new_path": "test/linear_animation_instance_test.cpp"
    },
    {
      "type": "delete",
      "old_id": "2587f86940bcb315c7b9c610f2d7c1525cc1d6c6",
      "old_mode": 33188,
      "old_path": "test/no_op_renderer.hpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "fb0e5fbf90a125112879edb1a987fce287adce4c",
      "old_mode": 33188,
      "old_path": "test/path_test.cpp",
      "new_id": "931e0c3fd54b9c3eb6174e08fd5a3ed554e710c8",
      "new_mode": 33188,
      "new_path": "test/path_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "b2a04958cc322ae1ff8960f96d9da0f9d6902601",
      "old_mode": 33188,
      "old_path": "test/raw_path_test.cpp",
      "new_id": "8b34f6648ac34d698dc31e2ed2d88335b10d33cb",
      "new_mode": 33188,
      "new_path": "test/raw_path_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "64a36cbb3a3a244cd0bdc66c45bc19b730e907f4",
      "old_mode": 33188,
      "old_path": "test/rive_file_reader.hpp",
      "new_id": "7fb4549d88218c23d594c7382923ff2a512c2ca1",
      "new_mode": 33188,
      "new_path": "test/rive_file_reader.hpp"
    },
    {
      "type": "modify",
      "old_id": "974e2848ada37eeaba55a4e9d3fff0cb94f01f72",
      "old_mode": 33188,
      "old_path": "test/rotation_constraint_test.cpp",
      "new_id": "5419e8781ac82dd19d1ba5981f80ac792bb6241e",
      "new_mode": 33188,
      "new_path": "test/rotation_constraint_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "edf96f52446e186e3eabdd7c060c9749f93b7802",
      "old_mode": 33188,
      "old_path": "test/scale_constraint_test.cpp",
      "new_id": "efe76ac620770421fbb4c93f5e672070140d91c3",
      "new_mode": 33188,
      "new_path": "test/scale_constraint_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "3af2791d59644b49940be1f616e0bcaf96c38416",
      "old_mode": 33188,
      "old_path": "test/stroke_test.cpp",
      "new_id": "ed47ee1c1939b398ffe4b7a5c2eb0293c6d83c9a",
      "new_mode": 33188,
      "new_path": "test/stroke_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "12707ba4a7c97389009f7c915656c39ccc4e05cc",
      "old_mode": 33188,
      "old_path": "test/transform_constraint_test.cpp",
      "new_id": "64f1f75e094ba0573a2b1bfcc986edeaa697903a",
      "new_mode": 33188,
      "new_path": "test/transform_constraint_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "e8a0eb879597b2522fa6167577ca4ad4459fff5d",
      "old_mode": 33188,
      "old_path": "test/translation_constraint_test.cpp",
      "new_id": "5452019090920b12778de12876883c9db35a7704",
      "new_mode": 33188,
      "new_path": "test/translation_constraint_test.cpp"
    },
    {
      "type": "rename",
      "old_id": "dc8703cf12ff919e7b395f139f20fce7730c8879",
      "old_mode": 33188,
      "old_path": "test/no_op_factory.cpp",
      "new_id": "c421e088c500fc6f6628337870a5f621755abcb2",
      "new_mode": 33188,
      "new_path": "utils/no_op_factory.cpp",
      "score": 61
    }
  ]
}
