{"action":"closed","number":22,"pull_request":{"url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls/22","id":94506118,"html_url":"https://github.com/Grant-Nelson/ThreeDart/pull/22","diff_url":"https://github.com/Grant-Nelson/ThreeDart/pull/22.diff","patch_url":"https://github.com/Grant-Nelson/ThreeDart/pull/22.patch","issue_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues/22","number":22,"state":"closed","locked":false,"title":"TransMover (1 of 2): Added Changed Events.","user":{"login":"Grant-Nelson","id":7455621,"avatar_url":"https://avatars.githubusercontent.com/u/7455621?v=3","gravatar_id":"","url":"https://api.github.com/users/Grant-Nelson","html_url":"https://github.com/Grant-Nelson","followers_url":"https://api.github.com/users/Grant-Nelson/followers","following_url":"https://api.github.com/users/Grant-Nelson/following{/other_user}","gists_url":"https://api.github.com/users/Grant-Nelson/gists{/gist_id}","starred_url":"https://api.github.com/users/Grant-Nelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Grant-Nelson/subscriptions","organizations_url":"https://api.github.com/users/Grant-Nelson/orgs","repos_url":"https://api.github.com/users/Grant-Nelson/repos","events_url":"https://api.github.com/users/Grant-Nelson/events{/privacy}","received_events_url":"https://api.github.com/users/Grant-Nelson/received_events","type":"User","site_admin":false},"body":"### Feature\r\nThis started as adding a Translation Mover (TransMover) but I quickly decided that first the movers should emit changed events. Then I decided if changed events were propagated up then the main render loop could be removed in place for render on change. That is what this ticket has become, part 1 of 2 for the TransMover and add \"changed\" events.\r\n\r\n### Implementation\r\n- Added changed events to most values in most items\r\n- Changed the math structures to be immutable\r\n- Added a generic collection which can be used to watch for changes in it's items and changes in the number and location of items\r\n- Added event arguments differentiate the changes which occurred\r\n- Removed the main render loop from the tests and examples\r\n- Added FPS output to the tests which shows up on the console.\r\n\r\n### Known Issues\r\n- I didn't get the render on resize to work correctly so test034 doesn't work correctly\r\n\r\n### +10 / QA\r\n- Check every test to make sure it still works (see above for test034)\r\n\r\n### Unit-tests\r\n- Updated some of the unit-tests and graphical tests\r\n- Should add unit-tests to check the changed events","created_at":"2016-11-20T03:49:16Z","updated_at":"2016-12-11T18:20:56Z","closed_at":"2016-12-11T18:20:56Z","merged_at":"2016-12-11T18:20:56Z","merge_commit_sha":"3ee2f374f39c310aceaf5a81db9dc68f143e45fa","assignee":{"login":"Grant-Nelson","id":7455621,"avatar_url":"https://avatars.githubusercontent.com/u/7455621?v=3","gravatar_id":"","url":"https://api.github.com/users/Grant-Nelson","html_url":"https://github.com/Grant-Nelson","followers_url":"https://api.github.com/users/Grant-Nelson/followers","following_url":"https://api.github.com/users/Grant-Nelson/following{/other_user}","gists_url":"https://api.github.com/users/Grant-Nelson/gists{/gist_id}","starred_url":"https://api.github.com/users/Grant-Nelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Grant-Nelson/subscriptions","organizations_url":"https://api.github.com/users/Grant-Nelson/orgs","repos_url":"https://api.github.com/users/Grant-Nelson/repos","events_url":"https://api.github.com/users/Grant-Nelson/events{/privacy}","received_events_url":"https://api.github.com/users/Grant-Nelson/received_events","type":"User","site_admin":false},"assignees":[{"login":"Grant-Nelson","id":7455621,"avatar_url":"https://avatars.githubusercontent.com/u/7455621?v=3","gravatar_id":"","url":"https://api.github.com/users/Grant-Nelson","html_url":"https://github.com/Grant-Nelson","followers_url":"https://api.github.com/users/Grant-Nelson/followers","following_url":"https://api.github.com/users/Grant-Nelson/following{/other_user}","gists_url":"https://api.github.com/users/Grant-Nelson/gists{/gist_id}","starred_url":"https://api.github.com/users/Grant-Nelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Grant-Nelson/subscriptions","organizations_url":"https://api.github.com/users/Grant-Nelson/orgs","repos_url":"https://api.github.com/users/Grant-Nelson/repos","events_url":"https://api.github.com/users/Grant-Nelson/events{/privacy}","received_events_url":"https://api.github.com/users/Grant-Nelson/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls/22/commits","review_comments_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls/22/comments","review_comment_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues/22/comments","statuses_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/statuses/597715dabf93c980c29466438a2fe6c7b2cf8d5e","head":{"label":"Grant-Nelson:TransMover","ref":"TransMover","sha":"597715dabf93c980c29466438a2fe6c7b2cf8d5e","user":{"login":"Grant-Nelson","id":7455621,"avatar_url":"https://avatars.githubusercontent.com/u/7455621?v=3","gravatar_id":"","url":"https://api.github.com/users/Grant-Nelson","html_url":"https://github.com/Grant-Nelson","followers_url":"https://api.github.com/users/Grant-Nelson/followers","following_url":"https://api.github.com/users/Grant-Nelson/following{/other_user}","gists_url":"https://api.github.com/users/Grant-Nelson/gists{/gist_id}","starred_url":"https://api.github.com/users/Grant-Nelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Grant-Nelson/subscriptions","organizations_url":"https://api.github.com/users/Grant-Nelson/orgs","repos_url":"https://api.github.com/users/Grant-Nelson/repos","events_url":"https://api.github.com/users/Grant-Nelson/events{/privacy}","received_events_url":"https://api.github.com/users/Grant-Nelson/received_events","type":"User","site_admin":false},"repo":{"id":46204242,"name":"ThreeDart","full_name":"Grant-Nelson/ThreeDart","owner":{"login":"Grant-Nelson","id":7455621,"avatar_url":"https://avatars.githubusercontent.com/u/7455621?v=3","gravatar_id":"","url":"https://api.github.com/users/Grant-Nelson","html_url":"https://github.com/Grant-Nelson","followers_url":"https://api.github.com/users/Grant-Nelson/followers","following_url":"https://api.github.com/users/Grant-Nelson/following{/other_user}","gists_url":"https://api.github.com/users/Grant-Nelson/gists{/gist_id}","starred_url":"https://api.github.com/users/Grant-Nelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Grant-Nelson/subscriptions","organizations_url":"https://api.github.com/users/Grant-Nelson/orgs","repos_url":"https://api.github.com/users/Grant-Nelson/repos","events_url":"https://api.github.com/users/Grant-Nelson/events{/privacy}","received_events_url":"https://api.github.com/users/Grant-Nelson/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Grant-Nelson/ThreeDart","description":"3D graphical rendering tool for websites written in Dart.","fork":false,"url":"https://api.github.com/repos/Grant-Nelson/ThreeDart","forks_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/forks","keys_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/teams","hooks_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/hooks","issue_events_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues/events{/number}","events_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/events","assignees_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/assignees{/user}","branches_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/branches{/branch}","tags_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/tags","blobs_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/refs{/sha}","trees_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/statuses/{sha}","languages_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/languages","stargazers_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/stargazers","contributors_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/contributors","subscribers_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/subscribers","subscription_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/subscription","commits_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/commits{/sha}","git_commits_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/commits{/sha}","comments_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/comments{/number}","issue_comment_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues/comments{/number}","contents_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/contents/{+path}","compare_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/merges","archive_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/downloads","issues_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues{/number}","pulls_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls{/number}","milestones_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/milestones{/number}","notifications_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/labels{/name}","releases_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/releases{/id}","deployments_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/deployments","created_at":"2015-11-15T04:27:30Z","updated_at":"2016-10-23T16:04:02Z","pushed_at":"2016-12-11T18:20:56Z","git_url":"git://github.com/Grant-Nelson/ThreeDart.git","ssh_url":"git@github.com:Grant-Nelson/ThreeDart.git","clone_url":"https://github.com/Grant-Nelson/ThreeDart.git","svn_url":"https://github.com/Grant-Nelson/ThreeDart","homepage":"","size":22424,"stargazers_count":3,"watchers_count":3,"language":"Dart","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":4,"mirror_url":null,"open_issues_count":9,"forks":4,"open_issues":9,"watchers":3,"default_branch":"master"}},"base":{"label":"Grant-Nelson:master","ref":"master","sha":"5e129277f948579e3b2b5d4997225528742fb26d","user":{"login":"Grant-Nelson","id":7455621,"avatar_url":"https://avatars.githubusercontent.com/u/7455621?v=3","gravatar_id":"","url":"https://api.github.com/users/Grant-Nelson","html_url":"https://github.com/Grant-Nelson","followers_url":"https://api.github.com/users/Grant-Nelson/followers","following_url":"https://api.github.com/users/Grant-Nelson/following{/other_user}","gists_url":"https://api.github.com/users/Grant-Nelson/gists{/gist_id}","starred_url":"https://api.github.com/users/Grant-Nelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Grant-Nelson/subscriptions","organizations_url":"https://api.github.com/users/Grant-Nelson/orgs","repos_url":"https://api.github.com/users/Grant-Nelson/repos","events_url":"https://api.github.com/users/Grant-Nelson/events{/privacy}","received_events_url":"https://api.github.com/users/Grant-Nelson/received_events","type":"User","site_admin":false},"repo":{"id":46204242,"name":"ThreeDart","full_name":"Grant-Nelson/ThreeDart","owner":{"login":"Grant-Nelson","id":7455621,"avatar_url":"https://avatars.githubusercontent.com/u/7455621?v=3","gravatar_id":"","url":"https://api.github.com/users/Grant-Nelson","html_url":"https://github.com/Grant-Nelson","followers_url":"https://api.github.com/users/Grant-Nelson/followers","following_url":"https://api.github.com/users/Grant-Nelson/following{/other_user}","gists_url":"https://api.github.com/users/Grant-Nelson/gists{/gist_id}","starred_url":"https://api.github.com/users/Grant-Nelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Grant-Nelson/subscriptions","organizations_url":"https://api.github.com/users/Grant-Nelson/orgs","repos_url":"https://api.github.com/users/Grant-Nelson/repos","events_url":"https://api.github.com/users/Grant-Nelson/events{/privacy}","received_events_url":"https://api.github.com/users/Grant-Nelson/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Grant-Nelson/ThreeDart","description":"3D graphical rendering tool for websites written in Dart.","fork":false,"url":"https://api.github.com/repos/Grant-Nelson/ThreeDart","forks_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/forks","keys_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/teams","hooks_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/hooks","issue_events_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues/events{/number}","events_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/events","assignees_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/assignees{/user}","branches_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/branches{/branch}","tags_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/tags","blobs_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/refs{/sha}","trees_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/statuses/{sha}","languages_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/languages","stargazers_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/stargazers","contributors_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/contributors","subscribers_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/subscribers","subscription_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/subscription","commits_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/commits{/sha}","git_commits_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/git/commits{/sha}","comments_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/comments{/number}","issue_comment_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues/comments{/number}","contents_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/contents/{+path}","compare_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/merges","archive_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/downloads","issues_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues{/number}","pulls_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls{/number}","milestones_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/milestones{/number}","notifications_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/labels{/name}","releases_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/releases{/id}","deployments_url":"https://api.github.com/repos/Grant-Nelson/ThreeDart/deployments","created_at":"2015-11-15T04:27:30Z","updated_at":"2016-10-23T16:04:02Z","pushed_at":"2016-12-11T18:20:56Z","git_url":"git://github.com/Grant-Nelson/ThreeDart.git","ssh_url":"git@github.com:Grant-Nelson/ThreeDart.git","clone_url":"https://github.com/Grant-Nelson/ThreeDart.git","svn_url":"https://github.com/Grant-Nelson/ThreeDart","homepage":"","size":22424,"stargazers_count":3,"watchers_count":3,"language":"Dart","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":4,"mirror_url":null,"open_issues_count":9,"forks":4,"open_issues":9,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls/22"},"html":{"href":"https://github.com/Grant-Nelson/ThreeDart/pull/22"},"issue":{"href":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues/22"},"comments":{"href":"https://api.github.com/repos/Grant-Nelson/ThreeDart/issues/22/comments"},"review_comments":{"href":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls/22/comments"},"review_comment":{"href":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Grant-Nelson/ThreeDart/pulls/22/commits"},"statuses":{"href":"https://api.github.com/repos/Grant-Nelson/ThreeDart/statuses/597715dabf93c980c29466438a2fe6c7b2cf8d5e"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"Grant-Nelson","id":7455621,"avatar_url":"https://avatars.githubusercontent.com/u/7455621?v=3","gravatar_id":"","url":"https://api.github.com/users/Grant-Nelson","html_url":"https://github.com/Grant-Nelson","followers_url":"https://api.github.com/users/Grant-Nelson/followers","following_url":"https://api.github.com/users/Grant-Nelson/following{/other_user}","gists_url":"https://api.github.com/users/Grant-Nelson/gists{/gist_id}","starred_url":"https://api.github.com/users/Grant-Nelson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Grant-Nelson/subscriptions","organizations_url":"https://api.github.com/users/Grant-Nelson/orgs","repos_url":"https://api.github.com/users/Grant-Nelson/repos","events_url":"https://api.github.com/users/Grant-Nelson/events{/privacy}","received_events_url":"https://api.github.com/users/Grant-Nelson/received_events","type":"User","site_admin":false},"comments":1,"review_comments":0,"commits":16,"additions":4012,"deletions":2540,"changed_files":120}}
{"actor":{"display_login":"Grant-Nelson"}}