* Add test case for TextKit truncation style
* Add fast path for text node measurement with default truncation
* Use fast path more often
* Reverse options order
* Simplify implementation – no functional change
* Share "isScaled" variable
* Intersect with constrained rect
* Add a failing test case for fast-path truncation
* Add some more truncation tests, using slow path as reference image
* Update the tests
* In ASTextKitRenderer, intersect bounds with constrained rect
* Add test case for TextKit truncation style
* Add fast path for text node measurement with default truncation
* Use fast path more often
* Reverse options order
* Simplify implementation – no functional change
* Share "isScaled" variable
* Intersect with constrained rect
* Add a failing test case for fast-path truncation
* Add some more truncation tests, using slow path as reference image
* Update the tests
* In ASTextKitRenderer, intersect bounds with constrained rect
* Use maximumNumberOfLines property in text kit fast path
Add reference images
Disable fast-path for max-one-line case
* Remove unneeded snapshot files
* expose ASTableView's -visibleNodes getter at the ASTableNode level
* add safegaurds
* make visibleNodes a read only property for ASTableNode
* make collectionNode .visibleNodes property
* Added selection API to ASTableNode and ASCollectionNode (#2450)
* Updated test case to use collectionNode instead of collectionView for the selection tests.
* Fixed typos.
Added asserts for main thread.
Updated ASCollectionViewTests for multiple selections for nodes.
* Added assigns to the different properties.
Beta 4 added a PINCache subspec which was required for ASDK. However,
Beta 5 reverted this in an attempt to fix automatically updated versions
of ASDK. So this patch sets the specific version to beta 5 until we're
ready to launch.
* Refactor example & test Layout API
* fix layoutSpecThatFits:
* remove test code
* address @appleguy's comments
* remove project file
* remove workspace
* Fix Uncalled Collection Delegate Methods (#2433)
* Fix batch fetching
* Fix not calling constrainedSizeForItemAtIndexPath:
* Fix constrainedSizeForItemAtIndexPath: not being called
* Add preferredSize as getter to ASLayoutElementStyle (#2427)
* [2.0] add helpful deprecation messages (#2437)
[2.0] add helpful deprecation messages
* fix macro (#2439)
* Macro still needs to be defined even if we're skipping. (#2441)
* Remove block copying (#2438)
* Make flow layout inspector call the new constrainedSize method (#2444)
* Update exception test for new constrainedSize method (#2445)
* Fix asdk again (#2446)
* Man whoever is maintaining PINRemoteImage really needs to get theirselves together!
* Learning from previous mistakes, we should set a specific version on this.
* Refactor example & test Layout API
* fix layoutSpecThatFits:
* remove test code
* address @appleguy's comments
* remove project file
* remove workspace
* Man whoever is maintaining PINRemoteImage really needs to get theirselves together!
* Learning from previous mistakes, we should set a specific version on this.
* Add internal header for ASLayout and change position to readonly publicly
* Don't copy sublayouts during tree filtering
* Revert "Don't copy sublayouts during tree filtering"
This reverts commit 6b0d54d5ffe5bb3941ec13696c9c45b0098b6ba1.
* [ASRunLoopQueue - Performance] Add ASDeallocQueue for efficient object teardown.
This measurably reduces block overhead and context switching. In the layout benchmark,
it increases ops/s while actually reducing CPU utilization. This suggests that we are
now at a lock-bounded local maximum, at least for tri-core devices.
* [ASDeallocQueue] Update convenience helper method and adopt in ASImageNode etc.
* [ASDeallocQueue] Reimplement the queue using a timer-based runloop.
* [Debugging] Re-enable ASDisplayNode Event Log.
* [ASDeallocQueue] Final refinements, comments, code minimization.
* [ASDeallocQueue] Fix for lock release needed in early return (refactoring typo from last commit)
* [ASLayout - Performance] Avoid weak ivar access & method call to check layoutElementType.
This shows up in benchmarking profiles for layout-bound workloads.
* Add comment