{"action":"created","issue":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/15076","repository_url":"https://api.github.com/repos/mrdoob/three.js","labels_url":"https://api.github.com/repos/mrdoob/three.js/issues/15076/labels{/name}","comments_url":"https://api.github.com/repos/mrdoob/three.js/issues/15076/comments","events_url":"https://api.github.com/repos/mrdoob/three.js/issues/15076/events","html_url":"https://github.com/mrdoob/three.js/pull/15076","id":371054139,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIzNTg4MDY5","number":15076,"title":"Fix sort function to be well defined (transitive) when undefined values are present.","user":{"login":"OndrejSpanel","id":6927223,"node_id":"MDQ6VXNlcjY5MjcyMjM=","avatar_url":"https://avatars3.githubusercontent.com/u/6927223?v=4","gravatar_id":"","url":"https://api.github.com/users/OndrejSpanel","html_url":"https://github.com/OndrejSpanel","followers_url":"https://api.github.com/users/OndrejSpanel/followers","following_url":"https://api.github.com/users/OndrejSpanel/following{/other_user}","gists_url":"https://api.github.com/users/OndrejSpanel/gists{/gist_id}","starred_url":"https://api.github.com/users/OndrejSpanel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OndrejSpanel/subscriptions","organizations_url":"https://api.github.com/users/OndrejSpanel/orgs","repos_url":"https://api.github.com/users/OndrejSpanel/repos","events_url":"https://api.github.com/users/OndrejSpanel/events{/privacy}","received_events_url":"https://api.github.com/users/OndrejSpanel/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/mrdoob/three.js/milestones/11","html_url":"https://github.com/mrdoob/three.js/milestone/11","labels_url":"https://api.github.com/repos/mrdoob/three.js/milestones/11/labels","id":3610739,"node_id":"MDk6TWlsZXN0b25lMzYxMDczOQ==","number":11,"title":"r98","description":"","creator":{"login":"mrdoob","id":97088,"node_id":"MDQ6VXNlcjk3MDg4","avatar_url":"https://avatars0.githubusercontent.com/u/97088?v=4","gravatar_id":"","url":"https://api.github.com/users/mrdoob","html_url":"https://github.com/mrdoob","followers_url":"https://api.github.com/users/mrdoob/followers","following_url":"https://api.github.com/users/mrdoob/following{/other_user}","gists_url":"https://api.github.com/users/mrdoob/gists{/gist_id}","starred_url":"https://api.github.com/users/mrdoob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrdoob/subscriptions","organizations_url":"https://api.github.com/users/mrdoob/orgs","repos_url":"https://api.github.com/users/mrdoob/repos","events_url":"https://api.github.com/users/mrdoob/events{/privacy}","received_events_url":"https://api.github.com/users/mrdoob/received_events","type":"User","site_admin":false},"open_issues":77,"closed_issues":72,"state":"open","created_at":"2018-08-30T17:16:02Z","updated_at":"2018-10-22T06:41:59Z","due_on":"2018-10-24T07:00:00Z","closed_at":null},"comments":9,"created_at":"2018-10-17T12:44:07Z","updated_at":"2018-10-22T11:43:40Z","closed_at":"2018-10-22T06:41:57Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/mrdoob/three.js/pulls/15076","html_url":"https://github.com/mrdoob/three.js/pull/15076","diff_url":"https://github.com/mrdoob/three.js/pull/15076.diff","patch_url":"https://github.com/mrdoob/three.js/pull/15076.patch"},"body":"Current `painterSortStable` function is broken when objects with `undefined` `program` are present. The function is not transitive, therefore presence of any such value may break the sort function, leaving the render list unsorted.\r\n\r\nThis happens for a single frame any time a new object is added into the scene. The reason why it happens is `material.program` field is set during the rendering (see `initMaterial`), but the sorting is done before the rendering (see `currentRenderList.sort()`).\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/comments/431810990","html_url":"https://github.com/mrdoob/three.js/pull/15076#issuecomment-431810990","issue_url":"https://api.github.com/repos/mrdoob/three.js/issues/15076","id":431810990,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMTgxMDk5MA==","user":{"login":"WestLangley","id":1000017,"node_id":"MDQ6VXNlcjEwMDAwMTc=","avatar_url":"https://avatars2.githubusercontent.com/u/1000017?v=4","gravatar_id":"","url":"https://api.github.com/users/WestLangley","html_url":"https://github.com/WestLangley","followers_url":"https://api.github.com/users/WestLangley/followers","following_url":"https://api.github.com/users/WestLangley/following{/other_user}","gists_url":"https://api.github.com/users/WestLangley/gists{/gist_id}","starred_url":"https://api.github.com/users/WestLangley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WestLangley/subscriptions","organizations_url":"https://api.github.com/users/WestLangley/orgs","repos_url":"https://api.github.com/users/WestLangley/repos","events_url":"https://api.github.com/users/WestLangley/events{/privacy}","received_events_url":"https://api.github.com/users/WestLangley/received_events","type":"User","site_admin":false},"created_at":"2018-10-22T11:43:40Z","updated_at":"2018-10-22T11:43:40Z","author_association":"COLLABORATOR","body":"@OndrejSpanel Why did you close this?\r\n\r\nAs I said, \r\n\r\n>As currently written, if one object has an undefined program, even the remaining objects may not be sorted correctly.\r\n\r\nThat seems important to me...\r\n"}}
{"actor":{"display_login":"WestLangley"}}