{"action":"created","issue":{"url":"https://api.github.com/repos/paperjs/paper.js/issues/1075","repository_url":"https://api.github.com/repos/paperjs/paper.js","labels_url":"https://api.github.com/repos/paperjs/paper.js/issues/1075/labels{/name}","comments_url":"https://api.github.com/repos/paperjs/paper.js/issues/1075/comments","events_url":"https://api.github.com/repos/paperjs/paper.js/issues/1075/events","html_url":"https://github.com/paperjs/paper.js/issues/1075","id":159956790,"number":1075,"title":"Unite operation wrongly fills inner 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":[{"url":"https://api.github.com/repos/paperjs/paper.js/labels/cat:%20boolean-operations","name":"cat: boolean-operations","color":"c7def8"},{"url":"https://api.github.com/repos/paperjs/paper.js/labels/type:%20bug","name":"type: bug","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/paperjs/paper.js/milestones/3","html_url":"https://github.com/paperjs/paper.js/milestones/v0.10.3","labels_url":"https://api.github.com/repos/paperjs/paper.js/milestones/3/labels","id":1825892,"number":3,"title":"v0.10.3","description":"","creator":{"login":"lehni","id":213275,"avatar_url":"https://avatars.githubusercontent.com/u/213275?v=3","gravatar_id":"","url":"https://api.github.com/users/lehni","html_url":"https://github.com/lehni","followers_url":"https://api.github.com/users/lehni/followers","following_url":"https://api.github.com/users/lehni/following{/other_user}","gists_url":"https://api.github.com/users/lehni/gists{/gist_id}","starred_url":"https://api.github.com/users/lehni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lehni/subscriptions","organizations_url":"https://api.github.com/users/lehni/orgs","repos_url":"https://api.github.com/users/lehni/repos","events_url":"https://api.github.com/users/lehni/events{/privacy}","received_events_url":"https://api.github.com/users/lehni/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":1,"state":"open","created_at":"2016-06-14T12:18:07Z","updated_at":"2016-07-17T14:54:54Z","due_on":"2016-10-30T23:00:00Z","closed_at":null},"comments":58,"created_at":"2016-06-13T13:59:00Z","updated_at":"2016-07-17T18:41:32Z","closed_at":null,"body":"Here is an example that may be caused by the `tracePath()` function. The unite operation should result in a path with a rectangular hole, but the hole is filled instead:\r\n\r\n```javascript\r\nvar p1 = new paper.Path({segments:[\r\n     [150, 120], \r\n     [150, 85], \r\n     [178, 85],\r\n     [178, 110], \r\n     [315, 110], \r\n     [315, 85], \r\n     [342, 85],\r\n     [342, 120],\r\n     ], closed:true})\r\nvar p2 = new paper.Path({segments:[\r\n    [350, 60],\r\n    [350, 125],\r\n    [315, 125],\r\n    [315, 85],\r\n    [178, 85], \r\n    [178, 125], \r\n    [140, 125], \r\n    [140, 60]\r\n    ], closed:true})\r\n\r\nvar r = p1.unite(p2);\r\nr.fillColor = new Color(1, 1, 0, .2);\r\np2.strokeColor = \"red\";\r\np1.strokeColor = \"green\";\r\n```\r\n\r\n<a href=\"http://sketch.paperjs.org/#S/jZLBboMwDIZfJcqJSgjhULaKaqe9wKQdSQ8ZeC2CJpFJt0PVd18IXYG1h+UUf7Z/+49y5lodkRf8vUVXHXjMK1MP8ZciZoG9MI3fzCqLlLwpd4jOPe6PqF1flFKz4ZSQpzEDke5itkCbfE6eNyNZAIB5Vwb5Q7QQytZiKRRAGH8lvrjqTI914eiEl5XUwYz4h5kyGxZ/ummNMYh8AmHHv2DaZzLK5iB03Mg6fUT82DG8NzBaIO/AQnLSjcPIitVWako+m657NZ2hq71wj8APiJkXTUKZFUnvyLT4Wyk5YS35kIK71J4QdUj6//BBqFprGv9KvCh3lx8=\">Here is the sketch</a>\r\n\r\nExpected result:\r\n![image](https://cloud.githubusercontent.com/assets/2122773/16009912/01626b02-317f-11e6-831c-0592194bd0d1.png)\r\n\r\nActual result:\r\n![image](https://cloud.githubusercontent.com/assets/2122773/16009894/ef70d3de-317e-11e6-8d4a-aa7247db08d8.png)\r\n"},"comment":{"url":"https://api.github.com/repos/paperjs/paper.js/issues/comments/233196940","html_url":"https://github.com/paperjs/paper.js/issues/1075#issuecomment-233196940","issue_url":"https://api.github.com/repos/paperjs/paper.js/issues/1075","id":233196940,"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-07-17T18:41:31Z","updated_at":"2016-07-17T18:41:31Z","body":"Sorry for the long silence, I was only briefly online this weekend.\r\n\r\n`getInteriorPoint()` in the Paper.js version that I am using does not contain that line. And I am using with a lot of differnt cases, so I seems to work well without.\r\n\r\nI think the line is supposed to handle cases like these:\r\n\r\n![image](https://cloud.githubusercontent.com/assets/2122773/16902434/869eaff2-4c5e-11e6-8406-e0469004946d.png)\r\n\r\nBut if we take the line out, the intersection is added twice, which is alright, because the green point will then be used as the interior point. That's why I think we do not need that line and can get rid of `windingPrev` altogether.\r\n"}}
{"actor":{"display_login":"iconexperience"}}