react-native-macos/ReactCommon/fabric
Valentin Shergin 78b1c85747 Fabric: Simplifying Yoga and Fabric integration
Summary:
The integration with Yoga was pretty complex from day one. The first attempt to make it simpler was in D19963353 when we removed a bunch of layers of indirection. This is the second iteration that aimed to simplify the structure of methods and their responsibilities.

The only conceptual change (that I am aware of) in this diff is that now we don't support (imaginary) case where a non-leaf YogaLayoutableShadowNode can have a non-YogaLayoutableShadowNode child. In the previous version, it was a no-op, now it's not supported and an assert will fire.

Alongside with refactoring, this diff implements several helper functions that verify the invariants important for the Concurrent Layout in debug mode.

Changelog: [Internal] Fabric-specific internal change.

Reviewed By: JoshuaGross

Differential Revision: D21198222

fbshipit-source-id: cc085904948056f861562af5bd2571de45a743b9
2020-04-23 15:00:46 -07:00
..
attributedstring Fabric: Add Unicode prefix to AttachmentCharacter (#28617) 2020-04-19 13:00:17 -07:00
componentregistry Fabric: `componentregistry` module was decoupled from `uimanager` 2020-04-18 15:00:21 -07:00
components Fabric: Simplifying Yoga and Fabric integration 2020-04-23 15:00:46 -07:00
core Fabric: Introducting `ShadowNodeFamilyFragment::Value` 2020-04-22 15:41:56 -07:00
debug Easy diff to document in code how to enable logging of Shadow Tree instrospection 2020-04-20 23:31:21 -07:00
element Fabric: `componentregistry` module was decoupled from `uimanager` 2020-04-18 15:00:21 -07:00
graphics Add support for translation and rotation to operator * between Rect and Transform 2020-03-30 04:03:57 -07:00
imagemanager Replace fbsource// with // in xplat/js/ files [1] 2020-03-25 21:55:47 -07:00
mapbuffer Replace fbsource// with // in xplat/js/ files [1] 2020-03-25 21:55:47 -07:00
mounting Update Differ test 2020-04-20 23:19:29 -07:00
scheduler Fabric: `templateprocessor` module was decoupled from `uimanager` 2020-04-18 15:00:22 -07:00
templateprocessor Fabric: `templateprocessor` module was decoupled from `uimanager` 2020-04-18 15:00:22 -07:00
textlayoutmanager Fabric: `componentregistry` module was decoupled from `uimanager` 2020-04-18 15:00:21 -07:00
uimanager Fabric: `templateprocessor` module was decoupled from `uimanager` 2020-04-18 15:00:22 -07:00
.clang-tidy The life-changing magic of clang-tidying up 2020-02-04 11:09:30 -08:00