{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/825","labels_url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/825/labels{/name}","comments_url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/825/comments","events_url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/825/events","html_url":"https://github.com/facebook/AsyncDisplayKit/pull/825","id":115671656,"number":825,"title":"Update ASTextNode renderer to latest ComponentKit implementation","user":{"login":"levi","id":8493,"avatar_url":"https://avatars.githubusercontent.com/u/8493?v=3","gravatar_id":"","url":"https://api.github.com/users/levi","html_url":"https://github.com/levi","followers_url":"https://api.github.com/users/levi/followers","following_url":"https://api.github.com/users/levi/following{/other_user}","gists_url":"https://api.github.com/users/levi/gists{/gist_id}","starred_url":"https://api.github.com/users/levi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/levi/subscriptions","organizations_url":"https://api.github.com/users/levi/orgs","repos_url":"https://api.github.com/users/levi/repos","events_url":"https://api.github.com/users/levi/events{/privacy}","received_events_url":"https://api.github.com/users/levi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/labels/CLA%20Signed","name":"CLA Signed","color":"bfe5bf"},{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/labels/pr%20-%20development%20in%20progress","name":"pr - development in progress","color":"eb6420"},{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/labels/pr%20-%20needs%20review","name":"pr - needs review","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-11-07T15:10:17Z","updated_at":"2015-11-15T03:14:12Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/pulls/825","html_url":"https://github.com/facebook/AsyncDisplayKit/pull/825","diff_url":"https://github.com/facebook/AsyncDisplayKit/pull/825.diff","patch_url":"https://github.com/facebook/AsyncDisplayKit/pull/825.patch"},"body":"I had some free time on a plane yesterday and saw this piece of low hanging fruit that didn't require much focus. I would like to contribute an ASLabelNode in the next couple of weeks and updating the backing renderer is a much needed addition before implementing methods like `minimumFontSize` and `adjustsFontSizeToFitWidth`.\r\n\r\nSome unit tests are failing right now, as it seems that the floating point math doesn't produce consistent results. @appleguy, you might have deeper insight into why this is. Going to dig a bit deeper into the TextKit sizing behavior to see what changed from the original implementation of ASTextNodeRenderer.\r\n\r\nThere were some API differences. I ended up adding an exclusionPaths attribute to the CKTextKitRenderer, which probably would make sense to contribute back to ComponentKit. `isTruncated` is reimplemented, as the truncation range is no longer exposed. And I ran into a build error when trying to include `ASTextKitRenderer.h` in the umbrella AsyncDisplayKit.h, as it seems to be trying to build the header as a C header and is confused where to find the `#import <vector>` c++ std lib header. I haven't worked much with Xcode's C++ integration, so help would be appreciated.\r\n\r\nI removed the legacy tests that were specific to the original renderer API. Naturally, I would like to bring up the tests to speed and need to decide a good testing strategy for this implementation. CK has a great suite of unit tests and there might be some value in copying them over to increase the coverage stats in the project. On the integration side, a snapshot test or two could be valuable, but need to identify possible areas of regression before spending too much time on creating test cases.\r\n\r\nResolves #804"},"comment":{"url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/comments/156775371","html_url":"https://github.com/facebook/AsyncDisplayKit/pull/825#issuecomment-156775371","issue_url":"https://api.github.com/repos/facebook/AsyncDisplayKit/issues/825","id":156775371,"user":{"login":"appleguy","id":565251,"avatar_url":"https://avatars.githubusercontent.com/u/565251?v=3","gravatar_id":"","url":"https://api.github.com/users/appleguy","html_url":"https://github.com/appleguy","followers_url":"https://api.github.com/users/appleguy/followers","following_url":"https://api.github.com/users/appleguy/following{/other_user}","gists_url":"https://api.github.com/users/appleguy/gists{/gist_id}","starred_url":"https://api.github.com/users/appleguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/appleguy/subscriptions","organizations_url":"https://api.github.com/users/appleguy/orgs","repos_url":"https://api.github.com/users/appleguy/repos","events_url":"https://api.github.com/users/appleguy/events{/privacy}","received_events_url":"https://api.github.com/users/appleguy/received_events","type":"User","site_admin":false},"created_at":"2015-11-15T03:14:12Z","updated_at":"2015-11-15T03:14:12Z","body":"I agree we don't need the LRU cache right now.  The ASDK architecture makes it significantly less necessary, although conceivably beneficial - particularly to accelerate things like full table / collection data reloads.\r\n\r\n@levi will you be able to investigate the failing test soon?  It looks like some rebasing is required as well, so I'd like to get this landed ASAP so we don't have the surface area exposed to merge conflicts."}}