{"action":"created","issue":{"url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/120","labels_url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/120/labels{/name}","comments_url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/120/comments","events_url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/120/events","html_url":"https://github.com/recastnavigation/recastnavigation/pull/120","id":117021519,"number":120,"title":"Improve findWallDistance()'s returned normal","user":{"login":"richard-fine","id":588194,"avatar_url":"https://avatars.githubusercontent.com/u/588194?v=3","gravatar_id":"","url":"https://api.github.com/users/richard-fine","html_url":"https://github.com/richard-fine","followers_url":"https://api.github.com/users/richard-fine/followers","following_url":"https://api.github.com/users/richard-fine/following{/other_user}","gists_url":"https://api.github.com/users/richard-fine/gists{/gist_id}","starred_url":"https://api.github.com/users/richard-fine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/richard-fine/subscriptions","organizations_url":"https://api.github.com/users/richard-fine/orgs","repos_url":"https://api.github.com/users/richard-fine/repos","events_url":"https://api.github.com/users/richard-fine/events{/privacy}","received_events_url":"https://api.github.com/users/richard-fine/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-11-15T22:04:47Z","updated_at":"2016-01-06T23:54:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/recastnavigation/recastnavigation/pulls/120","html_url":"https://github.com/recastnavigation/recastnavigation/pull/120","diff_url":"https://github.com/recastnavigation/recastnavigation/pull/120.diff","patch_url":"https://github.com/recastnavigation/recastnavigation/pull/120.patch"},"body":"The normal returned by findWallDistance() isn't really a normal, it's just a normalized vector from the hit point to the source point. The hit point is already returned by this function, and the source point was passed in, so it's easy for users to calculate this themselves if they want.\r\n\r\nSo, instead, return the bitangent to the actual wall itself, as it's more useful."},"comment":{"url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/comments/169502112","html_url":"https://github.com/recastnavigation/recastnavigation/pull/120#issuecomment-169502112","issue_url":"https://api.github.com/repos/recastnavigation/recastnavigation/issues/120","id":169502112,"user":{"login":"grahamboree","id":1139220,"avatar_url":"https://avatars.githubusercontent.com/u/1139220?v=3","gravatar_id":"","url":"https://api.github.com/users/grahamboree","html_url":"https://github.com/grahamboree","followers_url":"https://api.github.com/users/grahamboree/followers","following_url":"https://api.github.com/users/grahamboree/following{/other_user}","gists_url":"https://api.github.com/users/grahamboree/gists{/gist_id}","starred_url":"https://api.github.com/users/grahamboree/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grahamboree/subscriptions","organizations_url":"https://api.github.com/users/grahamboree/orgs","repos_url":"https://api.github.com/users/grahamboree/repos","events_url":"https://api.github.com/users/grahamboree/events{/privacy}","received_events_url":"https://api.github.com/users/grahamboree/received_events","type":"User","site_admin":false},"created_at":"2016-01-06T23:54:52Z","updated_at":"2016-01-06T23:54:52Z","body":"I'm with @Janiels on this one.  I'd rather return the more useful vector and let the user do the vector sub and normalize to get what we're already giving them (if they really want it in the first place).  \r\n\r\nRe: versioning, I think what's been said is a smart way of approaching breaking changes.  I also agree that we shouldn't be afraid to break things in the name of progress, so long as its clearly communicated to the users.  Semantic versioning seems like a good way of communicating this."}}