)]}'
{
  "commit": "d2eb581ebc8f8009e80cccccd74d5b341ef5bd5b",
  "tree": "b7e839cf44743ce6d8119ad527ebaae5e2c1ea6d",
  "parents": [
    "f833215420847565b4c9945aebdc2e7ae182937f"
  ],
  "author": {
    "name": "Cary Clark",
    "email": "caryclark@google.com",
    "time": "Wed Jan 18 11:00:57 2017 -0500"
  },
  "committer": {
    "name": "Skia Commit-Bot",
    "email": "skia-commit-bot@chromium.org",
    "time": "Fri Jan 20 17:35:30 2017 +0000"
  },
  "message": "offset angle check edge in common\n\nWhen curves cross, their intersection points may be nearby, but not exactly the same.\nSort the angles formed by the crossing curves when all angles don\u0027t have the same\norigin.\n\nThis sets up the framework to solve test case that currently fail (e.g., joel6) but\ndoes not fix all related test cases (e.g., joel9).\n\nAll older existing test cases, including extended tests, pass.\n\nRework the test framework to better report when tests expected to produce failing\nresults now pass.\n\nAdd new point and vector operations to support offset angles.\n\nTBR\u003dreed@google.com\nBUG\u003dskia:6041\n\nChange-Id: I67c651ded0a25e99ad93d55d6a35109b3ee3698e\nReviewed-on: https://skia-review.googlesource.com/6624\nCommit-Queue: Cary Clark \u003ccaryclark@google.com\u003e\nReviewed-by: Cary Clark \u003ccaryclark@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c07e8cc73f050a3681680109b8c1a38402e4a372",
      "old_mode": 33188,
      "old_path": "src/pathops/SkOpAngle.cpp",
      "new_id": "f41ef234d49d553fdbbf0c00272712e2a6b02192",
      "new_mode": 33188,
      "new_path": "src/pathops/SkOpAngle.cpp"
    },
    {
      "type": "modify",
      "old_id": "d8615c322944e02ffcff6f19da0d9304b1ec32a9",
      "old_mode": 33188,
      "old_path": "src/pathops/SkOpAngle.h",
      "new_id": "d11a1c1ee5c3ff2f6571354fd9b32e7794ac830b",
      "new_mode": 33188,
      "new_path": "src/pathops/SkOpAngle.h"
    },
    {
      "type": "modify",
      "old_id": "45a11384882d2cb17341658d7791478907efc18d",
      "old_mode": 33188,
      "old_path": "src/pathops/SkPathOpsDebug.cpp",
      "new_id": "6ed37dc133dccd6a8f696b185ce008210af722db",
      "new_mode": 33188,
      "new_path": "src/pathops/SkPathOpsDebug.cpp"
    },
    {
      "type": "modify",
      "old_id": "97fa534a2a71fd4d2780fa3fe063ce67242404f1",
      "old_mode": 33188,
      "old_path": "src/pathops/SkPathOpsDebug.h",
      "new_id": "0f3fadaf14b8c6961393d0c224d8afa2d830363d",
      "new_mode": 33188,
      "new_path": "src/pathops/SkPathOpsDebug.h"
    },
    {
      "type": "modify",
      "old_id": "f314f69d0e5147c9d98a068b0964568551269633",
      "old_mode": 33188,
      "old_path": "src/pathops/SkPathOpsPoint.h",
      "new_id": "deadbc2aa042f74838d2cb8c9959355814c31558",
      "new_mode": 33188,
      "new_path": "src/pathops/SkPathOpsPoint.h"
    },
    {
      "type": "modify",
      "old_id": "f525ea49dbac895a34caa48d5de741c8cf4303a7",
      "old_mode": 33188,
      "old_path": "src/pathops/SkPathOpsTypes.h",
      "new_id": "4e9fbe9ac5f347eeb1427e414efcbbfb55932446",
      "new_mode": 33188,
      "new_path": "src/pathops/SkPathOpsTypes.h"
    },
    {
      "type": "modify",
      "old_id": "d5285c8fbc4213961865233614d9bfe70f33cb65",
      "old_mode": 33188,
      "old_path": "tests/PathOpsAngleTest.cpp",
      "new_id": "a598aea949393f3bc506430dee760b4692abaa19",
      "new_mode": 33188,
      "new_path": "tests/PathOpsAngleTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "8c74e7f98d9cadd5ea878adfeb3b9b4c9ee7a1ac",
      "old_mode": 33188,
      "old_path": "tests/PathOpsChalkboardTest.cpp",
      "new_id": "acfa46f39bee4ac9c5beea016ad86d837ca350a2",
      "new_mode": 33188,
      "new_path": "tests/PathOpsChalkboardTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "d70deb30fcf2d5f0c646ba6b932424c105052ad3",
      "old_mode": 33188,
      "old_path": "tests/PathOpsExtendedTest.cpp",
      "new_id": "06fee80f5dd45d05b60a0081426d17cd5bdf8a47",
      "new_mode": 33188,
      "new_path": "tests/PathOpsExtendedTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "9f8b0aeaac89a53d7c80393d757b8398d652a30e",
      "old_mode": 33188,
      "old_path": "tests/PathOpsExtendedTest.h",
      "new_id": "7c8ceb15293742f7f2e59f09955c8708d3dceeeb",
      "new_mode": 33188,
      "new_path": "tests/PathOpsExtendedTest.h"
    },
    {
      "type": "modify",
      "old_id": "90d5723774cb444c332077c0cbd14303f8e6219b",
      "old_mode": 33188,
      "old_path": "tests/PathOpsFuzz763Test.cpp",
      "new_id": "996f4e70e7da29dcc030f81468b42d4dc549cd41",
      "new_mode": 33188,
      "new_path": "tests/PathOpsFuzz763Test.cpp"
    },
    {
      "type": "modify",
      "old_id": "bd4ed2d9ab4054900d61014bc4455a7b357ce9da",
      "old_mode": 33188,
      "old_path": "tests/PathOpsIssue3651.cpp",
      "new_id": "dc93657d08cc79cc6e848b8288fd10ad0ab97916",
      "new_mode": 33188,
      "new_path": "tests/PathOpsIssue3651.cpp"
    },
    {
      "type": "modify",
      "old_id": "b6f210e8ea4217893739b8d133b91a426c3e2aeb",
      "old_mode": 33188,
      "old_path": "tests/PathOpsSimplifyFailTest.cpp",
      "new_id": "44bb50ce9478eea38b28941d6319d932cf36ff7d",
      "new_mode": 33188,
      "new_path": "tests/PathOpsSimplifyFailTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "2de67ff22fa8fbd4d98ba9838f635ab2560a6664",
      "old_mode": 33188,
      "old_path": "tests/PathOpsSimplifyTest.cpp",
      "new_id": "7daa5e0d5fb080efe1162554cc76581dfc7cbd1f",
      "new_mode": 33188,
      "new_path": "tests/PathOpsSimplifyTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "4cb55d085308a74ce11a658cea71e046f7ba1ded",
      "old_mode": 33188,
      "old_path": "tests/skia_test.cpp",
      "new_id": "969c1ff54a6d747704ba38102e24ffbc81ecf99c",
      "new_mode": 33188,
      "new_path": "tests/skia_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "967ac316eb407999b4ba3b29866c4f8ea55b26c5",
      "old_mode": 33188,
      "old_path": "tools/pathops_sorter.htm",
      "new_id": "e31a196975d1465639e163450f320394b4cb0c6e",
      "new_mode": 33188,
      "new_path": "tools/pathops_sorter.htm"
    },
    {
      "type": "modify",
      "old_id": "1844dfd3ad7805b7a8ced6f6317804dc264dfd6e",
      "old_mode": 33188,
      "old_path": "tools/pathops_visualizer.htm",
      "new_id": "5acbeb136e860b0af6a237c192e2f4f491a5286f",
      "new_mode": 33188,
      "new_path": "tools/pathops_visualizer.htm"
    }
  ]
}
