{"action":"created","issue":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1813","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1813/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1813/comments","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1813/events","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/1813","id":92403774,"number":1813,"title":"split renderSync and transition nudging to allow client view syncing","user":{"login":"incanus","id":17722,"avatar_url":"https://avatars.githubusercontent.com/u/17722?v=3","gravatar_id":"","url":"https://api.github.com/users/incanus","html_url":"https://github.com/incanus","followers_url":"https://api.github.com/users/incanus/followers","following_url":"https://api.github.com/users/incanus/following{/other_user}","gists_url":"https://api.github.com/users/incanus/gists{/gist_id}","starred_url":"https://api.github.com/users/incanus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/incanus/subscriptions","organizations_url":"https://api.github.com/users/incanus/orgs","repos_url":"https://api.github.com/users/incanus/repos","events_url":"https://api.github.com/users/incanus/events{/privacy}","received_events_url":"https://api.github.com/users/incanus/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/refactor","name":"refactor","color":"4c4c4c"},{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/%E2%9A%A0%EF%B8%8F%20DO%20NOT%20MERGE","name":"⚠️ DO NOT MERGE","color":"fbca04"}],"state":"closed","locked":false,"assignee":{"login":"kkaefer","id":52399,"avatar_url":"https://avatars.githubusercontent.com/u/52399?v=3","gravatar_id":"","url":"https://api.github.com/users/kkaefer","html_url":"https://github.com/kkaefer","followers_url":"https://api.github.com/users/kkaefer/followers","following_url":"https://api.github.com/users/kkaefer/following{/other_user}","gists_url":"https://api.github.com/users/kkaefer/gists{/gist_id}","starred_url":"https://api.github.com/users/kkaefer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kkaefer/subscriptions","organizations_url":"https://api.github.com/users/kkaefer/orgs","repos_url":"https://api.github.com/users/kkaefer/repos","events_url":"https://api.github.com/users/kkaefer/events{/privacy}","received_events_url":"https://api.github.com/users/kkaefer/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones/8","html_url":"https://github.com/mapbox/mapbox-gl-native/milestones/iOS%20Beta%203","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones/8/labels","id":1019114,"number":8,"title":"iOS Beta 3","description":"* Headers now make use of lightweight generics, eliminating many unnecessary casts when working with annotations in Swift 2.0 in Xcode 7. (#1711)\r\n* `MGLMapView.direction` is now expressed in terms of degrees clockwise from true north, as indicated in the documentation, rather than counterclockwise. (#1789)\r\n* Delegate method `-[MGLMapViewDelegate mapView:didFailToLocateUserWithError:]` now works. (#1608)\r\n* It is now possible to fit the map’s viewport to a coordinate bounding box via `-[MGLMapView setVisibleCoordinateBounds:animated:]` or to a specific set of coordinates via `-[MGLMapView setVisibleCoordinates:count:edgePadding:animated:]`. (#1783, #1795)\r\n* The logo and ℹ️ no longer disappear or get distorted after embedding MGLMapView in a different view, and you can now access these subviews directly via properties on MGLMapView. (#1779, #1815)\r\n* Resetting the map rotation to north no longer also resets the user location tracking mode. (#1809)\r\n* `-[MGLMapView convertPoint:toCoordinateFromView:]` now returns accurate coordinates on iPhone 6. (#1827)\r\n* Fixed an issue in which `-[MGLMapView direction]` would sometimes return 360 instead of 0. (#1829)\r\n* Fixed an issue in which the compass would spin a full 360° when tapping it. (#1829)","creator":{"login":"incanus","id":17722,"avatar_url":"https://avatars.githubusercontent.com/u/17722?v=3","gravatar_id":"","url":"https://api.github.com/users/incanus","html_url":"https://github.com/incanus","followers_url":"https://api.github.com/users/incanus/followers","following_url":"https://api.github.com/users/incanus/following{/other_user}","gists_url":"https://api.github.com/users/incanus/gists{/gist_id}","starred_url":"https://api.github.com/users/incanus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/incanus/subscriptions","organizations_url":"https://api.github.com/users/incanus/orgs","repos_url":"https://api.github.com/users/incanus/repos","events_url":"https://api.github.com/users/incanus/events{/privacy}","received_events_url":"https://api.github.com/users/incanus/received_events","type":"User","site_admin":false},"open_issues":7,"closed_issues":27,"state":"open","created_at":"2015-03-12T17:38:30Z","updated_at":"2015-07-08T16:52:49Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2015-07-01T14:46:13Z","updated_at":"2015-07-08T17:49:28Z","closed_at":"2015-07-02T00:01:37Z","pull_request":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/pulls/1813","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/1813","diff_url":"https://github.com/mapbox/mapbox-gl-native/pull/1813.diff","patch_url":"https://github.com/mapbox/mapbox-gl-native/pull/1813.patch"},"body":"Picking up from stuff learned in https://github.com/mapbox/mapbox-gl-native/issues/1125#issuecomment-117256712, this breaks the current `renderSync` into two parts — the actual render call and a `nudgeTransitions` which moves a step in the `Transform`, possibly calling `Map::update` if needed. \r\n\r\nThe reason for this is needing to sync client-side view (i.e. `UIView` objects) positions with the GL map, and that step needing to come in between these two to remain in sync. \r\n\r\nTodo: \r\n\r\n* [ ] Review terminology used (@jfirebaugh @kkaefer?)\r\n* [ ] Review for other possible side effects\r\n* [ ] Update other platforms besides iOS if approach is :ok_hand: "},"comment":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments/119675909","html_url":"https://github.com/mapbox/mapbox-gl-native/pull/1813#issuecomment-119675909","issue_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/1813","id":119675909,"user":{"login":"incanus","id":17722,"avatar_url":"https://avatars.githubusercontent.com/u/17722?v=3","gravatar_id":"","url":"https://api.github.com/users/incanus","html_url":"https://github.com/incanus","followers_url":"https://api.github.com/users/incanus/followers","following_url":"https://api.github.com/users/incanus/following{/other_user}","gists_url":"https://api.github.com/users/incanus/gists{/gist_id}","starred_url":"https://api.github.com/users/incanus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/incanus/subscriptions","organizations_url":"https://api.github.com/users/incanus/orgs","repos_url":"https://api.github.com/users/incanus/repos","events_url":"https://api.github.com/users/incanus/events{/privacy}","received_events_url":"https://api.github.com/users/incanus/received_events","type":"User","site_admin":false},"created_at":"2015-07-08T17:49:28Z","updated_at":"2015-07-08T17:49:28Z","body":"It might make sense to go with this spilt for b3 for an easy win and circle back on the refactor work. "}}