{"action":"created","issue":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-js/issues/2668","repository_url":"https://api.github.com/repos/mapbox/mapbox-gl-js","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-js/issues/2668/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-js/issues/2668/comments","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-js/issues/2668/events","html_url":"https://github.com/mapbox/mapbox-gl-js/pull/2668","id":158514944,"number":2668,"title":"[notready] Unskew line labels on pitched maps","user":{"login":"yhahn","id":83384,"avatar_url":"https://avatars.githubusercontent.com/u/83384?v=3","gravatar_id":"","url":"https://api.github.com/users/yhahn","html_url":"https://github.com/yhahn","followers_url":"https://api.github.com/users/yhahn/followers","following_url":"https://api.github.com/users/yhahn/following{/other_user}","gists_url":"https://api.github.com/users/yhahn/gists{/gist_id}","starred_url":"https://api.github.com/users/yhahn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yhahn/subscriptions","organizations_url":"https://api.github.com/users/yhahn/orgs","repos_url":"https://api.github.com/users/yhahn/repos","events_url":"https://api.github.com/users/yhahn/events{/privacy}","received_events_url":"https://api.github.com/users/yhahn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"yhahn","id":83384,"avatar_url":"https://avatars.githubusercontent.com/u/83384?v=3","gravatar_id":"","url":"https://api.github.com/users/yhahn","html_url":"https://github.com/yhahn","followers_url":"https://api.github.com/users/yhahn/followers","following_url":"https://api.github.com/users/yhahn/following{/other_user}","gists_url":"https://api.github.com/users/yhahn/gists{/gist_id}","starred_url":"https://api.github.com/users/yhahn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yhahn/subscriptions","organizations_url":"https://api.github.com/users/yhahn/orgs","repos_url":"https://api.github.com/users/yhahn/repos","events_url":"https://api.github.com/users/yhahn/events{/privacy}","received_events_url":"https://api.github.com/users/yhahn/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2016-06-04T17:30:56Z","updated_at":"2016-06-08T17:23:27Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-js/pulls/2668","html_url":"https://github.com/mapbox/mapbox-gl-js/pull/2668","diff_url":"https://github.com/mapbox/mapbox-gl-js/pull/2668.diff","patch_url":"https://github.com/mapbox/mapbox-gl-js/pull/2668.patch"},"body":"#### Before\r\n\r\n![unskew-before](https://cloud.githubusercontent.com/assets/83384/15801052/acdc5698-2a57-11e6-85c4-665338b1c57b.png)\r\n\r\n#### After\r\n\r\n![unskew-after](https://cloud.githubusercontent.com/assets/83384/15801054/ae8ca100-2a57-11e6-9b6e-ed0eb0aff834.png)\r\n\r\n### How it works\r\n\r\nBig picture: straight labels are unskewed, curved labels retain their map-projected orientation.\r\n\r\nThe approach in this branch modifies the SDF renderer quite a bit.\r\n\r\n- When quads are placed, basic heuristics determine if the label is curved or not.\r\n- Curved labels are placed in the same manner as `master` (e.g. `Lagunitas Dr` above).\r\n- Straight labels are not rotated as they are in master before the vertex shader -- instead, the angle of the line is passed to the shader.\r\n- The vertex shader recalculates the line angle post-projection based on the label angle @ the anchor point post-reprojection.\r\n- The vertex shader handles rotation of the linear label glyphs.\r\n\r\n### Backlog\r\n\r\n- [ ] Unit tests for symbol bucket/quad changes\r\n- [x] Render tests for unskewed perspective map labels\r\n- [ ] Benchmarking to see how much the bigger burden on the vertex shader affects performance\r\n- [ ] Style spec decisions -- trying to think of reasons we would not just make this the default for map-oriented line labels\r\n- [ ] GL native port\r\n\r\ncc @lucaswoj @mollymerp @ansis "},"comment":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-js/issues/comments/224665162","html_url":"https://github.com/mapbox/mapbox-gl-js/pull/2668#issuecomment-224665162","issue_url":"https://api.github.com/repos/mapbox/mapbox-gl-js/issues/2668","id":224665162,"user":{"login":"lucaswoj","id":281306,"avatar_url":"https://avatars.githubusercontent.com/u/281306?v=3","gravatar_id":"","url":"https://api.github.com/users/lucaswoj","html_url":"https://github.com/lucaswoj","followers_url":"https://api.github.com/users/lucaswoj/followers","following_url":"https://api.github.com/users/lucaswoj/following{/other_user}","gists_url":"https://api.github.com/users/lucaswoj/gists{/gist_id}","starred_url":"https://api.github.com/users/lucaswoj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucaswoj/subscriptions","organizations_url":"https://api.github.com/users/lucaswoj/orgs","repos_url":"https://api.github.com/users/lucaswoj/repos","events_url":"https://api.github.com/users/lucaswoj/events{/privacy}","received_events_url":"https://api.github.com/users/lucaswoj/received_events","type":"User","site_admin":false},"created_at":"2016-06-08T17:23:27Z","updated_at":"2016-06-08T17:23:27Z","body":"This is awesome @yhahn! Even with the caveats, I feel 😍 about merging this from map-design-asthetic standpoint. Let me know if I can help with the remaining technical backlog. "}}
{"actor":{"display_login":"lucaswoj"}}