{"action":"created","issue":{"url":"https://api.github.com/repos/paperjs/paper.js/issues/968","repository_url":"https://api.github.com/repos/paperjs/paper.js","labels_url":"https://api.github.com/repos/paperjs/paper.js/issues/968/labels{/name}","comments_url":"https://api.github.com/repos/paperjs/paper.js/issues/968/comments","events_url":"https://api.github.com/repos/paperjs/paper.js/issues/968/events","html_url":"https://github.com/paperjs/paper.js/issues/968","id":133520989,"number":968,"title":"Subtract operation results in open path","user":{"login":"iconexperience","id":2122773,"avatar_url":"https://avatars.githubusercontent.com/u/2122773?v=3","gravatar_id":"","url":"https://api.github.com/users/iconexperience","html_url":"https://github.com/iconexperience","followers_url":"https://api.github.com/users/iconexperience/followers","following_url":"https://api.github.com/users/iconexperience/following{/other_user}","gists_url":"https://api.github.com/users/iconexperience/gists{/gist_id}","starred_url":"https://api.github.com/users/iconexperience/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iconexperience/subscriptions","organizations_url":"https://api.github.com/users/iconexperience/orgs","repos_url":"https://api.github.com/users/iconexperience/repos","events_url":"https://api.github.com/users/iconexperience/events{/privacy}","received_events_url":"https://api.github.com/users/iconexperience/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2016-02-14T08:44:59Z","updated_at":"2016-02-14T11:58:21Z","closed_at":null,"body":"It looks like https://github.com/paperjs/paper.js/commit/3348fb736f142b0df42bf4d9238347b63bf98e07 has introduced a regression. The following rather simple case now throws a *Boolean operation resulted in open path* message.\r\n\r\n``` javascript\r\nvar p1 = new paper.Path({segments:[\r\n    [352, 280, 0, -26.5, 0, 0],\r\n    [352, 356, 0, 0, 0, 2.1999999999999886],\r\n    [348, 360, 2.1999999999999886, 0, -72, 0]\r\n    ], closed:true});\r\nvar p2 = new paper.Path({segments:[\r\n   [352, 344, 0, 0, 0, 0],\r\n   [352, 356, 0, 0, 0, 2.1999999999999886], \r\n   [348, 360, 2.1999999999999886, 0, 0, 0], \r\n   [232, 360, 0, 0, -2.1999999999999886, 0]\r\n   ], closed:true});\r\n\r\np1.strokeColor = \"green\";\r\np2.strokeColor = \"red\";\r\n\r\nvar res = p1.subtract(p2);\r\n\r\nres.fullySelected = true;\r\n```\r\n\r\nThe result actually looks fine, but still the error message indicated that something is wrong.\r\n"},"comment":{"url":"https://api.github.com/repos/paperjs/paper.js/issues/comments/183879804","html_url":"https://github.com/paperjs/paper.js/issues/968#issuecomment-183879804","issue_url":"https://api.github.com/repos/paperjs/paper.js/issues/968","id":183879804,"user":{"login":"iconexperience","id":2122773,"avatar_url":"https://avatars.githubusercontent.com/u/2122773?v=3","gravatar_id":"","url":"https://api.github.com/users/iconexperience","html_url":"https://github.com/iconexperience","followers_url":"https://api.github.com/users/iconexperience/followers","following_url":"https://api.github.com/users/iconexperience/following{/other_user}","gists_url":"https://api.github.com/users/iconexperience/gists{/gist_id}","starred_url":"https://api.github.com/users/iconexperience/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iconexperience/subscriptions","organizations_url":"https://api.github.com/users/iconexperience/orgs","repos_url":"https://api.github.com/users/iconexperience/repos","events_url":"https://api.github.com/users/iconexperience/events{/privacy}","received_events_url":"https://api.github.com/users/iconexperience/received_events","type":"User","site_admin":false},"created_at":"2016-02-14T11:58:21Z","updated_at":"2016-02-14T11:58:21Z","body":"Yes. So you mention wrong winding calculation. That sounds pretty much like my part to investigate."}}