react-native-macos/ReactCommon/fabric/core
Valentin Shergin ea8a57116f Fabric: A new way to compute nodes for `onLayout` event
Summary:
Previously we computed the list of nodes that need to be notified about layout changes using a list of mutation instructions. That was fine, but that's not really compatible with some other changes that I plan to make, so I decided to change it (make it better).

Besides the better design (debatable; fewer dependencies to unrelated moving pieces), here is why I believe the new way is more performant:

* The new approach has no `dynamic_casts`, whereas the previous has tons of them (two per a mutation). If a `dynamic_cast` takes 10 ns, for 500 nodes it can take up to 5ms only for casts. (Non-scientific assumption.)
* After removing dependency to mutation instruction, we can enable flattening for views which have `onLayout` event.

Reviewed By: mdvacca

Differential Revision: D15110725

fbshipit-source-id: 31a657ccfd02441734ad1d71a833653223163289
2019-05-01 16:27:55 -07:00
..
componentdescriptor Fabric: Using full `ShadowNodeFragment` (not just `Props`) during construction of initial state 2019-04-29 21:21:11 -07:00
events Fabric: Fixing const correctness in ShadowNodeFragment (and some prettification) 2019-04-06 09:15:17 -07:00
layout Fabric: A new way to compute nodes for `onLayout` event 2019-05-01 16:27:55 -07:00
primitives Fabric: Correct checking for `sealable` flag with move semantic methods 2019-03-18 19:21:26 -07:00
shadownode Fabric: Using full `ShadowNodeFragment` (not just `Props`) during construction of initial state 2019-04-29 21:21:11 -07:00
state Small changes to State objects to support Android 2019-03-29 01:17:19 -07:00
tests Fabric: `ShadowNodeFragment::rootTag` was renamed to `surfaceId` 2019-04-29 21:21:10 -07:00
BUCK Fabric: Introducting State, an escape path from unidirectional data flow 2019-02-27 00:32:25 -08:00
conversions.h Refactor types used during yoga meassure calls 2018-11-25 17:20:59 -08:00
propsConversions.h `YGStyle`: wrap all fields into accessors 2019-04-23 08:12:35 -07:00