{"action":"created","comment":{"url":"https://api.github.com/repos/aframevr/aframe/pulls/comments/57037211","id":57037211,"diff_hunk":"@@ -1,94 +1,162 @@\n var registerComponent = require('../core/component').registerComponent;\n+var THREE = require('../lib/three');\n var utils = require('../utils/');\n \n+var EVENTS = {\n+  CLICK: 'cursor-click',","path":"src/components/cursor.js","position":6,"original_position":6,"commit_id":"4185668ac559ba1f1b3fe20de11bd4f97fd2c8c4","original_commit_id":"4185668ac559ba1f1b3fe20de11bd4f97fd2c8c4","user":{"login":"ngokevin","id":674727,"avatar_url":"https://avatars.githubusercontent.com/u/674727?v=3","gravatar_id":"","url":"https://api.github.com/users/ngokevin","html_url":"https://github.com/ngokevin","followers_url":"https://api.github.com/users/ngokevin/followers","following_url":"https://api.github.com/users/ngokevin/following{/other_user}","gists_url":"https://api.github.com/users/ngokevin/gists{/gist_id}","starred_url":"https://api.github.com/users/ngokevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ngokevin/subscriptions","organizations_url":"https://api.github.com/users/ngokevin/orgs","repos_url":"https://api.github.com/users/ngokevin/repos","events_url":"https://api.github.com/users/ngokevin/events{/privacy}","received_events_url":"https://api.github.com/users/ngokevin/received_events","type":"User","site_admin":false},"body":"Possibly. It may be unexpected for component developers to emit an event, try to add a listener, and not knowing that it's prefixing under-the-hood.","created_at":"2016-03-22T17:59:35Z","updated_at":"2016-03-22T17:59:35Z","html_url":"https://github.com/aframevr/aframe/pull/1196#discussion_r57037211","pull_request_url":"https://api.github.com/repos/aframevr/aframe/pulls/1196","_links":{"self":{"href":"https://api.github.com/repos/aframevr/aframe/pulls/comments/57037211"},"html":{"href":"https://github.com/aframevr/aframe/pull/1196#discussion_r57037211"},"pull_request":{"href":"https://api.github.com/repos/aframevr/aframe/pulls/1196"}}},"pull_request":{"url":"https://api.github.com/repos/aframevr/aframe/pulls/1196","id":63460360,"html_url":"https://github.com/aframevr/aframe/pull/1196","diff_url":"https://github.com/aframevr/aframe/pull/1196.diff","patch_url":"https://github.com/aframevr/aframe/pull/1196.patch","issue_url":"https://api.github.com/repos/aframevr/aframe/issues/1196","number":1196,"state":"open","locked":false,"title":"improve raycaster component (fixes #829)","user":{"login":"ngokevin","id":674727,"avatar_url":"https://avatars.githubusercontent.com/u/674727?v=3","gravatar_id":"","url":"https://api.github.com/users/ngokevin","html_url":"https://github.com/ngokevin","followers_url":"https://api.github.com/users/ngokevin/followers","following_url":"https://api.github.com/users/ngokevin/following{/other_user}","gists_url":"https://api.github.com/users/ngokevin/gists{/gist_id}","starred_url":"https://api.github.com/users/ngokevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ngokevin/subscriptions","organizations_url":"https://api.github.com/users/ngokevin/orgs","repos_url":"https://api.github.com/users/ngokevin/repos","events_url":"https://api.github.com/users/ngokevin/events{/privacy}","received_events_url":"https://api.github.com/users/ngokevin/received_events","type":"User","site_admin":false},"body":"**Description:** Improve overall raycaster performance and configuration. Working on unit tests\r\n\r\n**Changes proposed:**\r\n- Don't use requestInterval which adds an additional requestAnimationFrame call. Work off of the existing tick handler.\r\n- Generalize raycaster component for general use rather than just the cursor. Allow specifying the direction, near, far, recursive, origin. Thus decoupling raycaster and cursor, and having cursor be an abstraction of the raycaster.\r\n- Allow passing in a list of entities (via selector) that the raycaster should intersect rather than intersecting everything\r\n- Return full intersection data in events\r\n- Move intersectioncleared/mouseleave logic to the cursor component to remove cursor/raycaster coupling\r\n- Be able to update the raycaster \r\n- Prefix event/state names with respective component (```cursor-```/```raycaster-```)\r\n- Removed `cursor.maxDistance` as it was redundant with `raycaster.far` ","created_at":"2016-03-19T06:06:29Z","updated_at":"2016-03-22T17:59:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8a040f435d6fd051d2e8665b6029aa542e8a97fe","assignee":null,"milestone":{"url":"https://api.github.com/repos/aframevr/aframe/milestones/2","html_url":"https://github.com/aframevr/aframe/milestones/0.3.0","labels_url":"https://api.github.com/repos/aframevr/aframe/milestones/2/labels","id":1646371,"number":2,"title":"0.3.0","description":"","creator":{"login":"ngokevin","id":674727,"avatar_url":"https://avatars.githubusercontent.com/u/674727?v=3","gravatar_id":"","url":"https://api.github.com/users/ngokevin","html_url":"https://github.com/ngokevin","followers_url":"https://api.github.com/users/ngokevin/followers","following_url":"https://api.github.com/users/ngokevin/following{/other_user}","gists_url":"https://api.github.com/users/ngokevin/gists{/gist_id}","starred_url":"https://api.github.com/users/ngokevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ngokevin/subscriptions","organizations_url":"https://api.github.com/users/ngokevin/orgs","repos_url":"https://api.github.com/users/ngokevin/repos","events_url":"https://api.github.com/users/ngokevin/events{/privacy}","received_events_url":"https://api.github.com/users/ngokevin/received_events","type":"User","site_admin":false},"open_issues":25,"closed_issues":4,"state":"open","created_at":"2016-03-15T18:39:55Z","updated_at":"2016-03-21T19:01:29Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/aframevr/aframe/pulls/1196/commits","review_comments_url":"https://api.github.com/repos/aframevr/aframe/pulls/1196/comments","review_comment_url":"https://api.github.com/repos/aframevr/aframe/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aframevr/aframe/issues/1196/comments","statuses_url":"https://api.github.com/repos/aframevr/aframe/statuses/4185668ac559ba1f1b3fe20de11bd4f97fd2c8c4","head":{"label":"ngokevin:raycaster","ref":"raycaster","sha":"4185668ac559ba1f1b3fe20de11bd4f97fd2c8c4","user":{"login":"ngokevin","id":674727,"avatar_url":"https://avatars.githubusercontent.com/u/674727?v=3","gravatar_id":"","url":"https://api.github.com/users/ngokevin","html_url":"https://github.com/ngokevin","followers_url":"https://api.github.com/users/ngokevin/followers","following_url":"https://api.github.com/users/ngokevin/following{/other_user}","gists_url":"https://api.github.com/users/ngokevin/gists{/gist_id}","starred_url":"https://api.github.com/users/ngokevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ngokevin/subscriptions","organizations_url":"https://api.github.com/users/ngokevin/orgs","repos_url":"https://api.github.com/users/ngokevin/repos","events_url":"https://api.github.com/users/ngokevin/events{/privacy}","received_events_url":"https://api.github.com/users/ngokevin/received_events","type":"User","site_admin":false},"repo":{"id":48299418,"name":"aframe","full_name":"ngokevin/aframe","owner":{"login":"ngokevin","id":674727,"avatar_url":"https://avatars.githubusercontent.com/u/674727?v=3","gravatar_id":"","url":"https://api.github.com/users/ngokevin","html_url":"https://github.com/ngokevin","followers_url":"https://api.github.com/users/ngokevin/followers","following_url":"https://api.github.com/users/ngokevin/following{/other_user}","gists_url":"https://api.github.com/users/ngokevin/gists{/gist_id}","starred_url":"https://api.github.com/users/ngokevin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ngokevin/subscriptions","organizations_url":"https://api.github.com/users/ngokevin/orgs","repos_url":"https://api.github.com/users/ngokevin/repos","events_url":"https://api.github.com/users/ngokevin/events{/privacy}","received_events_url":"https://api.github.com/users/ngokevin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ngokevin/aframe","description":"Building Blocks for the VR Web","fork":true,"url":"https://api.github.com/repos/ngokevin/aframe","forks_url":"https://api.github.com/repos/ngokevin/aframe/forks","keys_url":"https://api.github.com/repos/ngokevin/aframe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ngokevin/aframe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ngokevin/aframe/teams","hooks_url":"https://api.github.com/repos/ngokevin/aframe/hooks","issue_events_url":"https://api.github.com/repos/ngokevin/aframe/issues/events{/number}","events_url":"https://api.github.com/repos/ngokevin/aframe/events","assignees_url":"https://api.github.com/repos/ngokevin/aframe/assignees{/user}","branches_url":"https://api.github.com/repos/ngokevin/aframe/branches{/branch}","tags_url":"https://api.github.com/repos/ngokevin/aframe/tags","blobs_url":"https://api.github.com/repos/ngokevin/aframe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ngokevin/aframe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ngokevin/aframe/git/refs{/sha}","trees_url":"https://api.github.com/repos/ngokevin/aframe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ngokevin/aframe/statuses/{sha}","languages_url":"https://api.github.com/repos/ngokevin/aframe/languages","stargazers_url":"https://api.github.com/repos/ngokevin/aframe/stargazers","contributors_url":"https://api.github.com/repos/ngokevin/aframe/contributors","subscribers_url":"https://api.github.com/repos/ngokevin/aframe/subscribers","subscription_url":"https://api.github.com/repos/ngokevin/aframe/subscription","commits_url":"https://api.github.com/repos/ngokevin/aframe/commits{/sha}","git_commits_url":"https://api.github.com/repos/ngokevin/aframe/git/commits{/sha}","comments_url":"https://api.github.com/repos/ngokevin/aframe/comments{/number}","issue_comment_url":"https://api.github.com/repos/ngokevin/aframe/issues/comments{/number}","contents_url":"https://api.github.com/repos/ngokevin/aframe/contents/{+path}","compare_url":"https://api.github.com/repos/ngokevin/aframe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ngokevin/aframe/merges","archive_url":"https://api.github.com/repos/ngokevin/aframe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ngokevin/aframe/downloads","issues_url":"https://api.github.com/repos/ngokevin/aframe/issues{/number}","pulls_url":"https://api.github.com/repos/ngokevin/aframe/pulls{/number}","milestones_url":"https://api.github.com/repos/ngokevin/aframe/milestones{/number}","notifications_url":"https://api.github.com/repos/ngokevin/aframe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ngokevin/aframe/labels{/name}","releases_url":"https://api.github.com/repos/ngokevin/aframe/releases{/id}","deployments_url":"https://api.github.com/repos/ngokevin/aframe/deployments","created_at":"2015-12-19T22:31:05Z","updated_at":"2015-12-19T22:31:06Z","pushed_at":"2016-03-21T23:46:32Z","git_url":"git://github.com/ngokevin/aframe.git","ssh_url":"git@github.com:ngokevin/aframe.git","clone_url":"https://github.com/ngokevin/aframe.git","svn_url":"https://github.com/ngokevin/aframe","homepage":"https://aframe.io/","size":94887,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"aframevr:master","ref":"master","sha":"508f1135a81794f0acb4fddbaf414c2753a52cec","user":{"login":"aframevr","id":16024092,"avatar_url":"https://avatars.githubusercontent.com/u/16024092?v=3","gravatar_id":"","url":"https://api.github.com/users/aframevr","html_url":"https://github.com/aframevr","followers_url":"https://api.github.com/users/aframevr/followers","following_url":"https://api.github.com/users/aframevr/following{/other_user}","gists_url":"https://api.github.com/users/aframevr/gists{/gist_id}","starred_url":"https://api.github.com/users/aframevr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aframevr/subscriptions","organizations_url":"https://api.github.com/users/aframevr/orgs","repos_url":"https://api.github.com/users/aframevr/repos","events_url":"https://api.github.com/users/aframevr/events{/privacy}","received_events_url":"https://api.github.com/users/aframevr/received_events","type":"Organization","site_admin":false},"repo":{"id":42488903,"name":"aframe","full_name":"aframevr/aframe","owner":{"login":"aframevr","id":16024092,"avatar_url":"https://avatars.githubusercontent.com/u/16024092?v=3","gravatar_id":"","url":"https://api.github.com/users/aframevr","html_url":"https://github.com/aframevr","followers_url":"https://api.github.com/users/aframevr/followers","following_url":"https://api.github.com/users/aframevr/following{/other_user}","gists_url":"https://api.github.com/users/aframevr/gists{/gist_id}","starred_url":"https://api.github.com/users/aframevr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aframevr/subscriptions","organizations_url":"https://api.github.com/users/aframevr/orgs","repos_url":"https://api.github.com/users/aframevr/repos","events_url":"https://api.github.com/users/aframevr/events{/privacy}","received_events_url":"https://api.github.com/users/aframevr/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/aframevr/aframe","description":"Building Blocks for the VR Web","fork":false,"url":"https://api.github.com/repos/aframevr/aframe","forks_url":"https://api.github.com/repos/aframevr/aframe/forks","keys_url":"https://api.github.com/repos/aframevr/aframe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aframevr/aframe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aframevr/aframe/teams","hooks_url":"https://api.github.com/repos/aframevr/aframe/hooks","issue_events_url":"https://api.github.com/repos/aframevr/aframe/issues/events{/number}","events_url":"https://api.github.com/repos/aframevr/aframe/events","assignees_url":"https://api.github.com/repos/aframevr/aframe/assignees{/user}","branches_url":"https://api.github.com/repos/aframevr/aframe/branches{/branch}","tags_url":"https://api.github.com/repos/aframevr/aframe/tags","blobs_url":"https://api.github.com/repos/aframevr/aframe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aframevr/aframe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aframevr/aframe/git/refs{/sha}","trees_url":"https://api.github.com/repos/aframevr/aframe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aframevr/aframe/statuses/{sha}","languages_url":"https://api.github.com/repos/aframevr/aframe/languages","stargazers_url":"https://api.github.com/repos/aframevr/aframe/stargazers","contributors_url":"https://api.github.com/repos/aframevr/aframe/contributors","subscribers_url":"https://api.github.com/repos/aframevr/aframe/subscribers","subscription_url":"https://api.github.com/repos/aframevr/aframe/subscription","commits_url":"https://api.github.com/repos/aframevr/aframe/commits{/sha}","git_commits_url":"https://api.github.com/repos/aframevr/aframe/git/commits{/sha}","comments_url":"https://api.github.com/repos/aframevr/aframe/comments{/number}","issue_comment_url":"https://api.github.com/repos/aframevr/aframe/issues/comments{/number}","contents_url":"https://api.github.com/repos/aframevr/aframe/contents/{+path}","compare_url":"https://api.github.com/repos/aframevr/aframe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aframevr/aframe/merges","archive_url":"https://api.github.com/repos/aframevr/aframe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aframevr/aframe/downloads","issues_url":"https://api.github.com/repos/aframevr/aframe/issues{/number}","pulls_url":"https://api.github.com/repos/aframevr/aframe/pulls{/number}","milestones_url":"https://api.github.com/repos/aframevr/aframe/milestones{/number}","notifications_url":"https://api.github.com/repos/aframevr/aframe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aframevr/aframe/labels{/name}","releases_url":"https://api.github.com/repos/aframevr/aframe/releases{/id}","deployments_url":"https://api.github.com/repos/aframevr/aframe/deployments","created_at":"2015-09-15T02:04:40Z","updated_at":"2016-03-22T17:06:46Z","pushed_at":"2016-03-21T23:46:33Z","git_url":"git://github.com/aframevr/aframe.git","ssh_url":"git@github.com:aframevr/aframe.git","clone_url":"https://github.com/aframevr/aframe.git","svn_url":"https://github.com/aframevr/aframe","homepage":"https://aframe.io/","size":102005,"stargazers_count":1488,"watchers_count":1488,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":190,"mirror_url":null,"open_issues_count":209,"forks":190,"open_issues":209,"watchers":1488,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/aframevr/aframe/pulls/1196"},"html":{"href":"https://github.com/aframevr/aframe/pull/1196"},"issue":{"href":"https://api.github.com/repos/aframevr/aframe/issues/1196"},"comments":{"href":"https://api.github.com/repos/aframevr/aframe/issues/1196/comments"},"review_comments":{"href":"https://api.github.com/repos/aframevr/aframe/pulls/1196/comments"},"review_comment":{"href":"https://api.github.com/repos/aframevr/aframe/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aframevr/aframe/pulls/1196/commits"},"statuses":{"href":"https://api.github.com/repos/aframevr/aframe/statuses/4185668ac559ba1f1b3fe20de11bd4f97fd2c8c4"}}}}