{"action":"created","comment":{"url":"https://api.github.com/repos/domokit/sky_engine/pulls/comments/39110357","id":39110357,"diff_hunk":"@@ -0,0 +1,63 @@\n+// Copyright 2015 The Chromium Authors. All rights reserved.\n+// Use of this source code is governed by a BSD-style license that can be\n+// found in the LICENSE file.\n+\n+import 'dart:sky' as sky;\n+\n+import 'package:sky/gestures/arena.dart';\n+import 'package:sky/gestures/recognizer.dart';\n+import 'package:sky/gestures/constants.dart';\n+\n+// Fling velocities are logical pixels per second.\n+typedef void GestureFlingCallback(sky.Offset velocity);\n+\n+int _eventTime(sky.PointerEvent event) => (event.timeStamp * 1000.0).toInt(); // microseconds\n+\n+bool _isFlingGesture(sky.GestureVelocity velocity) {\n+  double vSquared = velocity.x * velocity.x + velocity.y * velocity.y;","path":"sky/packages/sky/lib/gestures/fling.dart","position":17,"original_position":17,"commit_id":"2146f3dd9e385c0c1b4ddbd7d4b5df3d07934114","original_commit_id":"2146f3dd9e385c0c1b4ddbd7d4b5df3d07934114","user":{"login":"abarth","id":112007,"avatar_url":"https://avatars.githubusercontent.com/u/112007?v=3","gravatar_id":"","url":"https://api.github.com/users/abarth","html_url":"https://github.com/abarth","followers_url":"https://api.github.com/users/abarth/followers","following_url":"https://api.github.com/users/abarth/following{/other_user}","gists_url":"https://api.github.com/users/abarth/gists{/gist_id}","starred_url":"https://api.github.com/users/abarth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abarth/subscriptions","organizations_url":"https://api.github.com/users/abarth/orgs","repos_url":"https://api.github.com/users/abarth/repos","events_url":"https://api.github.com/users/abarth/events{/privacy}","received_events_url":"https://api.github.com/users/abarth/received_events","type":"User","site_admin":false},"body":"s/vSquared/velocitySquared/\r\n\r\nPlease use complete words in variable names.","created_at":"2015-09-09T23:34:58Z","updated_at":"2015-09-09T23:34:58Z","html_url":"https://github.com/domokit/sky_engine/pull/1111#discussion_r39110357","pull_request_url":"https://api.github.com/repos/domokit/sky_engine/pulls/1111","_links":{"self":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/comments/39110357"},"html":{"href":"https://github.com/domokit/sky_engine/pull/1111#discussion_r39110357"},"pull_request":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/1111"}}},"pull_request":{"url":"https://api.github.com/repos/domokit/sky_engine/pulls/1111","id":44612107,"html_url":"https://github.com/domokit/sky_engine/pull/1111","diff_url":"https://github.com/domokit/sky_engine/pull/1111.diff","patch_url":"https://github.com/domokit/sky_engine/pull/1111.patch","issue_url":"https://api.github.com/repos/domokit/sky_engine/issues/1111","number":1111,"state":"open","locked":false,"title":"Initial support for the fling gesture detector","user":{"login":"HansMuller","id":1377460,"avatar_url":"https://avatars.githubusercontent.com/u/1377460?v=3","gravatar_id":"","url":"https://api.github.com/users/HansMuller","html_url":"https://github.com/HansMuller","followers_url":"https://api.github.com/users/HansMuller/followers","following_url":"https://api.github.com/users/HansMuller/following{/other_user}","gists_url":"https://api.github.com/users/HansMuller/gists{/gist_id}","starred_url":"https://api.github.com/users/HansMuller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HansMuller/subscriptions","organizations_url":"https://api.github.com/users/HansMuller/orgs","repos_url":"https://api.github.com/users/HansMuller/repos","events_url":"https://api.github.com/users/HansMuller/events{/privacy}","received_events_url":"https://api.github.com/users/HansMuller/received_events","type":"User","site_admin":false},"body":"Added FlingGestureRecognizer and exposed it in the GestureDetector class. FlingGestureRecognizer is based on the Android/Chromium VelocityTracker class which computes a velocity vector for for a list of X,Y,Time tuples.\r\n\r\nThe Scrollable classes now use the FlingGestureRecognizer. Dismissable and Drawer still need to be updated\r\n","created_at":"2015-09-09T23:16:57Z","updated_at":"2015-09-09T23:34:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dc4263f407b48aefe7d4b9a542326ad75a9732e5","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/domokit/sky_engine/pulls/1111/commits","review_comments_url":"https://api.github.com/repos/domokit/sky_engine/pulls/1111/comments","review_comment_url":"https://api.github.com/repos/domokit/sky_engine/pulls/comments{/number}","comments_url":"https://api.github.com/repos/domokit/sky_engine/issues/1111/comments","statuses_url":"https://api.github.com/repos/domokit/sky_engine/statuses/2146f3dd9e385c0c1b4ddbd7d4b5df3d07934114","head":{"label":"HansMuller:velocity-tracker","ref":"velocity-tracker","sha":"2146f3dd9e385c0c1b4ddbd7d4b5df3d07934114","user":{"login":"HansMuller","id":1377460,"avatar_url":"https://avatars.githubusercontent.com/u/1377460?v=3","gravatar_id":"","url":"https://api.github.com/users/HansMuller","html_url":"https://github.com/HansMuller","followers_url":"https://api.github.com/users/HansMuller/followers","following_url":"https://api.github.com/users/HansMuller/following{/other_user}","gists_url":"https://api.github.com/users/HansMuller/gists{/gist_id}","starred_url":"https://api.github.com/users/HansMuller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HansMuller/subscriptions","organizations_url":"https://api.github.com/users/HansMuller/orgs","repos_url":"https://api.github.com/users/HansMuller/repos","events_url":"https://api.github.com/users/HansMuller/events{/privacy}","received_events_url":"https://api.github.com/users/HansMuller/received_events","type":"User","site_admin":false},"repo":{"id":39275287,"name":"sky_engine","full_name":"HansMuller/sky_engine","owner":{"login":"HansMuller","id":1377460,"avatar_url":"https://avatars.githubusercontent.com/u/1377460?v=3","gravatar_id":"","url":"https://api.github.com/users/HansMuller","html_url":"https://github.com/HansMuller","followers_url":"https://api.github.com/users/HansMuller/followers","following_url":"https://api.github.com/users/HansMuller/following{/other_user}","gists_url":"https://api.github.com/users/HansMuller/gists{/gist_id}","starred_url":"https://api.github.com/users/HansMuller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HansMuller/subscriptions","organizations_url":"https://api.github.com/users/HansMuller/orgs","repos_url":"https://api.github.com/users/HansMuller/repos","events_url":"https://api.github.com/users/HansMuller/events{/privacy}","received_events_url":"https://api.github.com/users/HansMuller/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/HansMuller/sky_engine","description":"The Sky engine","fork":true,"url":"https://api.github.com/repos/HansMuller/sky_engine","forks_url":"https://api.github.com/repos/HansMuller/sky_engine/forks","keys_url":"https://api.github.com/repos/HansMuller/sky_engine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HansMuller/sky_engine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HansMuller/sky_engine/teams","hooks_url":"https://api.github.com/repos/HansMuller/sky_engine/hooks","issue_events_url":"https://api.github.com/repos/HansMuller/sky_engine/issues/events{/number}","events_url":"https://api.github.com/repos/HansMuller/sky_engine/events","assignees_url":"https://api.github.com/repos/HansMuller/sky_engine/assignees{/user}","branches_url":"https://api.github.com/repos/HansMuller/sky_engine/branches{/branch}","tags_url":"https://api.github.com/repos/HansMuller/sky_engine/tags","blobs_url":"https://api.github.com/repos/HansMuller/sky_engine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HansMuller/sky_engine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HansMuller/sky_engine/git/refs{/sha}","trees_url":"https://api.github.com/repos/HansMuller/sky_engine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HansMuller/sky_engine/statuses/{sha}","languages_url":"https://api.github.com/repos/HansMuller/sky_engine/languages","stargazers_url":"https://api.github.com/repos/HansMuller/sky_engine/stargazers","contributors_url":"https://api.github.com/repos/HansMuller/sky_engine/contributors","subscribers_url":"https://api.github.com/repos/HansMuller/sky_engine/subscribers","subscription_url":"https://api.github.com/repos/HansMuller/sky_engine/subscription","commits_url":"https://api.github.com/repos/HansMuller/sky_engine/commits{/sha}","git_commits_url":"https://api.github.com/repos/HansMuller/sky_engine/git/commits{/sha}","comments_url":"https://api.github.com/repos/HansMuller/sky_engine/comments{/number}","issue_comment_url":"https://api.github.com/repos/HansMuller/sky_engine/issues/comments{/number}","contents_url":"https://api.github.com/repos/HansMuller/sky_engine/contents/{+path}","compare_url":"https://api.github.com/repos/HansMuller/sky_engine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HansMuller/sky_engine/merges","archive_url":"https://api.github.com/repos/HansMuller/sky_engine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HansMuller/sky_engine/downloads","issues_url":"https://api.github.com/repos/HansMuller/sky_engine/issues{/number}","pulls_url":"https://api.github.com/repos/HansMuller/sky_engine/pulls{/number}","milestones_url":"https://api.github.com/repos/HansMuller/sky_engine/milestones{/number}","notifications_url":"https://api.github.com/repos/HansMuller/sky_engine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HansMuller/sky_engine/labels{/name}","releases_url":"https://api.github.com/repos/HansMuller/sky_engine/releases{/id}","created_at":"2015-07-17T21:07:51Z","updated_at":"2015-07-17T21:08:10Z","pushed_at":"2015-09-09T23:08:43Z","git_url":"git://github.com/HansMuller/sky_engine.git","ssh_url":"git@github.com:HansMuller/sky_engine.git","clone_url":"https://github.com/HansMuller/sky_engine.git","svn_url":"https://github.com/HansMuller/sky_engine","homepage":null,"size":74665,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"domokit:master","ref":"master","sha":"79980b7eed8532e2be950267ae28679405c45aff","user":{"login":"domokit","id":8664152,"avatar_url":"https://avatars.githubusercontent.com/u/8664152?v=3","gravatar_id":"","url":"https://api.github.com/users/domokit","html_url":"https://github.com/domokit","followers_url":"https://api.github.com/users/domokit/followers","following_url":"https://api.github.com/users/domokit/following{/other_user}","gists_url":"https://api.github.com/users/domokit/gists{/gist_id}","starred_url":"https://api.github.com/users/domokit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domokit/subscriptions","organizations_url":"https://api.github.com/users/domokit/orgs","repos_url":"https://api.github.com/users/domokit/repos","events_url":"https://api.github.com/users/domokit/events{/privacy}","received_events_url":"https://api.github.com/users/domokit/received_events","type":"Organization","site_admin":false},"repo":{"id":39211337,"name":"sky_engine","full_name":"domokit/sky_engine","owner":{"login":"domokit","id":8664152,"avatar_url":"https://avatars.githubusercontent.com/u/8664152?v=3","gravatar_id":"","url":"https://api.github.com/users/domokit","html_url":"https://github.com/domokit","followers_url":"https://api.github.com/users/domokit/followers","following_url":"https://api.github.com/users/domokit/following{/other_user}","gists_url":"https://api.github.com/users/domokit/gists{/gist_id}","starred_url":"https://api.github.com/users/domokit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domokit/subscriptions","organizations_url":"https://api.github.com/users/domokit/orgs","repos_url":"https://api.github.com/users/domokit/repos","events_url":"https://api.github.com/users/domokit/events{/privacy}","received_events_url":"https://api.github.com/users/domokit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/domokit/sky_engine","description":"The Sky engine","fork":false,"url":"https://api.github.com/repos/domokit/sky_engine","forks_url":"https://api.github.com/repos/domokit/sky_engine/forks","keys_url":"https://api.github.com/repos/domokit/sky_engine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/domokit/sky_engine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/domokit/sky_engine/teams","hooks_url":"https://api.github.com/repos/domokit/sky_engine/hooks","issue_events_url":"https://api.github.com/repos/domokit/sky_engine/issues/events{/number}","events_url":"https://api.github.com/repos/domokit/sky_engine/events","assignees_url":"https://api.github.com/repos/domokit/sky_engine/assignees{/user}","branches_url":"https://api.github.com/repos/domokit/sky_engine/branches{/branch}","tags_url":"https://api.github.com/repos/domokit/sky_engine/tags","blobs_url":"https://api.github.com/repos/domokit/sky_engine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/domokit/sky_engine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/domokit/sky_engine/git/refs{/sha}","trees_url":"https://api.github.com/repos/domokit/sky_engine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/domokit/sky_engine/statuses/{sha}","languages_url":"https://api.github.com/repos/domokit/sky_engine/languages","stargazers_url":"https://api.github.com/repos/domokit/sky_engine/stargazers","contributors_url":"https://api.github.com/repos/domokit/sky_engine/contributors","subscribers_url":"https://api.github.com/repos/domokit/sky_engine/subscribers","subscription_url":"https://api.github.com/repos/domokit/sky_engine/subscription","commits_url":"https://api.github.com/repos/domokit/sky_engine/commits{/sha}","git_commits_url":"https://api.github.com/repos/domokit/sky_engine/git/commits{/sha}","comments_url":"https://api.github.com/repos/domokit/sky_engine/comments{/number}","issue_comment_url":"https://api.github.com/repos/domokit/sky_engine/issues/comments{/number}","contents_url":"https://api.github.com/repos/domokit/sky_engine/contents/{+path}","compare_url":"https://api.github.com/repos/domokit/sky_engine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/domokit/sky_engine/merges","archive_url":"https://api.github.com/repos/domokit/sky_engine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/domokit/sky_engine/downloads","issues_url":"https://api.github.com/repos/domokit/sky_engine/issues{/number}","pulls_url":"https://api.github.com/repos/domokit/sky_engine/pulls{/number}","milestones_url":"https://api.github.com/repos/domokit/sky_engine/milestones{/number}","notifications_url":"https://api.github.com/repos/domokit/sky_engine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/domokit/sky_engine/labels{/name}","releases_url":"https://api.github.com/repos/domokit/sky_engine/releases{/id}","created_at":"2015-07-16T17:39:56Z","updated_at":"2015-09-09T22:49:19Z","pushed_at":"2015-09-09T23:17:15Z","git_url":"git://github.com/domokit/sky_engine.git","ssh_url":"git@github.com:domokit/sky_engine.git","clone_url":"https://github.com/domokit/sky_engine.git","svn_url":"https://github.com/domokit/sky_engine","homepage":null,"size":84329,"stargazers_count":190,"watchers_count":190,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":61,"mirror_url":null,"open_issues_count":196,"forks":61,"open_issues":196,"watchers":190,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/1111"},"html":{"href":"https://github.com/domokit/sky_engine/pull/1111"},"issue":{"href":"https://api.github.com/repos/domokit/sky_engine/issues/1111"},"comments":{"href":"https://api.github.com/repos/domokit/sky_engine/issues/1111/comments"},"review_comments":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/1111/comments"},"review_comment":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/1111/commits"},"statuses":{"href":"https://api.github.com/repos/domokit/sky_engine/statuses/2146f3dd9e385c0c1b4ddbd7d4b5df3d07934114"}}}}