* Update build script to run against iOS 10 to fix Jenkins
* Update Swift example project with iOS 10 build fixes.
* Fix Videos example app to use new style API for layout properties.
* Update Frameworks smoke test to newer Swift language settings.
* fix examples/ASDKLayoutTransition
* fix examples/ASMapNode to use new Layout API 2.0
* fix examples/SocialAppLayout to use Layout API 2.0
* fix CatDealsCollectionView to use Layout API 2.0
* fix examples/AsyncDisplayKitOverview to use Layout API 2.0
* Kittens Layout API 2.0 fixes
* HorizontalWithinVerticalScrolling
* VerticalWithinHorizontalScrolling
* ASDKTube
* fix ASViewController
* fix layout
* fix layout
* fix size
* Add style property to ASLayoutable
* Add styles property to further layout specs
* Adjust some examples
* Add `loadStyle` to create the style object in a ASLayoutable
* Revert "Add `loadStyle` to create the style object in a ASLayoutable"
This reverts commit 2b7240f2c7dc993e38cadf290cfdf08482dd70c7.
* Revert "Adjust some examples"
This reverts commit 3254ae0a321e75db3ecfa80adee9d96bde93a33d.
* Revert "Add styles property to further layout specs"
This reverts commit c779dcb876ead27122c1af1300146a6ad36912cb.
* Rename ASLayoutableStyleDeclaration to ASLayoutableStyle
* Add styleClass class property for extensibility support of the ASLayoutable style object
* flexShrink should not be YES by default
* Improve assertion message if tableView:nodeBlockForRowAtIndexPath: or tableView:nodeForRowAtIndexPath: is not implemented
* Improve assertion message if collectionView:nodeForItemAtIndexPath: or collectionView:nodeBlockForItemAtIndexPath: is not implemented
* Revise performance measurement naming and structure
- Revises naming from LayoutSpecGeneration to LayoutSpecComputation
- Adds a struct instead of an NSDictionary to retrieve performance metrics
- Includes ASEnvironmentStatePropagateDown in LayoutSpecComputation measurements
* Revise SumScopeTimer to include enable flag
* Make struct a typedef
Scenario: An ASCollectionNode is a subnode of an ASCellNode. A layout transition is started, resulting in
the removal of the ASCollectionNode as a subnode. As it is removed, the hierarchy state is cleared - including
the "range managed" bit - on the ASCollectionNode. However, the deep recursion traverses the layer hierarchy
too, and clears this bit on the ASCellNodes inside the ASCollectionNode. A moment later, the collection performs
its final ASRangeController update to mark its cells as invisible and free memory. Then an assertion is triggered
in ASRangeController, because it is operating on nodes that do not have the "range managed" bit set.
It turns out that ASInterfaceState also propogates in this way, but that behavior is efficient and beneficial in
its current configuration (it assists how multi-dimensional preloading works). However, hierarchy state should
never need to jump discontinuities in the node hierarchy. For now, disabling that case and will revisit
other use cases soon.
* [ASVideoNode] Maintain playback position between visibility changes
* [ASVideoNode] Code style changes and moved the pause to be before caching the current playback time.