react-three-flex icon indicating copy to clipboard operation
react-three-flex copied to clipboard

Decouple from yoga-layout-prebuilt

Open giulioz opened this issue 5 years ago • 8 comments

We should build our version of yoga to reduce bundle size

giulioz avatar Sep 07 '20 12:09 giulioz

does yoga have stuff that we dont need?

drcmda avatar Sep 07 '20 12:09 drcmda

We have to investigate that, surely yes, also the current build includes a lot of useless C++ glue code that is really useless and it compiles to asm.js. Wasm binary would be way more efficient, even though it would need a binary to be served like draco.

giulioz avatar Sep 07 '20 12:09 giulioz

that sounds amazing!

drcmda avatar Sep 07 '20 13:09 drcmda

We have to investigate that, surely yes, also the current build includes a lot of useless C++ glue code that is really useless and it compiles to asm.js. Wasm binary would be way more efficient, even though it would need a binary to be served like draco.

WASM binary takes time to load tho

but I doubt that yoga binary will be big

so I think it's ok to ship as wasm

v1rtl avatar Sep 07 '20 17:09 v1rtl

if it suspends it would be ok if it takes a little to load, similar to gltf assets, textures and so on.

drcmda avatar Sep 07 '20 18:09 drcmda

Look at https://github.com/dead/typeflex It's typescript port of Facebook's Yoga

It's only 23kb(gzip) https://bundlephobia.com/package/[email protected]

While yoga-layout-prebuilt 78kb(gzip) https://bundlephobia.com/package/[email protected]

gut4 avatar Dec 05 '21 13:12 gut4

@gut4 as i understand it has the same api? Looking pretty good, did you have any experience using it?

saitonakamura avatar Dec 05 '21 15:12 saitonakamura

Ok, it's not the same api, but potentially it can be migrated to without too much hassle (methink). However, I'd be happy to see some benchmarks I started the barebone here https://github.com/saitonakamura/yoga-js-benchmarks, but if some will point me to already calculated results, i'd be grateful

saitonakamura avatar Dec 08 '21 13:12 saitonakamura