gitextract_lqavlrcu/ ├── .clang-format ├── .clang-tidy ├── .editorconfig ├── .eslintrc.cjs ├── .github/ │ ├── ISSUE_TEMPLATE.md │ ├── actions/ │ │ ├── black/ │ │ │ └── action.yml │ │ ├── cache-emsdk/ │ │ │ └── action.yml │ │ ├── install-ninja/ │ │ │ └── action.yml │ │ ├── setup-android/ │ │ │ └── action.yml │ │ ├── setup-apple/ │ │ │ └── action.yml │ │ ├── setup-cpp/ │ │ │ └── action.yml │ │ └── setup-js/ │ │ └── action.yml │ └── workflows/ │ ├── publish-android-release.yml │ ├── publish-android-snashot.yml │ ├── publish-npm-release.yml │ ├── validate-android.yml │ ├── validate-cpp.yml │ ├── validate-js.yml │ ├── validate-swiftpm.yml │ ├── validate-tests.yml │ └── validate-website.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.js ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ ├── settings.json │ └── tasks.json ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── LICENSE-examples ├── Package.swift ├── README.md ├── benchmark/ │ ├── Benchmark.cpp │ ├── Benchmark.h │ ├── CMakeLists.txt │ ├── TreeDeserialization.cpp │ ├── TreeDeserialization.h │ ├── YGBenchmark.c │ ├── benchmark │ └── captures/ │ ├── chat-mac.json │ ├── feed-android.json │ ├── profile-ios.json │ └── rendering-sample-mac.json ├── build.gradle ├── build_fuzz_tests ├── capture/ │ ├── CMakeLists.txt │ ├── CaptureTree.cpp │ ├── CaptureTree.h │ ├── NodeToString.cpp │ └── NodeToString.h ├── cmake/ │ ├── project-defaults.cmake │ └── yoga-config.cmake.in ├── enums.py ├── fuzz/ │ ├── CMakeLists.txt │ └── FuzzLayout.cpp ├── gentest/ │ ├── babel.config.cjs │ ├── fixtures/ │ │ ├── YGAbsolutePositionTest.html │ │ ├── YGAlignContentTest.html │ │ ├── YGAlignItemsTest.html │ │ ├── YGAlignSelfTest.html │ │ ├── YGAndroidNewsFeed.html │ │ ├── YGAspectRatioTest.html │ │ ├── YGAutoTest.html │ │ ├── YGBorderTest.html │ │ ├── YGBoxSizingTest.html │ │ ├── YGDimensionTest.html │ │ ├── YGDisplayTest.html │ │ ├── YGFlexBasisFitContentTest.html │ │ ├── YGFlexDirectionTest.html │ │ ├── YGFlexTest.html │ │ ├── YGFlexWrapTest.html │ │ ├── YGGapTest.html │ │ ├── YGIntrinsicSizeTest.html │ │ ├── YGJustifyContentTest.html │ │ ├── YGMarginTest.html │ │ ├── YGMinMaxDimensionTest.html │ │ ├── YGPaddingTest.html │ │ ├── YGPercentageTest.html │ │ ├── YGRoundingTest.html │ │ ├── YGSizeOverflowTest.html │ │ └── YGStaticPositionTest.html │ ├── gentest-driver.ts │ ├── gentest-validate.ts │ ├── package.json │ ├── scripts/ │ │ └── gentest-validate.ts │ ├── signedsource.d.ts │ ├── src/ │ │ ├── ChromePool.ts │ │ ├── CssToYoga.ts │ │ ├── buildLayoutTree.ts │ │ ├── cli.ts │ │ ├── emitters/ │ │ │ ├── CppEmitter.ts │ │ │ ├── Emitter.ts │ │ │ ├── JavaEmitter.ts │ │ │ └── JavascriptEmitter.ts │ │ └── types.ts │ ├── test-template.html │ └── tsconfig.json ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── java/ │ ├── AndroidManifest.xml │ ├── CMakeLists.txt │ ├── build.gradle.kts │ ├── com/ │ │ └── facebook/ │ │ └── yoga/ │ │ ├── LayoutPassReason.kt │ │ ├── YogaAlign.java │ │ ├── YogaBaselineFunction.kt │ │ ├── YogaBoxSizing.java │ │ ├── YogaConfig.kt │ │ ├── YogaConfigFactory.kt │ │ ├── YogaConfigJNIBase.kt │ │ ├── YogaConfigJNIFinalizer.kt │ │ ├── YogaConstants.kt │ │ ├── YogaDimension.java │ │ ├── YogaDirection.kt │ │ ├── YogaDisplay.java │ │ ├── YogaEdge.java │ │ ├── YogaErrata.java │ │ ├── YogaExperimentalFeature.java │ │ ├── YogaFlexDirection.java │ │ ├── YogaGridTrackType.java │ │ ├── YogaGutter.java │ │ ├── YogaJustify.java │ │ ├── YogaLayoutType.kt │ │ ├── YogaLogLevel.java │ │ ├── YogaLogger.kt │ │ ├── YogaMeasureFunction.kt │ │ ├── YogaMeasureMode.java │ │ ├── YogaMeasureOutput.kt │ │ ├── YogaNative.kt │ │ ├── YogaNode.kt │ │ ├── YogaNodeFactory.kt │ │ ├── YogaNodeJNIBase.java │ │ ├── YogaNodeJNIFinalizer.kt │ │ ├── YogaNodeType.java │ │ ├── YogaOverflow.java │ │ ├── YogaPositionType.java │ │ ├── YogaProps.kt │ │ ├── YogaStyleInputs.kt │ │ ├── YogaUnit.java │ │ ├── YogaValue.kt │ │ ├── YogaWrap.java │ │ └── annotations/ │ │ └── DoNotStrip.kt │ ├── gen/ │ │ └── com/ │ │ └── facebook/ │ │ └── yoga/ │ │ └── BuildConfig.java │ ├── jni/ │ │ ├── LayoutContext.cpp │ │ ├── LayoutContext.h │ │ ├── ScopedGlobalRef.h │ │ ├── ScopedLocalRef.h │ │ ├── YGJNI.h │ │ ├── YGJNIVanilla.cpp │ │ ├── YGJNIVanilla.h │ │ ├── YGJTypesVanilla.h │ │ ├── YogaJniException.cpp │ │ ├── YogaJniException.h │ │ ├── common.cpp │ │ ├── common.h │ │ ├── corefunctions.cpp │ │ ├── corefunctions.h │ │ ├── macros.h │ │ └── yogajni.cpp │ ├── proguard-rules.pro │ ├── res/ │ │ └── values/ │ │ └── strings.xml │ ├── tests/ │ │ ├── com/ │ │ │ └── facebook/ │ │ │ └── yoga/ │ │ │ ├── TestParametrization.java │ │ │ ├── YGAlignBaselineTest.java │ │ │ ├── YogaExceptionTest.java │ │ │ ├── YogaLoggerTest.java │ │ │ ├── YogaNodeStylePropertiesTest.java │ │ │ ├── YogaNodeTest.java │ │ │ ├── YogaValueTest.java │ │ │ └── utils/ │ │ │ └── TestUtils.java │ │ └── generated/ │ │ └── com/ │ │ └── facebook/ │ │ └── yoga/ │ │ ├── YGAbsolutePositionTest.java │ │ ├── YGAlignContentTest.java │ │ ├── YGAlignItemsTest.java │ │ ├── YGAlignSelfTest.java │ │ ├── YGAndroidNewsFeed.java │ │ ├── YGAspectRatioTest.java │ │ ├── YGAutoTest.java │ │ ├── YGBorderTest.java │ │ ├── YGBoxSizingTest.java │ │ ├── YGDimensionTest.java │ │ ├── YGDisplayContentsTest.java │ │ ├── YGDisplayTest.java │ │ ├── YGFlexBasisFitContentTest.java │ │ ├── YGFlexDirectionTest.java │ │ ├── YGFlexTest.java │ │ ├── YGFlexWrapTest.java │ │ ├── YGGapTest.java │ │ ├── YGIntrinsicSizeTest.java │ │ ├── YGJustifyContentTest.java │ │ ├── YGMarginTest.java │ │ ├── YGMinMaxDimensionTest.java │ │ ├── YGPaddingTest.java │ │ ├── YGPercentageTest.java │ │ ├── YGRoundingTest.java │ │ ├── YGSizeOverflowTest.java │ │ └── YGStaticPositionTest.java │ └── yogajni.version ├── javascript/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── README.md │ ├── babel.config.cjs │ ├── jest.config.js │ ├── jest.setup.js │ ├── just.config.cjs │ ├── package.json │ ├── src/ │ │ ├── generated/ │ │ │ └── YGEnums.ts │ │ ├── index.ts │ │ ├── load.ts │ │ ├── wasm_bridge.c │ │ └── wrapAssembly.ts │ ├── tests/ │ │ ├── Benchmarks/ │ │ │ └── YGBenchmark.test.ts │ │ ├── YGAlignBaselineTest.test.ts │ │ ├── YGComputedBorderTest.test.ts │ │ ├── YGComputedMarginTest.test.ts │ │ ├── YGComputedPaddingTest.test.ts │ │ ├── YGDirtiedTest.test.ts │ │ ├── YGErrataTest.test.ts │ │ ├── YGFlexBasisAuto.test.ts │ │ ├── YGHasNewLayout.test.ts │ │ ├── YGMeasureCacheTest.test.ts │ │ ├── YGMeasureTest.test.ts │ │ ├── bin/ │ │ │ └── run-bench.ts │ │ ├── generated/ │ │ │ ├── YGAbsolutePositionTest.test.ts │ │ │ ├── YGAlignContentTest.test.ts │ │ │ ├── YGAlignItemsTest.test.ts │ │ │ ├── YGAlignSelfTest.test.ts │ │ │ ├── YGAndroidNewsFeed.test.ts │ │ │ ├── YGAspectRatioTest.test.ts │ │ │ ├── YGAutoTest.test.ts │ │ │ ├── YGBorderTest.test.ts │ │ │ ├── YGBoxSizingTest.test.ts │ │ │ ├── YGDimensionTest.test.ts │ │ │ ├── YGDisplayContentsTest.test.ts │ │ │ ├── YGDisplayTest.test.ts │ │ │ ├── YGFlexBasisFitContentTest.test.ts │ │ │ ├── YGFlexDirectionTest.test.ts │ │ │ ├── YGFlexTest.test.ts │ │ │ ├── YGFlexWrapTest.test.ts │ │ │ ├── YGGapTest.test.ts │ │ │ ├── YGIntrinsicSizeTest.test.ts │ │ │ ├── YGJustifyContentTest.test.ts │ │ │ ├── YGMarginTest.test.ts │ │ │ ├── YGMinMaxDimensionTest.test.ts │ │ │ ├── YGPaddingTest.test.ts │ │ │ ├── YGPercentageTest.test.ts │ │ │ ├── YGRoundingTest.test.ts │ │ │ ├── YGSizeOverflowTest.test.ts │ │ │ └── YGStaticPositionTest.test.ts │ │ └── tools/ │ │ ├── MeasureCounter.ts │ │ ├── globals.ts │ │ └── utils.ts │ └── tsconfig.json ├── lib/ │ ├── jni/ │ │ ├── jni.h │ │ └── real/ │ │ └── jni.h │ ├── jsr-305/ │ │ └── jsr305.jar │ ├── nlohmann/ │ │ └── json.hpp │ └── soloader/ │ └── soloader-0.5.1.aar ├── package.json ├── set-version.py ├── settings.gradle.kts ├── tests/ │ ├── .clang-tidy │ ├── CMakeLists.txt │ ├── EventsTest.cpp │ ├── FlexGapTest.cpp │ ├── FloatOptionalTest.cpp │ ├── OrdinalsTest.cpp │ ├── SmallValueBufferTest.cpp │ ├── StyleTest.cpp │ ├── StyleValuePoolTest.cpp │ ├── YGAlignBaselineTest.cpp │ ├── YGAspectRatioTest.cpp │ ├── YGBaselineFuncTest.cpp │ ├── YGCloneNodeTest.cpp │ ├── YGComputedMarginTest.cpp │ ├── YGComputedPaddingTest.cpp │ ├── YGConfigTest.cpp │ ├── YGDefaultValuesTest.cpp │ ├── YGDirtiedTest.cpp │ ├── YGDirtyMarkingTest.cpp │ ├── YGEdgeTest.cpp │ ├── YGFlexBasisFitContentTest.cpp │ ├── YGHadOverflowTest.cpp │ ├── YGLayoutableChildrenTest.cpp │ ├── YGMeasureCacheTest.cpp │ ├── YGMeasureModeTest.cpp │ ├── YGMeasureTest.cpp │ ├── YGNodeCallbackTest.cpp │ ├── YGNodeChildTest.cpp │ ├── YGPersistenceTest.cpp │ ├── YGPersistentNodeCloningTest.cpp │ ├── YGRelayoutTest.cpp │ ├── YGRoundingFunctionTest.cpp │ ├── YGRoundingMeasureFuncTest.cpp │ ├── YGScaleChangeTest.cpp │ ├── YGStyleTest.cpp │ ├── YGTreeMutationTest.cpp │ ├── YGValueTest.cpp │ ├── YGZeroOutLayoutRecursivelyTest.cpp │ ├── generated/ │ │ ├── YGAbsolutePositionTest.cpp │ │ ├── YGAlignContentTest.cpp │ │ ├── YGAlignItemsTest.cpp │ │ ├── YGAlignSelfTest.cpp │ │ ├── YGAndroidNewsFeed.cpp │ │ ├── YGAspectRatioTest.cpp │ │ ├── YGAutoTest.cpp │ │ ├── YGBorderTest.cpp │ │ ├── YGBoxSizingTest.cpp │ │ ├── YGDimensionTest.cpp │ │ ├── YGDisplayContentsTest.cpp │ │ ├── YGDisplayTest.cpp │ │ ├── YGFlexBasisFitContentTest.cpp │ │ ├── YGFlexDirectionTest.cpp │ │ ├── YGFlexTest.cpp │ │ ├── YGFlexWrapTest.cpp │ │ ├── YGGapTest.cpp │ │ ├── YGIntrinsicSizeTest.cpp │ │ ├── YGJustifyContentTest.cpp │ │ ├── YGMarginTest.cpp │ │ ├── YGMinMaxDimensionTest.cpp │ │ ├── YGPaddingTest.cpp │ │ ├── YGPercentageTest.cpp │ │ ├── YGRoundingTest.cpp │ │ ├── YGSizeOverflowTest.cpp │ │ └── YGStaticPositionTest.cpp │ └── util/ │ ├── TestUtil.cpp │ └── TestUtil.h ├── unit_tests ├── unit_tests.bat ├── website/ │ ├── .eslintrc.cjs │ ├── .gitignore │ ├── README.md │ ├── babel.config.cjs │ ├── blog/ │ │ ├── 2023-06-30-announcing-yoga-2.0.md │ │ ├── 2024-06-24-announcing-yoga-3.1.md │ │ ├── 2024-12-02-announcing-yoga-3.2.md │ │ ├── authors.yml │ │ └── yoga-3-release/ │ │ └── 2024-03-14-announcing-yoga-3.0.md │ ├── docs/ │ │ ├── about-yoga.md │ │ ├── advanced/ │ │ │ ├── _category_.json │ │ │ ├── containing-block.md │ │ │ ├── external-layout-systems.mdx │ │ │ └── incremental-layout.mdx │ │ ├── getting-started/ │ │ │ ├── _category_.json │ │ │ ├── configuring-yoga.mdx │ │ │ └── laying-out-a-tree.mdx │ │ └── styling/ │ │ ├── _category_.json │ │ ├── align-content.mdx │ │ ├── align-items-self.mdx │ │ ├── aspect-ratio.mdx │ │ ├── display.mdx │ │ ├── flex-basis-grow-shrink.mdx │ │ ├── flex-direction.mdx │ │ ├── flex-wrap.mdx │ │ ├── gap.mdx │ │ ├── index.md │ │ ├── insets.mdx │ │ ├── justify-content.mdx │ │ ├── layout-direction.mdx │ │ ├── margin-padding-border.mdx │ │ ├── min-max-width-height.mdx │ │ ├── position.mdx │ │ └── width-height.mdx │ ├── docusaurus.config.js │ ├── package.json │ ├── sidebars.cjs │ ├── src/ │ │ ├── components/ │ │ │ ├── EditorToolbar.module.css │ │ │ ├── EditorToolbar.tsx │ │ │ ├── FlexStyle.ts │ │ │ ├── LayoutBox.module.css │ │ │ ├── LayoutBox.tsx │ │ │ ├── Playground.module.css │ │ │ ├── Playground.tsx │ │ │ └── YogaViewer.tsx │ │ ├── css/ │ │ │ └── custom.css │ │ └── pages/ │ │ ├── index.module.css │ │ ├── index.tsx │ │ ├── markdown-page.md │ │ ├── playground.module.css │ │ └── playground.tsx │ ├── static/ │ │ └── .nojekyll │ └── tsconfig.json └── yoga/ ├── CMakeLists.txt ├── YGConfig.cpp ├── YGConfig.h ├── YGEnums.cpp ├── YGEnums.h ├── YGMacros.h ├── YGNode.cpp ├── YGNode.h ├── YGNodeLayout.cpp ├── YGNodeLayout.h ├── YGNodeStyle.cpp ├── YGNodeStyle.h ├── YGPixelGrid.cpp ├── YGPixelGrid.h ├── YGValue.cpp ├── YGValue.h ├── Yoga.h ├── algorithm/ │ ├── AbsoluteLayout.cpp │ ├── AbsoluteLayout.h │ ├── Align.h │ ├── Baseline.cpp │ ├── Baseline.h │ ├── BoundAxis.h │ ├── Cache.cpp │ ├── Cache.h │ ├── CalculateLayout.cpp │ ├── CalculateLayout.h │ ├── FlexDirection.h │ ├── FlexLine.cpp │ ├── FlexLine.h │ ├── PixelGrid.cpp │ ├── PixelGrid.h │ ├── SizingMode.h │ └── TrailingPosition.h ├── config/ │ ├── Config.cpp │ └── Config.h ├── debug/ │ ├── AssertFatal.cpp │ ├── AssertFatal.h │ ├── Log.cpp │ └── Log.h ├── enums/ │ ├── Align.h │ ├── BoxSizing.h │ ├── Dimension.h │ ├── Direction.h │ ├── Display.h │ ├── Edge.h │ ├── Errata.h │ ├── ExperimentalFeature.h │ ├── FlexDirection.h │ ├── GridTrackType.h │ ├── Gutter.h │ ├── Justify.h │ ├── LogLevel.h │ ├── MeasureMode.h │ ├── NodeType.h │ ├── Overflow.h │ ├── PhysicalEdge.h │ ├── PositionType.h │ ├── Unit.h │ ├── Wrap.h │ └── YogaEnums.h ├── event/ │ ├── event.cpp │ └── event.h ├── module.modulemap ├── node/ │ ├── CachedMeasurement.h │ ├── LayoutResults.cpp │ ├── LayoutResults.h │ ├── LayoutableChildren.h │ ├── Node.cpp │ └── Node.h ├── numeric/ │ ├── Comparison.h │ └── FloatOptional.h └── style/ ├── GridLine.h ├── GridTrack.h ├── SmallValueBuffer.h ├── Style.h ├── StyleLength.h ├── StyleSizeLength.h ├── StyleValueHandle.h └── StyleValuePool.h