)]}'
{
  "commit": "2132b5765ac9e53a9fc38bd68b5558fac67e9ed4",
  "tree": "9b498f179ffa64be5bad756ad55871031a2216e9",
  "parents": [
    "cd9b6e6cb07ac021087150a56dc5903125163294"
  ],
  "author": {
    "name": "csmartdalton",
    "email": "hello@rive.app",
    "time": "Thu Dec 01 20:31:35 2022 +0000"
  },
  "committer": {
    "name": "csmartdalton",
    "email": "hello@rive.app",
    "time": "Thu Dec 01 20:31:35 2022 +0000"
  },
  "message": "Get Rive tests compiling and running on MSVC\n\n- Adds template classes to polyfill missing vector extensions.\n- Removes other language features not supported by this compiler.\n- Fixes or suppresses various new warnings.\n- Adds a GitHub action to compile and run the runtime tests on MSVC.\n\nDiffs\u003d\n2a53e702a Get Rive tests compiling and running on MSVC\n1733f0c5a Add Mat2D::mapPoints, optimized in SIMD\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6ee14f19759a8fd2a8cb7b057467073e28b940e9",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "7ab8e6736c6d462e9f5920e3130dcdb5b1eb2abb",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "501c4f63bc26b2d6b0c0277e1ba15269df8b5675",
      "old_mode": 33188,
      "old_path": "dev/test/premake5.lua",
      "new_id": "aa95378ca861834fa515e7ec74c0c33fcf3a057c",
      "new_mode": 33188,
      "new_path": "dev/test/premake5.lua"
    },
    {
      "type": "modify",
      "old_id": "0c277417813302b61aa182a0e4524bd898a905a4",
      "old_mode": 33188,
      "old_path": "include/rive/artboard.hpp",
      "new_id": "937a286a169f3c660f5a25960a1847cf62b91d84",
      "new_mode": 33188,
      "new_path": "include/rive/artboard.hpp"
    },
    {
      "type": "modify",
      "old_id": "832fccd448f3a10a8d5ae225d810c86a22a7b720",
      "old_mode": 33188,
      "old_path": "include/rive/core.hpp",
      "new_id": "0b5567fd3c449b947a0c2ac1c3a220660bf6e1b8",
      "new_mode": 33188,
      "new_path": "include/rive/core.hpp"
    },
    {
      "type": "modify",
      "old_id": "841adb2c98a3c8af68d39edc8d96470766782561",
      "old_mode": 33188,
      "old_path": "include/rive/importers/import_stack.hpp",
      "new_id": "c80986b43ca2102bb3548ebd5787d58068d71e09",
      "new_mode": 33188,
      "new_path": "include/rive/importers/import_stack.hpp"
    },
    {
      "type": "modify",
      "old_id": "ec81c07bd3a27fae8c2953d42a7c723f78e37793",
      "old_mode": 33188,
      "old_path": "include/rive/math/mat2d.hpp",
      "new_id": "a74f27838915fb0edeea6a94ab142f69ef7a921d",
      "new_mode": 33188,
      "new_path": "include/rive/math/mat2d.hpp"
    },
    {
      "type": "modify",
      "old_id": "278e46a68769452bbe77284a51c7d61d937812ff",
      "old_mode": 33188,
      "old_path": "include/rive/math/math_types.hpp",
      "new_id": "00b2bf099084a415ffab1a5bb931474c58aed546",
      "new_mode": 33188,
      "new_path": "include/rive/math/math_types.hpp"
    },
    {
      "type": "modify",
      "old_id": "4ca983c827b6f99c4105ae362b0c75fb08e8ab44",
      "old_mode": 33188,
      "old_path": "include/rive/math/simd.hpp",
      "new_id": "7ef17e001ef6641b67aff2ec250b9bb6df649620",
      "new_mode": 33188,
      "new_path": "include/rive/math/simd.hpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f1ab72b6796ebdb8375c582ec34b89616c2dffa9",
      "new_mode": 33188,
      "new_path": "include/rive/math/simd_gvec_polyfill.hpp"
    },
    {
      "type": "modify",
      "old_id": "c31af51101d93d537248dff9fcc729cf5d6c5a1b",
      "old_mode": 33188,
      "old_path": "skia/renderer/src/cg_factory.cpp",
      "new_id": "f776e4ff30e15ea5f9c789227324fd5650b225b8",
      "new_mode": 33188,
      "new_path": "skia/renderer/src/cg_factory.cpp"
    },
    {
      "type": "modify",
      "old_id": "802b6f39758090722a2a2b0a3b7a7b3eb0f1d15e",
      "old_mode": 33188,
      "old_path": "skia/renderer/src/skia_factory.cpp",
      "new_id": "8dd3f0425e536c20315fde617eaea7074836c6c5",
      "new_mode": 33188,
      "new_path": "skia/renderer/src/skia_factory.cpp"
    },
    {
      "type": "modify",
      "old_id": "235aa51a32a9a0b8ce393701182a8239cac235a1",
      "old_mode": 33188,
      "old_path": "src/animation/blend_state_1d_instance.cpp",
      "new_id": "29e76dafc6e7e1bb5f384dd568f6eb91c1ab28b0",
      "new_mode": 33188,
      "new_path": "src/animation/blend_state_1d_instance.cpp"
    },
    {
      "type": "modify",
      "old_id": "5323544d4f38f46d7c5318d7c94138ced2c429b1",
      "old_mode": 33188,
      "old_path": "src/animation/blend_state_direct_instance.cpp",
      "new_id": "09784b57f4f75230bc484024339027d17c5d6253",
      "new_mode": 33188,
      "new_path": "src/animation/blend_state_direct_instance.cpp"
    },
    {
      "type": "modify",
      "old_id": "1fd24d880e0baf808b80c86e37a71ad46d8c2b47",
      "old_mode": 33188,
      "old_path": "src/animation/listener_bool_change.cpp",
      "new_id": "e27c00c12e463a407fa0d6bf3f6e0e932440c6a5",
      "new_mode": 33188,
      "new_path": "src/animation/listener_bool_change.cpp"
    },
    {
      "type": "modify",
      "old_id": "22ee975fd29f7b558a9e235398dbf0e0c5c784e5",
      "old_mode": 33188,
      "old_path": "src/animation/listener_number_change.cpp",
      "new_id": "3f8af9be55969bcb973c3df3330a13dd5c391e42",
      "new_mode": 33188,
      "new_path": "src/animation/listener_number_change.cpp"
    },
    {
      "type": "modify",
      "old_id": "5ad11bf40fc2cfa12e4f55839be52a00d3456a42",
      "old_mode": 33188,
      "old_path": "src/animation/listener_trigger_change.cpp",
      "new_id": "3dff886a36a5b243154345c4fd688b93db776a9c",
      "new_mode": 33188,
      "new_path": "src/animation/listener_trigger_change.cpp"
    },
    {
      "type": "modify",
      "old_id": "206c3b5843190c00f595459da12614783bce63e7",
      "old_mode": 33188,
      "old_path": "src/animation/transition_bool_condition.cpp",
      "new_id": "14eb732e9d017c556789f698c297a338f8bc3dd7",
      "new_mode": 33188,
      "new_path": "src/animation/transition_bool_condition.cpp"
    },
    {
      "type": "modify",
      "old_id": "7c64dc2bd06494c631c9fbafea6362bf05528573",
      "old_mode": 33188,
      "old_path": "src/animation/transition_number_condition.cpp",
      "new_id": "102d6314a27754d786c420409e83ad4e41fd2ac6",
      "new_mode": 33188,
      "new_path": "src/animation/transition_number_condition.cpp"
    },
    {
      "type": "modify",
      "old_id": "601e4bee7fb70fd5a38b87978d58d80d18f60f36",
      "old_mode": 33188,
      "old_path": "src/animation/transition_trigger_condition.cpp",
      "new_id": "a9ed142b46abe507d0586a47420c1d9b574df5d9",
      "new_mode": 33188,
      "new_path": "src/animation/transition_trigger_condition.cpp"
    },
    {
      "type": "modify",
      "old_id": "cee0426c3c520d5752f97406f6cb49c78e5a290a",
      "old_mode": 33188,
      "old_path": "src/artboard.cpp",
      "new_id": "53dbe47e600be372972b3998d81d299b7aab828b",
      "new_mode": 33188,
      "new_path": "src/artboard.cpp"
    },
    {
      "type": "modify",
      "old_id": "8f2c1473d025a3f0c82c88b227c775161fb7f034",
      "old_mode": 33188,
      "old_path": "src/bones/tendon.cpp",
      "new_id": "48c8d9dc480b13e87c9152f575d6615ee0a703ed",
      "new_mode": 33188,
      "new_path": "src/bones/tendon.cpp"
    },
    {
      "type": "modify",
      "old_id": "e39da92a1e4ab2c69f1f36041e632e6a882519f4",
      "old_mode": 33188,
      "old_path": "src/component.cpp",
      "new_id": "7f58d17b6ccfc1e36767dca3e2f361f6cbc8fb7c",
      "new_mode": 33188,
      "new_path": "src/component.cpp"
    },
    {
      "type": "modify",
      "old_id": "ce366bf2d891ccf141128df7d608661b016e4258",
      "old_mode": 33188,
      "old_path": "src/constraints/ik_constraint.cpp",
      "new_id": "a269109059961a088a70f42b9acbe28b808105e5",
      "new_mode": 33188,
      "new_path": "src/constraints/ik_constraint.cpp"
    },
    {
      "type": "modify",
      "old_id": "2daaa29171c6284fc4f48d7b7523f578df8fdea0",
      "old_mode": 33188,
      "old_path": "src/constraints/targeted_constraint.cpp",
      "new_id": "4b3750fee56b3dae5a507271c96de4b8b46c84c5",
      "new_mode": 33188,
      "new_path": "src/constraints/targeted_constraint.cpp"
    },
    {
      "type": "modify",
      "old_id": "4a733dbf030b15b6c1fae2ef9f71f3a0bd7db0b3",
      "old_mode": 33188,
      "old_path": "src/draw_rules.cpp",
      "new_id": "8731f813b81a3586bc779c34f29abf20aba9ada2",
      "new_mode": 33188,
      "new_path": "src/draw_rules.cpp"
    },
    {
      "type": "modify",
      "old_id": "bf042d8ac80d1133b5db75395e857efa3c212821",
      "old_mode": 33188,
      "old_path": "src/draw_target.cpp",
      "new_id": "04b43eca9c9cbd2c0e75b4f376526f0d4817737c",
      "new_mode": 33188,
      "new_path": "src/draw_target.cpp"
    },
    {
      "type": "modify",
      "old_id": "70eb10937ce2beb4bd40ea9fe62d2fb6f252f77b",
      "old_mode": 33188,
      "old_path": "src/importers/backboard_importer.cpp",
      "new_id": "f0e49a90c4577c69f41be4a1a0c095a1a894deaa",
      "new_mode": 33188,
      "new_path": "src/importers/backboard_importer.cpp"
    },
    {
      "type": "modify",
      "old_id": "a623ae75c5c8a19f2f17edf3031c117ea93fe700",
      "old_mode": 33188,
      "old_path": "src/math/mat2d.cpp",
      "new_id": "b339837df705ab7efb2c0a37e74e31307f6592e6",
      "new_mode": 33188,
      "new_path": "src/math/mat2d.cpp"
    },
    {
      "type": "modify",
      "old_id": "8ac9bde8e36379a8be4ebe85b7759c55210c178c",
      "old_mode": 33188,
      "old_path": "src/math/raw_path.cpp",
      "new_id": "0cc01a26bff1388f3074d6fdc7e7abb01045f11e",
      "new_mode": 33188,
      "new_path": "src/math/raw_path.cpp"
    },
    {
      "type": "modify",
      "old_id": "0b14779487b1a688f07b53bcbc84e82b92448485",
      "old_mode": 33188,
      "old_path": "src/shapes/clipping_shape.cpp",
      "new_id": "558e322970dabe4f7a1c83d38d84dfeef8f9104f",
      "new_mode": 33188,
      "new_path": "src/shapes/clipping_shape.cpp"
    },
    {
      "type": "modify",
      "old_id": "ec8467657e742e4811d66947a58d4fd4c4fbf0d0",
      "old_mode": 33188,
      "old_path": "src/shapes/metrics_path.cpp",
      "new_id": "81642bf68bc50d899b5acf294a05a20f18ab3f73",
      "new_mode": 33188,
      "new_path": "src/shapes/metrics_path.cpp"
    },
    {
      "type": "modify",
      "old_id": "ff3119499c799e79fb2b9705dcff3fd0fef430cc",
      "old_mode": 33188,
      "old_path": "src/shapes/paint/stroke.cpp",
      "new_id": "dccb07622c28aa0bf7b3c200cc8a17231cdccb87",
      "new_mode": 33188,
      "new_path": "src/shapes/paint/stroke.cpp"
    },
    {
      "type": "modify",
      "old_id": "d549854565feb2098aab5bfb9bf94822b2346bbf",
      "old_mode": 33188,
      "old_path": "src/text/font_hb.cpp",
      "new_id": "028f067b515b2eb411c350b426fa4c2bec682a05",
      "new_mode": 33188,
      "new_path": "src/text/font_hb.cpp"
    },
    {
      "type": "modify",
      "old_id": "be82af8a0397cd1a28b7b2465de6d3f3a88b2125",
      "old_mode": 33188,
      "old_path": "src/text/line_breaker.cpp",
      "new_id": "56d5b55b5f7e20937b1c25369d167c9390750c8d",
      "new_mode": 33188,
      "new_path": "src/text/line_breaker.cpp"
    },
    {
      "type": "modify",
      "old_id": "d1e31667ce70f839e6af751706fce8744986916a",
      "old_mode": 33188,
      "old_path": "tess/src/sokol/sokol_tess_renderer.cpp",
      "new_id": "c01de67a6d4daa48f2bf05da8e5c6df5506942c9",
      "new_mode": 33188,
      "new_path": "tess/src/sokol/sokol_tess_renderer.cpp"
    },
    {
      "type": "modify",
      "old_id": "fac5a6dc0b544ca7821f7f2b28f00e505cc4f21d",
      "old_mode": 33188,
      "old_path": "test/clip_test.cpp",
      "new_id": "e040633b054779d2f55891f1cf16e5ebedb87c4c",
      "new_mode": 33188,
      "new_path": "test/clip_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "73417d8e449ba0b56af03a406787fa66b472ffd4",
      "old_mode": 33188,
      "old_path": "test/hittest_test.cpp",
      "new_id": "46e461e8f94789f171da4a7426875122f49d93bd",
      "new_mode": 33188,
      "new_path": "test/hittest_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "fc5997dd753fd4c7d9d50223a2a95cf7f8cff614",
      "old_mode": 33188,
      "old_path": "test/line_break_test.cpp",
      "new_id": "34e2bd0b4510264d70a81313b55db2d279f6bf26",
      "new_mode": 33188,
      "new_path": "test/line_break_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "0bb4a218dd44b1f992d624f282f06ae3029bd18a",
      "old_mode": 33188,
      "old_path": "test/mat2d_test.cpp",
      "new_id": "1d68cd8bafad6d9a71ac633d84df694d9e51a787",
      "new_mode": 33188,
      "new_path": "test/mat2d_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "7d0839db0d7f12b747d793a6dffb81c7e0b276f7",
      "old_mode": 33188,
      "old_path": "test/path_test.cpp",
      "new_id": "673c54dd91ee77b83dd7a08fcf6ab588d572b926",
      "new_mode": 33188,
      "new_path": "test/path_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "deea9c7f7c0b3aa8cc807198594b45dc4b6639dc",
      "old_mode": 33188,
      "old_path": "test/reader_test.cpp",
      "new_id": "72824a6274e635706cba54fbb44c2722d0891f24",
      "new_mode": 33188,
      "new_path": "test/reader_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "6ec5a99cffcce90aa95f197260890dfa8efa791a",
      "old_mode": 33188,
      "old_path": "test/simd_test.cpp",
      "new_id": "0ac8a64bf2891eccc6133b57791690fe66e7f17c",
      "new_mode": 33188,
      "new_path": "test/simd_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "3263ba744587211e78a1043d04b97294356f9216",
      "old_mode": 33188,
      "old_path": "test/simple_array_test.cpp",
      "new_id": "9b4e20645453eaf4e334d187313edd7f01bc9658",
      "new_mode": 33188,
      "new_path": "test/simple_array_test.cpp"
    }
  ]
}
